Documentation

Mathlib.GroupTheory.Exponent

Exponent of a group #

This file defines the exponent of a group, or more generally a monoid. For a group G it is defined to be the minimal n≥1 such that g ^ n = 1 for all g ∈ G. For a finite group G, it is equal to the lowest common multiple of the order of all elements of the group G.

Main definitions #

Main results #

TODO #

A predicate on an additive monoid saying that there is a positive integer n such

that n • g = 0 for all g.

Equations
Instances For

    A predicate on a monoid saying that there is a positive integer n such that g ^ n = 1 for all g.

    Equations
    Instances For
      noncomputable def AddMonoid.exponent (G : Type u) [AddMonoid G] :

      The exponent of an additive group is the smallest positive integer n such that

      n • g = 0 for all g ∈ G if it exists, otherwise it is zero by convention.

      Equations
      Instances For
        noncomputable def Monoid.exponent (G : Type u) [Monoid G] :

        The exponent of a group is the smallest positive integer n such that g ^ n = 1 for all g ∈ G if it exists, otherwise it is zero by convention.

        Equations
        Instances For
          abbrev AddMonoid.exponent_eq_zero_addOrder_zero.match_1 {G : Type u_1} [AddMonoid G] (motive : AddMonoid.ExponentExists GProp) :
          (x : AddMonoid.ExponentExists G) → ((n : ) → (hn : 0 < n) → (hgn : ∀ (g : G), n g = 0) → motive (_ : n, 0 < n ∀ (g : G), n g = 0)) → motive x
          Equations
          Instances For
            theorem Monoid.pow_exponent_eq_one {G : Type u} [Monoid G] (g : G) :
            theorem AddMonoid.nsmul_eq_mod_exponent {G : Type u} [AddMonoid G] {n : } (g : G) :
            theorem Monoid.pow_eq_mod_exponent {G : Type u} [Monoid G] {n : } (g : G) :
            g ^ n = g ^ (n % Monoid.exponent G)
            theorem AddMonoid.exponent_pos_of_exists {G : Type u} [AddMonoid G] (n : ) (hpos : 0 < n) (hG : ∀ (g : G), n g = 0) :
            theorem Monoid.exponent_pos_of_exists {G : Type u} [Monoid G] (n : ) (hpos : 0 < n) (hG : ∀ (g : G), g ^ n = 1) :
            theorem AddMonoid.exponent_min' {G : Type u} [AddMonoid G] (n : ) (hpos : 0 < n) (hG : ∀ (g : G), n g = 0) :
            theorem Monoid.exponent_min' {G : Type u} [Monoid G] (n : ) (hpos : 0 < n) (hG : ∀ (g : G), g ^ n = 1) :
            theorem AddMonoid.exponent_min {G : Type u} [AddMonoid G] (m : ) (hpos : 0 < m) (hm : m < AddMonoid.exponent G) :
            g, m g 0
            theorem Monoid.exponent_min {G : Type u} [Monoid G] (m : ) (hpos : 0 < m) (hm : m < Monoid.exponent G) :
            g, g ^ m 1
            theorem AddMonoid.exponent_dvd_of_forall_nsmul_eq_zero (G : Type u_1) [AddMonoid G] (n : ) (hG : ∀ (g : G), n g = 0) :
            theorem Monoid.exponent_dvd_of_forall_pow_eq_one (G : Type u_1) [Monoid G] (n : ) (hG : ∀ (g : G), g ^ n = 1) :
            theorem Monoid.lcm_order_eq_exponent {G : Type u} [Monoid G] [Fintype G] :
            Finset.lcm Finset.univ orderOf = Monoid.exponent G
            theorem AddMonoid.exponent_eq_iSup_addOrderOf {G : Type u} [AddCommMonoid G] (h : ∀ (g : G), 0 < addOrderOf g) :
            theorem Monoid.exponent_eq_iSup_orderOf {G : Type u} [CommMonoid G] (h : ∀ (g : G), 0 < orderOf g) :
            Monoid.exponent G = ⨆ (g : G), orderOf g
            theorem AddMonoid.exponent_eq_iSup_addOrderOf' {G : Type u} [AddCommMonoid G] :
            AddMonoid.exponent G = if g, addOrderOf g = 0 then 0 else ⨆ (g : G), addOrderOf g
            theorem Monoid.exponent_eq_iSup_orderOf' {G : Type u} [CommMonoid G] :
            Monoid.exponent G = if g, orderOf g = 0 then 0 else ⨆ (g : G), orderOf g
            theorem AddMonoid.exponent_eq_max'_addOrderOf {G : Type u} [AddCancelCommMonoid G] [Fintype G] :
            AddMonoid.exponent G = Finset.max' (Finset.image addOrderOf Finset.univ) (_ : x, x Finset.image addOrderOf Finset.univ)
            theorem Monoid.exponent_eq_max'_orderOf {G : Type u} [CancelCommMonoid G] [Fintype G] :
            Monoid.exponent G = Finset.max' (Finset.image orderOf Finset.univ) (_ : x, x Finset.image orderOf Finset.univ)
            theorem card_dvd_exponent_nsmul_rank' (G : Type u) [AddCommGroup G] [AddGroup.FG G] {n : } (hG : ∀ (g : G), n g = 0) :
            theorem card_dvd_exponent_pow_rank' (G : Type u) [CommGroup G] [Group.FG G] {n : } (hG : ∀ (g : G), g ^ n = 1) :