diff options
-rw-r--r-- | src/parser/smt2/Smt2.g | 2 | ||||
-rw-r--r-- | src/smt/smt_engine.cpp | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/parser/smt2/Smt2.g b/src/parser/smt2/Smt2.g index 74f8e71d3..5afb2c316 100644 --- a/src/parser/smt2/Smt2.g +++ b/src/parser/smt2/Smt2.g @@ -454,7 +454,7 @@ command [std::unique_ptr<CVC4::Command>* cmd] "permitted while operating in strict compliance mode."); } } - | { expr = MK_CONST(bool(true)); } + | { expr = Expr(); } ) { cmd->reset(new CheckSatCommand(expr)); } | /* check-sat-assuming */ diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp index 0cff9c8fa..c1e8596cf 100644 --- a/src/smt/smt_engine.cpp +++ b/src/smt/smt_engine.cpp @@ -4530,6 +4530,12 @@ Result SmtEngine::checkSatisfiability(const vector<Expr>& assumptions, d_assumptions = assumptions; } + if (!d_assumptions.empty()) + { + internalPush(); + didInternalPush = true; + } + Result r(Result::SAT_UNKNOWN, Result::UNKNOWN_REASON); for (Expr e : d_assumptions) { @@ -4540,8 +4546,6 @@ Result SmtEngine::checkSatisfiability(const vector<Expr>& assumptions, ensureBoolean(e); /* Add assumption */ - internalPush(); - didInternalPush = true; if (d_assertionList != NULL) { d_assertionList->push_back(e); |