3SAT and decoupled 5SAT formulas #
Literals, clauses and satisfaction, for the succinct Cook–Levin theorem
(planning/succinct-cook-levin.md). A 3SAT formula is a set of clauses, each of exactly
three literals (a clause of fewer literals repeats one: x ∨ x ∨ x), and a decoupled 5SAT
formula (answer_reduction.tex, "Decoupled 5SAT and its succinct descriptions") is a set
of clauses with one literal from each of five blocks of variables, evaluated on five
separate assignments. The literal x^o of the paper is ⟨x, o⟩: positive when o = true.
Equations
Instances For
@[instance_reducible]
@[instance_reducible]
instance
MIPRE.SAT.instDecidableEqClause3
{V✝ : Type u_1}
[DecidableEq V✝]
:
DecidableEq (Clause3 V✝)
Equations
- One or more equations did not get rendered due to their size.
Instances For
The value of a clause.
Equations
- MIPRE.SAT.Clause3.eval w c = (MIPRE.SAT.Lit.eval w c.l₁ || MIPRE.SAT.Lit.eval w c.l₂ || MIPRE.SAT.Lit.eval w c.l₃)
Instances For
@[reducible, inline]
A 3SAT formula on the variables V: a set of clauses.
Equations
- MIPRE.SAT.Cnf3 V = Set (MIPRE.SAT.Clause3 V)
Instances For
def
MIPRE.SAT.Clause5.eval
{V₁ : Type u_1}
{V₂ : Type u_2}
{V₃ : Type u_3}
{V₄ : Type u_4}
{V₅ : Type u_5}
(w₁ : V₁ → Bool)
(w₂ : V₂ → Bool)
(w₃ : V₃ → Bool)
(w₄ : V₄ → Bool)
(w₅ : V₅ → Bool)
(c : Clause5 V₁ V₂ V₃ V₄ V₅)
:
The value of a decoupled clause on five assignments.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
abbrev
MIPRE.SAT.Cnf5
(V₁ : Type u_1)
(V₂ : Type u_2)
(V₃ : Type u_3)
(V₄ : Type u_4)
(V₅ : Type u_5)
:
Type (max (max (max (max u_5 u_4) u_3) u_2) u_1)
A decoupled 5SAT formula.
Equations
- MIPRE.SAT.Cnf5 V₁ V₂ V₃ V₄ V₅ = Set (MIPRE.SAT.Clause5 V₁ V₂ V₃ V₄ V₅)
Instances For
def
MIPRE.SAT.Cnf5.Sat
{V₁ : Type u_1}
{V₂ : Type u_2}
{V₃ : Type u_3}
{V₄ : Type u_4}
{V₅ : Type u_5}
(φ : Cnf5 V₁ V₂ V₃ V₄ V₅)
(w₁ : V₁ → Bool)
(w₂ : V₂ → Bool)
(w₃ : V₃ → Bool)
(w₄ : V₄ → Bool)
(w₅ : V₅ → Bool)
:
The five assignments satisfy every clause of φ.
Equations
- φ.Sat w₁ w₂ w₃ w₄ w₅ = ∀ c ∈ φ, MIPRE.SAT.Clause5.eval w₁ w₂ w₃ w₄ w₅ c = true