Theorem: MeasureTheory.tendstoInMeasure_of_tendsto_snorm_of_ne_top
File: Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean

tactic: refine' TendstoInMeasure.congr (fun i => (hf i).ae_eq_mk.symm) hg.ae_eq_mk.symm _
state_before: α : Type u_1
ι : Type u_3
E : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
hp_ne_zero : p ≠ 0
hp_ne_top : p ≠ ⊤
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
l : Filter ι
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
⊢ TendstoInMeasure μ f l g

tactic: refine' tendstoInMeasure_of_tendsto_snorm_of_stronglyMeasurable
  hp_ne_zero hp_ne_top (fun i => (hf i).stronglyMeasurable_mk) hg.stronglyMeasurable_mk _
state_before: α : Type u_1
ι : Type u_3
E : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
hp_ne_zero : p ≠ 0
hp_ne_top : p ≠ ⊤
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
l : Filter ι
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
⊢ TendstoInMeasure μ (fun i => AEStronglyMeasurable.mk (f i) (_ : AEStronglyMeasurable (f i) μ)) l
    (AEStronglyMeasurable.mk g hg)

tactic: have : (fun n => snorm ((hf n).mk (f n) - hg.mk g) p μ) = fun n => snorm (f n - g) p μ := by
  ext1 n; refine' snorm_congr_ae (EventuallyEq.sub (hf n).ae_eq_mk.symm hg.ae_eq_mk.symm)
state_before: α : Type u_1
ι : Type u_3
E : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
hp_ne_zero : p ≠ 0
hp_ne_top : p ≠ ⊤
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
l : Filter ι
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
⊢ Tendsto
    (fun n =>
      snorm (AEStronglyMeasurable.mk (f n) (_ : AEStronglyMeasurable (f n) μ) - AEStronglyMeasurable.mk g hg) p μ)
    l (𝓝 0)

tactic: rw [this]
state_before: α : Type u_1
ι : Type u_3
E : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
hp_ne_zero : p ≠ 0
hp_ne_top : p ≠ ⊤
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
l : Filter ι
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
this :
  (fun n =>
      snorm (AEStronglyMeasurable.mk (f n) (_ : AEStronglyMeasurable (f n) μ) - AEStronglyMeasurable.mk g hg) p μ) =
    fun n => snorm (f n - g) p μ
⊢ Tendsto
    (fun n =>
      snorm (AEStronglyMeasurable.mk (f n) (_ : AEStronglyMeasurable (f n) μ) - AEStronglyMeasurable.mk g hg) p μ)
    l (𝓝 0)

tactic: exact hfg
state_before: α : Type u_1
ι : Type u_3
E : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
hp_ne_zero : p ≠ 0
hp_ne_top : p ≠ ⊤
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
l : Filter ι
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
this :
  (fun n =>
      snorm (AEStronglyMeasurable.mk (f n) (_ : AEStronglyMeasurable (f n) μ) - AEStronglyMeasurable.mk g hg) p μ) =
    fun n => snorm (f n - g) p μ
⊢ Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)

tactic: ext1 n
state_before: α : Type u_1
ι : Type u_3
E : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
hp_ne_zero : p ≠ 0
hp_ne_top : p ≠ ⊤
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
l : Filter ι
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
⊢ (fun n =>
      snorm (AEStronglyMeasurable.mk (f n) (_ : AEStronglyMeasurable (f n) μ) - AEStronglyMeasurable.mk g hg) p μ) =
    fun n => snorm (f n - g) p μ

tactic: refine' snorm_congr_ae (EventuallyEq.sub (hf n).ae_eq_mk.symm hg.ae_eq_mk.symm)
state_before: case h
α : Type u_1
ι : Type u_3
E : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
hp_ne_zero : p ≠ 0
hp_ne_top : p ≠ ⊤
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
l : Filter ι
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
n : ι
⊢ snorm (AEStronglyMeasurable.mk (f n) (_ : AEStronglyMeasurable (f n) μ) - AEStronglyMeasurable.mk g hg) p μ =
    snorm (f n - g) p μ