Documentation fixes, some code typo fixes, file perms, other minor things.
authorMorgan Deters <mdeters@cs.nyu.edu>
Fri, 16 Aug 2013 19:15:03 +0000 (15:15 -0400)
committerMorgan Deters <mdeters@cs.nyu.edu>
Fri, 13 Sep 2013 22:32:39 +0000 (18:32 -0400)
59 files changed:
contrib/get-bug-attachments
contrib/theoryskel/README.WHATS-NEXT
doc/SmtEngine.3cvc_template.in
doc/cvc4.1_template.in
doc/cvc4.5.in
doc/libcvc4compat.3.in
doc/libcvc4parser.3.in
doc/options.3cvc_template.in
src/expr/metakind_template.h
src/expr/type_node.h
src/parser/smt2/Smt2.g
src/parser/tptp/Tptp.g
src/parser/tptp/tptp.cpp
src/parser/tptp/tptp.h
src/parser/tptp/tptp_input.h
src/prop/minisat/core/Solver.cc
src/prop/minisat/core/Solver.h
src/prop/minisat/minisat.h
src/prop/minisat/mtl/Vec.h
src/prop/minisat/simp/SimpSolver.cc
src/prop/options
src/smt/options
src/smt/smt_engine.cpp
src/smt/smt_engine.h
src/theory/arith/approx_simplex.h
src/theory/arith/bound_counts.h
src/theory/arith/normal_form.cpp
src/theory/arith/options
src/theory/arith/simplex_update.h
src/theory/bv/theory_bv_utils.h
src/theory/idl/idl_assertion.cpp
src/theory/idl/idl_assertion.h
src/theory/idl/idl_assertion_db.cpp
src/theory/idl/idl_assertion_db.h
src/theory/idl/idl_model.cpp
src/theory/idl/idl_model.h
src/theory/idl/theory_idl.cpp
src/theory/idl/theory_idl.h
src/theory/ite_simplifier.cpp
src/theory/ite_simplifier.h
src/theory/output_channel.h
src/theory/quantifiers/bounded_integers.cpp [changed mode: 0755->0644]
src/theory/quantifiers/bounded_integers.h [changed mode: 0755->0644]
src/theory/quantifiers/first_order_reasoning.cpp [changed mode: 0755->0644]
src/theory/quantifiers/first_order_reasoning.h [changed mode: 0755->0644]
src/theory/quantifiers/full_model_check.cpp [changed mode: 0755->0644]
src/theory/quantifiers/full_model_check.h [changed mode: 0755->0644]
src/theory/quantifiers/model_engine.h
src/theory/theory.cpp
src/theory/theory.h
src/theory/theory_engine.cpp
src/theory/theory_engine.h
src/theory/uf/equality_engine.h
src/util/result.i
src/util/statistics_registry.h
test/regress/regress0/fmf/Makefile.am [changed mode: 0755->0644]
test/regress/regress0/fmf/german169.smt2 [changed mode: 0755->0644]
test/regress/regress0/fmf/german73.smt2 [changed mode: 0755->0644]
test/regress/regress0/fmf/refcount24.cvc.smt2 [changed mode: 0755->0644]

