This module contains the implementation of the LRAT checker as well as a proof that the given CNF is unsat if the checker succeeds.
def
Std.Tactic.BVDecide.LRAT.check
(lratProof : Array Std.Tactic.BVDecide.LRAT.IntAction)
(cnf : Std.Sat.CNF Nat)
:
Check whether lratProof
is a valid LRAT certificate for the unsatisfiability of cnf
.
Instances For
theorem
Std.Tactic.BVDecide.LRAT.check_sound
(lratProof : Array Std.Tactic.BVDecide.LRAT.IntAction)
(cnf : Std.Sat.CNF Nat)
:
Std.Tactic.BVDecide.LRAT.check lratProof cnf = true → cnf.Unsat
If the check
functions succeeds on lratProof
and cnf
then the cnf
is unsatisfiable.