Skip to content

Commit 098725a

Browse files
fix #2553
Signed-off-by: Nikolaj Bjorner <[email protected]>
1 parent 67c4777 commit 098725a

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/smt/theory_seq.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2979,10 +2979,15 @@ bool theory_seq::reduce_length(unsigned i, unsigned j, bool front, expr_ref_vect
29792979
expr_ref_vector lhs(m), rhs(m);
29802980
lhs.append(l2, ls2);
29812981
rhs.append(r2, rs2);
2982-
deps = mk_join(deps, lit);
2982+
for (auto const& e : m_eqs) {
2983+
if (e.ls() == lhs && e.rs() == rhs) {
2984+
return false;
2985+
}
2986+
}
2987+
deps = mk_join(deps, lit);
29832988
m_eqs.push_back(eq(m_eq_id++, lhs, rhs, deps));
29842989
propagate_eq(deps, l, r, true);
2985-
TRACE("seq", tout << "propagate eq\nlhs: " << lhs << "\nrhs: " << rhs << "\n";);
2990+
TRACE("seq", tout << "propagate eq\n" << m_eqs.size() << "\nlhs: " << lhs << "\nrhs: " << rhs << "\n";);
29862991
return true;
29872992
}
29882993
else {

0 commit comments

Comments
 (0)