The forest generated by checkpoint-to-cycle paths #
Cut outgoing edges at periodic states (transientDepth f x = 0). Closing a finite checkpoint set
H along the remaining transient paths yields a finite directed forest checkpointHull f H whose
roots are the cycle entry points reached from H (forestRoots f H) and whose leaves all lie in
H (forestLeaves_subset).
Adding the roots and the branching states (forestBranches f H, states with at least two
predecessors in forestSources f H) to H produces the refined mark set forestMarks f H.
Because every branch and every root is paid for by a distinct leaf in H
(forestBranches_roots_le_leaves), the refined set has at most 2 |H| states
(forestMarks_card), and outside forestMarks f H every state in the hull has at most one
hull predecessor (forestPredecessor_unique).
Main definitions #
Cslib.FunctionalGraph.checkpointHull: states reached fromHup to their first periodic point.Cslib.FunctionalGraph.forestSources: transient states incheckpointHull f H.Cslib.FunctionalGraph.forestChildren: predecessors of a state inforestSources f H.Cslib.FunctionalGraph.forestRoots: periodic states incheckpointHull f H.Cslib.FunctionalGraph.forestLeaves: hull states with no predecessor inforestSources f H.Cslib.FunctionalGraph.forestBranches: hull states with at least two predecessors inforestSources f H.Cslib.FunctionalGraph.forestMarks: refined checkpoint setH ∪ (forestRoots f H ∪ forestBranches f H).
Main results #
Cslib.FunctionalGraph.forestLeaves_subset: every leaf of the checkpoint hull belongs toH.Cslib.FunctionalGraph.sum_forestChildren: child counts across the hull sum to|forestSources f H|.Cslib.FunctionalGraph.forestBranches_roots_le_leaves: branches and roots are bounded by leaves.Cslib.FunctionalGraph.forestMarks_card:(forestMarks f H).card ≤ 2 * H.card.Cslib.FunctionalGraph.forestPredecessor_unique: unmarked states have at most one predecessor inforestSources f H.
References #
- Adapted from lean/Proofs/CheckpointForest.lean in S. Schlesinger, Square-root circuit bounds for iterated functions.
A state lies in the checkpoint hull exactly when it is f^[t] h for some h ∈ H and
t ≤ transientDepth f h.
Every checkpoint lies in the checkpoint hull.
The checkpoint hull is monotone in the checkpoint set.
The checkpoint hull contains the orbit of each of its states up to that state's transient depth.
The checkpoint hull contains the successor of each of its transient states.
Predecessors of x in forestSources f H.
Instances For
Periodic vertices in checkpointHull f H (the roots of the cut forest).
Instances For
Vertices of checkpointHull f H with no predecessor in forestSources f H.
Instances For
Vertices of checkpointHull f H with at least two predecessors in forestSources f H.
Instances For
The forest sources are exactly the hull states of positive transient depth.
The children of x are exactly the hull states of positive transient depth that f maps
to x.
The forest roots are exactly the hull states of transient depth zero.
The forest leaves are exactly the hull states with no children.
The forest branches are exactly the hull states with at least two children.
A state is marked exactly when it is a checkpoint, a forest root, or a forest branch.
Every leaf of the checkpoint hull belongs to H.
Count each nonroot's outgoing edge at its parent.
Branches and roots together are paid for by distinct leaves.
Every checkpoint is marked.
Every forest root is marked.
Every forest branch is marked.
Every marked state lies in the checkpoint hull.
Refinement to a compressed forest needs at most twice as many marks.
A hull state of transient depth zero is marked.
Between marks, two hull paths cannot merge.