source
theorem Std.Tactic.BVDecide.LRAT.Internal.addEmptyCaseSound {α : Type u_1} {β : Type u_2} {σ : Type u_3} [DecidableEq α] [Clause α β] [Entails α σ] [Formula α β σ] (f : σ) (f_readyForRupAdd : Formula.ReadyForRupAdd f) (rupHints : Array Nat) (rupAddSuccess : (Formula.performRupAdd f Clause.empty rupHints).snd = true) :
Unsatisfiable α f
source
theorem Std.Tactic.BVDecide.LRAT.Internal.addRupCaseSound {α : Type u_1} {β : Type u_2} {σ : Type u_3} [DecidableEq α] [Clause α β] [Entails α σ] [Formula α β σ] (f : σ) (f_readyForRupAdd : Formula.ReadyForRupAdd f) (f_readyForRatAdd : Formula.ReadyForRatAdd f) (c : β) (f' : σ) (rupHints : Array Nat) (heq : Formula.performRupAdd f c rupHints = (f', true)) (restPrf : List (Action β α)) (restPrfWellFormed : ∀ (a : Action β α), a ∈ restPrf → WellFormedAction a) (ih : Formula.ReadyForRupAdd f' → Formula.ReadyForRatAdd f' → (∀ (a : Action β α), a ∈ restPrf → WellFormedAction a) → lratChecker f' restPrf = Result.success → Unsatisfiable α f') (f'_success : lratChecker f' restPrf = Result.success) :
Unsatisfiable α f
source
theorem Std.Tactic.BVDecide.LRAT.Internal.addRatCaseSound {α : Type u_1} {β : Type u_2} {σ : Type u_3} [DecidableEq α] [Clause α β] [Entails α σ] [Formula α β σ] (f : σ) (f_readyForRupAdd : Formula.ReadyForRupAdd f) (f_readyForRatAdd : Formula.ReadyForRatAdd f) (c : β) (pivot : Sat.Literal α) (f' : σ) (rupHints : Array Nat) (ratHints : Array (Nat × Array Nat)) (pivot_limplies_c : Limplies α pivot c) (heq : Formula.performRatAdd f c pivot rupHints ratHints = (f', true)) (restPrf : List (Action β α)) (restPrfWellFormed : ∀ (a : Action β α), a ∈ restPrf → WellFormedAction a) (ih : Formula.ReadyForRupAdd f' → Formula.ReadyForRatAdd f' → (∀ (a : Action β α), a ∈ restPrf → WellFormedAction a) → lratChecker f' restPrf = Result.success → Unsatisfiable α f') (f'_success : lratChecker f' restPrf = Result.success) :
Unsatisfiable α f
source
theorem Std.Tactic.BVDecide.LRAT.Internal.delCaseSound {α : Type u_1} {β : Type u_2} {σ : Type u_3} [DecidableEq α] [Clause α β] [Entails α σ] [Formula α β σ] (f : σ) (f_readyForRupAdd : Formula.ReadyForRupAdd f) (f_readyForRatAdd : Formula.ReadyForRatAdd f) (ids : Array Nat) (restPrf : List (Action β α)) (restPrfWellFormed : ∀ (a : Action β α), a ∈ restPrf → WellFormedAction a) (ih : Formula.ReadyForRupAdd (Formula.delete f ids) → Formula.ReadyForRatAdd (Formula.delete f ids) → (∀ (a : Action β α), a ∈ restPrf → WellFormedAction a) → lratChecker (Formula.delete f ids) restPrf = Result.success → Unsatisfiable α (Formula.delete f ids)) (h : lratChecker (Formula.delete f ids) restPrf = Result.success) :
Unsatisfiable α f
source
theorem Std.Tactic.BVDecide.LRAT.Internal.lratCheckerSound {α : Type u_1} {β : Type u_2} {σ : Type u_3} [DecidableEq α] [Clause α β] [Entails α σ] [Formula α β σ] (f : σ) (f_readyForRupAdd : Formula.ReadyForRupAdd f) (f_readyForRatAdd : Formula.ReadyForRatAdd f) (prf : List (Action β α)) (prfWellFormed : ∀ (a : Action β α), a ∈ prf → WellFormedAction a) :
lratChecker f prf = Result.success → Unsatisfiable α f