Skip to content

Commit 6ab8346

Browse files
fix #4082
Signed-off-by: Nikolaj Bjorner <[email protected]>
1 parent a3844af commit 6ab8346

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

src/smt/asserted_formulas.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ void asserted_formulas::set_eliminate_and(bool flag) {
137137
m_params.set_bool("expand_select_store", true);
138138
//m_params.set_bool("expand_nested_stores", true);
139139
m_params.set_bool("bv_sort_ac", true);
140+
// seq theory solver keeps terms in normal form and has to interact with side-effect of rewriting
141+
// m_params.set_bool("coalesce_chars", m_smt_params.m_string_solver != symbol("seq"));
140142
m_params.set_bool("som", true);
141143
m_rewriter.updt_params(m_params);
142144
flush_cache();

src/smt/theory_seq.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,6 +1049,9 @@ bool theory_seq::add_solution(expr* l, expr* r, dependency* deps) {
10491049
}
10501050
m_new_solution = true;
10511051
m_rep.update(l, r, deps);
1052+
expr_ref sl(l, m);
1053+
m_rewrite(sl);
1054+
m_rep.update(sl, r, deps);
10521055
enode* n1 = ensure_enode(l);
10531056
enode* n2 = ensure_enode(r);
10541057
TRACE("seq", tout << mk_bounded_pp(l, m, 2) << " ==> " << mk_bounded_pp(r, m, 2) << "\n"; display_deps(tout, deps);

0 commit comments

Comments
 (0)