Equations
- f1.Entails f2 = ∀ (a : α → Bool), Std.Sat.CNF.Sat a f1 → Std.Sat.CNF.Sat a f2
Instances For
Equations
- f.EntailsClause c = ∀ (a : α → Bool), Std.Sat.CNF.Sat a f → Std.Sat.CNF.Clause.Sat a c
Instances For
theorem Std.Sat.CNF.entails_add_of_entails_clause {α : Type u_1} (f : CNF α) (c : Clause α) (h : f.EntailsClause c) :
theorem Std.Sat.CNF.unsat_of_entails_clause_unsat {α : Type u_1} {f : CNF α} {c : Clause α} (h1 : c.Unsat) (h2 : f.EntailsClause c) :
f.Unsat
theorem Std.Sat.CNF.entails_clause_append_of_forall {α : Type u_1} {f : CNF α} {c1 c2 : Clause α} (h : ∀ (a : α → Bool), Sat a f → Clause.Sat a c1 ∨ Clause.Sat a c2) :
f.EntailsClause (c1 ++ c2)
theorem Std.Sat.CNF.entails_clause_append_left {α : Type u_1} {f : CNF α} {c1 c2 : Clause α} (h : f.EntailsClause c1) :
f.EntailsClause (c1 ++ c2)
theorem Std.Sat.CNF.entails_clause_append_right {α : Type u_1} {f : CNF α} {c1 c2 : Clause α} (h : f.EntailsClause c2) :
f.EntailsClause (c1 ++ c2)
theorem Std.Sat.CNF.entails_clause_append_comm {α : Type u_1} {f : CNF α} {c1 c2 : Clause α} (h : f.EntailsClause (c1 ++ c2)) :
f.EntailsClause (c2 ++ c1)
theorem Std.Sat.CNF.unsat_of_entails_clause_append_unsat {α : Type u_1} {f : CNF α} {c1 c2 : Clause α} (h1 : c1.Unsat) (h2 : c2.Unsat) (h3 : f.EntailsClause (c1 ++ c2)) :
f.Unsat
theorem Std.Sat.CNF.entails_clause_of_mem {α : Type u_1} {f : CNF α} {c : Clause α} (h : c ∈ f) :
f.EntailsClause c
@[simp]
theorem Std.Sat.CNF.entails_clause_add {α : Type u_1} {f : CNF α} {c : Clause α} :
(f.add c).EntailsClause c
theorem Std.Sat.CNF.entails_clause_trans {α : Type u_1} {f g : CNF α} {c : Clause α} (h1 : f.Entails g) (h2 : g.EntailsClause c) :
f.EntailsClause c