Theorem: Asymptotics.isLittleO_iff_exists_eq_mul
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: constructor
state_before: α : Type u_1
β : Type ?u.634360
E : Type ?u.634363
F : Type ?u.634366
G : Type ?u.634369
E' : Type ?u.634372
F' : Type ?u.634375
G' : Type ?u.634378
E'' : Type ?u.634381
F'' : Type ?u.634384
G'' : Type ?u.634387
R : Type ?u.634390
R' : Type ?u.634393
𝕜 : Type u_2
𝕜' : Type ?u.634399
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 α
u v : α → 𝕜
⊢ u =o[l] v ↔ ∃ φ _hφ, u =ᶠ[l] φ * v

tactic: exact fun h => ⟨fun x => u x / v x, h.tendsto_div_nhds_zero, h.eventually_mul_div_cancel.symm⟩
state_before: case mp
α : Type u_1
β : Type ?u.634360
E : Type ?u.634363
F : Type ?u.634366
G : Type ?u.634369
E' : Type ?u.634372
F' : Type ?u.634375
G' : Type ?u.634378
E'' : Type ?u.634381
F'' : Type ?u.634384
G'' : Type ?u.634387
R : Type ?u.634390
R' : Type ?u.634393
𝕜 : Type u_2
𝕜' : Type ?u.634399
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 α
u v : α → 𝕜
⊢ u =o[l] v → ∃ φ _hφ, u =ᶠ[l] φ * v

tactic: simp only [IsLittleO_def]
state_before: case mpr
α : Type u_1
β : Type ?u.634360
E : Type ?u.634363
F : Type ?u.634366
G : Type ?u.634369
E' : Type ?u.634372
F' : Type ?u.634375
G' : Type ?u.634378
E'' : Type ?u.634381
F'' : Type ?u.634384
G'' : Type ?u.634387
R : Type ?u.634390
R' : Type ?u.634393
𝕜 : Type u_2
𝕜' : Type ?u.634399
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 α
u v : α → 𝕜
⊢ (∃ φ _hφ, u =ᶠ[l] φ * v) → u =o[l] v

tactic: rintro ⟨φ, hφ, huvφ⟩ c hpos
state_before: case mpr
α : Type u_1
β : Type ?u.634360
E : Type ?u.634363
F : Type ?u.634366
G : Type ?u.634369
E' : Type ?u.634372
F' : Type ?u.634375
G' : Type ?u.634378
E'' : Type ?u.634381
F'' : Type ?u.634384
G'' : Type ?u.634387
R : Type ?u.634390
R' : Type ?u.634393
𝕜 : Type u_2
𝕜' : Type ?u.634399
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 α
u v : α → 𝕜
⊢ (∃ φ _hφ, u =ᶠ[l] φ * v) → ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l u v

tactic: rw [NormedAddCommGroup.tendsto_nhds_zero] at hφ
state_before: case mpr.intro.intro
α : Type u_1
β : Type ?u.634360
E : Type ?u.634363
F : Type ?u.634366
G : Type ?u.634369
E' : Type ?u.634372
F' : Type ?u.634375
G' : Type ?u.634378
E'' : Type ?u.634381
F'' : Type ?u.634384
G'' : Type ?u.634387
R : Type ?u.634390
R' : Type ?u.634393
𝕜 : Type u_2
𝕜' : Type ?u.634399
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 α
u v φ : α → 𝕜
hφ : Tendsto φ l (𝓝 0)
huvφ : u =ᶠ[l] φ * v
c : ℝ
hpos : 0 < c
⊢ IsBigOWith c l u v

tactic: exact isBigOWith_of_eq_mul _ ((hφ c hpos).mono fun x => le_of_lt) huvφ
state_before: case mpr.intro.intro
α : Type u_1
β : Type ?u.634360
E : Type ?u.634363
F : Type ?u.634366
G : Type ?u.634369
E' : Type ?u.634372
F' : Type ?u.634375
G' : Type ?u.634378
E'' : Type ?u.634381
F'' : Type ?u.634384
G'' : Type ?u.634387
R : Type ?u.634390
R' : Type ?u.634393
𝕜 : Type u_2
𝕜' : Type ?u.634399
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 α
u v φ : α → 𝕜
hφ : ∀ (ε : ℝ), ε > 0 → ∀ᶠ (x : α) in l, ‖φ x‖ < ε
huvφ : u =ᶠ[l] φ * v
c : ℝ
hpos : 0 < c
⊢ IsBigOWith c l u v