Documentation

Mathlib.Analysis.Asymptotics.Basic

Basic properties of asymptotic relations #

This file establishes conversions, congruence and transitivity properties, behavior under filter operations, and norm simplification lemmas for the asymptotic relations defined in Mathlib.Analysis.Asymptotics.Defs.

Conversions #

theorem Asymptotics.IsBigOWith.isBigO {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {g : αF} {l : Filter α} (h : IsBigOWith c l f g) :
f =O[l] g
theorem Asymptotics.IsLittleO.isBigOWith {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l : Filter α} (hgf : f =o[l] g) :
IsBigOWith 1 l f g
theorem Asymptotics.IsLittleO.isBigO {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l : Filter α} (hgf : f =o[l] g) :
f =O[l] g
theorem Asymptotics.IsBigO.isBigOWith {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l : Filter α} :
f =O[l] g∃ (c : ), IsBigOWith c l f g
theorem Asymptotics.IsBigOWith.weaken {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {c c' : } {f : αE} {g' : αF'} {l : Filter α} (h : IsBigOWith c l f g') (hc : c c') :
IsBigOWith c' l f g'
theorem Asymptotics.IsBigOWith.exists_pos {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {c : } {f : αE} {g' : αF'} {l : Filter α} (h : IsBigOWith c l f g') :
c' > 0, IsBigOWith c' l f g'
theorem Asymptotics.IsBigO.exists_pos {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} (h : f =O[l] g') :
c > 0, IsBigOWith c l f g'
theorem Asymptotics.IsBigOWith.exists_nonneg {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {c : } {f : αE} {g' : αF'} {l : Filter α} (h : IsBigOWith c l f g') :
c'0, IsBigOWith c' l f g'
theorem Asymptotics.IsBigO.exists_nonneg {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} (h : f =O[l] g') :
c0, IsBigOWith c l f g'
theorem Asymptotics.isBigO_iff_eventually_isBigOWith {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} :

f = O(g) if and only if IsBigOWith c f g for all sufficiently large c.

theorem Asymptotics.isBigO_iff_eventually {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} :
f =O[l] g' ∀ᶠ (c : ) in Filter.atTop, ∀ᶠ (x : α) in l, f x c * g' x

f = O(g) if and only if ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ for all sufficiently large c.

theorem Asymptotics.IsBigO.exists_mem_basis {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} {ι : Sort u_11} {p : ιProp} {s : ιSet α} (h : f =O[l] g') (hb : l.HasBasis p s) :
c > 0, ∃ (i : ι), p i xs i, f x c * g' x
theorem Asymptotics.isBigOWith_inv {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {g : αF} {l : Filter α} (hc : 0 < c) :
IsBigOWith c⁻¹ l f g ∀ᶠ (x : α) in l, c * f x g x
theorem Asymptotics.isLittleO_iff_nat_mul_le_aux {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l : Filter α} (h₀ : (∀ (x : α), 0 f x) ∀ (x : α), 0 g x) :
f =o[l] g ∀ (n : ), ∀ᶠ (x : α) in l, n * f x g x
theorem Asymptotics.isLittleO_iff_nat_mul_le {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} :
f =o[l] g' ∀ (n : ), ∀ᶠ (x : α) in l, n * f x g' x
theorem Asymptotics.isLittleO_iff_nat_mul_le' {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {g : αF} {f' : αE'} {l : Filter α} :
f' =o[l] g ∀ (n : ), ∀ᶠ (x : α) in l, n * f' x g x

Subsingleton #

theorem Asymptotics.isLittleO_of_subsingleton {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {f' : αE'} {g' : αF'} {l : Filter α} [Subsingleton E'] :
f' =o[l] g'
theorem Asymptotics.isBigO_of_subsingleton {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {f' : αE'} {g' : αF'} {l : Filter α} [Subsingleton E'] :
f' =O[l] g'

Congruence #

theorem Asymptotics.isBigOWith_congr {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c₁ c₂ : } {l : Filter α} {f₁ f₂ : αE} {g₁ g₂ : αF} (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
IsBigOWith c₁ l f₁ g₁ IsBigOWith c₂ l f₂ g₂
theorem Asymptotics.IsBigOWith.congr' {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c₁ c₂ : } {l : Filter α} {f₁ f₂ : αE} {g₁ g₂ : αF} (h : IsBigOWith c₁ l f₁ g₁) (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
IsBigOWith c₂ l f₂ g₂
theorem Asymptotics.IsBigOWith.congr {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c₁ c₂ : } {l : Filter α} {f₁ f₂ : αE} {g₁ g₂ : αF} (h : IsBigOWith c₁ l f₁ g₁) (hc : c₁ = c₂) (hf : ∀ (x : α), f₁ x = f₂ x) (hg : ∀ (x : α), g₁ x = g₂ x) :
IsBigOWith c₂ l f₂ g₂
theorem Asymptotics.IsBigOWith.congr_left {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {g : αF} {l : Filter α} {f₁ f₂ : αE} (h : IsBigOWith c l f₁ g) (hf : ∀ (x : α), f₁ x = f₂ x) :
IsBigOWith c l f₂ g
theorem Asymptotics.IsBigOWith.congr_right {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {l : Filter α} {g₁ g₂ : αF} (h : IsBigOWith c l f g₁) (hg : ∀ (x : α), g₁ x = g₂ x) :
IsBigOWith c l f g₂
theorem Asymptotics.IsBigOWith.congr_const {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c₁ c₂ : } {f : αE} {g : αF} {l : Filter α} (h : IsBigOWith c₁ l f g) (hc : c₁ = c₂) :
IsBigOWith c₂ l f g
theorem Asymptotics.isBigO_congr {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f₁ f₂ : αE} {g₁ g₂ : αF} (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
f₁ =O[l] g₁ f₂ =O[l] g₂
theorem Asymptotics.IsBigO.congr' {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f₁ f₂ : αE} {g₁ g₂ : αF} (h : f₁ =O[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
f₂ =O[l] g₂
theorem Asymptotics.IsBigO.congr {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f₁ f₂ : αE} {g₁ g₂ : αF} (h : f₁ =O[l] g₁) (hf : ∀ (x : α), f₁ x = f₂ x) (hg : ∀ (x : α), g₁ x = g₂ x) :
f₂ =O[l] g₂
theorem Asymptotics.IsBigO.congr_left {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {g : αF} {l : Filter α} {f₁ f₂ : αE} (h : f₁ =O[l] g) (hf : ∀ (x : α), f₁ x = f₂ x) :
f₂ =O[l] g
theorem Asymptotics.IsBigO.congr_right {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {l : Filter α} {g₁ g₂ : αF} (h : f =O[l] g₁) (hg : ∀ (x : α), g₁ x = g₂ x) :
f =O[l] g₂
theorem Asymptotics.isLittleO_congr {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f₁ f₂ : αE} {g₁ g₂ : αF} (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
f₁ =o[l] g₁ f₂ =o[l] g₂
theorem Asymptotics.IsLittleO.congr' {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f₁ f₂ : αE} {g₁ g₂ : αF} (h : f₁ =o[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
f₂ =o[l] g₂
theorem Asymptotics.IsLittleO.congr {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f₁ f₂ : αE} {g₁ g₂ : αF} (h : f₁ =o[l] g₁) (hf : ∀ (x : α), f₁ x = f₂ x) (hg : ∀ (x : α), g₁ x = g₂ x) :
f₂ =o[l] g₂
theorem Asymptotics.IsLittleO.congr_left {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {g : αF} {l : Filter α} {f₁ f₂ : αE} (h : f₁ =o[l] g) (hf : ∀ (x : α), f₁ x = f₂ x) :
f₂ =o[l] g
theorem Asymptotics.IsLittleO.congr_right {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {l : Filter α} {g₁ g₂ : αF} (h : f =o[l] g₁) (hg : ∀ (x : α), g₁ x = g₂ x) :
f =o[l] g₂
theorem Filter.EventuallyEq.trans_isBigO {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f₁ f₂ : αE} {g : αF} (hf : f₁ =ᶠ[l] f₂) (h : f₂ =O[l] g) :
f₁ =O[l] g
@[instance_reducible]
instance Asymptotics.transEventuallyEqIsBigO {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} :
Trans (fun (x1 x2 : αE) => x1 =ᶠ[l] x2) (fun (x1 : αE) (x2 : αF) => x1 =O[l] x2) fun (x1 : αE) (x2 : αF) => x1 =O[l] x2
Equations
theorem Filter.EventuallyEq.trans_isLittleO {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f₁ f₂ : αE} {g : αF} (hf : f₁ =ᶠ[l] f₂) (h : f₂ =o[l] g) :
f₁ =o[l] g
@[instance_reducible]
instance Asymptotics.transEventuallyEqIsLittleO {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} :
Trans (fun (x1 x2 : αE) => x1 =ᶠ[l] x2) (fun (x1 : αE) (x2 : αF) => x1 =o[l] x2) fun (x1 : αE) (x2 : αF) => x1 =o[l] x2
Equations
theorem Asymptotics.IsBigO.trans_eventuallyEq {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f : αE} {g₁ g₂ : αF} (h : f =O[l] g₁) (hg : g₁ =ᶠ[l] g₂) :
f =O[l] g₂
@[instance_reducible]
instance Asymptotics.transIsBigOEventuallyEq {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} :
Trans (fun (x1 : αE) (x2 : αF) => x1 =O[l] x2) (fun (x1 x2 : αF) => x1 =ᶠ[l] x2) fun (x1 : αE) (x2 : αF) => x1 =O[l] x2
Equations
theorem Asymptotics.IsLittleO.trans_eventuallyEq {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} {f : αE} {g₁ g₂ : αF} (h : f =o[l] g₁) (hg : g₁ =ᶠ[l] g₂) :
f =o[l] g₂
@[instance_reducible]
instance Asymptotics.transIsLittleOEventuallyEq {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {l : Filter α} :
Trans (fun (x1 : αE) (x2 : αF) => x1 =o[l] x2) (fun (x1 x2 : αF) => x1 =ᶠ[l] x2) fun (x1 : αE) (x2 : αF) => x1 =o[l] x2
Equations

Filter operations and transitivity #

theorem Asymptotics.IsBigOWith.comp_tendsto {α : Type u_1} {β : Type u_2} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {g : αF} {l : Filter α} (hcfg : IsBigOWith c l f g) {k : βα} {l' : Filter β} (hk : Filter.Tendsto k l' l) :
IsBigOWith c l' (f k) (g k)
theorem Asymptotics.IsBigO.comp_tendsto {α : Type u_1} {β : Type u_2} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l : Filter α} (hfg : f =O[l] g) {k : βα} {l' : Filter β} (hk : Filter.Tendsto k l' l) :
(f k) =O[l'] (g k)
theorem Asymptotics.IsBigO.comp_neg_int {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : E} {g : F} (hf : f =O[Filter.cofinite] g) :
(fun (n : ) => f (-n)) =O[Filter.cofinite] fun (n : ) => g (-n)
theorem Asymptotics.IsLittleO.comp_tendsto {α : Type u_1} {β : Type u_2} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l : Filter α} (hfg : f =o[l] g) {k : βα} {l' : Filter β} (hk : Filter.Tendsto k l' l) :
(f k) =o[l'] (g k)
@[simp]
theorem Asymptotics.isBigOWith_map {α : Type u_1} {β : Type u_2} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {g : αF} {k : βα} {l : Filter β} :
IsBigOWith c (Filter.map k l) f g IsBigOWith c l (f k) (g k)
@[simp]
theorem Asymptotics.isBigO_map {α : Type u_1} {β : Type u_2} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {k : βα} {l : Filter β} :
f =O[Filter.map k l] g (f k) =O[l] (g k)
@[simp]
theorem Asymptotics.isLittleO_map {α : Type u_1} {β : Type u_2} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {k : βα} {l : Filter β} :
f =o[Filter.map k l] g (f k) =o[l] (g k)
theorem Asymptotics.IsBigOWith.mono {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {g : αF} {l l' : Filter α} (h : IsBigOWith c l' f g) (hl : l l') :
IsBigOWith c l f g
theorem Asymptotics.IsBigO.mono {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l l' : Filter α} (h : f =O[l'] g) (hl : l l') :
f =O[l] g
theorem Asymptotics.IsLittleO.mono {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l l' : Filter α} (h : f =o[l'] g) (hl : l l') :
f =o[l] g
theorem Asymptotics.IsBigOWith.trans {α : Type u_1} {E : Type u_3} {F : Type u_4} {G : Type u_5} [Norm E] [Norm F] [Norm G] {c c' : } {f : αE} {g : αF} {k : αG} {l : Filter α} (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k) (hc : 0 c) :
IsBigOWith (c * c') l f k
theorem Asymptotics.IsBigO.trans {α : Type u_1} {E : Type u_3} {G : Type u_5} {F' : Type u_7} [Norm E] [Norm G] [SeminormedAddCommGroup F'] {l : Filter α} {f : αE} {g : αF'} {k : αG} (hfg : f =O[l] g) (hgk : g =O[l] k) :
f =O[l] k
@[instance_reducible]
instance Asymptotics.transIsBigOIsBigO {α : Type u_1} {E : Type u_3} {G : Type u_5} {F' : Type u_7} [Norm E] [Norm G] [SeminormedAddCommGroup F'] {l : Filter α} :
Trans (fun (x1 : αE) (x2 : αF') => x1 =O[l] x2) (fun (x1 : αF') (x2 : αG) => x1 =O[l] x2) fun (x1 : αE) (x2 : αG) => x1 =O[l] x2
Equations
theorem Asymptotics.IsLittleO.trans_isBigOWith {α : Type u_1} {E : Type u_3} {F : Type u_4} {G : Type u_5} [Norm E] [Norm F] [Norm G] {c : } {f : αE} {g : αF} {k : αG} {l : Filter α} (hfg : f =o[l] g) (hgk : IsBigOWith c l g k) (hc : 0 < c) :
f =o[l] k
theorem Asymptotics.IsLittleO.trans_isBigO {α : Type u_1} {E : Type u_3} {F : Type u_4} {G' : Type u_8} [Norm E] [Norm F] [SeminormedAddCommGroup G'] {l : Filter α} {f : αE} {g : αF} {k : αG'} (hfg : f =o[l] g) (hgk : g =O[l] k) :
f =o[l] k
@[instance_reducible]
instance Asymptotics.transIsLittleOIsBigO {α : Type u_1} {E : Type u_3} {F : Type u_4} {G' : Type u_8} [Norm E] [Norm F] [SeminormedAddCommGroup G'] {l : Filter α} :
Trans (fun (x1 : αE) (x2 : αF) => x1 =o[l] x2) (fun (x1 : αF) (x2 : αG') => x1 =O[l] x2) fun (x1 : αE) (x2 : αG') => x1 =o[l] x2
Equations
theorem Asymptotics.IsBigOWith.trans_isLittleO {α : Type u_1} {E : Type u_3} {F : Type u_4} {G : Type u_5} [Norm E] [Norm F] [Norm G] {c : } {f : αE} {g : αF} {k : αG} {l : Filter α} (hfg : IsBigOWith c l f g) (hgk : g =o[l] k) (hc : 0 < c) :
f =o[l] k
theorem Asymptotics.IsBigO.trans_isLittleO {α : Type u_1} {E : Type u_3} {G : Type u_5} {F' : Type u_7} [Norm E] [Norm G] [SeminormedAddCommGroup F'] {l : Filter α} {f : αE} {g : αF'} {k : αG} (hfg : f =O[l] g) (hgk : g =o[l] k) :
f =o[l] k
@[instance_reducible]
instance Asymptotics.transIsBigOIsLittleO {α : Type u_1} {E : Type u_3} {G : Type u_5} {F' : Type u_7} [Norm E] [Norm G] [SeminormedAddCommGroup F'] {l : Filter α} :
Trans (fun (x1 : αE) (x2 : αF') => x1 =O[l] x2) (fun (x1 : αF') (x2 : αG) => x1 =o[l] x2) fun (x1 : αE) (x2 : αG) => x1 =o[l] x2
Equations
theorem Asymptotics.IsLittleO.trans {α : Type u_1} {E : Type u_3} {F : Type u_4} {G : Type u_5} [Norm E] [Norm F] [Norm G] {l : Filter α} {f : αE} {g : αF} {k : αG} (hfg : f =o[l] g) (hgk : g =o[l] k) :
f =o[l] k
@[instance_reducible]
instance Asymptotics.transIsLittleOIsLittleO {α : Type u_1} {E : Type u_3} {F : Type u_4} {G : Type u_5} [Norm E] [Norm F] [Norm G] {l : Filter α} :
Trans (fun (x1 : αE) (x2 : αF) => x1 =o[l] x2) (fun (x1 : αF) (x2 : αG) => x1 =o[l] x2) fun (x1 : αE) (x2 : αG) => x1 =o[l] x2
Equations
theorem Filter.Eventually.trans_isBigO {α : Type u_1} {E : Type u_3} {G : Type u_5} {F' : Type u_7} [Norm E] [Norm G] [SeminormedAddCommGroup F'] {l : Filter α} {f : αE} {g : αF'} {k : αG} (hfg : ∀ᶠ (x : α) in l, f x g x) (hgk : g =O[l] k) :
f =O[l] k
theorem Filter.Eventually.isBigO {α : Type u_1} {E : Type u_3} [Norm E] {f : αE} {g : α} {l : Filter α} (hfg : ∀ᶠ (x : α) in l, f x g x) :
f =O[l] g

See also Asymptotics.IsBigO.of_norm_eventuallyLE, which is the same lemma stated using Filter.EventuallyLE instead of Filter.Eventually.

theorem Asymptotics.isBigOWith_of_le' {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {g : αF} (l : Filter α) (hfg : ∀ (x : α), f x c * g x) :
IsBigOWith c l f g
theorem Asymptotics.isBigOWith_of_le {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} (l : Filter α) (hfg : ∀ (x : α), f x g x) :
IsBigOWith 1 l f g
theorem Asymptotics.isBigO_of_le' {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {g : αF} (l : Filter α) (hfg : ∀ (x : α), f x c * g x) :
f =O[l] g
theorem Asymptotics.isBigO_of_le {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} (l : Filter α) (hfg : ∀ (x : α), f x g x) :
f =O[l] g
theorem Asymptotics.isBigOWith_refl {α : Type u_1} {E : Type u_3} [Norm E] (f : αE) (l : Filter α) :
IsBigOWith 1 l f f
theorem Asymptotics.isBigO_refl {α : Type u_1} {E : Type u_3} [Norm E] (f : αE) (l : Filter α) :
f =O[l] f
theorem Filter.EventuallyEq.isBigO {α : Type u_1} {E : Type u_3} [Norm E] {l : Filter α} {f₁ f₂ : αE} (hf : f₁ =ᶠ[l] f₂) :
f₁ =O[l] f₂
theorem Asymptotics.IsBigOWith.trans_le {α : Type u_1} {E : Type u_3} {F : Type u_4} {G : Type u_5} [Norm E] [Norm F] [Norm G] {c : } {f : αE} {g : αF} {k : αG} {l : Filter α} (hfg : IsBigOWith c l f g) (hgk : ∀ (x : α), g x k x) (hc : 0 c) :
IsBigOWith c l f k
theorem Asymptotics.IsBigO.trans_le {α : Type u_1} {E : Type u_3} {G : Type u_5} {F' : Type u_7} [Norm E] [Norm G] [SeminormedAddCommGroup F'] {f : αE} {k : αG} {g' : αF'} {l : Filter α} (hfg : f =O[l] g') (hgk : ∀ (x : α), g' x k x) :
f =O[l] k
theorem Asymptotics.IsLittleO.trans_le {α : Type u_1} {E : Type u_3} {F : Type u_4} {G : Type u_5} [Norm E] [Norm F] [Norm G] {f : αE} {g : αF} {k : αG} {l : Filter α} (hfg : f =o[l] g) (hgk : ∀ (x : α), g x k x) :
f =o[l] k
theorem Asymptotics.isLittleO_irrefl' {α : Type u_1} {E' : Type u_6} [SeminormedAddCommGroup E'] {f' : αE'} {l : Filter α} (h : ∃ᶠ (x : α) in l, f' x 0) :
¬f' =o[l] f'
theorem Asymptotics.isLittleO_irrefl {α : Type u_1} {E'' : Type u_9} [NormedAddCommGroup E''] {f'' : αE''} {l : Filter α} (h : ∃ᶠ (x : α) in l, f'' x 0) :
¬f'' =o[l] f''
theorem Asymptotics.IsBigO.not_isLittleO {α : Type u_1} {F' : Type u_7} {E'' : Type u_9} [SeminormedAddCommGroup F'] [NormedAddCommGroup E''] {g' : αF'} {f'' : αE''} {l : Filter α} (h : f'' =O[l] g') (hf : ∃ᶠ (x : α) in l, f'' x 0) :
¬g' =o[l] f''
theorem Asymptotics.IsLittleO.not_isBigO {α : Type u_1} {F' : Type u_7} {E'' : Type u_9} [SeminormedAddCommGroup F'] [NormedAddCommGroup E''] {g' : αF'} {f'' : αE''} {l : Filter α} (h : f'' =o[l] g') (hf : ∃ᶠ (x : α) in l, f'' x 0) :
¬g' =O[l] f''
@[simp]
theorem Asymptotics.isBigOWith_bot {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] (c : ) (f : αE) (g : αF) :
@[simp]
theorem Asymptotics.isBigO_bot {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] (f : αE) (g : αF) :
@[simp]
theorem Asymptotics.isLittleO_bot {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] (f : αE) (g : αF) :
@[simp]
theorem Asymptotics.isBigOWith_pure {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {g : αF} {x : α} :
IsBigOWith c (pure x) f g f x c * g x
theorem Asymptotics.IsBigOWith.sup {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {c : } {f : αE} {g : αF} {l l' : Filter α} (h : IsBigOWith c l f g) (h' : IsBigOWith c l' f g) :
IsBigOWith c (ll') f g
theorem Asymptotics.IsBigOWith.sup' {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {c c' : } {f : αE} {g' : αF'} {l l' : Filter α} (h : IsBigOWith c l f g') (h' : IsBigOWith c' l' f g') :
IsBigOWith (max c c') (ll') f g'
theorem Asymptotics.IsBigO.sup {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l l' : Filter α} (h : f =O[l] g') (h' : f =O[l'] g') :
f =O[ll'] g'
theorem Asymptotics.IsLittleO.sup {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l l' : Filter α} (h : f =o[l] g) (h' : f =o[l'] g) :
f =o[ll'] g
@[simp]
theorem Asymptotics.isBigO_sup {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l l' : Filter α} :
f =O[ll'] g' f =O[l] g' f =O[l'] g'
@[simp]
theorem Asymptotics.isLittleO_sup {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] {f : αE} {g : αF} {l l' : Filter α} :
f =o[ll'] g f =o[l] g f =o[l'] g
theorem Asymptotics.isBigOWith_insert {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] [TopologicalSpace α] {x : α} {s : Set α} {C : } {g : αE} {g' : αF} (h : g x C * g' x) :
IsBigOWith C (nhdsWithin x (insert x s)) g g' IsBigOWith C (nhdsWithin x s) g g'
theorem Asymptotics.IsBigOWith.insert {α : Type u_1} {E : Type u_3} {F : Type u_4} [Norm E] [Norm F] [TopologicalSpace α] {x : α} {s : Set α} {C : } {g : αE} {g' : αF} (h1 : IsBigOWith C (nhdsWithin x s) g g') (h2 : g x C * g' x) :
IsBigOWith C (nhdsWithin x (insert x s)) g g'
theorem Asymptotics.isLittleO_insert {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] [TopologicalSpace α] {x : α} {s : Set α} {g : αE'} {g' : αF'} (h : g x = 0) :
g =o[nhdsWithin x (insert x s)] g' g =o[nhdsWithin x s] g'
theorem Asymptotics.IsLittleO.insert {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] [TopologicalSpace α] {x : α} {s : Set α} {g : αE'} {g' : αF'} (h1 : g =o[nhdsWithin x s] g') (h2 : g x = 0) :
g =o[nhdsWithin x (insert x s)] g'

Simplification: norm #

@[simp]
theorem Asymptotics.isBigOWith_norm_right {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {c : } {f : αE} {g' : αF'} {l : Filter α} :
(IsBigOWith c l f fun (x : α) => g' x) IsBigOWith c l f g'
theorem Asymptotics.IsBigOWith.of_norm_right {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {c : } {f : αE} {g' : αF'} {l : Filter α} :
(IsBigOWith c l f fun (x : α) => g' x)IsBigOWith c l f g'

Alias of the forward direction of Asymptotics.isBigOWith_norm_right.

theorem Asymptotics.IsBigOWith.norm_right {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {c : } {f : αE} {g' : αF'} {l : Filter α} :
IsBigOWith c l f g'IsBigOWith c l f fun (x : α) => g' x

Alias of the reverse direction of Asymptotics.isBigOWith_norm_right.

@[simp]
theorem Asymptotics.isBigO_norm_right {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} :
(f =O[l] fun (x : α) => g' x) f =O[l] g'
theorem Asymptotics.IsBigO.norm_right {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} :
f =O[l] g'f =O[l] fun (x : α) => g' x

Alias of the reverse direction of Asymptotics.isBigO_norm_right.

theorem Asymptotics.IsBigO.of_norm_right {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} :
(f =O[l] fun (x : α) => g' x) → f =O[l] g'

Alias of the forward direction of Asymptotics.isBigO_norm_right.

@[simp]
theorem Asymptotics.isLittleO_norm_right {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} :
(f =o[l] fun (x : α) => g' x) f =o[l] g'
theorem Asymptotics.IsLittleO.of_norm_right {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} :
(f =o[l] fun (x : α) => g' x) → f =o[l] g'

Alias of the forward direction of Asymptotics.isLittleO_norm_right.

theorem Asymptotics.IsLittleO.norm_right {α : Type u_1} {E : Type u_3} {F' : Type u_7} [Norm E] [SeminormedAddCommGroup F'] {f : αE} {g' : αF'} {l : Filter α} :
f =o[l] g'f =o[l] fun (x : α) => g' x

Alias of the reverse direction of Asymptotics.isLittleO_norm_right.

@[simp]
theorem Asymptotics.isBigOWith_norm_left {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {c : } {g : αF} {f' : αE'} {l : Filter α} :
IsBigOWith c l (fun (x : α) => f' x) g IsBigOWith c l f' g
theorem Asymptotics.IsBigOWith.norm_left {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {c : } {g : αF} {f' : αE'} {l : Filter α} :
IsBigOWith c l f' gIsBigOWith c l (fun (x : α) => f' x) g

Alias of the reverse direction of Asymptotics.isBigOWith_norm_left.

theorem Asymptotics.IsBigOWith.of_norm_left {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {c : } {g : αF} {f' : αE'} {l : Filter α} :
IsBigOWith c l (fun (x : α) => f' x) gIsBigOWith c l f' g

Alias of the forward direction of Asymptotics.isBigOWith_norm_left.

@[simp]
theorem Asymptotics.isBigO_norm_left {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {g : αF} {f' : αE'} {l : Filter α} :
(fun (x : α) => f' x) =O[l] g f' =O[l] g
theorem Asymptotics.IsBigO.of_norm_left {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {g : αF} {f' : αE'} {l : Filter α} :
(fun (x : α) => f' x) =O[l] gf' =O[l] g

Alias of the forward direction of Asymptotics.isBigO_norm_left.

theorem Asymptotics.IsBigO.norm_left {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {g : αF} {f' : αE'} {l : Filter α} :
f' =O[l] g(fun (x : α) => f' x) =O[l] g

Alias of the reverse direction of Asymptotics.isBigO_norm_left.

@[simp]
theorem Asymptotics.isLittleO_norm_left {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {g : αF} {f' : αE'} {l : Filter α} :
(fun (x : α) => f' x) =o[l] g f' =o[l] g
theorem Asymptotics.IsLittleO.of_norm_left {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {g : αF} {f' : αE'} {l : Filter α} :
(fun (x : α) => f' x) =o[l] gf' =o[l] g

Alias of the forward direction of Asymptotics.isLittleO_norm_left.

theorem Asymptotics.IsLittleO.norm_left {α : Type u_1} {F : Type u_4} {E' : Type u_6} [Norm F] [SeminormedAddCommGroup E'] {g : αF} {f' : αE'} {l : Filter α} :
f' =o[l] g(fun (x : α) => f' x) =o[l] g

Alias of the reverse direction of Asymptotics.isLittleO_norm_left.

theorem Asymptotics.isBigOWith_norm_norm {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {c : } {f' : αE'} {g' : αF'} {l : Filter α} :
(IsBigOWith c l (fun (x : α) => f' x) fun (x : α) => g' x) IsBigOWith c l f' g'
theorem Asymptotics.IsBigOWith.norm_norm {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {c : } {f' : αE'} {g' : αF'} {l : Filter α} :
IsBigOWith c l f' g'IsBigOWith c l (fun (x : α) => f' x) fun (x : α) => g' x

Alias of the reverse direction of Asymptotics.isBigOWith_norm_norm.

theorem Asymptotics.IsBigOWith.of_norm_norm {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {c : } {f' : αE'} {g' : αF'} {l : Filter α} :
(IsBigOWith c l (fun (x : α) => f' x) fun (x : α) => g' x)IsBigOWith c l f' g'

Alias of the forward direction of Asymptotics.isBigOWith_norm_norm.

theorem Asymptotics.isBigO_norm_norm {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {f' : αE'} {g' : αF'} {l : Filter α} :
((fun (x : α) => f' x) =O[l] fun (x : α) => g' x) f' =O[l] g'
theorem Asymptotics.IsBigO.norm_norm {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {f' : αE'} {g' : αF'} {l : Filter α} :
f' =O[l] g'(fun (x : α) => f' x) =O[l] fun (x : α) => g' x

Alias of the reverse direction of Asymptotics.isBigO_norm_norm.

theorem Asymptotics.IsBigO.of_norm_norm {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {f' : αE'} {g' : αF'} {l : Filter α} :
((fun (x : α) => f' x) =O[l] fun (x : α) => g' x) → f' =O[l] g'

Alias of the forward direction of Asymptotics.isBigO_norm_norm.

theorem Asymptotics.isLittleO_norm_norm {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {f' : αE'} {g' : αF'} {l : Filter α} :
((fun (x : α) => f' x) =o[l] fun (x : α) => g' x) f' =o[l] g'
theorem Asymptotics.IsLittleO.of_norm_norm {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {f' : αE'} {g' : αF'} {l : Filter α} :
((fun (x : α) => f' x) =o[l] fun (x : α) => g' x) → f' =o[l] g'

Alias of the forward direction of Asymptotics.isLittleO_norm_norm.

theorem Asymptotics.IsLittleO.norm_norm {α : Type u_1} {E' : Type u_6} {F' : Type u_7} [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] {f' : αE'} {g' : αF'} {l : Filter α} :
f' =o[l] g'(fun (x : α) => f' x) =o[l] fun (x : α) => g' x

Alias of the reverse direction of Asymptotics.isLittleO_norm_norm.