index 3bb433c511e454d82d81790b9c7d3eafdf7ff76b..869eee895ef20b3a294efbee6b2540d0f661965a 100755 (executable)
@@ -70,14 +70,14 @@ function webget {
 
 count=0
 for attachment in $(\
-  webcat "http://church.cims.nyu.edu/bugs/show_bug.cgi?id=$bugid" 2>/dev/null \
+  webcat "http://cvc4.cs.nyu.edu/bugs/show_bug.cgi?id=$bugid" 2>/dev/null \
   | grep ' href="attachment.cgi?id=[0-9][0-9]*' \
   | sed 's,.* href="attachment.cgi?id=\([0-9][0-9]*\).*,\1,' \
   | sort -nu); do
 
   let count++
   printf "%-30s " "Downloading attachment $attachment..."
-  webget "http://church.cims.nyu.edu/bugs/attachment.cgi?id=$attachment" "test/regress/regress0/bug$bugid"
+  webget "http://cvc4.cs.nyu.edu/bugs/attachment.cgi?id=$attachment" "test/regress/regress0/bug$bugid"
 
 done
 
index b25b6004b7362ff020077ef8a8d78cbe739bd34c..31ff2d47a10cc40a4074f03d88d9da53f5067107 100644 (file)
@@ -7,6 +7,11 @@ Your next steps will likely be:
   and constants
 * to write code in theory_$dir_rewriter.h to implement a normal form
   for your theory's terms
+* for any new types that you have introduced, add "mk*Type()" functions to
+  the NodeManager and ExprManager in src/expr/node_manager.{h,cpp} and
+  src/expr/expr_manager_template.{h,cpp}.  You may also want "is*()" testers
+  in src/expr/type_node.h and a corresponding Type derived class in
+  src/expr/type.h.
 * to write parser rules in src/parser/cvc/Cvc.g to support the CVC input
   language, src/parser/smt/Smt.g to support the (deprecated) SMT-LIBv1
   language, and src/parser/smt2/Smt2.g to support SMT-LIBv2
index 835bef5851ffe9cd0492c0e4fe668ea241d60a16..3a876fefcc96406426fdce5628f1e0a0a2165a39 100644 (file)
@@ -34,7 +34,7 @@ This manual page refers to
 version @VERSION@.
 .SH BUGS
 A Bugzilla for the CVC4 project is maintained at
-.BR http://church.cims.nyu.edu/bugzilla3/ .
+.BR http://cvc4.cs.nyu.edu/bugzilla3/ .
 .SH AUTHORS
 .B CVC4
 is developed by a team of researchers at New York University
@@ -48,4 +48,4 @@ contributors.
 
 Additionally, the CVC4 wiki contains useful information about the
 design and internals of CVC4.  It is maintained at
-.BR http://church.cims.nyu.edu/wiki/ .
+.BR http://cvc4.cs.nyu.edu/wiki/ .
index 5a5f9021458f0ca3a892cfbed4c2c120e50a1e2e..baae1dc4bc60e71472c372f1da90531abe72e597 100644 (file)
@@ -115,7 +115,7 @@ This manual page refers to
 version @VERSION@.
 .SH BUGS
 A Bugzilla for the CVC4 project is maintained at
-.BR http://church.cims.nyu.edu/bugzilla3/ .
+.BR http://cvc4.cs.nyu.edu/bugzilla3/ .
 .SH AUTHORS
 .B CVC4
 is developed by a team of researchers at New York University
@@ -129,4 +129,4 @@ contributors.
 
 Additionally, the CVC4 wiki contains useful information about the
 design and internals of CVC4.  It is maintained at
-.BR http://church.cims.nyu.edu/wiki/ .
+.BR http://cvc4.cs.nyu.edu/wiki/ .
index ab4e8806c8b998250d74213598c3c48d4994b6ad..b54f235601852fc546c260984dfa7b7c206e24fe 100644 (file)
@@ -18,4 +18,4 @@ to background theories of interest.
 
 Additionally, the CVC4 wiki contains useful information about the
 design and internals of CVC4.  It is maintained at
-.BR http://church.cims.nyu.edu/wiki/ .
+.BR http://cvc4.cs.nyu.edu/wiki/ .
index 3722557b07014bee207963883a9eb5ef60a73581..3aa58b7129a50d04ad89c078670590645e3355d4 100644 (file)
@@ -12,4 +12,4 @@ libcvc4compat \- a CVC3 compatibility library interface for the CVC4 theorem pro
 
 Additionally, the CVC4 wiki contains useful information about the
 design and internals of CVC4.  It is maintained at
-.BR http://church.cims.nyu.edu/wiki/ .
+.BR http://cvc4.cs.nyu.edu/wiki/ .
index 67ec74326a6d9f9f6c9d02fb8f94e5acdc87b034..09fea23f1d98bf7821d85e08bc66e4de40e6ac34 100644 (file)
@@ -12,4 +12,4 @@ libcvc4parser \- a parser library interface for the CVC4 theorem prover
 
 Additionally, the CVC4 wiki contains useful information about the
 design and internals of CVC4.  It is maintained at
-.BR http://church.cims.nyu.edu/wiki/ .
+.BR http://cvc4.cs.nyu.edu/wiki/ .
index 86f2ff97640cc9ab7f18c4cbcb777c60c7cc49cd..a0d6c1640b78bd30366cb29a1cdacd4a75da4552 100644 (file)
@@ -22,7 +22,7 @@ This manual page refers to
 version @VERSION@.
 .SH BUGS
 A Bugzilla for the CVC4 project is maintained at
-.BR http://church.cims.nyu.edu/bugzilla3/ .
+.BR http://cvc4.cs.nyu.edu/bugzilla3/ .
 .SH AUTHORS
 .B CVC4
 is developed by a team of researchers at New York University
@@ -36,4 +36,4 @@ contributors.
 
 Additionally, the CVC4 wiki contains useful information about the
 design and internals of CVC4.  It is maintained at
-.BR http://church.cims.nyu.edu/wiki/ .
+.BR http://cvc4.cs.nyu.edu/wiki/ .
index e3f1b5c4530095fea28bb6bae9baf6d0d7b4a09d..93cebe00ad4148b63df02334b2f6041d04f74acd 100644 (file)
@@ -345,7 +345,7 @@ ${metakind_operatorKinds}
 
 }/* CVC4::kind namespace */
 
