3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00

throttle equality propagation to shared expressions

This commit is contained in:
Nikolaj Bjorner 2021-01-19 04:51:00 -08:00
parent 7c34a54e8a
commit 95d98ea8ce
2 changed files with 17 additions and 4 deletions

View file

@ -307,7 +307,13 @@ namespace arith {
return;
enode* n1 = var2enode(uv);
enode* n2 = var2enode(vv);
if (m.get_sort(n1->get_expr()) != m.get_sort(n2->get_expr()))
if (!ctx.is_shared(n1) || !ctx.is_shared(n2))
return;
expr* e1 = n1->get_expr();
expr* e2 = n2->get_expr();
if (m.is_ite(e1) || m.is_ite(e2))
return;
if (m.get_sort(e1) != m.get_sort(e2))
return;
reset_evidence();
for (auto const& ev : e)