Surreal division #
In this file, we prove that if x
is a positive numeric game, then x⁻¹
(defined in
Mathlib.SetTheory.Game.IGame
) is a number and is a multiplicative inverse for x
. We use that
to define the field structure on Surreal
.
This is Theorem 1.10 in ONAG, and we follow the broad strokes of the proof. We prove
by simultaneous induction that if x
is positive and numeric, then (ii) x⁻¹
is numeric, and (iv)
x * x⁻¹ ≈ 1
. We do this by showing the inductive hypothesis implies that (i) x * y < 1
for
y ∈ x⁻¹.leftMoves
and 1 < x * y
for y ∈ x⁻¹.rightMoves
, and that (iv) y < 1
for
y ∈ (x * x⁻¹).leftMoves
and 1 < y
for y ∈ (x * x⁻¹.rightMoves)
.
An important difference is that Conway assumes that x
has no negative left options, while we don't
make use of this assumption. This is because our definition of the inverse is tweaked to ensure that
only positive left options of x
generate the options for x⁻¹
. To make sure the induction checks
out, we require two small extra arithmetic lemmas mulOption_le
and le_mulOption
.
Once we have defined the inverse for positive x
, it is extended in the obvious way to negative
numbers.
Arithmetic lemmas #
Inductive proof #
Instances and corollaries #
Equations
- One or more equations did not get rendered due to their size.
Every right option of a rational number is equivalent to a larger rational number.