diff options
author | Dejan Jovanović <dejan@cs.nyu.edu> | 2013-04-03 17:55:58 -0400 |
---|---|---|
committer | Dejan Jovanović <dejan@cs.nyu.edu> | 2013-04-03 17:55:58 -0400 |
commit | bb6c74a7bb306de8b7c5d7e9701b3524eda68f4a (patch) | |
tree | 17482f7fcc4f5af3ae46c9428e942f05f7f8abf8 /src/prop/minisat/simp | |
parent | 62748da1e72dbcc5c6daef88ad899706de8ae7db (diff) |
* changing the bitblast-eager to bitblast on pre-register
* the newVar interface of the sat solver now changed to include (isTheoryLiteral, preRegister, canEliminate)
* when bitblast-eager all bv atoms are (theory=false, prereg = true, canelim = true)
* bitblast-eager implies decision=internal
Diffstat (limited to 'src/prop/minisat/simp')
-rw-r--r-- | src/prop/minisat/simp/SimpSolver.cc | 6 | ||||
-rw-r--r-- | src/prop/minisat/simp/SimpSolver.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/prop/minisat/simp/SimpSolver.cc b/src/prop/minisat/simp/SimpSolver.cc index ed2dc04b9..9c3e59954 100644 --- a/src/prop/minisat/simp/SimpSolver.cc +++ b/src/prop/minisat/simp/SimpSolver.cc @@ -95,11 +95,11 @@ SimpSolver::~SimpSolver() } -Var SimpSolver::newVar(bool sign, bool dvar, bool theoryAtom) { - Var v = Solver::newVar(sign, dvar,theoryAtom); +Var SimpSolver::newVar(bool sign, bool dvar, bool isTheoryAtom, bool preRegister, bool canErase) { + Var v = Solver::newVar(sign, dvar, isTheoryAtom, preRegister, canErase); if (use_simplification){ - frozen .push((char)theoryAtom); + frozen .push((char)(!canErase)); eliminated.push((char)false); n_occ .push(0); n_occ .push(0); diff --git a/src/prop/minisat/simp/SimpSolver.h b/src/prop/minisat/simp/SimpSolver.h index e9116001f..878d799a5 100644 --- a/src/prop/minisat/simp/SimpSolver.h +++ b/src/prop/minisat/simp/SimpSolver.h @@ -46,7 +46,7 @@ class SimpSolver : public Solver { // Problem specification: // - Var newVar (bool polarity = true, bool dvar = true, bool theoryAtom = false); + Var newVar (bool polarity = true, bool dvar = true, bool isTheoryAtom = false, bool preRegister = false, bool canErase = true); bool addClause (const vec<Lit>& ps, bool removable); bool addEmptyClause(bool removable); // Add the empty clause to the solver. bool addClause (Lit p, bool removable); // Add a unit clause to the solver. |