Theorem: Asymptotics.IsLittleO.smul_isBigO
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
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✝⁷ : SeminormedAddGroup E'''
inst✝⁶ : SeminormedRing R'
inst✝⁵ : NormedDivisionRing 𝕜
inst✝⁴ : NormedDivisionRing 𝕜'
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 α
inst✝³ : Module R E'
inst✝² : BoundedSMul R E'
inst✝¹ : Module 𝕜' F'
inst✝ : BoundedSMul 𝕜' F'
k₁ : α → R
k₂ : α → 𝕜'
h₁ : k₁ =o[l] k₂
h₂ : f' =O[l] g'
⊢ (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x
state_after: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
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✝⁷ : SeminormedAddGroup E'''
inst✝⁶ : SeminormedRing R'
inst✝⁵ : NormedDivisionRing 𝕜
inst✝⁴ : NormedDivisionRing 𝕜'
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 α
inst✝³ : Module R E'
inst✝² : BoundedSMul R E'
inst✝¹ : Module 𝕜' F'
inst✝ : BoundedSMul 𝕜' F'
k₁ : α → R
k₂ : α → 𝕜'
h₂ : f' =O[l] g'
h₁ : ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l k₁ k₂
⊢ ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l (fun x => k₁ x • f' x) fun x => k₂ x • g' x
tactic: simp only [IsLittleO_def] at *
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
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✝⁷ : SeminormedAddGroup E'''
inst✝⁶ : SeminormedRing R'
inst✝⁵ : NormedDivisionRing 𝕜
inst✝⁴ : NormedDivisionRing 𝕜'
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 α
inst✝³ : Module R E'
inst✝² : BoundedSMul R E'
inst✝¹ : Module 𝕜' F'
inst✝ : BoundedSMul 𝕜' F'
k₁ : α → R
k₂ : α → 𝕜'
h₂ : f' =O[l] g'
h₁ : ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l k₁ k₂
⊢ ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l (fun x => k₁ x • f' x) fun x => k₂ x • g' x
state_after: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
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✝⁷ : SeminormedAddGroup E'''
inst✝⁶ : SeminormedRing R'
inst✝⁵ : NormedDivisionRing 𝕜
inst✝⁴ : NormedDivisionRing 𝕜'
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 α
inst✝³ : Module R E'
inst✝² : BoundedSMul R E'
inst✝¹ : Module 𝕜' F'
inst✝ : BoundedSMul 𝕜' F'
k₁ : α → R
k₂ : α → 𝕜'
h₂ : f' =O[l] g'
h₁ : ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l k₁ k₂
c : ℝ
cpos : 0 < c
⊢ IsBigOWith c l (fun x => k₁ x • f' x) fun x => k₂ x • g' x
tactic: intro c cpos
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
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✝⁷ : SeminormedAddGroup E'''
inst✝⁶ : SeminormedRing R'
inst✝⁵ : NormedDivisionRing 𝕜
inst✝⁴ : NormedDivisionRing 𝕜'
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 α
inst✝³ : Module R E'
inst✝² : BoundedSMul R E'
inst✝¹ : Module 𝕜' F'
inst✝ : BoundedSMul 𝕜' F'
k₁ : α → R
k₂ : α → 𝕜'
h₂ : f' =O[l] g'
h₁ : ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l k₁ k₂
c : ℝ
cpos : 0 < c
⊢ IsBigOWith c l (fun x => k₁ x • f' x) fun x => k₂ x • g' x
state_after: case intro.intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
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✝⁷ : SeminormedAddGroup E'''
inst✝⁶ : SeminormedRing R'
inst✝⁵ : NormedDivisionRing 𝕜
inst✝⁴ : NormedDivisionRing 𝕜'
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 α
inst✝³ : Module R E'
inst✝² : BoundedSMul R E'
inst✝¹ : Module 𝕜' F'
inst✝ : BoundedSMul 𝕜' F'
k₁ : α → R
k₂ : α → 𝕜'
h₂ : f' =O[l] g'
h₁ : ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l k₁ k₂
c : ℝ
cpos : 0 < c
c' : ℝ
c'pos : c' > 0
hc' : IsBigOWith c' l f' g'
⊢ IsBigOWith c l (fun x => k₁ x • f' x) fun x => k₂ x • g' x
tactic: rcases h₂.exists_pos with ⟨c', c'pos, hc'⟩
state_before: case intro.intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
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✝⁷ : SeminormedAddGroup E'''
inst✝⁶ : SeminormedRing R'
inst✝⁵ : NormedDivisionRing 𝕜
inst✝⁴ : NormedDivisionRing 𝕜'
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 α
inst✝³ : Module R E'
inst✝² : BoundedSMul R E'
inst✝¹ : Module 𝕜' F'
inst✝ : BoundedSMul 𝕜' F'
k₁ : α → R
k₂ : α → 𝕜'
h₂ : f' =O[l] g'
h₁ : ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l k₁ k₂
c : ℝ
cpos : 0 < c
c' : ℝ
c'pos : c' > 0
hc' : IsBigOWith c' l f' g'
⊢ IsBigOWith c l (fun x => k₁ x • f' x) fun x => k₂ x • g' x
state_after: no goals
tactic: exact ((h₁ (div_pos cpos c'pos)).smul hc').congr_const (div_mul_cancel₀ _ (ne_of_gt c'pos))