mirror of
https://github.com/Z3Prover/z3
synced 2025-06-04 13:21:22 +00:00
parent
9e41e88392
commit
a09ed766f5
1 changed files with 3 additions and 2 deletions
|
@ -3176,7 +3176,7 @@ proof * ast_manager::mk_unit_resolution(unsigned num_proofs, proof * const * pro
|
||||||
// typically: num_proofs == cls_sz || (num_proofs == cls_sz + 1 && is_false(new_fact))
|
// typically: num_proofs == cls_sz || (num_proofs == cls_sz + 1 && is_false(new_fact))
|
||||||
// but formula could have repeated literals that are merged in the clausal representation.
|
// but formula could have repeated literals that are merged in the clausal representation.
|
||||||
//
|
//
|
||||||
unsigned num_matches = 0;
|
unsigned num_matches = 0, num_occ = 0;
|
||||||
for (unsigned i = 0; i < cls_sz; i++) {
|
for (unsigned i = 0; i < cls_sz; i++) {
|
||||||
expr * lit = cls->get_arg(i);
|
expr * lit = cls->get_arg(i);
|
||||||
unsigned j = 1;
|
unsigned j = 1;
|
||||||
|
@ -3189,9 +3189,10 @@ proof * ast_manager::mk_unit_resolution(unsigned num_proofs, proof * const * pro
|
||||||
if (j == num_proofs) {
|
if (j == num_proofs) {
|
||||||
CTRACE("unit_bug1", new_fact != lit, tout << mk_ll_pp(new_fact, *this) << "\n" << mk_ll_pp(lit, *this) << "\n";);
|
CTRACE("unit_bug1", new_fact != lit, tout << mk_ll_pp(new_fact, *this) << "\n" << mk_ll_pp(lit, *this) << "\n";);
|
||||||
SASSERT(new_fact == lit);
|
SASSERT(new_fact == lit);
|
||||||
|
++num_occ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SASSERT(num_matches == cls_sz || num_matches == cls_sz - 1);
|
SASSERT(num_matches == cls_sz || num_matches == cls_sz - num_occ);
|
||||||
SASSERT(num_matches != cls_sz || is_false(new_fact));
|
SASSERT(num_matches != cls_sz || is_false(new_fact));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue