Blame cvc3-doc.patch

46635f0
diff -dur cvc3-2.1.ORIG/doc/Doxyfile.in cvc3-2.1/doc/Doxyfile.in
46635f0
--- cvc3-2.1.ORIG/doc/Doxyfile.in	2007-09-12 18:06:50.000000000 -0600
46635f0
+++ cvc3-2.1/doc/Doxyfile.in	2009-10-19 10:13:12.768107753 -0600
46635f0
@@ -31,7 +31,7 @@
46635f0
 # This could be handy for archiving the generated documentation or 
46635f0
 # if some version control system is used.
46635f0
 
46635f0
-PROJECT_NUMBER         = 
46635f0
+PROJECT_NUMBER         = 2.1
46635f0
 
46635f0
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
46635f0
 # base path where the generated documentation will be put. 
46635f0
@@ -499,8 +499,7 @@
46635f0
 # excluded from the INPUT source files. This way you can easily exclude a 
46635f0
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
46635f0
 
46635f0
-EXCLUDE                = devel.dox \
46635f0
-                         theory_api.dox
46635f0
+EXCLUDE                = devel.dox
46635f0
 
46635f0
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
46635f0
 # directories that are symbolic links (a Unix filesystem feature) are excluded 
46635f0
@@ -1042,8 +1041,7 @@
46635f0
 # undefined via #undef or recursively expanded use the := operator 
46635f0
 # instead of the = operator.
46635f0
 
46635f0
-PREDEFINED             = DEBUG \
46635f0
-                         DOXYGEN
46635f0
+PREDEFINED             = DOXYGEN
46635f0
 
46635f0
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
46635f0
 # this tag can be used to specify a list of macro names that should be expanded. 
46635f0
@@ -1137,6 +1135,24 @@
46635f0
 
46635f0
 HAVE_DOT               = @HAVE_DOT@
46635f0
 
46635f0
+# By default doxygen will write a font called FreeSans.ttf to the output 
46635f0
+# directory and reference it in all dot files that doxygen generates. This 
46635f0
+# font does not include all possible unicode characters however, so when you need 
46635f0
+# these (or just want a differently looking font) you can specify the font name 
46635f0
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font, 
46635f0
+# which can be done by putting it in a standard location or by setting the 
46635f0
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory 
46635f0
+# containing the font.
46635f0
+
46635f0
+DOT_FONTNAME           = FreeSans
46635f0
+
46635f0
+# By default doxygen will tell dot to use the output directory to look for the 
46635f0
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a 
46635f0
+# different font using DOT_FONTNAME you can set the path where dot 
46635f0
+# can find it using this tag.
46635f0
+
46635f0
+DOT_FONTPATH           = /usr/share/fonts/gnu-free
46635f0
+
46635f0
 # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
46635f0
 # will generate a graph for each documented class showing the direct and 
46635f0
 # indirect inheritance relations. Setting this tag to YES will force the 
46635f0
@@ -1213,7 +1229,7 @@
46635f0
 # generated by dot. Possible values are png, jpg, or gif
46635f0
 # If left blank png will be used.
46635f0
 
46635f0
-DOT_IMAGE_FORMAT       = gif
46635f0
+DOT_IMAGE_FORMAT       = png
46635f0
 
46635f0
 # The tag DOT_PATH can be used to specify the path where the dot tool can be 
46635f0
 # found. If left blank, it is assumed the dot tool can be found in the path.
46635f0
@@ -1247,7 +1263,7 @@
46635f0
 # makes dot run faster, but since only newer versions of dot (>1.8.10) 
46635f0
 # support this, this feature is disabled by default.
46635f0
 
46635f0
-DOT_MULTI_TARGETS      = NO
46635f0
+DOT_MULTI_TARGETS      = YES
46635f0
 
46635f0
 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
46635f0
 # generate a legend page explaining the meaning of the various boxes and 
46635f0
diff -dur cvc3-2.1.ORIG/INSTALL cvc3-2.1/INSTALL
46635f0
--- cvc3-2.1.ORIG/INSTALL	2009-10-15 16:06:18.000000000 -0600
46635f0
+++ cvc3-2.1/INSTALL	2009-10-19 10:13:59.048162819 -0600
46635f0
@@ -196,7 +196,7 @@
46635f0
 
46635f0
 
46635f0
 Note: The Java interface depends on the "build type" (e.g.,
46635f0
-"optimized", "debug) of %CVC3. If you choose to re-configure and
46635f0
+"optimized", "debug") of %CVC3. If you choose to re-configure and
46635f0
 re-build %CVC3 with a different build type, you must run "make clean"
46635f0
 in the current directory and re-build the interface (cleaning and 
46635f0
 rebuilding the entire %CVC3 package will suffice).
46635f0
diff -dur cvc3-2.1.ORIG/src/include/expr.h cvc3-2.1/src/include/expr.h
46635f0
--- cvc3-2.1.ORIG/src/include/expr.h	2009-10-04 12:41:29.000000000 -0600
46635f0
+++ cvc3-2.1/src/include/expr.h	2009-10-19 10:13:37.775165727 -0600
46635f0
@@ -388,7 +388,7 @@
46635f0
   //! Test if e is an atomic formula
