- conflict : PropagateResult
- extended (assign : Assignment) : PropagateResult
- error : PropagateResult
Instances For
def Std.Tactic.BVDecide.LRAT.Internal.State.propagateHints (s : State) (assign : Assignment) (hints : Array Nat) :
Equations
- One or more equations did not get rendered due to their size.
Instances For
def Std.Tactic.BVDecide.LRAT.Internal.State.checkPropagate (s : State) (assign : Assignment) (rupHints : Array Nat) :
Equations
- s.checkPropagate assign rupHints = match s.propagateHints assign rupHints with | Std.Tactic.BVDecide.LRAT.Internal.PropagateResult.conflict => true | x => false
Instances For
def Std.Tactic.BVDecide.LRAT.Internal.State.checkRup (s : State) (clause : Sat.CNF.Clause Nat) (rupHints : Array Nat) :
Equations
- s.checkRup clause rupHints = (match Std.Tactic.BVDecide.LRAT.Internal.Assignment.ofClause clause with | some assignment => s.checkPropagate assignment rupHints | x => pure true).run
Instances For
theorem Std.Tactic.BVDecide.LRAT.Internal.State.unsat_of_propagateHints_eq_conflict {s : State} {assign : Assignment} {hints : Array Nat} (h : s.propagateHints assign hints = PropagateResult.conflict) :
theorem Std.Tactic.BVDecide.LRAT.Internal.State.entails_of_propagateHints_eq_extended {s : State} {assign : Assignment} {hints : Array Nat} {newAssign : Assignment} (h : s.propagateHints assign hints = PropagateResult.extended newAssign) :
theorem Std.Tactic.BVDecide.LRAT.Internal.State.unsat_of_checkPropagate {s : State} {assign : Assignment} {rupHints : Array Nat} (h : s.checkPropagate assign rupHints = true) :
theorem Std.Tactic.BVDecide.LRAT.Internal.State.entails_clause_of_checkRup {s : State} {clause : Sat.CNF.Clause Nat} {rupHints : Array Nat} (h : s.checkRup clause rupHints = true) :
s.toCNF.EntailsClause clause