mirror of
https://github.com/Z3Prover/z3
synced 2025-04-13 20:38:43 +00:00
This commit is contained in:
parent
cabd5b10fa
commit
18d1b368d1
|
@ -818,9 +818,13 @@ namespace euf {
|
|||
args.push_back(old_expr2new_enode[n1->get_arg(j)->get_expr_id()]);
|
||||
expr* e2 = tr(e1);
|
||||
enode* n2 = mk(e2, n1->generation(), args.size(), args.data());
|
||||
|
||||
old_expr2new_enode.setx(e1->get_id(), n2, nullptr);
|
||||
n2->set_value(n2->value());
|
||||
n2->set_value(n1->value());
|
||||
n2->m_bool_var = n1->m_bool_var;
|
||||
n2->m_commutative = n1->m_commutative;
|
||||
n2->m_merge_enabled = n1->m_merge_enabled;
|
||||
n2->m_is_equality = n1->m_is_equality;
|
||||
}
|
||||
for (unsigned i = 0; i < src.m_nodes.size(); ++i) {
|
||||
enode* n1 = src.m_nodes[i];
|
||||
|
|
|
@ -316,6 +316,7 @@ namespace euf {
|
|||
}
|
||||
if (n->is_equality()) {
|
||||
SASSERT(!m.is_iff(e));
|
||||
SASSERT(m.is_eq(e));
|
||||
if (sign)
|
||||
m_egraph.new_diseq(n);
|
||||
else
|
||||
|
@ -867,9 +868,9 @@ namespace euf {
|
|||
for (euf::enode* n : r->m_egraph.nodes()) {
|
||||
auto b = n->bool_var();
|
||||
if (b != sat::null_bool_var) {
|
||||
m_bool_var2expr.setx(b, n->get_expr(), nullptr);
|
||||
r->m_bool_var2expr.setx(b, n->get_expr(), nullptr);
|
||||
SASSERT(r->m.is_bool(n->get_sort()));
|
||||
IF_VERBOSE(11, verbose_stream() << "set bool_var " << r->bpp(n) << "\n");
|
||||
IF_VERBOSE(11, verbose_stream() << "set bool_var " << b << " " << r->bpp(n) << " " << mk_bounded_pp(n->get_expr(), m) << "\n");
|
||||
}
|
||||
}
|
||||
for (auto* s_orig : m_id2solver) {
|
||||
|
|
Loading…
Reference in a new issue