Unrestricted depth-three lower bound: sparse normalize #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/DepthThree/SparseNormalize.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.
theorem
Complexity.DepthThreeLowerBound.Clause.eval_of_not_normalized
{V : Type uDepth1}
{C : Clause V}
(hC : ¬C.Normalized)
(x : Cube V)
:
noncomputable def
Complexity.DepthThreeLowerBound.sparseNormalizedFamily
{V : Type uDepth1}
(H : CNF V)
:
Normalize a CNF into its finite family of minimal clauses.
Equations
Instances For
theorem
Complexity.DepthThreeLowerBound.mem_sparseNormalizedFamily
{V : Type uDepth1}
{H : CNF V}
{C : Clause V}
:
theorem
Complexity.DepthThreeLowerBound.sparseNormalizedFamily_eval
{V : Type uDepth1}
(H : CNF V)
(x : Cube V)
:
structure
Complexity.DepthThreeLowerBound.SparseNormalization
{V : Type uDepth1}
(H : CNF V)
(b : ℕ)
:
Type uDepth1
A normalized clause family with its width and semantic guarantees.
The currently active clauses.
- normalized (C : Clause V) : C ∈ self.active → C.Normalized
- nonempty (C : Clause V) : C ∈ self.active → Finset.Nonempty C
Instances For
noncomputable def
Complexity.DepthThreeLowerBound.sparseNormalizeOfNoEmpty
{V : Type uDepth1}
(H : CNF V)
{b : ℕ}
(hwidth : H.WidthAtMost b)
(hempty : ∅ ∉ H)
:
Normalize a CNF that contains no empty clause.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Complexity.DepthThreeLowerBound.exists_sparseNormalization_or_false
{V : Type uDepth1}
(H : CNF V)
{b : ℕ}
(hwidth : H.WidthAtMost b)
: