Theorem: MeasureTheory.Lp.eLpNorm_exponent_top_lim_eq_essSup_liminf
File: Mathlib/MeasureTheory/Function/LpSpace.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ eLpNorm f_lim ⊤ μ = essSup (fun x => liminf (fun m => ↑‖f m x‖₊) atTop) μ
state_after: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ essSup (fun x => ↑‖f_lim x‖₊) μ = essSup (fun x => liminf (fun m => ↑‖f m x‖₊) atTop) μ
tactic: rw [eLpNorm_exponent_top, eLpNormEssSup]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ essSup (fun x => ↑‖f_lim x‖₊) μ = essSup (fun x => liminf (fun m => ↑‖f m x‖₊) atTop) μ
state_after: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
x : α
hx : Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ (fun x => ↑‖f_lim x‖₊) x = (fun x => liminf (fun m => ↑‖f m x‖₊) atTop) x
tactic: refine essSup_congr_ae (h_lim.mono fun x hx => ?_)
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
x : α
hx : Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ (fun x => ↑‖f_lim x‖₊) x = (fun x => liminf (fun m => ↑‖f m x‖₊) atTop) x
state_after: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
x : α
hx : Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ ↑‖f_lim x‖₊ = liminf (fun m => ↑‖f m x‖₊) atTop
tactic: dsimp only
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
x : α
hx : Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ ↑‖f_lim x‖₊ = liminf (fun m => ↑‖f m x‖₊) atTop
state_after: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
x : α
hx : Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ Tendsto (fun m => ↑‖f m x‖₊) atTop (𝓝 ↑‖f_lim x‖₊)
tactic: apply (Tendsto.liminf_eq ..).symm
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
x : α
hx : Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ Tendsto (fun m => ↑‖f m x‖₊) atTop (𝓝 ↑‖f_lim x‖₊)
state_after: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
x : α
hx : Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ Tendsto (fun m => ‖f m x‖₊) atTop (𝓝 ‖f_lim x‖₊)
tactic: rw [ENNReal.tendsto_coe]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_5
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
x : α
hx : Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ Tendsto (fun m => ‖f m x‖₊) atTop (𝓝 ‖f_lim x‖₊)
state_after: no goals
tactic: exact (continuous_nnnorm.tendsto (f_lim x)).comp hx