diff --git a/src/smt/theory_diff_logic_def.h b/src/smt/theory_diff_logic_def.h index 9447c0a79..6233de937 100644 --- a/src/smt/theory_diff_logic_def.h +++ b/src/smt/theory_diff_logic_def.h @@ -841,8 +841,8 @@ void theory_diff_logic::reset_eh() { dealloc(m_atoms[i]); } m_graph .reset(); - m_izero = null_theory_var; - m_rzero = null_theory_var; + m_izero = null_theory_var; + m_rzero = null_theory_var; m_atoms .reset(); m_asserted_atoms .reset(); m_stats .reset(); @@ -1109,6 +1109,7 @@ unsigned theory_diff_logic::simplex2edge(unsigned e) { template void theory_diff_logic::update_simplex(Simplex& S) { + m_graph.set_to_zero(get_zero(true), get_zero(false)); unsynch_mpq_inf_manager inf_mgr; unsynch_mpq_manager& mgr = inf_mgr.get_mpq_manager(); unsigned num_nodes = m_graph.get_num_nodes(); @@ -1193,7 +1194,8 @@ typename theory_diff_logic::inf_eps theory_diff_logic::value(theory_va template typename theory_diff_logic::inf_eps theory_diff_logic::maximize(theory_var v, expr_ref& blocker, bool& has_shared) { - + SASSERT(is_consistent()); + has_shared = false; Simplex& S = m_S; ast_manager& m = get_manager();