Documentation

Mathlib.Data.Real.Hyperreal

Construction of the hyperreal numbers as an ultraproduct of real sequences. #

Hyperreal numbers on the ultrafilter extending the cofinite filter

Equations
Instances For

    Hyperreal numbers on the ultrafilter extending the cofinite filter

    Equations
    Instances For

      Natural embedding ℝ → ℝ*.

      Equations
      Instances For
        @[simp]
        theorem Hyperreal.coe_eq_coe {x : } {y : } :
        x = y x = y
        theorem Hyperreal.coe_ne_coe {x : } {y : } :
        x y x y
        @[simp]
        theorem Hyperreal.coe_eq_zero {x : } :
        x = 0 x = 0
        @[simp]
        theorem Hyperreal.coe_eq_one {x : } :
        x = 1 x = 1
        theorem Hyperreal.coe_ne_zero {x : } :
        x 0 x 0
        theorem Hyperreal.coe_ne_one {x : } :
        x 1 x 1
        @[simp]
        theorem Hyperreal.coe_one :
        1 = 1
        @[simp]
        theorem Hyperreal.coe_zero :
        0 = 0
        @[simp]
        theorem Hyperreal.coe_inv (x : ) :
        x⁻¹ = (x)⁻¹
        @[simp]
        theorem Hyperreal.coe_neg (x : ) :
        (-x) = -x
        @[simp]
        theorem Hyperreal.coe_add (x : ) (y : ) :
        (x + y) = x + y
        @[simp]
        theorem Hyperreal.coe_mul (x : ) (y : ) :
        (x * y) = x * y
        @[simp]
        theorem Hyperreal.coe_div (x : ) (y : ) :
        (x / y) = x / y
        @[simp]
        theorem Hyperreal.coe_sub (x : ) (y : ) :
        (x - y) = x - y
        @[simp]
        theorem Hyperreal.coe_le_coe {x : } {y : } :
        x y x y
        @[simp]
        theorem Hyperreal.coe_lt_coe {x : } {y : } :
        x < y x < y
        @[simp]
        theorem Hyperreal.coe_nonneg {x : } :
        0 x 0 x
        @[simp]
        theorem Hyperreal.coe_pos {x : } :
        0 < x 0 < x
        @[simp]
        theorem Hyperreal.coe_abs (x : ) :
        |x| = |x|
        @[simp]
        theorem Hyperreal.coe_max (x : ) (y : ) :
        (max x y) = max x y
        @[simp]
        theorem Hyperreal.coe_min (x : ) (y : ) :
        (min x y) = min x y
        def Hyperreal.ofSeq (f : ) :

        Construct a hyperreal number from a sequence of real numbers.

        Equations
        Instances For
          theorem Hyperreal.ofSeq_lt_ofSeq {f : } {g : } :
          Hyperreal.ofSeq f < Hyperreal.ofSeq g ∀ᶠ (n : ) in (Filter.hyperfilter ), f n < g n
          noncomputable def Hyperreal.epsilon :

          A sample infinitesimal hyperreal

          Equations
          Instances For
            noncomputable def Hyperreal.omega :

            A sample infinite hyperreal

            Equations
            Instances For

              A sample infinitesimal hyperreal

              Equations
              Instances For

                A sample infinite hyperreal

                Equations
                Instances For
                  theorem Hyperreal.lt_of_tendsto_zero_of_pos {f : } (hf : Filter.Tendsto f Filter.atTop (nhds 0)) {r : } :
                  0 < rHyperreal.ofSeq f < r
                  theorem Hyperreal.neg_lt_of_tendsto_zero_of_pos {f : } (hf : Filter.Tendsto f Filter.atTop (nhds 0)) {r : } :
                  0 < r-r < Hyperreal.ofSeq f
                  theorem Hyperreal.gt_of_tendsto_zero_of_neg {f : } (hf : Filter.Tendsto f Filter.atTop (nhds 0)) {r : } :
                  r < 0r < Hyperreal.ofSeq f
                  def Hyperreal.IsSt (x : ℝ*) (r : ) :

                  Standard part predicate

                  Equations
                  Instances For
                    noncomputable def Hyperreal.st :
                    ℝ*

                    Standard part function: like a "round" to ℝ instead of ℤ

                    Equations
                    Instances For

                      A hyperreal number is infinitesimal if its standard part is 0

                      Equations
                      Instances For

                        A hyperreal number is positive infinite if it is larger than all real numbers

                        Equations
                        Instances For

                          A hyperreal number is negative infinite if it is smaller than all real numbers

                          Equations
                          Instances For

                            A hyperreal number is infinite if it is infinite positive or infinite negative

                            Equations
                            Instances For

                              Some facts about st #

                              theorem Hyperreal.isSt_of_tendsto {f : } {r : } (hf : Filter.Tendsto f Filter.atTop (nhds r)) :
                              theorem Hyperreal.IsSt.lt {x : ℝ*} {y : ℝ*} {r : } {s : } (hxr : Hyperreal.IsSt x r) (hys : Hyperreal.IsSt y s) (hrs : r < s) :
                              x < y
                              theorem Hyperreal.IsSt.unique {x : ℝ*} {r : } {s : } (hr : Hyperreal.IsSt x r) (hs : Hyperreal.IsSt x s) :
                              r = s
                              theorem Hyperreal.IsSt.st_eq {x : ℝ*} {r : } (hxr : Hyperreal.IsSt x r) :
                              theorem Hyperreal.isSt_sSup {x : ℝ*} (hni : ¬Hyperreal.Infinite x) :
                              Hyperreal.IsSt x (sSup {y : | y < x})
                              theorem Hyperreal.st_eq_sSup {x : ℝ*} :
                              Hyperreal.st x = sSup {y : | y < x}
                              theorem Hyperreal.eq_of_isSt_real {r : } {s : } :
                              Hyperreal.IsSt (r) sr = s
                              theorem Hyperreal.isSt_real_iff_eq {r : } {s : } :
                              Hyperreal.IsSt (r) s r = s
                              theorem Hyperreal.isSt_trans_real {r : } {s : } {t : } :
                              Hyperreal.IsSt (r) sHyperreal.IsSt (s) tHyperreal.IsSt (r) t
                              theorem Hyperreal.isSt_inj_real {r₁ : } {r₂ : } {s : } (h1 : Hyperreal.IsSt (r₁) s) (h2 : Hyperreal.IsSt (r₂) s) :
                              r₁ = r₂
                              theorem Hyperreal.isSt_iff_abs_sub_lt_delta {x : ℝ*} {r : } :
                              Hyperreal.IsSt x r ∀ (δ : ), 0 < δ|x - r| < δ
                              theorem Hyperreal.IsSt.map {x : ℝ*} {r : } (hxr : Hyperreal.IsSt x r) {f : } (hf : ContinuousAt f r) :
                              theorem Hyperreal.IsSt.map₂ {x : ℝ*} {y : ℝ*} {r : } {s : } (hxr : Hyperreal.IsSt x r) (hys : Hyperreal.IsSt y s) {f : } (hf : ContinuousAt (Function.uncurry f) (r, s)) :
                              theorem Hyperreal.IsSt.add {x : ℝ*} {y : ℝ*} {r : } {s : } (hxr : Hyperreal.IsSt x r) (hys : Hyperreal.IsSt y s) :
                              Hyperreal.IsSt (x + y) (r + s)
                              theorem Hyperreal.IsSt.neg {x : ℝ*} {r : } (hxr : Hyperreal.IsSt x r) :
                              theorem Hyperreal.IsSt.sub {x : ℝ*} {y : ℝ*} {r : } {s : } (hxr : Hyperreal.IsSt x r) (hys : Hyperreal.IsSt y s) :
                              Hyperreal.IsSt (x - y) (r - s)
                              theorem Hyperreal.IsSt.le {x : ℝ*} {y : ℝ*} {r : } {s : } (hrx : Hyperreal.IsSt x r) (hsy : Hyperreal.IsSt y s) (hxy : x y) :
                              r s

                              Basic lemmas about infinite #

                              theorem Hyperreal.not_infinite_iff_exist_lt_gt {x : ℝ*} :
                              ¬Hyperreal.Infinite x ∃ (r : ) (s : ), r < x x < s
                              theorem Hyperreal.Infinite.ne_real {x : ℝ*} :
                              Hyperreal.Infinite x∀ (r : ), x r

                              Facts about st that require some infinite machinery #

                              theorem Hyperreal.IsSt.mul {x : ℝ*} {y : ℝ*} {r : } {s : } (hxr : Hyperreal.IsSt x r) (hys : Hyperreal.IsSt y s) :
                              Hyperreal.IsSt (x * y) (r * s)

                              Basic lemmas about infinitesimal #

                              theorem Hyperreal.infinitesimal_def {x : ℝ*} :
                              Hyperreal.Infinitesimal x ∀ (r : ), 0 < r-r < x x < r
                              theorem Hyperreal.lt_of_pos_of_infinitesimal {x : ℝ*} :
                              Hyperreal.Infinitesimal x∀ (r : ), 0 < rx < r
                              theorem Hyperreal.gt_of_neg_of_infinitesimal {x : ℝ*} (hi : Hyperreal.Infinitesimal x) (r : ) (hr : r < 0) :
                              r < x

                              Hyperreal.st stuff that requires infinitesimal machinery #

                              Infinite stuff that requires infinitesimal machinery #