Documentation

Mathlib.Data.Real.Archimedean

The real numbers are an Archimedean floor ring, and a conditionally complete linear order. #

theorem Real.of_near (f : โ„• โ†’ โ„š) (x : โ„) (h : โˆ€ ฮต > 0, โˆƒ (i : โ„•), โˆ€ j โ‰ฅ i, |โ†‘(f j) - x| < ฮต) :
โˆƒ (h' : IsCauSeq abs f), mk โŸจf, h'โŸฉ = x
@[deprecated exists_floor (since := "2026-01-29")]
theorem Real.exists_floor (x : โ„) :
โˆƒ (ub : โ„ค), โ†‘ub โ‰ค x โˆง โˆ€ (z : โ„ค), โ†‘z โ‰ค x โ†’ z โ‰ค ub
theorem Real.exists_isLUB {s : Set โ„} (hne : s.Nonempty) (hbdd : BddAbove s) :
โˆƒ (x : โ„), IsLUB s x
theorem Real.exists_isGLB {s : Set โ„} (hne : s.Nonempty) (hbdd : BddBelow s) :
โˆƒ (x : โ„), IsGLB s x

A nonempty, bounded below set of real numbers has a greatest lower bound.

noncomputable instance Real.instSupSet :
Equations
    theorem Real.isLUB_sSup {s : Set โ„} (hโ‚ : s.Nonempty) (hโ‚‚ : BddAbove s) :
    IsLUB s (sSup s)
    noncomputable instance Real.instInfSet :
    Equations
      theorem Real.isGLB_sInf {s : Set โ„} (hโ‚ : s.Nonempty) (hโ‚‚ : BddBelow s) :
      IsGLB s (sInf s)
      theorem Real.lt_sInf_add_pos {s : Set โ„} (h : s.Nonempty) {ฮต : โ„} (hฮต : 0 < ฮต) :
      โˆƒ a โˆˆ s, a < sInf s + ฮต
      theorem Real.add_neg_lt_sSup {s : Set โ„} (h : s.Nonempty) {ฮต : โ„} (hฮต : ฮต < 0) :
      โˆƒ a โˆˆ s, sSup s + ฮต < a
      theorem Real.sInf_le_iff {s : Set โ„} {a : โ„} (h : BddBelow s) (h' : s.Nonempty) :
      sInf s โ‰ค a โ†” โˆ€ (ฮต : โ„), 0 < ฮต โ†’ โˆƒ x โˆˆ s, x < a + ฮต
      theorem Real.le_sSup_iff {s : Set โ„} {a : โ„} (h : BddAbove s) (h' : s.Nonempty) :
      a โ‰ค sSup s โ†” โˆ€ ฮต < 0, โˆƒ x โˆˆ s, a + ฮต < x
      @[simp]
      theorem Real.iSup_of_isEmpty {ฮน : Sort u_1} [IsEmpty ฮน] (f : ฮน โ†’ โ„) :
      โจ† (i : ฮน), f i = 0
      @[simp]
      theorem Real.iSup_const_zero {ฮน : Sort u_1} :
      โจ† (x : ฮน), 0 = 0
      theorem Real.iSup_of_not_bddAbove {ฮน : Sort u_1} {f : ฮน โ†’ โ„} (hf : ยฌBddAbove (Set.range f)) :
      โจ† (i : ฮน), f i = 0
      @[simp]
      theorem Real.iInf_of_isEmpty {ฮน : Sort u_1} [IsEmpty ฮน] (f : ฮน โ†’ โ„) :
      โจ… (i : ฮน), f i = 0
      @[simp]
      theorem Real.iInf_const_zero {ฮน : Sort u_1} :
      โจ… (x : ฮน), 0 = 0
      theorem Real.iInf_of_not_bddBelow {ฮน : Sort u_1} {f : ฮน โ†’ โ„} (hf : ยฌBddBelow (Set.range f)) :
      โจ… (i : ฮน), f i = 0
      theorem Real.sSup_le {s : Set โ„} {a : โ„} (hs : โˆ€ x โˆˆ s, x โ‰ค a) (ha : 0 โ‰ค a) :

      As sSup s = 0 when s is an empty set of reals, it suffices to show that all elements of s are at most some nonnegative number a to show that sSup s โ‰ค a.

      See also csSup_le.

      theorem Real.iSup_le {ฮน : Sort u_1} {f : ฮน โ†’ โ„} {a : โ„} (hf : โˆ€ (i : ฮน), f i โ‰ค a) (ha : 0 โ‰ค a) :
      โจ† (i : ฮน), f i โ‰ค a

      As โจ† i, f i = 0 when the domain of the real-valued function f is empty, it suffices to show that all values of f are at most some nonnegative number a to show that โจ† i, f i โ‰ค a.

      See also ciSup_le.

      theorem Real.le_sInf {s : Set โ„} {a : โ„} (hs : โˆ€ x โˆˆ s, a โ‰ค x) (ha : a โ‰ค 0) :

      As sInf s = 0 when s is an empty set of reals, it suffices to show that all elements of s are at least some nonpositive number a to show that a โ‰ค sInf s.

      See also le_csInf.

      theorem Real.le_iInf {ฮน : Sort u_1} {f : ฮน โ†’ โ„} {a : โ„} (hf : โˆ€ (i : ฮน), a โ‰ค f i) (ha : a โ‰ค 0) :
      a โ‰ค โจ… (i : ฮน), f i

      As โจ… i, f i = 0 when the domain of the real-valued function f is empty, it suffices to show that all values of f are at least some nonpositive number a to show that a โ‰ค โจ… i, f i.

      See also le_ciInf.

      theorem Real.sSup_nonpos {s : Set โ„} (hs : โˆ€ x โˆˆ s, x โ‰ค 0) :

      As sSup s = 0 when s is an empty set of reals, it suffices to show that all elements of s are nonpositive to show that sSup s โ‰ค 0.

      theorem Real.iSup_nonpos {ฮน : Sort u_1} {f : ฮน โ†’ โ„} (hf : โˆ€ (i : ฮน), f i โ‰ค 0) :
      โจ† (i : ฮน), f i โ‰ค 0

      As โจ† i, f i = 0 when the domain of the real-valued function f is empty, it suffices to show that all values of f are nonpositive to show that โจ† i, f i โ‰ค 0.

      theorem Real.sInf_nonneg {s : Set โ„} (hs : โˆ€ x โˆˆ s, 0 โ‰ค x) :

      As sInf s = 0 when s is an empty set of reals, it suffices to show that all elements of s are nonnegative to show that 0 โ‰ค sInf s.

      theorem Real.iInf_nonneg {ฮน : Sort u_1} {f : ฮน โ†’ โ„} (hf : โˆ€ (i : ฮน), 0 โ‰ค f i) :

      As โจ… i, f i = 0 when the domain of the real-valued function f is empty, it suffices to show that all values of f are nonnegative to show that 0 โ‰ค โจ… i, f i.

      theorem Real.sSup_nonneg' {s : Set โ„} (hs : โˆƒ x โˆˆ s, 0 โ‰ค x) :

      As sSup s = 0 when s is a set of reals that's unbounded above, it suffices to show that s contains a nonnegative element to show that 0 โ‰ค sSup s.

      theorem Real.iSup_nonneg' {ฮน : Sort u_1} {f : ฮน โ†’ โ„} (hf : โˆƒ (i : ฮน), 0 โ‰ค f i) :
      0 โ‰ค โจ† (i : ฮน), f i

      As โจ† i, f i = 0 when the real-valued function f is unbounded above, it suffices to show that f takes a nonnegative value to show that 0 โ‰ค โจ† i, f i.

      theorem Real.sInf_nonpos' {s : Set โ„} (hs : โˆƒ x โˆˆ s, x โ‰ค 0) :

      As sInf s = 0 when s is a set of reals that's unbounded below, it suffices to show that s contains a nonpositive element to show that sInf s โ‰ค 0.

      theorem Real.iInf_nonpos' {ฮน : Sort u_1} {f : ฮน โ†’ โ„} (hf : โˆƒ (i : ฮน), f i โ‰ค 0) :
      โจ… (i : ฮน), f i โ‰ค 0

      As โจ… i, f i = 0 when the real-valued function f is unbounded below, it suffices to show that f takes a nonpositive value to show that 0 โ‰ค โจ… i, f i.

      theorem Real.sSup_nonneg {s : Set โ„} (hs : โˆ€ x โˆˆ s, 0 โ‰ค x) :

      As sSup s = 0 when s is a set of reals that's either empty or unbounded above, it suffices to show that all elements of s are nonnegative to show that 0 โ‰ค sSup s.

      theorem Real.iSup_nonneg {ฮน : Sort u_1} {f : ฮน โ†’ โ„} (hf : โˆ€ (i : ฮน), 0 โ‰ค f i) :
      0 โ‰ค โจ† (i : ฮน), f i

      As โจ† i, f i = 0 when the domain of the real-valued function f is empty or unbounded above, it suffices to show that all values of f are nonnegative to show that 0 โ‰ค โจ† i, f i.

      theorem Real.sInf_nonpos {s : Set โ„} (hs : โˆ€ x โˆˆ s, x โ‰ค 0) :

      As sInf s = 0 when s is a set of reals that's either empty or unbounded below, it suffices to show that all elements of s are nonpositive to show that sInf s โ‰ค 0.

      theorem Real.iInf_nonpos {ฮน : Sort u_1} {f : ฮน โ†’ โ„} (hf : โˆ€ (i : ฮน), f i โ‰ค 0) :
      โจ… (i : ฮน), f i โ‰ค 0

      As โจ… i, f i = 0 when the domain of the real-valued function f is empty or unbounded below, it suffices to show that all values of f are nonpositive to show that 0 โ‰ค โจ… i, f i.

      theorem Real.sInf_le_sSup (s : Set โ„) (hโ‚ : BddBelow s) (hโ‚‚ : BddAbove s) :
      theorem Real.iInf_Ioi_eq_iInf_rat_gt {f : โ„ โ†’ โ„} (x : โ„) (hf : BddBelow (f '' Set.Ioi x)) (hf_mono : Monotone f) :
      โจ… (r : โ†‘(Set.Ioi x)), f โ†‘r = โจ… (q : { q' : โ„š // x < โ†‘q' }), f โ†‘โ†‘q
      theorem Real.exists_natCast_add_one_lt_pow_of_one_lt {a : โ„} (ha : 1 < a) :
      โˆƒ (m : โ„•), โ†‘m + 1 < a ^ m

      Exponentiation is eventually larger than linear growth.

      theorem Real.exists_nat_pos_inv_lt {b : โ„} (hb : 0 < b) :
      โˆƒ (n : โ„•), 0 < n โˆง (โ†‘n)โปยน < b