OAI/GroupTheory/ArtinCAT0/WordDiagram.lean
138 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.ArtinCAT0.WordDiagram.Letterline 7 - abbrev
OAI.ArtinCAT0.WordDiagram.Wordline 8 - def
OAI.ArtinCAT0.WordDiagram.positiveline 10 - def
OAI.ArtinCAT0.WordDiagram.signedline 11 - inductive
OAI.ArtinCAT0.WordDiagram.Relline 13 - abbrev
OAI.ArtinCAT0.WordDiagram.Pline 18 - def
OAI.ArtinCAT0.WordDiagram.evalline 20 - lemma
OAI.ArtinCAT0.WordDiagram.rel_soundline 22 - lemma
OAI.ArtinCAT0.WordDiagram.isUnit_ofline 27 - lemma
OAI.ArtinCAT0.WordDiagram.all_isUnitline 38 - instance
OAI.ArtinCAT0.WordDiagram.(instance at line 45)line 45 - lemma
OAI.ArtinCAT0.WordDiagram.negative_ofline 47 - def
OAI.ArtinCAT0.WordDiagram.fromTriangleline 53 - lemma
OAI.ArtinCAT0.WordDiagram.fromTriangle_evalline 59 - theorem
OAI.ArtinCAT0.WordDiagram.null_derivationline 68Source documentation
Null words have actual finite derivations from cancellation and braid moves; this is not an assumed van Kampen theorem.
theorem null_derivation (w : Word) (h : eval w = 1) : conGen Rel w 1 := by …
Mentions: OAI.ArtinCAT0.WordDiagram.Word, OAI.ArtinCAT0.WordDiagram.eval, OAI.ArtinCAT0.WordDiagram.Rel
- inductive
OAI.ArtinCAT0.WordDiagram.Stepline 79Source documentation
A single local cancellation or braid replacement, with fixed contexts.
inductive Step : Word → Word → Prop | context (l r : Word) {u v : Word} (h : Rel u v) : Step (l*u*r) (l*v*r)Mentions: OAI.ArtinCAT0.WordDiagram.Word, OAI.ArtinCAT0.WordDiagram.Rel
- lemma
OAI.ArtinCAT0.WordDiagram.step_contextline 82 - lemma
OAI.ArtinCAT0.WordDiagram.homotopy_contextline 86 - lemma
OAI.ArtinCAT0.WordDiagram.derivation_homotopyline 94 - theorem
OAI.ArtinCAT0.WordDiagram.null_local_movesline 105 - def
OAI.ArtinCAT0.positiveValueline 114 - def
OAI.ArtinCAT0.positivePermline 119 - def
OAI.ArtinCAT0.positiveDegreeline 128 - def
OAI.ArtinCAT0.directionValueline 130 - def
OAI.ArtinCAT0.directionPermline 134 - def
OAI.ArtinCAT0.directionDegreeline 138 - lemma
OAI.ArtinCAT0.positiveValue_xLetterline 142 - lemma
OAI.ArtinCAT0.positiveValue_hLetterline 145 - lemma
OAI.ArtinCAT0.directionValue_positiveline 148 - lemma
OAI.ArtinCAT0.directionValue_negativeline 151 - lemma
OAI.ArtinCAT0.positiveValue_linearline 154 - lemma
OAI.ArtinCAT0.positiveValue_degreeline 157 - lemma
OAI.ArtinCAT0.directionValue_linearline 161 - lemma
OAI.ArtinCAT0.directionValue_degreeline 169 - def
OAI.ArtinCAT0.directionSignatureline 176 - lemma
OAI.ArtinCAT0.directionSignature_injectiveline 179 - lemma
OAI.ArtinCAT0.directionValue_injectiveline 181 - lemma
OAI.ArtinCAT0.TargetTriangle.differenceline 191 - def
OAI.ArtinCAT0.TriangleMesh.SimplicialLabeling.ofVerticesline 208Source documentation
Group-vertex labels determine the labelled directions: the nine positive letters and their inverses are distinct in the actual triangle Artin group.
noncomputable def SimplicialLabeling.ofVertices (v : V → TriangleGroup) (h : ∀ f : F, ∃ c : TargetTriangle, ∀ i : Fin 3, ∃ j, c.vertex j = v (M.tail (f,i))) : M.SimplicialLabeling := by …Mentions: OAI.ArtinCAT0.TriangleGroup, OAI.ArtinCAT0.TargetTriangle
- def
OAI.ArtinCAT0.WordDiagram.Legalline 245 - lemma
OAI.ArtinCAT0.WordDiagram.Legal.of_cornersline 248 - lemma
OAI.ArtinCAT0.WordDiagram.Legal.constantline 251 - lemma
OAI.ArtinCAT0.WordDiagram.Legal.swapline 254 - lemma
OAI.ArtinCAT0.WordDiagram.legal_signedline 258 - inductive
OAI.ArtinCAT0.WordDiagram.PathStepline 266 - abbrev
OAI.ArtinCAT0.WordDiagram.PathHomotopyline 272 - lemma
OAI.ArtinCAT0.WordDiagram.pathStep_contextline 274 - lemma
OAI.ArtinCAT0.WordDiagram.path_contextline 280 - def
OAI.ArtinCAT0.WordDiagram.walkline 288 - lemma
OAI.ArtinCAT0.WordDiagram.walk_ne_nilline 292 - lemma
OAI.ArtinCAT0.WordDiagram.walk_headline 293 - lemma
OAI.ArtinCAT0.WordDiagram.eval_consline 296 - lemma
OAI.ArtinCAT0.WordDiagram.walk_appendline 300 - lemma
OAI.ArtinCAT0.WordDiagram.walk_concatline 308 - lemma
OAI.ArtinCAT0.WordDiagram.braid_pathline 319 - lemma
OAI.ArtinCAT0.WordDiagram.rel_pathline 345 - lemma
OAI.ArtinCAT0.WordDiagram.step_soundline 357 - lemma
OAI.ArtinCAT0.WordDiagram.walk_contextline 361 - lemma
OAI.ArtinCAT0.WordDiagram.step_pathline 375 - lemma
OAI.ArtinCAT0.WordDiagram.homotopy_pathline 380 - theorem
OAI.ArtinCAT0.WordDiagram.null_pathline 390Source documentation
Every null word admits an explicit finite homotopy using only actual triangles of the Cayley complex and repeated vertices.
theorem null_path (w : Word) (hw : eval w = 1) (g : TriangleGroup) : PathHomotopy (walk g w.toList) [g] := …Mentions: OAI.ArtinCAT0.WordDiagram.Word, OAI.ArtinCAT0.WordDiagram.eval, OAI.ArtinCAT0.TriangleGroup, OAI.ArtinCAT0.WordDiagram.PathHomotopy, OAI.ArtinCAT0.WordDiagram.walk
- lemma
OAI.ArtinCAT0.WordDiagram.Legal.permuteline 399 - abbrev
OAI.ArtinCAT0.WordDiagram.Edgeline 405 - lemma
OAI.ArtinCAT0.WordDiagram.edge_reflline 406 - lemma
OAI.ArtinCAT0.WordDiagram.edge_symmline 407 - lemma
OAI.ArtinCAT0.WordDiagram.edge_dupline 410 - abbrev
OAI.ArtinCAT0.WordDiagram.Rowline 415 - def
OAI.ArtinCAT0.WordDiagram.RowGoodline 417 - def
OAI.ArtinCAT0.WordDiagram.Stripline 418 - lemma
OAI.ArtinCAT0.WordDiagram.strip_goodline 421 - lemma
OAI.ArtinCAT0.WordDiagram.strip_reflline 426 - lemma
OAI.ArtinCAT0.WordDiagram.strip_rotateline 430 - lemma
OAI.ArtinCAT0.WordDiagram.strip_swap_rotateline 434 - lemma
OAI.ArtinCAT0.WordDiagram.good_shiftline 438 - lemma
OAI.ArtinCAT0.WordDiagram.reachable_rotateline 442 - lemma
OAI.ArtinCAT0.WordDiagram.strip_symmetricline 451 - lemma
OAI.ArtinCAT0.WordDiagram.strip_reach_reverseline 465 - lemma
OAI.ArtinCAT0.WordDiagram.strip_homotopyline 470 - lemma
OAI.ArtinCAT0.WordDiagram.getD_append_formulaline 482 - lemma
OAI.ArtinCAT0.WordDiagram.getD_deleteline 487 - lemma
OAI.ArtinCAT0.WordDiagram.getD_stutterline 498 - def
OAI.ArtinCAT0.WordDiagram.GoodPathline 509 - lemma
OAI.ArtinCAT0.WordDiagram.step_goodline 512 - lemma
OAI.ArtinCAT0.WordDiagram.goodPath_paddedline 531 - def
OAI.ArtinCAT0.WordDiagram.paddedline 548 - lemma
OAI.ArtinCAT0.WordDiagram.padded_goodline 550 - lemma
OAI.ArtinCAT0.WordDiagram.triangle_strip_natline 566 - lemma
OAI.ArtinCAT0.WordDiagram.stutter_strip_natline 583 - lemma
OAI.ArtinCAT0.WordDiagram.strip_padded_of_natline 597 - lemma
OAI.ArtinCAT0.WordDiagram.step_stripline 613 - lemma
OAI.ArtinCAT0.WordDiagram.homotopy_goodline 623 - theorem
OAI.ArtinCAT0.WordDiagram.path_gridline 633Source documentation
A legal path homotopy is realizable on every sufficiently wide cyclic grid. All extra columns are repeated base vertices.
theorem path_grid {p q : List TriangleGroup} (h : PathHomotopy p q) (g : TriangleGroup) : ∃ B : ℕ, ∀ N : ℕ, B ≤ N → GoodPath g p → ReflTransGen Strip (padded g p : Row (N+1)) (padded g q) := by …Mentions: OAI.ArtinCAT0.TriangleGroup, OAI.ArtinCAT0.WordDiagram.PathHomotopy, OAI.ArtinCAT0.WordDiagram.GoodPath, OAI.ArtinCAT0.WordDiagram.Strip, OAI.ArtinCAT0.WordDiagram.padded, OAI.ArtinCAT0.WordDiagram.Row
- lemma
OAI.ArtinCAT0.WordDiagram.walk_append_chainline 654 - lemma
OAI.ArtinCAT0.WordDiagram.walk_goodline 670 - lemma
OAI.ArtinCAT0.WordDiagram.reachable_sequenceline 677 - lemma
OAI.ArtinCAT0.WordDiagram.Legal.targetline 696 - def
OAI.ArtinCAT0.WordDiagram.gridLabelsline 707 - lemma
OAI.ArtinCAT0.WordDiagram.gridLabels_legalline 711 - theorem
OAI.ArtinCAT0.WordDiagram.null_gridline 727Source documentation
Every null original-generator loop has legal grid fillings of all sufficiently large widths. The entire disk is actual labelled triangles.
theorem null_grid (g : TriangleGroup) (w : Word) (hw : eval w = 1) : ∃ B : ℕ, ∀ N : ℕ, B ≤ N → ∃ H : ℕ, ∃ v : GridDisk.Vertex H (N+1) → TriangleGroup, (∀ i, v (Sum.inl (Fin.last (H+1),i)) = (walk g w.toList).getD i.val g) ∧ (∀ a : GridDisk.Face H (N+1), ∃ t : TargetTriangle, ∀ k, ∃ j, t.vertex j = v ((GridDisk.patch H (N+1)).tail (a,k))) := by …Mentions: OAI.ArtinCAT0.TriangleGroup, OAI.ArtinCAT0.WordDiagram.Word, OAI.ArtinCAT0.WordDiagram.eval, OAI.ArtinCAT0.GridDisk.Vertex, OAI.ArtinCAT0.WordDiagram.walk, OAI.ArtinCAT0.GridDisk.Face, OAI.ArtinCAT0.TargetTriangle, OAI.ArtinCAT0.GridDisk.patch
- lemma
OAI.ArtinCAT0.commuting_minimizerline 758Source documentation
A common minimizing point for two commuting elements, obtained by applying semisimplicity inside the first minimum set. No flat-torus theorem is assumed.
lemma commuting_minimizer (hG : GeometricAction G X) (y : X) {g h : G} (hc : Commute g h) : ∃ x : X, dist x (g • x) = stableLengthAt y g ∧ dist x (h • x) = stableLengthAt y h := by …Mentions: OAI.ArtinCAT0.stableLengthAt
- lemma
OAI.ArtinCAT0.minimizer_of_length_eqline 785 - lemma
OAI.ArtinCAT0.minimizer_zpowline 793 - lemma
OAI.ArtinCAT0.commuting_minimizer_productline 807 - theorem
OAI.ArtinCAT0.commuting_orbit_uniformline 822 - lemma
OAI.ArtinCAT0.WordDiagram.step_lengthline 843 - lemma
OAI.ArtinCAT0.WordDiagram.deletions_lengthline 846 - lemma
OAI.ArtinCAT0.WordDiagram.deletions_homotopyline 851 - lemma
OAI.ArtinCAT0.WordDiagram.deletions_contextline 856 - lemma
OAI.ArtinCAT0.WordDiagram.deletions_gridline 863 - lemma
OAI.ArtinCAT0.WordDiagram.fill_rowline 872 - lemma
OAI.ArtinCAT0.WordDiagram.pad_singletonline 886 - theorem
OAI.ArtinCAT0.WordDiagram.refined_gridline 894Source documentation
Padding a boundary by repeated vertices does not demand additional uncontrolled width: the deletions themselves realize its prescribed boundary.
theorem refined_grid (g : TriangleGroup) (w : Word) (hw : eval w = 1) : ∃ B : ℕ, ∀ N : ℕ, B ≤ N → ∀ p : List TriangleGroup, ReflTransGen PathStep p (walk g w.toList) → p.length ≤ N+1 → ∃ H : ℕ, ∃ v : GridDisk.Vertex H (N+1) → TriangleGroup, (∀ i, v (Sum.inl (Fin.last (H+1),i)) = p.getD i.val g) ∧ (∀ a : GridDisk.Face H (N+1), ∃ t : TargetTriangle, ∀ k, ∃ j, t.vertex j = v ((GridDisk.patch H (N+1)).tail (a,k))) := by …Mentions: OAI.ArtinCAT0.TriangleGroup, OAI.ArtinCAT0.WordDiagram.Word, OAI.ArtinCAT0.WordDiagram.eval, OAI.ArtinCAT0.WordDiagram.PathStep, OAI.ArtinCAT0.WordDiagram.walk, OAI.ArtinCAT0.GridDisk.Vertex, OAI.ArtinCAT0.GridDisk.Face, OAI.ArtinCAT0.TargetTriangle, OAI.ArtinCAT0.GridDisk.patch
- lemma
OAI.ArtinCAT0.WordDiagram.walk_joinline 909 - lemma
OAI.ArtinCAT0.WordDiagram.repeat_contractline 920 - lemma
OAI.ArtinCAT0.WordDiagram.walk_pad_contractline 929 - def
OAI.ArtinCAT0.WordDiagram.sidePathline 936 - lemma
OAI.ArtinCAT0.WordDiagram.sidePath_contractline 939 - lemma
OAI.ArtinCAT0.WordDiagram.walk_lengthline 943 - lemma
OAI.ArtinCAT0.WordDiagram.sidePath_lengthline 948 - def
OAI.ArtinCAT0.WordDiagram.triangleBoundaryline 953 - lemma
OAI.ArtinCAT0.WordDiagram.triangleBoundary_contractline 956 - lemma
OAI.ArtinCAT0.WordDiagram.triangleBoundary_lengthline 972 - lemma
OAI.ArtinCAT0.WordDiagram.fill_row_tallline 979 - lemma
OAI.ArtinCAT0.WordDiagram.PathStep.reverseline 992 - lemma
OAI.ArtinCAT0.WordDiagram.deletions_reverseline 1002 - def
OAI.ArtinCAT0.WordDiagram.inverseLetterline 1008 - def
OAI.ArtinCAT0.WordDiagram.inverseLettersline 1009 - lemma
OAI.ArtinCAT0.WordDiagram.signed_inverseLetterline 1011 - lemma
OAI.ArtinCAT0.WordDiagram.inverseLetters_consline 1015 - lemma
OAI.ArtinCAT0.WordDiagram.eval_inverseLettersline 1019 - lemma
OAI.ArtinCAT0.WordDiagram.walk_last_appendline 1027 - lemma
OAI.ArtinCAT0.WordDiagram.walk_append_oneline 1031 - lemma
OAI.ArtinCAT0.WordDiagram.walk_reverseline 1038 - lemma
OAI.ArtinCAT0.WordDiagram.repeat_pre_contractline 1050 - def
OAI.ArtinCAT0.WordDiagram.fullSideline 1060Source documentation
Extra endpoint stutters allow either orientation to be trimmed while retaining both endpoints. This ensures exact shared-edge parametrizations.
def fullSide (g : TriangleGroup) (w : Word) (K : ℕ) : List TriangleGroup := …
Mentions: OAI.ArtinCAT0.TriangleGroup, OAI.ArtinCAT0.WordDiagram.Word
- lemma
OAI.ArtinCAT0.WordDiagram.fullSide_lengthline 1063 - lemma
OAI.ArtinCAT0.WordDiagram.fullSide_trim_forwardline 1068 - lemma
OAI.ArtinCAT0.WordDiagram.fullSide_trim_reverseline 1078