A Winner Classification for Rooted Partizan Edge Geography on Heterogeneous Bouquets of Cycles
In rooted partizan edge geography on a finite bouquet of simple cycles, two players each move their own token from a common root along edges not yet used by either token, and a player with no legal move loses. The question is which player wins, with no assumption that the cycle lengths are equal.
The proof uses simultaneous strong induction on root positions and defense positions. It includes an exact four-case analysis of the forced race between two opened cycles, and the defense coordinates are measured from the consumed entrance. The Lean 4 development defines the game on an actual undirected simple graph, built from State, Legal, advance and the inductive predicate edgeGameForceWin. It then proves the classification through a canonical corridor-and-petal model and reduces the real double-root game to that model.
The first player wins exactly when the number of odd-length cycles is odd. Explicit formulas for defense positions are also given. The Lean source, pinned to a fixed toolchain and Mathlib revision, gives a mechanically checked proof of the main classification.
