Order of an element #
This file defines the order of an element of a finite group. For a finite group G the order of
x ∈ G is the minimal n ≥ 1 such that x ^ n = 1.
Main definitions #
IsOfFinOrderis a predicate on an elementxof a monoidGsaying thatxis of finite order.IsOfFinAddOrderis the additive analogue ofIsOfFinOrder.orderOf xdefines the order of an elementxof a monoidG, by convention its value is0ifxhas infinite order.addOrderOfis the additive analogue oforderOf.
Tags #
order of an element
IsOfFinOrder is a predicate on an element x of a monoid to be of finite order, i.e. there
exists n ≥ 1 such that x ^ n = 1.
Equations
- IsOfFinOrder x = (1 ∈ Function.periodicPts fun (x_1 : G) => x * x_1)
Instances For
IsOfFinAddOrder is a predicate on an element a of an
additive monoid to be of finite order, i.e. there exists n ≥ 1 such that n • a = 0.
Equations
- IsOfFinAddOrder x = (0 ∈ Function.periodicPts fun (x_1 : G) => x + x_1)
Instances For
Alias of the forward direction of isOfFinOrder_iff_pow_eq_one.
See also injective_pow_iff_not_isOfFinOrder.
See also injective_nsmul_iff_not_isOfFinAddOrder.
1 is of finite order in any monoid.
0 is of finite order in any additive monoid.
Elements of finite order are of finite order in submonoids.
Elements of finite order are of finite order in submonoids.
The image of an element of finite order has finite order.
The image of an element of finite additive order has finite additive order.
If a direct product has finite order then so does each component.
If a direct product has finite additive order then so does each component.
The submonoid generated by an element is a group if that element has finite order.
Equations
- hx.groupPowers = And.casesOn ⋯ fun (hpos : 0 < ⋯.choose) (hx_1 : x ^ ⋯.choose = 1) => Submonoid.groupPowers hpos hx_1
Instances For
The additive submonoid generated by an element is an additive group if that element has finite order.
Equations
- hx.addGroupMultiples = And.casesOn ⋯ fun (hpos : 0 < ⋯.choose) (hx_1 : ⋯.choose • x = 0) => AddSubmonoid.addGroupMultiples hpos hx_1
Instances For
addOrderOf a is the order of the element a, i.e. the n ≥ 1, s.t. n • a = 0 if it
exists. Otherwise, i.e. if a is of infinite order, then addOrderOf a is 0 by convention.
Equations
- addOrderOf x = Function.minimalPeriod (fun (x_1 : G) => x + x_1) 0
Instances For
In a nontrivial monoid with zero, the order of the zero element is zero.
A group element has finite order iff its order is positive.
A group element has finite additive order iff its order is positive.
An injective homomorphism of additive monoids preserves orders of elements.
If the additive order of x is finite, then x is an additive
unit with inverse (addOrderOf x - 1) • x.
Instances For
Commuting elements of finite order are closed under multiplication.
Commuting elements of finite additive order are closed under addition.
If each prime factor of orderOf x has higher multiplicity in orderOf y, and x commutes
with y, then x * y has the same order as y.
If each prime factor of
addOrderOf x has higher multiplicity in addOrderOf y, and x commutes with y,
then x + y has the same order as y.
The backward direction of addOrderOf_eq_prime_iff.
The equivalence between Fin (orderOf x) and Submonoid.powers x, sending i to x ^ i
Equations
- finEquivPowers hx = Equiv.ofBijective (fun (n : Fin (orderOf x)) => ⟨x ^ ↑n, ⋯⟩) ⋯
Instances For
The equivalence between Fin (addOrderOf a) and
AddSubmonoid.multiples a, sending i to i • a
Equations
- finEquivMultiples hx = Equiv.ofBijective (fun (n : Fin (addOrderOf x)) => ⟨↑n • x, ⋯⟩) ⋯
Instances For
See also orderOf_eq_card_powers.
See also addOrder_eq_card_multiples.
Inverses of elements of finite order have finite order.
Inverses of elements of finite additive order have finite additive order.
Alias of the forward direction of isOfFinOrder_inv_iff.
Inverses of elements of finite order have finite order.
Alias of the reverse direction of isOfFinOrder_inv_iff.
Inverses of elements of finite order have finite order.
See Subgroup.closure_toSubmonoid_of_finite for a version for finite groups.
See AddSubgroup.closure_toAddSubmonoid_of_finite for a version for finite additive groups.
The equivalence between Fin (orderOf x) and Subgroup.zpowers x, sending i to x ^ i.
Equations
- finEquivZPowers hx = (finEquivPowers hx).trans (Equiv.setCongr ⋯)
Instances For
The equivalence between Fin (addOrderOf a) and
Subgroup.zmultiples a, sending i to i • a.
Equations
- finEquivZMultiples hx = (finEquivMultiples hx).trans (Equiv.setCongr ⋯)
Instances For
Elements of finite order are closed under multiplication.
Elements of finite additive order are closed under addition.
Alias of the reverse direction of isMulTorsionFree_iff_not_isOfFinOrder.
This is the same as IsOfFinOrder.orderOf_pos but with one fewer explicit assumption since this
is automatic in case of a finite cancellative monoid.
This is the same as IsOfFinAddOrder.addOrderOf_pos but with one fewer explicit
assumption since this is automatic in case of a finite cancellative additive monoid.
This is the same as orderOf_pow' and orderOf_pow'' but with one assumption less which is
automatic in the case of a finite cancellative monoid.
This is the same as addOrderOf_nsmul' and
addOrderOf_nsmul but with one assumption less which is automatic in the case of a
finite cancellative additive monoid.
The equivalence between Submonoid.powers of two elements x, y of the same order, mapping
x ^ i to y ^ i.
Equations
- powersEquivPowers h = (finEquivPowers ⋯).symm.trans ((finCongr h).trans (finEquivPowers ⋯))
Instances For
The equivalence between Submonoid.multiples of two elements a, b of the same additive
order, mapping i • a to i • b.
Equations
- multiplesEquivMultiples h = (finEquivMultiples ⋯).symm.trans ((finCongr h).trans (finEquivMultiples ⋯))
Instances For
Alias of the reverse direction of isOfFinOrder_iff_isUnit.
The equivalence between Subgroup.zpowers of two elements x, y of the same order, mapping
x ^ i to y ^ i.
Equations
- zpowersEquivZPowers h = (finEquivZPowers ⋯).symm.trans ((finCongr h).trans (finEquivZPowers ⋯))
Instances For
The equivalence between Subgroup.zmultiples of two elements a, b of the same additive
order, mapping i • a to i • b.
Equations
- zmultiplesEquivZMultiples h = (finEquivZMultiples ⋯).symm.trans ((finCongr h).trans (finEquivZMultiples ⋯))
Instances For
See Subgroup.closure_toSubmonoid_of_isOfFinOrder for a version with weaker assumptions.
See AddSubgroup.closure_toAddSubmonoid_of_isOfFinOrder for a version with weaker
assumptions.
See also Nat.card_zpowers.
See also Nat.card_zmultiples.
If gcd(|G|,n)=1 then the nth power map is a bijection
Equations
Instances For
A nonempty idempotent subset of a finite cancellative monoid is a submonoid
Equations
- submonoidOfIdempotent S hS1 hS2 = { carrier := S, mul_mem' := ⋯, one_mem' := ⋯ }
Instances For
A nonempty idempotent subset of a finite cancellative additive monoid is a submonoid
Equations
- addSubmonoidOfIdempotent S hS1 hS2 = { carrier := S, add_mem' := ⋯, zero_mem' := ⋯ }
Instances For
A nonempty idempotent subset of a finite additive group is a subgroup
Equations
- addSubgroupOfIdempotent S hS1 hS2 = { carrier := S, add_mem' := ⋯, zero_mem' := ⋯, neg_mem' := ⋯ }
Instances For
If S is a nonempty subset of a finite group G, then S ^ |G| is a subgroup
Equations
- powCardSubgroup S hS = subgroupOfIdempotent (S ^ Fintype.card G) ⋯ ⋯
Instances For
If S is a nonempty subset of a finite additive group G, then |G| • S is a subgroup
Equations
- smulCardAddSubgroup S hS = addSubgroupOfIdempotent (Fintype.card G • S) ⋯ ⋯