diff options
author | Tim King <taking@cs.nyu.edu> | 2010-06-29 20:53:47 +0000 |
---|---|---|
committer | Tim King <taking@cs.nyu.edu> | 2010-06-29 20:53:47 +0000 |
commit | e792bb8628ea7010fa9c452bf1aa7ba1b60291a3 (patch) | |
tree | ddc12f92092627b7aee2a63dca8dd66279b2970e /src/prop/sat.h | |
parent | e7e9c10006b5b243a73832ed97c5dec79df6c90a (diff) |
Merging the unate-propagator branch into the trunk. This is a big update so expect a little turbulence. This commit will not compile. There will be a second commit that fixes this in a moment. I am delaying a change to avoid svn whining about a conflict.
Diffstat (limited to 'src/prop/sat.h')
-rw-r--r-- | src/prop/sat.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/prop/sat.h b/src/prop/sat.h index f64697d7b..992d8ecd2 100644 --- a/src/prop/sat.h +++ b/src/prop/sat.h @@ -27,6 +27,7 @@ #include "util/options.h" #include "util/stats.h" +#include "theory/theory.h" #ifdef __CVC4_USE_MINISAT @@ -199,7 +200,13 @@ public: SatVariable newVar(bool theoryAtom = false); - void theoryCheck(SatClause& conflict); + void theoryCheck(theory::Theory::Effort effort, SatClause& conflict); + + void explainPropagation(SatLiteral l, SatClause& explanation); + + void theoryPropagate(std::vector<SatLiteral>& output); + + void clearPropagatedLiterals(); void enqueueTheoryLiteral(const SatLiteral& l); @@ -229,6 +236,11 @@ inline SatSolver::SatSolver(PropEngine* propEngine, TheoryEngine* theoryEngine, // Make minisat reuse the literal values d_minisat->polarity_mode = minisat::SimpSolver::polarity_user; + // No random choices + if(debugTagIsOn("no_rnd_decisions")){ + d_minisat->random_var_freq = 0; + } + d_statistics.init(d_minisat); } |