OAI/Algebra/GroupRing/MultiplicityBound.lean
27 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.TorsionFreeZeroDivisors.MultiplicityBound.closed_weightline 16Source documentation
Every nonempty reduced closed walk pays at least the cycle girth, even when subdivision spokes have zero weight.
theorem closed_weight (w : Sym2 V → ℝ) (hw : ∀ e, 0 ≤ w e) (L : ℝ) (hg : ∀ a (c : G.Walk a a), c.IsCycle → L ≤ weight w c) {a : V} (p : G.Walk a a) (hp : p.edges.IsChain (· ≠ ·)) (hne : ¬ p.Nil) : L ≤ weight w p := by … - theorem
OAI.TorsionFreeZeroDivisors.MultiplicityBound.visit_boundline 26Source documentation
Vertex visits in any reduced walk are uniformly bounded in terms of expanded length divided by girth. This counts occurrences, not just edges.
theorem visit_bound [DecidableEq V] (w : Sym2 V → ℝ) (hw : ∀ e, 0 ≤ w e) (L : ℝ) (hL : 0 ≤ L) (hg : ∀ a (c : G.Walk a a), c.IsCycle → L ≤ weight w c) {a b : V} (p : G.Walk a b) (hp : p.edges.IsChain (· ≠ ·)) (x : V) : (p.support.count x : ℝ)*L ≤ weight w p + L := by … - def
OAI.TorsionFreeZeroDivisors.PathMultiplicity.pathChainline 94Source documentation
Convert a literal nonempty dart path to the dependent chain encoding.
def pathChain (x : D) : (xs : List D) → Chain D xs.length | [] => x | y::ys => (x,pathChain y ys)
- lemma
OAI.TorsionFreeZeroDivisors.PathMultiplicity.pathChain_headline 98 - lemma
OAI.TorsionFreeZeroDivisors.PathMultiplicity.pathChain_wordline 101 - lemma
OAI.TorsionFreeZeroDivisors.PathMultiplicity.pathChain_goodline 106 - lemma
OAI.TorsionFreeZeroDivisors.PathMultiplicity.draw_countline 115Source documentation
A port appears once per traversal of its undirected edge in the physical subdivision walk, in either direction. Spoke vertices do not add occurrences.
lemma draw_count {k : ℕ} (p : Chain D k) (hp : Good Γ p) (x : D) : (draw Γ p hp).support.count (Sum.inr x) = (outWord p).count x + (outWord p).count (Γ.reverse x) := by … - lemma
OAI.TorsionFreeZeroDivisors.PathMultiplicity.pathChain_costline 141 - theorem
OAI.TorsionFreeZeroDivisors.PathMultiplicity.path_edge_boundline 153Source documentation
The undirected edge count for a literal port path bounds each orientation in particular.
theorem path_edge_bound (L : ℝ) (hL : 0≤L) (hg : ∀ a (c : Γ.subdivision.Walk a a), c.IsCycle → L ≤ weight (edgeWeight (fun _ : D => 1)) c) (p : List D) (hp : p.IsChain (PortWalk.step Γ.origin Γ.reverse)) (x : D) : ((p.count x + p.count (Γ.reverse x):ℕ):ℝ)*L ≤ p.length + L := by … - lemma
OAI.TorsionFreeZeroDivisors.ChainPaths.reverse_mem_wordline 182 - lemma
OAI.TorsionFreeZeroDivisors.ChainPaths.undirected_multiplicity_constantline 206 - theorem
OAI.TorsionFreeZeroDivisors.PathMultiplicity.total_edge_boundline 222Source documentation
Summing the literal edge-multiplicity estimate over the given path system.
theorem total_edge_bound (L : ℝ) (hL : 0≤L) (hg : ∀ a (c : Γ.subdivision.Walk a a), c.IsCycle → L ≤ weight (edgeWeight (fun _ : D => 1)) c) (p : I → List D) (hp : ∀ i, (p i).IsChain (WeightedMoore.PortWalk.step Γ.origin Γ.reverse)) (x : D) : (∑ i, ((p i).count x + (p i).count (Γ.reverse x)):ℕ)*L ≤ (∑ i, (p i).length : ℕ)+(Fintype.card I:ℝ)*L := by …Mentions: OAI.TorsionFreeZeroDivisors.WeightedMoore.PortWalk.step
- lemma
OAI.TorsionFreeZeroDivisors.ChainPaths.start_mem_wordline 245 - lemma
OAI.TorsionFreeZeroDivisors.ChainPaths.sum_count_eq_lengthline 250 - theorem
OAI.TorsionFreeZeroDivisors.ChainPaths.total_chain_boundline 260Source documentation
The number of chain traversals is bounded independently of their lengths.
theorem total_chain_bound {I : Type*} [Fintype I] (L : ℝ) (hL : 0≤L) (hg : ∀ a (c : Γ.subdivision.Walk a a), c.IsCycle → L ≤ weight (edgeWeight (fun _ : D => 1)) c) (ds : I → List B) (hp : ∀ i, ((ds i).flatMap (word Γ mark h2)).IsChain (PortWalk.step Γ.origin Γ.reverse)) : (∑ i, (ds i).length : ℕ)*L ≤ (Fintype.card B:ℝ)* ((∑ i, ((ds i).flatMap (word Γ mark h2)).length : ℕ)+(Fintype.card I:ℝ)*L) := by … - theorem
OAI.TorsionFreeZeroDivisors.ChainPaths.bounded_chain_traversalsline 290Source documentation
A uniform integer bound in terms of the length, path count, and chain count.
theorem bounded_chain_traversals {I : Type*} [Fintype I] (C : ℝ) (hC : 0≤C) (K R : ℕ) (hI : Fintype.card I≤K) (hB : Fintype.card B≤R) (L : ℝ) (hL : 0<L) (hg : ∀ a (c : Γ.subdivision.Walk a a), c.IsCycle → L ≤ weight (edgeWeight (fun _ : D => 1)) c) (ds : I → List B) (hp : ∀ i, ((ds i).flatMap (word Γ mark h2)).IsChain (PortWalk.step Γ.origin Γ.reverse)) (hH : (∑ i, ((ds i).flatMap (word Γ mark h2)).length : ℕ) ≤ C*L) : ∑ i, (ds i).length ≤ ⌈(R:ℝ)*(C+K)⌉₊ := by … - structure
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passagesline 322Source documentation
An incidence remembers its occurrence and which (oriented) half-edge it uses. Passages pair incidences at a vertex; path endpoints are fixed points.
structure Passages (origin : D → V) (port : O → D) extends Pairing O where …
- abbrev
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.AtVertexline 329 - def
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.localPairingline 331 - def
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.multiplicityline 335 - def
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.maxMultiplicityline 336 - theorem
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.local_multiplicityline 340 - theorem
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.local_balanceline 352 - theorem
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.sum_vertex_cardsline 372 - theorem
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.sum_endpoint_cardsline 378 - theorem
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.total_balanceline 395Source documentation
Exact incidence balance before any probabilities or asymptotic estimates. It remains valid when a loop contributes two distinct half-edges at a vertex.
theorem total_balance : 2 * (∑ v : V, maxMultiplicity (origin := origin) (port := port) v) ≤ …Mentions: OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.maxMultiplicity
- theorem
OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.image_vertex_boundline 406Source documentation
Each edge occurrence has two incidences, and zero or one interval contributes zero or two endpoints.
theorem image_vertex_bound (H iota : ℕ) (hH : Fintype.card O = 2*H) (hiota : Fintype.card P.toPairing.Unmatched = 2*iota) : (∑ v : V, maxMultiplicity (origin := origin) (port := port) v) ≤ H+iota := by …Mentions: OAI.TorsionFreeZeroDivisors.IncidenceStages.Passages.maxMultiplicity