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 NatOrdinal.toSurreal
.
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 betweenNatOrdinal
andIGame
.NatOrdinal.toGame
: The canonical map betweenNatOrdinal
andGame
.
Lemmas to upstream #
NatOrdinal
to IGame
#
NatOrdinal
to Game
#
Converts an ordinal into the corresponding game.
Equations
Instances For
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 | }
.
Equations
- IGame.termω = Lean.ParserDescr.node `IGame.termω 1024 (Lean.ParserDescr.symbol "ω")