Theorem: MeasureTheory.memℒp_finset_sum
File: Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean

tactic: haveI : DecidableEq ι := Classical.decEq _
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Memℒp (f i) p μ
⊢ Memℒp (fun a => ∑ i ∈ s, f i a) p μ
state_after: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Memℒp (f i) p μ
this : DecidableEq ι
⊢ Memℒp (fun a => ∑ i ∈ s, f i a) p μ

tactic: revert hf
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Memℒp (f i) p μ
this : DecidableEq ι
⊢ Memℒp (fun a => ∑ i ∈ s, f i a) p μ
state_after: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
this : DecidableEq ι
⊢ (∀ i ∈ s, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ s, f i a) p μ

tactic: refine Finset.induction_on s ?_ ?_
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
this : DecidableEq ι
⊢ (∀ i ∈ s, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ s, f i a) p μ
state_after: case refine_1
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
this : DecidableEq ι
⊢ (∀ i ∈ ∅, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ ∅, f i a) p μ

case refine_2
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
this : DecidableEq ι
⊢ ∀ ⦃a : ι⦄ {s : Finset ι},
    a ∉ s →
      ((∀ i ∈ s, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ s, f i a) p μ) →
        (∀ i ∈ insert a s, Memℒp (f i) p μ) → Memℒp (fun a_3 => ∑ i ∈ insert a s, f i a_3) p μ

tactic: simp only [zero_mem_ℒp', Finset.sum_empty, imp_true_iff]
state_before: case refine_1
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
this : DecidableEq ι
⊢ (∀ i ∈ ∅, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ ∅, f i a) p μ
state_after: no goals

tactic: intro i s his ih hf
state_before: case refine_2
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
this : DecidableEq ι
⊢ ∀ ⦃a : ι⦄ {s : Finset ι},
    a ∉ s →
      ((∀ i ∈ s, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ s, f i a) p μ) →
        (∀ i ∈ insert a s, Memℒp (f i) p μ) → Memℒp (fun a_3 => ∑ i ∈ insert a s, f i a_3) p μ
state_after: case refine_2
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s✝ : Finset ι
f : ι → α → E
this : DecidableEq ι
i : ι
s : Finset ι
his : i ∉ s
ih : (∀ i ∈ s, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ s, f i a) p μ
hf : ∀ i_1 ∈ insert i s, Memℒp (f i_1) p μ
⊢ Memℒp (fun a => ∑ i ∈ insert i s, f i a) p μ

tactic: simp only [his, Finset.sum_insert, not_false_iff]
state_before: case refine_2
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s✝ : Finset ι
f : ι → α → E
this : DecidableEq ι
i : ι
s : Finset ι
his : i ∉ s
ih : (∀ i ∈ s, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ s, f i a) p μ
hf : ∀ i_1 ∈ insert i s, Memℒp (f i_1) p μ
⊢ Memℒp (fun a => ∑ i ∈ insert i s, f i a) p μ
state_after: case refine_2
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s✝ : Finset ι
f : ι → α → E
this : DecidableEq ι
i : ι
s : Finset ι
his : i ∉ s
ih : (∀ i ∈ s, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ s, f i a) p μ
hf : ∀ i_1 ∈ insert i s, Memℒp (f i_1) p μ
⊢ Memℒp (fun a => f i a + ∑ i ∈ s, f i a) p μ

tactic: exact (hf i (s.mem_insert_self i)).add (ih fun j hj => hf j (Finset.mem_insert_of_mem hj))
state_before: case refine_2
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s✝ : Finset ι
f : ι → α → E
this : DecidableEq ι
i : ι
s : Finset ι
his : i ∉ s
ih : (∀ i ∈ s, Memℒp (f i) p μ) → Memℒp (fun a => ∑ i ∈ s, f i a) p μ
hf : ∀ i_1 ∈ insert i s, Memℒp (f i_1) p μ
⊢ Memℒp (fun a => f i a + ∑ i ∈ s, f i a) p μ
state_after: no goals