Real Closed Field #
A field R is real closed if all of the following hold:
Ris real (that is,-1is not a sum of squares inR).- for every
xinR, one ofxor-xis a square. - every odd-degree polynomial over
Rhas a root inR.
A real closed field is an algebraic generalisation of the real numbers.
In this file we define real closed fields and prove some of their properties.
TODO (Artie Khovanov) : equivalent conditions for a real field to be real closed TODO (Artie Khovanov) : real numbers, real algebraic numbers, hyperreals form a real closed field
Main Definitions #
IsRealClosed Ris the typeclass sayingRis a real closed field.
Tags #
real closed, rcf
A field R is real closed if all of the following hold:
Ris real (that is,-1is not a sum of squares inR).- for every
xinR, one ofxor-xis a square. - every odd-degree polynomial over
Rhas a root inR.
Instances
theorem
IsRealClosed.of_linearOrderedField
{R : Type u}
[Field R]
[LinearOrder R]
[IsStrictOrderedRing R]
(isSquare_of_nonneg : ∀ {x : R}, 0 ≤ x → IsSquare x)
(exists_isRoot_of_odd_natDegree : ∀ {f : Polynomial R}, Odd f.natDegree → ∃ (x : R), f.IsRoot x)
:
theorem
IsSquare.of_not_isSquare_neg
{R : Type u}
[Field R]
[IsRealClosed R]
{x : R}
(hx : ¬IsSquare (-x))
:
IsSquare x
theorem
IsRealClosed.isSquare_neg_of_not_isSquare
{R : Type u}
[Field R]
[IsRealClosed R]
{x : R}
(hx : ¬IsSquare x)
:
theorem
IsRealClosed.exists_eq_pow_of_odd
{R : Type u}
[Field R]
[IsRealClosed R]
(x : R)
{n : ℕ}
(hn : Odd n)
:
theorem
IsRealClosed.exists_eq_zpow_of_odd
{R : Type u}
[Field R]
[IsRealClosed R]
(x : R)
{k : ℤ}
(hk : Odd k)
:
theorem
IsRealClosed.exists_eq_pow_of_isSquare
{R : Type u}
[Field R]
[IsRealClosed R]
{x : R}
(hx : IsSquare x)
{n : ℕ}
(hn : n ≠ 0)
:
theorem
IsRealClosed.exists_eq_zpow_of_isSquare
{R : Type u}
[Field R]
[IsRealClosed R]
{x : R}
(hx : IsSquare x)
{k : ℤ}
(hk : k ≠ 0)
:
theorem
IsRealClosed.nonneg_iff_isSquare
{R : Type u}
[Field R]
[IsRealClosed R]
[LinearOrder R]
[IsStrictOrderedRing R]
{x : R}
:
theorem
IsSquare.of_nonneg
{R : Type u}
[Field R]
[IsRealClosed R]
[LinearOrder R]
[IsStrictOrderedRing R]
{x : R}
:
Alias of the forward direction of IsRealClosed.nonneg_iff_isSquare.
theorem
IsRealClosed.exists_eq_pow_of_nonneg
{R : Type u}
[Field R]
[IsRealClosed R]
[LinearOrder R]
[IsStrictOrderedRing R]
{x : R}
(hx : 0 ≤ x)
{n : ℕ}
(hn : n ≠ 0)
:
theorem
IsRealClosed.exists_eq_zpow_of_nonneg
{R : Type u}
[Field R]
[IsRealClosed R]
[LinearOrder R]
[IsStrictOrderedRing R]
{x : R}
(hx : 0 ≤ x)
{k : ℤ}
(hk : k ≠ 0)
: