OAI/Topology/EilenbergGanea/LevelTransport.lean
58 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.EilenbergGanea.LevelTransport.pointline 18 - theorem
OAI.EilenbergGanea.LevelTransport.point_valline 29 - theorem
OAI.EilenbergGanea.LevelTransport.point_mem_supportline 32 - theorem
OAI.EilenbergGanea.LevelTransport.point_cliqueline 39 - theorem
OAI.EilenbergGanea.LevelTransport.point_stepline 48Source documentation
Both hypotheses refer to actual reduced Artin lengths, not an assumed word metric.
theorem point_step (g : ArtinGroup L) (x : Letter V) (hg : 0 < traceLength L (artinNormalTrace L g)) (hgx : 0 < traceLength L (artinNormalTrace L (g * letterValue (artinGenerator L) x))) (N : ℕ) (hNg : N ≤ traceLength L (artinNormalTrace L g)) (hNgx : N ≤ traceLength L (artinNormalTrace L (g * letterValue (artinGenerator L) x))) : Compatible L (point L hdim g hg) (point L hdim (g * letterValue (artinGenerator L) x) hgx) ∧ dist (point L hdim g hg) (point L hdim (g * letterValue (artinGenerator L) x) hgx) ≤ 2 / (N+1 : ℝ) := by …Mentions: OAI.EilenbergGanea.artinGenerator, OAI.EilenbergGanea.LevelTransport.point
- abbrev
OAI.EilenbergGanea.LevelTransport.NegativeLevelline 84Source documentation
The integral level downstairs; the action is by left multiplication by the height kernel.
abbrev NegativeLevel (N : ℕ) := {g : ArtinGroup L // (height L g).toAdd = -(N : ℤ)} … - theorem
OAI.EilenbergGanea.LevelTransport.negative_level_lengthline 87 - def
OAI.EilenbergGanea.LevelTransport.levelPointline 94 - theorem
OAI.EilenbergGanea.LevelTransport.levelPoint_valline 97 - def
OAI.EilenbergGanea.LevelTransport.upperVertexline 100 - def
OAI.EilenbergGanea.LevelTransport.edgeVertexline 108 - theorem
OAI.EilenbergGanea.LevelTransport.edgeVertex_reverseline 116 - theorem
OAI.EilenbergGanea.LevelTransport.upperVertex_reverseline 123 - theorem
OAI.EilenbergGanea.LevelTransport.upperPoint_stepline 129 - def
OAI.EilenbergGanea.LevelTransport.edgeLabelline 148 - theorem
OAI.EilenbergGanea.LevelTransport.edgeLabel_reverseline 153 - theorem
OAI.EilenbergGanea.LevelTransport.edgeLabel_uniformline 164 - theorem
OAI.EilenbergGanea.LevelTransport.triangle_of_shortline 187Source documentation
Six compatible generator pieces around a level triangle lie in one flat chart once the three edge images are uniformly short.
theorem triangle_of_short (hf : FlatConnection L h) (hQ : GeneralPosition h Q) (b c d u v w : TrianglePoint V) (δ : ℝ) (hδ : 0 < δ) (hsmall : 4 * δ < 1 / (Fintype.card V + 1 : ℝ)) (hb : CliquePoint L b) (hc : CliquePoint L c) (hd : CliquePoint L d) (hu : CliquePoint L u) (hv : CliquePoint L v) (hw : CliquePoint L w) (hbu : Compatible L b u) (huc : Compatible L u c) (hcv : Compatible L c v) (hvd : Compatible L v d) (hdw : Compatible L d w) (hwb : Compatible L w b) (dbu : dist b u ≤ δ) (duc : dist u c ≤ δ) (dcv : dist c v ≤ δ) (dvd : dist v d ≤ δ) (_ddw : dist d w ≤ δ) (dwb : dist w b ≤ δ) : edgeTransport h Q b u c * edgeTransport h Q c v d * edgeTransport h Q d w b = 1 := by … - theorem
OAI.EilenbergGanea.LevelTransport.edgeLabel_triangleline 214Source documentation
Every oriented three-edge loop with these actual level endpoints is flat. In particular both kinds of sections of a three-cube are covered.
theorem edgeLabel_triangle (hf : FlatConnection L h) (hQ : GeneralPosition h Q) (N : ℕ) (hN : 1 < N) (hsize : 8 / (N : ℝ) < 1 / (Fintype.card V + 1 : ℝ)) (g₀ g₁ g₂ : NegativeLevel L N) (q₀ r₀ q₁ r₁ q₂ r₂ : V) (e₀ : edgeVertex L N g₀ q₀ r₀ = g₁) (e₁ : edgeVertex L N g₁ q₁ r₁ = g₂) (e₂ : edgeVertex L N g₂ q₂ r₂ = g₀) : edgeLabel L hdim h Q N hN g₀ q₀ r₀ * edgeLabel L hdim h Q N hN g₁ q₁ r₁ * edgeLabel L hdim h Q N hN g₂ q₂ r₂ = 1 := by …Mentions: OAI.EilenbergGanea.LevelTransport.NegativeLevel, OAI.EilenbergGanea.LevelTransport.edgeVertex, OAI.EilenbergGanea.LevelTransport.edgeLabel
- def
OAI.EilenbergGanea.LevelTransport.vertexPointline 258Source documentation
A vertex of the simplex is also an honest point of its two-skeleton.
def vertexPoint (v : V) : TrianglePoint V := …
- theorem
OAI.EilenbergGanea.LevelTransport.vertexPoint_valline 268 - theorem
OAI.EilenbergGanea.LevelTransport.star_vertexline 271 - theorem
OAI.EilenbergGanea.LevelTransport.negative_powers_upperline 277 - theorem
OAI.EilenbergGanea.LevelTransport.powersPoint_starline 291Source documentation
Negative commuting powers remain exactly in their two-coordinate face.
theorem powersPoint_star {q r : V} (hqr : L.Adj q r) (n m : ℕ) (hg : 0 < traceLength L (artinNormalTrace L ((artinGenerator L q)⁻¹ ^ n * (artinGenerator L r)⁻¹ ^ m))) : Star L q (point L hdim ((artinGenerator L q)⁻¹ ^ n * (artinGenerator L r)⁻¹ ^ m) hg) := by …Mentions: OAI.EilenbergGanea.artinGenerator, OAI.EilenbergGanea.LevelTransport.point
- theorem
OAI.EilenbergGanea.LevelTransport.powersPoint_firstline 306Source documentation
Constant endpoint in the q-direction, stated with a concrete positive height.
theorem powersPoint_first {q r : V} (hqr : L.Adj q r) (N : ℕ) (hN : 0 < N) (hg : 0 < traceLength L (artinNormalTrace L ((artinGenerator L q)⁻¹ ^ N * (artinGenerator L r)⁻¹ ^ 0))) : point L hdim ((artinGenerator L q)⁻¹ ^ N * (artinGenerator L r)⁻¹ ^ 0) hg = vertexPoint q := by …Mentions: OAI.EilenbergGanea.artinGenerator, OAI.EilenbergGanea.LevelTransport.point, OAI.EilenbergGanea.LevelTransport.vertexPoint
- theorem
OAI.EilenbergGanea.LevelTransport.powersPoint_lastline 317 - def
OAI.EilenbergGanea.LevelTransport.powerVertexline 328 - theorem
OAI.EilenbergGanea.LevelTransport.powerVertex_stepline 337 - theorem
OAI.EilenbergGanea.LevelTransport.powerVertex_upperline 347 - theorem
OAI.EilenbergGanea.LevelTransport.powerVertex_starline 356 - theorem
OAI.EilenbergGanea.LevelTransport.powerVertex_upper_starline 360 - theorem
OAI.EilenbergGanea.LevelTransport.powerLabel_chartline 369 - inductive
OAI.EilenbergGanea.LevelTransport.Walkline 386Source documentation
Directed walks retain the chosen generator pair, including parallel edges.
inductive Walk (N : ℕ) : NegativeLevel L N → NegativeLevel L N → Type _ | nil (g : NegativeLevel L N) : Walk N g g | cons {g k : NegativeLevel L N} (q r : V) (hqr : L.Adj q r) (p : Walk N (edgeVertex L N g q r) k) : Walk N g k namespace Walk variable {L} {N : ℕ}Mentions: OAI.EilenbergGanea.LevelTransport.NegativeLevel, OAI.EilenbergGanea.LevelTransport.edgeVertex
- def
OAI.EilenbergGanea.LevelTransport.Walk.appendline 394 - def
OAI.EilenbergGanea.LevelTransport.Walk.castline 398 - def
OAI.EilenbergGanea.LevelTransport.walkProductline 403 - theorem
OAI.EilenbergGanea.LevelTransport.walkProduct_nilline 407 - theorem
OAI.EilenbergGanea.LevelTransport.walkProduct_consline 410 - theorem
OAI.EilenbergGanea.LevelTransport.walkProduct_appendline 415 - theorem
OAI.EilenbergGanea.LevelTransport.walkProduct_castline 423 - theorem
OAI.EilenbergGanea.LevelTransport.exists_powerWalkline 429Source documentation
The entire subdivided edge has the exact endpoint transport, not merely a limit.
theorem exists_powerWalk (hf : FlatConnection L h) (hQ : GeneralPosition h Q) (N : ℕ) (hN : 1 < N) {q r : V} (hqr : L.Adj q r) (k : ℕ) (hk : k ≤ N) : ∃ p : Walk L N (powerVertex L N q r 0) (powerVertex L N q r k), walkProduct L hdim h Q N hN p = chartTransport h Q q (levelPoint L hdim N (by omega) (powerVertex L N q r 0)) (levelPoint L hdim N (by omega) (powerVertex L N q r k)) := by …Mentions: OAI.EilenbergGanea.LevelTransport.Walk, OAI.EilenbergGanea.LevelTransport.powerVertex, OAI.EilenbergGanea.LevelTransport.walkProduct, OAI.EilenbergGanea.LevelTransport.levelPoint
- def
OAI.EilenbergGanea.LevelTransport.pureVertexline 447 - theorem
OAI.EilenbergGanea.LevelTransport.powerVertex_zeroline 454 - theorem
OAI.EilenbergGanea.LevelTransport.powerVertex_lastline 458 - def
OAI.EilenbergGanea.LevelTransport.vertexGaugeline 461 - theorem
OAI.EilenbergGanea.LevelTransport.levelPoint_power_zeroline 463 - theorem
OAI.EilenbergGanea.LevelTransport.levelPoint_power_lastline 471 - theorem
OAI.EilenbergGanea.LevelTransport.exists_expanded_edgeline 479 - def
OAI.EilenbergGanea.LevelTransport.graphWalkProductline 494 - theorem
OAI.EilenbergGanea.LevelTransport.exists_expanded_walkline 498 - theorem
OAI.EilenbergGanea.LevelTransport.graphWalkProduct_eq_zipWithline 514 - theorem
OAI.EilenbergGanea.LevelTransport.exists_nontrivial_level_walkline 525Source documentation
A nontrivial seed holonomy survives every sufficiently translated level.
theorem exists_nontrivial_level_walk (hf : FlatConnection L h) (hQ : GeneralPosition h Q) (N : ℕ) (hN : 1 < N) {q : V} (w : L.Walk q q) (hw : graphWalkProduct L h w ≠ 1) : ∃ p : Walk L N (pureVertex L N q) (pureVertex L N q), walkProduct L hdim h Q N hN p ≠ 1 := by …Mentions: OAI.EilenbergGanea.LevelTransport.graphWalkProduct, OAI.EilenbergGanea.LevelTransport.Walk, OAI.EilenbergGanea.LevelTransport.pureVertex, OAI.EilenbergGanea.LevelTransport.walkProduct
- def
OAI.EilenbergGanea.LevelTransport.Walk.evalline 545 - theorem
OAI.EilenbergGanea.LevelTransport.walkProduct_eq_evalline 551 - def
OAI.EilenbergGanea.SourceTransport.seedWalkline 563 - theorem
OAI.EilenbergGanea.SourceTransport.seedWalk_supportline 567 - theorem
OAI.EilenbergGanea.SourceTransport.seedWalk_product_neline 570 - theorem
OAI.EilenbergGanea.SourceTransport.source_small_labelsline 576Source documentation
Actual small flat transport for the fixed source level graph. There are no representation, direction-map, local-chart, or nontriviality hypotheses here.
theorem source_small_labels (ε : ℝ) (hε : 0 < ε) : ∃ N : ℕ, 1 < N ∧ ∃ a : NegativeLevel seedGraph N → SeedCell → SeedCell → SU2, (∀ g q r, a (edgeVertex seedGraph N g q r) r q = (a g q r)⁻¹) ∧ (∀ g q r, dist (a g q r) 1 < ε) ∧ (∀ g₀ g₁ g₂ q₀ r₀ q₁ r₁ q₂ r₂, edgeVertex seedGraph N g₀ q₀ r₀ = g₁ → edgeVertex seedGraph N g₁ q₁ r₁ = g₂ → edgeVertex seedGraph N g₂ q₂ r₂ = g₀ → a g₀ q₀ r₀ * a g₁ q₁ r₁ * a g₂ q₂ r₂ = 1) ∧ ∃ (g : NegativeLevel seedGraph N) (p : Walk seedGraph N g g), p.eval a ≠ 1 := by …Mentions: OAI.EilenbergGanea.SeedCell, OAI.EilenbergGanea.SU2