Unrestricted depth-three lower bound: sparse partition #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/DepthThree/SparsePartition.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.
structure
Complexity.DepthThreeLowerBound.SparsePartition
{V : Type u}
[Fintype V]
(H : CNF V)
(b M : ℕ)
(η : ℝ)
:
Type u
A finite partition into sparse CNF leaves with the required evaluation identity.
- count : ℕ
Number of pieces in the sparse partition.
The sparse CNF at each partition index.
- normalized (i : Fin self.count) : (self.piece i).Normalized
- width_le (i : Fin self.count) : (self.piece i).WidthAtMost b
Instances For
theorem
Complexity.DepthThreeLowerBound.exists_sparse_partition_constant
(b : ℕ)
(η : ℝ)
(hb : 1 ≤ b)
(hη : 0 < η)
:
∃ (M : ℕ),
0 < M ∧ ∀ (V : Type u) [inst : Fintype V] [DecidableEq V] (H : CNF V), H.WidthAtMost b → Nonempty (SparsePartition H b M η)