3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-01 13:39:28 +00:00

better rewriting

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-09-18 08:08:32 -07:00
parent 37904b9e85
commit c43cb18e63

View file

@ -781,18 +781,10 @@ br_status bool_rewriter::mk_eq_core(expr * lhs, expr * rhs, expr_ref & result) {
m().is_value(t1) && m().is_value(e1) && m().is_value(t2) && m().is_value(e2)) {
expr_ref_vector args(m());
args.push_back(m().mk_or(c1, c2, m().mk_eq(e1, e2)));
{
auto a = m().mk_not(c1); auto b = m().mk_not(c2);
args.push_back(m().mk_or(a, b, m().mk_eq(t1, t2)));
}
{
auto a = m().mk_not(c1);
args.push_back(m().mk_or(a, c2, m().mk_eq(t1, e2)));
}
{
auto a = m().mk_not(c2);
args.push_back(m().mk_or(c1, a, m().mk_eq(e1, t2)));
}
auto nc1 = m().mk_not(c1); auto nc2 = m().mk_not(c2);
args.push_back(m().mk_or(nc1, nc2, m().mk_eq(t1, t2)));
args.push_back(m().mk_or(nc1, c2, m().mk_eq(t1, e2)));
args.push_back(m().mk_or(c1, nc2, m().mk_eq(e1, t2)));
result = m().mk_and(args);
return BR_REWRITE_FULL;
}