mirror of
https://github.com/Z3Prover/z3
synced 2026-05-21 01:19:34 +00:00
use recursive function for not-contains
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
ced7952a7b
commit
dbdccbff97
4 changed files with 40 additions and 17 deletions
|
|
@ -308,12 +308,11 @@ namespace smt {
|
|||
// We checked non-emptiness during Nielsen already
|
||||
lbool wr = m_rewriter.some_seq_in_re(re_expr, witness);
|
||||
if (wr == l_true && witness) {
|
||||
// std::cout << "Witness for " << mk_pp(var->get_expr(), m) << " in " <<
|
||||
// mk_pp(re_expr, m) << ": " << mk_pp(witness, m) << std::endl;
|
||||
m_trail.push_back(witness);
|
||||
m_factory->register_value(witness);
|
||||
return witness;
|
||||
}
|
||||
IF_VERBOSE(1, verbose_stream() << "witness extraction failed: " << wr << "\n" << mk_pp(re_expr, m) << "\n");
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ namespace smt {
|
|||
if (is_true)
|
||||
m_axioms.contains_true_axiom(e);
|
||||
else
|
||||
m_axioms.unroll_not_contains(e);
|
||||
m_axioms.not_contains_axiom(e);
|
||||
}
|
||||
else if (m_seq.str.is_lt(e) || m_seq.str.is_le(e)) {
|
||||
// axioms added via relevant_eh → dequeue_axiom
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue