3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-19 15:16:29 +00:00

remove expr_ref from dependencies, only use literals that are true.

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2026-05-17 13:28:12 -07:00
parent b75acc5c14
commit 9d4feed0ae
10 changed files with 141 additions and 101 deletions

View file

@ -161,8 +161,7 @@ static void test_nseq_symbol_clash() {
// verify conflict explanation returns the equality index
smt::enode_pair_vector eqs;
sat::literal_vector mem_idx;
vector<expr_ref> es;
ng.test_aux_explain_conflict(eqs, mem_idx, es);
ng.test_aux_explain_conflict(eqs, mem_idx);
SASSERT(eqs.size() == 1);
SASSERT(eqs[0].first == nullptr);
SASSERT(mem_idx.empty());

View file

@ -1494,8 +1494,7 @@ static void test_explain_conflict_single_eq() {
// but the conflict should still be detected
svector<seq::enode_pair> eqs;
svector<sat::literal> mem_literals;
vector<expr_ref> es;
ng.test_aux_explain_conflict(eqs, mem_literals, es);
ng.test_aux_explain_conflict(eqs, mem_literals);
// with test-friendly overload (null deps), eqs will be empty
// the important check is that the conflict was detected
}
@ -1525,8 +1524,7 @@ static void test_explain_conflict_multi_eq() {
// the important check is that the conflict was detected
svector<seq::enode_pair> eqs;
svector<sat::literal> mem_literals;
vector<expr_ref> es;
ng.test_aux_explain_conflict(eqs, mem_literals, es);
ng.test_aux_explain_conflict(eqs, mem_literals);
}
// test that is_extended is set after solve generates extensions
@ -2118,8 +2116,7 @@ static void test_explain_conflict_mem_only() {
// with test-friendly overload (null deps), explain_conflict won't return deps
svector<seq::enode_pair> eqs;
svector<sat::literal> mem_literals;
vector<expr_ref> es;
ng.test_aux_explain_conflict(eqs, mem_literals, es);
ng.test_aux_explain_conflict(eqs, mem_literals);
}
// test explain_conflict: mixed eq + mem conflict
@ -2153,8 +2150,7 @@ static void test_explain_conflict_mixed_eq_mem() {
// with test-friendly overload (null deps), explain_conflict won't return deps
svector<seq::enode_pair> eqs;
svector<sat::literal> mem_literals;
vector<expr_ref> es;
ng.test_aux_explain_conflict(eqs, mem_literals, es);
ng.test_aux_explain_conflict(eqs, mem_literals);
}
// test subsumption pruning during solve: a node whose constraint set