3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-06 17:44:08 +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:
Nikolaj Bjorner 2018-11-22 13:03:55 -08:00
parent ec36a9c495
commit 7bc3b4e381
2 changed files with 3 additions and 3 deletions

View file

@ -1241,7 +1241,7 @@ br_status seq_rewriter::mk_str_in_regexp(expr* a, expr* b, expr_ref& result) {
else {
result = m().mk_eq(a, m_util.str.mk_concat(seq));
}
return BR_REWRITE_FULL;
return BR_REWRITE3;
}
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;
}
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);
return BR_REWRITE3;

View file

@ -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 {
return m.mk_eq(mk_empty(get_sort(s)), s);
return m.mk_eq(s, mk_empty(get_sort(s)));
}