From 83d1156a59af871983aa38f2d193d3b4e8566a54 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner <nbjorner@microsoft.com> Date: Mon, 10 Feb 2020 08:31:44 -0800 Subject: [PATCH] fix #2966 Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> --- src/qe/qe_sat_tactic.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/qe/qe_sat_tactic.cpp b/src/qe/qe_sat_tactic.cpp index 6eb697880..87c146819 100644 --- a/src/qe/qe_sat_tactic.cpp +++ b/src/qe/qe_sat_tactic.cpp @@ -631,7 +631,12 @@ namespace qe { ctx.set_projection_mode(m_projection_mode_param); m_solvers[idx+1]->push(); while (ctx.get_num_vars() > 0) { - VERIFY(l_true == m_solvers[idx+1]->check()); + lbool r = m_solvers[idx+1]->check(); + SASSERT(r != l_false); + if (r == l_undef) { + checkpoint(); + throw tactic_exception("inconclusive solver result"); + } ctx.project_var(ctx.get_num_vars()-1); } m_solvers[idx+1]->pop(1); @@ -648,8 +653,8 @@ namespace qe { m_Ms[idx] = tmp; m_solvers[idx]->assert_expr(not_fml); TRACE("qe", - tout << mk_pp(fml, m) << "\n--->\n"; - tout << mk_pp(tmp, m) << "\n";); + tout << fml << "\n--->\n"; + tout << tmp << "\n";); } void checkpoint() {