diff options
Diffstat (limited to 'src/theory/arith')
-rw-r--r-- | src/theory/arith/theory_arith_private.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/theory/arith/theory_arith_private.cpp b/src/theory/arith/theory_arith_private.cpp index 6c226bb61..fb71bb1b1 100644 --- a/src/theory/arith/theory_arith_private.cpp +++ b/src/theory/arith/theory_arith_private.cpp @@ -2188,8 +2188,11 @@ void TheoryArithPrivate::outputConflicts(){ } Assert(conflict.getNumChildren() == pf.d_farkasCoefficients->size()); - d_containing.d_proofRecorder->saveFarkasCoefficients( - conflictInFarkasCoefficientOrder, pf.d_farkasCoefficients); + if (confConstraint->hasSimpleFarkasProof()) + { + d_containing.d_proofRecorder->saveFarkasCoefficients( + conflictInFarkasCoefficientOrder, pf.d_farkasCoefficients); + } }) if(Debug.isOn("arith::normalize::external")){ conflict = flattenAndSort(conflict); @@ -4951,8 +4954,11 @@ bool TheoryArithPrivate::rowImplicationCanBeApplied(RowIndex ridx, bool rowUp, C Assert(coeffs != RationalVectorPSentinel); Assert(conflictInFarkasCoefficientOrder.getNumChildren() == coeffs->size()); - d_containing.d_proofRecorder->saveFarkasCoefficients( - conflictInFarkasCoefficientOrder, coeffs); + if (implied->hasSimpleFarkasProof()) + { + d_containing.d_proofRecorder->saveFarkasCoefficients( + conflictInFarkasCoefficientOrder, coeffs); + } }) outputLemma(clause); }else{ |