mirror of
https://github.com/Z3Prover/z3
synced 2025-10-01 05:29:28 +00:00
fix the parameter evaluation order
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
cda0a922b9
commit
37904b9e85
1 changed files with 12 additions and 3 deletions
|
@ -781,9 +781,18 @@ 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)));
|
||||
args.push_back(m().mk_or(m().mk_not(c1), m().mk_not(c2), m().mk_eq(t1, t2)));
|
||||
args.push_back(m().mk_or(m().mk_not(c1), c2, m().mk_eq(t1, e2)));
|
||||
args.push_back(m().mk_or(c1, m().mk_not(c2), m().mk_eq(e1, t2)));
|
||||
{
|
||||
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)));
|
||||
}
|
||||
result = m().mk_and(args);
|
||||
return BR_REWRITE_FULL;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue