Theorem: MeasureTheory.Memℒp.exists_simpleFunc_snorm_sub_lt
File: Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean

tactic: borelize E
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
⊢ ∃ g, snorm (f - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
⊢ ∃ g, snorm (f - ↑g) p μ < ε ∧ Memℒp (↑g) p μ

tactic: let f' := hf.1.mk f
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
⊢ ∃ g, snorm (f - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
⊢ ∃ g, snorm (f - ↑g) p μ < ε ∧ Memℒp (↑g) p μ

tactic: rsuffices ⟨g, hg, g_mem⟩ : ∃ g : β →ₛ E, snorm (f' - ⇑g) p μ < ε ∧ Memℒp g p μ
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
⊢ ∃ g, snorm (f - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: case intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
⊢ ∃ g, snorm (f - ↑g) p μ < ε ∧ Memℒp (↑g) p μ

α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ

tactic: have hf' : Memℒp f' p μ := hf.ae_eq hf.1.ae_eq_mk
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ

tactic: have f'meas : Measurable f' := hf.1.measurable_mk
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
f'meas : Measurable f'
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ

tactic: have : SeparableSpace (range f' ∪ {0} : Set E) :=
  StronglyMeasurable.separableSpace_range_union_singleton hf.1.stronglyMeasurable_mk
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
f'meas : Measurable f'
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
f'meas : Measurable f'
this : SeparableSpace ↑(Set.range f' ∪ {0})
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ

tactic: rcases ((tendsto_approxOn_range_Lp_snorm hp_ne_top f'meas hf'.2).eventually <|
  gt_mem_nhds hε.bot_lt).exists with ⟨n, hn⟩
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
f'meas : Measurable f'
this : SeparableSpace ↑(Set.range f' ∪ {0})
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
f'meas : Measurable f'
this : SeparableSpace ↑(Set.range f' ∪ {0})
n : ℕ
hn : snorm (↑(approxOn f' f'meas (Set.range f' ∪ {0}) 0 ⋯ n) - f') p μ < ε
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ

tactic: rw [← snorm_neg, neg_sub] at hn
state_before: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
f'meas : Measurable f'
this : SeparableSpace ↑(Set.range f' ∪ {0})
n : ℕ
hn : snorm (↑(approxOn f' f'meas (Set.range f' ∪ {0}) 0 ⋯ n) - f') p μ < ε
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
f'meas : Measurable f'
this : SeparableSpace ↑(Set.range f' ∪ {0})
n : ℕ
hn : snorm (f' - ↑(approxOn f' f'meas (Set.range f' ∪ {0}) 0 ⋯ n)) p μ < ε
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ

tactic: exact ⟨_, hn, memℒp_approxOn_range f'meas hf' _⟩
state_before: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
hf' : Memℒp f' p μ
f'meas : Measurable f'
this : SeparableSpace ↑(Set.range f' ∪ {0})
n : ℕ
hn : snorm (f' - ↑(approxOn f' f'meas (Set.range f' ∪ {0}) 0 ⋯ n)) p μ < ε
⊢ ∃ g, snorm (f' - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: no goals

tactic: refine ⟨g, ?_, g_mem⟩
state_before: case intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
⊢ ∃ g, snorm (f - ↑g) p μ < ε ∧ Memℒp (↑g) p μ
state_after: case intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
⊢ snorm (f - ↑g) p μ < ε

tactic: suffices snorm (f - ⇑g) p μ = snorm (f' - ⇑g) p μ by rwa [this]
state_before: case intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
⊢ snorm (f - ↑g) p μ < ε
state_after: case intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
⊢ snorm (f - ↑g) p μ = snorm (f' - ↑g) p μ

tactic: apply snorm_congr_ae
state_before: case intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
⊢ snorm (f - ↑g) p μ = snorm (f' - ↑g) p μ
state_after: case intro.intro.hfg
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
⊢ f - ↑g =ᶠ[ae μ] f' - ↑g

tactic: filter_upwards [hf.1.ae_eq_mk] with x hx
state_before: case intro.intro.hfg
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
⊢ f - ↑g =ᶠ[ae μ] f' - ↑g
state_after: case h
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
x : β
hx : f x = AEStronglyMeasurable.mk f ⋯ x
⊢ (f - ↑g) x = (f' - ↑g) x

tactic: simpa only [Pi.sub_apply, sub_left_inj] using hx
state_before: case h
α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
x : β
hx : f x = AEStronglyMeasurable.mk f ⋯ x
⊢ (f - ↑g) x = (f' - ↑g) x
state_after: no goals

tactic: rwa [this]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
E✝ : Type u_4
F : Type u_5
𝕜 : Type u_6
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace E✝
inst✝² : NormedAddCommGroup E✝
inst✝¹ : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
E : Type u_7
inst✝ : NormedAddCommGroup E
f : β → E
μ : Measure β
hf : Memℒp f p μ
hp_ne_top : p ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
f' : β → E := AEStronglyMeasurable.mk f ⋯
g : β →ₛ E
hg : snorm (f' - ↑g) p μ < ε
g_mem : Memℒp (↑g) p μ
this : snorm (f - ↑g) p μ = snorm (f' - ↑g) p μ
⊢ snorm (f - ↑g) p μ < ε
state_after: no goals