Periodic points #
A point x : α
is a periodic point of f : α → α
of period n
if f^[n] x = x
.
Main definitions #
IsPeriodicPt f n x
:x
is a periodic point off
of periodn
, i.e.f^[n] x = x
. We do not requiren > 0
in the definition.ptsOfPeriod f n
: the set{x | IsPeriodicPt f n x}
. Note thatn
is not required to be the minimal period ofx
.periodicPts f
: the set of all periodic points off
.minimalPeriod f x
: the minimal period of a pointx
under an endomorphismf
or zero ifx
is not a periodic point off
.orbit f x
: the cycle[x, f x, f (f x), ...]
for a periodic point.MulAction.period g x
: the minimal period of a pointx
under the multiplicative action ofg
; an equivalentAddAction.period g x
is defined for additive actions.
Main statements #
We provide “dot syntax”-style operations on terms of the form h : IsPeriodicPt f n x
including
arithmetic operations on n
and h.map (hg : SemiconjBy g f f')
. We also prove that f
is bijective on each set ptsOfPeriod f n
and on periodicPts f
. Finally, we prove that x
is a periodic point of f
of period n
if and only if minimalPeriod f x | n
.
References #
- https://en.wikipedia.org/wiki/Periodic_point
A point x
is a periodic point of f : α → α
of period n
if f^[n] x = x
.
Note that we do not require 0 < n
in this definition. Many theorems about periodic points
need this assumption.
Equations
- Function.IsPeriodicPt f n x = Function.IsFixedPt f^[n] x
Instances For
A fixed point of f
is a periodic point of f
of any prescribed period.
For the identity map, all points are periodic.
Any point is a periodic point of period 0
.
Equations
- Function.IsPeriodicPt.instDecidableIsPeriodicPt = Function.IsFixedPt.decidable
If f
sends two periodic points x
and y
of the same positive period to the same point,
then x = y
. For a similar statement about points of different periods see eq_of_apply_eq
.
If f
sends two periodic points x
and y
of positive periods to the same point,
then x = y
.
The set of periodic points of a given (possibly non-minimal) period.
Equations
- Function.ptsOfPeriod f n = {x : α | Function.IsPeriodicPt f n x}
Instances For
The set of periodic points of a map f : α → α
.
Equations
- Function.periodicPts f = {x : α | ∃ n > 0, Function.IsPeriodicPt f n x}
Instances For
Minimal period of a point x
under an endomorphism f
. If x
is not a periodic point of f
,
then minimalPeriod f x = 0
.
Equations
- Function.minimalPeriod f x = if h : x ∈ Function.periodicPts f then Nat.find h else 0
Instances For
The orbit of a periodic point x
of f
is the cycle [x, f x, f (f x), ...]
. Its length is
the minimal period of x
.
If x
is not a periodic point, then this is the empty (aka nil) cycle.
Equations
- Function.periodicOrbit f x = ↑(List.map (fun (n : ℕ) => f^[n] x) (List.range (Function.minimalPeriod f x)))
Instances For
The definition of a periodic orbit, in terms of List.map
.
The definition of a periodic orbit, in terms of Cycle.map
.
The period of an additive action of g
on a
is the smallest positive n
such that (n • g) +ᵥ a = a
, or 0
if such an n
does not exist.
Equations
- AddAction.period m a = Function.minimalPeriod (fun (x : α) => m +ᵥ x) a
Instances For
The period of a multiplicative action of g
on a
is the smallest positive n
such that
g ^ n • a = a
, or 0
if such an n
does not exist.
Equations
- MulAction.period m a = Function.minimalPeriod (fun (x : α) => m • x) a
Instances For
AddAction.period m a
is definitionally equal to
Function.minimalPeriod (m +ᵥ ·) a
MulAction.period m a
is definitionally equal to Function.minimalPeriod (m • ·) a
.
(period m a) • m
fixes a
.
m ^ (period m a)
fixes a
.
Multiples of MulAction.period
#
It is easy to convince oneself that if g ^ n • a = a
(resp. (n • g) +ᵥ a = a
),
then n
must be a multiple of period g a
.
This also holds for negative powers/multiples.