Canonical cycles in finite functional graphs #
Every orbit of a map on a finite type ends in a cycle (cycleSet), the same for all states of
the orbit (cycleSet_iterate). Past the transient, two times give the same state exactly when
they agree modulo the cycle length (iterate_eq_iterate_iff_modEq). Given a linear order on the
states, the least state of the cycle
is a canonical representative (canonicalCycle): a periodic state is reachable from x exactly
when the two have the same representative (exists_iterate_eq_iff_canonicalCycle_eq). The first
visit to the representative (canonicalTime) occurs before the number of states, and before the
cycle length for a periodic state; the phase of a state on its cycle is the negative of that
time modulo the cycle length (phase).
These labels depend only on the map and the order, not on any representation of the states.
Main definitions #
Cslib.FunctionalGraph.cycleSet: the eventual cycle.Cslib.FunctionalGraph.canonicalCycle: its least state.Cslib.FunctionalGraph.canonicalTime: the first visit to that state.Cslib.FunctionalGraph.phase: the position on the cycle.
Main results #
Cslib.FunctionalGraph.iterate_eq_iterate_iff_modEq: equality past the transient.Cslib.FunctionalGraph.mem_cycleSet_iff: the cycle is the periodic orbit reached.Cslib.FunctionalGraph.exists_iterate_eq_iff_canonicalCycle_eq: reachability of periodic states.Cslib.FunctionalGraph.transientDepth_le_canonicalTime,Cslib.FunctionalGraph.canonicalTime_lt_card,Cslib.FunctionalGraph.canonicalTime_lt_cycleLength: bounds on the first visit.
References #
- Adapted from lean/Proofs/CycleLabels.lean in S. Schlesinger, Square-root circuit bounds for iterated functions.
Advancing along the orbit does not change the cycle length.
Every periodic state on the orbit of x has the cycle length of x as minimal period.
Past the transient, two times give the same state exactly when they agree modulo the cycle length.
The eventual cycle of x, as a finite set.
Instances For
The eventual cycle of x is the periodic orbit of the state at its transient depth.
The least element of the eventual cycle in the chosen state order.
Instances For
The canonical representative lies on the eventual cycle.
The canonical representative is at most every state of the eventual cycle.
Advancing along the orbit does not change the canonical representative.
The canonical representative is periodic.
The canonical representative is reachable from x.
A canonical representative completely identifies the eventual cycle.
The first visit to the canonical cycle representative, always below the state count.
Instances For
At the canonical time, the orbit of x is at its canonical representative.
Before the canonical time, the orbit of x avoids its canonical representative.
The canonical time is at least the transient depth.
For a periodic state, the canonical time is less than the cycle length.
The canonical time is less than the number of states.
The phase of x on its cycle: the negative of the canonical hitting time modulo the cycle
length.
Instances For
The phase is less than the cycle length.