Topological structure on EReal
#
We prove basic properties of the topology on EReal
.
Main results #
Real.toEReal : ℝ → EReal
is an open embeddingENNReal.toEReal : ℝ≥0∞ → EReal
is a closed embedding- The addition on
EReal
is continuous except at(⊥, ⊤)
and at(⊤, ⊥)
. - Negation is a homeomorphism on
EReal
.
Implementation #
Most proofs are adapted from the corresponding proofs on ℝ≥0∞
.
Real coercion #
@[deprecated EReal.isEmbedding_coe (since := "2024-10-26")]
Alias of EReal.isEmbedding_coe
.
@[deprecated EReal.isOpenEmbedding_coe (since := "2024-10-18")]
Alias of EReal.isOpenEmbedding_coe
.
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 #
@[deprecated EReal.isEmbedding_coe_ennreal (since := "2024-10-26")]
Alias of EReal.isEmbedding_coe_ennreal
.
@[deprecated EReal.isClosedEmbedding_coe_ennreal (since := "2024-10-20")]
Alias of EReal.isClosedEmbedding_coe_ennreal
.
Neighborhoods of infinity #
toENNReal #
theorem
Continous.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 ≠ ⊥)
:
@[deprecated EReal.le_liminf_add (since := "2024-11-11")]
Alias of EReal.le_liminf_add
.
@[deprecated EReal.limsup_add_le (since := "2024-11-11")]
theorem
EReal.limsup_add_le_add_limsup
{α : 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 ≠ ⊥)
:
Alias of EReal.limsup_add_le
.
@[deprecated EReal.le_limsup_add (since := "2024-11-11")]
Alias of EReal.le_limsup_add
.
@[deprecated EReal.liminf_add_le (since := "2024-11-11")]
theorem
EReal.liminf_add_le_limsup_add_liminf
{α : 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 ≠ ⊥)
:
Alias of EReal.liminf_add_le
.
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 ≠ ⊥)
:
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).