Documentation

Mathlib.GroupTheory.SpecificGroups.Cyclic.Basic

Cyclic groups #

This file develops basic properties of cyclic groups that only require minimal imports.

Note that IsCyclic is a predicate on a group stating that the group is cyclic. For the concrete cyclic group of order n, see Data.ZMod.Basic.

@[instance 100]
instance isCyclic_of_subsingleton {α : Type u_1} [Group α] [Subsingleton α] :
@[instance 100]
@[deprecated IsAddCyclic.isAddCommutative (since := "2026-04-09")]

Alias of IsAddCyclic.isAddCommutative.

@[deprecated IsCyclic.isMulCommutative (since := "2026-04-09")]
theorem IsCyclic.commutative {α : Type u_1} [Group α] [IsCyclic α] :

Alias of IsCyclic.isMulCommutative.

@[instance_reducible]
def IsCyclic.commGroup {α : Type u_1} [Group α] [IsCyclic α] :

A cyclic group is always commutative. This is not an instance because often we have a better proof of CommGroup.

Equations
Instances For
    @[instance_reducible]

    A cyclic group is always commutative. This is not an instance because often we have a better proof of AddCommGroup.

    Equations
    Instances For
      theorem Nontrivial.of_not_isCyclic {α : Type u_1} [Group α] (nc : ¬IsCyclic α) :

      A non-cyclic multiplicative group is non-trivial.

      A non-cyclic additive group is non-trivial.

      theorem MonoidHom.map_cyclic {G : Type u_2} [Group G] [h : IsCyclic G] (σ : G →* G) :
      ∃ (m : ℤ), ∀ (g : G), σ g = g ^ m
      theorem AddMonoidHom.map_addCyclic {G : Type u_2} [AddGroup G] [h : IsAddCyclic G] (σ : G →+ G) :
      ∃ (m : ℤ), ∀ (g : G), σ g = m • g
      theorem isCyclic_of_surjective {G : Type u_2} {G' : Type u_3} [Group G] [Group G'] {F : Type u_4} [hH : IsCyclic G'] [FunLike F G' G] [MonoidHomClass F G' G] (f : F) (hf : Function.Surjective ⇑f) :
      theorem isAddCyclic_of_surjective {G : Type u_2} {G' : Type u_3} [AddGroup G] [AddGroup G'] {F : Type u_4} [hH : IsAddCyclic G'] [FunLike F G' G] [AddMonoidHomClass F G' G] (f : F) (hf : Function.Surjective ⇑f) :
      theorem MulEquiv.isCyclic {G : Type u_2} {G' : Type u_3} [Group G] [Group G'] (e : G ≃* G') :
      theorem AddEquiv.isAddCyclic {G : Type u_2} {G' : Type u_3} [AddGroup G] [AddGroup G'] (e : G ≃+ G') :