3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-11 05:30:51 +00:00

butterfly effect with relevancy marking

bail out of infinite instantiation loop
This commit is contained in:
Nikolaj Bjorner 2021-02-15 16:37:23 -08:00
parent a6dce246f6
commit 823830181b
8 changed files with 45 additions and 33 deletions

View file

@ -546,13 +546,14 @@ class theory_lra::imp {
enode * mk_enode(app * n) {
TRACE("arith", tout << expr_ref(n, m) << " internalized: " << ctx().e_internalized(n) << "\n";);
if (reflect(n))
for (expr* arg : *n)
if (!ctx().e_internalized(arg))
th.ensure_enode(arg);
if (ctx().e_internalized(n)) {
return get_enode(n);
}
else {
if (reflect(n))
for (expr* arg : *n)
th.ensure_enode(arg);
return ctx().mk_enode(n, !reflect(n), false, enable_cgc_for(n));
}
}