summaryrefslogtreecommitdiff
path: root/src/prop/minisat/core/Solver.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/prop/minisat/core/Solver.cc')
-rw-r--r--src/prop/minisat/core/Solver.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/prop/minisat/core/Solver.cc b/src/prop/minisat/core/Solver.cc
index 36f31eba9..a82ab5e06 100644
--- a/src/prop/minisat/core/Solver.cc
+++ b/src/prop/minisat/core/Solver.cc
@@ -145,12 +145,14 @@ class ScopedBool
//=================================================================================================
// Constructor/Destructor:
-Solver::Solver(cvc5::prop::TheoryProxy* proxy,
+Solver::Solver(Env& env,
+ cvc5::prop::TheoryProxy* proxy,
cvc5::context::Context* context,
cvc5::context::UserContext* userContext,
ProofNodeManager* pnm,
bool enableIncremental)
- : d_proxy(proxy),
+ : EnvObj(env),
+ d_proxy(proxy),
d_context(context),
assertionLevel(0),
d_pfManager(nullptr),
@@ -454,7 +456,7 @@ bool Solver::addClause_(vec<Lit>& ps, bool removable, ClauseId& id)
// If a literal is false at 0 level (both sat and user level) we also
// ignore it, unless we are tracking the SAT solver's reasoning
if (value(ps[i]) == l_False) {
- if (!options::unsatCores() && !needProof() && level(var(ps[i])) == 0
+ if (!options().smt.unsatCores && !needProof() && level(var(ps[i])) == 0
&& user_level(var(ps[i])) == 0)
{
continue;
@@ -489,7 +491,7 @@ bool Solver::addClause_(vec<Lit>& ps, bool removable, ClauseId& id)
// If all false, we're in conflict
if (ps.size() == falseLiteralsCount) {
- if (options::unsatCores() || needProof())
+ if (options().smt.unsatCores || needProof())
{
// Take care of false units here; otherwise, we need to
// construct the clause below to give to the proof manager
@@ -520,7 +522,7 @@ bool Solver::addClause_(vec<Lit>& ps, bool removable, ClauseId& id)
clauses_persistent.push(cr);
attachClause(cr);
- if (options::unsatCores() || needProof())
+ if (options().smt.unsatCores || needProof())
{
if (ps.size() == falseLiteralsCount)
{
@@ -2043,7 +2045,7 @@ CRef Solver::updateLemmas() {
// If it's an empty lemma, we have a conflict at zero level
if (lemma.size() == 0) {
- Assert(!options::unsatCores() && !needProof());
+ Assert(!options().smt.unsatCores && !needProof());
conflict = CRef_Lazy;
backtrackLevel = 0;
Debug("minisat::lemmas") << "Solver::updateLemmas(): found empty clause" << std::endl;
@@ -2189,8 +2191,8 @@ bool Solver::isProofEnabled() const { return d_pfManager != nullptr; }
bool Solver::needProof() const
{
return isProofEnabled()
- && options::unsatCoresMode() != options::UnsatCoresMode::ASSUMPTIONS
- && options::unsatCoresMode() != options::UnsatCoresMode::PP_ONLY;
+ && options().smt.unsatCoresMode != options::UnsatCoresMode::ASSUMPTIONS
+ && options().smt.unsatCoresMode != options::UnsatCoresMode::PP_ONLY;
}
} // namespace Minisat
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback