Unrestricted depth-three lower bound: core #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/DepthThree/Core.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.
@[reducible, inline]
A finite set of signed input literals, interpreted as a disjunction.
Equations
Instances For
@[reducible, inline]
A list of clauses, interpreted as a conjunction.
Instances For
noncomputable def
Complexity.DepthThreeLowerBound.Clause.scope
{V : Type uDepth3}
(C : Clause V)
:
Finset V
The variables appearing in a clause, forgetting signs.
Equations
- C.scope = Finset.image Prod.fst C
Instances For
theorem
Complexity.DepthThreeLowerBound.Clause.Normalized.subset
{V : Type uDepth3}
{C D : Clause V}
(hD : D.Normalized)
(h : C ⊆ D)
:
theorem
Complexity.DepthThreeLowerBound.Clause.Normalized.fst_injOn
{V : Type uDepth3}
{C : Clause V}
(h : C.Normalized)
:
theorem
Complexity.DepthThreeLowerBound.Clause.Normalized.card_eq_width
{V : Type uDepth3}
{C : Clause V}
(h : C.Normalized)
:
Every clause involves at most the given number of distinct variables.
Equations
- H.WidthAtMost b = ∀ C ∈ H, C.width ≤ b
Instances For
Every clause has at most one sign for each variable.
Equations
- H.Normalized = ∀ C ∈ H, C.Normalized
Instances For
theorem
Complexity.DepthThreeLowerBound.CNF.WidthAtMost.mono
{V : Type uDepth3}
{H : CNF V}
{b c : ℕ}
(h : H.WidthAtMost b)
(hbc : b ≤ c)
:
H.WidthAtMost c