Simplest extension theorems #
We say that a nimber x
is a group when the lower set Iio x
is closed under addition. Likewise,
we say that x
is a ring when Iio x
is closed under addition and multiplication, and we say that
x
is a field when it's closed under addition, multiplication, and division.
This file aims to prove the four parts of the simplest extension theorem:
- If
x
is not a group, thenx
can be written asy + z
for somey, z < x
. - If
x
is a group but not a ring, thenx
can be written asy * z
for somey, z < x
. - If
x
is a ring but not a field, thenx
can be written asy⁻¹
for somey < x
. - If
x
is a field that isn't algebraically complete, thenx
is the root of some polynomial with coefficients< x
.
The proof follows Aaron Siegel's Combinatorial Games, pp. 440-444.
Todo #
We are currently at 3/4.
Mathlib lemmas #
Order lemmas #
Ordinal lemmas #
Polynomial lemmas #
Groups #
Add two nimbers as ordinal numbers.
Equations
- Nimber.«term_+ₒ_» = Lean.ParserDescr.trailingNode `Nimber.«term_+ₒ_» 65 65 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "+ₒ") (Lean.ParserDescr.cat `term 66))
Instances For
A version of IsGroup.mul_add_eq_of_lt
stated in terms of Ordinal
.
A version of IsGroup.add_eq_of_lt
stated in terms of Ordinal
.
A version of isGroup_iff_zero_or_mem_range_two_opow
stated in terms of Ordinal
.
Rings #
Multiply two nimbers as ordinal numbers.
Equations
- Nimber.«term_*ₒ_» = Lean.ParserDescr.trailingNode `Nimber.«term_*ₒ_» 70 70 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "*ₒ") (Lean.ParserDescr.cat `term 71))
Instances For
A nimber x
is a ring when Iio x
is closed under addition and multiplication. Note that 0
is a ring under this definition.
Instances For
Fields #
A nimber x
is a field when Iio x
is closed under addition, multiplication, and division.
Note that 0
and 1
are fields under this definition.
For simplicity, the constructor takes a redundant y ≠ 0
assumption. The lemma IsField.inv_lt
proves that this theorem applies when y = 0
as well.
Instances For
A version of IsField.mul_eq_of_lt
stated in terms of Ordinal
.
n-th degree closed fields #
A nimber x
is n
-th degree closed when IsRing x
, and every non-constant polynomial in the
nimbers with degree less or equal to n
and coefficients less than x
has a root that's less than
x
. Note that 0
and 1
are n
-th degree closed under this definition.
We don't extend IsField x
, as for 1 ≤ n
, this predicate implies it.
For simplicity, the constructor takes a 0 < p.degree
assumption. The theorem
IsNthDegreeClosed.has_root
proves that this theorem applies (vacuously) when p = 0
as well.
Instances For
If x
is a field, to prove it n
-th degree closed, it suffices to check monic polynomials of
degree less or equal to n
.
Algebraically closed fields #
A nimber x
is algebraically closed when IsRing x
, and every non-constant polynomial in the
nimbers with coefficients less than x
has a root that's less than x
. Note that 0
and 1
are
algebraically closed under this definition.
For simplicity, the constructor takes a 0 < p.degree
assumption. The theorem
IsAlgClosed.has_root
proves that this theorem applies (vacuously) when p = 0
as well.