Support gadgets and the substitution theorem #
Support patterns and frames #
The block hypergraphs used in a substitution construction.
Equations
Instances For
An occurrence of a support pattern in a support multiset.
Equations
Instances For
The support pattern attached to a given support-vertex occurrence.
Instances For
The underlying subset of [t] attached to a support occurrence.
Equations
Instances For
omegaCount F T I counts the occurrences of support patterns S in F
with S ⊆ T and |S ∩ I| = 1, counting multiplicity.
Equations
- HypergraphLowerBound.omegaCount F T I = {s : HypergraphLowerBound.SupportOcc F | HypergraphLowerBound.supportSetAt F s ⊆ T ∧ (HypergraphLowerBound.supportSetAt F s ∩ I).card = 1}.card
Instances For
A support multiset F is an n-frame if the frame inequality holds for every
I ⊆ T ⊆ [t].
Equations
- HypergraphLowerBound.IsFrame F cap = ∀ (T I : Finset (Fin t)), I ⊆ T → HypergraphLowerBound.omegaCount F T I ≤ (T \ I).sum cap
Instances For
Vertices of the substituted hypergraph: tagged block vertices together with one vertex for each occurrence of a support pattern.
- old {t : ℕ} {F : Multiset (SupportPattern t)} (i : Fin t) (v : ℕ) : SubstVertex t F
- new {t : ℕ} {F : Multiset (SupportPattern t)} (s : Fin F.card) : SubstVertex t F
Instances For
Equations
- One or more equations did not get rendered due to their size.
- HypergraphLowerBound.instDecidableEqSubstVertex.decEq (HypergraphLowerBound.SubstVertex.old i v) (HypergraphLowerBound.SubstVertex.new s) = isFalse ⋯
- HypergraphLowerBound.instDecidableEqSubstVertex.decEq (HypergraphLowerBound.SubstVertex.new s) (HypergraphLowerBound.SubstVertex.old i v) = isFalse ⋯
- HypergraphLowerBound.instDecidableEqSubstVertex.decEq (HypergraphLowerBound.SubstVertex.new a) (HypergraphLowerBound.SubstVertex.new b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
The substituted hypergraph whose vertices live in SubstVertex t F.
Equations
Instances For
The support vertices incident to every edge in block i.
Equations
Instances For
Lift one edge from block i into the substituted hypergraph.
Equations
- HypergraphLowerBound.liftBlockEdge F i e = Finset.image (fun (v : ℕ) => HypergraphLowerBound.SubstVertex.old i v) e ∪ HypergraphLowerBound.supportVerticesOnBlock F i
Instances For
The substitution hypergraph F[G_1, ..., G_t], realized as the hypergraph whose
vertices are tagged block vertices plus support vertices, and whose edges are the
lifted edges of the blocks.
Equations
- HypergraphLowerBound.substitutionHypergraph F blocks = Finset.univ.biUnion fun (i : Fin t) => Finset.image (HypergraphLowerBound.liftBlockEdge F i) (blocks i)
Instances For
The selected edges from block i inside a chosen subfamily P of the substituted
hypergraph.
Equations
- HypergraphLowerBound.selectedBlockEdges F blocks P i = {e ∈ blocks i | HypergraphLowerBound.liftBlockEdge F i e ∈ P}
Instances For
The number of selected edges from block i.
Equations
- HypergraphLowerBound.selectedBlockCount F blocks P i = Finset.card (HypergraphLowerBound.selectedBlockEdges F blocks P i)
Instances For
The number of selected edges from block i containing v.
Equations
- HypergraphLowerBound.selectedOldVertexCount F blocks P i v = {e ∈ HypergraphLowerBound.selectedBlockEdges F blocks P i | v ∈ e}.card
Instances For
The number of selected substituted edges incident to a support occurrence.
Equations
- HypergraphLowerBound.selectedSupportCount P s = {E ∈ P | HypergraphLowerBound.SubstVertex.new s ∈ E}.card
Instances For
The blocks from which at most one selected edge is taken.
Equations
- HypergraphLowerBound.tOf F blocks P = {i : Fin t | HypergraphLowerBound.selectedBlockCount F blocks P i ≤ 1}
Instances For
The blocks from which exactly one selected edge is taken.
Equations
- HypergraphLowerBound.iOf F blocks P = {i : Fin t | HypergraphLowerBound.selectedBlockCount F blocks P i = 1}
Instances For
The old vertices in block i that are seen exactly once by the selected family P.
Equations
- HypergraphLowerBound.oldUniqueVerticesOnBlock F blocks P i = {v ∈ HypergraphLowerBound.vertexSet (blocks i) | HypergraphLowerBound.selectedOldVertexCount F blocks P i v = 1}
Instances For
The support-vertex occurrences seen exactly once by the selected family P.
Equations
Instances For
The uniquely covered old vertices in the substituted hypergraph, grouped blockwise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The uniquely covered support vertices in the substituted hypergraph.
Equations
Instances For
The old vertices coming from the block hypergraphs, tagged by their block index.
Equations
- HypergraphLowerBound.oldVertexUnion F blocks = Finset.univ.biUnion fun (i : Fin t) => Finset.image (HypergraphLowerBound.SubstVertex.old i) (HypergraphLowerBound.vertexSet (blocks i))
Instances For
All support vertices of the substituted hypergraph, indexed by their occurrences in F.
Equations
Instances For
Substitution theorem #
The assumptions on a family of block hypergraphs needed for the qualitative substitution theorem.
- partitionBound (i : Fin t) : NoLargePartition (blocks i) (cap i)
Instances For
The additional edge/vertex count data needed for the quantitative recurrence.
- edgeDisjoint : Pairwise fun (i j : Fin t) => Disjoint (blocks i) (blocks j)
Instances For
If F is an n-frame and each block hypergraph has no partition larger than its
capacity, then the substituted hypergraph has no partition larger than the total
capacity. The hypotheses on pairwise disjoint vertex and edge sets match the setup
in frontier.tex.
Quantitative corollary of the substitution theorem used throughout the recursive
constructions. Since hypergraphs are encoded by their edge sets, "no isolated
vertices" is implicit in the use of vertexSet.