3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-10 09:15:47 +00:00

bugfix to elim_uncnstr to ensure nodes are created. Prepare smt_internalizer to replay unit literals

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2024-12-04 15:32:08 -08:00
parent 6ea4110b30
commit a17d4e68eb
4 changed files with 21 additions and 12 deletions

View file

@ -2381,7 +2381,7 @@ namespace smt {
unsigned i = units_to_reassert_lim;
unsigned sz = m_units_to_reassert.size();
for (; i < sz; i++) {
auto& [unit, sign, is_relevant] = m_units_to_reassert[i];
auto [unit, sign, is_relevant] = m_units_to_reassert[i];
bool gate_ctx = true;
internalize(unit, gate_ctx);
bool_var v = get_bool_var(unit);
@ -2389,7 +2389,7 @@ namespace smt {
assign(l, b_justification::mk_axiom());
if (is_relevant)
mark_as_relevant(l);
TRACE("reassert_units", tout << "reasserting #" << unit->get_id() << " " << sign << " @ " << m_scope_lvl << "\n";);
TRACE("reassert_units", tout << "reasserting #" << unit->get_id() << " " << sign << " @ " << m_scope_lvl << "\n";);
}
if (at_base_level())
m_units_to_reassert.reset();