Theorem: intervalIntegral.hasSum_intervalIntegral_of_summable_norm
File: Mathlib/MeasureTheory/Integral/DominatedConvergence.lean

Proof steps:
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
⊢ HasSum (fun i => ∫ (x : ℝ) in a..b, (f i) x) (∫ (x : ℝ) in a..b, ∑' (i : ι), (f i) x)
state_after: case pos
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : CompleteSpace E
⊢ HasSum (fun i => ∫ (x : ℝ) in a..b, (f i) x) (∫ (x : ℝ) in a..b, ∑' (i : ι), (f i) x)

case neg
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : ¬CompleteSpace E
⊢ HasSum (fun i => ∫ (x : ℝ) in a..b, (f i) x) (∫ (x : ℝ) in a..b, ∑' (i : ι), (f i) x)
tactic: by_cases hE : CompleteSpace E
state_before: case pos
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : CompleteSpace E
⊢ HasSum (fun i => ∫ (x : ℝ) in a..b, (f i) x) (∫ (x : ℝ) in a..b, ∑' (i : ι), (f i) x)

case neg
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : ¬CompleteSpace E
⊢ HasSum (fun i => ∫ (x : ℝ) in a..b, (f i) x) (∫ (x : ℝ) in a..b, ∑' (i : ι), (f i) x)
state_after: case neg
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : ¬CompleteSpace E
⊢ HasSum (fun i => ∫ (x : ℝ) in a..b, (f i) x) (∫ (x : ℝ) in a..b, ∑' (i : ι), (f i) x)

case pos
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : CompleteSpace E
⊢ HasSum (fun i => ∫ (x : ℝ) in a..b, (f i) x) (∫ (x : ℝ) in a..b, ∑' (i : ι), (f i) x)
tactic: swap
state_before: case pos
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : CompleteSpace E
⊢ HasSum (fun i => ∫ (x : ℝ) in a..b, (f i) x) (∫ (x : ℝ) in a..b, ∑' (i : ι), (f i) x)
state_after: case pos.h_bound
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : CompleteSpace E
⊢ ∀ (n : ι),
    ∀ᵐ (t : ℝ), t ∈ Ι a b → ‖(f n) t‖ ≤ ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f n)‖

case pos.bound_summable
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : CompleteSpace E
⊢ ∀ᵐ (t : ℝ), t ∈ Ι a b → Summable fun n => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f n)‖

case pos.bound_integrable
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : CompleteSpace E
⊢ IntervalIntegrable (fun t => ∑' (n : ι), ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f n)‖)
    volume a b

case pos.h_lim
ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f✝ : ℝ → E
μ : Measure ℝ
inst✝ : Countable ι
f : ι → C(ℝ, E)
hf_sum : Summable fun i => ‖ContinuousMap.restrict (↑{ carrier := uIcc a b, isCompact' := ⋯ }) (f i)‖
hE : CompleteSpace E
⊢ ∀ᵐ (t : ℝ), t ∈ Ι a b → HasSum (fun n => (f n) t) (∑' (i : ι), (f i) t)
tactic: apply hasSum_integral_of_dominated_convergence
    (fun i (x : ℝ) => ‖(f i).restrict ↑(⟨uIcc a b, isCompact_uIcc⟩ : Compacts ℝ)‖)
    (fun i => (map_continuous <| f i).aestronglyMeasurable)