46635f0
   /*! An atomic formula is TRUE or FALSE or an application of a predicate
46635f0
     (possibly 0-ary) which does not properly contain any formula.  For
46635f0
-    instance, the formula "x = IF f THEN y ELSE z ENDIF is not an atomic
46635f0
+    instance, the formula "x = IF f THEN y ELSE z ENDIF" is not an atomic
46635f0
     formula, since it contains the condition "f", which is a formula. */
46635f0
   bool isAtomicFormula() const;
46635f0
   //! An abstract atomic formua is an atomic formula or a quantified formula
46635f0
diff -dur cvc3-2.1.ORIG/src/include/theory_arith3.h cvc3-2.1/src/include/theory_arith3.h
46635f0
--- cvc3-2.1.ORIG/src/include/theory_arith3.h	2009-05-29 23:48:15.000000000 -0600
46635f0
+++ cvc3-2.1/src/include/theory_arith3.h	2009-10-19 10:13:12.769107906 -0600
46635f0
@@ -337,7 +337,7 @@
46635f0
 	 * Fixes the current max coefficient to be used in the ordering. If the maximal coefficient
46635f0
 	 * changes in the future, it will not be used in the ordering.
46635f0
 	 * 
46635f0
-	 * @param var the variable
46635f0
+	 * @param variable the variable
46635f0
 	 * @param max the value to set it to
46635f0
 	 */ 
46635f0
 	void fixCurrentMaxCoefficient(Expr variable, Rational max);
46635f0
diff -dur cvc3-2.1.ORIG/src/include/theory_arith_new.h cvc3-2.1/src/include/theory_arith_new.h
46635f0
--- cvc3-2.1.ORIG/src/include/theory_arith_new.h	2009-06-29 20:14:48.000000000 -0600
46635f0
+++ cvc3-2.1/src/include/theory_arith_new.h	2009-10-19 10:13:12.769107906 -0600
46635f0
@@ -434,7 +434,7 @@
46635f0
   				inline bool operator == (const EpsRational& r) const { return (q == r.q && k == r.k);	}
46635f0
   				
46635f0
   				/**
46635f0
-  				 * Les then or equal comparison operator.
46635f0
+  				 * Less than or equal comparison operator.
46635f0
   				 */
46635f0
   				inline bool operator <= (const EpsRational& r) const { 
46635f0
   					switch (r.type) {
46635f0
@@ -459,12 +459,12 @@
46635f0
   				}
46635f0
   				
46635f0
   				/**
46635f0
-  				 * Les then comparison operator.
46635f0
+  				 * Less than comparison operator.
46635f0
   				 */
46635f0
   				inline bool operator < (const EpsRational& r) const { return !(r <= *this); }
46635f0
   				
46635f0
   				/**
46635f0
-  				 * Bigger then equal comparison operator.
46635f0
+  				 * Greater than comparison operator.
46635f0
   				 */
46635f0
   				inline bool operator > (const EpsRational& r) const { return !(*this <= r); }
46635f0
   				
46635f0
@@ -787,6 +787,7 @@
46635f0
   		 * Asserts a new upper bound constraint on a variable and performs a simple check for consistency (not complete).
46635f0
   		 * 
46635f0
   		 * @param x_i the variable to assert the bound on
46635f0
+  		 * @param c the bound to assert
46635f0
 		 */
46635f0
   		QueryResult assertUpper(const Expr& x_i, const EpsRational& c, const Theorem& thm);
46635f0
 
46635f0
@@ -794,13 +795,15 @@
46635f0
   		 * Asserts a new lower bound constraint on a variable and performs a simple check for consistency (not complete).
46635f0
   		 * 
46635f0
   		 * @param x_i the variable to assert the bound on
46635f0
+  		 * @param c the bound to assert
46635f0
 		 */
46635f0
   		QueryResult assertLower(const Expr& x_i, const EpsRational& c, const Theorem& thm);
46635f0
   		
46635f0
   		/**
46635f0
-  		 * Asserts a new equality constraint on a variable by asserting both upper and lower bound.
46635f0
+  		 * Asserts a new equality constraint on a variable by asserting both upper and lower bounds.
46635f0
   		 * 
46635f0
   		 * @param x_i the variable to assert the bound on
46635f0
+  		 * @param c the the bound to assert
46635f0
 		 */
46635f0
   		QueryResult assertEqual(const Expr& x_i, const EpsRational& c, const Theorem& thm);  		
46635f0
 
46635f0
@@ -862,8 +865,8 @@
46635f0
   		
46635f0
   		/**
46635f0
   		 * Knowing that the tableaux row for \f$x_i\f$ is the problematic one, generate the
46635f0
-  		 * explanation clause. The variables in the row of \f$x_i = \sum_{x_j \in \mathcal{N}}{a_ij x_j}\f$ are separatied to
46635f0
-  		 * 
    46635f0
    +		 * explanation clause. The variables in the row of \f$x_i = \sum_x{x_j \in \mathcal{N}}{a_ij x_j}\f$ are separated to
    46635f0
    +		 * 
      46635f0
         		 * 
    • \f$\mathcal{N}^+ = \left\lbrace x_j \in \mathcal{N} \; | \; a_{ij} > 0 \right\rbrace\f$
    • 46635f0
       		 * 
    • \f$\mathcal{N}^- = \left\lbrace x_j \in \mathcal{N} \; | \; a_{ij} < 0\right\rbrace\f$
    • 46635f0
         		 * 
      46635f0
      @@ -878,7 +881,7 @@
      46635f0
       
      46635f0
         		/**
      46635f0
         		 * Knowing that the tableaux row for \f$x_i\f$ is the problematic one, generate the
      46635f0
      -  		 * explanation clause. The variables in the row of \f$x_i = \sum_{x_j \in \mathcal{N}}{a_ij x_j}\f$ are separatied to
      46635f0
      +  		 * explanation clause. The variables in the row of \f$x_i = \sum_{x_j \in \mathcal{N}}{a_ij x_j}\f$ are separated to
      46635f0
         		 * 
        46635f0
           		 * 
      • \f$\mathcal{N}^+ = \left\lbrace x_j \in \mathcal{N} \; | \; a_{ij} > 0 \right\rbrace\f$
      • 46635f0
         		 * 
      • \f$\mathcal{N}^- = \left\lbrace x_j \in \mathcal{N} \; | \; a_{ij} < 0\right\rbrace\f$
      • 46635f0
        diff -dur cvc3-2.1.ORIG/src/include/theory_arith_old.h cvc3-2.1/src/include/theory_arith_old.h
        46635f0
        --- cvc3-2.1.ORIG/src/include/theory_arith_old.h	2009-09-29 19:50:21.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/include/theory_arith_old.h	2009-10-19 10:13:12.771175241 -0600
        46635f0
        @@ -364,7 +364,7 @@
        46635f0
         	 * Fixes the current max coefficient to be used in the ordering. If the maximal coefficient
        46635f0
         	 * changes in the future, it will not be used in the ordering.
        46635f0
         	 *
        46635f0
        -	 * @param var the variable
        46635f0
        +	 * @param variable the variable
        46635f0
         	 * @param max the value to set it to
        46635f0
         	 */
        46635f0
         	void fixCurrentMaxCoefficient(Expr variable, Rational max);
        46635f0
        @@ -653,7 +653,7 @@
        46635f0
         	  				inline bool operator == (const EpsRational& r) const { return (q == r.q && k == r.k);	}
        46635f0
         
        46635f0
         	  				/**
        46635f0
        -	  				 * Les then or equal comparison operator.
        46635f0
        +	  				 * Less than or equal comparison operator.
        46635f0
         	  				 */
        46635f0
         	  				inline bool operator <= (const EpsRational& r) const {
        46635f0
         	  					switch (r.type) {
        46635f0
        @@ -678,19 +678,19 @@
        46635f0
         	  				}
        46635f0
         
        46635f0
         	  				/**
        46635f0
        -	  				 * Les then comparison operator.
        46635f0
        +	  				 * Less than comparison operator.
        46635f0
         	  				 */
        46635f0
         	  				inline bool operator < (const EpsRational& r) const { return !(r <= *this); }
        46635f0
         
        46635f0
         	  				/**
        46635f0
        -	  				 * Bigger then equal comparison operator.
        46635f0
        +	  				 * Greater than comparison operator.
        46635f0
         	  				 */
        46635f0
         	  				inline bool operator > (const EpsRational& r) const { return !(*this <= r); }
        46635f0
         
        46635f0
         	  				/**
        46635f0
         	  				 * Returns the string representation of the number.
        46635f0
         	  				 *
        46635f0
        -	  				 * @param the string representation of the number
        46635f0
        +	  				 * @return the string representation of the number
        46635f0
         	  				 */
        46635f0
         	  				std::string toString() const {
        46635f0
         	  					switch (type) {
        46635f0
        @@ -846,7 +846,6 @@
        46635f0
         			 * @param x variable x::Difference
        46635f0
         			 * @param y variable y
        46635f0
         			 * @param c rational c
        46635f0
        -			 * @param kind the kind of inequality (LE or LT)
        46635f0
         			 * @param edge_thm the theorem for this edge
        46635f0
         			 */
        46635f0
         			void addEdge(const Expr& x, const Expr& y, const Rational& c, const Theorem& edge_thm);
        46635f0
        diff -dur cvc3-2.1.ORIG/src/include/vc.h cvc3-2.1/src/include/vc.h
        46635f0
        --- cvc3-2.1.ORIG/src/include/vc.h	2009-10-04 12:41:29.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/include/vc.h	2009-10-19 10:13:12.772197964 -0600
        46635f0
        @@ -28,9 +28,7 @@
        46635f0
         #include "formula_value.h"
        46635f0
         
        46635f0
         /*****************************************************************************/
        46635f0
        -/*!
        46635f0
        - *\defgroup Note Note that this list of modules is very incomplete
        46635f0
        - *\brief Note that this list of modules is very incomplete
        46635f0
        +/*! Note that this list of modules is very incomplete
        46635f0
          */
        46635f0
         /*****************************************************************************/
        46635f0
         
        46635f0
        @@ -750,10 +748,10 @@
        46635f0
         
        46635f0
           //! Set triggers for quantifier instantiation
        46635f0
           /*!
        46635f0
        -   * \param e is the expression for which triggers are being set.  \param
        46635f0
        -   * Each item in triggers is a vector of Expr containing one or more
        46635f0
        -   * patterns.  A pattern is a term or Atomic predicate sub-expression of
        46635f0
        -   * e.  A vector containing more than one pattern is treated as a
        46635f0
        +   * \param e the expression for which triggers are being set
        46635f0
        +   * \param triggers Each item in triggers is a vector of Expr containing one
        46635f0
        +   * or more patterns.  A pattern is a term or Atomic predicate sub-expression
        46635f0
        +   * of e.  A vector containing more than one pattern is treated as a
        46635f0
            * multi-trigger.  Patterns will be matched in the order they occur in
        46635f0
            * the vector.
        46635f0
           */
        46635f0
        diff -dur cvc3-2.1.ORIG/src/sat/sat_proof.h cvc3-2.1/src/sat/sat_proof.h
        46635f0
        --- cvc3-2.1.ORIG/src/sat/sat_proof.h	2008-04-03 22:18:32.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/sat/sat_proof.h	2009-10-19 10:13:12.773204281 -0600
        46635f0
        @@ -1,6 +1,6 @@
        46635f0
         /*****************************************************************************/
        46635f0
         /*!
        46635f0
        - *\file minisat_proof.h
        46635f0
        + *\file sat_proof.h
        46635f0
          *\brief Sat solver proof representation
        46635f0
          *
        46635f0
          * Author: Alexander Fuchs
        46635f0
        diff -dur cvc3-2.1.ORIG/src/theory_arith/theory_arith3.cpp cvc3-2.1/src/theory_arith/theory_arith3.cpp
        46635f0
        --- cvc3-2.1.ORIG/src/theory_arith/theory_arith3.cpp	2009-10-08 16:15:52.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/theory_arith/theory_arith3.cpp	2009-10-19 10:13:12.775109510 -0600
        46635f0
        @@ -421,7 +421,7 @@
        46635f0
           return thm;
        46635f0
         }
        46635f0
         
        46635f0
        -/*! Psuedo-code for doSolve. (Input is an equation) (output is a Theorem)
        46635f0
        +/*! Pseudo-code for doSolve. (Input is an equation) (output is a Theorem)
        46635f0
          *  -# translate e to the form e' = 0
        46635f0
          *  -# if (e'.isRational()) then {if e' != 0 return false else true}
        46635f0
          *  -# a for loop checks if all the variables are integers.
        46635f0
        diff -dur cvc3-2.1.ORIG/src/theory_arith/theory_arith_new.cpp cvc3-2.1/src/theory_arith/theory_arith_new.cpp
        46635f0
        --- cvc3-2.1.ORIG/src/theory_arith/theory_arith_new.cpp	2009-10-08 16:15:52.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/theory_arith/theory_arith_new.cpp	2009-10-19 10:13:12.777233052 -0600
        46635f0
        @@ -320,7 +320,7 @@
        46635f0
           return thm;
        46635f0
         }
        46635f0
         
        46635f0
        -/*! Psuedo-code for doSolve. (Input is an equation) (output is a Theorem)
        46635f0
        +/*! Pseudo-code for doSolve. (Input is an equation) (output is a Theorem)
        46635f0
          *  -# translate e to the form e' = 0
        46635f0
          *  -# if (e'.isRational()) then {if e' != 0 return false else true}
        46635f0
          *  -# a for loop checks if all the variables are integers. 
        46635f0
        diff -dur cvc3-2.1.ORIG/src/theory_arith/theory_arith_old.cpp cvc3-2.1/src/theory_arith/theory_arith_old.cpp
        46635f0
        --- cvc3-2.1.ORIG/src/theory_arith/theory_arith_old.cpp	2009-10-08 16:15:52.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/theory_arith/theory_arith_old.cpp	2009-10-19 10:13:12.781233049 -0600
        46635f0
        @@ -436,7 +436,7 @@
        46635f0
           return thm;
        46635f0
         }
        46635f0
         
        46635f0
        -/*! Psuedo-code for doSolve. (Input is an equation) (output is a Theorem)
        46635f0
        +/*! Pseudo-code for doSolve. (Input is an equation) (output is a Theorem)
        46635f0
          *  -# translate e to the form e' = 0
        46635f0
          *  -# if (e'.isRational()) then {if e' != 0 return false else true}
        46635f0
          *  -# a for loop checks if all the variables are integers.
        46635f0
        diff -dur cvc3-2.1.ORIG/src/theory_bitvector/bitvector_theorem_producer.cpp cvc3-2.1/src/theory_bitvector/bitvector_theorem_producer.cpp
        46635f0
        --- cvc3-2.1.ORIG/src/theory_bitvector/bitvector_theorem_producer.cpp	2009-10-15 19:23:59.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/theory_bitvector/bitvector_theorem_producer.cpp	2009-10-19 10:13:12.785232967 -0600
        46635f0
        @@ -479,7 +479,7 @@
        46635f0
         
        46635f0
           //if both MSBs are constants, then we can optimize the output.  we
        46635f0
           //know precisely the value of the signed comparison in cases where
        46635f0
        -  //topbit of e0 and e1 are constants. e.g. |-1@t0 < 0@t1 is clearly
        46635f0
        +  //topbit of e0 and e1 are constants. e.g. |-1\@t0 < 0\@t1 is clearly
        46635f0
           //|-TRUE.
        46635f0
         
        46635f0
           //-1 indicates that both topBits are not known to be BVCONSTS
        46635f0
        @@ -1009,9 +1009,9 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -// Input: x: a_0 @ ... @ a_n,
        46635f0
        +// Input: x: a_0 \@ ... \@ a_n,
        46635f0
         //        i: bitposition
        46635f0
        -// Output |- BOOLEXTRACT(a_0 @ ... @ a_n, i) <=> BOOLEXTRACT(a_j, k)
        46635f0
        +// Output |- BOOLEXTRACT(a_0 \@ ... \@ a_n, i) <=> BOOLEXTRACT(a_j, k)
        46635f0
         //        where j and k are determined by structure of CONCAT
        46635f0
         Theorem BitvectorTheoremProducer::bitExtractConcatenation(const Expr & x,
        46635f0
         							  int i)
        46635f0
        @@ -1939,7 +1939,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! t<
        46635f0
        +//! t<
        46635f0
         Theorem BitvectorTheoremProducer::leftShiftToConcat(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
             // The kids must be constant expressions
        46635f0
        @@ -1963,7 +1963,7 @@
        46635f0
           return newRWTheorem(e, res, Assumptions::emptyAssump(), pf);
        46635f0
         }
        46635f0
         
        46635f0
        -//! t<
        46635f0
        +//! t<
        46635f0
         Theorem BitvectorTheoremProducer::constWidthLeftShiftToConcat(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
             // The kids must be constant expressions
        46635f0
        @@ -1996,7 +1996,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! t>>m = 0bin00...00 @ t[bvLength-1:m], takes e == (t>>n)
        46635f0
        +//! t>>m = 0bin00...00 \@ t[bvLength-1:m], takes e == (t>>n)
        46635f0
         Theorem BitvectorTheoremProducer::rightShiftToConcat(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
             CHECK_SOUND(e.getOpKind() == RIGHTSHIFT && e.arity() == 1,
        46635f0
        @@ -2028,7 +2028,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! BVSHL(t,c) = t[n-c,0] @ 0bin00...00
        46635f0
        +//! BVSHL(t,c) = t[n-c,0] \@ 0bin00...00
        46635f0
         Theorem BitvectorTheoremProducer::bvshlToConcat(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
             // The second kid must be a constant expression
        46635f0
        @@ -2102,7 +2102,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! BVLSHR(t,c) = 0bin00...00 @ t[n-1,c]
        46635f0
        +//! BVLSHR(t,c) = 0bin00...00 \@ t[n-1,c]
        46635f0
         Theorem BitvectorTheoremProducer::bvlshrToConcat(const Expr& e)
        46635f0
         {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
        @@ -2265,7 +2265,7 @@
        46635f0
         
        46635f0
         
        46635f0
         //! k*t = BVPLUS(n, <sum of shifts of t>) -- translation of k*t to BVPLUS
        46635f0
        -/*! If k = 2^m, return k*t = t@0...0 */
        46635f0
        +/*! If k = 2^m, return k*t = t\@0...0 */
        46635f0
         Theorem BitvectorTheoremProducer::constMultToPlus(const Expr& e) {
        46635f0
           DebugAssert(false,
        46635f0
         	      "BitvectorTheoremProducer::constMultToPlus: this rule does not work\n");
        46635f0
        @@ -2459,7 +2459,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! (t1 @ t2)[i:j] = t1[...] @ t2[...]  (push extraction through concat)
        46635f0
        +//! (t1 \@ t2)[i:j] = t1[...] \@ t2[...]  (push extraction through concat)
        46635f0
         Theorem
        46635f0
         BitvectorTheoremProducer::extractConcat(const Expr& e) {
        46635f0
           TRACE("bitvector rules", "extractConcat(", e, ") {");
        46635f0
        @@ -2672,7 +2672,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! ~(t1@...@tn) = (~t1)@...@(~tn) -- push negation through concat
        46635f0
        +//! ~(t1\@...\@tn) = (~t1)\@...\@(~tn) -- push negation through concat
        46635f0
         Theorem
        46635f0
         BitvectorTheoremProducer::negConcat(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
        @@ -3190,7 +3190,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! c1@c2@...@cn = c  (concatenation of constant bitvectors)
        46635f0
        +//! c1\@c2\@...\@cn = c  (concatenation of constant bitvectors)
        46635f0
         Theorem BitvectorTheoremProducer::concatConst(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
             // The kids must be constant expressions
        46635f0
        @@ -3211,7 +3211,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! Flatten one level of nested concatenation, e.g.: x@(y@z)@w = x@y@z@w
        46635f0
        +//! Flatten one level of nested concatenation, e.g.: x\@(y\@z)\@w = x\@y\@z\@w
        46635f0
         Theorem
        46635f0
         BitvectorTheoremProducer::concatFlatten(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
        @@ -3233,7 +3233,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! Merge n-ary concat. of adjacent extractions: x[15:8]@x[7:0] = x[15:0]
        46635f0
        +//! Merge n-ary concat. of adjacent extractions: x[15:8]\@x[7:0] = x[15:0]
        46635f0
         Theorem
        46635f0
         BitvectorTheoremProducer::concatMergeExtract(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
        @@ -4681,7 +4681,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -// BVMULT(N, a@b, y) = BVPLUS(N, BVMULT(N,b,y), BVMULT(N-n,a,y) @ n-bit-0-string)
        46635f0
        +// BVMULT(N, a\@b, y) = BVPLUS(N, BVMULT(N,b,y), BVMULT(N-n,a,y) \@ n-bit-0-string)
        46635f0
         // where n = BVSize(b), a != 0, one of a or b is a constant
        46635f0
         Theorem BitvectorTheoremProducer::liftConcatBVMult(const Expr& e)
        46635f0
         {
        46635f0
        @@ -4917,7 +4917,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -// BVPLUS(N, a0, ..., an) = BVPLUS(N-n,a0[N-1:n],...an[N-1:n])@t
        46635f0
        +// BVPLUS(N, a0, ..., an) = BVPLUS(N-n,a0[N-1:n],...an[N-1:n])\@t
        46635f0
         // where n = BVSize(t), and the sum of the lowest n bits of a0..an is exactly
        46635f0
         // equal to t (i.e. no carry)
        46635f0
         Theorem BitvectorTheoremProducer::liftConcatBVPlus(const Expr& e)
        46635f0
        @@ -5602,9 +5602,9 @@
        46635f0
         
        46635f0
         // Input: t[hi:lo] = rhs
        46635f0
         // if t appears as leaf in rhs, then:
        46635f0
        -//    t[hi:lo] = rhs |- Exists x,y,z. (t = x @ y @ z AND y = rhs), solvedForm = false
        46635f0
        +//    t[hi:lo] = rhs |- Exists x,y,z. (t = x \@ y i@ z AND y = rhs), solvedForm = false
        46635f0
         // else
        46635f0
        -//    t[hi:lo] = rhs |- Exists x,z. (t = x @ rhs @ z), solvedForm = true
        46635f0
        +//    t[hi:lo] = rhs |- Exists x,z. (t = x \@ rhs \@ z), solvedForm = true
        46635f0
         Theorem BitvectorTheoremProducer::processExtract(const Theorem& e, bool& solvedForm)
        46635f0
         {
        46635f0
           Expr expr = e.getExpr();
        46635f0
        @@ -6075,7 +6075,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! BVZEROEXTEND(e, i) = zeroString @ e
        46635f0
        +//! BVZEROEXTEND(e, i) = zeroString \@ e
        46635f0
         // where zeroString is a string of i zeroes
        46635f0
         Theorem BitvectorTheoremProducer::zeroExtendRule(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
        @@ -6103,7 +6103,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! BVREPEAT(e, i) = e @ e @ ... @ e
        46635f0
        +//! BVREPEAT(e, i) = e \@ e \@ ... \@ e
        46635f0
         // where e appears i times on the right
        46635f0
         Theorem BitvectorTheoremProducer::repeatRule(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
        @@ -6136,7 +6136,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! BVROTL(e, i) = a[n-i-1:0] @ a[n-1:n-i]
        46635f0
        +//! BVROTL(e, i) = a[n-i-1:0] \@ a[n-1:n-i]
        46635f0
         // where n is the size of e and i is less than n (otherwise i mod n is used)
        46635f0
         Theorem BitvectorTheoremProducer::rotlRule(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
        @@ -6167,7 +6167,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -//! BVROTR(e, i) = a[i-1:0] @ a[n-1:i]
        46635f0
        +//! BVROTR(e, i) = a[i-1:0] \@ a[n-1:i]
        46635f0
         // where n is the size of e and i is less than n (otherwise i mod n is used)
        46635f0
         Theorem BitvectorTheoremProducer::rotrRule(const Expr& e) {
        46635f0
           if(CHECK_PROOFS) {
        46635f0
        diff -dur cvc3-2.1.ORIG/src/theory_core/theory_core.cpp cvc3-2.1/src/theory_core/theory_core.cpp
        46635f0
        --- cvc3-2.1.ORIG/src/theory_core/theory_core.cpp	2009-09-30 13:39:06.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/theory_core/theory_core.cpp	2009-10-19 10:13:12.788233008 -0600
        46635f0
        @@ -3099,7 +3099,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -bool TheoryCore::incomplete(vector<string>& reasons)
        46635f0
        +bool TheoryCore::incomplete(std::vector<std::string>& reasons)
        46635f0
         {
        46635f0
           if(d_incomplete.size() > 0) {
        46635f0
             for(CDMap<string,bool>::iterator i=d_incomplete.begin(),
        46635f0
        diff -dur cvc3-2.1.ORIG/src/theory_datatype/theory_datatype.cpp cvc3-2.1/src/theory_datatype/theory_datatype.cpp
        46635f0
        --- cvc3-2.1.ORIG/src/theory_datatype/theory_datatype.cpp	2009-10-05 20:12:41.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/theory_datatype/theory_datatype.cpp	2009-10-19 10:13:12.790252403 -0600
        46635f0
        @@ -857,10 +857,10 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -Expr TheoryDatatype::dataType(const string& name,
        46635f0
        -                              const vector<string>& constructors,
        46635f0
        -                              const vector<vector<string> >& selectors,
        46635f0
        -                              const vector<vector<Expr> >& types)
        46635f0
        +Expr TheoryDatatype::dataType(const std::string& name,
        46635f0
        +                              const std::vector<std::string>& constructors,
        46635f0
        +                              const std::vector<std::vector<std::string> >& selectors,
        46635f0
        +                              const std::vector<std::vector<Expr> >& types)
        46635f0
         {
        46635f0
           vector<string> names;
        46635f0
           vector<vector<string> > constructors2;
        46635f0
        @@ -876,10 +876,10 @@
        46635f0
         
        46635f0
         // Elements of types are either the expr from an existing type or a string
        46635f0
         // naming one of the datatypes being defined
        46635f0
        -Expr TheoryDatatype::dataType(const vector<string>& names,
        46635f0
        -                              const vector<vector<string> >& allConstructors,
        46635f0
        -                              const vector<vector<vector<string> > >& allSelectors,
        46635f0
        -                              const vector<vector<vector<Expr> > >& allTypes)
        46635f0
        +Expr TheoryDatatype::dataType(const std::vector<std::string>& names,
        46635f0
        +                              const std::vector<std::vector<std::string> >& allConstructors,
        46635f0
        +                              const std::vector<std::vector<std::vector<std::string> > >& allSelectors,
        46635f0
        +                              const std::vector<std::vector<std::vector<Expr> > >& allTypes)
        46635f0
         {
        46635f0
           vector<Expr> returnTypes;
        46635f0
         
        46635f0
        diff -dur cvc3-2.1.ORIG/src/theory_quant/quant_theorem_producer.cpp cvc3-2.1/src/theory_quant/quant_theorem_producer.cpp
        46635f0
        --- cvc3-2.1.ORIG/src/theory_quant/quant_theorem_producer.cpp	2009-10-04 12:41:29.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/theory_quant/quant_theorem_producer.cpp	2009-10-19 10:13:12.791296402 -0600
        46635f0
        @@ -241,6 +241,7 @@
        46635f0
          * subtype predicates for the bound variables of the quanitfied expression.
        46635f0
          * \param t1 is the quantifier (a Theorem)
        46635f0
          * \param terms are the terms to instantiate.
        46635f0
        + * \param quantLevel the quantification level for the formula
        46635f0
          */
        46635f0
         Theorem QuantTheoremProducer::universalInst(const Theorem& t1, const  vector<Expr>& terms, int quantLevel){
        46635f0
         
        46635f0
        diff -dur cvc3-2.1.ORIG/src/theory_quant/theory_quant.cpp cvc3-2.1/src/theory_quant/theory_quant.cpp
        46635f0
        --- cvc3-2.1.ORIG/src/theory_quant/theory_quant.cpp	2009-10-07 00:24:44.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/theory_quant/theory_quant.cpp	2009-10-19 10:13:12.795232784 -0600
        46635f0
        @@ -2860,7 +2860,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -void TheoryQuant::setupTriggers(ExprMap<ExprMap<vector<dynTrig>* >*>& trig_maps, const Theorem& thm, size_t univs_id){
        46635f0
        +void TheoryQuant::setupTriggers(ExprMap<ExprMap<std::vector<dynTrig>* >*>& trig_maps, const Theorem& thm, size_t univs_id){
        46635f0
         
        46635f0
           //  static std::vector<Expr> libQuant;
        46635f0
           const Expr& e = thm.getExpr();
        46635f0
        @@ -4137,7 +4137,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         //match a gterm against all the trigs in d_allmap_trigs
        46635f0
        -void TheoryQuant::matchListNew(ExprMap<ExprMap<vector<dynTrig>*>*>& new_trigs,
        46635f0
        +void TheoryQuant::matchListNew(ExprMap<ExprMap<std::vector<dynTrig>*>*>& new_trigs,
        46635f0
         			       const CDList<Expr>& glist,
        46635f0
         			       size_t gbegin,
        46635f0
         			       size_t gend){
        46635f0
        @@ -7984,7 +7984,7 @@
        46635f0
           d_lastEqsUpdatePos.set(d_eqsUpdate.size());
        46635f0
         }
        46635f0
         
        46635f0
        -void TheoryQuant::synCheckSat(ExprMap<ExprMap<vector<dynTrig>* >* >&  new_trigs, bool fullEffort){
        46635f0
        +void TheoryQuant::synCheckSat(ExprMap<ExprMap<std::vector<dynTrig>* >* >&  new_trigs, bool fullEffort){
        46635f0
         
        46635f0
           d_allout=false;
        46635f0
         
        46635f0
        diff -dur cvc3-2.1.ORIG/src/vcl/vcl.cpp cvc3-2.1/src/vcl/vcl.cpp
        46635f0
        --- cvc3-2.1.ORIG/src/vcl/vcl.cpp	2009-10-15 14:29:30.000000000 -0600
        46635f0
        +++ cvc3-2.1/src/vcl/vcl.cpp	2009-10-19 10:13:12.798131491 -0600
        46635f0
        @@ -775,8 +775,8 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -Type VCL::recordType(const vector<string>& fields,
        46635f0
        -		     const vector<Type>& types)
        46635f0
        +Type VCL::recordType(const std::vector<std::string>& fields,
        46635f0
        +		     const std::vector<Type>& types)
        46635f0
         {
        46635f0
           DebugAssert(fields.size() == types.size(),
        46635f0
         	      "VCL::recordType: number of fields is different \n"
        46635f0
        @@ -789,9 +789,10 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -Type VCL::dataType(const string& name,
        46635f0
        -                   const string& constructor,
        46635f0
        -                   const vector<string>& selectors, const vector<Expr>& types)
        46635f0
        +Type VCL::dataType(const std::string& name,
        46635f0
        +                   const std::string& constructor,
        46635f0
        +                   const std::vector<std::string>& selectors,
        46635f0
        +                   const std::vector<Expr>& types)
        46635f0
         {
        46635f0
           vector<string> constructors;
        46635f0
           constructors.push_back(constructor);
        46635f0
        @@ -806,10 +807,10 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -Type VCL::dataType(const string& name,
        46635f0
        -                   const vector<string>& constructors,
        46635f0
        -                   const vector<vector<string> >& selectors,
        46635f0
        -                   const vector<vector<Expr> >& types)
        46635f0
        +Type VCL::dataType(const std::string& name,
        46635f0
        +                   const std::vector<std::string>& constructors,
        46635f0
        +                   const std::vector<std::vector<std::string> >& selectors,
        46635f0
        +                   const std::vector<std::vector<Expr> >& types)
        46635f0
         {
        46635f0
           Expr res = d_theoryDatatype->dataType(name, constructors, selectors, types);
        46635f0
           if(d_dump) {
        46635f0
        @@ -819,11 +820,11 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -void VCL::dataType(const vector<string>& names,
        46635f0
        -                   const vector<vector<string> >& constructors,
        46635f0
        -                   const vector<vector<vector<string> > >& selectors,
        46635f0
        -                   const vector<vector<vector<Expr> > >& types,
        46635f0
        -                   vector<Type>& returnTypes)
        46635f0
        +void VCL::dataType(const std::vector<std::string>& names,
        46635f0
        +                   const std::vector<std::vector<std::string> >& constructors,
        46635f0
        +                   const std::vector<std::vector<std::vector<std::string> > >& selectors,
        46635f0
        +                   const std::vector<std::vector<std::vector<Expr> > >& types,
        46635f0
        +                   std::vector<Type>& returnTypes)
        46635f0
         {
        46635f0
           Expr res = d_theoryDatatype->dataType(names, constructors, selectors, types);
        46635f0
           if(d_dump) {
        46635f0
        @@ -1405,8 +1406,8 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -Expr VCL::recordExpr(const vector<string>& fields,
        46635f0
        -		     const vector<Expr>& exprs)
        46635f0
        +Expr VCL::recordExpr(const std::vector<std::string>& fields,
        46635f0
        +		     const std::vector<Expr>& exprs)
        46635f0
         {
        46635f0
           DebugAssert(fields.size() > 0, "VCL::recordExpr()");
        46635f0
           DebugAssert(fields.size() == exprs.size(),"VCL::recordExpr()");
        46635f0
        @@ -2107,7 +2108,7 @@
        46635f0
         }
        46635f0
         
        46635f0
         
        46635f0
        -bool VCL::incomplete(vector<string>& reasons) {
        46635f0
        +bool VCL::incomplete(std::vector<std::string>& reasons) {
        46635f0
           // TODO: add to interactive interface
        46635f0
           // Return true only after a failed query
        46635f0
           return (d_lastQuery.isNull() && d_theoryCore->incomplete(reasons));