FormalConjecturesForMathlib/Geometry/Group/WordMetric.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1

13 declarations, 0 contain sorry, 0 declared as axioms

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‖.

This file is copied from Mathlib.Geometry.Group.WordMetric (leanprover-community/mathlib4#43118). It is in Mathlib from v4.34.0.

TODO: delete this file when this repository moves to Mathlib v4.34.0.

Main definitions

Main results

Imports (2)
Imported by 2 files
  1. def Group.Generators.wordLength The word length of g with respect to the generating family P line 62 source

    Source documentation

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

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, Nat

    Proof uses: InfSet.sInf, Set.ofPred, Exists, List, Prod, Bool, And, Eq, Group.Generators.wordProd, List.length

    1 instances, coercions and auxiliary constants left out.

    noncomputable def wordLength : ℕ := sInf {n | ∃ l, P.wordProd l = g ∧ l.length = n}
  2. def Group.Generators.IsGeodesic A word l is geodesic if its length is exactly the word length of the group element it represents line 68 source

    Source documentation

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

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, List, Prod, Bool

    Proof uses: Eq, Nat, Group.Generators.wordLength, Group.Generators.wordProd, List.length

    def IsGeodesic : Prop := P.wordLength (P.wordProd l) = l.length
  3. lemma Group.Generators.IsGeodesic.eq line 70 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, List, Prod, Bool, Group.Generators.IsGeodesic, Eq, Nat, Group.Generators.wordLength, Group.Generators.wordProd, List.length

  4. theorem Group.Generators.exists_isGeodesic Every group element has a geodesic word representative line 74 source

    Source documentation

    Every group element has a geodesic word representative.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, Exists, List, Prod, Bool, And, Group.Generators.IsGeodesic, Eq, Group.Generators.wordProd

    Proof uses: Membership.mem, Set, Nat, List.length, InfSet.sInf, Set.image, Nat.sInf_mem, Set.Nonempty.image, Group.Generators.wordProd_surjective, Exists.intro, And.intro, Eq.symm, rfl

    5 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

    theorem exists_isGeodesic : ∃ l, P.IsGeodesic l ∧ P.wordProd l = g := by
    …
  5. lemma Group.Generators.wordLength_wordProd_le line 80 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, List, Prod, Bool, LE.le, Nat, Group.Generators.wordLength, Group.Generators.wordProd, List.length

    Proof uses: Nat.sInf_le, Set.ofPred, Exists, And, Eq, Exists.intro, And.intro, rfl

    1 instances, coercions and auxiliary constants left out.

  6. theorem Group.Generators.wordLength_le_iff 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 line 85 source

    Source documentation

    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.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, Nat, Iff, LE.le, Group.Generators.wordLength, Exists, List, Prod, Bool, And, List.length, Eq, Group.Generators.wordProd

    Proof uses: Iff.intro, Group.Generators.IsGeodesic, Group.Generators.exists_isGeodesic, Exists.intro, And.intro, Eq.rec, Group.Generators.IsGeodesic.eq, rfl, LE.le.trans, Group.Generators.wordLength_wordProd_le

    6 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

    theorem wordLength_le_iff {n : ℕ} : P.wordLength g ≤ n ↔ ∃ l, l.length ≤ n ∧ P.wordProd l = g := by
    …
  7. lemma Group.Generators.wordLength_eq_zero_iff line 95 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, Iff, Eq, Nat, Group.Generators.wordLength, OfNat.ofNat

    Proof uses: Eq.mpr, LE.le, id, congrArg, Eq.symm, propext, Nat.le_zero, Exists, List, Prod, Bool, And, List.length, Group.Generators.wordProd, Group.Generators.wordLength_le_iff, of_eq_true, Eq.trans, True, congrFun', List.nil and 4 more

    25 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  8. lemma Group.Generators.wordLength_one line 100 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, Eq, Nat, Group.Generators.wordLength, OfNat.ofNat

    Proof uses: Eq.mpr, id, congrArg, propext, Group.Generators.wordLength_eq_zero_iff, Eq.refl

    12 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  9. lemma Group.Generators.wordLength_inv_le This is superseded by wordLength_inv line 104 source

    Source comment

    This is superseded by `wordLength_inv`.
    private lemma wordLength_inv_le : P.wordLength g⁻¹ ≤ P.wordLength g := by
    …
  10. lemma Group.Generators.wordLength_inv line 109 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, Eq, Nat, Group.Generators.wordLength, Inv.inv

    Proof uses: le_antisymm, Eq.mp, LE.le, congrFun', congrArg, inv_inv

    12 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

    Open to load the checked before-and-after goal states.

  11. lemma Group.Generators.wordLength_mul_le line 114 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, LE.le, Nat, Group.Generators.wordLength, HMul.hMul, HAdd.hAdd

    Proof uses: List, Prod, Bool, And, Group.Generators.IsGeodesic, Eq, Group.Generators.wordProd, Exists, Group.Generators.exists_isGeodesic, Eq.mpr, List.length, id, congrArg, congr, Group.Generators.IsGeodesic.eq, Eq.mp, HAppend.hAppend, Group.Generators.wordProd_append, List.length_append, Group.Generators.wordLength_wordProd_le

    23 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  12. def Group.Generators.groupNorm The wordLength with respect to a generating family P defines a norm on G line 120 source

    Source documentation

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

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, GroupNorm

    Proof uses: GroupNorm.mk, GroupSeminorm.mk, Real, Group.Generators.wordLength

    6 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

    noncomputable def groupNorm : GroupNorm G where
    …
  13. def Group.Generators.normedGroup G as a metric space NormedGroup G with respect to a generating family P line 132 source

    Source documentation

    G as a metric space NormedGroup G with respect to a generating family P. The metric is given by dist g h = ‖g⁻¹ * h‖, where the norm is given by groupNorm.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Group.Generators, NormedGroup

    Proof uses: GroupNorm.toNormedGroup, Group.Generators.groupNorm

    noncomputable def normedGroup : NormedGroup G := P.groupNorm.toNormedGroup
    …