3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-04-04 02:39:02 +00:00

Bug in power elimination

This commit is contained in:
CEisenhofer 2026-03-26 17:18:20 +01:00
parent 2a72faf15e
commit dcc85cf9ef
2 changed files with 12 additions and 11 deletions

View file

@ -518,11 +518,9 @@ namespace euf {
auto s2 = subst(n->arg(1), var, replacement);
if (s1 != n->arg(0) || s2 != n->arg(1))
return mk_concat(s1, s2);
else
return n;
return n;
}
// substitution can also work for expressions under unit.
// this unifies two kinds of substitutions used in ZIPT (right Clemens ?).
if (n->is_unit() && n->arg(0) == var)
return mk(m_seq.str.mk_unit(replacement->get_expr()));
// for non-concat compound nodes (power, star, etc.), no substitution into children