Fix simplicity check in prop
authorAlex Ozdemir <aozdemir@hmc.edu>
Mon, 16 Mar 2020 19:34:41 +0000 (12:34 -0700)
committerAlex Ozdemir <aozdemir@hmc.edu>
Mon, 16 Mar 2020 23:52:50 +0000 (16:52 -0700)
src/theory/arith/theory_arith_private.cpp

index fb71bb1b16cda04a28664eb9326a9e25a8a749b4..54bac3e26618dbf944506079e6f93b914f2de2a6 100644 (file)
@@ -4954,7 +4954,7 @@ bool TheoryArithPrivate::rowImplicationCanBeApplied(RowIndex ridx, bool rowUp, C
         Assert(coeffs != RationalVectorPSentinel);
         Assert(conflictInFarkasCoefficientOrder.getNumChildren()
                == coeffs->size());
-        if (implied->hasSimpleFarkasProof())
+        if (std::all_of(explain.begin(), explain.end(), [](ConstraintCP c) { return c->isAssumption() || c->hasIntTightenProof(); }))
         {
           d_containing.d_proofRecorder->saveFarkasCoefficients(
               conflictInFarkasCoefficientOrder, coeffs);