Theorem: BoxIntegral.HasIntegral.sum
File: Mathlib/Analysis/BoxIntegral/Basic.lean

tactic: induction' s using Finset.induction_on with a s ha ihs
state_before: ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f✝ g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
α : Type u_1
s : Finset α
f : α → (ι → ℝ) → E
g : α → F
h : ∀ (i : α), i ∈ s → HasIntegral I l (f i) vol (g i)
⊢ HasIntegral I l (fun x => ∑ i in s, f i x) vol (∑ i in s, g i)

tactic: simp only [Finset.sum_insert ha]
state_before: case insert
ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f✝ g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
α : Type u_1
s✝ : Finset α
f : α → (ι → ℝ) → E
g : α → F
h✝ : ∀ (i : α), i ∈ s✝ → HasIntegral I l (f i) vol (g i)
a : α
s : Finset α
ha : ¬a ∈ s
ihs :
  (∀ (i : α), i ∈ s → HasIntegral I l (f i) vol (g i)) → HasIntegral I l (fun x => ∑ i in s, f i x) vol (∑ i in s, g i)
h : ∀ (i : α), i ∈ insert a s → HasIntegral I l (f i) vol (g i)
⊢ HasIntegral I l (fun x => ∑ i in insert a s, f i x) vol (∑ i in insert a s, g i)

tactic: rw [Finset.forall_mem_insert] at h
state_before: case insert
ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f✝ g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
α : Type u_1
s✝ : Finset α
f : α → (ι → ℝ) → E
g : α → F
h✝ : ∀ (i : α), i ∈ s✝ → HasIntegral I l (f i) vol (g i)
a : α
s : Finset α
ha : ¬a ∈ s
ihs :
  (∀ (i : α), i ∈ s → HasIntegral I l (f i) vol (g i)) → HasIntegral I l (fun x => ∑ i in s, f i x) vol (∑ i in s, g i)
h : ∀ (i : α), i ∈ insert a s → HasIntegral I l (f i) vol (g i)
⊢ HasIntegral I l (fun x => f a x + ∑ i in s, f i x) vol (g a + ∑ i in s, g i)

tactic: exact h.1.add (ihs h.2)
state_before: case insert
ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f✝ g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
α : Type u_1
s✝ : Finset α
f : α → (ι → ℝ) → E
g : α → F
h✝ : ∀ (i : α), i ∈ s✝ → HasIntegral I l (f i) vol (g i)
a : α
s : Finset α
ha : ¬a ∈ s
ihs :
  (∀ (i : α), i ∈ s → HasIntegral I l (f i) vol (g i)) → HasIntegral I l (fun x => ∑ i in s, f i x) vol (∑ i in s, g i)
h : HasIntegral I l (f a) vol (g a) ∧ ∀ (x : α), x ∈ s → HasIntegral I l (f x) vol (g x)
⊢ HasIntegral I l (fun x => f a x + ∑ i in s, f i x) vol (g a + ∑ i in s, g i)

tactic: simp [hasIntegral_zero]
state_before: case empty
ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f✝ g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
α : Type u_1
s : Finset α
f : α → (ι → ℝ) → E
g : α → F
h✝ : ∀ (i : α), i ∈ s → HasIntegral I l (f i) vol (g i)
h : ∀ (i : α), i ∈ ∅ → HasIntegral I l (f i) vol (g i)
⊢ HasIntegral I l (fun x => ∑ i in ∅, f i x) vol (∑ i in ∅, g i)