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/sat_solver.h | |
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/sat_solver.h')
-rw-r--r-- | src/prop/sat_solver.h | 10 |
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; |