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 #
Prove that every real number has birthday at most ω
.
theorem
exists_div_btwn
{K : Type u_1}
[Field K]
[LinearOrder K]
[IsStrictOrderedRing K]
[Archimedean K]
{x y : K}
{n : ℕ}
(h : x < y)
(nh : (y - x)⁻¹ < ↑n)
:
theorem
exists_dyadic_btwn
{K : Type u_1}
[Field K]
[LinearOrder K]
[IsStrictOrderedRing K]
[Archimedean K]
{x y : K}
(h : x < y)
:
@[simp]
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
@[match_pattern]
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.