diff options
author | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2012-05-09 21:25:17 +0000 |
---|---|---|
committer | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2012-05-09 21:25:17 +0000 |
commit | 1ce0650dcf8ce30424b546deb540974cc510c215 (patch) | |
tree | 74a9985463234fc9adfed2de209c134ed7da359b /src/prop/sat_solver.h | |
parent | 690fb2843d9845e405fee54eb2d8023eebbd5b72 (diff) |
* simplifying equality engine interface
* notifications are now through the interface subclass instead of a template
* notifications include constants being merged
* changed contextNotifyObj::notify to contextNotifyObj::contextNotifyPop so it's more descriptive and doesn't clutter methods when subclassed
* sat solver now has explicit methods to make true and false constants
* 0-level literals are removed from explanations of propagations
Diffstat (limited to 'src/prop/sat_solver.h')
-rw-r--r-- | src/prop/sat_solver.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/prop/sat_solver.h b/src/prop/sat_solver.h index 898709c43..2865f2cb5 100644 --- a/src/prop/sat_solver.h +++ b/src/prop/sat_solver.h @@ -46,6 +46,12 @@ public: /** 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; + + /** Create a new (or return an existing) boolean variable representing the constant false */ + virtual SatVariable falseVar() = 0; + /** Check the satisfiability of the added clauses */ virtual SatValue solve() = 0; |