Documentation

LeanPool.ErdosGinzburgZiv.EGZ.Decomposition.SupportParameters

Uniform chart parameters for support diagrams #

These bounds apply before a finite-field representation has been constructed. Only the ranks and integer support boxes enter the coordinate growth function and the prime threshold.

theorem EGZ.convexHull_subset_coordinateBox {n K : ℕ} {S : Set (IntCoord n)} (hS : ∀ z ∈ S, latticeSupNorm z ≤ K) :
(convexHull ℝ) (IntCoord.real '' S) ⊆ Set.Icc (fun (x : Fin n) => -↑K) fun (x : Fin n) => ↑K
theorem EGZ.latticeSupNorm_le_of_mem_convexHull {n K : ℕ} {S : Set (IntCoord n)} (hS : ∀ z ∈ S, latticeSupNorm z ≤ K) (q : IntCoord n) (hq : q.real ∈ (convexHull ℝ) (IntCoord.real '' S)) :
theorem EGZ.LatticeSupportDiagram.polytope_bound (D : LatticeSupportDiagram) {K : D.Node → ℕ} (hS : ∀ (x : D.Node), ∀ q ∈ D.support x, latticeSupNorm q ≤ K x) (x : D.Node) (q : IntCoord (D.rank x)) (hq : q.real ∈ (D.polytope x).carrier) :
theorem EGZ.exists_uniform_supportChart_parameters (r : ℕ) :
∃ (A : ℕ → ℕ), Monotone A ∧ (∀ (K : ℕ), K ≤ A K) ∧ ∀ (BK : ℕ), ∃ (p₀ : ℕ), 2 ≤ p₀ ∧ ∀ (p : ℕ) [NeZero p] [Fact (Nat.Prime p)], p₀ < p → ∀ (D : LatticeSupportDiagram) (K : D.Node → ℕ), (∀ (x : D.Node), D.rank x ≤ r) → (∀ (x : D.Node), ∀ q ∈ D.support x, latticeSupNorm q ≤ K x) → (∀ (x : D.Node), K x ≤ BK) → ∃ (C : (x : D.Node) → IntegerLatticeChart (D.support x)), (∀ (x : D.Node), Function.Injective ⇑((D.chart C x).modp p)) ∧ (∀ (x : D.Node), ∀ q ∈ (C x).coordinateSupport, IsCenteredLift p q) ∧ (∀ (x : D.Node) (q : IntCoord (C x).rank), latticeSupNorm ((C x).map q) ≤ K x → latticeSupNorm q ≤ A (K x)) ∧ ∀ (x : D.Node) (q : IntCoord (C x).rank), q.real ∈ ((D.chartedFlag C).polytope x).carrier → latticeSupNorm q ≤ A (K x)