mirror of
https://github.com/Z3Prover/z3
synced 2026-04-18 18:10:17 +00:00
Missing justification added
Added check for correctness of conflict core
This commit is contained in:
parent
c7e7b40d40
commit
26d36ba6ee
5 changed files with 56 additions and 28 deletions
|
|
@ -160,7 +160,7 @@ static void test_nseq_symbol_clash() {
|
|||
// verify conflict explanation returns the equality index
|
||||
smt::enode_pair_vector eqs;
|
||||
sat::literal_vector mem_idx;
|
||||
ng.explain_conflict(eqs, mem_idx);
|
||||
ng.test_aux_explain_conflict(eqs, mem_idx);
|
||||
SASSERT(eqs.size() == 1);
|
||||
SASSERT(eqs[0].first == nullptr);
|
||||
SASSERT(mem_idx.empty());
|
||||
|
|
|
|||
|
|
@ -1496,7 +1496,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;
|
||||
ng.explain_conflict(eqs, mem_literals);
|
||||
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
|
||||
}
|
||||
|
|
@ -1526,7 +1526,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;
|
||||
ng.explain_conflict(eqs, mem_literals);
|
||||
ng.test_aux_explain_conflict(eqs, mem_literals);
|
||||
}
|
||||
|
||||
// test that is_extended is set after solve generates extensions
|
||||
|
|
@ -2117,7 +2117,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;
|
||||
ng.explain_conflict(eqs, mem_literals);
|
||||
ng.test_aux_explain_conflict(eqs, mem_literals);
|
||||
}
|
||||
|
||||
// test explain_conflict: mixed eq + mem conflict
|
||||
|
|
@ -2151,7 +2151,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;
|
||||
ng.explain_conflict(eqs, mem_literals);
|
||||
ng.test_aux_explain_conflict(eqs, mem_literals);
|
||||
}
|
||||
|
||||
// test subsumption pruning during solve: a node whose constraint set
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue