Documentation

Mathlib.Topology.Instances.ENNReal.Lemmas

Topology on extended non-negative reals #

theorem ENNReal.continuous_coe_iff {α : Type u_4} [TopologicalSpace α] {f : αNNReal} :
(Continuous fun (a : α) => (f a)) Continuous f
theorem ENNReal.tendsto_nhds_coe_iff {α : Type u_4} {l : Filter α} {x : NNReal} {f : ENNRealα} :
Filter.Tendsto f (nhds x) l Filter.Tendsto (f ofNNReal) (nhds x) l
theorem ENNReal.tendsto_ofReal {α : Type u_1} {f : Filter α} {m : α} {a : } (h : Filter.Tendsto m f (nhds a)) :
Filter.Tendsto (fun (a : α) => ENNReal.ofReal (m a)) f (nhds (ENNReal.ofReal a))
theorem ENNReal.tendsto_toNNReal_iff {α : Type u_1} {a : ENNReal} {f : αENNReal} {u : Filter α} (ha : a ) (hf : ∀ (x : α), f x ) :
theorem ENNReal.tendsto_toNNReal_iff' {α : Type u_1} {f : αENNReal} {u : Filter α} {a : NNReal} (hf : ∀ (x : α), f x ) :
theorem ENNReal.eventuallyEq_of_toReal_eventuallyEq {α : Type u_1} {l : Filter α} {f g : αENNReal} (hfi : ∀ᶠ (x : α) in l, f x ) (hgi : ∀ᶠ (x : α) in l, g x ) (hfg : (fun (x : α) => (f x).toReal) =ᶠ[l] fun (x : α) => (g x).toReal) :
f =ᶠ[l] g

The set of finite ℝ≥0∞ numbers is homeomorphic to ℝ≥0.

