Real numbers as games #
We define the function Real.toIGame
, casting a real number to its Dedekind cut, and prove that
it's an order embedding. We then define the Game
and Surreal
versions of this map, and prove
that they are ring and field homomorphisms respectively.
TODO #
Every real number has birthday at most ω
. This can be proven by showing that a real number is
equivalent to its Dedekind cut where only dyadic rationals are considered. At a later point, after
we have the necessary API on dyadic numbers, we might want to prove this equivalence, or even
re-define real numbers as Dedekind cuts of dyadic numbers specifically.
Real.toGame
as an OrderEmbedding
.
Instances For
Real.toGame
as an OrderAddMonoidHom
.
Equations
- Real.toGameAddHom = { toFun := Real.toGame, map_zero' := Real.toGame_zero, map_add' := Real.toGame_add, monotone' := Real.toGameAddHom._proof_1 }
Instances For
The canonical map from ℝ
to Surreal
, sending a real number to its Dedekind cut.
Equations
- ↑x = Surreal.mk ↑x
Instances For
Equations
- Real.instCoeSurreal = { coe := Real.toSurreal }
Real.toSurreal
as an OrderEmbedding
.
Instances For
For convenience, we deal with multiplication after defining Real.toSurreal
.
Real.toSurreal
as an OrderRingHom
.
Equations
- One or more equations did not get rendered due to their size.