-#line 348 "${template}"
+#line 349 "${template}"
 
 namespace theory {
 
index 322f7ad92f0042e8cf0a38be3952bd217c88e7a9..145ca2abab11952ee0d46ddcf38d34af407bb1d2 100644 (file)
@@ -622,7 +622,7 @@ public:
    * If this is \top, i.e. there is no inhabited type that contains both,
    * a TypeNode such that isNull() is true is returned.
    *
-   * For more information see: http://church.cims.nyu.edu/wiki/Cvc4_Type_Lattice
+   * For more information see: http://cvc4.cs.nyu.edu/wiki/Cvc4_Type_Lattice
    */
   static TypeNode leastCommonTypeNode(TypeNode t0, TypeNode t1);
 
index 74434f4999f461944c99a05475eb6c4330ac5465..5aa1e53e40baea701298c55fe76224c57a1ad5a4 100644 (file)
@@ -342,7 +342,7 @@ command returns [CVC4::Command* cmd = NULL]
     ASSERT_TOK { PARSER_STATE->checkThatLogicIsSet(); }
     term[expr, expr2]
     { cmd = new AssertCommand(expr); }
-  | /* checksat */
+  | /* check-sat */
     CHECKSAT_TOK { PARSER_STATE->checkThatLogicIsSet(); }
     ( term[expr, expr2]
       { if(PARSER_STATE->strictModeEnabled()) {
@@ -781,7 +781,7 @@ term[CVC4::Expr& expr, CVC4::Expr& expr2]
           (kind == CVC4::kind::AND || kind == CVC4::kind::OR) &&
           args.size() == 1) {
         /* Unary AND/OR can be replaced with the argument.
-              It just so happens expr should already by the only argument. */
+         * It just so happens expr should already be the only argument. */
         assert( expr == args[0] );
       } else if( CVC4::kind::isAssociative(kind) &&
                  args.size() > EXPR_MANAGER->maxArity(kind) ) {
index 2ae31e8104e80dbff4cdd398d65c889957f80bf8..61e0999e9d53d42999ab5e22b15b33c307fdac25 100644 (file)
@@ -189,7 +189,7 @@ parseCommand returns [CVC4::Command* cmd = NULL]
       }
       */
       PARSER_STATE->includeFile(name /* , inclArgs */ );
-      // The command of the included file will be produced at the new parseCommand call
+      // The command of the included file will be produced at the next parseCommand() call
       cmd = new EmptyCommand("include::" + name);
     }
   | EOF
index 3e6aa82b72f93506214c80f829cdf3c8b783214f..edffaa01f3e7209310d6360ec46b126c823b7f76 100644 (file)
@@ -107,7 +107,7 @@ bool newInputStream(std::string fileName, pANTLR3_LEXER lexer) {
     Debug("parser") << "Can't open " << fileName << std::endl;
     return false;
   }
-  // Samething than the predefined PUSHSTREAM(in);
+  // Same thing as the predefined PUSHSTREAM(in);
   lexer->pushCharStream(lexer,in);
   // restart it
   //lexer->rec->state->tokenStartCharIndex     = -10;
@@ -163,7 +163,7 @@ void Tptp::includeFile(std::string fileName) {
   // Test in the directory of the actual parsed file
   std::string currentDirFileName;
   if(inputName != "<stdin>") {
-    // TODO: Use dirname ot Boost::filesystem?
+    // TODO: Use dirname or Boost::filesystem?
     size_t pos = inputName.rfind('/');
     if(pos != std::string::npos) {
       currentDirFileName = std::string(inputName, 0, pos + 1);
index eb49d7dcc43a22dcfc92186a985e61116f8f66c0..e180d1524bbad0e21bc5eb0ece0395b270a31428 100644 (file)
@@ -203,7 +203,7 @@ inline void Tptp::makeApplication(Expr& expr, std::string& name,
 
 inline Command* Tptp::makeCommand(FormulaRole fr, Expr& expr, bool cnf) {
   // For SZS ontology compliance.
-  // If we're in cnf() though, conjectures don't result in "Theorem" or
+  // if we're in cnf() though, conjectures don't result in "Theorem" or
   // "CounterSatisfiable".
   if(!cnf && (fr == FR_NEGATED_CONJECTURE || fr == FR_CONJECTURE)) {
     d_hasConjecture = true;
index 19e928e7e3f6fb5bb9efe693251a7367f69715b1..cb2bcd3a3b4b8f693f1ae4958dc25eaac7f7a403 100644 (file)
@@ -64,7 +64,7 @@ public:
 
   /** Get the language that this Input is reading. */
   InputLanguage getLanguage() const throw() {
-    return language::input::LANG_SMTLIB_V2;
+    return language::input::LANG_TPTP;
   }
 
 protected:
index cacde258d3c319e4d049ac374689ec3a23af2824..36e196821bda0cb13e944966458aede6f1fdc4b6 100644 (file)
@@ -231,7 +231,7 @@ CRef Solver::reason(Var x) {
     int i, j;
     Lit prev = lit_Undef;
     for (i = 0, j = 0; i < explanation.size(); ++ i) {
-      // This clause is valid theory propagation, so it's level is the level of the top literal
+      // This clause is valid theory propagation, so its level is the level of the top literal
       explLevel = std::max(explLevel, intro_level(var(explanation[i])));
 
       Assert(value(explanation[i]) != l_Undef);
@@ -348,7 +348,7 @@ bool Solver::addClause_(vec<Lit>& ps, bool removable)
           assert(assigns[var(ps[0])] != l_False);
           uncheckedEnqueue(ps[0], cr);
           PROOF( if (ps.size() == 1) { ProofManager::getSatProof()->registerUnitClause(ps[0], true); } )
-          return ok = (propagate(CHECK_WITHOUTH_THEORY) == CRef_Undef);
+          return ok = (propagate(CHECK_WITHOUT_THEORY) == CRef_Undef);
         } else return ok;
       }
     }
@@ -806,7 +806,7 @@ CRef Solver::propagate(TheoryCheckType type)
         // Propagate on the clauses
         confl = propagateBool();
         // If no conflict, do the theory check
-        if (confl == CRef_Undef && type != CHECK_WITHOUTH_THEORY) {
+        if (confl == CRef_Undef && type != CHECK_WITHOUT_THEORY) {
             // Do the theory check
             if (type == CHECK_FINAL_FAKE) {
               theoryCheck(CVC4::theory::Theory::EFFORT_FULL);
@@ -1019,8 +1019,8 @@ void Solver::removeClausesAboveLevel(vec<CRef>& cs, int level)
     for (i = j = 0; i < cs.size(); i++){
         Clause& c = ca[cs[i]];
         if (c.level() > level) {
-          assert(!locked(c));
-          removeClause(cs[i]);
+            assert(!locked(c));
+            removeClause(cs[i]);
         } else {
             cs[j++] = cs[i];
         }
@@ -1050,7 +1050,7 @@ bool Solver::simplify()
 {
     assert(decisionLevel() == 0);
 
-    if (!ok || propagate(CHECK_WITHOUTH_THEORY) != CRef_Undef)
+    if (!ok || propagate(CHECK_WITHOUT_THEORY) != CRef_Undef)
         return ok = false;
 
     if (nAssigns() == simpDB_assigns || (simpDB_props > 0))
@@ -1212,7 +1212,7 @@ lbool Solver::search(int nof_conflicts)
 
                 if (next == lit_Undef) {
                     // We need to do a full theory check to confirm
-                  Debug("minisat::search") << "Doing a full theoy check..."
+                  Debug("minisat::search") << "Doing a full theory check..."
                                            << std::endl;
                     check_type = CHECK_FINAL;
                     continue;
@@ -1492,7 +1492,7 @@ void Solver::pop()
     Debug("minisat") << "== unassigning " << trail.last() << std::endl;
     Var      x  = var(trail.last());
     if (user_level(x) > assertionLevel) {
-      assigns [x] = l_Undef;
+      assigns[x] = l_Undef;
       vardata[x] = VarData(CRef_Undef, -1, -1, intro_level(x), -1);
       if(phase_saving >= 1 && (polarity[x] & 0x2) == 0)
         polarity[x] = sign(trail.last());
@@ -1505,7 +1505,7 @@ void Solver::pop()
   // The head should be at the trail top
   qhead = trail.size();
 
-  // Remove the clause
+  // Remove the clauses
   removeClausesAboveLevel(clauses_persistent, assertionLevel);
   removeClausesAboveLevel(clauses_removable, assertionLevel);
 
index 55780479abc502641e1fad9533ee603b775768a3..30d72ac751a82e8175a719b52900b4e43a85d19e 100644 (file)
@@ -266,7 +266,7 @@ protected:
       int level;
       // User level when the literal was added to the trail
       int user_level;
-      // Use level at which this literal was introduced
+      // User level at which this literal was introduced
       int intro_level;
       // The index in the trail
       int trail_index;
@@ -335,7 +335,7 @@ protected:
 
     enum TheoryCheckType {
       // Quick check, but don't perform theory reasoning
-      CHECK_WITHOUTH_THEORY,
+      CHECK_WITHOUT_THEORY,
       // Check and perform theory reasoning
       CHECK_WITH_THEORY,
       // The SAT abstraction of the problem is satisfiable, perform a full theory check
index 37e471846f9835d4745509786619e2a94886db2b..ec49b5f712e3a100ddc5043407e03a3273074bff 100644 (file)
@@ -30,16 +30,15 @@ class MinisatSatSolver : public DPLLSatSolverInterface {
   /** The SatSolver used */
   Minisat::SimpSolver* d_minisat;
 
-
   /** The SatSolver uses this to communicate with the theories */
   TheoryProxy* d_theoryProxy;
 
-  /** Context we will be using to synchronzie the sat solver */
+  /** Context we will be using to synchronize the sat solver */
   context::Context* d_context;
 
 public:
 
-  MinisatSatSolver ();
+  MinisatSatSolver();
   ~MinisatSatSolver();
 
   static SatVariable     toSatVariable(Minisat::Var var);
index 5d8c2850e0db72c66e7642f5ddfc0a56c9c7d7e1..5f85f6fcddc081d424a1e27c0893eda27d60b8ab 100644 (file)
@@ -86,7 +86,7 @@ public:
     const T& operator [] (int index) const { return data[index]; }
     T&       operator [] (int index)       { return data[index]; }
 
-    // Duplicatation (preferred instead):
+    // Duplication (preferred instead):
     void copyTo(vec<T>& copy) const { copy.clear(); copy.growTo(sz); for (int i = 0; i < sz; i++) copy[i] = data[i]; }
     void moveTo(vec<T>& dest) { dest.clear(true); dest.data = data; dest.sz = sz; dest.cap = cap; data = NULL; sz = 0; cap = 0; }
 };
index 0e0e5d3ae8fe54ab0ef01ee25b44fbfaa36ea5d2..6dcdb76c735dcd989c65bcefe7c50a811f6249d8 100644 (file)
@@ -67,7 +67,7 @@ SimpSolver::SimpSolver(CVC4::prop::TheoryProxy* proxy, CVC4::context::Context* c
     if(options::minisatUseElim() &&
        options::minisatUseElim.wasSetByUser() &&
        enableIncremental) {
-        WarningOnce() << "Incremental mode incompatible with --minisat-elimination" << std::endl;
+        WarningOnce() << "Incremental mode incompatible with --minisat-elim" << std::endl;
     }
 
     vec<Lit> dummy(1,lit_Undef);
@@ -239,7 +239,7 @@ bool SimpSolver::strengthenClause(CRef cr, Lit l)
         updateElimHeap(var(l));
     }
 
-    return c.size() == 1 ? enqueue(c[0]) && propagate(CHECK_WITHOUTH_THEORY) == CRef_Undef : true;
+    return c.size() == 1 ? enqueue(c[0]) && propagate(CHECK_WITHOUT_THEORY) == CRef_Undef : true;
 }
 
 
@@ -346,7 +346,7 @@ bool SimpSolver::implied(const vec<Lit>& c)
             uncheckedEnqueue(~c[i]);
         }
 
-    bool result = propagate(CHECK_WITHOUTH_THEORY) != CRef_Undef;
+    bool result = propagate(CHECK_WITHOUT_THEORY) != CRef_Undef;
     cancelUntil(0);
     return result;
 }
@@ -435,7 +435,7 @@ bool SimpSolver::asymm(Var v, CRef cr)
         else
             l = c[i];
 
-    if (propagate(CHECK_WITHOUTH_THEORY) != CRef_Undef){
+    if (propagate(CHECK_WITHOUT_THEORY) != CRef_Undef){
         cancelUntil(0);
         asymm_lits++;
         if (!strengthenClause(cr, l))
index e3a0f814a20a40ba36b85bec56312e905615bf9c..b300c3fb6e3cbb6f12307de164898485cf9bd129 100644 (file)
@@ -22,8 +22,8 @@ option satRestartFirst --restart-int-base=N unsigned :default 25
 option satRestartInc --restart-int-inc=F double :default 3.0 :predicate greater_equal(0.0)
  sets the restart interval increase factor for the sat solver (F=3.0 by default)
 
-option sat_refine_conflicts --refine-conflicts bool
- refine theory conflict clauses
+option sat_refine_conflicts --refine-conflicts bool :default false
+ refine theory conflict clauses (default false)
 
 option minisatUseElim --minisat-elimination bool :default true :read-write 
  use Minisat elimination
index e5f9c2eaf1d779806219e8d8fd135dfd343fcb4e..f39662c106d39bbb3e266a09401f22bb93930661 100644 (file)
@@ -69,7 +69,7 @@ common-option cumulativeMillisecondLimit tlimit --tlimit=MS "unsigned long"
 common-option perCallMillisecondLimit  tlimit-per --tlimit-per=MS "unsigned long"
  enable time limiting per query (give milliseconds)
 common-option cumulativeResourceLimit rlimit --rlimit=N "unsigned long"
- enable resource limiting
+ enable resource limiting (currently, roughly the number of SAT conflicts)
 common-option perCallResourceLimit rlimit-per --rlimit-per=N "unsigned long"
  enable resource limiting per query
 
index 987220cc7ed9956ae783b6950f7540089bcac6fe..6e09408d9b03bdf18fbfd8b2de38f85ca6c75416 100644 (file)
@@ -684,7 +684,7 @@ void SmtEngine::finalOptionsAreSet() {
     return;
   }
 
-  if (options::bitvectorEagerBitblast()) {
+  if(options::bitvectorEagerBitblast()) {
     // Eager solver should use the internal decision strategy
     options::decisionMode.set(DECISION_STRATEGY_INTERNAL);
   }
@@ -1380,20 +1380,19 @@ Node SmtEnginePrivate::expandDefinitions(TNode n, hash_map<Node, Node, NodeHashF
       // otherwise expand it
 
       NodeManager* nm = d_smt.d_nodeManager;
-      // FIXME: this theory specific code should be factored out of the SmtEngine, somehow
+      // FIXME: this theory-specific code should be factored out of the
+      // SmtEngine, somehow
       switch(k) {
       case kind::BITVECTOR_SDIV:
       case kind::BITVECTOR_SREM:
-      case kind::BITVECTOR_SMOD: {
+      case kind::BITVECTOR_SMOD:
         node = bv::TheoryBVRewriter::eliminateBVSDiv(node);
         break;
-      }
 
       case kind::BITVECTOR_UDIV:
-      case kind::BITVECTOR_UREM: {
+      case kind::BITVECTOR_UREM:
         node = expandBVDivByZero(node);
         break;
-      }
 
       case kind::DIVISION: {
         // partial function: division
@@ -2961,7 +2960,7 @@ void SmtEnginePrivate::processAssertions() {
           Rewriter::rewrite(Node(builder));
       }
       // For some reason this is needed for some benchmarks, such as
-      // http://church.cims.nyu.edu/benchmarks/smtlib2/QF_AUFBV/dwp_formulas/try5_small_difret_functions_dwp_tac.re_node_set_remove_at.il.dwp.smt2
+      // http://cvc4.cs.nyu.edu/benchmarks/smtlib2/QF_AUFBV/dwp_formulas/try5_small_difret_functions_dwp_tac.re_node_set_remove_at.il.dwp.smt2
       // Figure it out later
       removeITEs();
       //      Assert(iteRewriteAssertionsEnd == d_assertionsToCheck.size());
index 3531f92e79a1b8ed1ddf4bcd8717f230d13b2129..9655297b35c2afb875ec9a0367d1e603b26aee80 100644 (file)
@@ -507,9 +507,11 @@ public:
   /**
    * Set a resource limit for SmtEngine operations.  This is like a time
    * limit, but it's deterministic so that reproducible results can be
-   * obtained.  However, please note that it may not be deterministic
-   * between different versions of CVC4, or even the same version on
-   * different platforms.
+   * obtained.  Currently, it's based on the number of conflicts.
+   * However, please note that the definition may change between different
+   * versions of CVC4 (as may the number of conflicts required, anyway),
+   * and it might even be different between instances of the same version
+   * of CVC4 on different platforms.
    *
    * A cumulative and non-cumulative (per-call) resource limit can be
    * set at the same time.  A call to setResourceLimit() with
index 175e56f8e143c734899c0e763c158a5c4a5e2cd5..a34c8981dcfbd012bf8e9be4dbbc44ee2678f82e 100644 (file)
@@ -24,7 +24,7 @@ public:
 
   /**
    * If glpk is enabled, return a subclass that can do something.
-   * If glpk is disabled, return a sublass that does nothing.
+   * If glpk is disabled, return a subclass that does nothing.
    */
   static ApproximateSimplex* mkApproximateSimplexSolver(const ArithVariables& vars);
   ApproximateSimplex();
@@ -52,7 +52,7 @@ public:
   virtual ApproxResult solveMIP() = 0;
   virtual Solution extractMIP() const = 0;
 
-  /** UTILIES FOR DEALING WITH ESTIMATES */
+  /** UTILITIES FOR DEALING WITH ESTIMATES */
 
   static const double SMALL_FIXED_DELTA;
   static const double TOLERENCE;
index 1ee6ada068187f0e3b0d5c5af2ab92852df993e0..49c1a94cec1a089f3e78b668ae89d5cdf00073fb 100644 (file)
@@ -1,3 +1,20 @@
+/*********************                                                        */
+/*! \file bound_counts.h
+ ** \verbatim
+ ** Original author: Tim King
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 project.
+ ** Copyright (c) 2009-2013  New York University and The University of Iowa
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief [[ Add one-line brief description here ]]
+ **
+ ** [[ Add lengthier description here ]]
+ ** \todo document this file
+ **/
+
 #include "cvc4_private.h"
 #pragma once
 
index 1ebbe49e013ba285a15a560fc2dd53569f014d3b..7cd202e53ff8bab6ce30a5066686d3194861d9ae 100644 (file)
@@ -22,7 +22,7 @@
 using namespace std;
 
 namespace CVC4 {
-namespace theory{
+namespace theory {
 namespace arith {
 
 bool Variable::isDivMember(Node n){
index 57ef3d1b9fdb8ea2aa36e22ca0dadcb01ba3258b..43b582bc87d50107afa1acc8572cb24f0bb5724d 100644 (file)
@@ -56,7 +56,7 @@ option arithMLTrick miplib-trick --enable-miplib-trick/--disable-miplib-trick bo
  turns on the preprocessing step of attempting to infer bounds on miplib problems
 /turns off the preprocessing step of attempting to infer bounds on miplib problems
 
-option arithMLTrickSubstitutions miplib-trick-subs --miplib-trick-subs unsigned :default 1
+option arithMLTrickSubstitutions miplib-trick-subs --miplib-trick-subs=N unsigned :default 1
  do substitution for miplib 'tmp' vars if defined in <= N eliminated vars
 
 option doCutAllBounded --cut-all-bounded bool :default false :read-write
@@ -67,11 +67,11 @@ option maxCutsInContext --maxCutsInContext unsigned :default 65535
  maximum cuts in a given context before signalling a restart
 
 option revertArithModels --revert-arith-models-on-unsat bool :default false
Revert the arithmetic model to a known safe model on unsat if one is cached
revert the arithmetic model to a known safe model on unsat if one is cached
 
 option havePenalties --fc-penalties bool :default false :read-write
  turns on degenerate pivot penalties
-/ turns off degenerate pivot penalties
+/turns off degenerate pivot penalties
 
 option useFC --use-fcsimplex bool :default false :read-write
  use focusing and converging simplex (FMCAD 2013 submission)
@@ -80,25 +80,25 @@ option useSOI --use-soi bool :default false :read-write
  use sum of infeasibility simplex (FMCAD 2013 submission)
 
 option restrictedPivots --restrict-pivots bool :default true :read-write
- have a pivot cap for simplex at effort levels below fullEffort.
+ have a pivot cap for simplex at effort levels below fullEffort
 
 option collectPivots --collect-pivot-stats bool :default false :read-write
  collect the pivot history
 
 option fancyFinal --fancy-final bool :default false :read-write
- Tuning how final check works for really hard problems.
+ tuning how final check works for really hard problems
 
 option exportDioDecompositions --dio-decomps bool :default false :read-write
- Let skolem variables for integer divisibility constraints leak from the dio solver.
+ let skolem variables for integer divisibility constraints leak from the dio solver
 
 option newProp --new-prop bool :default false :read-write
Use the new row propagation system
use the new row propagation system
 
 option arithPropAsLemmaLength --arith-prop-clauses uint16_t :default 8 :read-write
Rows shorter than this are propagated as clauses
rows shorter than this are propagated as clauses
 
 option soiQuickExplain --soi-qe bool :default false :read-write
- Use quick explain to minimize the sum of infeasibility conflicts.
+ use quick explain to minimize the sum of infeasibility conflicts
 
 option rewriteDivk rewrite-divk --rewrite-divk bool :default false
  rewrite division and mod when by a constant into linear terms
index 516586568c65bbb8a2a4f38a51de6b2afbe64ddf..64aa193dd7542b01daa6bacc7b71f3af39229b23 100644 (file)
@@ -318,7 +318,7 @@ private:
   }
 
   /**
-   * Determines the appropraite WitnessImprovement for the update.
+   * Determines the appropriate WitnessImprovement for the update.
    * useBlands breaks ties for degenerate pivots.
    *
    * This is safe if:
index 5847bac3eb066b9546dfb6082d251d00756652a4..ab6a615a2e7dfb354adcb5dbf9b7df179c6664a1 100644 (file)
@@ -357,7 +357,7 @@ inline Node flattenAnd(std::vector<TNode>& queue) {
 }
 
 
-// neeed a better name, this is not technically a ground term 
+// need a better name, this is not technically a ground term 
 inline bool isBVGroundTerm(TNode node) {
   if (node.getNumChildren() == 0) {
     return node.isConst(); 
index 861dd0a46b47830b8170d09accf6c523825a1968..1e725932bf782cbf1ecbfabbf5b2c5a13d3d91d6 100644 (file)
@@ -1,3 +1,20 @@
+/*********************                                                        */
+/*! \file idl_assertion.cpp
+ ** \verbatim
+ ** Original author: Dejan Jovanovic
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 project.
+ ** Copyright (c) 2009-2013  New York University and The University of Iowa
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief [[ Add one-line brief description here ]]
+ **
+ ** [[ Add lengthier description here ]]
+ ** \todo document this file
+ **/
+
 #include "theory/idl/idl_assertion.h"
 
 using namespace CVC4;
index 2ed5a6beff43449740ad77550e6bccb11f9e311d..8ce0e93b280694fbbab5b4352c5cd88854615bdc 100644 (file)
@@ -1,3 +1,20 @@
+/*********************                                                        */
+/*! \file idl_assertion.h
+ ** \verbatim
+ ** Original author: Dejan Jovanovic
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 project.
+ ** Copyright (c) 2009-2013  New York University and The University of Iowa
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief [[ Add one-line brief description here ]]
+ **
+ ** [[ Add lengthier description here ]]
+ ** \todo document this file
+ **/
+
 #pragma once
 
 #include "theory/idl/idl_model.h"
index 7c27e9d0d78b187b4331f2a18b965f01770ab3f6..697c70c025d86c5012f81ed712a52b6cdece983b 100644 (file)
@@ -1,3 +1,20 @@
+/*********************                                                        */
+/*! \file idl_assertion_db.cpp
+ ** \verbatim
+ ** Original author: Dejan Jovanovic
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 project.
+ ** Copyright (c) 2009-2013  New York University and The University of Iowa
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief [[ Add one-line brief description here ]]
+ **
+ ** [[ Add lengthier description here ]]
+ ** \todo document this file
+ **/
+
 #include "theory/idl/idl_assertion_db.h"
 
 using namespace CVC4;
index 3972819dae49115074af9dd446d3d65149d9d4fe..0501bc6bf144d3e51eb11fcd9482c05ccdb0cc00 100644 (file)
@@ -1,3 +1,20 @@
+/*********************                                                        */
+/*! \file idl_assertion_db.h
+ ** \verbatim
+ ** Original author: Dejan Jovanovic
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 project.
+ ** Copyright (c) 2009-2013  New York University and The University of Iowa
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief [[ Add one-line brief description here ]]
+ **
+ ** [[ Add lengthier description here ]]
+ ** \todo document this file
+ **/
+
 #pragma once
 
 #include "theory/idl/idl_assertion.h"
index 2feabd70014da90aa4eb2c3cbe1301162c263687..75f4834eaeef69636e1ae91c12f66974c00dff17 100644 (file)
@@ -1,3 +1,20 @@
+/*********************                                                        */
+/*! \file idl_model.cpp
+ ** \verbatim
+ ** Original author: Dejan Jovanovic
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 project.
+ ** Copyright (c) 2009-2013  New York University and The University of Iowa
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief [[ Add one-line brief description here ]]
+ **
+ ** [[ Add lengthier description here ]]
+ ** \todo document this file
+ **/
+
 #include "theory/idl/idl_model.h"
 
 using namespace CVC4;
index a1840a35a0ccfd4fa6ee8010f07d4656e18697d8..64407684b8861c816da8b132e52614bfdf83519b 100644 (file)
@@ -1,3 +1,20 @@
+/*********************                                                        */
+/*! \file idl_model.h
+ ** \verbatim
+ ** Original author: Dejan Jovanovic
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 project.
+ ** Copyright (c) 2009-2013  New York University and The University of Iowa
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief [[ Add one-line brief description here ]]
+ **
+ ** [[ Add lengthier description here ]]
+ ** \todo document this file
+ **/
+
 #pragma once
 
 #include "expr/node.h"
index bf2297d3d41e79ef19c58d76b88bbfc6976e0eff..e5100fc715ff6afdf55e4e97456842788005d2dd 100644 (file)
@@ -1,3 +1,20 @@
+/*********************                                                        */
+/*! \file theory_idl.cpp
+ ** \verbatim
+ ** Original author: Dejan Jovanovic
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 project.
+ ** Copyright (c) 2009-2013  New York University and The University of Iowa
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief [[ Add one-line brief description here ]]
+ **
+ ** [[ Add lengthier description here ]]
+ ** \todo document this file
+ **/
+
 #include "theory/idl/theory_idl.h"
 #include "theory/idl/options.h"
 #include "theory/rewriter.h"
index 25b9929819161edcfa5ff6b6724cd1fd9f3beec4..c629ad2b05b68ce3885074120470b7c5f3bcab11 100644 (file)
@@ -1,3 +1,20 @@
+/*********************                                                        */
+/*! \file theory_idl.h
+ ** \verbatim
+ ** Original author: Dejan Jovanovic
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 project.
+ ** Copyright (c) 2009-2013  New York University and The University of Iowa
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief [[ Add one-line brief description here ]]
+ **
+ ** [[ Add lengthier description here ]]
+ ** \todo document this file
+ **/
+
 #pragma once
 
 #include "cvc4_private.h"
index ec9eb27d49b81b25e9342af44e54544f80f77b3e..463a9c41a2152b3489b1d7da15c56aecd34aeffd 100644 (file)
@@ -33,7 +33,7 @@ bool ITESimplifier::containsTermITE(TNode e)
   }
 
   hash_map<Node, bool, NodeHashFunction>::iterator it;
-  it = d_containsTermITECache.find(e); 
+  it = d_containsTermITECache.find(e);
   if (it != d_containsTermITECache.end()) {
     return (*it).second;
   }
@@ -60,7 +60,7 @@ bool ITESimplifier::leavesAreConst(TNode e, TheoryId tid)
   }
 
   hash_map<Node, bool, NodeHashFunction>::iterator it;
-  it = d_leavesConstCache.find(e); 
+  it = d_leavesConstCache.find(e);
   if (it != d_leavesConstCache.end()) {
     return (*it).second;
   }
index 0f648f91d39f5ac0a95c1e727fdce919b95b772c..2329cd970b962d56cc3169b554f126a5603c16b8 100644 (file)
@@ -43,6 +43,7 @@
 #include "util/ite_removal.h"
 
 namespace CVC4 {
+namespace theory {
 
 class ITESimplifier {
   Node d_true;
@@ -160,6 +161,7 @@ public:
 
 };
 
-}
+}/* CVC4::theory namespace */
+}/* CVC4 namespace */
 
 #endif
index 524c9606ded7ec3de498bca123b2bec850f4d497..44b89e8cbc3e896b3fa8ad17a49346cb95863a75 100644 (file)
@@ -222,7 +222,7 @@ public:
 
   /** Demands that the search restart from sat search level 0.
    * Using this leads to non-termination issues.
-   * It is appropraite for prototyping for theories.
+   * It is appropriate for prototyping for theories.
    */
   virtual void demandRestart() throw(TypeCheckingExceptionPrivate, AssertionException) {}
 
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 686a2cc130f346ca5b65d146a5c7c39cb814905b..1c2c38c5149ae3bc528f031e1c2d6db338cb1c1f 100644 (file)
@@ -56,7 +56,7 @@ public:
   //get relevant domain
   RelevantDomain * getRelevantDomain() { return d_rel_dom; }
   //get the builder
-  QModelBuilder * getModelBuilder() { return d_builder; }
+  QModelBuilder* getModelBuilder() { return d_builder; }
 public:
   void check( Theory::Effort e );
   void registerQuantifier( Node f );
index 9ed20cc9967e68c62463de538abd5ea6caff9d47..3e30645e83aa8a0581a99da126748c34fb23c84a 100644 (file)
@@ -72,7 +72,7 @@ TheoryId Theory::theoryOf(TheoryOfMode mode, TNode node) {
     // Variables
     if (node.isVar()) {
       if (theoryOf(node.getType()) != theory::THEORY_BOOL) {
-        // We treat the varibables as uninterpreted
+        // We treat the variables as uninterpreted
         return s_uninterpretedSortOwner;
       } else {
         // Except for the Boolean ones, which we just ignore anyhow
index 23fd67b2318bae56c0de3dcdad33f22c6e8d508d..6b1974bb805439d94b83b6383cacfafc0f0fd11a 100644 (file)
@@ -516,7 +516,7 @@ public:
   virtual EqualityStatus getEqualityStatus(TNode a, TNode b) { return EQUALITY_UNKNOWN; }
 
   /**
-   * Return the model value of the give shared term (or null if not avalilable.
+   * Return the model value of the give shared term (or null if not available).
    */
   virtual Node getModelValue(TNode var) { return Node::null(); }
 
index f6616920a72bd5edaa1a9ece4e8445a28b41f24b..448e3a8fa07a8253771709957df8b5327ec5bb57 100644 (file)
@@ -212,7 +212,7 @@ void TheoryEngine::preRegister(TNode preprocessed) {
         }
       }
       if (multipleTheories) {
-        // Collect the shared terms if there are multipe theories
+        // Collect the shared terms if there are multiple theories
         NodeVisitor<SharedTermsVisitor>::run(d_sharedTermsVisitor, preprocessed);
       }
     }
@@ -1317,7 +1317,7 @@ theory::LemmaStatus TheoryEngine::lemma(TNode node, bool negated, bool removable
   d_iteRemover.run(additionalLemmas, iteSkolemMap);
   additionalLemmas[0] = theory::Rewriter::rewrite(additionalLemmas[0]);
 
-  if(Trace.isOn("lemma-ites")) {
+  if(Debug.isOn("lemma-ites")) {
     Debug("lemma-ites") << "removed ITEs from lemma: " << node << endl;
     Debug("lemma-ites") << " + now have the following "
                         << additionalLemmas.size() << " lemma(s):" << endl;
@@ -1417,7 +1417,7 @@ void TheoryEngine::getExplanation(std::vector<NodeTheoryPair>& explanationVector
 
     Debug("theory::explain") << "TheoryEngine::explain(): processing [" << toExplain.timestamp << "] " << toExplain.node << " sent from " << toExplain.theory << endl;
 
-    // If a treu constant or a negation of a false constant we can ignore it
+    // If a true constant or a negation of a false constant we can ignore it
     if (toExplain.node.isConst() && toExplain.node.getConst<bool>()) {
       ++ i;
       continue;
index 97b018214a6d590b329f576a47513ca4560dcec1..fcbec2a419ad93d4679aba5351f6bc918b7f4a1a 100644 (file)
@@ -773,7 +773,7 @@ private:
   void dumpAssertions(const char* tag);
 
   /** For preprocessing pass simplifying ITEs */
-  ITESimplifier d_iteSimplifier;
+  theory::ITESimplifier d_iteSimplifier;
 
   /** For preprocessing pass simplifying unconstrained expressions */
   UnconstrainedSimplifier d_unconstrainedSimp;
index 6962f0c69ce996d8a6150541157ca15a8da2855b..8d1b6f1d9bf15938ae625aca0a3879ddca50ba2f 100644 (file)
@@ -741,7 +741,7 @@ public:
   /**
    * Adds a predicate p with given polarity. The predicate asserted
    * should be in the congruence closure kinds (otherwise it's
-   * useless.
+   * useless).
    *
    * @param p the (non-negated) predicate
    * @param polarity true if asserting the predicate, false if
@@ -777,7 +777,7 @@ public:
   void getUseListTerms(TNode t, std::set<TNode>& output);
 
   /**
-   * Get an explanation of the equality t1 = t2 begin true of false.
+   * Get an explanation of the equality t1 = t2 being true or false.
    * Returns the reasons (added when asserting) that imply it
    * in the assertions vector.
    */
index 029a3618ad5e197efb067857a54a1f174efeb710..b77bfd88143bca2c28c85d37f4ed60a2b828a20b 100644 (file)
@@ -12,8 +12,9 @@
 %ignore CVC4::operator<<(std::ostream&, enum Result::UnknownExplanation);
 
 %ignore CVC4::operator==(enum Result::Sat, const Result&);
-%ignore CVC4::operator==(enum Result::Validity, const Result&);
 %ignore CVC4::operator!=(enum Result::Sat, const Result&);
+
+%ignore CVC4::operator==(enum Result::Validity, const Result&);
 %ignore CVC4::operator!=(enum Result::Validity, const Result&);
 
 %include "util/result.h"
index 3bec559d5b0ceebebeff2317d93366b221104281..8ffc60d17ecac1a8fb06ab57bfcf6920c0ba915f 100644 (file)
@@ -847,7 +847,7 @@ public:
  * like in this example, which takes the place of the declaration of a
  * statistics field "d_checkTimer":
  *
- *   KEEP_STATISTIC(TimerStat, d_checkTimer, "theory::uf::morgan::checkTime");
+ *   KEEP_STATISTIC(TimerStat, d_checkTimer, "theory::uf::checkTime");
  *
  * If any args need to be passed to the constructor, you can specify
  * them after the string.
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)