summaryrefslogtreecommitdiff
path: root/src/prop/sat_solver.h
diff options
context:
space:
mode:
authorDejan Jovanović <dejan@cs.nyu.edu>2013-04-03 17:55:58 -0400
committerDejan Jovanović <dejan@cs.nyu.edu>2013-04-03 17:55:58 -0400
commitbb6c74a7bb306de8b7c5d7e9701b3524eda68f4a (patch)
tree17482f7fcc4f5af3ae46c9428e942f05f7f8abf8 /src/prop/sat_solver.h
parent62748da1e72dbcc5c6daef88ad899706de8ae7db (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/sat_solver.h')
-rw-r--r--src/prop/sat_solver.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/prop/sat_solver.h b/src/prop/sat_solver.h
index d55788298..18a1dcf68 100644
--- a/src/prop/sat_solver.h
+++ b/src/prop/sat_solver.h
@@ -40,8 +40,14 @@ public:
/** 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 boolean variable in the solver.
+ * @param isTheoryAtom is this a theory atom that needs to be asserted to theory
+ * @param preRegister whether to preregister the atom with the theory
+ * @param canErase whether the sat solver can safely eliminate this variable
+ *
+ */
+ virtual SatVariable newVar(bool isTheoryAtom, bool preRegister, bool canErase) = 0;
/** Create a new (or return an existing) boolean variable representing the constant true */
virtual SatVariable trueVar() = 0;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback