From 75c114feabf6f931a435e773e3668c376c17798d Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Mon, 1 Sep 2014 14:37:58 -0700 Subject: [PATCH] fix regression on push/pop Signed-off-by: Nikolaj Bjorner --- src/opt/maxsmt.cpp | 1 + src/opt/opt_context.cpp | 2 -- src/smt/theory_arith_core.h | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/opt/maxsmt.cpp b/src/opt/maxsmt.cpp index 2b8bcb462..d128e57f2 100644 --- a/src/opt/maxsmt.cpp +++ b/src/opt/maxsmt.cpp @@ -136,6 +136,7 @@ namespace opt { m_wth = s.ensure_wmax_theory(); } maxsmt_solver_base::scoped_ensure_theory::~scoped_ensure_theory() { + //m_wth->reset_local(); } smt::theory_wmaxsat& maxsmt_solver_base::scoped_ensure_theory::operator()() { return *m_wth; } diff --git a/src/opt/opt_context.cpp b/src/opt/opt_context.cpp index 39316b772..d931afbff 100644 --- a/src/opt/opt_context.cpp +++ b/src/opt/opt_context.cpp @@ -143,11 +143,9 @@ namespace opt { void context::push() { m_scoped_state.push(); - m_solver->push(); } void context::pop(unsigned n) { - m_solver->pop(n); for (unsigned i = 0; i < n; ++i) { m_scoped_state.pop(); } diff --git a/src/smt/theory_arith_core.h b/src/smt/theory_arith_core.h index e037ea9e3..b80a1f415 100644 --- a/src/smt/theory_arith_core.h +++ b/src/smt/theory_arith_core.h @@ -869,7 +869,7 @@ namespace smt { atom_kind kind1 = a1->get_atom_kind(); atom_kind kind2 = a2->get_atom_kind(); bool v_is_int = is_int(v); - SASSERT(v === a2->get_var()); + SASSERT(v == a2->get_var()); SASSERT(k1 != k2 || kind1 != kind2); parameter coeffs[3] = { parameter(symbol("farkas")), parameter(rational(1)), parameter(rational(1)) };