From 45a138c326da72890bf889a3670aad503ef4aa1e Mon Sep 17 00:00:00 2001 From: Morgan Deters Date: Thu, 1 Mar 2012 14:48:04 +0000 Subject: Partial merge from kind-backend branch, including Minisat and CNF work to support incrementality. Some clean-up work will likely follow, but the CNF/Minisat stuff should be left pretty much untouched. Expected performance change negligible; slightly better on memory: http://church.cims.nyu.edu/regress-results/compare_jobs.php?job_id=3705&reference_id=3697&mode=&category=&p=5 Note that there are crashes, but that these are exhibited in the nightly regression run too! --- src/prop/sat_module.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/prop/sat_module.h') diff --git a/src/prop/sat_module.h b/src/prop/sat_module.h index 320dfe09b..9c49c7d67 100644 --- a/src/prop/sat_module.h +++ b/src/prop/sat_module.h @@ -152,6 +152,8 @@ public: virtual void pop() = 0; + virtual bool properExplanation(SatLiteral lit, SatLiteral expl) const = 0; + }; // toodo add ifdef @@ -179,11 +181,11 @@ public: SatLiteralValue value(SatLiteral l); SatLiteralValue modelValue(SatLiteral l); - void unregisterVar(SatLiteral lit); void renewVar(SatLiteral lit, int level = -1); int getAssertionLevel() const; + // helper methods for converting from the internal Minisat representation static SatVariable toSatVariable(BVMinisat::Var var); @@ -254,6 +256,8 @@ public: SatLiteralValue modelValue(SatLiteral l); + bool properExplanation(SatLiteral lit, SatLiteral expl) const; + /** Incremental interface */ int getAssertionLevel() const; -- cgit v1.2.3