Period of a group action #
This module defines some helpful lemmas around [MulAction.period
] and [AddAction.period
].
The period of a point a
by a group element g
is the smallest m
such that g ^ m • a = a
(resp. (m • g) +ᵥ a = a
) for a given g : G
and a : α
.
If such an m
does not exist,
then by convention MulAction.period
and AddAction.period
return 0.
MulAction.period
for common group elements #
MulAction.period
and group exponents #
The period of a given element m : M
can be bounded by the Monoid.exponent M
or orderOf m
.
theorem
AddAction.period_dvd_addOrderOf
{α : Type v}
{M : Type u}
[AddMonoid M]
[AddAction M α]
(m : M)
(a : α)
:
period m a ∣ addOrderOf m
theorem
AddAction.period_pos_of_addOrderOf_pos
{α : Type v}
{M : Type u}
[AddMonoid M]
[AddAction M α]
{m : M}
(order_pos : 0 < addOrderOf m)
(a : α)
:
theorem
AddAction.period_le_addOrderOf
{α : Type v}
{M : Type u}
[AddMonoid M]
[AddAction M α]
{m : M}
(order_pos : 0 < addOrderOf m)
(a : α)
:
period m a ≤ addOrderOf m
theorem
MulAction.period_dvd_exponent
{α : Type v}
{M : Type u}
[Monoid M]
[MulAction M α]
(m : M)
(a : α)
:
period m a ∣ Monoid.exponent M
theorem
AddAction.period_dvd_exponent
{α : Type v}
{M : Type u}
[AddMonoid M]
[AddAction M α]
(m : M)
(a : α)
:
period m a ∣ AddMonoid.exponent M
theorem
MulAction.period_pos_of_exponent_pos
{α : Type v}
{M : Type u}
[Monoid M]
[MulAction M α]
(exp_pos : 0 < Monoid.exponent M)
(m : M)
(a : α)
:
theorem
AddAction.period_pos_of_exponent_pos
{α : Type v}
{M : Type u}
[AddMonoid M]
[AddAction M α]
(exp_pos : 0 < AddMonoid.exponent M)
(m : M)
(a : α)
:
theorem
MulAction.period_le_exponent
{α : Type v}
{M : Type u}
[Monoid M]
[MulAction M α]
(exp_pos : 0 < Monoid.exponent M)
(m : M)
(a : α)
:
period m a ≤ Monoid.exponent M
theorem
AddAction.period_le_exponent
{α : Type v}
{M : Type u}
[AddMonoid M]
[AddAction M α]
(exp_pos : 0 < AddMonoid.exponent M)
(m : M)
(a : α)
:
period m a ≤ AddMonoid.exponent M