Sunflower plucking for clique approximators #
A bounded-width clique approximator is a finite family of vertex sets. A sunflower pluck removes all petals and inserts their common core. This can only enlarge the accepted graph set, and it strictly decreases the number of terms when there are at least two petals.
Repeated plucking therefore terminates. The resulting normal form has at
most Sunflower.bound petals width terms, and the number of plucks is at most
the cardinality of the starting family.
A finite family of finite vertex sets.
Equations
Instances For
A family is a bounded-width clique DNF.
Equations
- Algebraic.Monotone.Clique.Plucking.Bounded width family = ∀ set ∈ family, set.card ≤ width
Instances For
One sunflower replacement.
- petals : Family n
The sunflower terms removed by this step.
The common core inserted by this step.
- petals_subset : self.petals ⊆ before
Every removed petal belonged to the starting family.
The selected sunflower has the requested number of petals.
- sunflower : Sunflower.IsSunflowerWithCore self.petals self.core
Distinct selected petals have exactly the recorded core in common.
The result removes all petals and inserts their core.
Instances For
A sunflower core lies in each petal when there are at least two petals.
One pluck strictly reduces family cardinality.
A pluck preserves every graph accepted by the starting family.
A proof-relevant sequence of exactly steps plucks.
- refl {petalCount n : ℕ} (family : Family n) : Reduction petalCount 0 family family
- step {petalCount n : ℕ} {before middle after : Family n} {steps : ℕ} : ∀ (a : Step petalCount before middle), Reduction petalCount steps middle after → Reduction petalCount (steps + 1) before after
Instances For
Bounded width is preserved throughout a reduction.
Acceptance is monotone throughout a reduction.
Every finite family reduces to a sunflower-free family.
A chosen terminal sunflower-free normal form.
Equations
- Algebraic.Monotone.Clique.Plucking.normalize petalCount two_le family = Classical.choose ⋯
Instances For
Number of plucks in the chosen normalization.
Equations
- Algebraic.Monotone.Clique.Plucking.normalizeSteps petalCount two_le family = Classical.choose ⋯
Instances For
The chosen normal form comes with a reduction certificate.
The chosen normal form is sunflower-free.
Normalization uses at most one pluck per starting term.