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 #
IsCyclicis a predicate on a group stating that the group is cyclic.
Main statements #
isCyclic_of_prime_cardproves that a finite group of prime order is cyclic.isSimpleGroup_of_prime_card,IsSimpleGroup.isCyclic, andIsSimpleGroup.prime_cardclassify 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
A cyclic group is always commutative. This is not an instance because often we have a better
proof of CommGroup.
Equations
Instances For
A cyclic group is always commutative. This is not an instance because often we have
a better proof of AddCommGroup.
Equations
Instances For
A non-cyclic multiplicative group is non-trivial.
A non-cyclic additive group is non-trivial.
Alias of orderOf_eq_card_of_forall_mem_zpowers.
A distributive action of a monoid on a finite cyclic group of order n factors through an
action on ZMod n.
Equations
- MulDistribMulAction.toMonoidHomZModOfIsCyclic G M hn = { toFun := fun (m : M) => ↑⋯.choose, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Stacks Tag 09HX (This theorem is stronger than 09HX. It removes the abelian condition, and requires only ≤ instead of =.)
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.
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
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
The automorphism group of a cyclic group is isomorphic to the multiplicative group of ZMod.
Equations
- IsCyclic.mulAutMulEquiv G = ((MulAut.congr (zmodCyclicMulEquiv h)).symm.trans (MulAutMultiplicative (ZMod (Nat.card G)))).trans (ZMod.AddAutEquivUnits (Nat.card G))
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.
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' ⋯) ⋯ ⋯