Ordinals as games #
We define the canonical map NatOrdinal → IGame, where every ordinal is mapped to the game whose
left set consists of all previous ordinals. We make use of the type alias NatOrdinal rather than
Ordinal, as this map also preserves addition, and in the case of surreals, multiplication. The map
to surreals is defined in CombinatorialGames.Surreal.Ordinal.
We also prove some properties about NatCast, which is related to the previous construction by
toIGame (↑n) ≈ ↑n.
Main declarations #
NatOrdinal.toIGame: The canonical map betweenNatOrdinalandIGame.NatOrdinal.toGame: The canonical map betweenNatOrdinalandGame.
Lemmas to upstream #
NatOrdinal to IGame #
Equations
- NatOrdinal.instCoeIGame = { coe := fun (x : NatOrdinal) => NatOrdinal.toIGame x }
NatOrdinal to Game #
Converts an ordinal into the corresponding game.
Equations
Instances For
Equations
- NatOrdinal.instCoeGame = { coe := fun (x : NatOrdinal) => NatOrdinal.toGame x }
The natural addition of ordinals corresponds to their sum as games.
The natural multiplication of ordinals corresponds to their product as games.
NatOrdinal.toGame as an OrderAddMonoidHom.
Equations
- NatOrdinal.toGameAddHom = { toFun := ⇑NatOrdinal.toGame, map_zero' := NatOrdinal.toGame_zero, map_add' := NatOrdinal.toGame_add, monotone' := NatOrdinal.toGameAddHom._proof_1 }
Instances For
Note that the equality doesn't hold, as e.g. ↑2 = {1 | }, while toIGame 2 = {0, 1 | }.