3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-05-16 23:25:36 +00:00

Removed irrelevant information from membership constraints

This commit is contained in:
CEisenhofer 2026-04-14 16:27:50 +02:00
parent 195f2caf25
commit 2db99473a3
8 changed files with 22 additions and 219 deletions

View file

@ -265,7 +265,7 @@ namespace smt {
seq::dep_tracker dep = nullptr;
if (is_true) {
ctx.push_trail(restore_vector(m_prop_queue));
m_prop_queue.push_back(mem_item(sn_str, sn_re, lit, nullptr, m_next_mem_id++, dep));
m_prop_queue.push_back(mem_item(sn_str, sn_re, lit, dep));
}
else {
// ¬(str ∈ R) ≡ str ∈ complement(R): store as a positive membership
@ -274,7 +274,7 @@ namespace smt {
expr_ref re_compl(m_seq.re.mk_complement(re), m);
euf::snode* sn_re_compl = get_snode(re_compl.get());
ctx.push_trail(restore_vector(m_prop_queue));
m_prop_queue.push_back(mem_item(sn_str, sn_re_compl, lit, nullptr, m_next_mem_id++, dep));
m_prop_queue.push_back(mem_item(sn_str, sn_re_compl, lit, dep));
}
}
else if (m_seq.str.is_prefix(e)) {