Instances For

    The set of finite ℝ≥0∞ numbers is homeomorphic to ℝ≥0.

    Instances For
      theorem ENNReal.nhds_top :
      nhds = ⨅ (a : ENNReal), ⨅ (_ : a ), Filter.principal (Set.Ioi a)
      theorem ENNReal.tendsto_nhds_top_iff_nnreal {α : Type u_1} {m : αENNReal} {f : Filter α} :
      Filter.Tendsto m f (nhds ) ∀ (x : NNReal), ∀ᶠ (a : α) in f, x < m a
      theorem ENNReal.tendsto_nhds_top_iff_nat {α : Type u_1} {m : αENNReal} {f : Filter α} :
      Filter.Tendsto m f (nhds ) ∀ (n : ), ∀ᶠ (a : α) in f, n < m a
      theorem ENNReal.tendsto_nhds_top {α : Type u_1} {m : αENNReal} {f : Filter α} (h : ∀ (n : ), ∀ᶠ (a : α) in f, n < m a) :
      @[simp]
      theorem ENNReal.tendsto_coe_nhds_top {α : Type u_1} {f : αNNReal} {l : Filter α} :
      Filter.Tendsto (fun (x : α) => (f x)) l (nhds ) Filter.Tendsto f l Filter.atTop
      @[simp]
      theorem ENNReal.tendsto_ofReal_nhds_top {α : Type u_1} {f : α} {l : Filter α} :
      Filter.Tendsto (fun (x : α) => ENNReal.ofReal (f x)) l (nhds ) Filter.Tendsto f l Filter.atTop
      theorem ENNReal.nhds_zero :
      nhds 0 = ⨅ (a : ENNReal), ⨅ (_ : a 0), Filter.principal (Set.Iio a)
      theorem ENNReal.nhds_zero_basis :
      (nhds 0).HasBasis (fun (a : ENNReal) => 0 < a) fun (a : ENNReal) => Set.Iio a
      instance ENNReal.nhdsGT_ofNat_neBot (n : ) [n.AtLeastTwo] :
      (nhdsWithin (OfNat.ofNat n) (Set.Ioi (OfNat.ofNat n))).NeBot
      theorem ENNReal.hasBasis_nhds_of_ne_top' {x : ENNReal} (xt : x ) :
      (nhds x).HasBasis (fun (x : ENNReal) => x 0) fun (ε : ENNReal) => Set.Icc (x - ε) (x + ε)

      Closed intervals Set.Icc (x - ε) (x + ε), ε ≠ 0, form a basis of neighborhoods of an extended nonnegative real number x ≠ ∞. We use Set.Icc instead of Set.Ioo because this way the statement works for x = 0.

      theorem ENNReal.hasBasis_nhds_of_ne_top {x : ENNReal} (xt : x ) :
      (nhds x).HasBasis (fun (x : ENNReal) => 0 < x) fun (ε : ENNReal) => Set.Icc (x - ε) (x + ε)
      theorem ENNReal.Icc_mem_nhds {x ε : ENNReal} (xt : x ) (ε0 : ε 0) :
      Set.Icc (x - ε) (x + ε) nhds x
      theorem ENNReal.nhds_of_ne_top {x : ENNReal} (xt : x ) :
      nhds x = ⨅ (ε : ENNReal), ⨅ (_ : ε > 0), Filter.principal (Set.Icc (x - ε) (x + ε))
      theorem ENNReal.biInf_le_nhds (x : ENNReal) :
      ⨅ (ε : ENNReal), ⨅ (_ : ε > 0), Filter.principal (Set.Icc (x - ε) (x + ε)) nhds x
      theorem ENNReal.tendsto_nhds_of_Icc {α : Type u_1} {f : Filter α} {u : αENNReal} {a : ENNReal} (h : ε > 0, ∀ᶠ (x : α) in f, u x Set.Icc (a - ε) (a + ε)) :
      theorem ENNReal.tendsto_nhds {α : Type u_1} {f : Filter α} {u : αENNReal} {a : ENNReal} (ha : a ) :
      Filter.Tendsto u f (nhds a) ε > 0, ∀ᶠ (x : α) in f, u x Set.Icc (a - ε) (a + ε)

      Characterization of neighborhoods for ℝ≥0∞ numbers. See also tendsto_order for a version with strict inequalities.

      theorem ENNReal.tendsto_nhds_zero {α : Type u_1} {f : Filter α} {u : αENNReal} :
      Filter.Tendsto u f (nhds 0) ε > 0, ∀ᶠ (x : α) in f, u x ε
      theorem ENNReal.tendsto_const_sub_nhds_zero_iff {α : Type u_1} {l : Filter α} {f : αENNReal} {a : ENNReal} (ha : a ) (hfa : ∀ (n : α), f n a) :
      Filter.Tendsto (fun (n : α) => a - f n) l (nhds 0) Filter.Tendsto (fun (n : α) => f n) l (nhds a)
      theorem ENNReal.tendsto_atTop {β : Type u_2} [Nonempty β] [SemilatticeSup β] {f : βENNReal} {a : ENNReal} (ha : a ) :
      Filter.Tendsto f Filter.atTop (nhds a) ε > 0, ∃ (N : β), nN, f n Set.Icc (a - ε) (a + ε)
      theorem ENNReal.tendsto_atTop_zero {β : Type u_2} [Nonempty β] [SemilatticeSup β] {f : βENNReal} :
      Filter.Tendsto f Filter.atTop (nhds 0) ε > 0, ∃ (N : β), nN, f n ε
      theorem ENNReal.tendsto_atTop_zero_iff_le_of_antitone {β : Type u_4} [Nonempty β] [SemilatticeSup β] {f : βENNReal} (hf : Antitone f) :
      Filter.Tendsto f Filter.atTop (nhds 0) ∀ (ε : ENNReal), 0 < ε∃ (n : β), f n ε
      theorem ENNReal.tendsto_atTop_zero_iff_lt_of_antitone {β : Type u_4} [Nonempty β] [SemilatticeSup β] {f : βENNReal} (hf : Antitone f) :
      Filter.Tendsto f Filter.atTop (nhds 0) ∀ (ε : ENNReal), 0 < ε∃ (n : β), f n < ε
      theorem ENNReal.tendsto_sub {a b : ENNReal} :
      a b Filter.Tendsto (fun (p : ENNReal × ENNReal) => p.1 - p.2) (nhds (a, b)) (nhds (a - b))
      theorem ENNReal.Tendsto.sub {α : Type u_1} {f : Filter α} {ma mb : αENNReal} {a b : ENNReal} (hma : Filter.Tendsto ma f (nhds a)) (hmb : Filter.Tendsto mb f (nhds b)) (h : a b ) :
      Filter.Tendsto (fun (a : α) => ma a - mb a) f (nhds (a - b))
      theorem ENNReal.tendsto_mul {a b : ENNReal} (ha : a 0 b ) (hb : b 0 a ) :
      Filter.Tendsto (fun (p : ENNReal × ENNReal) => p.1 * p.2) (nhds (a, b)) (nhds (a * b))
      theorem ENNReal.Tendsto.mul {α : Type u_1} {f : Filter α} {ma mb : αENNReal} {a b : ENNReal} (hma : Filter.Tendsto ma f (nhds a)) (ha : a 0 b ) (hmb : Filter.Tendsto mb f (nhds b)) (hb : b 0 a ) :
      Filter.Tendsto (fun (a : α) => ma a * mb a) f (nhds (a * b))
      theorem ContinuousOn.ennreal_mul {α : Type u_1} [TopologicalSpace α] {f g : αENNReal} {s : Set α} (hf : ContinuousOn f s) (hg : ContinuousOn g s) (h₁ : xs, f x 0 g x ) (h₂ : xs, g x 0 f x ) :
      ContinuousOn (fun (x : α) => f x * g x) s
      theorem Continuous.ennreal_mul {α : Type u_1} [TopologicalSpace α] {f g : αENNReal} (hf : Continuous f) (hg : Continuous g) (h₁ : ∀ (x : α), f x 0 g x ) (h₂ : ∀ (x : α), g x 0 f x ) :
      Continuous fun (x : α) => f x * g x
      theorem ENNReal.Tendsto.const_mul {α : Type u_1} {f : Filter α} {m : αENNReal} {a b : ENNReal} (hm : Filter.Tendsto m f (nhds b)) (hb : b 0 a ) :
      Filter.Tendsto (fun (b : α) => a * m b) f (nhds (a * b))
      theorem ENNReal.Tendsto.mul_const {α : Type u_1} {f : Filter α} {m : αENNReal} {a b : ENNReal} (hm : Filter.Tendsto m f (nhds a)) (ha : a 0 b ) :
      Filter.Tendsto (fun (x : α) => m x * b) f (nhds (a * b))
      theorem ENNReal.tendsto_finset_prod_of_ne_top {α : Type u_1} {ι : Type u_4} {f : ιαENNReal} {x : Filter α} {a : ιENNReal} (s : Finset ι) (h : is, Filter.Tendsto (f i) x (nhds (a i))) (h' : is, a i ) :
      Filter.Tendsto (fun (b : α) => cs, f c b) x (nhds (∏ cs, a c))
      theorem ENNReal.continuousAt_const_mul {a b : ENNReal} (h : a b 0) :
      ContinuousAt (fun (x : ENNReal) => a * x) b
      theorem ENNReal.continuousAt_mul_const {a b : ENNReal} (h : a b 0) :
      ContinuousAt (fun (x : ENNReal) => x * a) b
      theorem ENNReal.continuous_const_mul {a : ENNReal} (ha : a ) :
      Continuous fun (x : ENNReal) => a * x
      theorem ENNReal.continuous_mul_const {a : ENNReal} (ha : a ) :
      Continuous fun (x : ENNReal) => x * a
      theorem ENNReal.continuous_div_const (c : ENNReal) (c_ne_zero : c 0) :
      Continuous fun (x : ENNReal) => x / c
      theorem ENNReal.continuous_pow (n : ) :
      Continuous fun (a : ENNReal) => a ^ n
      theorem ENNReal.continuousOn_sub :
      ContinuousOn (fun (p : ENNReal × ENNReal) => p.1 - p.2) {p : ENNReal × ENNReal | p (, )}
      theorem ENNReal.continuous_sub_left {a : ENNReal} (a_ne_top : a ) :
      Continuous fun (x : ENNReal) => a - x
      theorem ENNReal.Tendsto.pow {α : Type u_1} {f : Filter α} {m : αENNReal} {a : ENNReal} {n : } (hm : Filter.Tendsto m f (nhds a)) :
      Filter.Tendsto (fun (x : α) => m x ^ n) f (nhds (a ^ n))
      theorem ENNReal.le_of_forall_lt_one_mul_le {x y : ENNReal} (h : a < 1, a * x y) :
      x y
      theorem ENNReal.inv_limsup {ι : Type u_4} {x : ιENNReal} {l : Filter ι} :
      (Filter.limsup x l)⁻¹ = Filter.liminf (fun (i : ι) => (x i)⁻¹) l
      theorem ENNReal.inv_liminf {ι : Type u_4} {x : ιENNReal} {l : Filter ι} :
      (Filter.liminf x l)⁻¹ = Filter.limsup (fun (i : ι) => (x i)⁻¹) l
      theorem ENNReal.continuous_zpow (n : ) :
      Continuous fun (x : ENNReal) => x ^ n
      @[deprecated tendsto_inv_iff (since := "2026-01-15")]
      theorem ENNReal.tendsto_inv_iff {G : Type w} {α : Type u} [TopologicalSpace G] [InvolutiveInv G] [ContinuousInv G] {l : Filter α} {m : αG} {a : G} :
      Filter.Tendsto (fun (x : α) => (m x)⁻¹) l (nhds a⁻¹) Filter.Tendsto m l (nhds a)

      Alias of tendsto_inv_iff.

      theorem ENNReal.Tendsto.div {α : Type u_1} {f : Filter α} {ma mb : αENNReal} {a b : ENNReal} (hma : Filter.Tendsto ma f (nhds a)) (ha : a 0 b 0) (hmb : Filter.Tendsto mb f (nhds b)) (hb : b a ) :
      Filter.Tendsto (fun (a : α) => ma a / mb a) f (nhds (a / b))
      theorem ENNReal.Tendsto.const_div {α : Type u_1} {f : Filter α} {m : αENNReal} {a b : ENNReal} (hm : Filter.Tendsto m f (nhds b)) (hb : b a ) :
      Filter.Tendsto (fun (b : α) => a / m b) f (nhds (a / b))
      theorem ENNReal.Tendsto.div_const {α : Type u_1} {f : Filter α} {m : αENNReal} {a b : ENNReal} (hm : Filter.Tendsto m f (nhds a)) (ha : a 0 b 0) :
      Filter.Tendsto (fun (x : α) => m x / b) f (nhds (a / b))
      theorem ENNReal.tendsto_coe_sub {r : NNReal} {b : ENNReal} :
      Filter.Tendsto (fun (b : ENNReal) => r - b) (nhds b) (nhds (r - b))
      theorem ENNReal.exists_frequently_lt_of_liminf_ne_top {ι : Type u_4} {l : Filter ι} {x : ι} (hx : Filter.liminf (fun (n : ι) => (Real.nnabs (x n))) l ) :
      ∃ (R : ), ∃ᶠ (n : ι) in l, x n < R
      theorem ENNReal.exists_frequently_lt_of_liminf_ne_top' {ι : Type u_4} {l : Filter ι} {x : ι} (hx : Filter.liminf (fun (n : ι) => (Real.nnabs (x n))) l ) :
      ∃ (R : ), ∃ᶠ (n : ι) in l, R < x n
      theorem ENNReal.exists_upcrossings_of_not_bounded_under {ι : Type u_4} {l : Filter ι} {x : ι} (hf : Filter.liminf (fun (i : ι) => (Real.nnabs (x i))) l ) (hbdd : ¬Filter.IsBoundedUnder (fun (x1 x2 : ) => x1 x2) l fun (i : ι) => |x i|) :
      ∃ (a : ) (b : ), a < b (∃ᶠ (i : ι) in l, x i < a) ∃ᶠ (i : ι) in l, b < x i
      theorem ENNReal.tendsto_toReal_iff {ι : Type u_4} {fi : Filter ι} {f : ιENNReal} (hf : ∀ (i : ι), f i ) {x : ENNReal} (hx : x ) :
      Filter.Tendsto (fun (n : ι) => (f n).toReal) fi (nhds x.toReal) Filter.Tendsto f fi (nhds x)
      theorem ENNReal.tendsto_toReal_zero_iff {ι : Type u_4} {fi : Filter ι} {f : ιENNReal} (hf : ∀ (i : ι), f i := by finiteness) :
      Filter.Tendsto (fun (n : ι) => (f n).toReal) fi (nhds 0) Filter.Tendsto f fi (nhds 0)
      theorem edist_ne_top_of_mem_ball {β : Type u_2} [EMetricSpace β] {a : β} {r : ENNReal} (x y : (Metric.eball a r)) :
      edist x y

      In an emetric ball, the distance between points is everywhere finite

      @[implicit_reducible]
      def metricSpaceEMetricBall {β : Type u_2} [EMetricSpace β] (a : β) (r : ENNReal) :

      Each ball in an extended metric space gives us a metric space, as the edist is everywhere finite.

      Instances For
        theorem nhds_eq_nhds_emetric_ball {β : Type u_2} [EMetricSpace β] (a x : β) (r : ENNReal) (h : x Metric.eball a r) :
        nhds x = Filter.map Subtype.val (nhds x, h)
        theorem tendsto_iff_edist_tendsto_0 {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] {l : Filter β} {f : βα} {y : α} :
        Filter.Tendsto f l (nhds y) Filter.Tendsto (fun (x : β) => edist (f x) y) l (nhds 0)
        theorem EMetric.cauchySeq_iff_le_tendsto_0 {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [Nonempty β] [SemilatticeSup β] {s : βα} :
        CauchySeq s ∃ (b : βENNReal), (∀ (n m N : β), N nN medist (s n) (s m) b N) Filter.Tendsto b Filter.atTop (nhds 0)

        Yet another metric characterization of Cauchy sequences on integers. This one is often the most efficient.

        theorem continuous_of_le_add_edist {α : Type u_1} [PseudoEMetricSpace α] {f : αENNReal} (C : ENNReal) (hC : C ) (h : ∀ (x y : α), f x f y + C * edist x y) :
        theorem continuous_edist {α : Type u_1} [PseudoEMetricSpace α] :
        Continuous fun (p : α × α) => edist p.1 p.2
        theorem Continuous.edist {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [TopologicalSpace β] {f g : βα} (hf : Continuous f) (hg : Continuous g) :
        Continuous fun (b : β) => EDist.edist (f b) (g b)
        theorem Filter.Tendsto.edist {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] {f g : βα} {x : Filter β} {a b : α} (hf : Tendsto f x (nhds a)) (hg : Tendsto g x (nhds b)) :
        Tendsto (fun (x : β) => EDist.edist (f x) (g x)) x (nhds (EDist.edist a b))
        @[deprecated Metric.isClosed_closedEBall (since := "2026-01-24")]

        Alias of Metric.isClosed_closedEBall.

        @[simp]
        theorem Metric.ediam_closure {α : Type u_1} [PseudoEMetricSpace α] (s : Set α) :
        @[deprecated Metric.ediam_closure (since := "2026-01-04")]

        Alias of Metric.ediam_closure.

        @[simp]
        theorem Metric.diam_closure {α : Type u_4} [PseudoMetricSpace α] (s : Set α) :
        diam (closure s) = diam s
        theorem isClosed_setOf_lipschitzOnWith {α : Type u_4} {β : Type u_5} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (K : NNReal) (s : Set α) :
        IsClosed {f : αβ | LipschitzOnWith K f s}
        theorem LipschitzOnWith.closure {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f : αβ} {s : Set α} {K : NNReal} (hcont : ContinuousOn f (closure s)) (hf : LipschitzOnWith K f s) :
        theorem lipschitzOnWith_closure_iff {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f : αβ} {s : Set α} {K : NNReal} (hcont : ContinuousOn f (closure s)) :

        For a bounded set s : Set, its ediam is equal to sSup s - sInf s reinterpreted as ℝ≥0∞.

        theorem Real.diam_eq {s : Set } (h : Bornology.IsBounded s) :

        For a bounded set s : Set, its Metric.diam is equal to sSup s - sInf s.

        @[simp]
        theorem Real.ediam_Ioo (a b : ) :
        @[simp]
        theorem Real.ediam_Icc (a b : ) :
        @[simp]
        theorem Real.ediam_Ico (a b : ) :
        @[simp]
        theorem Real.ediam_Ioc (a b : ) :
        theorem Real.diam_Icc {a b : } (h : a b) :
        Metric.diam (Set.Icc a b) = b - a
        theorem Real.diam_Ico {a b : } (h : a b) :
        Metric.diam (Set.Ico a b) = b - a
        theorem Real.diam_Ioc {a b : } (h : a b) :
        Metric.diam (Set.Ioc a b) = b - a
        theorem Real.diam_Ioo {a b : } (h : a b) :
        Metric.diam (Set.Ioo a b) = b - a
        noncomputable def ENNReal.truncateToReal (t x : ENNReal) :

        With truncation level t, the truncated cast ℝ≥0∞ → ℝ is given by x ↦ (min t x).toReal. Unlike ENNReal.toReal, this cast is continuous and monotone when t ≠ ∞.

        Instances For
          theorem ENNReal.truncateToReal_eq_toReal {t x : ENNReal} (t_ne_top : t ) (x_le : x t) :

          The truncated cast ENNReal.truncateToReal t : ℝ≥0∞ → ℝ is monotone when t ≠ ∞.

          The truncated cast ENNReal.truncateToReal t : ℝ≥0∞ → ℝ is continuous when t ≠ ∞.

          theorem ENNReal.limsup_sub_const {ι : Type u_4} (F : Filter ι) (f : ιENNReal) (c : ENNReal) :
          Filter.limsup (fun (i : ι) => f i - c) F = Filter.limsup f F - c
          theorem ENNReal.liminf_sub_const {ι : Type u_4} (F : Filter ι) [F.NeBot] (f : ιENNReal) (c : ENNReal) :
          Filter.liminf (fun (i : ι) => f i - c) F = Filter.liminf f F - c
          theorem ENNReal.limsup_const_sub {ι : Type u_4} (F : Filter ι) (f : ιENNReal) {c : ENNReal} (c_ne_top : c ) :
          Filter.limsup (fun (i : ι) => c - f i) F = c - Filter.liminf f F
          theorem ENNReal.liminf_const_sub {ι : Type u_4} (F : Filter ι) [F.NeBot] (f : ιENNReal) {c : ENNReal} (c_ne_top : c ) :
          Filter.liminf (fun (i : ι) => c - f i) F = c - Filter.limsup f F
          theorem ENNReal.le_limsup_mul {ι : Type u_4} {f : Filter ι} {u v : ιENNReal} :
          theorem ENNReal.limsup_mul_le' {ι : Type u_4} {f : Filter ι} {u v : ιENNReal} (h : Filter.limsup u f 0 Filter.limsup v f ) (h' : Filter.limsup u f Filter.limsup v f 0) :

          See also ENNReal.limsup_mul_le.

          theorem ENNReal.le_liminf_mul {ι : Type u_4} {f : Filter ι} {u v : ιENNReal} :
          theorem ENNReal.liminf_mul_le {ι : Type u_4} {f : Filter ι} {u v : ιENNReal} (h : Filter.limsup u f 0 Filter.liminf v f ) (h' : Filter.limsup u f Filter.liminf v f 0) :
          theorem ENNReal.liminf_toReal_eq {ι : Type u_4} {f : Filter ι} {u : ιENNReal} [f.NeBot] {b : ENNReal} (b_ne_top : b ) (le_b : ∀ᶠ (i : ι) in f, u i b) :
          Filter.liminf (fun (i : ι) => (u i).toReal) f = (Filter.liminf u f).toReal

          If u : ι → ℝ≥0∞ is bounded, then we have liminf (toReal ∘ u) = toReal (liminf u).

          theorem ENNReal.limsup_toReal_eq {ι : Type u_4} {f : Filter ι} {u : ιENNReal} [f.NeBot] {b : ENNReal} (b_ne_top : b ) (le_b : ∀ᶠ (i : ι) in f, u i b) :
          Filter.limsup (fun (i : ι) => (u i).toReal) f = (Filter.limsup u f).toReal

          If u : ι → ℝ≥0∞ is bounded, then we have liminf (toReal ∘ u) = toReal (liminf u).

          @[simp]
          theorem ENNReal.ofNNReal_limsup {ι : Type u_4} {f : Filter ι} {u : ιNNReal} (hf : Filter.IsBoundedUnder (fun (x1 x2 : NNReal) => x1 x2) f u) :
          (Filter.limsup u f) = Filter.limsup (fun (i : ι) => (u i)) f
          @[simp]
          theorem ENNReal.ofNNReal_liminf {ι : Type u_4} {f : Filter ι} {u : ιNNReal} (hf : Filter.IsCoboundedUnder (fun (x1 x2 : NNReal) => x1 x2) f u) :
          (Filter.liminf u f) = Filter.liminf (fun (i : ι) => (u i)) f
          theorem ENNReal.liminf_add_of_right_tendsto_zero {ι : Type u_4} {u : Filter ι} {g : ιENNReal} (hg : Filter.Tendsto g u (nhds 0)) (f : ιENNReal) :
          theorem ENNReal.liminf_add_of_left_tendsto_zero {ι : Type u_4} {u : Filter ι} {f : ιENNReal} (hf : Filter.Tendsto f u (nhds 0)) (g : ιENNReal) :
          theorem ENNReal.limsup_add_of_right_tendsto_zero {ι : Type u_4} {u : Filter ι} {g : ιENNReal} (hg : Filter.Tendsto g u (nhds 0)) (f : ιENNReal) :
          theorem ENNReal.limsup_add_of_left_tendsto_zero {ι : Type u_4} {u : Filter ι} {f : ιENNReal} (hf : Filter.Tendsto f u (nhds 0)) (g : ιENNReal) :
          theorem Dense.lipschitzWith_extend {α : Type u_4} {β : Type u_5} [PseudoEMetricSpace α] [EMetricSpace β] [CompleteSpace β] {s : Set α} (hs : Dense s) {f : sβ} {K : NNReal} (hf : LipschitzWith K f) :