Documentation

Mathlib.FieldTheory.IsRealClosed.Basic

Real Closed Field #

A field R is real closed if all of the following hold:

  1. R is real (that is, -1 is not a sum of squares in R).
  2. for every x in R, one of x or -x is a square.
  3. every odd-degree polynomial over R has a root in R.

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 #

Tags #

real closed, rcf

class IsRealClosed (R : Type u_1) [Field R] extends IsSemireal R :

A field R is real closed if all of the following hold:

  1. R is real (that is, -1 is not a sum of squares in R).
  2. for every x in R, one of x or -x is a square.
  3. every odd-degree polynomial over R has a root in R.
Instances
    theorem IsRealClosed.of_linearOrderedField {R : Type u} [Field R] [LinearOrder R] [IsStrictOrderedRing R] (isSquare_of_nonneg : ∀ {x : R}, 0 xIsSquare 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)) :
    theorem IsRealClosed.exists_eq_pow_of_odd {R : Type u} [Field R] [IsRealClosed R] (x : R) {n : } (hn : Odd n) :
    ∃ (r : R), x = r ^ n
    theorem IsRealClosed.exists_eq_zpow_of_odd {R : Type u} [Field R] [IsRealClosed R] (x : R) {k : } (hk : Odd k) :
    ∃ (r : R), x = r ^ k
    theorem IsRealClosed.exists_eq_pow_of_isSquare {R : Type u} [Field R] [IsRealClosed R] {x : R} (hx : IsSquare x) {n : } (hn : n 0) :
    ∃ (r : R), x = r ^ n
    theorem IsRealClosed.exists_eq_zpow_of_isSquare {R : Type u} [Field R] [IsRealClosed R] {x : R} (hx : IsSquare x) {k : } (hk : k 0) :
    ∃ (r : R), x = r ^ k
    theorem IsSquare.of_nonneg {R : Type u} [Field R] [IsRealClosed R] [LinearOrder R] [IsStrictOrderedRing R] {x : R} :
    0 xIsSquare x

    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) :
    ∃ (r : R), x = r ^ n
    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) :
    ∃ (r : R), x = r ^ k