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 ∂μ by
  rw [snorm', h_no_pow]
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
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)
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
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: refine lintegral_congr_ae (h_lim.mono fun a ha => ?_)
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
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 ∂μ
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
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: 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
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
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
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: rw [Tendsto.liminf_eq]
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
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
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
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: simp_rw [ENNReal.coe_rpow_of_nonneg _ hp_nonneg, 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
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))
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
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: refine ((NNReal.continuous_rpow_const hp_nonneg).tendsto ‖f_lim a‖₊).comp ?_
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
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))
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
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: exact (continuous_nnnorm.tendsto (f_lim a)).comp ha
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
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‖₊)
state_after: no goals

tactic: rw [snorm', h_no_pow]
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
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)
state_after: no goals