Theorem: MeasureTheory.SimpleFunc.tendsto_approxOn_range_Lp_snorm
File: Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean

tactic: simp
state_before: α : Type ?u.635658
β : Type ?u.635661
ι : Type ?u.635664
E : Type ?u.635667
F : Type ?u.635670
𝕜 : Type ?u.635673
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace E
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
inst✝¹ : BorelSpace E
f : β → E
hp_ne_top : p ≠ ⊤
μ : Measure β
fmeas : Measurable f
inst✝ : SeparableSpace ↑(Set.range f ∪ {0})
hf : snorm f p μ < ⊤
n : ℕ
⊢ 0 ∈ Set.range f ∪ {0}

tactic: refine' tendsto_approxOn_Lp_snorm fmeas _ hp_ne_top _ _
state_before: α : Type ?u.635658
β : Type u_2
ι : Type ?u.635664
E : Type u_1
F : Type ?u.635670
𝕜 : Type ?u.635673
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace E
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
inst✝¹ : BorelSpace E
f : β → E
hp_ne_top : p ≠ ⊤
μ : Measure β
fmeas : Measurable f
inst✝ : SeparableSpace ↑(Set.range f ∪ {0})
hf : snorm f p μ < ⊤
⊢ Tendsto (fun n => snorm (↑(approxOn f fmeas (Set.range f ∪ {0}) 0 (_ : 0 ∈ Set.range f ∪ {0}) n) - f) p μ) atTop (𝓝 0)

tactic: apply eventually_of_forall
state_before: case refine'_1
α : Type ?u.635658
β : Type u_2
ι : Type ?u.635664
E : Type u_1
F : Type ?u.635670
𝕜 : Type ?u.635673
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace E
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
inst✝¹ : BorelSpace E
f : β → E
hp_ne_top : p ≠ ⊤
μ : Measure β
fmeas : Measurable f
inst✝ : SeparableSpace ↑(Set.range f ∪ {0})
hf : snorm f p μ < ⊤
⊢ ∀ᵐ (x : β) ∂μ, f x ∈ closure (Set.range f ∪ {0})

tactic: intro x
state_before: case refine'_1.hp
α : Type ?u.635658
β : Type u_2
ι : Type ?u.635664
E : Type u_1
F : Type ?u.635670
𝕜 : Type ?u.635673
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace E
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
inst✝¹ : BorelSpace E
f : β → E
hp_ne_top : p ≠ ⊤
μ : Measure β
fmeas : Measurable f
inst✝ : SeparableSpace ↑(Set.range f ∪ {0})
hf : snorm f p μ < ⊤
⊢ ∀ (x : β), f x ∈ closure (Set.range f ∪ {0})

tactic: apply subset_closure
state_before: case refine'_1.hp
α : Type ?u.635658
β : Type u_2
ι : Type ?u.635664
E : Type u_1
F : Type ?u.635670
𝕜 : Type ?u.635673
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace E
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
inst✝¹ : BorelSpace E
f : β → E
hp_ne_top : p ≠ ⊤
μ : Measure β
fmeas : Measurable f
inst✝ : SeparableSpace ↑(Set.range f ∪ {0})
hf : snorm f p μ < ⊤
x : β
⊢ f x ∈ closure (Set.range f ∪ {0})

tactic: simp
state_before: case refine'_1.hp.a
α : Type ?u.635658
β : Type u_2
ι : Type ?u.635664
E : Type u_1
F : Type ?u.635670
𝕜 : Type ?u.635673
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace E
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
inst✝¹ : BorelSpace E
f : β → E
hp_ne_top : p ≠ ⊤
μ : Measure β
fmeas : Measurable f
inst✝ : SeparableSpace ↑(Set.range f ∪ {0})
hf : snorm f p μ < ⊤
x : β
⊢ f x ∈ Set.range f ∪ {0}

tactic: simpa using hf
state_before: case refine'_2
α : Type ?u.635658
β : Type u_2
ι : Type ?u.635664
E : Type u_1
F : Type ?u.635670
𝕜 : Type ?u.635673
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace E
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
q : ℝ
p : ℝ≥0∞
inst✝¹ : BorelSpace E
f : β → E
hp_ne_top : p ≠ ⊤
μ : Measure β
fmeas : Measurable f
inst✝ : SeparableSpace ↑(Set.range f ∪ {0})
hf : snorm f p μ < ⊤
⊢ snorm (fun x => f x - 0) p μ < ⊤