mirror of
https://github.com/Z3Prover/z3
synced 2026-06-12 20:05:36 +00:00
seq_ne_solver: short-circuit propagate_ne2eq for str.unit elements
Agent-Logs-Url: https://github.com/Z3Prover/z3/sessions/269206ba-eec0-4986-93b3-738478e88991 Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
parent
57fdf43475
commit
ec495c094c
1 changed files with 3 additions and 2 deletions
|
|
@ -134,11 +134,12 @@ bool theory_seq::propagate_ne2eq(unsigned idx, expr_ref_vector const& es) {
|
||||||
if (es.empty())
|
if (es.empty())
|
||||||
return false;
|
return false;
|
||||||
for (expr* e : es) {
|
for (expr* e : es) {
|
||||||
|
if (m_util.str.is_unit(e))
|
||||||
|
return true;
|
||||||
expr_ref len_e = mk_len(e);
|
expr_ref len_e = mk_len(e);
|
||||||
rational lo;
|
rational lo;
|
||||||
if (lower_bound(len_e, lo) && lo > 0) {
|
if (lower_bound(len_e, lo) && lo > 0)
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
ne const& n = m_nqs[idx];
|
ne const& n = m_nqs[idx];
|
||||||
expr_ref e(m), head(m), tail(m);
|
expr_ref e(m), head(m), tail(m);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue