Theorem: MeasureTheory.setToFun_finset_sum'
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: revert hf
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s : Finset ι
f : ι → α → E
hf : ∀ (i : ι), i ∈ s → Integrable (f i)
⊢ setToFun μ T hT (∑ i in s, f i) = ∑ i in s, setToFun μ T hT (f i)

tactic: refine' Finset.induction_on s _ _
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s : Finset ι
f : ι → α → E
⊢ (∀ (i : ι), i ∈ s → Integrable (f i)) → setToFun μ T hT (∑ i in s, f i) = ∑ i in s, setToFun μ T hT (f i)

tactic: intro _
state_before: case refine'_1
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s : Finset ι
f : ι → α → E
⊢ (∀ (i : ι), i ∈ ∅ → Integrable (f i)) → setToFun μ T hT (∑ i in ∅, f i) = ∑ i in ∅, setToFun μ T hT (f i)

tactic: simp only [setToFun_zero, Finset.sum_empty]
state_before: case refine'_1
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s : Finset ι
f : ι → α → E
hf✝ : ∀ (i : ι), i ∈ ∅ → Integrable (f i)
⊢ setToFun μ T hT (∑ i in ∅, f i) = ∑ i in ∅, setToFun μ T hT (f i)

tactic: intro i s his ih hf
state_before: case refine'_2
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s : Finset ι
f : ι → α → E
⊢ ∀ ⦃a : ι⦄ {s : Finset ι},
    ¬a ∈ s →
      ((∀ (i : ι), i ∈ s → Integrable (f i)) → setToFun μ T hT (∑ i in s, f i) = ∑ i in s, setToFun μ T hT (f i)) →
        (∀ (i : ι), i ∈ insert a s → Integrable (f i)) →
          setToFun μ T hT (∑ i in insert a s, f i) = ∑ i in insert a s, setToFun μ T hT (f i)

tactic: simp only [his, Finset.sum_insert, not_false_iff]
state_before: case refine'_2
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s✝ : Finset ι
f : ι → α → E
i : ι
s : Finset ι
his : ¬i ∈ s
ih : (∀ (i : ι), i ∈ s → Integrable (f i)) → setToFun μ T hT (∑ i in s, f i) = ∑ i in s, setToFun μ T hT (f i)
hf : ∀ (i_1 : ι), i_1 ∈ insert i s → Integrable (f i_1)
⊢ setToFun μ T hT (∑ i in insert i s, f i) = ∑ i in insert i s, setToFun μ T hT (f i)

tactic: rw [setToFun_add hT (hf i (Finset.mem_insert_self i s)) _]
state_before: case refine'_2
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s✝ : Finset ι
f : ι → α → E
i : ι
s : Finset ι
his : ¬i ∈ s
ih : (∀ (i : ι), i ∈ s → Integrable (f i)) → setToFun μ T hT (∑ i in s, f i) = ∑ i in s, setToFun μ T hT (f i)
hf : ∀ (i_1 : ι), i_1 ∈ insert i s → Integrable (f i_1)
⊢ setToFun μ T hT (f i + ∑ i in s, f i) = setToFun μ T hT (f i) + ∑ i in s, setToFun μ T hT (f i)

tactic: rw [ih fun i hi => hf i (Finset.mem_insert_of_mem hi)]
state_before: case refine'_2
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s✝ : Finset ι
f : ι → α → E
i : ι
s : Finset ι
his : ¬i ∈ s
ih : (∀ (i : ι), i ∈ s → Integrable (f i)) → setToFun μ T hT (∑ i in s, f i) = ∑ i in s, setToFun μ T hT (f i)
hf : ∀ (i_1 : ι), i_1 ∈ insert i s → Integrable (f i_1)
⊢ setToFun μ T hT (f i) + setToFun μ T hT (∑ i in s, f i) = setToFun μ T hT (f i) + ∑ i in s, setToFun μ T hT (f i)

tactic: convert integrable_finset_sum s fun i hi => hf i (Finset.mem_insert_of_mem hi) with x
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s✝ : Finset ι
f : ι → α → E
i : ι
s : Finset ι
his : ¬i ∈ s
ih : (∀ (i : ι), i ∈ s → Integrable (f i)) → setToFun μ T hT (∑ i in s, f i) = ∑ i in s, setToFun μ T hT (f i)
hf : ∀ (i_1 : ι), i_1 ∈ insert i s → Integrable (f i_1)
⊢ Integrable (∑ i in s, f i)

tactic: simp
state_before: case h.e'_5.h
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1412380
G : Type ?u.1412383
𝕜 : Type ?u.1412386
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_4
s✝ : Finset ι
f : ι → α → E
i : ι
s : Finset ι
his : ¬i ∈ s
ih : (∀ (i : ι), i ∈ s → Integrable (f i)) → setToFun μ T hT (∑ i in s, f i) = ∑ i in s, setToFun μ T hT (f i)
hf : ∀ (i_1 : ι), i_1 ∈ insert i s → Integrable (f i_1)
x : α
⊢ Finset.sum s (fun i => f i) x = ∑ i in s, f i x