3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-03 14:33:56 +00:00

determine parameter evaluation order

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-09-16 16:32:46 -07:00
parent 05ba67f432
commit 9b88aaf134

View file

@ -149,8 +149,10 @@ class skolemizer {
r = m_subst(body, substitution); r = m_subst(body, substitution);
p = nullptr; p = nullptr;
if (m_proofs_enabled) { if (m_proofs_enabled) {
if (q->get_kind() == forall_k) if (q->get_kind() == forall_k) {
p = m.mk_skolemization(mk_not(m, q), mk_not(m, r)); auto a = mk_not(m, q);
p = m.mk_skolemization(a , mk_not(m, r));
}
else else
p = m.mk_skolemization(q, r); p = m.mk_skolemization(q, r);
} }
@ -609,8 +611,10 @@ struct nnf::imp {
expr * not_rhs = rs[3]; expr * not_rhs = rs[3];
app * r; app * r;
if (is_eq(t) == fr.m_pol) if (is_eq(t) == fr.m_pol) {
r = m.mk_and(m.mk_or(not_lhs, rhs), m.mk_or(lhs, not_rhs)); auto a = m.mk_or(not_lhs, rhs);
r = m.mk_and(a, m.mk_or(lhs, not_rhs));
}
else else
r = m.mk_and(m.mk_or(lhs, rhs), m.mk_or(not_lhs, not_rhs)); r = m.mk_and(m.mk_or(lhs, rhs), m.mk_or(not_lhs, not_rhs));
m_result_stack.shrink(fr.m_spos); m_result_stack.shrink(fr.m_spos);