Theorem: MeasureTheory.Lp.snorm'_lim_eq_lintegral_liminf
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: suffices h_no_pow :
  (∫⁻ a, (‖f_lim a‖₊ : ℝ≥0∞) ^ p ∂μ) = ∫⁻ a, atTop.liminf fun m => (‖f m a‖₊ : ℝ≥0∞) ^ p ∂μ
state_before: α : Type u_2
E : Type ?u.8103735
F : Type ?u.8103738
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_1
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
p : ℝ
hp_nonneg : 0 ≤ p
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ snorm' f_lim p μ = (∫⁻ (a : α), liminf (fun m => ↑‖f m a‖₊ ^ p) atTop ∂μ) ^ (1 / p)

tactic: refine' lintegral_congr_ae (h_lim.mono fun a ha => _)
state_before: case h_no_pow
α : Type u_2
E : Type ?u.8103735
F : Type ?u.8103738
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_1
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
p : ℝ
hp_nonneg : 0 ≤ p
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
⊢ (∫⁻ (a : α), ↑‖f_lim a‖₊ ^ p ∂μ) = ∫⁻ (a : α), liminf (fun m => ↑‖f m a‖₊ ^ p) atTop ∂μ

tactic: dsimp only
state_before: case h_no_pow
α : Type u_2
E : Type ?u.8103735
F : Type ?u.8103738
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_1
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
p : ℝ
hp_nonneg : 0 ≤ p
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
a : α
ha : Tendsto (fun n => f n a) atTop (𝓝 (f_lim a))
⊢ (fun a => ↑‖f_lim a‖₊ ^ p) a = (fun a => liminf (fun m => ↑‖f m a‖₊ ^ p) atTop) a

tactic: rw [Tendsto.liminf_eq]
state_before: case h_no_pow
α : Type u_2
E : Type ?u.8103735
F : Type ?u.8103738
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_1
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
p : ℝ
hp_nonneg : 0 ≤ p
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
a : α
ha : Tendsto (fun n => f n a) atTop (𝓝 (f_lim a))
⊢ ↑‖f_lim a‖₊ ^ p = liminf (fun m => ↑‖f m a‖₊ ^ p) atTop

tactic: simp_rw [ENNReal.coe_rpow_of_nonneg _ hp_nonneg, ENNReal.tendsto_coe]
state_before: case h_no_pow
α : Type u_2
E : Type ?u.8103735
F : Type ?u.8103738
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_1
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
p : ℝ
hp_nonneg : 0 ≤ p
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
a : α
ha : Tendsto (fun n => f n a) atTop (𝓝 (f_lim a))
⊢ Tendsto (fun m => ↑‖f m a‖₊ ^ p) atTop (𝓝 (↑‖f_lim a‖₊ ^ p))

tactic: refine' ((NNReal.continuous_rpow_const hp_nonneg).tendsto ‖f_lim a‖₊).comp _
state_before: case h_no_pow
α : Type u_2
E : Type ?u.8103735
F : Type ?u.8103738
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_1
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
p : ℝ
hp_nonneg : 0 ≤ p
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
a : α
ha : Tendsto (fun n => f n a) atTop (𝓝 (f_lim a))
⊢ Tendsto (fun a_1 => ‖f a_1 a‖₊ ^ p) atTop (𝓝 (‖f_lim a‖₊ ^ p))

tactic: exact (continuous_nnnorm.tendsto (f_lim a)).comp ha
state_before: case h_no_pow
α : Type u_2
E : Type ?u.8103735
F : Type ?u.8103738
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_1
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
p : ℝ
hp_nonneg : 0 ≤ p
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
a : α
ha : Tendsto (fun n => f n a) atTop (𝓝 (f_lim a))
⊢ Tendsto (fun a_1 => ‖f a_1 a‖₊) atTop (𝓝 ‖f_lim a‖₊)

tactic: rw [snorm', h_no_pow]
state_before: α : Type u_2
E : Type ?u.8103735
F : Type ?u.8103738
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedAddCommGroup G
ι : Type u_1
inst✝¹ : Nonempty ι
inst✝ : LinearOrder ι
f : ι → α → G
p : ℝ
hp_nonneg : 0 ≤ p
f_lim : α → G
h_lim : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (f_lim x))
h_no_pow : (∫⁻ (a : α), ↑‖f_lim a‖₊ ^ p ∂μ) = ∫⁻ (a : α), liminf (fun m => ↑‖f m a‖₊ ^ p) atTop ∂μ
⊢ snorm' f_lim p μ = (∫⁻ (a : α), liminf (fun m => ↑‖f m a‖₊ ^ p) atTop ∂μ) ^ (1 / p)