mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
fixes to semantics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
3884fc7b11
commit
a2b8b724b2
2 changed files with 5 additions and 5 deletions
|
@ -595,19 +595,19 @@ br_status arith_rewriter::factor_le_ge_eq(expr * arg1, expr * arg2, op_kind kind
|
|||
return BR_FAILED;
|
||||
expr_ref f2 = remove_factor(f, arg1);
|
||||
expr* z = m_util.mk_numeral(rational(0), m_util.is_int(arg1));
|
||||
result = m.mk_or(m_util.mk_eq(f, z), m_util.mk_eq(f2, z));
|
||||
switch (kind) {
|
||||
case EQ:
|
||||
result = m.mk_or(m_util.mk_eq(f, z), m_util.mk_eq(f2, z));
|
||||
break;
|
||||
case GE:
|
||||
result = m.mk_iff(m_util.mk_ge(f, z), m_util.mk_ge(f2, z));
|
||||
result = m.mk_or(m.mk_iff(m_util.mk_ge(f, z), m_util.mk_ge(f2, z)), result);
|
||||
break;
|
||||
case LE:
|
||||
result = m.mk_xor(m_util.mk_ge(f, z), m_util.mk_ge(f2, z));
|
||||
result = m.mk_or(m.mk_not(m.mk_iff(m_util.mk_ge(f, z), m_util.mk_ge(f2, z))), result);
|
||||
break;
|
||||
|
||||
}
|
||||
return BR_REWRITE2;
|
||||
return BR_REWRITE3;
|
||||
}
|
||||
return BR_FAILED;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue