mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
#5778 - missed tracking literal assignment justification
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
00608cd719
commit
20bd59bb20
5 changed files with 31 additions and 12 deletions
|
@ -190,8 +190,9 @@ namespace euf {
|
|||
m_egraph.set_bool_var(n, v);
|
||||
if (m.is_eq(e) || m.is_or(e) || m.is_and(e) || m.is_not(e))
|
||||
m_egraph.set_merge_enabled(n, false);
|
||||
if (s().value(lit) != l_undef)
|
||||
m_egraph.set_value(n, s().value(lit));
|
||||
lbool val = s().value(lit);
|
||||
if (val != l_undef)
|
||||
m_egraph.set_value(n, val, justification::external(to_ptr(val == l_true ? lit : ~lit)));
|
||||
return lit;
|
||||
}
|
||||
|
||||
|
|
|
@ -309,7 +309,7 @@ namespace euf {
|
|||
if (!n)
|
||||
return;
|
||||
bool sign = l.sign();
|
||||
m_egraph.set_value(n, sign ? l_false : l_true);
|
||||
m_egraph.set_value(n, sign ? l_false : l_true, justification::external(to_ptr(l)));
|
||||
for (auto const& th : enode_th_vars(n))
|
||||
m_id2solver[th.get_id()]->asserted(l);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue