mirror of
https://github.com/Z3Prover/z3
synced 2025-10-08 17:01:55 +00:00
param order
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
e9a2766e6c
commit
63bb367a10
1 changed files with 13 additions and 6 deletions
|
@ -55,7 +55,8 @@ expr_ref sym_expr::accept(expr* e) {
|
||||||
result = m.mk_bool_val((r1 <= r2) && (r2 <= r3));
|
result = m.mk_bool_val((r1 <= r2) && (r2 <= r3));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
result = m.mk_and(u.mk_le(m_t, e), u.mk_le(e, m_s));
|
auto a = u.mk_le(m_t, e);
|
||||||
|
result = m.mk_and(a, u.mk_le(e, m_s));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -190,7 +191,9 @@ br_status seq_rewriter::mk_eq_helper(expr* a, expr* b, expr_ref& result) {
|
||||||
// sa in (ra n rb) u (C(ra) n C(rb))
|
// sa in (ra n rb) u (C(ra) n C(rb))
|
||||||
if (is_not)
|
if (is_not)
|
||||||
rb = re().mk_complement(rb);
|
rb = re().mk_complement(rb);
|
||||||
expr* r = re().mk_union(re().mk_inter(ra, rb), re().mk_inter(re().mk_complement(ra), re().mk_complement(rb)));
|
auto a_ = re().mk_inter(ra, rb);
|
||||||
|
auto b_ = re().mk_complement(ra);
|
||||||
|
expr* r = re().mk_union(a_, re().mk_inter(b_, re().mk_complement(rb)));
|
||||||
result = re().mk_in_re(sa, r);
|
result = re().mk_in_re(sa, r);
|
||||||
return BR_REWRITE_FULL;
|
return BR_REWRITE_FULL;
|
||||||
}
|
}
|
||||||
|
@ -620,10 +623,14 @@ expr_ref seq_rewriter::mk_seq_rest(expr* t) {
|
||||||
expr_ref result(m());
|
expr_ref result(m());
|
||||||
expr* s, * j, * k;
|
expr* s, * j, * k;
|
||||||
rational jv;
|
rational jv;
|
||||||
if (str().is_extract(t, s, j, k) && m_autil.is_numeral(j, jv) && jv >= 0)
|
if (str().is_extract(t, s, j, k) && m_autil.is_numeral(j, jv) && jv >= 0) {
|
||||||
result = str().mk_substr(s, m_autil.mk_int(jv + 1), mk_sub(k, 1));
|
auto a = m_autil.mk_int(jv + 1);
|
||||||
else
|
result = str().mk_substr(s, a, mk_sub(k, 1));
|
||||||
result = str().mk_substr(t, one(), mk_sub(str().mk_length(t), 1));
|
}
|
||||||
|
else {
|
||||||
|
auto a = one();
|
||||||
|
result = str().mk_substr(t, a, mk_sub(str().mk_length(t), 1));
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue