summaryrefslogtreecommitdiff
path: root/src/prop/minisat/minisat.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/prop/minisat/minisat.h')
-rw-r--r--src/prop/minisat/minisat.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/prop/minisat/minisat.h b/src/prop/minisat/minisat.h
index 42588080d..74b7ab749 100644
--- a/src/prop/minisat/minisat.h
+++ b/src/prop/minisat/minisat.h
@@ -58,6 +58,8 @@ class MinisatSatSolver : public CDCLTSatSolverInterface
SatValue solve() override;
SatValue solve(long unsigned int&) override;
+ SatValue solve(const std::vector<SatLiteral>& assumptions) override;
+ void getUnsatAssumptions(std::vector<SatLiteral>& unsat_assumptions) override;
bool ok() const override;
@@ -100,6 +102,14 @@ class MinisatSatSolver : public CDCLTSatSolverInterface
/** Context we will be using to synchronize the sat solver */
context::Context* d_context;
+ /**
+ * Stores assumptions passed via last solve() call.
+ *
+ * It is used in getUnsatAssumptions() to determine which of the literals in
+ * the final conflict clause are assumptions.
+ */
+ std::unordered_set<SatLiteral, SatLiteralHashFunction> d_assumptions;
+
void setupOptions();
class Statistics {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback