* Numerous documentation fixes (fix doxygen warnings, add missing documentation,...
authorMorgan Deters <mdeters@gmail.com>
Wed, 29 Aug 2012 20:36:35 +0000 (20:36 +0000)
committerMorgan Deters <mdeters@gmail.com>
Wed, 29 Aug 2012 20:36:35 +0000 (20:36 +0000)
* Remove sat_module.cpp, which was no longer used (was previously refactored?)

35 files changed:
README
config/doxygen.cfg
src/bindings/compat/c/c_interface.h
src/bindings/compat/c/c_interface_defs.h
src/bindings/compat/java/formula_value.h
src/decision/justification_heuristic.cpp
src/expr/expr_manager_template.cpp
src/expr/expr_manager_template.h
src/expr/expr_template.cpp
src/expr/expr_template.h
src/expr/kind_template.h
src/expr/metakind_template.h
src/expr/symbol_table.h
src/expr/type_checker_template.cpp
src/expr/type_properties_template.h
src/options/base_options_template.cpp
src/options/base_options_template.h
src/options/options_holder_template.h
src/options/options_template.cpp
src/parser/input.h
src/prop/sat_module.cpp [deleted file]
src/prop/sat_solver.h
src/smt/smt_options_template.cpp
src/theory/bv/bitblast_strategies.cpp
src/theory/bv/bitblast_strategies.h
src/theory/bv/bitblaster.cpp
src/theory/instantiator_tables_template.cpp
src/theory/rewriter_tables_template.h
src/theory/theory_traits_template.h
src/theory/type_enumerator_template.cpp
src/theory/uf/equality_engine.h
src/util/cardinality.h
src/util/integer.h.in
src/util/rational.h.in
src/util/tls.h.in

diff --git a/README b/README
index ed8edd53a4b318cbd2bb832ca37883a65670f6de..37c2856391be328a3090e17726627ce4ddc3e673 100644 (file)
--- a/README
+++ b/README
@@ -5,7 +5,7 @@ This is a prerelease version of CVC4.
 To build, you'll need reasonably new automake, autoconf, and libtool
 installed (see below). Execute,
 
-    ./autogen.sh 
+    ./autogen.sh
     ./configure
     make
 
@@ -80,10 +80,10 @@ includes a diff of all changes made to cudd makefiles.
 *** Build dependencies
 
 The following tools and libraries are required to build CVC4 from
-scratch. 
+scratch.
 
 Automake v1.11
-Autoconf v2.61 
+Autoconf v2.61
 Libtool v2.2
 ANTLR3 v3.2
 
index 71d43495904c4d280236a0a0f8d6540c8d13a6d1..f4713b616954abfee3ed4583fdc9ffa2902ba105 100644 (file)
@@ -568,7 +568,12 @@ WARN_LOGFILE           =
 # directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.
 
-INPUT                  = $(CVC4_DOXYGEN_INPUT)
+INPUT                  = $(SRCDIR)/AUTHORS \
+                         $(SRCDIR)/COPYING \
+                         $(SRCDIR)/NEWS \
+                         $(SRCDIR)/README \
+                         $(SRCDIR)/ChangeLog \
+                         $(CVC4_DOXYGEN_INPUT)
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -1242,7 +1247,7 @@ SEARCH_INCLUDES        = YES
 # contain include files that are not input files but should be processed by
 # the preprocessor.
 
-INCLUDE_PATH           = .
+INCLUDE_PATH           = . include $(SRCDIR)/src $(SRCDIR)/src/include
 
 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
 # patterns (like *.h and *.hpp) to filter out the header-files in the
index 14fea74787709774365c12ed9e3572f5645b5f5b..379097c27927dc7624b895c4d4f0f3f59d030c8a 100644 (file)
@@ -12,7 +12,7 @@
  * License to use, copy, modify, sell and/or distribute this software
  * and its documentation for any purpose is hereby granted without
  * royalty, subject to the terms and conditions defined in the \ref
- * LICENSE file provided with this distribution.
+ * COPYING file provided with this distribution.
  *
  * <hr>
  *
@@ -66,6 +66,8 @@ Type vc_subRangeType(VC vc, int lowerEnd, int upperEnd);
 
 //! Creates a subtype defined by the given predicate
 /*!
+ * \param vc the validity checker
+ *
  * \param pred is a predicate taking one argument of type T and returning
  * Boolean.  The resulting type is a subtype of T whose elements x are those
  * satisfying the predicate pred(x).
@@ -298,6 +300,7 @@ Expr vc_ratExprFromStr(VC vc, char* n, char* d, int base);
 
 //! Create a rational from a single string.
 /*!
+  \param vc the validity checker
   \param n can be a string containing an integer, a pair of integers
   "nnn/ddd", or a number in the fixed or floating point format.
   \param base is the base in which to interpret the string.
@@ -442,7 +445,8 @@ Expr vc_datatypeTestExpr(VC vc, char* constructor, Expr arg);
 // Quantifiers
 
 //! Create a bound variable.
-/*! \param name
+/*! \param vc the validity checker
+ * \param name
  * \param uid is a fresh unique string to distinguish this variable
  * from other bound variables with the same name
  * \param type
index ee6c09e13fab2636f45e5b461776cc67bead62b3..f30e9b797902e1e827b3f92aaf98d0516db1d8c4 100644 (file)
@@ -1,9 +1,9 @@
 /*****************************************************************************/
 /*!
  * \file c_interface_defs.h
- * 
+ *
  * Author: Clark Barrett
- * 
+ *
  * Created: Thu Jun  5 13:16:26 2003
  *
  * <hr>
  * License to use, copy, modify, sell and/or distribute this software
  * and its documentation for any purpose is hereby granted without
  * royalty, subject to the terms and conditions defined in the \ref
- * LICENSE file provided with this distribution.
- * 
+ * COPYING file provided with this distribution.
+ *
  * <hr>
- * 
+ *
  */
 /*****************************************************************************/
 
index 79f31f4048d66c557058b31f4e88aff949f6a9d2..efcd32eea1fa9463781a55491e1a0a0646700a5b 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*!
- *\file formulavalue.h
+ *\file formula_value.h
  *\brief enumerated type for value of formulas
  *
  * Author: Alexander Fuchs
@@ -13,7 +13,7 @@
  * and its documentation for any purpose is hereby granted without
  * royalty, subject to the terms and conditions defined in the \ref
  * LICENSE file provided with this distribution.
- * 
+ *
  * <hr>
  */
 /*****************************************************************************/
@@ -31,7 +31,7 @@ namespace CVC3 {
 typedef enum FormulaValue {
   TRUE_VAL,
   FALSE_VAL,
-  UNKNOWN_VAL 
+  UNKNOWN_VAL
 } FormulaValue;
 
 }
index 67000b1ba37fca7d85f21cad76e3a9497de2350b..77f4cd56c6959ef97a526bdb4fac5445bd5f1b4c 100644 (file)
@@ -21,8 +21,8 @@
  **/
 /*****************************************************************************/
 /*!
- *\file search_sat.cpp
- *\brief Implementation of Search engine with generic external sat solver
+ * file search_sat.cpp
+ * brief Implementation of Search engine with generic external sat solver
  *
  * Author: Clark Barrett
  *
index 5e7aebbecfb2179044fa42fa96c25136d9b5ec17..804d3af9a9cc1367297d6bd34239df5c30d45492 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file expr_manager_template.cpp
+/*! \file expr_manager.cpp
  ** \verbatim
  ** Original author: dejan
  ** Major contributors: cconway, mdeters
index 158f17c14548723436d9b27a65b19dcabbc1ac9e..8e0f23c6a81395ea903211326c47744e7588fbcc 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file expr_manager_template.h
+/*! \file expr_manager.h
  ** \verbatim
  ** Original author: dejan
  ** Major contributors: mdeters
@@ -210,7 +210,7 @@ public:
    *
    * @param kind the kind of expression to build
    * @param child1 the first subexpression
-   * @param children the remaining subexpressions
+   * @param otherChildren the remaining subexpressions
    * @return the n-ary expression
    */
   Expr mkExpr(Kind kind, Expr child1, const std::vector<Expr>& otherChildren);
index 365dc050ff1c489108895021e925d89a3112e8ee..a6f9f2cf67e95193d37ebea7b5ef984238ee1bb5 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file expr_template.cpp
+/*! \file expr.cpp
  ** \verbatim
  ** Original author: dejan
  ** Major contributors: mdeters
index 395bdff3ae169ac76f5459cf1e05aa40f4cb3512..c50e85ac2e7121bc10865009c6264bc43a3ad964 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file expr_template.h
+/*! \file expr.h
  ** \verbatim
  ** Original author: dejan
  ** Major contributors: mdeters
@@ -403,6 +403,7 @@ public:
    * @param types set to true to ascribe types to the output
    * expressions (might break language compliance, but good for
    * debugging expressions)
+   * @param dag the dagification threshold to use (0 == off)
    * @param language the language in which to output
    */
   void toStream(std::ostream& out, int toDepth = -1, bool types = false, size_t dag = 1,
@@ -960,7 +961,7 @@ public:
 
 ${getConst_instantiations}
 
-#line 964 "${template}"
+#line 965 "${template}"
 
 namespace expr {
 
index 1acbed978238c771f2abb2aded931180d31a85ec..fc7d838a1aed454851083ff8998565d503d6c3cc 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file kind_template.h
+/*! \file kind.h
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: dejan
index a954a7f7030d1fb3e74b98e1f08173780846d373..dbaba664c113b0cc6cdbaae6cd71c787455fac26 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file metakind_template.h
+/*! \file metakind.h
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
index ee04b17fdf735715fd5c8ea4d9111b1aed2d93a3..3f24d10f8547f46c0de4b745fe138711d5f0cdc2 100644 (file)
@@ -118,6 +118,8 @@ public:
    * @param name an identifier
    * @param params the parameters to the type
    * @param t the type to bind to <code>name</code>
+   * @param levelZero true to bind it globally (default is to bind it
+   * locally within the current scope)
    */
   void bindType(const std::string& name,
                 const std::vector<Type>& params,
index 9359a6ab87fbe57f9306aa1c92221f1632c40c36..d559477f19984e2276333f556447e3925da6836f 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file type_checker_template.cpp
+/*! \file type_checker.cpp
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
index 1e983e86c66b3d8bb7e364e474817db0ee908d42..ee7a93144a7bb7d56a055921cbb871875f26ebcd 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file type_properties_template.h
+/*! \file type_properties.h
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
index 97d7476527e59810e55b1ae6a40a70449f6e361c..e3d62936bab9a6830d2f8fffef288529b950014b 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file base_options_template.cpp
+/*! \file base_options.cpp
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
index 211cb866aa4456129e192304f70b58c285b7f888..97c19930edfaa08232f298860ebeaacd36558731 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file base_options_template.h
+/*! \file base_options.h
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
index 5b2c9a35d49dde80b7ab72750b72a2c21e1feb4d..2d37475f0965a18b66a33fdda9192db49e2e24d7 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file options_holder_template.h
+/*! \file options_holder.h
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
index 97a588414cde6855439e30142e71cf1ea82961ee..560efdfe34d4bc66a5b34fcfa5c6db4cb1fb6df2 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file options_template.cpp
+/*! \file options.cpp
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
index 1b8c97713c6517a36322ac60061c5292c9f0264d..d47ca4d12ce53fa2652c4d1d9940c7ea0345394d 100644 (file)
@@ -68,7 +68,7 @@ protected:
 public:
 
   /** Destructor. */
-  virtual ~InputStream() { 
+  virtual ~InputStream() {
     if( d_fileIsTemporary ) {
       remove(d_name.c_str());
     }
@@ -108,8 +108,8 @@ public:
     * @param filename the input filename
     * @param useMmap true if the parser should use memory-mapped I/O (default: false)
     */
-  static Input* newFileInput(InputLanguage lang, 
-                             const std::string& filename, 
+  static Input* newFileInput(InputLanguage lang,
+                             const std::string& filename,
                              bool useMmap = false)
     throw (InputStreamException, AssertionException);
 
@@ -118,9 +118,12 @@ public:
    * @param lang the input language
    * @param input the input stream
    * @param name the name of the stream, for use in error messages
+   * @param lineBuffered whether this Input should be line-buffered
+   * (false, the default, means that the entire Input might be read
+   * before being lexed and parsed)
    */
-  static Input* newStreamInput(InputLanguage lang, 
-                               std::istream& input, 
+  static Input* newStreamInput(InputLanguage lang,
+                               std::istream& input,
                                const std::string& name,
                                bool lineBuffered = false)
     throw (InputStreamException, AssertionException);
@@ -131,8 +134,8 @@ public:
    * @param input the input string
    * @param name the name of the stream, for use in error messages
    */
-  static Input* newStringInput(InputLanguage lang, 
-                               const std::string& input, 
+  static Input* newStringInput(InputLanguage lang,
+                               const std::string& input,
                                const std::string& name)
     throw (InputStreamException, AssertionException);
 
diff --git a/src/prop/sat_module.cpp b/src/prop/sat_module.cpp
deleted file mode 100644 (file)
index ca41eac..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-/*********************                                                        */
-/*! \file sat.cpp
- ** \verbatim
- ** Original author: cconway
- ** Major contributors: dejan, taking, mdeters, lianah
- ** Minor contributors (to current version): none
- ** This file is part of the CVC4 prototype.
- ** Copyright (c) 2009, 2010, 2011  The Analysis of Computer Systems Group (ACSys)
- ** Courant Institute of Mathematical Sciences
- ** New York University
- ** 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 "prop/prop_engine.h"
-#include "prop/sat_module.h"
-#include "context/context.h"
-#include "theory/theory_engine.h"
-#include "expr/expr_stream.h"
-#include "prop/sat.h"
-
-// DPLLT Minisat
-#include "prop/minisat/simp/SimpSolver.h"
-
-// BV Minisat
-#include "prop/bvminisat/simp/SimpSolver.h"
-
-
-using namespace std; 
-
-namespace CVC4 {
-namespace prop {
-
-string SatLiteral::toString() {
-  ostringstream os;
-  os << (isNegated()? "~" : "") << getSatVariable() << " ";
-  return os.str(); 
-}
-
-MinisatSatSolver::MinisatSatSolver() :
-  d_minisat(new BVMinisat::SimpSolver())
-{
-  d_statistics.init(d_minisat); 
-}
-
-MinisatSatSolver::~MinisatSatSolver() {
-  delete d_minisat; 
-}
-
-void MinisatSatSolver::addClause(SatClause& clause, bool removable) {
-  Debug("sat::minisat") << "Add clause " << clause <<"\n"; 
-  BVMinisat::vec<BVMinisat::Lit> minisat_clause;
-  toMinisatClause(clause, minisat_clause);
-  // for(unsigned i = 0; i < minisat_clause.size(); ++i) {
-  //   d_minisat->setFrozen(BVMinisat::var(minisat_clause[i]), true); 
-  // }
-  d_minisat->addClause(minisat_clause);
-}
-
-SatVariable MinisatSatSolver::newVar(bool freeze){
-  return d_minisat->newVar(true, true, freeze);
-}
-
-void MinisatSatSolver::markUnremovable(SatLiteral lit){
-  d_minisat->setFrozen(BVMinisat::var(toMinisatLit(lit)), true);
-}
-void MinisatSatSolver::interrupt(){
-  d_minisat->interrupt(); 
-}
-
-SatLiteralValue MinisatSatSolver::solve(){
-  return toSatLiteralValue(d_minisat->solve()); 
-}
-
-SatLiteralValue MinisatSatSolver::solve(long unsigned int& resource){
-  Trace("limit") << "MinisatSatSolver::solve(): have limit of " << resource << " conflicts" << std::endl;
-  if(resource == 0) {
-    d_minisat->budgetOff();
-  } else {
-    d_minisat->setConfBudget(resource);
-  }
-  BVMinisat::vec<BVMinisat::Lit> empty;
-  unsigned long conflictsBefore = d_minisat->conflicts;
-  SatLiteralValue result = toSatLiteralValue(d_minisat->solveLimited(empty));
-  d_minisat->clearInterrupt();
-  resource = d_minisat->conflicts - conflictsBefore;
-  Trace("limit") << "<MinisatSatSolver::solve(): it took " << resource << " conflicts" << std::endl;
-  return result;
-}
-
-SatLiteralValue MinisatSatSolver::solve(const context::CDList<SatLiteral> & assumptions){
-  Debug("sat::minisat") << "Solve with assumptions ";
-  context::CDList<SatLiteral>::const_iterator it = assumptions.begin();
-  BVMinisat::vec<BVMinisat::Lit> assump; 
-  for(; it!= assumptions.end(); ++it) {
-    SatLiteral lit = *it;
-    Debug("sat::minisat") << lit <<" "; 
-    assump.push(toMinisatLit(lit)); 
-  }
-  Debug("sat::minisat") <<"\n";
-  
- SatLiteralValue result = toSatLiteralValue(d_minisat->solve(assump));
- return result;
-}
-
-
-void MinisatSatSolver::getUnsatCore(SatClause& unsatCore) {
-  // TODO add assertion to check the call was after an unsat call
-  for (int i = 0; i < d_minisat->conflict.size(); ++i) {
-    unsatCore.push_back(toSatLiteral(d_minisat->conflict[i])); 
-  }
-}
-
-SatLiteralValue MinisatSatSolver::value(SatLiteral l){
-    Unimplemented();
-    return SatValUnknown; 
-}
-
-SatLiteralValue MinisatSatSolver::modelValue(SatLiteral l){
-    Unimplemented();
-    return SatValUnknown; 
-}
-
-void MinisatSatSolver::unregisterVar(SatLiteral lit) {
-  // this should only be called when user context is implemented
-  // in the BVSatSolver 
-  Unreachable();
-}
-
-void MinisatSatSolver::renewVar(SatLiteral lit, int level) {
-  // this should only be called when user context is implemented
-  // in the BVSatSolver 
-
-  Unreachable(); 
-}
-
-int MinisatSatSolver::getAssertionLevel() const {
-  // we have no user context implemented so far
-  return 0;
-}
-
-// converting from internal Minisat representation
-
-SatVariable MinisatSatSolver::toSatVariable(BVMinisat::Var var) {
-  if (var == var_Undef) {
-    return undefSatVariable; 
-  }
-  return SatVariable(var);
-}
-
-BVMinisat::Lit MinisatSatSolver::toMinisatLit(SatLiteral lit) {
-  if (lit == undefSatLiteral) {
-    return BVMinisat::lit_Undef;
-  }
-  return BVMinisat::mkLit(lit.getSatVariable(), lit.isNegated()); 
-}
-
-SatLiteral MinisatSatSolver::toSatLiteral(BVMinisat::Lit lit) {
-  if (lit == BVMinisat::lit_Undef) {
-    return undefSatLiteral; 
-  }
-  
-  return SatLiteral(SatVariable(BVMinisat::var(lit)),
-                    BVMinisat::sign(lit)); 
-}
-
-SatLiteralValue MinisatSatSolver::toSatLiteralValue(bool res) {
-  if(res) return SatValTrue;
-  else return SatValFalse; 
-}
-
-SatLiteralValue MinisatSatSolver::toSatLiteralValue(BVMinisat::lbool res) {
-  if(res == (BVMinisat::lbool((uint8_t)0))) return SatValTrue;
-  if(res == (BVMinisat::lbool((uint8_t)2))) return SatValUnknown;
-  Assert(res == (BVMinisat::lbool((uint8_t)1)));
-  return SatValFalse; 
-}
-
-void MinisatSatSolver::toMinisatClause(SatClause& clause,
-                                           BVMinisat::vec<BVMinisat::Lit>& minisat_clause) {
-  for (unsigned i = 0; i < clause.size(); ++i) {
-    minisat_clause.push(toMinisatLit(clause[i])); 
-  }
-  Assert(clause.size() == (unsigned)minisat_clause.size()); 
-}
-
-void MinisatSatSolver::toSatClause(BVMinisat::vec<BVMinisat::Lit>& clause,
-                                       SatClause& sat_clause) {
-  for (int i = 0; i < clause.size(); ++i) {
-    sat_clause.push_back(toSatLiteral(clause[i])); 
-  }
-  Assert((unsigned)clause.size() == sat_clause.size()); 
-}
-
-
-// Satistics for MinisatSatSolver
-
-MinisatSatSolver::Statistics::Statistics() :
-  d_statStarts("theory::bv::bvminisat::starts"),
-  d_statDecisions("theory::bv::bvminisat::decisions"),
-  d_statRndDecisions("theory::bv::bvminisat::rnd_decisions"),
-  d_statPropagations("theory::bv::bvminisat::propagations"),
-  d_statConflicts("theory::bv::bvminisat::conflicts"),
-  d_statClausesLiterals("theory::bv::bvminisat::clauses_literals"),
-  d_statLearntsLiterals("theory::bv::bvminisat::learnts_literals"),
-  d_statMaxLiterals("theory::bv::bvminisat::max_literals"),
-  d_statTotLiterals("theory::bv::bvminisat::tot_literals"),
-  d_statEliminatedVars("theory::bv::bvminisat::eliminated_vars")
-{
-  StatisticsRegistry::registerStat(&d_statStarts);
-  StatisticsRegistry::registerStat(&d_statDecisions);
-  StatisticsRegistry::registerStat(&d_statRndDecisions);
-  StatisticsRegistry::registerStat(&d_statPropagations);
-  StatisticsRegistry::registerStat(&d_statConflicts);
-  StatisticsRegistry::registerStat(&d_statClausesLiterals);
-  StatisticsRegistry::registerStat(&d_statLearntsLiterals);
-  StatisticsRegistry::registerStat(&d_statMaxLiterals);
-  StatisticsRegistry::registerStat(&d_statTotLiterals);
-  StatisticsRegistry::registerStat(&d_statEliminatedVars);
-}
-
-MinisatSatSolver::Statistics::~Statistics() {
-  StatisticsRegistry::unregisterStat(&d_statStarts);
-  StatisticsRegistry::unregisterStat(&d_statDecisions);
-  StatisticsRegistry::unregisterStat(&d_statRndDecisions);
-  StatisticsRegistry::unregisterStat(&d_statPropagations);
-  StatisticsRegistry::unregisterStat(&d_statConflicts);
-  StatisticsRegistry::unregisterStat(&d_statClausesLiterals);
-  StatisticsRegistry::unregisterStat(&d_statLearntsLiterals);
-  StatisticsRegistry::unregisterStat(&d_statMaxLiterals);
-  StatisticsRegistry::unregisterStat(&d_statTotLiterals);
-  StatisticsRegistry::unregisterStat(&d_statEliminatedVars);
-}
-    
-void MinisatSatSolver::Statistics::init(BVMinisat::SimpSolver* minisat){
-  d_statStarts.setData(minisat->starts);
-  d_statDecisions.setData(minisat->decisions);
-  d_statRndDecisions.setData(minisat->rnd_decisions);
-  d_statPropagations.setData(minisat->propagations);
-  d_statConflicts.setData(minisat->conflicts);
-  d_statClausesLiterals.setData(minisat->clauses_literals);
-  d_statLearntsLiterals.setData(minisat->learnts_literals);
-  d_statMaxLiterals.setData(minisat->max_literals);
-  d_statTotLiterals.setData(minisat->tot_literals);
-  d_statEliminatedVars.setData(minisat->eliminated_vars);
-}
-
-
-
-//// DPllMinisatSatSolver
-
-DPLLMinisatSatSolver::DPLLMinisatSatSolver() :
-  d_minisat(NULL), 
-  d_theoryProxy(NULL),
-  d_context(NULL)
-{}
-
-DPLLMinisatSatSolver::~DPLLMinisatSatSolver() {
-  delete d_minisat; 
-}
-
-SatVariable DPLLMinisatSatSolver::toSatVariable(Minisat::Var var) {
-  if (var == var_Undef) {
-    return undefSatVariable; 
-  }
-  return SatVariable(var);
-}
-
-Minisat::Lit DPLLMinisatSatSolver::toMinisatLit(SatLiteral lit) {
-  if (lit == undefSatLiteral) {
-    return Minisat::lit_Undef;
-  }
-  return Minisat::mkLit(lit.getSatVariable(), lit.isNegated()); 
-}
-
-SatLiteral DPLLMinisatSatSolver::toSatLiteral(Minisat::Lit lit) {
-  if (lit == Minisat::lit_Undef) {
-    return undefSatLiteral; 
-  }
-  
-  return SatLiteral(SatVariable(Minisat::var(lit)),
-                    Minisat::sign(lit)); 
-}
-
-SatLiteralValue DPLLMinisatSatSolver::toSatLiteralValue(bool res) {
-  if(res) return SatValTrue;
-  else return SatValFalse; 
-}
-
-SatLiteralValue DPLLMinisatSatSolver::toSatLiteralValue(Minisat::lbool res) {
-  if(res == (Minisat::lbool((uint8_t)0))) return SatValTrue;
-  if(res == (Minisat::lbool((uint8_t)2))) return SatValUnknown;
-  Assert(res == (Minisat::lbool((uint8_t)1)));
-  return SatValFalse; 
-}
-
-
-void DPLLMinisatSatSolver::toMinisatClause(SatClause& clause,
-                                           Minisat::vec<Minisat::Lit>& minisat_clause) {
-  for (unsigned i = 0; i < clause.size(); ++i) {
-    minisat_clause.push(toMinisatLit(clause[i])); 
-  }
-  Assert(clause.size() == (unsigned)minisat_clause.size()); 
-}
-
-void DPLLMinisatSatSolver::toSatClause(Minisat::vec<Minisat::Lit>& clause,
-                                       SatClause& sat_clause) {
-  for (int i = 0; i < clause.size(); ++i) {
-    sat_clause.push_back(toSatLiteral(clause[i])); 
-  }
-  Assert((unsigned)clause.size() == sat_clause.size()); 
-}
-
-
-void DPLLMinisatSatSolver::initialize(context::Context* context, TheoryProxy* theoryProxy)
-{
-
-  d_context = context;
-  
-  // Create the solver
-  d_minisat = new Minisat::SimpSolver(theoryProxy, d_context,
-                                      options::incrementalSolving());
-  // Setup the verbosity
-  d_minisat->verbosity = (options::verbosity() > 0) ? 1 : -1;
-
-  // Setup the random decision parameters
-  d_minisat->random_var_freq = options::satRandomFreq();
-  d_minisat->random_seed = options::satRandomSeed();
-  // Give access to all possible options in the sat solver
-  d_minisat->var_decay = options::satVarDecay();
-  d_minisat->clause_decay = options::satClauseDecay();
-  d_minisat->restart_first = options::satRestartFirst();
-  d_minisat->restart_inc = options::satRestartInc();
-
-  d_statistics.init(d_minisat);
-}
-
-void DPLLMinisatSatSolver::addClause(SatClause& clause, bool removable) {
-  Minisat::vec<Minisat::Lit> minisat_clause;
-  toMinisatClause(clause, minisat_clause); 
-  d_minisat->addClause(minisat_clause, removable);
-}
-
-SatVariable DPLLMinisatSatSolver::newVar(bool theoryAtom) {
-  return d_minisat->newVar(true, true, theoryAtom);
-}
-
-  
-SatLiteralValue DPLLMinisatSatSolver::solve(unsigned long& resource) {
-  Trace("limit") << "SatSolver::solve(): have limit of " << resource << " conflicts" << std::endl;
-  if(resource == 0) {
-    d_minisat->budgetOff();
-  } else {
-    d_minisat->setConfBudget(resource);
-  }
-  Minisat::vec<Minisat::Lit> empty;
-  unsigned long conflictsBefore = d_minisat->conflicts;
-  SatLiteralValue result = toSatLiteralValue(d_minisat->solveLimited(empty));
-  d_minisat->clearInterrupt();
-  resource = d_minisat->conflicts - conflictsBefore;
-  Trace("limit") << "SatSolver::solve(): it took " << resource << " conflicts" << std::endl;
-  return result;
-}
-
-SatLiteralValue DPLLMinisatSatSolver::solve() {
-  d_minisat->budgetOff();
-  return toSatLiteralValue(d_minisat->solve()); 
-}
-
-
-void DPLLMinisatSatSolver::interrupt() {
-  d_minisat->interrupt();
-}
-
-SatLiteralValue DPLLMinisatSatSolver::value(SatLiteral l) {
-  return toSatLiteralValue(d_minisat->value(toMinisatLit(l)));
-}
-
-SatLiteralValue DPLLMinisatSatSolver::modelValue(SatLiteral l){
-  return toSatLiteralValue(d_minisat->modelValue(toMinisatLit(l)));
-}
-
-bool DPLLMinisatSatSolver::properExplanation(SatLiteral lit, SatLiteral expl) const {
-  return true;
-}
-
-/** Incremental interface */ 
-  
-int DPLLMinisatSatSolver::getAssertionLevel() const {
-  return d_minisat->getAssertionLevel(); 
-}
-  
-void DPLLMinisatSatSolver::push() {
-  d_minisat->push();
-}
-
-void DPLLMinisatSatSolver::pop(){
-  d_minisat->pop();
-}
-
-void DPLLMinisatSatSolver::unregisterVar(SatLiteral lit) {
-  d_minisat->unregisterVar(toMinisatLit(lit));
-}
-
-void DPLLMinisatSatSolver::renewVar(SatLiteral lit, int level) {
-  d_minisat->renewVar(toMinisatLit(lit), level);
-}
-
-/// Statistics for DPLLMinisatSatSolver
-
-DPLLMinisatSatSolver::Statistics::Statistics() :
-  d_statStarts("sat::starts"),
-  d_statDecisions("sat::decisions"),
-  d_statRndDecisions("sat::rnd_decisions"),
-  d_statPropagations("sat::propagations"),
-  d_statConflicts("sat::conflicts"),
-  d_statClausesLiterals("sat::clauses_literals"),
-  d_statLearntsLiterals("sat::learnts_literals"),
-  d_statMaxLiterals("sat::max_literals"),
-  d_statTotLiterals("sat::tot_literals")
-{
-  StatisticsRegistry::registerStat(&d_statStarts);
-  StatisticsRegistry::registerStat(&d_statDecisions);
-  StatisticsRegistry::registerStat(&d_statRndDecisions);
-  StatisticsRegistry::registerStat(&d_statPropagations);
-  StatisticsRegistry::registerStat(&d_statConflicts);
-  StatisticsRegistry::registerStat(&d_statClausesLiterals);
-  StatisticsRegistry::registerStat(&d_statLearntsLiterals);
-  StatisticsRegistry::registerStat(&d_statMaxLiterals);
-  StatisticsRegistry::registerStat(&d_statTotLiterals);
-}
-DPLLMinisatSatSolver::Statistics::~Statistics() {
-  StatisticsRegistry::unregisterStat(&d_statStarts);
-  StatisticsRegistry::unregisterStat(&d_statDecisions);
-  StatisticsRegistry::unregisterStat(&d_statRndDecisions);
-  StatisticsRegistry::unregisterStat(&d_statPropagations);
-  StatisticsRegistry::unregisterStat(&d_statConflicts);
-  StatisticsRegistry::unregisterStat(&d_statClausesLiterals);
-  StatisticsRegistry::unregisterStat(&d_statLearntsLiterals);
-  StatisticsRegistry::unregisterStat(&d_statMaxLiterals);
-  StatisticsRegistry::unregisterStat(&d_statTotLiterals);
-}
-void DPLLMinisatSatSolver::Statistics::init(Minisat::SimpSolver* d_minisat){
-  d_statStarts.setData(d_minisat->starts);
-  d_statDecisions.setData(d_minisat->decisions);
-  d_statRndDecisions.setData(d_minisat->rnd_decisions);
-  d_statPropagations.setData(d_minisat->propagations);
-  d_statConflicts.setData(d_minisat->conflicts);
-  d_statClausesLiterals.setData(d_minisat->clauses_literals);
-  d_statLearntsLiterals.setData(d_minisat->learnts_literals);
-  d_statMaxLiterals.setData(d_minisat->max_literals);
-  d_statTotLiterals.setData(d_minisat->tot_literals);
-}
-
-
-/*
-  
-  SatSolverFactory
-  
- */
-
-MinisatSatSolver* SatSolverFactory::createMinisat() {
-  return new MinisatSatSolver(); 
-}
-
-DPLLMinisatSatSolver* SatSolverFactory::createDPLLMinisat(){
-  return new DPLLMinisatSatSolver(); 
-} 
-
-
-}/* CVC4::prop namespace */
-}/* CVC4 namespace */
index d2e967393e7960787ac6b76f25e1c4894c89ec4e..567f897a1a49a2224c5aa742c6bc6c166a635f1c 100644 (file)
@@ -18,8 +18,8 @@
 
 #include "cvc4_private.h"
 
-#ifndef __CVC4__PROP__SAT_MODULE_H
-#define __CVC4__PROP__SAT_MODULE_H
+#ifndef __CVC4__PROP__SAT_SOLVER_H
+#define __CVC4__PROP__SAT_SOLVER_H
 
 #include <string>
 #include <stdint.h>
 namespace CVC4 {
 namespace prop {
 
-class TheoryProxy; 
+class TheoryProxy;
 
 class SatSolver {
 
-public:  
+public:
 
   /** Virtual destructor */
   virtual ~SatSolver() { }
-  
+
   /** Assert a clause in the solver. */
   virtual void addClause(SatClause& clause, bool removable) = 0;
 
   /** Create a new boolean variable in the solver. */
   virtual SatVariable newVar(bool theoryAtom = false) = 0;
+
   /** Create a new (or return an existing) boolean variable representing the constant true */
   virtual SatVariable trueVar() = 0;
 
@@ -56,7 +56,7 @@ public:
 
   /** Check the satisfiability of the added clauses */
   virtual SatValue solve(long unsigned int&) = 0;
-  
+
   /** Interrupt the solver */
   virtual void interrupt() = 0;
 
@@ -67,12 +67,12 @@ public:
   virtual SatValue modelValue(SatLiteral l) = 0;
 
   virtual void unregisterVar(SatLiteral lit) = 0;
-  
+
   virtual void renewVar(SatLiteral lit, int level = -1) = 0;
 
   virtual unsigned getAssertionLevel() const = 0;
 
-};
+};/* class SatSolver */
 
 
 class BVSatSolverInterface: public SatSolver {
@@ -94,30 +94,31 @@ public:
      * Notify about a learnt clause.
      */
     virtual void notify(SatClause& clause) = 0;
-  };
+  };/* class BVSatSolverInterface::Notify */
+
+  virtual void setNotify(Notify* notify) = 0;
 
-  virtual void setNotify(Notify* notify) = 0; 
-  
   virtual void markUnremovable(SatLiteral lit) = 0;
 
-  virtual void getUnsatCore(SatClause& unsatCore) = 0; 
+  virtual void getUnsatCore(SatClause& unsatCore) = 0;
 
-  virtual void addMarkerLiteral(SatLiteral lit) = 0; 
+  virtual void addMarkerLiteral(SatLiteral lit) = 0;
 
   virtual SatValue propagate() = 0;
 
   virtual void explain(SatLiteral lit, std::vector<SatLiteral>& explanation) = 0;
 
-  virtual SatValue assertAssumption(SatLiteral lit, bool propagate = false) = 0; 
+  virtual SatValue assertAssumption(SatLiteral lit, bool propagate = false) = 0;
 
   virtual void popAssumption() = 0;
-}; 
+
+};/* class BVSatSolverInterface */
 
 
 class DPLLSatSolverInterface: public SatSolver {
 public:
-  virtual void initialize(context::Context* context, prop::TheoryProxy* theoryProxy) = 0; 
-  
+  virtual void initialize(context::Context* context, prop::TheoryProxy* theoryProxy) = 0;
+
   virtual void push() = 0;
 
   virtual void pop() = 0;
@@ -130,9 +131,9 @@ public:
 
   virtual bool isDecision(SatVariable decn) const = 0;
 
-}; 
+};/* class DPLLSatSolverInterface */
 
-}/* prop namespace */
+}/* CVC4::prop namespace */
 
 inline std::ostream& operator <<(std::ostream& out, prop::SatLiteral lit) {
   out << lit.toString();
index 1af029f170ec7526e72da4eb70e05336163be008..deec881e4d5965ba78d013fe21ba7f05a820f96b 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file smt_options_template.cpp
+/*! \file smt_options.cpp
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
index 8cfdab5afbc3a14aa7a4bfa20f6393e333b89012..80b689b8c3fb30156c1b85d1d38be58bf8bf8ba0 100644 (file)
@@ -100,7 +100,7 @@ void inline makeZero(Bits& bits, unsigned width) {
  * 
  * @param a first term to be added
  * @param b second term to be added
- * @param sum the sum 
+ * @param res the result
  * @param carry the carry-in bit 
  * 
  * @return the carry-out
index 826b61d4f5ccb057b4bb3cb27ef4180455322071..5b53678dd712435d8c8bb4aa0ab27237e7254326 100644 (file)
@@ -41,7 +41,6 @@ typedef std::vector<Node>    Bits;
  * Default Atom Bitblasting strategies: 
  * 
  * @param node the atom to be bitblasted
- * @param markerLit the marker literal corresponding to the atom
  * @param bb the bitblaster
  */
 
@@ -68,9 +67,8 @@ Node SleBB(TNode node, Bitblaster* bb);
  * Default Term Bitblasting strategies
  * 
  * @param node the term to be bitblasted
+ * @param bits [output parameter] bits representing the new term 
  * @param bb the bitblaster in which the clauses are added
- * 
- * @return the bits representing the new term 
  */
 
 void UndefinedTermBBStrategy(TNode node, Bits& bits, Bitblaster* bb); 
index c86f143983a1ebfcebfdf9531489715d222c2408..eb5f3e155051cd12bd8b6e964315e78cf587573a 100644 (file)
@@ -170,7 +170,7 @@ void Bitblaster::explain(TNode atom, std::vector<TNode>& explanation) {
 /** 
  * Asserts the clauses corresponding to the atom to the Sat Solver
  * by turning on the marker literal (i.e. setting it to false)
- * @param node the atom to be aserted
+ * @param node the atom to be asserted
  * 
  */
  
index 7a78c3aae1b6ce97fe63ec03b947ceffb4c2490e..7234993fa971a82a82384536270b1b5a10593c1a 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file instantiator_tables_template.cpp
+/*! \file instantiator_tables.cpp
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
index 9ab98168e8fe3d6cd0fd9c721495686bcd80287e..6533e9335150bd607a7ba21d6889530335136a89 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file rewriter_tables_template.h
+/*! \file rewriter_tables.h
  ** \verbatim
  ** Original author: dejan
  ** Major contributors: mdeters
index bbf13b425c1422a071ba9e7961f9ee180b69e1ec..4522af568efd08d1ce987b08f38d17d835f7514d 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file theory_traits_template.h
+/*! \file theory_traits.h
  ** \verbatim
  ** Original author: dejan
  ** Major contributors: mdeters
@@ -27,7 +27,6 @@
 ${theory_includes}
 
 namespace CVC4 {
-
 namespace theory {
 
 template <TheoryId theoryId>
@@ -37,5 +36,5 @@ ${theory_traits}
 
 ${theory_for_each_macro}
 
-}/* theory namespace */
+}/* CVC4::theory namespace */
 }/* CVC4 namespace */
index 426bf52a014461ed8c352ccc5015c5dbaceb0e3b..0619a900f20db21259c903f45056f3fb4e08bc36 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file type_enumerator_template.cpp
+/*! \file type_enumerator.cpp
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none
@@ -58,4 +58,3 @@ ${mk_type_enumerator_cases}
 
 }/* CVC4::theory namespace */
 }/* CVC4 namespace */
-
index 7f216d634599397db492f3f9de057f25d0ff5507..1e3b276a4d4306f9f154506fdc3eda19f135c5b2 100644 (file)
@@ -58,7 +58,7 @@ public:
   /**
    * Notifies about a trigger equality that became true or false.
    *
-   * @param eq the equality that became true or false
+   * @param equality the equality that became true or false
    * @param value the value of the equality
    */
   virtual bool eqNotifyTriggerEquality(TNode equality, bool value) = 0;
@@ -680,13 +680,13 @@ public:
 
   /**
    * Adds a predicate p with given polarity. The predicate asserted
-   * should be in the congruence closure kinds (otherwise it's 
+   * should be in the congruence closure kinds (otherwise it's
    * useless.
    *
    * @param p the (non-negated) predicate
-   * @param polarity true if asserting the predicate, false if 
+   * @param polarity true if asserting the predicate, false if
    *                 asserting the negated predicate
-   * @param the reason to keep for building explanations
+   * @param reason the reason to keep for building explanations
    */
   void assertPredicate(TNode p, bool polarity, TNode reason);
 
@@ -694,9 +694,9 @@ public:
    * Adds an equality eq with the given polarity to the database.
    *
    * @param eq the (non-negated) equality
-   * @param polarity true if asserting the equality, false if 
+   * @param polarity true if asserting the equality, false if
    *                 asserting the negated equality
-   * @param the reason to keep for building explanations
+   * @param reason the reason to keep for building explanations
    */
   void assertEquality(TNode eq, bool polarity, TNode reason);
 
@@ -706,20 +706,20 @@ public:
   TNode getRepresentative(TNode t) const;
 
   /**
-   * Add all the terms where the given term appears as a first child 
+   * Add all the terms where the given term appears as a first child
    * (directly or implicitly).
    */
   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 begin true of false.
    * Returns the reasons (added when asserting) that imply it
    * in the assertions vector.
    */
   void explainEquality(TNode t1, TNode t2, bool polarity, std::vector<TNode>& assertions) const;
 
   /**
-   * Get an explanation of the predicate being true or false. 
+   * Get an explanation of the predicate being true or false.
    * Returns the reasons (added when asserting) that imply imply it
    * in the assertions vector.
    */
@@ -733,12 +733,12 @@ public:
    * it's own notification.
    *
    * @param t the trigger term
-   * @param tag tag for this trigger (do NOT use THEORY_LAST)
+   * @param theoryTag tag for this trigger (do NOT use THEORY_LAST)
    */
   void addTriggerTerm(TNode t, TheoryId theoryTag);
 
   /**
-   * Returns true if t is a trigger term or in the same equivalence 
+   * Returns true if t is a trigger term or in the same equivalence
    * class as some other trigger term.
    */
   bool isTriggerTerm(TNode t, TheoryId theoryTag) const;
index 30bdea78dd87312c6a5f2dd0eb60dc23ec277300..81a2910065e59666484543c49941ab396f92cd7c 100644 (file)
@@ -165,7 +165,7 @@ public:
   /**
    * Returns true iff this cardinality is finite and large (i.e.,
    * at the ceiling of representable finite cardinalities).
. */
  */
   bool isLargeFinite() const throw() {
     return d_card >= s_largeFiniteCard;
   }
index b2973081dd577655e6fcaa4cea394b18e5996b9e..1fdaf0215acc072c55b364f1c4fca3c9b025e49b 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file integer.h.in
+/*! \file integer.h
  ** \verbatim
  ** Original author: taking
  ** Major contributors: none
index 17c1e31fcd846d910c104d964682b38c6b0a5376..f9755937762cb2980f6429b27c95fe47813077e1 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file rational.h.in
+/*! \file rational.h
  ** \verbatim
  ** Original author: taking
  ** Major contributors: none
index df53cae36741d629900b317005e4d1daf0359c2e..cd89be9d0bd68caef428fed1ca77f840aa30db68 100644 (file)
@@ -1,5 +1,5 @@
 /*********************                                                        */
-/*! \file tls.h.in
+/*! \file tls.h
  ** \verbatim
  ** Original author: mdeters
  ** Major contributors: none