OAI/GroupTheory/ArtinCAT0/WordDiagram.lean

GitHub source file

138 declarations, 0 contain sorry, 0 declared as axioms

  1. abbrev OAI.ArtinCAT0.WordDiagram.Letter line 7
  2. abbrev OAI.ArtinCAT0.WordDiagram.Word line 8
  3. def OAI.ArtinCAT0.WordDiagram.positive line 10
  4. def OAI.ArtinCAT0.WordDiagram.signed line 11
  5. inductive OAI.ArtinCAT0.WordDiagram.Rel line 13
  6. abbrev OAI.ArtinCAT0.WordDiagram.P line 18
  7. def OAI.ArtinCAT0.WordDiagram.eval line 20
  8. lemma OAI.ArtinCAT0.WordDiagram.rel_sound line 22
  9. lemma OAI.ArtinCAT0.WordDiagram.isUnit_of line 27
  10. lemma OAI.ArtinCAT0.WordDiagram.all_isUnit line 38
  11. instance OAI.ArtinCAT0.WordDiagram.(instance at line 45) line 45
  12. lemma OAI.ArtinCAT0.WordDiagram.negative_of line 47
  13. def OAI.ArtinCAT0.WordDiagram.fromTriangle line 53
  14. lemma OAI.ArtinCAT0.WordDiagram.fromTriangle_eval line 59
  15. theorem OAI.ArtinCAT0.WordDiagram.null_derivation line 68

    Source 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

  16. inductive OAI.ArtinCAT0.WordDiagram.Step line 79

    Source 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

  17. lemma OAI.ArtinCAT0.WordDiagram.step_context line 82
  18. lemma OAI.ArtinCAT0.WordDiagram.homotopy_context line 86
  19. lemma OAI.ArtinCAT0.WordDiagram.derivation_homotopy line 94
  20. theorem OAI.ArtinCAT0.WordDiagram.null_local_moves line 105
  21. def OAI.ArtinCAT0.positiveValue line 114
  22. def OAI.ArtinCAT0.positivePerm line 119
  23. def OAI.ArtinCAT0.positiveDegree line 128
  24. def OAI.ArtinCAT0.directionValue line 130
  25. def OAI.ArtinCAT0.directionPerm line 134
  26. def OAI.ArtinCAT0.directionDegree line 138
  27. lemma OAI.ArtinCAT0.positiveValue_xLetter line 142
  28. lemma OAI.ArtinCAT0.positiveValue_hLetter line 145
  29. lemma OAI.ArtinCAT0.directionValue_positive line 148
  30. lemma OAI.ArtinCAT0.directionValue_negative line 151
  31. lemma OAI.ArtinCAT0.positiveValue_linear line 154
  32. lemma OAI.ArtinCAT0.positiveValue_degree line 157
  33. lemma OAI.ArtinCAT0.directionValue_linear line 161
  34. lemma OAI.ArtinCAT0.directionValue_degree line 169
  35. def OAI.ArtinCAT0.directionSignature line 176
  36. lemma OAI.ArtinCAT0.directionSignature_injective line 179
  37. lemma OAI.ArtinCAT0.directionValue_injective line 181
  38. lemma OAI.ArtinCAT0.TargetTriangle.difference line 191
  39. def OAI.ArtinCAT0.TriangleMesh.SimplicialLabeling.ofVertices line 208

    Source 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

  40. def OAI.ArtinCAT0.WordDiagram.Legal line 245
  41. lemma OAI.ArtinCAT0.WordDiagram.Legal.of_corners line 248
  42. lemma OAI.ArtinCAT0.WordDiagram.Legal.constant line 251
  43. lemma OAI.ArtinCAT0.WordDiagram.Legal.swap line 254
  44. lemma OAI.ArtinCAT0.WordDiagram.legal_signed line 258
  45. inductive OAI.ArtinCAT0.WordDiagram.PathStep line 266
  46. abbrev OAI.ArtinCAT0.WordDiagram.PathHomotopy line 272
  47. lemma OAI.ArtinCAT0.WordDiagram.pathStep_context line 274
  48. lemma OAI.ArtinCAT0.WordDiagram.path_context line 280
  49. def OAI.ArtinCAT0.WordDiagram.walk line 288
  50. lemma OAI.ArtinCAT0.WordDiagram.walk_ne_nil line 292
  51. lemma OAI.ArtinCAT0.WordDiagram.walk_head line 293
  52. lemma OAI.ArtinCAT0.WordDiagram.eval_cons line 296
  53. lemma OAI.ArtinCAT0.WordDiagram.walk_append line 300
  54. lemma OAI.ArtinCAT0.WordDiagram.walk_concat line 308
  55. lemma OAI.ArtinCAT0.WordDiagram.braid_path line 319
  56. lemma OAI.ArtinCAT0.WordDiagram.rel_path line 345
  57. lemma OAI.ArtinCAT0.WordDiagram.step_sound line 357
  58. lemma OAI.ArtinCAT0.WordDiagram.walk_context line 361
  59. lemma OAI.ArtinCAT0.WordDiagram.step_path line 375
  60. lemma OAI.ArtinCAT0.WordDiagram.homotopy_path line 380
  61. theorem OAI.ArtinCAT0.WordDiagram.null_path line 390

    Source 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

  62. lemma OAI.ArtinCAT0.WordDiagram.Legal.permute line 399
  63. abbrev OAI.ArtinCAT0.WordDiagram.Edge line 405
  64. lemma OAI.ArtinCAT0.WordDiagram.edge_refl line 406
  65. lemma OAI.ArtinCAT0.WordDiagram.edge_symm line 407
  66. lemma OAI.ArtinCAT0.WordDiagram.edge_dup line 410
  67. abbrev OAI.ArtinCAT0.WordDiagram.Row line 415
  68. def OAI.ArtinCAT0.WordDiagram.RowGood line 417
  69. def OAI.ArtinCAT0.WordDiagram.Strip line 418
  70. lemma OAI.ArtinCAT0.WordDiagram.strip_good line 421
  71. lemma OAI.ArtinCAT0.WordDiagram.strip_refl line 426
  72. lemma OAI.ArtinCAT0.WordDiagram.strip_rotate line 430
  73. lemma OAI.ArtinCAT0.WordDiagram.strip_swap_rotate line 434
  74. lemma OAI.ArtinCAT0.WordDiagram.good_shift line 438
  75. lemma OAI.ArtinCAT0.WordDiagram.reachable_rotate line 442
  76. lemma OAI.ArtinCAT0.WordDiagram.strip_symmetric line 451
  77. lemma OAI.ArtinCAT0.WordDiagram.strip_reach_reverse line 465
  78. lemma OAI.ArtinCAT0.WordDiagram.strip_homotopy line 470
  79. lemma OAI.ArtinCAT0.WordDiagram.getD_append_formula line 482
  80. lemma OAI.ArtinCAT0.WordDiagram.getD_delete line 487
  81. lemma OAI.ArtinCAT0.WordDiagram.getD_stutter line 498
  82. def OAI.ArtinCAT0.WordDiagram.GoodPath line 509
  83. lemma OAI.ArtinCAT0.WordDiagram.step_good line 512
  84. lemma OAI.ArtinCAT0.WordDiagram.goodPath_padded line 531
  85. def OAI.ArtinCAT0.WordDiagram.padded line 548
  86. lemma OAI.ArtinCAT0.WordDiagram.padded_good line 550
  87. lemma OAI.ArtinCAT0.WordDiagram.triangle_strip_nat line 566
  88. lemma OAI.ArtinCAT0.WordDiagram.stutter_strip_nat line 583
  89. lemma OAI.ArtinCAT0.WordDiagram.strip_padded_of_nat line 597
  90. lemma OAI.ArtinCAT0.WordDiagram.step_strip line 613
  91. lemma OAI.ArtinCAT0.WordDiagram.homotopy_good line 623
  92. theorem OAI.ArtinCAT0.WordDiagram.path_grid line 633

    Source 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

  93. lemma OAI.ArtinCAT0.WordDiagram.walk_append_chain line 654
  94. lemma OAI.ArtinCAT0.WordDiagram.walk_good line 670
  95. lemma OAI.ArtinCAT0.WordDiagram.reachable_sequence line 677
  96. lemma OAI.ArtinCAT0.WordDiagram.Legal.target line 696
  97. def OAI.ArtinCAT0.WordDiagram.gridLabels line 707
  98. lemma OAI.ArtinCAT0.WordDiagram.gridLabels_legal line 711
  99. theorem OAI.ArtinCAT0.WordDiagram.null_grid line 727

    Source 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

  100. lemma OAI.ArtinCAT0.commuting_minimizer line 758

    Source 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

  101. lemma OAI.ArtinCAT0.minimizer_of_length_eq line 785
  102. lemma OAI.ArtinCAT0.minimizer_zpow line 793
  103. lemma OAI.ArtinCAT0.commuting_minimizer_product line 807
  104. theorem OAI.ArtinCAT0.commuting_orbit_uniform line 822
  105. lemma OAI.ArtinCAT0.WordDiagram.step_length line 843
  106. lemma OAI.ArtinCAT0.WordDiagram.deletions_length line 846
  107. lemma OAI.ArtinCAT0.WordDiagram.deletions_homotopy line 851
  108. lemma OAI.ArtinCAT0.WordDiagram.deletions_context line 856
  109. lemma OAI.ArtinCAT0.WordDiagram.deletions_grid line 863
  110. lemma OAI.ArtinCAT0.WordDiagram.fill_row line 872
  111. lemma OAI.ArtinCAT0.WordDiagram.pad_singleton line 886
  112. theorem OAI.ArtinCAT0.WordDiagram.refined_grid line 894

    Source 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

  113. lemma OAI.ArtinCAT0.WordDiagram.walk_join line 909
  114. lemma OAI.ArtinCAT0.WordDiagram.repeat_contract line 920
  115. lemma OAI.ArtinCAT0.WordDiagram.walk_pad_contract line 929
  116. def OAI.ArtinCAT0.WordDiagram.sidePath line 936
  117. lemma OAI.ArtinCAT0.WordDiagram.sidePath_contract line 939
  118. lemma OAI.ArtinCAT0.WordDiagram.walk_length line 943
  119. lemma OAI.ArtinCAT0.WordDiagram.sidePath_length line 948
  120. def OAI.ArtinCAT0.WordDiagram.triangleBoundary line 953
  121. lemma OAI.ArtinCAT0.WordDiagram.triangleBoundary_contract line 956
  122. lemma OAI.ArtinCAT0.WordDiagram.triangleBoundary_length line 972
  123. lemma OAI.ArtinCAT0.WordDiagram.fill_row_tall line 979
  124. lemma OAI.ArtinCAT0.WordDiagram.PathStep.reverse line 992
  125. lemma OAI.ArtinCAT0.WordDiagram.deletions_reverse line 1002
  126. def OAI.ArtinCAT0.WordDiagram.inverseLetter line 1008
  127. def OAI.ArtinCAT0.WordDiagram.inverseLetters line 1009
  128. lemma OAI.ArtinCAT0.WordDiagram.signed_inverseLetter line 1011
  129. lemma OAI.ArtinCAT0.WordDiagram.inverseLetters_cons line 1015
  130. lemma OAI.ArtinCAT0.WordDiagram.eval_inverseLetters line 1019
  131. lemma OAI.ArtinCAT0.WordDiagram.walk_last_append line 1027
  132. lemma OAI.ArtinCAT0.WordDiagram.walk_append_one line 1031
  133. lemma OAI.ArtinCAT0.WordDiagram.walk_reverse line 1038
  134. lemma OAI.ArtinCAT0.WordDiagram.repeat_pre_contract line 1050
  135. def OAI.ArtinCAT0.WordDiagram.fullSide line 1060

    Source 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

  136. lemma OAI.ArtinCAT0.WordDiagram.fullSide_length line 1063
  137. lemma OAI.ArtinCAT0.WordDiagram.fullSide_trim_forward line 1068
  138. lemma OAI.ArtinCAT0.WordDiagram.fullSide_trim_reverse line 1078