FormalConjecturesForMathlib/Geometry/Group/WordProd.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

7 declarations, 0 contain sorry, 0 declared as axioms

Evaluation of words

A generating family P : Group.Generators G ι indexed by ι gives rise to an evaluation map P.wordProd : List (ι × Bool) → G.

This file is copied from Mathlib.Geometry.Group.WordProd (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

Imports (1)
Imported by 2 files
  1. def Group.Generators.wordProd The canonical map from a word List (ι × Bool) over a generating family ι to its corresponding group G line 49 source

    Source documentation

    The canonical map from a word List (ι × Bool) over a generating family ι to its corresponding group G.

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

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

    Proof uses: MonoidHom, FreeGroup, Equiv, FreeGroup.lift, Group.Generators.val, FreeGroup.mk

    9 instances, coercions and auxiliary constants left out.

    def wordProd : G := FreeGroup.lift P.val (FreeGroup.mk l)
  2. theorem Group.Generators.wordProd_surjective Every element of G is the product of some word over a generating family line 52 source

    Source documentation

    Every element of G is the product of some word over a generating family.

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

    Statement uses: Group, Group.Generators, Function.Surjective, List, Prod, Bool, Group.Generators.wordProd

    Proof uses: Function.Surjective.comp, FreeGroup, MonoidHom, Equiv, FreeGroup.lift, Group.Generators.val, FreeGroup.mk, Group.Generators.lift_val_surjective, Quot.mk_surjective, FreeGroup.Red.Step

    9 instances, coercions and auxiliary constants left out.

    theorem wordProd_surjective : Function.Surjective P.wordProd :=
    …
  3. lemma Group.Generators.wordProd_nil line 56 source

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

    Statement uses: Group, Group.Generators, Eq, Group.Generators.wordProd, List.nil, Prod, Bool, OfNat.ofNat

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, List, List.map, cond, Prod.snd, Group.Generators.val, Prod.fst, Inv.inv, List.prod, List.map_nil, eq_self

    16 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  4. lemma Group.Generators.wordProd_singleton line 60 source

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

    Statement uses: Group, Group.Generators, Bool, Eq, Group.Generators.wordProd, List.cons, Prod, Prod.mk, List.nil, cond, Group.Generators.val, Inv.inv

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, List.prod, List.map, Prod.snd, Prod.fst, List, List.map_cons, List.map_nil, mul_one, eq_self

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  5. lemma Group.Generators.wordProd_cons line 63 source

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

    Statement uses: Group, Group.Generators, Bool, List, Prod, Eq, Group.Generators.wordProd, List.cons, Prod.mk, HMul.hMul, cond, Group.Generators.val, Inv.inv

    Proof uses: of_eq_true, List.prod, List.map, Prod.snd, Prod.fst, Eq.trans, True, congrFun', congrArg, List.map_cons, eq_self

    21 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  6. lemma Group.Generators.wordProd_append line 66 source

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

    Statement uses: Group, Group.Generators, List, Prod, Bool, Eq, Group.Generators.wordProd, HAppend.hAppend, HMul.hMul

    Proof uses: of_eq_true, List.prod, List.map, cond, Prod.snd, Group.Generators.val, Prod.fst, Inv.inv, Eq.trans, True, congrFun', congrArg, List.map_append, List.prod_append, OfNat.ofNat, eq_self

    27 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  7. lemma Group.Generators.wordProd_invRev line 69 source

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

    Statement uses: Group, Group.Generators, List, Prod, Bool, Eq, Group.Generators.wordProd, FreeGroup.invRev, Inv.inv

    Proof uses: of_eq_true, List.prod, List.map, cond, Prod.snd, Group.Generators.val, Prod.fst, Eq.trans, True, congrFun', congrArg, map_inv, FreeGroup, MonoidHom, Equiv, FreeGroup.lift, FreeGroup.mk, eq_self

    22 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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