Documentation

Mathlib.GroupTheory.Torsion

Torsion groups #

This file defines torsion groups, i.e. groups where all elements have finite order.

Main definitions #

Implementation #

All torsion monoids are really groups (which is proven here as Monoid.IsTorsion.group), but since the definition can be stated on monoids it is implemented on Monoid to match other declarations in the group theory library.

Tags #

periodic group, aperiodic group, torsion subgroup, torsion abelian group

Future work #

def Monoid.IsTorsion (G : Type u_1) [Monoid G] :

A predicate on a monoid saying that all elements are of finite order.

Equations
    Instances For

      A predicate on an additive monoid saying that all elements are of finite order.

      Equations
        Instances For
          @[simp]
          theorem Monoid.not_isTorsion_iff (G : Type u_1) [Monoid G] :
          ¬IsTorsion G ∃ (g : G), ¬IsOfFinOrder g

          A monoid is not a torsion monoid if it has an element of infinite order.

          @[simp]

          An additive monoid is not a torsion monoid if it has an element of infinite order.

          noncomputable def IsTorsion.group {G : Type u_1} [Monoid G] (tG : Monoid.IsTorsion G) :

          Torsion monoids are really groups.

          Equations
            Instances For
              noncomputable def IsTorsion.addGroup {G : Type u_1} [AddMonoid G] (tG : AddMonoid.IsTorsion G) :

              Torsion additive monoids are really additive groups

              Equations
                Instances For
                  theorem IsTorsion.subgroup {G : Type u_1} [Group G] (tG : Monoid.IsTorsion G) (H : Subgroup G) :

                  Subgroups of torsion groups are torsion groups.

                  Subgroups of additive torsion groups are additive torsion groups.

                  theorem IsTorsion.of_surjective {G : Type u_1} {H : Type u_2} [Group G] [Group H] {f : G →* H} (hf : Function.Surjective f) (tG : Monoid.IsTorsion G) :

                  The image of a surjective torsion group homomorphism is torsion.

                  theorem AddIsTorsion.of_surjective {G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] {f : G →+ H} (hf : Function.Surjective f) (tG : AddMonoid.IsTorsion G) :

                  The image of a surjective additive torsion group homomorphism is torsion.

                  theorem IsTorsion.extension_closed {G : Type u_1} {H : Type u_2} [Group G] {N : Subgroup G} [Group H] {f : G →* H} (hN : N = f.ker) (tH : Monoid.IsTorsion H) (tN : Monoid.IsTorsion N) :

                  Torsion groups are closed under extensions.

                  theorem AddIsTorsion.extension_closed {G : Type u_1} {H : Type u_2} [AddGroup G] {N : AddSubgroup G} [AddGroup H] {f : G →+ H} (hN : N = f.ker) (tH : AddMonoid.IsTorsion H) (tN : AddMonoid.IsTorsion N) :

                  Additive torsion groups are closed under extensions.

                  theorem IsTorsion.quotient_iff {G : Type u_1} {H : Type u_2} [Group G] {N : Subgroup G} [Group H] {f : G →* H} (hf : Function.Surjective f) (hN : N = f.ker) (tN : Monoid.IsTorsion N) :

                  The image of a quotient is torsion iff the group is torsion.

                  theorem AddIsTorsion.quotient_iff {G : Type u_1} {H : Type u_2} [AddGroup G] {N : AddSubgroup G} [AddGroup H] {f : G →+ H} (hf : Function.Surjective f) (hN : N = f.ker) (tN : AddMonoid.IsTorsion N) :

                  The image of a quotient is additively torsion iff the group is torsion.

                  If a group exponent exists, the group is torsion.

                  If a group exponent exists, the group is additively torsion.

                  theorem IsTorsion.exponentExists {G : Type u_1} [Group G] (tG : Monoid.IsTorsion G) (bounded : (Set.range fun (g : G) => orderOf g).Finite) :

                  The group exponent exists for any bounded torsion group.

                  theorem IsAddTorsion.exponentExists {G : Type u_1} [AddGroup G] (tG : AddMonoid.IsTorsion G) (bounded : (Set.range fun (g : G) => addOrderOf g).Finite) :

                  The group exponent exists for any bounded additive torsion group.

                  Finite groups are torsion groups.

                  Finite additive groups are additive torsion groups.

                  A nontrivial torsion abelian group is not torsion-free.

                  A nontrivial additive torsion abelian group is not torsion-free.

                  A nontrivial torsion-free abelian group is not torsion.

                  A nontrivial additive torsion-free abelian group is not torsion.

                  theorem AddMonoid.IsTorsion.module_of_torsion (R : Type u_3) (M : Type u_4) [AddCommMonoid M] [Semiring R] [Module R M] (tR : IsTorsion R) :

                  A module whose scalars are additively torsion is additively torsion.

                  theorem AddMonoid.IsTorsion.module_of_finite (R : Type u_3) (M : Type u_4) [AddCommMonoid M] [Ring R] [Finite R] [Module R M] :

                  A module with a finite ring of scalars is additively torsion.

                  The torsion submonoid of a commutative monoid.

                  (Note that by Monoid.IsTorsion.group torsion monoids are truthfully groups.)

                  Equations
                    Instances For

                      The torsion submonoid of an additive commutative monoid.

                      Equations
                        Instances For

                          Torsion submonoids are torsion.

                          Additive torsion submonoids are additively torsion.

                          def CommMonoid.primaryComponent (G : Type u_1) [CommMonoid G] (p : ) [hp : Fact (Nat.Prime p)] :

                          The p-primary component is the submonoid of elements with order prime-power of p.

                          Equations
                            Instances For

                              The p-primary component is the submonoid of elements with additive order prime-power of p.

                              Equations
                                Instances For
                                  @[simp]
                                  theorem CommMonoid.coe_primaryComponent (G : Type u_1) [CommMonoid G] (p : ) [hp : Fact (Nat.Prime p)] :
                                  (primaryComponent G p) = {g : G | ∃ (n : ), orderOf g = p ^ n}
                                  @[simp]
                                  theorem AddCommMonoid.coe_primaryComponent (G : Type u_1) [AddCommMonoid G] (p : ) [hp : Fact (Nat.Prime p)] :
                                  (primaryComponent G p) = {g : G | ∃ (n : ), addOrderOf g = p ^ n}
                                  theorem CommMonoid.primaryComponent.exists_orderOf_eq_prime_pow {G : Type u_1} [CommMonoid G] {p : } [hp : Fact (Nat.Prime p)] (g : (primaryComponent G p)) :
                                  ∃ (n : ), orderOf g = p ^ n

                                  Elements of the p-primary component have order p^n for some n.

                                  Elements of the p-primary component have additive order p^n for some n

                                  theorem CommMonoid.primaryComponent.disjoint {G : Type u_1} [CommMonoid G] {p : } [hp : Fact (Nat.Prime p)] {p' : } [hp' : Fact (Nat.Prime p')] (hne : p p') :

                                  The p- and q-primary components are disjoint for p ≠ q.

                                  theorem AddCommMonoid.primaryComponent.disjoint {G : Type u_1} [AddCommMonoid G] {p : } [hp : Fact (Nat.Prime p)] {p' : } [hp' : Fact (Nat.Prime p')] (hne : p p') :

                                  The p- and q-primary components are disjoint for p ≠ q.

                                  @[simp]

                                  The torsion submonoid of a torsion monoid is .

                                  @[simp]

                                  The additive torsion submonoid of an additive torsion monoid is .

                                  A torsion monoid is isomorphic to its torsion submonoid.

                                  Equations
                                    Instances For

                                      An additive torsion monoid is isomorphic to its torsion submonoid.

                                      Equations
                                        Instances For

                                          Torsion submonoids of a torsion submonoid are isomorphic to the submonoid.

                                          Equations
                                            Instances For

                                              Additive torsion submonoids of an additive torsion submonoid are isomorphic to the submonoid.

                                              Equations
                                                Instances For

                                                  The torsion subgroup of an abelian group.

                                                  Equations
                                                    Instances For

                                                      The torsion subgroup of an additive abelian group.

                                                      Equations
                                                        Instances For

                                                          The torsion submonoid of an abelian group equals the torsion subgroup as a submonoid.

                                                          The additive torsion submonoid of an abelian group equals the torsion subgroup as a submonoid.

                                                          def CommGroup.primaryComponent (G : Type u_1) [CommGroup G] (p : ) [hp : Fact (Nat.Prime p)] :

                                                          The p-primary component is the subgroup of elements with order prime-power of p.

                                                          Equations
                                                            Instances For

                                                              The p-primary component is the subgroup of elements with additive order prime-power of p.

                                                              Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem CommGroup.coe_primaryComponent (G : Type u_1) [CommGroup G] (p : ) [hp : Fact (Nat.Prime p)] :
                                                                  (primaryComponent G p) = {g : G | ∃ (n : ), orderOf g = p ^ n}
                                                                  @[simp]
                                                                  theorem AddCommGroup.coe_primaryComponent (G : Type u_1) [AddCommGroup G] (p : ) [hp : Fact (Nat.Prime p)] :
                                                                  (primaryComponent G p) = {g : G | ∃ (n : ), addOrderOf g = p ^ n}

                                                                  The p-primary component is a p group.

                                                                  @[deprecated IsMulTorsionFree (since := "2025-04-23")]

                                                                  A predicate on a monoid saying that only 1 is of finite order.

                                                                  This definition is mathematically incorrect for monoids which are not groups. Please use IsMulTorsionFree instead.

                                                                  Equations
                                                                    Instances For
                                                                      @[deprecated IsAddTorsionFree (since := "2025-04-23")]

                                                                      A predicate on an additive monoid saying that only 0 is of finite order.

                                                                      This definition is mathematically incorrect for monoids which are not groups. Please use IsAddTorsionFree instead.

                                                                      Equations
                                                                        Instances For
                                                                          @[deprecated not_isMulTorsionFree_iff_isOfFinOrder (since := "2025-04-23")]
                                                                          theorem Monoid.not_isTorsionFree_iff {G : Type u_1} [Monoid G] :
                                                                          ¬IsTorsionFree G ∃ (g : G), g 1 IsOfFinOrder g

                                                                          A nontrivial monoid is not torsion-free if any nontrivial element has finite order.

                                                                          @[deprecated not_isMulTorsionFree_iff_isOfFinOrder (since := "2025-04-23")]

                                                                          An additive monoid is not torsion free if any nontrivial element has finite order.

                                                                          @[deprecated Subsingleton.to_isMulTorsionFree (since := "2025-04-23")]
                                                                          @[deprecated Subsingleton.to_isMulTorsionFree (since := "2025-04-23")]
                                                                          @[deprecated CommGroup.isMulTorsionFree_iff_torsion_eq_bot (since := "2025-04-23")]
                                                                          @[deprecated CommGroup.isMulTorsionFree_iff_torsion_eq_bot (since := "2025-04-23")]
                                                                          @[deprecated not_isMulTorsionFree_of_isTorsion (since := "2025-04-23")]

                                                                          A nontrivial torsion group is not torsion-free.

                                                                          @[deprecated not_isMulTorsionFree_of_isTorsion (since := "2025-04-23")]

                                                                          A nontrivial additive torsion group is not torsion-free.

                                                                          @[deprecated not_isTorsion_of_isMulTorsionFree (since := "2025-04-23")]

                                                                          A nontrivial torsion-free group is not torsion.

                                                                          @[deprecated not_isTorsion_of_isMulTorsionFree (since := "2025-04-23")]

                                                                          A nontrivial torsion-free additive group is not torsion.

                                                                          @[deprecated Subgroup.instIsMulTorsionFree (since := "2025-04-23")]
                                                                          theorem Monoid.IsTorsionFree.subgroup {G : Type u_1} [Group G] (tG : IsTorsionFree G) (H : Subgroup G) :

                                                                          Subgroups of torsion-free groups are torsion-free.

                                                                          @[deprecated Subgroup.instIsMulTorsionFree (since := "2025-04-23")]

                                                                          Subgroups of additive torsion-free groups are additively torsion-free.

                                                                          @[deprecated Pi.instIsMulTorsionFree (since := "2025-04-23")]
                                                                          theorem Monoid.IsTorsionFree.prod {η : Type u_3} {Gs : ηType u_4} [(i : η) → Group (Gs i)] (tfGs : ∀ (i : η), IsTorsionFree (Gs i)) :
                                                                          IsTorsionFree ((i : η) → Gs i)

                                                                          Direct products of torsion free groups are torsion free.

                                                                          @[deprecated Pi.instIsMulTorsionFree (since := "2025-04-23")]
                                                                          theorem AddMonoid.IsTorsionFree.prod {η : Type u_3} {Gs : ηType u_4} [(i : η) → AddGroup (Gs i)] (tfGs : ∀ (i : η), IsTorsionFree (Gs i)) :
                                                                          IsTorsionFree ((i : η) → Gs i)

                                                                          Direct products of additive torsion free groups are torsion free.

                                                                          Quotienting a group by its torsion subgroup yields a torsion-free group.

                                                                          Quotienting a group by its additive torsion subgroup yields an additive torsion-free group.

                                                                          @[deprecated QuotientGroup.instIsMulTorsionFree (since := "2025-04-23")]

                                                                          Quotienting a group by its torsion subgroup yields a torsion free group.

                                                                          @[deprecated QuotientGroup.instIsMulTorsionFree (since := "2025-04-23")]

                                                                          Quotienting a group by its additive torsion subgroup yields an additive torsion free group.

                                                                          @[deprecated noZeroSMulDivisors_nat_iff_isAddTorsionFree (since := "2025-04-23")]
                                                                          @[deprecated noZeroSMulDivisors_int_iff_isAddTorsionFree (since := "2025-04-23")]
                                                                          @[deprecated IsAddTorsionFree.of_noZeroSMulDivisors_nat (since := "2025-04-23")]
                                                                          @[deprecated IsAddTorsionFree.to_noZeroSMulDivisors_nat (since := "2025-04-23")]

                                                                          Alias of the forward direction of AddMonoid.isTorsionFree_iff_noZeroSMulDivisors_nat.

                                                                          @[deprecated IsAddTorsionFree.to_noZeroSMulDivisors_int (since := "2025-04-23")]

                                                                          Alias of the forward direction of AddMonoid.isTorsionFree_iff_noZeroSMulDivisors_int.

                                                                          Equations