Unrestricted depth-three lower bound: sunflower #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/DepthThree/Sunflower.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.
def
Complexity.DepthThreeLowerBound.Sunflower
{α : Type uDepth1}
[DecidableEq α]
(family : Finset (Finset α))
(core : Finset α)
:
A finite family whose pairwise intersections are its common core.
Equations
- Complexity.DepthThreeLowerBound.Sunflower family core = ∀ A ∈ family, ∀ B ∈ family, A ≠ B → A ∩ B = core
Instances For
def
Complexity.DepthThreeLowerBound.eraseContaining
{α : Type uDepth1}
[DecidableEq α]
(family : Finset (Finset α))
(x : α)
:
Remove a selected element from the sets that contain it.
Equations
- Complexity.DepthThreeLowerBound.eraseContaining family x = Finset.image (fun (A : Finset α) => A.erase x) ({A ∈ family | x ∈ A})
Instances For
theorem
Complexity.DepthThreeLowerBound.no_nonempty_core_sunflower_occurrence_le
{α : Type uDepth1}
[DecidableEq α]
(family : Finset (Finset α))
(i r : ℕ)
(hr : 2 ≤ r)
(uniform : ∀ A ∈ family, A.card = i + 1)
(hno : ∀ sub ⊆ family, sub.card = r → ∀ (core : Finset α), core.Nonempty → ¬Sunflower sub core)
(x : α)
: