3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-22 11:07:51 +00:00
Nikolaj Bjorner 2021-03-16 05:26:06 -07:00
parent dc5fa89de3
commit cb8c6ffafc
3 changed files with 8 additions and 4 deletions

View file

@ -2810,6 +2810,7 @@ void theory_seq::assign_eh(bool_var v, bool is_true) {
f = m_sk.mk_prefix_inv(se1, se2);
f = mk_concat(se1, f);
propagate_eq(lit, f, se2, true);
propagate_eq(lit, mk_len(f), mk_len(se2), false);
}
else {
propagate_not_prefix(e);
@ -2823,6 +2824,7 @@ void theory_seq::assign_eh(bool_var v, bool is_true) {
f = m_sk.mk_suffix_inv(se1, se2);
f = mk_concat(f, se1);
propagate_eq(lit, f, se2, true);
propagate_eq(lit, mk_len(f), mk_len(se2), false);
}
else {
propagate_not_suffix(e);
@ -2842,6 +2844,7 @@ void theory_seq::assign_eh(bool_var v, bool is_true) {
expr_ref f2 = m_sk.mk_indexof_right(se1, se2);
f = mk_concat(f1, se2, f2);
propagate_eq(lit, f, e1, true);
propagate_eq(lit, mk_len(f), mk_len(e1), false);
}
else {
propagate_non_empty(lit, se2);