3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-10 19:27:06 +00:00
regression when tracking literal explanations
This commit is contained in:
Nikolaj Bjorner 2022-03-22 01:55:43 -07:00
parent 4b1419261f
commit 815c971c9a
2 changed files with 3 additions and 2 deletions

View file

@ -298,7 +298,7 @@ namespace euf {
force_push();
TRACE("euf", tout << bpp(n) << " := " << value << "\n";);
n->set_value(value);
n->set_justification(j);
n->m_lit_justification = j;
m_updates.push_back(update_record(n, update_record::value_assignment()));
}
}
@ -768,7 +768,7 @@ namespace euf {
n->mark1();
if (m.is_true(n->get_expr()) || m.is_false(n->get_expr()))
continue;
justification j = n->m_justification;
justification j = n->m_lit_justification;
SASSERT(j.is_external());
justifications.push_back(j.ext<T>());
}

View file

@ -63,6 +63,7 @@ namespace euf {
enode* m_cg = nullptr;
th_var_list m_th_vars;
justification m_justification;
justification m_lit_justification;
unsigned m_num_args = 0;
signed char m_lbl_hash = -1; // It is different from -1, if enode is used in a pattern
approx_set m_lbls;