Documentation

Mathlib.Geometry.Group.WordMetric

The word metric #

The word length of an element is the length of a shortest representing word, over a generating family given by Group.Generators. The word length defines a norm on G inducing the word metric dist g h = ‖g⁻¹ * h‖.

Main definitions #

Main results #

Implementation notes #

TODO #

Tags #

word metric, word length, geometric group theory

Definition of word length #

noncomputable def Group.Generators.wordLength {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) (g : G) :

The word length of g with respect to the generating family P.

Equations
Instances For
    noncomputable def AddGroup.Generators.wordLength {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) (g : G) :

    The word length of g with respect to the generating family P.

    Equations
    Instances For

      Geodesic words #

      def Group.Generators.IsGeodesic {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) (l : List (ι × Bool)) :

      A word l is geodesic if its length is exactly the word length of the group element it represents.

      Equations
      Instances For
        def AddGroup.Generators.IsGeodesic {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) (l : List (ι × Bool)) :

        A word l is geodesic if its length is exactly the word length of the group element it represents.

        Equations
        Instances For
          theorem Group.Generators.IsGeodesic.eq {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) {l : List (ι × Bool)} (hl : P.IsGeodesic l) :
          theorem AddGroup.Generators.IsGeodesic.eq {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) {l : List (ι × Bool)} (hl : P.IsGeodesic l) :
          theorem Group.Generators.exists_isGeodesic {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) (g : G) :
          ∃ (l : List (ι × Bool)), P.IsGeodesic l ∧ P.wordProd l = g

          Every group element has a geodesic word representative.

          theorem AddGroup.Generators.exists_isGeodesic {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) (g : G) :
          ∃ (l : List (ι × Bool)), P.IsGeodesic l ∧ P.wordSum l = g

          Every additive group element has a geodesic word representative.

          Word length #

          theorem Group.Generators.wordLength_wordProd_le {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) (l : List (ι × Bool)) :
          theorem AddGroup.Generators.wordLength_wordSum_le {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) (l : List (ι × Bool)) :
          theorem Group.Generators.wordLength_le_iff {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) (g : G) {n : ℕ} :
          P.wordLength g ≤ n ↔ ∃ (l : List (ι × Bool)), l.length ≤ n ∧ P.wordProd l = g

          The characterisation of word length: the word length of a group element is less or equal to n if and only if there exists a word l of length at most n which evaluates to g.

          theorem AddGroup.Generators.wordLength_le_iff {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) (g : G) {n : ℕ} :
          P.wordLength g ≤ n ↔ ∃ (l : List (ι × Bool)), l.length ≤ n ∧ P.wordSum l = g

          The characterisation of word length: the word length of an additive group element is less or equal to n if and only if there exists a word l of length at most n which evaluates to g.

          @[simp]
          theorem Group.Generators.wordLength_eq_zero_iff {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) {g : G} :
          P.wordLength g = 0 ↔ g = 1
          @[simp]
          theorem AddGroup.Generators.wordLength_eq_zero_iff {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) {g : G} :
          P.wordLength g = 0 ↔ g = 0
          @[simp]
          theorem Group.Generators.wordLength_one {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) :
          @[simp]
          theorem AddGroup.Generators.wordLength_zero {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) :
          @[simp]
          theorem Group.Generators.wordLength_inv {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) (g : G) :
          @[simp]
          theorem AddGroup.Generators.wordLength_neg {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) (g : G) :
          theorem Group.Generators.wordLength_mul_le {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) (g h : G) :
          theorem AddGroup.Generators.wordLength_add_le {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) (g h : G) :
          noncomputable def Group.Generators.groupNorm {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) :

          The wordLength with respect to a generating family P defines a norm on G.

          Equations
          • P.groupNorm = { toFun := fun (g : G) => ↑(P.wordLength g), map_one' := ⋯, mul_le' := ⋯, inv' := ⋯, eq_one_of_map_eq_zero' := ⋯ }
          Instances For
            noncomputable def AddGroup.Generators.addGroupNorm {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) :

            The wordLength with respect to a generating family P defines a norm on the additive group G.

            Equations
            • P.addGroupNorm = { toFun := fun (g : G) => ↑(P.wordLength g), map_zero' := ⋯, add_le' := ⋯, neg' := ⋯, eq_zero_of_map_eq_zero' := ⋯ }
            Instances For

              Word metric #

              @[instance_reducible]
              noncomputable def Group.Generators.normedGroup {G : Type u_1} {ι : Type u_2} [Group G] (P : Generators G ι) :

              The wordLength with respect to a generating family P gives G the structure of a normed group.

              Equations
              Instances For
                @[instance_reducible]
                noncomputable def AddGroup.Generators.normedAddGroup {G : Type u_1} {ι : Type u_2} [AddGroup G] (P : Generators G ι) :

                The wordLength with respect to a generating family P gives G the structure of a normed additive group.

                Equations
                Instances For