Documentation

Mathlib.GroupTheory.SpecificGroups.Cyclic.Subgroup

Subgroups of cyclic groups #

Develop properties of finite cyclic groups and subgroups of cyclic groups.

Main statements #

Tags #

cyclic group

theorem IsCyclic.exists_generator {α : Type u_1} [Group α] [IsCyclic α] :
∃ (g : α), ∀ (x : α), x ∈ Subgroup.zpowers g
theorem IsAddCyclic.exists_generator {α : Type u_1} [AddGroup α] [IsAddCyclic α] :
∃ (g : α), ∀ (x : α), x ∈ AddSubgroup.zmultiples g
theorem Subgroup.isCyclic_iff_exists_zpowers_eq_top {α : Type u_1} [Group α] (H : Subgroup α) :
IsCyclic ↥H ↔ ∃ (g : α), zpowers g = H
instance Subgroup.isCyclic_zpowers {G : Type u_2} [Group G] (g : G) :
theorem isCyclic_iff_exists_orderOf_eq_natCard {α : Type u_1} [Group α] [Finite α] :
IsCyclic α ↔ ∃ (g : α), orderOf g = Nat.card α
theorem isCyclic_iff_exists_natCard_le_orderOf {α : Type u_1} [Group α] [Finite α] :
IsCyclic α ↔ ∃ (g : α), Nat.card α ≤ orderOf g
theorem isCyclic_of_orderOf_eq_card {α : Type u_1} [Group α] [Finite α] (x : α) (hx : orderOf x = Nat.card α) :
theorem isAddCyclic_of_addOrderOf_eq_card {α : Type u_1} [AddGroup α] [Finite α] (x : α) (hx : addOrderOf x = Nat.card α) :
theorem isCyclic_of_card_le_orderOf {α : Type u_1} [Group α] [Finite α] (x : α) (hx : Nat.card α ≤ orderOf x) :
theorem isAddCyclic_of_card_le_addOrderOf {α : Type u_1} [AddGroup α] [Finite α] (x : α) (hx : Nat.card α ≤ addOrderOf x) :
theorem zpowers_eq_top_of_prime_card {G : Type u_2} [Group G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card G = p) {g : G} (hg : g ≠ 1) :

Any non-identity element of a finite group of prime order generates the group.

theorem zmultiples_eq_top_of_prime_card {G : Type u_2} [AddGroup G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card G = p) {g : G} (hg : g ≠ 0) :

Any non-identity element of a finite group of prime order generates the group.

theorem mem_zpowers_of_prime_card {G : Type u_2} [Group G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card G = p) {g g' : G} (hg : g ≠ 1) :
theorem mem_zmultiples_of_prime_card {G : Type u_2} [AddGroup G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card G = p) {g g' : G} (hg : g ≠ 0) :
theorem mem_powers_of_prime_card {G : Type u_2} [Group G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card G = p) {g g' : G} (hg : g ≠ 1) :
theorem mem_multiples_of_prime_card {G : Type u_2} [AddGroup G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card G = p) {g g' : G} (hg : g ≠ 0) :
theorem powers_eq_top_of_prime_card {G : Type u_2} [Group G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card G = p) {g : G} (hg : g ≠ 1) :
theorem multiples_eq_top_of_prime_card {G : Type u_2} [AddGroup G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card G = p) {g : G} (hg : g ≠ 0) :
theorem isCyclic_of_prime_card {α : Type u_1} [Group α] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card α = p) :

A finite group of prime order is cyclic.

theorem isAddCyclic_of_prime_card {α : Type u_1} [AddGroup α] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card α = p) :

A finite group of prime order is cyclic.

theorem isCyclic_of_card_dvd_prime {α : Type u_1} [Group α] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card α ∣ p) :

A finite group of order dividing a prime is cyclic.

theorem isAddCyclic_of_card_dvd_prime {α : Type u_1} [AddGroup α] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : Nat.card α ∣ p) :

A finite group of order dividing a prime is cyclic.

theorem orderOf_eq_card_of_forall_mem_zpowers {α : Type u_1} [Group α] {g : α} (hx : ∀ (x : α), x ∈ Subgroup.zpowers g) :
theorem addOrderOf_eq_card_of_forall_mem_zmultiples {α : Type u_1} [AddGroup α] {g : α} (hx : ∀ (x : α), x ∈ AddSubgroup.zmultiples g) :
theorem orderOf_eq_card_of_forall_mem_powers {α : Type u_1} [Group α] {g : α} (hx : ∀ (x : α), x ∈ Submonoid.powers g) :
theorem addOrderOf_eq_card_of_forall_mem_multiples {α : Type u_1} [AddGroup α] {g : α} (hx : ∀ (x : α), x ∈ AddSubmonoid.multiples g) :
theorem exists_pow_ne_one_of_isCyclic {G : Type u_2} [Group G] [G_cyclic : IsCyclic G] {k : ℕ} (k_pos : k ≠ 0) (k_lt_card_G : k < Nat.card G) :
∃ (a : G), a ^ k ≠ 1
theorem exists_nsmul_ne_zero_of_isAddCyclic {G : Type u_2} [AddGroup G] [G_addCyclic : IsAddCyclic G] {k : ℕ} (k_pos : k ≠ 0) (k_lt_card_G : k < Nat.card G) :
∃ (a : G), k • a ≠ 0
theorem Infinite.orderOf_eq_zero_of_forall_mem_zpowers {α : Type u_1} [Group α] [Infinite α] {g : α} (h : ∀ (x : α), x ∈ Subgroup.zpowers g) :
instance Bot.isCyclic {α : Type u_1} [Group α] :
instance Bot.isAddCyclic {α : Type u_1} [AddGroup α] :
instance Subgroup.isCyclic {α : Type u_1} [Group α] [IsCyclic α] (H : Subgroup α) :
instance AddSubgroup.isAddCyclic {α : Type u_1} [AddGroup α] [IsAddCyclic α] (H : AddSubgroup α) :
theorem isCyclic_of_injective {G : Type u_2} {G' : Type u_3} [Group G] [Group G'] [IsCyclic G'] (f : G →* G') (hf : Function.Injective ⇑f) :
theorem isAddCyclic_of_injective {G : Type u_2} {G' : Type u_3} [AddGroup G] [AddGroup G'] [IsAddCyclic G'] (f : G →+ G') (hf : Function.Injective ⇑f) :
theorem Subgroup.isCyclic_of_le {G : Type u_2} [Group G] {H H' : Subgroup G} (h : H ≤ H') [IsCyclic ↥H'] :
theorem AddSubgroup.isAddCyclic_of_le {G : Type u_2} [AddGroup G] {H H' : AddSubgroup G} (h : H ≤ H') [IsAddCyclic ↥H'] :
theorem Subgroup.le_zpowers_iff {G : Type u_2} [Group G] (g : G) (H : Subgroup G) :
H ≤ zpowers g ↔ ∃ (n : ℕ), H = zpowers (g ^ n)
theorem AddSubgroup.le_zmultiples_iff {G : Type u_2} [AddGroup G] (g : G) (H : AddSubgroup G) :
H ≤ zmultiples g ↔ ∃ (n : ℕ), H = zmultiples (n • g)
theorem IsCyclic.card_pow_eq_one_le {α : Type u_1} [Group α] [DecidableEq α] [Fintype α] [IsCyclic α] {n : ℕ} (hn0 : 0 < n) :
{a : α | a ^ n = 1}.card ≤ n
theorem IsAddCyclic.card_nsmul_eq_zero_le {α : Type u_1} [AddGroup α] [DecidableEq α] [Fintype α] [IsAddCyclic α] {n : ℕ} (hn0 : 0 < n) :
{a : α | n • a = 0}.card ≤ n
theorem IsCyclic.exists_monoid_generator {α : Type u_1} [Group α] [Finite α] [IsCyclic α] :
∃ (x : α), ∀ (y : α), y ∈ Submonoid.powers x
theorem IsAddCyclic.exists_addMonoid_generator {α : Type u_1} [AddGroup α] [Finite α] [IsAddCyclic α] :
∃ (x : α), ∀ (y : α), y ∈ AddSubmonoid.multiples x
theorem IsCyclic.exists_ofOrder_eq_natCard {α : Type u_1} [Group α] [h : IsCyclic α] :
∃ (g : α), orderOf g = Nat.card α
theorem IsAddCyclic.exists_ofOrder_eq_natCard {α : Type u_1} [AddGroup α] [h : IsAddCyclic α] :
∃ (g : α), addOrderOf g = Nat.card α
noncomputable def MulDistribMulAction.toMonoidHomZModOfIsCyclic (G : Type u_2) [Group G] (M : Type u_4) [Monoid M] [IsCyclic G] [MulDistribMulAction M G] {n : ℕ} (hn : Nat.card G = n) :

A distributive action of a monoid on a finite cyclic group of order n factors through an action on ZMod n.

Equations
Instances For
    theorem MulDistribMulAction.toMonoidHomZModOfIsCyclic_apply {G : Type u_2} [Group G] {M : Type u_4} [Monoid M] [IsCyclic G] [MulDistribMulAction M G] {n : ℕ} (hn : Nat.card G = n) (m : M) (g : G) (k : ℤ) (h : (toMonoidHomZModOfIsCyclic G M hn) m = ↑k) :
    m • g = g ^ k
    theorem IsCyclic.unique_zpow_zmod {α : Type u_1} {a : α} [Group α] [Fintype α] (ha : ∀ (x : α), x ∈ Subgroup.zpowers a) (x : α) :
    ∃! n : ZMod (Fintype.card α), x = a ^ n.val
    theorem IsAddCyclic.unique_zsmul_zmod {α : Type u_1} {a : α} [AddGroup α] [Fintype α] (ha : ∀ (x : α), x ∈ AddSubgroup.zmultiples a) (x : α) :
    theorem IsCyclic.image_range_orderOf {α : Type u_1} {a : α} [Group α] [Fintype α] [DecidableEq α] (ha : ∀ (x : α), x ∈ Subgroup.zpowers a) :
    theorem IsAddCyclic.image_range_addOrderOf {α : Type u_1} {a : α} [AddGroup α] [Fintype α] [DecidableEq α] (ha : ∀ (x : α), x ∈ AddSubgroup.zmultiples a) :
    theorem IsCyclic.image_range_card {α : Type u_1} {a : α} [Group α] [Fintype α] [DecidableEq α] (ha : ∀ (x : α), x ∈ Subgroup.zpowers a) :
    Finset.image (fun (i : ℕ) => a ^ i) (Finset.range (Nat.card α)) = Finset.univ
    theorem IsAddCyclic.image_range_card {α : Type u_1} {a : α} [AddGroup α] [Fintype α] [DecidableEq α] (ha : ∀ (x : α), x ∈ AddSubgroup.zmultiples a) :
    theorem IsCyclic.ext {G : Type u_2} [Group G] [Finite G] [IsCyclic G] {d : ℕ} {a b : ZMod d} (hGcard : Nat.card G = d) (h : ∀ (t : G), t ^ a.val = t ^ b.val) :
    a = b
    theorem IsAddCyclic.ext {G : Type u_2} [AddGroup G] [Finite G] [IsAddCyclic G] {d : ℕ} {a b : ZMod d} (hGcard : Nat.card G = d) (h : ∀ (t : G), a.val • t = b.val • t) :
    a = b