diff --git a/BoundsTheory.fs b/BoundsTheory.fs index 98dc7ec..9016602 100644 --- a/BoundsTheory.fs +++ b/BoundsTheory.fs @@ -218,14 +218,14 @@ let tbndsEvaluateAtLeast1U (s:State) (tRel:Ref) = let pVal = s.bVal let rel = !tRel let boolVar = rel.getBoolVar - let bVal = (!pVal).getValueB boolVar + let bVal = (!pVal).getValueB boolVar if bVal = Undefined then let holds = tbndsHolds (!tRel) s.bounds s.numeralDB if holds <> Undefined then let (expl, l) = tbndsGetImplication s tRel holds s.Push (Imp (ref expl, l)) - assert(not s.IsConflicted || s.isInTempMode) + // assert(not s.IsConflicted || s.isInTempMode) else tbndsGetImpliedBounds s tRel bVal diff --git a/RLEBVTheory.fs b/RLEBVTheory.fs index 0911acb..2d19b32 100644 --- a/RLEBVTheory.fs +++ b/RLEBVTheory.fs @@ -353,8 +353,7 @@ let tEvaluate1U (s:State) (tRel:Ref) = let holds = tHolds (!tRel) s.bvVal s.numeralDB if holds <> Undefined then let (expl, l) = tGetImplication s tRel holds - s.Push (Imp (ref expl, l)) - assert(not s.IsConflicted) + s.Push (Imp (ref expl, l)) | Z3_decl_kind.Z3_OP_ULEQ -> let bVal = (!pVal).getValueB boolVar diff --git a/Trail.fs b/Trail.fs index 8e4a6cc..0a2b32b 100644 --- a/Trail.fs +++ b/Trail.fs @@ -462,18 +462,14 @@ type Trail (sz:int) = else // Negative PAPredicate if not (value.isConcreteValue) then - let oldValue = (!bvVal).getValue v let oldExpl = (!bvVal).getExplanation v - let negPABool = Negate rel.getBoolVar - let intersection = BitVector.Intersect oldValue value + let intersection = BitVector.Intersect oldValue value if intersection.isInvalid then - assert (oldExpl <> Negate negPABool) - let cls = collectLiterals([ negPABool; - Negate oldExpl; - ]) + assert (oldExpl <> Negate l) + let cls = collectLiterals([ Negate l; Negate oldExpl; ]) cnflct <- Some (ref (newClauseFromList cls)) elif USE_BOUNDS then