Nimbers are algebraically closed #
This file proves the last part of the simplest extension theorem (see
CombinatorialGames.Nimber.SimplestExtension.Basic), and deduces as a corollary that the nimbers
are algebraically closed.
For Mathlib #
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.
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.exists_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.exists_root proves that this theorem applies (vacuously) when p = 0 as well.
Instances For
The fourth simplest extension theorem: if x is a ring that isn't algebraically closed,
then x is the root of some polynomial with coefficients < x.
Nimbers are algebraically closed #
Returns the smallest IsAlgClosed that's at least x.
Equations
- x.algClosure = ⨆ (n : ℕ), (fun (y : Nimber) => (sSup (Order.succ '' Nimber.rootSet✝ y)).fieldClosure)^[n] x.fieldClosure
Instances For
The nimbers are an algebraically closed field.
Square roots #
The square root of a nimber x is the unique value with (√x)^2 = x.
Conventions for notations in identifiers:
- The recommended spelling of
√in identifiers issqrt.
Equations
Instances For
The square root of a nimber x is the unique value with (√x)^2 = x.
Conventions for notations in identifiers:
- The recommended spelling of
√in identifiers issqrt.
Equations
- Nimber.«term√_» = Lean.ParserDescr.node `Nimber.«term√_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "√") (Lean.ParserDescr.cat `term 1024))
Instances For
Alias of the reverse direction of Nimber.sqrt_eq_iff.