In `addClause_()`, we were checking the condition `ca[confl].size() ==
1` regardless if proofs were enabled or not, even though both branches
of the if statement only do something when proofs are enabled. This lead
to issue #1978 occurring even when not generating proofs. Note: This
commit is *not* a fix for #1978 but it makes sure that the issue does
not occur when not generating proofs/unsat cores.
);
CRef confl = propagate(CHECK_WITHOUT_THEORY);
if(! (ok = (confl == CRef_Undef)) ) {
- if(ca[confl].size() == 1) {
- PROOF( id = ProofManager::getSatProof()->storeUnitConflict(ca[confl][0], LEARNT); );
- PROOF( ProofManager::getSatProof()->finalizeProof(CVC4::Minisat::CRef_Lazy); )
- } else {
- PROOF( ProofManager::getSatProof()->finalizeProof(confl); );
+ if (PROOF_ON())
+ {
+ if (ca[confl].size() == 1)
+ {
+ id = ProofManager::getSatProof()->storeUnitConflict(
+ ca[confl][0], LEARNT);
+ ProofManager::getSatProof()->finalizeProof(
+ CVC4::Minisat::CRef_Lazy);
+ }
+ else
+ {
+ ProofManager::getSatProof()->finalizeProof(confl);
+ }
}
}
return ok;