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:
parent
a6dce246f6
commit
823830181b
8 changed files with 45 additions and 33 deletions
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue