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.
The real numbers are shown to form a real closed field in
Mathlib/Analysis/Polynomial/IsRealClosed.lean.
TODO (Artie Khovanov) : equivalent conditions for a real field to be real closed TODO (Artie Khovanov) : 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) :