3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-08 12:11:23 +00:00

fix push/pop bug for ite-elimination, thanks to Nao Hirokawa for reporting it

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-08-30 08:31:37 -03:00
parent de43e05102
commit 4c0db00a7b
4 changed files with 13 additions and 3 deletions

View file

@ -184,6 +184,7 @@ void asserted_formulas::push_scope() {
SASSERT(inconsistent() || s.m_formulas_lim == m_qhead || m.canceled());
s.m_inconsistent_old = m_inconsistent;
m_defined_names.push();
m_elim_term_ite.push();
m_bv_sharing.push_scope();
m_macro_manager.push_scope();
commit();
@ -198,6 +199,7 @@ void asserted_formulas::pop_scope(unsigned num_scopes) {
scope & s = m_scopes[new_lvl];
m_inconsistent = s.m_inconsistent_old;
m_defined_names.pop(num_scopes);
m_elim_term_ite.pop(num_scopes);
m_scoped_substitution.pop(num_scopes);
m_formulas.shrink(s.m_formulas_lim);
m_qhead = s.m_formulas_lim;