Theorem: MeasureTheory.tendsto_integral_approxOn_of_measurable
File: Mathlib/MeasureTheory/Integral/Bochner.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : NormedSpace 𝕜 E
inst✝¹⁰ : SMulCommClass ℝ 𝕜 E
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace ℝ F
inst✝⁷ : CompleteSpace F
G : Type u_5
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℝ G
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝⁴ : TopologicalSpace X
inst✝³ : FirstCountableTopology X
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
f : α → E
s : Set E
inst✝ : SeparableSpace ↑s
hfi : Integrable f μ
hfm : Measurable f
hs : ∀ᵐ (x : α) ∂μ, f x ∈ closure s
y₀ : E
h₀ : y₀ ∈ s
h₀i : Integrable (fun x => y₀) μ
⊢ Tendsto (fun n => SimpleFunc.integral μ (approxOn f hfm s y₀ h₀ n)) atTop (𝓝 (∫ (x : α), f x ∂μ))
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : NormedSpace 𝕜 E
inst✝¹⁰ : SMulCommClass ℝ 𝕜 E
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace ℝ F
inst✝⁷ : CompleteSpace F
G : Type u_5
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℝ G
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝⁴ : TopologicalSpace X
inst✝³ : FirstCountableTopology X
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
f : α → E
s : Set E
inst✝ : SeparableSpace ↑s
hfi : Integrable f μ
hfm : Measurable f
hs : ∀ᵐ (x : α) ∂μ, f x ∈ closure s
y₀ : E
h₀ : y₀ ∈ s
h₀i : Integrable (fun x => y₀) μ
hfi' : ∀ (n : ℕ), Integrable (↑(approxOn f hfm s y₀ h₀ n)) μ
⊢ Tendsto (fun n => SimpleFunc.integral μ (approxOn f hfm s y₀ h₀ n)) atTop (𝓝 (∫ (x : α), f x ∂μ))
tactic: have hfi' := SimpleFunc.integrable_approxOn hfm hfi h₀ h₀i
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : NormedSpace 𝕜 E
inst✝¹⁰ : SMulCommClass ℝ 𝕜 E
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace ℝ F
inst✝⁷ : CompleteSpace F
G : Type u_5
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℝ G
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝⁴ : TopologicalSpace X
inst✝³ : FirstCountableTopology X
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
f : α → E
s : Set E
inst✝ : SeparableSpace ↑s
hfi : Integrable f μ
hfm : Measurable f
hs : ∀ᵐ (x : α) ∂μ, f x ∈ closure s
y₀ : E
h₀ : y₀ ∈ s
h₀i : Integrable (fun x => y₀) μ
hfi' : ∀ (n : ℕ), Integrable (↑(approxOn f hfm s y₀ h₀ n)) μ
⊢ Tendsto (fun n => SimpleFunc.integral μ (approxOn f hfm s y₀ h₀ n)) atTop (𝓝 (∫ (x : α), f x ∂μ))
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : NormedSpace 𝕜 E
inst✝¹⁰ : SMulCommClass ℝ 𝕜 E
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace ℝ F
inst✝⁷ : CompleteSpace F
G : Type u_5
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℝ G
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝⁴ : TopologicalSpace X
inst✝³ : FirstCountableTopology X
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
f : α → E
s : Set E
inst✝ : SeparableSpace ↑s
hfi : Integrable f μ
hfm : Measurable f
hs : ∀ᵐ (x : α) ∂μ, f x ∈ closure s
y₀ : E
h₀ : y₀ ∈ s
h₀i : Integrable (fun x => y₀) μ
hfi' : ∀ (n : ℕ), Integrable (↑(approxOn f hfm s y₀ h₀ n)) μ
⊢ Tendsto
    (fun n =>
      if h : True then
        if hf : Integrable (fun x => ↑(approxOn f hfm s y₀ h₀ n) x) μ then
          L1.integralCLM (Integrable.toL1 (fun x => ↑(approxOn f hfm s y₀ h₀ n) x) hf)
        else 0
      else 0)
    atTop
    (𝓝
      (if h : True then
        if hf : Integrable (fun x => f x) μ then L1.integralCLM (Integrable.toL1 (fun x => f x) hf) else 0
      else 0))
tactic: simp only [SimpleFunc.integral_eq_integral _ (hfi' _), integral, hE, L1.integral]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : NormedSpace 𝕜 E
inst✝¹⁰ : SMulCommClass ℝ 𝕜 E
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace ℝ F
inst✝⁷ : CompleteSpace F
G : Type u_5
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℝ G
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝⁴ : TopologicalSpace X
inst✝³ : FirstCountableTopology X
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
f : α → E
s : Set E
inst✝ : SeparableSpace ↑s
hfi : Integrable f μ
hfm : Measurable f
hs : ∀ᵐ (x : α) ∂μ, f x ∈ closure s
y₀ : E
h₀ : y₀ ∈ s
h₀i : Integrable (fun x => y₀) μ
hfi' : ∀ (n : ℕ), Integrable (↑(approxOn f hfm s y₀ h₀ n)) μ
⊢ Tendsto
    (fun n =>
      if h : True then
        if hf : Integrable (fun x => ↑(approxOn f hfm s y₀ h₀ n) x) μ then
          L1.integralCLM (Integrable.toL1 (fun x => ↑(approxOn f hfm s y₀ h₀ n) x) hf)
        else 0
      else 0)
    atTop
    (𝓝
      (if h : True then
        if hf : Integrable (fun x => f x) μ then L1.integralCLM (Integrable.toL1 (fun x => f x) hf) else 0
      else 0))
state_after: no goals
tactic: exact tendsto_setToFun_approxOn_of_measurable (dominatedFinMeasAdditive_weightedSMul μ)
    hfi hfm hs h₀ h₀i