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

tactic: haveI : DecidableEq ι := Classical.decEq _
state_before: α : Type u_3
E : Type u_2
F : Type ?u.5042165
G : Type ?u.5042168
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
ι : Type u_1
s : Finset ι
f : ι → α → E
hf : ∀ (i : ι), i ∈ s → Memℒp (f i) p
⊢ Memℒp (fun a => ∑ i in s, f i a) p

tactic: revert hf
state_before: α : Type u_3
E : Type u_2
F : Type ?u.5042165
G : Type ?u.5042168
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
ι : Type u_1
s : Finset ι
f : ι → α → E
hf : ∀ (i : ι), i ∈ s → Memℒp (f i) p
this : DecidableEq ι
⊢ Memℒp (fun a => ∑ i in s, f i a) p

tactic: refine' Finset.induction_on s _ _
state_before: α : Type u_3
E : Type u_2
F : Type ?u.5042165
G : Type ?u.5042168
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
ι : Type u_1
s : Finset ι
f : ι → α → E
this : DecidableEq ι
⊢ (∀ (i : ι), i ∈ s → Memℒp (f i) p) → Memℒp (fun a => ∑ i in s, f i a) p

tactic: simp only [zero_mem_ℒp', Finset.sum_empty, imp_true_iff]
state_before: case refine'_1
α : Type u_3
E : Type u_2
F : Type ?u.5042165
G : Type ?u.5042168
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
ι : Type u_1
s : Finset ι
f : ι → α → E
this : DecidableEq ι
⊢ (∀ (i : ι), i ∈ ∅ → Memℒp (f i) p) → Memℒp (fun a => ∑ i in ∅, f i a) p

tactic: intro i s his ih hf
state_before: case refine'_2
α : Type u_3
E : Type u_2
F : Type ?u.5042165
G : Type ?u.5042168
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
ι : Type u_1
s : Finset ι
f : ι → α → E
this : DecidableEq ι
⊢ ∀ ⦃a : ι⦄ {s : Finset ι},
    ¬a ∈ s →
      ((∀ (i : ι), i ∈ s → Memℒp (f i) p) → Memℒp (fun a => ∑ i in s, f i a) p) →
        (∀ (i : ι), i ∈ insert a s → Memℒp (f i) p) → Memℒp (fun a_3 => ∑ i in insert a s, f i a_3) p

tactic: simp only [his, Finset.sum_insert, not_false_iff]
state_before: case refine'_2
α : Type u_3
E : Type u_2
F : Type ?u.5042165
G : Type ?u.5042168
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
ι : Type u_1
s✝ : Finset ι
f : ι → α → E
this : DecidableEq ι
i : ι
s : Finset ι
his : ¬i ∈ s
ih : (∀ (i : ι), i ∈ s → Memℒp (f i) p) → Memℒp (fun a => ∑ i in s, f i a) p
hf : ∀ (i_1 : ι), i_1 ∈ insert i s → Memℒp (f i_1) p
⊢ Memℒp (fun a => ∑ i in insert 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_3
E : Type u_2
F : Type ?u.5042165
G : Type ?u.5042168
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
ι : Type u_1
s✝ : Finset ι
f : ι → α → E
this : DecidableEq ι
i : ι
s : Finset ι
his : ¬i ∈ s
ih : (∀ (i : ι), i ∈ s → Memℒp (f i) p) → Memℒp (fun a => ∑ i in s, f i a) p
hf : ∀ (i_1 : ι), i_1 ∈ insert i s → Memℒp (f i_1) p
⊢ Memℒp (fun a => f i a + ∑ i in s, f i a) p