3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-01-08 12:01:17 +00:00

replace restore_size_trail by more generic restore_vector

other updates:
- change signature of advance_qhead to simplify call sites
- have model reconstruction replay work on a tail of dependent_expr state, while adding formulas to the tail.
This commit is contained in:
Nikolaj Bjorner 2022-11-28 11:45:56 +07:00
parent 6454014119
commit 85f9c7eefa
25 changed files with 80 additions and 59 deletions

View file

@ -893,11 +893,11 @@ namespace arith {
theory_var other = m_model_eqs.insert_if_not_there(v);
TRACE("arith", tout << "insert: v" << v << " := " << get_value(v) << " found: v" << other << "\n";);
if (!is_equal(other, v))
m_assume_eq_candidates.push_back(std::make_pair(v, other));
m_assume_eq_candidates.push_back({ v, other });
}
if (m_assume_eq_candidates.size() > old_sz)
ctx.push(restore_size_trail<std::pair<theory_var, theory_var>, false>(m_assume_eq_candidates, old_sz));
ctx.push(restore_vector(m_assume_eq_candidates, old_sz));
return delayed_assume_eqs();
}