Theorem: Asymptotics.IsBigOWith.sum
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: induction' s using Finset.induction_on with i s is IH
state_before: α : Type u_2
β : Type ?u.590520
E : Type ?u.590523
F : Type u_4
G : Type ?u.590529
E' : Type u_3
F' : Type ?u.590535
G' : Type ?u.590538
E'' : Type ?u.590541
F'' : Type ?u.590544
G'' : Type ?u.590547
R : Type ?u.590550
R' : Type ?u.590553
𝕜 : Type ?u.590556
𝕜' : Type ?u.590559
inst✝¹² : Norm E
inst✝¹¹ : Norm F
inst✝¹⁰ : Norm G
inst✝⁹ : SeminormedAddCommGroup E'
inst✝⁸ : SeminormedAddCommGroup F'
inst✝⁷ : SeminormedAddCommGroup G'
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedAddCommGroup F''
inst✝⁴ : NormedAddCommGroup G''
inst✝³ : SeminormedRing R
inst✝² : SeminormedRing R'
inst✝¹ : NormedField 𝕜
inst✝ : NormedField 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
ι : Type u_1
A : ι → α → E'
C : ι → ℝ
s : Finset ι
h : ∀ (i : ι), i ∈ s → IsBigOWith (C i) l (A i) g
⊢ IsBigOWith (∑ i in s, C i) l (fun x => ∑ i in s, A i x) g

tactic: simp only [isBigOWith_zero', Finset.sum_empty, forall_true_iff]
state_before: case empty
α : Type u_2
β : Type ?u.590520
E : Type ?u.590523
F : Type u_4
G : Type ?u.590529
E' : Type u_3
F' : Type ?u.590535
G' : Type ?u.590538
E'' : Type ?u.590541
F'' : Type ?u.590544
G'' : Type ?u.590547
R : Type ?u.590550
R' : Type ?u.590553
𝕜 : Type ?u.590556
𝕜' : Type ?u.590559
inst✝¹² : Norm E
inst✝¹¹ : Norm F
inst✝¹⁰ : Norm G
inst✝⁹ : SeminormedAddCommGroup E'
inst✝⁸ : SeminormedAddCommGroup F'
inst✝⁷ : SeminormedAddCommGroup G'
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedAddCommGroup F''
inst✝⁴ : NormedAddCommGroup G''
inst✝³ : SeminormedRing R
inst✝² : SeminormedRing R'
inst✝¹ : NormedField 𝕜
inst✝ : NormedField 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
ι : Type u_1
A : ι → α → E'
C : ι → ℝ
s : Finset ι
h✝ : ∀ (i : ι), i ∈ s → IsBigOWith (C i) l (A i) g
h : ∀ (i : ι), i ∈ ∅ → IsBigOWith (C i) l (A i) g
⊢ IsBigOWith (∑ i in ∅, C i) l (fun x => ∑ i in ∅, A i x) g

tactic: simp only [is, Finset.sum_insert, not_false_iff]
state_before: case insert
α : Type u_2
β : Type ?u.590520
E : Type ?u.590523
F : Type u_4
G : Type ?u.590529
E' : Type u_3
F' : Type ?u.590535
G' : Type ?u.590538
E'' : Type ?u.590541
F'' : Type ?u.590544
G'' : Type ?u.590547
R : Type ?u.590550
R' : Type ?u.590553
𝕜 : Type ?u.590556
𝕜' : Type ?u.590559
inst✝¹² : Norm E
inst✝¹¹ : Norm F
inst✝¹⁰ : Norm G
inst✝⁹ : SeminormedAddCommGroup E'
inst✝⁸ : SeminormedAddCommGroup F'
inst✝⁷ : SeminormedAddCommGroup G'
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedAddCommGroup F''
inst✝⁴ : NormedAddCommGroup G''
inst✝³ : SeminormedRing R
inst✝² : SeminormedRing R'
inst✝¹ : NormedField 𝕜
inst✝ : NormedField 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
ι : Type u_1
A : ι → α → E'
C : ι → ℝ
s✝ : Finset ι
h✝ : ∀ (i : ι), i ∈ s✝ → IsBigOWith (C i) l (A i) g
i : ι
s : Finset ι
is : ¬i ∈ s
IH : (∀ (i : ι), i ∈ s → IsBigOWith (C i) l (A i) g) → IsBigOWith (∑ i in s, C i) l (fun x => ∑ i in s, A i x) g
h : ∀ (i_1 : ι), i_1 ∈ Insert.insert i s → IsBigOWith (C i_1) l (A i_1) g
⊢ IsBigOWith (∑ i in Insert.insert i s, C i) l (fun x => ∑ i in Insert.insert i s, A i x) g

tactic: exact (h _ (Finset.mem_insert_self i s)).add (IH fun j hj => h _ (Finset.mem_insert_of_mem hj))
state_before: case insert
α : Type u_2
β : Type ?u.590520
E : Type ?u.590523
F : Type u_4
G : Type ?u.590529
E' : Type u_3
F' : Type ?u.590535
G' : Type ?u.590538
E'' : Type ?u.590541
F'' : Type ?u.590544
G'' : Type ?u.590547
R : Type ?u.590550
R' : Type ?u.590553
𝕜 : Type ?u.590556
𝕜' : Type ?u.590559
inst✝¹² : Norm E
inst✝¹¹ : Norm F
inst✝¹⁰ : Norm G
inst✝⁹ : SeminormedAddCommGroup E'
inst✝⁸ : SeminormedAddCommGroup F'
inst✝⁷ : SeminormedAddCommGroup G'
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedAddCommGroup F''
inst✝⁴ : NormedAddCommGroup G''
inst✝³ : SeminormedRing R
inst✝² : SeminormedRing R'
inst✝¹ : NormedField 𝕜
inst✝ : NormedField 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
ι : Type u_1
A : ι → α → E'
C : ι → ℝ
s✝ : Finset ι
h✝ : ∀ (i : ι), i ∈ s✝ → IsBigOWith (C i) l (A i) g
i : ι
s : Finset ι
is : ¬i ∈ s
IH : (∀ (i : ι), i ∈ s → IsBigOWith (C i) l (A i) g) → IsBigOWith (∑ i in s, C i) l (fun x => ∑ i in s, A i x) g
h : ∀ (i_1 : ι), i_1 ∈ Insert.insert i s → IsBigOWith (C i_1) l (A i_1) g
⊢ IsBigOWith (C i + ∑ i in s, C i) l (fun x => A i x + ∑ i in s, A i x) g