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