One-way-liveness proof: Tours #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Combinatorics/Automata/Tours.lean
Module and namespace names, imports, and formatting are adapted to complexitylib.
The machine definitions are shared through Models.FiniteAutomaton.Defs.
A finite permutation cannot leave a set without later re-entering it. When there is only one entrance, its entrance dart lies on the same tour.
A cyclic order on every nonempty fiber of a finite incidence map.
- perm : Equiv.Perm D
The permutation specifying the cyclic incidence order.
Instances For
Choose a single cycle on each nonempty finite incidence fiber.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Oriented edges of a finite functional graph. Loops and distinct parallel edges are permitted a priori; the source map nevertheless is injective.
- src : E → V
The source vertex of an edge.
- dst : E → V
The destination vertex of an edge.
- src_injective : Function.Injective self.src
Instances For
Reflexive transitive closure of the functional edge relation.
Equations
Instances For
An edge together with its source or destination endpoint.
Equations
Instances For
The involution exchanging the two endpoints of each edge.
Equations
Instances For
Every incoming-to-outgoing cyclic order at a vertex is permitted.
Equations
Instances For
Traverse an edge, then advance along its vertex rotation.
Instances For
All incidences in the basin of a terminal vertex lie on its one tour.