Topological structure on EReal #
We prove basic properties of the topology on EReal.
Main results #
Real.toEReal : ℝ → ERealis an open embeddingENNReal.toEReal : ℝ≥0∞ → ERealis a closed embedding- The addition on
ERealis continuous except at(⊥, ⊤)and at(⊤, ⊥). - Negation is a homeomorphism on
EReal.
Implementation #
Most proofs are adapted from the corresponding proofs on ℝ≥0∞.
Real coercion #
The set of finite EReal numbers is homeomorphic to ℝ.
Equations
- EReal.neBotTopHomeomorphReal = { toEquiv := EReal.neTopBotEquivReal, continuous_toFun := EReal.neBotTopHomeomorphReal._proof_1, continuous_invFun := EReal.neBotTopHomeomorphReal._proof_2 }
Instances For
ENNReal coercion #
Neighborhoods of infinity #
@[simp]
@[simp]
toENNReal #
theorem Continuous.ereal_toENNReal {α : Type u_2} [TopologicalSpace α] {f : α → EReal} (hf : Continuous f) :
Continuous fun (x : α) => (f x).toENNReal
theorem ContinuousOn.ereal_toENNReal {α : Type u_2} [TopologicalSpace α] {s : Set α} {f : α → EReal} (hf : ContinuousOn f s) :
ContinuousOn (fun (x : α) => (f x).toENNReal) s
theorem ContinuousWithinAt.ereal_toENNReal {α : Type u_2} [TopologicalSpace α] {f : α → EReal} {s : Set α} {x : α} (hf : ContinuousWithinAt f s x) :
ContinuousWithinAt (fun (x : α) => (f x).toENNReal) s x
theorem ContinuousAt.ereal_toENNReal {α : Type u_2} [TopologicalSpace α] {f : α → EReal} {x : α} (hf : ContinuousAt f x) :
ContinuousAt (fun (x : α) => (f x).toENNReal) x
Infs and Sups #
Liminfs and Limsups #
theorem EReal.limsup_add_le {α : Type u_3} {f : Filter α} {u v : α → EReal} (h : Filter.limsup u f ≠ ⊥ ∨ Filter.limsup v f ≠ ⊤) (h' : Filter.limsup u f ≠ ⊤ ∨ Filter.limsup v f ≠ ⊥) :
theorem EReal.liminf_add_le {α : Type u_3} {f : Filter α} {u v : α → EReal} (h : Filter.limsup u f ≠ ⊥ ∨ Filter.liminf v f ≠ ⊤) (h' : Filter.limsup u f ≠ ⊤ ∨ Filter.liminf v f ≠ ⊥) :
theorem EReal.limsup_add_bot_of_ne_top {α : Type u_3} {f : Filter α} {u v : α → EReal} (h : Filter.limsup u f = ⊥) (h' : Filter.limsup v f ≠ ⊤) :
theorem EReal.limsup_add_le_of_le {α : Type u_3} {f : Filter α} {u v : α → EReal} {a b : EReal} (ha : Filter.limsup u f < a) (hb : Filter.limsup v f ≤ b) :
theorem EReal.liminf_add_gt_of_gt {α : Type u_3} {f : Filter α} {u v : α → EReal} {a b : EReal} (ha : a < Filter.liminf u f) (hb : b < Filter.liminf v f) :
theorem EReal.liminf_add_top_of_ne_bot {α : Type u_3} {f : Filter α} {u v : α → EReal} (h : Filter.liminf u f = ⊤) (h' : Filter.liminf v f ≠ ⊥) :
theorem EReal.limsup_mul_le {α : Type u_3} {f : Filter α} {u v : α → EReal} (hu : ∃ᶠ (x : α) in f, 0 ≤ u x) (hv : 0 ≤ᶠ[f] v) (h₁ : Filter.limsup u f ≠ 0 ∨ Filter.limsup v f ≠ ⊤) (h₂ : Filter.limsup u f ≠ ⊤ ∨ Filter.limsup v f ≠ 0) :
theorem EReal.liminf_mul_le {α : Type u_3} {f : Filter α} {u v : α → EReal} [f.NeBot] (hu : 0 ≤ᶠ[f] u) (hv : 0 ≤ᶠ[f] v) (h₁ : Filter.limsup u f ≠ 0 ∨ Filter.liminf v f ≠ ⊤) (h₂ : Filter.limsup u f ≠ ⊤ ∨ Filter.liminf v f ≠ 0) :
Continuity of addition #
Continuity of multiplication #
theorem EReal.continuousAt_mul {p : EReal × EReal} (h₁ : p.1 ≠ 0 ∨ p.2 ≠ ⊥) (h₂ : p.1 ≠ 0 ∨ p.2 ≠ ⊤) (h₃ : p.1 ≠ ⊥ ∨ p.2 ≠ 0) (h₄ : p.1 ≠ ⊤ ∨ p.2 ≠ 0) :
ContinuousAt (fun (p : EReal × EReal) => p.1 * p.2) p
The multiplication on EReal is continuous except at indeterminacies
(i.e. whenever one value is zero and the other infinite).
theorem EReal.Tendsto.mul {α : Type u_2} {f : Filter α} {ma mb : α → EReal} {a b : EReal} (hma : Filter.Tendsto ma f (nhds a)) (hmb : Filter.Tendsto mb f (nhds b)) (h₁ : a ≠ 0 ∨ b ≠ ⊥) (h₂ : a ≠ 0 ∨ b ≠ ⊤) (h₃ : a ≠ ⊥ ∨ b ≠ 0) (h₄ : a ≠ ⊤ ∨ b ≠ 0) :
Filter.Tendsto (fun (x : α) => ma x * mb x) f (nhds (a * b))