3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05:51 +00:00

some simplifications based on #4178

This commit is contained in:
Nikolaj Bjorner 2020-05-02 06:43:30 -07:00
parent 269522127b
commit f0d33ddddb
8 changed files with 32 additions and 9 deletions

View file

@ -510,6 +510,12 @@ br_status bv_rewriter::mk_leq_core(bool is_signed, expr * a, expr * b, expr_ref
return BR_REWRITE2;
}
// (bvule c (+ c a)) -> (bvule a (2^n - c)) (could be generalized)
if (!is_signed && is_num1 && m_util.is_bv_add(b, a1, a2) && is_numeral(a1, r2, sz) && r1 == r2) {
result = m_util.mk_ule(a2, m_util.mk_numeral(-r1, sz));
return BR_REWRITE1;
}
if (m_le_extra) {
const br_status cst = rw_leq_concats(is_signed, a, b, result);
if (cst != BR_FAILED) {