Cyclic groups #
A group G
is called cyclic if there exists an element g : G
such that every element of G
is of
the form g ^ n
for some n : ℕ
. This file only deals with the predicate on a group to be cyclic.
For the concrete cyclic group of order n
, see Data.ZMod.Basic
.
Main definitions #
IsCyclic
is a predicate on a group stating that the group is cyclic.
Main statements #
isCyclic_of_prime_card
proves that a finite group of prime order is cyclic.isSimpleGroup_of_prime_card
,IsSimpleGroup.isCyclic
, andIsSimpleGroup.prime_card
classify finite simple abelian groups.IsCyclic.exponent_eq_card
: For a finite cyclic groupG
, the exponent is equal to the group's cardinality.IsCyclic.exponent_eq_zero_of_infinite
: Infinite cyclic groups have exponent zero.IsCyclic.iff_exponent_eq_card
: A finite commutative group is cyclic iff its exponent is equal to its cardinality.
Tags #
cyclic group
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A cyclic group is always commutative. This is not an instance
because often we have a better
proof of CommGroup
.
Equations
- IsCyclic.commGroup = CommGroup.mk ⋯
Instances For
A cyclic group is always commutative. This is not an instance
because often we have
a better proof of AddCommGroup
.
Equations
- IsAddCyclic.addCommGroup = AddCommGroup.mk ⋯
Instances For
A non-cyclic multiplicative group is non-trivial.
A non-cyclic additive group is non-trivial.
Alias of AddMonoidHom.map_addCyclic
.
Alias of isAddCyclic_of_addOrderOf_eq_card
.
Any non-identity element of a finite group of prime order generates the group.
Any non-identity element of a finite group of prime order generates the group.
A finite group of prime order is cyclic.
Equations
- ⋯ = ⋯
Alias of IsAddCyclic.card_nsmul_eq_zero_le
.
Alias of isAddCyclic_of_card_nsmul_eq_zero_le
.
Alias of IsAddCyclic.card_addOrderOf_eq_totient
.
A finite group of prime order is simple.
A finite group of prime order is simple.
A group is commutative if the quotient by the center is cyclic.
Also see commGroupOfCyclicCenterQuotient
for the CommGroup
instance.
A group is commutative if the quotient by the center is cyclic.
Also see addCommGroupOfCyclicCenterQuotient
for the AddCommGroup
instance.
Alias of commutative_of_addCyclic_center_quotient
.
A group is commutative if the quotient by the center is cyclic.
Also see addCommGroupOfCyclicCenterQuotient
for the AddCommGroup
instance.
A group is commutative if the quotient by the center is cyclic.
Equations
Instances For
A group is commutative if the quotient by the center is cyclic.
Equations
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The kernel of zmultiplesHom G g
is equal to the additive subgroup generated by
addOrderOf g
.
The kernel of zpowersHom G g
is equal to the subgroup generated by orderOf g
.
The isomorphism from ZMod n
to any cyclic additive group of Nat.card
equal to n
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The isomorphism from Multiplicative (ZMod n)
to any cyclic group of Nat.card
equal to n
.
Equations
- zmodCyclicMulEquiv h = AddEquiv.toMultiplicative (zmodAddCyclicAddEquiv ⋯)
Instances For
Two cyclic additive groups of the same cardinality are isomorphic.
Equations
- addEquivOfAddCyclicCardEq hcard = (hcard ▸ zmodAddCyclicAddEquiv hG).symm.trans (zmodAddCyclicAddEquiv hH)
Instances For
Two cyclic groups of the same cardinality are isomorphic.
Equations
- mulEquivOfCyclicCardEq hcard = (hcard ▸ zmodCyclicMulEquiv hG).symm.trans (zmodCyclicMulEquiv hH)
Instances For
Two groups of the same prime cardinality are isomorphic.
Equations
Instances For
Two additive groups of the same prime cardinality are isomorphic.
Equations
Instances For
Groups with a given generator #
We state some results in terms of an explicitly given generator.
The generating property is given as in IsCyclic.exists_generator
.
The main statements are about the existence and uniqueness of homomorphisms and isomorphisms specified by the image of the given generator.
If g
generates the group G
and g'
is an element of another group G'
whose order
divides that of g
, then there is a homomorphism G →* G'
mapping g
to g'
.
Equations
- monoidHomOfForallMemZpowers hg hg' = { toFun := fun (x : G) => g' ^ Classical.choose ⋯, map_one' := ⋯, map_mul' := ⋯ }
Instances For
If g
generates the additive group G
and g'
is an element of another additive group G'
whose order divides that of g
, then there is a homomorphism G →+ G'
mapping g
to g'
.
Equations
- addMonoidHomOfForallMemZmultiples hg hg' = { toFun := fun (x : G) => Classical.choose ⋯ • g', map_zero' := ⋯, map_add' := ⋯ }
Instances For
Two homomorphisms G →+ G'
of additive groups are equal if and only if they agree
on a generator of G
.
Two isomorphisms G ≃+ G'
of additive groups are equal if and only if they agree
on a generator of G
.
Given two groups that are generated by elements g
and g'
of the same order,
we obtain an isomorphism sending g
to g'
.
Equations
- mulEquivOfOrderOfEq hg hg' h = (monoidHomOfForallMemZpowers hg ⋯).toMulEquiv (monoidHomOfForallMemZpowers hg' ⋯) ⋯ ⋯
Instances For
Given two additive groups that are generated by elements g
and g'
of the same order,
we obtain an isomorphism sending g
to g'
.
Equations
- addEquivOfAddOrderOfEq hg hg' h = (addMonoidHomOfForallMemZmultiples hg ⋯).toAddEquiv (addMonoidHomOfForallMemZmultiples hg' ⋯) ⋯ ⋯