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.
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, 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
.