mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 12:08:18 +00:00
swap order in equality for emptiness check to deal with rewriter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
ec36a9c495
commit
7bc3b4e381
|
@ -1241,7 +1241,7 @@ br_status seq_rewriter::mk_str_in_regexp(expr* a, expr* b, expr_ref& result) {
|
||||||
else {
|
else {
|
||||||
result = m().mk_eq(a, m_util.str.mk_concat(seq));
|
result = m().mk_eq(a, m_util.str.mk_concat(seq));
|
||||||
}
|
}
|
||||||
return BR_REWRITE_FULL;
|
return BR_REWRITE3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_sequence(a, seq)) {
|
if (!is_sequence(a, seq)) {
|
||||||
|
@ -1569,7 +1569,7 @@ br_status seq_rewriter::mk_eq_core(expr * l, expr * r, expr_ref & result) {
|
||||||
return BR_FAILED;
|
return BR_FAILED;
|
||||||
}
|
}
|
||||||
for (unsigned i = 0; i < lhs.size(); ++i) {
|
for (unsigned i = 0; i < lhs.size(); ++i) {
|
||||||
res.push_back(m().mk_eq(lhs[i].get(), rhs[i].get()));
|
res.push_back(m().mk_eq(lhs.get(i), rhs.get(i)));
|
||||||
}
|
}
|
||||||
result = mk_and(res);
|
result = mk_and(res);
|
||||||
return BR_REWRITE3;
|
return BR_REWRITE3;
|
||||||
|
|
|
@ -988,7 +988,7 @@ void seq_util::str::get_concat_units(expr* e, expr_ref_vector& es) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
app* seq_util::str::mk_is_empty(expr* s) const {
|
app* seq_util::str::mk_is_empty(expr* s) const {
|
||||||
return m.mk_eq(mk_empty(get_sort(s)), s);
|
return m.mk_eq(s, mk_empty(get_sort(s)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue