|
|
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));
|