analysis.asymptotics.asymptoticsMathlib.Analysis.Asymptotics.Asymptotics

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -182,10 +182,10 @@ alias ⟨is_o.bound, is_o.of_bound⟩ := is_o_iff
 #align asymptotics.is_o.bound Asymptotics.IsLittleO.bound
 #align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_bound
 
-#print Asymptotics.IsLittleO.definition /-
-theorem IsLittleO.definition (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
+#print Asymptotics.IsLittleO.def /-
+theorem IsLittleO.def (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
   isLittleO_iff.1 h hc
-#align asymptotics.is_o.def Asymptotics.IsLittleO.definition
+#align asymptotics.is_o.def Asymptotics.IsLittleO.def
 -/
 
 #print Asymptotics.IsLittleO.def' /-
Diff
@@ -6,7 +6,7 @@ Authors: Jeremy Avigad, Yury Kudryashov
 import Analysis.Normed.Group.InfiniteSum
 import Analysis.NormedSpace.Basic
 import Topology.Algebra.Order.LiminfLimsup
-import Topology.LocalHomeomorph
+import Topology.PartialHomeomorph
 
 #align_import analysis.asymptotics.asymptotics from "leanprover-community/mathlib"@"9a48a083b390d9b84a71efbdc4e8dfa26a687104"
 
@@ -182,10 +182,10 @@ alias ⟨is_o.bound, is_o.of_bound⟩ := is_o_iff
 #align asymptotics.is_o.bound Asymptotics.IsLittleO.bound
 #align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_bound
 
-#print Asymptotics.IsLittleO.def /-
-theorem IsLittleO.def (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
+#print Asymptotics.IsLittleO.definition /-
+theorem IsLittleO.definition (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
   isLittleO_iff.1 h hc
-#align asymptotics.is_o.def Asymptotics.IsLittleO.def
+#align asymptotics.is_o.def Asymptotics.IsLittleO.definition
 -/
 
 #print Asymptotics.IsLittleO.def' /-
@@ -584,7 +584,7 @@ theorem IsLittleO.trans_isBigOWith (hfg : f =o[l] g) (hgk : IsBigOWith c l g k)
   unfold is_o at *
   intro c' c'pos
   have : 0 < c' / c := div_pos c'pos hc
-  exact ((hfg this).trans hgk this.le).congr_const (div_mul_cancel _ hc.ne')
+  exact ((hfg this).trans hgk this.le).congr_const (div_mul_cancel₀ _ hc.ne')
 #align asymptotics.is_o.trans_is_O_with Asymptotics.IsLittleO.trans_isBigOWith
 -/
 
@@ -603,7 +603,7 @@ theorem IsBigOWith.trans_isLittleO (hfg : IsBigOWith c l f g) (hgk : g =o[l] k)
   unfold is_o at *
   intro c' c'pos
   have : 0 < c' / c := div_pos c'pos hc
-  exact (hfg.trans (hgk this) hc.le).congr_const (mul_div_cancel' _ hc.ne')
+  exact (hfg.trans (hgk this) hc.le).congr_const (mul_div_cancel₀ _ hc.ne')
 #align asymptotics.is_O_with.trans_is_o Asymptotics.IsBigOWith.trans_isLittleO
 -/
 
@@ -1354,7 +1354,7 @@ theorem IsLittleO.add_isBigO (h₁ : f₁ =o[l] g) (h₂ : f₂ =O[l] g) : (fun
 #print Asymptotics.IsBigOWith.add_isLittleO /-
 theorem IsBigOWith.add_isLittleO (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
     IsBigOWith c₂ l (fun x => f₁ x + f₂ x) g :=
-  (h₁.add (h₂.forall_isBigOWith (sub_pos.2 hc))).congr_const (add_sub_cancel'_right _ _)
+  (h₁.add (h₂.forall_isBigOWith (sub_pos.2 hc))).congr_const (add_sub_cancel _ _)
 #align asymptotics.is_O_with.add_is_o Asymptotics.IsBigOWith.add_isLittleO
 -/
 
@@ -1555,7 +1555,7 @@ theorem isBigOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter 
   unfold is_O_with
   apply univ_mem'
   intro x
-  rw [mem_set_of_eq, div_mul_cancel]
+  rw [mem_set_of_eq, div_mul_cancel₀]
   rwa [Ne.def, norm_eq_zero]
 #align asymptotics.is_O_with_const_const Asymptotics.isBigOWith_const_const
 -/
@@ -2017,7 +2017,7 @@ theorem IsBigO.mul_isLittleO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h
   unfold is_o at *
   intro c cpos
   rcases h₁.exists_pos with ⟨c', c'pos, hc'⟩
-  exact (hc'.mul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel' _ (ne_of_gt c'pos))
+  exact (hc'.mul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel₀ _ (ne_of_gt c'pos))
 #align asymptotics.is_O.mul_is_o Asymptotics.IsBigO.mul_isLittleO
 -/
 
@@ -2028,7 +2028,7 @@ theorem IsLittleO.mul_isBigO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h
   unfold is_o at *
   intro c cpos
   rcases h₂.exists_pos with ⟨c', c'pos, hc'⟩
-  exact ((h₁ (div_pos cpos c'pos)).mul hc').congr_const (div_mul_cancel _ (ne_of_gt c'pos))
+  exact ((h₁ (div_pos cpos c'pos)).mul hc').congr_const (div_mul_cancel₀ _ (ne_of_gt c'pos))
 #align asymptotics.is_o.mul_is_O Asymptotics.IsLittleO.mul_isBigO
 -/
 
@@ -2046,7 +2046,7 @@ theorem IsBigOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g
         g x ^ n
   | 0 => by simpa using is_O_with_const_const (1 : R) (one_ne_zero' 𝕜) l
   | 1 => by simpa
-  | n + 2 => by simpa [pow_succ] using h.mul (is_O_with.pow' (n + 1))
+  | n + 2 => by simpa [pow_succ'] using h.mul (is_O_with.pow' (n + 1))
 #align asymptotics.is_O_with.pow' Asymptotics.IsBigOWith.pow'
 -/
 
@@ -2097,7 +2097,7 @@ theorem IsLittleO.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ}
   by
   cases n; exact hn.false.elim; clear hn
   induction' n with n ihn; · simpa only [pow_one]
-  convert h.mul ihn <;> simp [pow_succ]
+  convert h.mul ihn <;> simp [pow_succ']
 #align asymptotics.is_o.pow Asymptotics.IsLittleO.pow
 -/
 
Diff
@@ -301,7 +301,7 @@ theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x,
     · refine' (H.def one_pos).mono fun x h₀' => _
       rw [Nat.cast_zero, MulZeroClass.zero_mul]
       refine' h₀.elim (fun hf => (hf x).trans _) fun hg => hg x
-      rwa [one_mul] at h₀' 
+      rwa [one_mul] at h₀'
     · have : (0 : ℝ) < n.succ := Nat.cast_pos.2 n.succ_pos
       exact (is_O_with_inv this).1 (H.def' <| inv_pos.2 this)
   · refine' fun H => is_o_iff.2 fun ε ε0 => _
@@ -704,7 +704,7 @@ theorem isLittleO_irrefl' (h : ∃ᶠ x in l, ‖f' x‖ ≠ 0) : ¬f' =o[l] f'
   by
   intro ho
   rcases((ho.bound one_half_pos).and_frequently h).exists with ⟨x, hle, hne⟩
-  rw [one_div, ← div_eq_inv_mul] at hle 
+  rw [one_div, ← div_eq_inv_mul] at hle
   exact (half_lt_self (lt_of_le_of_ne (norm_nonneg _) hne.symm)).not_le hle
 #align asymptotics.is_o_irrefl' Asymptotics.isLittleO_irrefl'
 -/
@@ -2493,7 +2493,7 @@ theorem isLittleO_iff_exists_eq_mul :
   constructor
   · exact fun h => ⟨fun x => u x / v x, h.tendsto_div_nhds_zero, h.eventually_mul_div_cancel.symm⟩
   · unfold is_o; rintro ⟨φ, hφ, huvφ⟩ c hpos
-    rw [NormedAddCommGroup.tendsto_nhds_zero] at hφ 
+    rw [NormedAddCommGroup.tendsto_nhds_zero] at hφ
     exact is_O_with_of_eq_mul _ ((hφ c hpos).mono fun x => le_of_lt) huvφ
 #align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mul
 -/
@@ -2524,7 +2524,7 @@ theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α 
   by
   refine' ⟨div_is_bounded_under_of_is_O, fun h => _⟩
   obtain ⟨c, hc⟩ := h
-  simp only [eventually_map, norm_div] at hc 
+  simp only [eventually_map, norm_div] at hc
   refine' is_O.of_bound c (hc.mp <| hgf.mono fun x hx₁ hx₂ => _)
   by_cases hgx : g x = 0
   · simp [hx₁ hgx, hgx]
@@ -2544,7 +2544,7 @@ theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type _} [NormedAddCommGro
     {u : α → E} {v : α → 𝕜} {l : Filter α} {y : 𝕜} (huv : u =o[l] v) (hv : Tendsto v l (𝓝 y)) :
     Tendsto u l (𝓝 0) := by
   suffices h : u =o[l] fun x => (1 : 𝕜)
-  · rwa [is_o_one_iff] at h 
+  · rwa [is_o_one_iff] at h
   exact huv.trans_is_O (hv.is_O_one 𝕜)
 #align asymptotics.is_o.tendsto_zero_of_tendsto Asymptotics.IsLittleO.tendsto_zero_of_tendsto
 -/
@@ -2588,7 +2588,7 @@ theorem IsBigO.eq_zero_of_norm_pow_within {f : E'' → F''} {s : Set E''} {x₀
 #print Asymptotics.IsBigO.eq_zero_of_norm_pow /-
 theorem IsBigO.eq_zero_of_norm_pow {f : E'' → F''} {x₀ : E''} {n : ℕ}
     (h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n) (hn : 0 < n) : f x₀ = 0 := by
-  rw [← nhdsWithin_univ] at h ; exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
+  rw [← nhdsWithin_univ] at h; exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
 #align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_pow
 -/
 
@@ -2653,7 +2653,7 @@ theorem bound_of_isBigO_cofinite (h : f =O[cofinite] g'') :
     ∃ C > 0, ∀ ⦃x⦄, g'' x ≠ 0 → ‖f x‖ ≤ C * ‖g'' x‖ :=
   by
   rcases h.exists_pos with ⟨C, C₀, hC⟩
-  rw [is_O_with, eventually_cofinite] at hC 
+  rw [is_O_with, eventually_cofinite] at hC
   rcases(hC.to_finset.image fun x => ‖f x‖ / ‖g'' x‖).exists_le with ⟨C', hC'⟩
   have : ∀ x, C * ‖g'' x‖ < ‖f x‖ → ‖f x‖ / ‖g'' x‖ ≤ C' := by simpa using hC'
   refine' ⟨max C C', lt_max_iff.2 (Or.inl C₀), fun x h₀ => _⟩
Diff
@@ -2611,8 +2611,8 @@ theorem isLittleO_pow_sub_sub (x₀ : E') {m : ℕ} (h : 1 < m) :
 #align asymptotics.is_o_pow_sub_sub Asymptotics.isLittleO_pow_sub_sub
 -/
 
-#print Asymptotics.IsBigOWith.right_le_sub_of_lt_1 /-
-theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
+#print Asymptotics.IsBigOWith.right_le_sub_of_lt_one /-
+theorem IsBigOWith.right_le_sub_of_lt_one {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₂ x - f₁ x :=
   IsBigOWith.of_bound <|
     mem_of_superset h.bound fun x hx =>
@@ -2621,28 +2621,28 @@ theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith
       rw [mul_comm, one_div, ← div_eq_mul_inv, le_div_iff, mul_sub, mul_one, mul_comm]
       · exact le_trans (sub_le_sub_left hx _) (norm_sub_norm_le _ _)
       · exact sub_pos.2 hc
-#align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_1
+#align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_one
 -/
 
-#print Asymptotics.IsBigOWith.right_le_add_of_lt_1 /-
-theorem IsBigOWith.right_le_add_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
+#print Asymptotics.IsBigOWith.right_le_add_of_lt_one /-
+theorem IsBigOWith.right_le_add_of_lt_one {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₁ x + f₂ x :=
-  (h.neg_right.right_le_sub_of_lt_1 hc).neg_right.of_neg_left.congr rfl (fun x => rfl) fun x => by
+  (h.neg_right.right_le_sub_of_lt_one hc).neg_right.of_neg_left.congr rfl (fun x => rfl) fun x => by
     rw [neg_sub, sub_neg_eq_add]
-#align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_1
+#align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_one
 -/
 
 #print Asymptotics.IsLittleO.right_isBigO_sub /-
 theorem IsLittleO.right_isBigO_sub {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
     f₂ =O[l] fun x => f₂ x - f₁ x :=
-  ((h.def' one_half_pos).right_le_sub_of_lt_1 one_half_lt_one).IsBigO
+  ((h.def' one_half_pos).right_le_sub_of_lt_one one_half_lt_one).IsBigO
 #align asymptotics.is_o.right_is_O_sub Asymptotics.IsLittleO.right_isBigO_sub
 -/
 
 #print Asymptotics.IsLittleO.right_isBigO_add /-
 theorem IsLittleO.right_isBigO_add {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
     f₂ =O[l] fun x => f₁ x + f₂ x :=
-  ((h.def' one_half_pos).right_le_add_of_lt_1 one_half_lt_one).IsBigO
+  ((h.def' one_half_pos).right_le_add_of_lt_one one_half_lt_one).IsBigO
 #align asymptotics.is_o.right_is_O_add Asymptotics.IsLittleO.right_isBigO_add
 -/
 
Diff
@@ -2063,7 +2063,7 @@ theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigO
     (hn : n ≠ 0) (hc : c ≤ c' ^ n) (hc' : 0 ≤ c') : IsBigOWith c' l f g :=
   IsBigOWith.of_bound <|
     (h.weaken hc).bound.mono fun x hx =>
-      le_of_pow_le_pow n (mul_nonneg hc' <| norm_nonneg _) hn.bot_lt <|
+      le_of_pow_le_pow_left n (mul_nonneg hc' <| norm_nonneg _) hn.bot_lt <|
         calc
           ‖f x‖ ^ n = ‖f x ^ n‖ := (norm_pow _ _).symm
           _ ≤ c' ^ n * ‖g x ^ n‖ := hx
Diff
@@ -2743,15 +2743,15 @@ theorem summable_of_isBigO_nat {E} [NormedAddCommGroup E] [CompleteSpace E] {f :
 #align summable_of_is_O_nat summable_of_isBigO_nat
 -/
 
-namespace LocalHomeomorph
+namespace PartialHomeomorph
 
 variable {α : Type _} {β : Type _} [TopologicalSpace α] [TopologicalSpace β]
 
 variable {E : Type _} [Norm E] {F : Type _} [Norm F]
 
-#print LocalHomeomorph.isBigOWith_congr /-
+#print PartialHomeomorph.isBigOWith_congr /-
 /-- Transfer `is_O_with` over a `local_homeomorph`. -/
-theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
+theorem isBigOWith_congr (e : PartialHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
     {g : β → F} {C : ℝ} : IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
   ⟨fun h =>
     h.comp_tendsto <| by convert e.continuous_at (e.map_target hb); exact (e.right_inv hb).symm,
@@ -2759,26 +2759,26 @@ theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.targ
     (h.comp_tendsto (e.continuousAt_symm hb)).congr' rfl
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg f hx)
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg g hx)⟩
-#align local_homeomorph.is_O_with_congr LocalHomeomorph.isBigOWith_congr
+#align local_homeomorph.is_O_with_congr PartialHomeomorph.isBigOWith_congr
 -/
 
-#print LocalHomeomorph.isBigO_congr /-
+#print PartialHomeomorph.isBigO_congr /-
 /-- Transfer `is_O` over a `local_homeomorph`. -/
-theorem isBigO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F} :
-    f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by unfold is_O;
+theorem isBigO_congr (e : PartialHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
+    {g : β → F} : f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by unfold is_O;
   exact exists_congr fun C => e.is_O_with_congr hb
-#align local_homeomorph.is_O_congr LocalHomeomorph.isBigO_congr
+#align local_homeomorph.is_O_congr PartialHomeomorph.isBigO_congr
 -/
 
-#print LocalHomeomorph.isLittleO_congr /-
+#print PartialHomeomorph.isLittleO_congr /-
 /-- Transfer `is_o` over a `local_homeomorph`. -/
-theorem isLittleO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
+theorem isLittleO_congr (e : PartialHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
     {g : β → F} : f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) := by unfold is_o;
   exact forall₂_congr fun c hc => e.is_O_with_congr hb
-#align local_homeomorph.is_o_congr LocalHomeomorph.isLittleO_congr
+#align local_homeomorph.is_o_congr PartialHomeomorph.isLittleO_congr
 -/
 
-end LocalHomeomorph
+end PartialHomeomorph
 
 namespace Homeomorph
 
@@ -2792,7 +2792,7 @@ open Asymptotics
 /-- Transfer `is_O_with` over a `homeomorph`. -/
 theorem isBigOWith_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} {C : ℝ} :
     IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
-  e.toLocalHomeomorph.isBigOWith_congr trivial
+  e.toPartialHomeomorph.isBigOWith_congr trivial
 #align homeomorph.is_O_with_congr Homeomorph.isBigOWith_congr
 -/
 
Diff
@@ -2375,11 +2375,10 @@ theorem isLittleO_pure {x} : f'' =o[pure x] g'' ↔ f'' x = 0 :=
 #align asymptotics.is_o_pure Asymptotics.isLittleO_pure
 -/
 
-#print Asymptotics.isLittleO_const_id_comap_norm_atTop /-
-theorem isLittleO_const_id_comap_norm_atTop (c : F'') :
-    (fun x : E'' => c) =o[comap norm atTop] id :=
+#print Asymptotics.isLittleO_const_id_cobounded /-
+theorem isLittleO_const_id_cobounded (c : F'') : (fun x : E'' => c) =o[comap norm atTop] id :=
   isLittleO_const_left.2 <| Or.inr tendsto_comap
-#align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isLittleO_const_id_comap_norm_atTop
+#align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isLittleO_const_id_cobounded
 -/
 
 #print Asymptotics.isLittleO_const_id_atTop /-
Diff
@@ -2733,7 +2733,7 @@ open Asymptotics
 theorem summable_of_isBigO {ι E} [NormedAddCommGroup E] [CompleteSpace E] {f : ι → E} {g : ι → ℝ}
     (hg : Summable g) (h : f =O[cofinite] g) : Summable f :=
   let ⟨C, hC⟩ := h.IsBigOWith
-  summable_of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.hMul_left _) hC.bound
+  Summable.of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.hMul_left _) hC.bound
 #align summable_of_is_O summable_of_isBigO
 -/
 
Diff
@@ -2658,7 +2658,7 @@ theorem bound_of_isBigO_cofinite (h : f =O[cofinite] g'') :
   rcases(hC.to_finset.image fun x => ‖f x‖ / ‖g'' x‖).exists_le with ⟨C', hC'⟩
   have : ∀ x, C * ‖g'' x‖ < ‖f x‖ → ‖f x‖ / ‖g'' x‖ ≤ C' := by simpa using hC'
   refine' ⟨max C C', lt_max_iff.2 (Or.inl C₀), fun x h₀ => _⟩
-  rw [max_mul_of_nonneg _ _ (norm_nonneg _), le_max_iff, or_iff_not_imp_left, not_le]
+  rw [max_mul_of_nonneg _ _ (norm_nonneg _), le_max_iff, Classical.or_iff_not_imp_left, not_le]
   exact fun hx => (div_le_iff (norm_pos_iff.2 h₀)).1 (this _ hx)
 #align asymptotics.bound_of_is_O_cofinite Asymptotics.bound_of_isBigO_cofinite
 -/
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jeremy Avigad, Yury Kudryashov
 -/
-import Mathbin.Analysis.Normed.Group.InfiniteSum
-import Mathbin.Analysis.NormedSpace.Basic
-import Mathbin.Topology.Algebra.Order.LiminfLimsup
-import Mathbin.Topology.LocalHomeomorph
+import Analysis.Normed.Group.InfiniteSum
+import Analysis.NormedSpace.Basic
+import Topology.Algebra.Order.LiminfLimsup
+import Topology.LocalHomeomorph
 
 #align_import analysis.asymptotics.asymptotics from "leanprover-community/mathlib"@"9a48a083b390d9b84a71efbdc4e8dfa26a687104"
 
Diff
@@ -97,7 +97,7 @@ theorem isBigOWith_iff : IsBigOWith c l f g ↔ ∀ᶠ x in l, ‖f x‖ ≤ c *
 #align asymptotics.is_O_with_iff Asymptotics.isBigOWith_iff
 -/
 
-alias is_O_with_iff ↔ is_O_with.bound is_O_with.of_bound
+alias ⟨is_O_with.bound, is_O_with.of_bound⟩ := is_O_with_iff
 #align asymptotics.is_O_with.bound Asymptotics.IsBigOWith.bound
 #align asymptotics.is_O_with.of_bound Asymptotics.IsBigOWith.of_bound
 
@@ -166,7 +166,7 @@ theorem isLittleO_iff_forall_isBigOWith : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c
 #align asymptotics.is_o_iff_forall_is_O_with Asymptotics.isLittleO_iff_forall_isBigOWith
 -/
 
-alias is_o_iff_forall_is_O_with ↔ is_o.forall_is_O_with is_o.of_is_O_with
+alias ⟨is_o.forall_is_O_with, is_o.of_is_O_with⟩ := is_o_iff_forall_is_O_with
 #align asymptotics.is_o.forall_is_O_with Asymptotics.IsLittleO.forall_isBigOWith
 #align asymptotics.is_o.of_is_O_with Asymptotics.IsLittleO.of_isBigOWith
 
@@ -178,7 +178,7 @@ theorem isLittleO_iff : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ x in l
 #align asymptotics.is_o_iff Asymptotics.isLittleO_iff
 -/
 
-alias is_o_iff ↔ is_o.bound is_o.of_bound
+alias ⟨is_o.bound, is_o.of_bound⟩ := is_o_iff
 #align asymptotics.is_o.bound Asymptotics.IsLittleO.bound
 #align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_bound
 
@@ -859,11 +859,11 @@ theorem isBigOWith_abs_right : (IsBigOWith c l f fun x => |u x|) ↔ IsBigOWith
 #align asymptotics.is_O_with_abs_right Asymptotics.isBigOWith_abs_right
 -/
 
-alias is_O_with_norm_right ↔ is_O_with.of_norm_right is_O_with.norm_right
+alias ⟨is_O_with.of_norm_right, is_O_with.norm_right⟩ := is_O_with_norm_right
 #align asymptotics.is_O_with.of_norm_right Asymptotics.IsBigOWith.of_norm_right
 #align asymptotics.is_O_with.norm_right Asymptotics.IsBigOWith.norm_right
 
-alias is_O_with_abs_right ↔ is_O_with.of_abs_right is_O_with.abs_right
+alias ⟨is_O_with.of_abs_right, is_O_with.abs_right⟩ := is_O_with_abs_right
 #align asymptotics.is_O_with.of_abs_right Asymptotics.IsBigOWith.of_abs_right
 #align asymptotics.is_O_with.abs_right Asymptotics.IsBigOWith.abs_right
 
@@ -881,11 +881,11 @@ theorem isBigO_abs_right : (f =O[l] fun x => |u x|) ↔ f =O[l] u :=
 #align asymptotics.is_O_abs_right Asymptotics.isBigO_abs_right
 -/
 
-alias is_O_norm_right ↔ is_O.of_norm_right is_O.norm_right
+alias ⟨is_O.of_norm_right, is_O.norm_right⟩ := is_O_norm_right
 #align asymptotics.is_O.of_norm_right Asymptotics.IsBigO.of_norm_right
 #align asymptotics.is_O.norm_right Asymptotics.IsBigO.norm_right
 
-alias is_O_abs_right ↔ is_O.of_abs_right is_O.abs_right
+alias ⟨is_O.of_abs_right, is_O.abs_right⟩ := is_O_abs_right
 #align asymptotics.is_O.of_abs_right Asymptotics.IsBigO.of_abs_right
 #align asymptotics.is_O.abs_right Asymptotics.IsBigO.abs_right
 
@@ -903,11 +903,11 @@ theorem isLittleO_abs_right : (f =o[l] fun x => |u x|) ↔ f =o[l] u :=
 #align asymptotics.is_o_abs_right Asymptotics.isLittleO_abs_right
 -/
 
-alias is_o_norm_right ↔ is_o.of_norm_right is_o.norm_right
+alias ⟨is_o.of_norm_right, is_o.norm_right⟩ := is_o_norm_right
 #align asymptotics.is_o.of_norm_right Asymptotics.IsLittleO.of_norm_right
 #align asymptotics.is_o.norm_right Asymptotics.IsLittleO.norm_right
 
-alias is_o_abs_right ↔ is_o.of_abs_right is_o.abs_right
+alias ⟨is_o.of_abs_right, is_o.abs_right⟩ := is_o_abs_right
 #align asymptotics.is_o.of_abs_right Asymptotics.IsLittleO.of_abs_right
 #align asymptotics.is_o.abs_right Asymptotics.IsLittleO.abs_right
 
@@ -925,11 +925,11 @@ theorem isBigOWith_abs_left : IsBigOWith c l (fun x => |u x|) g ↔ IsBigOWith c
 #align asymptotics.is_O_with_abs_left Asymptotics.isBigOWith_abs_left
 -/
 
-alias is_O_with_norm_left ↔ is_O_with.of_norm_left is_O_with.norm_left
+alias ⟨is_O_with.of_norm_left, is_O_with.norm_left⟩ := is_O_with_norm_left
 #align asymptotics.is_O_with.of_norm_left Asymptotics.IsBigOWith.of_norm_left
 #align asymptotics.is_O_with.norm_left Asymptotics.IsBigOWith.norm_left
 
-alias is_O_with_abs_left ↔ is_O_with.of_abs_left is_O_with.abs_left
+alias ⟨is_O_with.of_abs_left, is_O_with.abs_left⟩ := is_O_with_abs_left
 #align asymptotics.is_O_with.of_abs_left Asymptotics.IsBigOWith.of_abs_left
 #align asymptotics.is_O_with.abs_left Asymptotics.IsBigOWith.abs_left
 
@@ -947,11 +947,11 @@ theorem isBigO_abs_left : (fun x => |u x|) =O[l] g ↔ u =O[l] g :=
 #align asymptotics.is_O_abs_left Asymptotics.isBigO_abs_left
 -/
 
-alias is_O_norm_left ↔ is_O.of_norm_left is_O.norm_left
+alias ⟨is_O.of_norm_left, is_O.norm_left⟩ := is_O_norm_left
 #align asymptotics.is_O.of_norm_left Asymptotics.IsBigO.of_norm_left
 #align asymptotics.is_O.norm_left Asymptotics.IsBigO.norm_left
 
-alias is_O_abs_left ↔ is_O.of_abs_left is_O.abs_left
+alias ⟨is_O.of_abs_left, is_O.abs_left⟩ := is_O_abs_left
 #align asymptotics.is_O.of_abs_left Asymptotics.IsBigO.of_abs_left
 #align asymptotics.is_O.abs_left Asymptotics.IsBigO.abs_left
 
@@ -969,11 +969,11 @@ theorem isLittleO_abs_left : (fun x => |u x|) =o[l] g ↔ u =o[l] g :=
 #align asymptotics.is_o_abs_left Asymptotics.isLittleO_abs_left
 -/
 
-alias is_o_norm_left ↔ is_o.of_norm_left is_o.norm_left
+alias ⟨is_o.of_norm_left, is_o.norm_left⟩ := is_o_norm_left
 #align asymptotics.is_o.of_norm_left Asymptotics.IsLittleO.of_norm_left
 #align asymptotics.is_o.norm_left Asymptotics.IsLittleO.norm_left
 
-alias is_o_abs_left ↔ is_o.of_abs_left is_o.abs_left
+alias ⟨is_o.of_abs_left, is_o.abs_left⟩ := is_o_abs_left
 #align asymptotics.is_o.of_abs_left Asymptotics.IsLittleO.of_abs_left
 #align asymptotics.is_o.abs_left Asymptotics.IsLittleO.abs_left
 
@@ -991,11 +991,11 @@ theorem isBigOWith_abs_abs :
 #align asymptotics.is_O_with_abs_abs Asymptotics.isBigOWith_abs_abs
 -/
 
-alias is_O_with_norm_norm ↔ is_O_with.of_norm_norm is_O_with.norm_norm
+alias ⟨is_O_with.of_norm_norm, is_O_with.norm_norm⟩ := is_O_with_norm_norm
 #align asymptotics.is_O_with.of_norm_norm Asymptotics.IsBigOWith.of_norm_norm
 #align asymptotics.is_O_with.norm_norm Asymptotics.IsBigOWith.norm_norm
 
-alias is_O_with_abs_abs ↔ is_O_with.of_abs_abs is_O_with.abs_abs
+alias ⟨is_O_with.of_abs_abs, is_O_with.abs_abs⟩ := is_O_with_abs_abs
 #align asymptotics.is_O_with.of_abs_abs Asymptotics.IsBigOWith.of_abs_abs
 #align asymptotics.is_O_with.abs_abs Asymptotics.IsBigOWith.abs_abs
 
@@ -1011,11 +1011,11 @@ theorem isBigO_abs_abs : ((fun x => |u x|) =O[l] fun x => |v x|) ↔ u =O[l] v :
 #align asymptotics.is_O_abs_abs Asymptotics.isBigO_abs_abs
 -/
 
-alias is_O_norm_norm ↔ is_O.of_norm_norm is_O.norm_norm
+alias ⟨is_O.of_norm_norm, is_O.norm_norm⟩ := is_O_norm_norm
 #align asymptotics.is_O.of_norm_norm Asymptotics.IsBigO.of_norm_norm
 #align asymptotics.is_O.norm_norm Asymptotics.IsBigO.norm_norm
 
-alias is_O_abs_abs ↔ is_O.of_abs_abs is_O.abs_abs
+alias ⟨is_O.of_abs_abs, is_O.abs_abs⟩ := is_O_abs_abs
 #align asymptotics.is_O.of_abs_abs Asymptotics.IsBigO.of_abs_abs
 #align asymptotics.is_O.abs_abs Asymptotics.IsBigO.abs_abs
 
@@ -1031,11 +1031,11 @@ theorem isLittleO_abs_abs : ((fun x => |u x|) =o[l] fun x => |v x|) ↔ u =o[l]
 #align asymptotics.is_o_abs_abs Asymptotics.isLittleO_abs_abs
 -/
 
-alias is_o_norm_norm ↔ is_o.of_norm_norm is_o.norm_norm
+alias ⟨is_o.of_norm_norm, is_o.norm_norm⟩ := is_o_norm_norm
 #align asymptotics.is_o.of_norm_norm Asymptotics.IsLittleO.of_norm_norm
 #align asymptotics.is_o.norm_norm Asymptotics.IsLittleO.norm_norm
 
-alias is_o_abs_abs ↔ is_o.of_abs_abs is_o.abs_abs
+alias ⟨is_o.of_abs_abs, is_o.abs_abs⟩ := is_o_abs_abs
 #align asymptotics.is_o.of_abs_abs Asymptotics.IsLittleO.of_abs_abs
 #align asymptotics.is_o.abs_abs Asymptotics.IsLittleO.abs_abs
 
@@ -1051,7 +1051,7 @@ theorem isBigOWith_neg_right : (IsBigOWith c l f fun x => -g' x) ↔ IsBigOWith
 #align asymptotics.is_O_with_neg_right Asymptotics.isBigOWith_neg_right
 -/
 
-alias is_O_with_neg_right ↔ is_O_with.of_neg_right is_O_with.neg_right
+alias ⟨is_O_with.of_neg_right, is_O_with.neg_right⟩ := is_O_with_neg_right
 #align asymptotics.is_O_with.of_neg_right Asymptotics.IsBigOWith.of_neg_right
 #align asymptotics.is_O_with.neg_right Asymptotics.IsBigOWith.neg_right
 
@@ -1062,7 +1062,7 @@ theorem isBigO_neg_right : (f =O[l] fun x => -g' x) ↔ f =O[l] g' := by unfold
 #align asymptotics.is_O_neg_right Asymptotics.isBigO_neg_right
 -/
 
-alias is_O_neg_right ↔ is_O.of_neg_right is_O.neg_right
+alias ⟨is_O.of_neg_right, is_O.neg_right⟩ := is_O_neg_right
 #align asymptotics.is_O.of_neg_right Asymptotics.IsBigO.of_neg_right
 #align asymptotics.is_O.neg_right Asymptotics.IsBigO.neg_right
 
@@ -1073,7 +1073,7 @@ theorem isLittleO_neg_right : (f =o[l] fun x => -g' x) ↔ f =o[l] g' := by unfo
 #align asymptotics.is_o_neg_right Asymptotics.isLittleO_neg_right
 -/
 
-alias is_o_neg_right ↔ is_o.of_neg_right is_o.neg_right
+alias ⟨is_o.of_neg_right, is_o.neg_right⟩ := is_o_neg_right
 #align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_right
 #align asymptotics.is_o.neg_right Asymptotics.IsLittleO.neg_right
 
@@ -1084,7 +1084,7 @@ theorem isBigOWith_neg_left : IsBigOWith c l (fun x => -f' x) g ↔ IsBigOWith c
 #align asymptotics.is_O_with_neg_left Asymptotics.isBigOWith_neg_left
 -/
 
-alias is_O_with_neg_left ↔ is_O_with.of_neg_left is_O_with.neg_left
+alias ⟨is_O_with.of_neg_left, is_O_with.neg_left⟩ := is_O_with_neg_left
 #align asymptotics.is_O_with.of_neg_left Asymptotics.IsBigOWith.of_neg_left
 #align asymptotics.is_O_with.neg_left Asymptotics.IsBigOWith.neg_left
 
@@ -1095,7 +1095,7 @@ theorem isBigO_neg_left : (fun x => -f' x) =O[l] g ↔ f' =O[l] g := by unfold i
 #align asymptotics.is_O_neg_left Asymptotics.isBigO_neg_left
 -/
 
-alias is_O_neg_left ↔ is_O.of_neg_left is_O.neg_left
+alias ⟨is_O.of_neg_left, is_O.neg_left⟩ := is_O_neg_left
 #align asymptotics.is_O.of_neg_left Asymptotics.IsBigO.of_neg_left
 #align asymptotics.is_O.neg_left Asymptotics.IsBigO.neg_left
 
@@ -1106,7 +1106,7 @@ theorem isLittleO_neg_left : (fun x => -f' x) =o[l] g ↔ f' =o[l] g := by unfol
 #align asymptotics.is_o_neg_left Asymptotics.isLittleO_neg_left
 -/
 
-alias is_o_neg_left ↔ is_o.of_neg_right is_o.neg_left
+alias ⟨is_o.of_neg_right, is_o.neg_left⟩ := is_o_neg_left
 #align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_right
 #align asymptotics.is_o.neg_left Asymptotics.IsLittleO.neg_left
 
@@ -1669,7 +1669,7 @@ theorem isBigO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (·
 #align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iff
 -/
 
-alias is_O_one_iff ↔ _ _root_.filter.is_bounded_under.is_O_one
+alias ⟨_, _root_.filter.is_bounded_under.is_O_one⟩ := is_O_one_iff
 #align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_one
 
 #print Asymptotics.isLittleO_one_left_iff /-
@@ -2329,10 +2329,10 @@ theorem isLittleO_iff_tendsto {f g : α → 𝕜} (hgf : ∀ x, g x = 0 → f x
 #align asymptotics.is_o_iff_tendsto Asymptotics.isLittleO_iff_tendsto
 -/
 
-alias is_o_iff_tendsto' ↔ _ is_o_of_tendsto'
+alias ⟨_, is_o_of_tendsto'⟩ := is_o_iff_tendsto'
 #align asymptotics.is_o_of_tendsto' Asymptotics.isLittleO_of_tendsto'
 
-alias is_o_iff_tendsto ↔ _ is_o_of_tendsto
+alias ⟨_, is_o_of_tendsto⟩ := is_o_iff_tendsto
 #align asymptotics.is_o_of_tendsto Asymptotics.isLittleO_of_tendsto
 
 #print Asymptotics.isLittleO_const_left_of_ne /-
@@ -2484,7 +2484,7 @@ theorem isBigO_iff_exists_eq_mul :
 #align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isBigO_iff_exists_eq_mul
 -/
 
-alias is_O_iff_exists_eq_mul ↔ is_O.exists_eq_mul _
+alias ⟨is_O.exists_eq_mul, _⟩ := is_O_iff_exists_eq_mul
 #align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
 
 #print Asymptotics.isLittleO_iff_exists_eq_mul /-
@@ -2499,7 +2499,7 @@ theorem isLittleO_iff_exists_eq_mul :
 #align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mul
 -/
 
-alias is_o_iff_exists_eq_mul ↔ is_o.exists_eq_mul _
+alias ⟨is_o.exists_eq_mul, _⟩ := is_o_iff_exists_eq_mul
 #align asymptotics.is_o.exists_eq_mul Asymptotics.IsLittleO.exists_eq_mul
 
 end ExistsMulEq
Diff
@@ -2733,7 +2733,7 @@ open Asymptotics
 theorem summable_of_isBigO {ι E} [NormedAddCommGroup E] [CompleteSpace E] {f : ι → E} {g : ι → ℝ}
     (hg : Summable g) (h : f =O[cofinite] g) : Summable f :=
   let ⟨C, hC⟩ := h.IsBigOWith
-  summable_of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.mul_left _) hC.bound
+  summable_of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.hMul_left _) hC.bound
 #align summable_of_is_O summable_of_isBigO
 -/
 
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2019 Jeremy Avigad. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jeremy Avigad, Yury Kudryashov
-
-! This file was ported from Lean 3 source module analysis.asymptotics.asymptotics
-! leanprover-community/mathlib commit 9a48a083b390d9b84a71efbdc4e8dfa26a687104
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.Normed.Group.InfiniteSum
 import Mathbin.Analysis.NormedSpace.Basic
 import Mathbin.Topology.Algebra.Order.LiminfLimsup
 import Mathbin.Topology.LocalHomeomorph
 
+#align_import analysis.asymptotics.asymptotics from "leanprover-community/mathlib"@"9a48a083b390d9b84a71efbdc4e8dfa26a687104"
+
 /-!
 # Asymptotics
 
Diff
@@ -94,9 +94,11 @@ irreducible_def IsBigOWith (c : ℝ) (l : Filter α) (f : α → E) (g : α →
 #align asymptotics.is_O_with Asymptotics.IsBigOWith
 -/
 
+#print Asymptotics.isBigOWith_iff /-
 /-- Definition of `is_O_with`. We record it in a lemma as `is_O_with` is irreducible. -/
 theorem isBigOWith_iff : IsBigOWith c l f g ↔ ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by rw [is_O_with]
 #align asymptotics.is_O_with_iff Asymptotics.isBigOWith_iff
+-/
 
 alias is_O_with_iff ↔ is_O_with.bound is_O_with.of_bound
 #align asymptotics.is_O_with.bound Asymptotics.IsBigOWith.bound
@@ -112,31 +114,40 @@ irreducible_def IsBigO (l : Filter α) (f : α → E) (g : α → F) : Prop :=
 #align asymptotics.is_O Asymptotics.IsBigO
 -/
 
--- mathport name: «expr =O[ ] »
 notation:100 f " =O[" l "] " g:100 => IsBigO l f g
 
+#print Asymptotics.isBigO_iff_isBigOWith /-
 /-- Definition of `is_O` in terms of `is_O_with`. We record it in a lemma as `is_O` is
 irreducible. -/
 theorem isBigO_iff_isBigOWith : f =O[l] g ↔ ∃ c : ℝ, IsBigOWith c l f g := by rw [is_O]
 #align asymptotics.is_O_iff_is_O_with Asymptotics.isBigO_iff_isBigOWith
+-/
 
+#print Asymptotics.isBigO_iff /-
 /-- Definition of `is_O` in terms of filters. We record it in a lemma as we will set
 `is_O` to be irreducible at the end of this file. -/
 theorem isBigO_iff : f =O[l] g ↔ ∃ c : ℝ, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by
   simp only [is_O, is_O_with]
 #align asymptotics.is_O_iff Asymptotics.isBigO_iff
+-/
 
+#print Asymptotics.IsBigO.of_bound /-
 theorem IsBigO.of_bound (c : ℝ) (h : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
   isBigO_iff.2 ⟨c, h⟩
 #align asymptotics.is_O.of_bound Asymptotics.IsBigO.of_bound
+-/
 
+#print Asymptotics.IsBigO.of_bound' /-
 theorem IsBigO.of_bound' (h : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖) : f =O[l] g :=
   IsBigO.of_bound 1 <| by simp_rw [one_mul]; exact h
 #align asymptotics.is_O.of_bound' Asymptotics.IsBigO.of_bound'
+-/
 
+#print Asymptotics.IsBigO.bound /-
 theorem IsBigO.bound : f =O[l] g → ∃ c : ℝ, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
   isBigO_iff.1
 #align asymptotics.is_O.bound Asymptotics.IsBigO.bound
+-/
 
 #print Asymptotics.IsLittleO /-
 /-- The Landau notation `f =o[l] g` where `f` and `g` are two functions on a type `α` and `l` is
@@ -148,57 +159,73 @@ irreducible_def IsLittleO (l : Filter α) (f : α → E) (g : α → F) : Prop :
 #align asymptotics.is_o Asymptotics.IsLittleO
 -/
 
--- mathport name: «expr =o[ ] »
 notation:100 f " =o[" l "] " g:100 => IsLittleO l f g
 
+#print Asymptotics.isLittleO_iff_forall_isBigOWith /-
 /-- Definition of `is_o` in terms of `is_O_with`. We record it in a lemma as we will set
 `is_o` to be irreducible at the end of this file. -/
 theorem isLittleO_iff_forall_isBigOWith : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l f g := by
   rw [is_o]
 #align asymptotics.is_o_iff_forall_is_O_with Asymptotics.isLittleO_iff_forall_isBigOWith
+-/
 
 alias is_o_iff_forall_is_O_with ↔ is_o.forall_is_O_with is_o.of_is_O_with
 #align asymptotics.is_o.forall_is_O_with Asymptotics.IsLittleO.forall_isBigOWith
 #align asymptotics.is_o.of_is_O_with Asymptotics.IsLittleO.of_isBigOWith
 
+#print Asymptotics.isLittleO_iff /-
 /-- Definition of `is_o` in terms of filters. We record it in a lemma as we will set
 `is_o` to be irreducible at the end of this file. -/
 theorem isLittleO_iff : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by
   simp only [is_o, is_O_with]
 #align asymptotics.is_o_iff Asymptotics.isLittleO_iff
+-/
 
 alias is_o_iff ↔ is_o.bound is_o.of_bound
 #align asymptotics.is_o.bound Asymptotics.IsLittleO.bound
 #align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_bound
 
+#print Asymptotics.IsLittleO.def /-
 theorem IsLittleO.def (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
   isLittleO_iff.1 h hc
 #align asymptotics.is_o.def Asymptotics.IsLittleO.def
+-/
 
+#print Asymptotics.IsLittleO.def' /-
 theorem IsLittleO.def' (h : f =o[l] g) (hc : 0 < c) : IsBigOWith c l f g :=
   isBigOWith_iff.2 <| isLittleO_iff.1 h hc
 #align asymptotics.is_o.def' Asymptotics.IsLittleO.def'
+-/
 
 end Defs
 
 /-! ### Conversions -/
 
 
+#print Asymptotics.IsBigOWith.isBigO /-
 theorem IsBigOWith.isBigO (h : IsBigOWith c l f g) : f =O[l] g := by rw [is_O] <;> exact ⟨c, h⟩
 #align asymptotics.is_O_with.is_O Asymptotics.IsBigOWith.isBigO
+-/
 
+#print Asymptotics.IsLittleO.isBigOWith /-
 theorem IsLittleO.isBigOWith (hgf : f =o[l] g) : IsBigOWith 1 l f g :=
   hgf.def' zero_lt_one
 #align asymptotics.is_o.is_O_with Asymptotics.IsLittleO.isBigOWith
+-/
 
+#print Asymptotics.IsLittleO.isBigO /-
 theorem IsLittleO.isBigO (hgf : f =o[l] g) : f =O[l] g :=
   hgf.IsBigOWith.IsBigO
 #align asymptotics.is_o.is_O Asymptotics.IsLittleO.isBigO
+-/
 
+#print Asymptotics.IsBigO.isBigOWith /-
 theorem IsBigO.isBigOWith : f =O[l] g → ∃ c : ℝ, IsBigOWith c l f g :=
   isBigO_iff_isBigOWith.1
 #align asymptotics.is_O.is_O_with Asymptotics.IsBigO.isBigOWith
+-/
 
+#print Asymptotics.IsBigOWith.weaken /-
 theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith c' l f g' :=
   IsBigOWith.of_bound <|
     mem_of_superset h.bound fun x hx =>
@@ -206,50 +233,68 @@ theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith
         ‖f x‖ ≤ c * ‖g' x‖ := hx
         _ ≤ _ := mul_le_mul_of_nonneg_right hc (norm_nonneg _)
 #align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weaken
+-/
 
+#print Asymptotics.IsBigOWith.exists_pos /-
 theorem IsBigOWith.exists_pos (h : IsBigOWith c l f g') :
     ∃ (c' : _) (H : 0 < c'), IsBigOWith c' l f g' :=
   ⟨max c 1, lt_of_lt_of_le zero_lt_one (le_max_right c 1), h.weaken <| le_max_left c 1⟩
 #align asymptotics.is_O_with.exists_pos Asymptotics.IsBigOWith.exists_pos
+-/
 
+#print Asymptotics.IsBigO.exists_pos /-
 theorem IsBigO.exists_pos (h : f =O[l] g') : ∃ (c : _) (H : 0 < c), IsBigOWith c l f g' :=
   let ⟨c, hc⟩ := h.IsBigOWith
   hc.exists_pos
 #align asymptotics.is_O.exists_pos Asymptotics.IsBigO.exists_pos
+-/
 
+#print Asymptotics.IsBigOWith.exists_nonneg /-
 theorem IsBigOWith.exists_nonneg (h : IsBigOWith c l f g') :
     ∃ (c' : _) (H : 0 ≤ c'), IsBigOWith c' l f g' :=
   let ⟨c, cpos, hc⟩ := h.exists_pos
   ⟨c, le_of_lt cpos, hc⟩
 #align asymptotics.is_O_with.exists_nonneg Asymptotics.IsBigOWith.exists_nonneg
+-/
 
+#print Asymptotics.IsBigO.exists_nonneg /-
 theorem IsBigO.exists_nonneg (h : f =O[l] g') : ∃ (c : _) (H : 0 ≤ c), IsBigOWith c l f g' :=
   let ⟨c, hc⟩ := h.IsBigOWith
   hc.exists_nonneg
 #align asymptotics.is_O.exists_nonneg Asymptotics.IsBigO.exists_nonneg
+-/
 
+#print Asymptotics.isBigO_iff_eventually_isBigOWith /-
 /-- `f = O(g)` if and only if `is_O_with c f g` for all sufficiently large `c`. -/
 theorem isBigO_iff_eventually_isBigOWith : f =O[l] g' ↔ ∀ᶠ c in atTop, IsBigOWith c l f g' :=
   isBigO_iff_isBigOWith.trans
     ⟨fun ⟨c, hc⟩ => mem_atTop_sets.2 ⟨c, fun c' hc' => hc.weaken hc'⟩, fun h => h.exists⟩
 #align asymptotics.is_O_iff_eventually_is_O_with Asymptotics.isBigO_iff_eventually_isBigOWith
+-/
 
+#print Asymptotics.isBigO_iff_eventually /-
 /-- `f = O(g)` if and only if `∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖` for all sufficiently large `c`. -/
 theorem isBigO_iff_eventually : f =O[l] g' ↔ ∀ᶠ c in atTop, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g' x‖ :=
   isBigO_iff_eventually_isBigOWith.trans <| by simp only [is_O_with]
 #align asymptotics.is_O_iff_eventually Asymptotics.isBigO_iff_eventually
+-/
 
+#print Asymptotics.IsBigO.exists_mem_basis /-
 theorem IsBigO.exists_mem_basis {ι} {p : ι → Prop} {s : ι → Set α} (h : f =O[l] g')
     (hb : l.HasBasis p s) :
     ∃ (c : ℝ) (hc : 0 < c) (i : ι) (hi : p i), ∀ x ∈ s i, ‖f x‖ ≤ c * ‖g' x‖ :=
   flip Exists₂.imp h.exists_pos fun c hc h => by
     simpa only [is_O_with_iff, hb.eventually_iff, exists_prop] using h
 #align asymptotics.is_O.exists_mem_basis Asymptotics.IsBigO.exists_mem_basis
+-/
 
+#print Asymptotics.isBigOWith_inv /-
 theorem isBigOWith_inv (hc : 0 < c) : IsBigOWith c⁻¹ l f g ↔ ∀ᶠ x in l, c * ‖f x‖ ≤ ‖g x‖ := by
   simp only [is_O_with, ← div_eq_inv_mul, le_div_iff' hc]
 #align asymptotics.is_O_with_inv Asymptotics.isBigOWith_inv
+-/
 
+#print Asymptotics.isLittleO_iff_nat_mul_le_aux /-
 -- We prove this lemma with strange assumptions to get two lemmas below automatically
 theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x, 0 ≤ ‖g x‖) :
     f =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f x‖ ≤ ‖g x‖ :=
@@ -270,27 +315,36 @@ theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x,
     refine' h₀.elim (fun hf => nonneg_of_mul_nonneg_right ((hf x).trans hfg) _) fun h => h x
     exact inv_pos.2 hn₀
 #align asymptotics.is_o_iff_nat_mul_le_aux Asymptotics.isLittleO_iff_nat_mul_le_aux
+-/
 
+#print Asymptotics.isLittleO_iff_nat_mul_le /-
 theorem isLittleO_iff_nat_mul_le : f =o[l] g' ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f x‖ ≤ ‖g' x‖ :=
   isLittleO_iff_nat_mul_le_aux (Or.inr fun x => norm_nonneg _)
 #align asymptotics.is_o_iff_nat_mul_le Asymptotics.isLittleO_iff_nat_mul_le
+-/
 
+#print Asymptotics.isLittleO_iff_nat_mul_le' /-
 theorem isLittleO_iff_nat_mul_le' : f' =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f' x‖ ≤ ‖g x‖ :=
   isLittleO_iff_nat_mul_le_aux (Or.inl fun x => norm_nonneg _)
 #align asymptotics.is_o_iff_nat_mul_le' Asymptotics.isLittleO_iff_nat_mul_le'
+-/
 
 /-! ### Subsingleton -/
 
 
+#print Asymptotics.isLittleO_of_subsingleton /-
 @[nontriviality]
 theorem isLittleO_of_subsingleton [Subsingleton E'] : f' =o[l] g' :=
   IsLittleO.of_bound fun c hc => by simp [Subsingleton.elim (f' _) 0, mul_nonneg hc.le]
 #align asymptotics.is_o_of_subsingleton Asymptotics.isLittleO_of_subsingleton
+-/
 
+#print Asymptotics.isBigO_of_subsingleton /-
 @[nontriviality]
 theorem isBigO_of_subsingleton [Subsingleton E'] : f' =O[l] g' :=
   isLittleO_of_subsingleton.IsBigO
 #align asymptotics.is_O_of_subsingleton Asymptotics.isBigO_of_subsingleton
+-/
 
 section congr
 
@@ -299,6 +353,7 @@ variable {f₁ f₂ : α → E} {g₁ g₂ : α → F}
 /-! ### Congruence -/
 
 
+#print Asymptotics.isBigOWith_congr /-
 theorem isBigOWith_congr (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
     IsBigOWith c₁ l f₁ g₁ ↔ IsBigOWith c₂ l f₂ g₂ :=
   by
@@ -308,145 +363,203 @@ theorem isBigOWith_congr (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁
   filter_upwards [hf, hg] with _ e₁ e₂
   rw [e₁, e₂]
 #align asymptotics.is_O_with_congr Asymptotics.isBigOWith_congr
+-/
 
+#print Asymptotics.IsBigOWith.congr' /-
 theorem IsBigOWith.congr' (h : IsBigOWith c₁ l f₁ g₁) (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂)
     (hg : g₁ =ᶠ[l] g₂) : IsBigOWith c₂ l f₂ g₂ :=
   (isBigOWith_congr hc hf hg).mp h
 #align asymptotics.is_O_with.congr' Asymptotics.IsBigOWith.congr'
+-/
 
+#print Asymptotics.IsBigOWith.congr /-
 theorem IsBigOWith.congr (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₂ :=
   h.congr' hc (univ_mem' hf) (univ_mem' hg)
 #align asymptotics.is_O_with.congr Asymptotics.IsBigOWith.congr
+-/
 
+#print Asymptotics.IsBigOWith.congr_left /-
 theorem IsBigOWith.congr_left (h : IsBigOWith c l f₁ g) (hf : ∀ x, f₁ x = f₂ x) :
     IsBigOWith c l f₂ g :=
   h.congr rfl hf fun _ => rfl
 #align asymptotics.is_O_with.congr_left Asymptotics.IsBigOWith.congr_left
+-/
 
+#print Asymptotics.IsBigOWith.congr_right /-
 theorem IsBigOWith.congr_right (h : IsBigOWith c l f g₁) (hg : ∀ x, g₁ x = g₂ x) :
     IsBigOWith c l f g₂ :=
   h.congr rfl (fun _ => rfl) hg
 #align asymptotics.is_O_with.congr_right Asymptotics.IsBigOWith.congr_right
+-/
 
+#print Asymptotics.IsBigOWith.congr_const /-
 theorem IsBigOWith.congr_const (h : IsBigOWith c₁ l f g) (hc : c₁ = c₂) : IsBigOWith c₂ l f g :=
   h.congr hc (fun _ => rfl) fun _ => rfl
 #align asymptotics.is_O_with.congr_const Asymptotics.IsBigOWith.congr_const
+-/
 
+#print Asymptotics.isBigO_congr /-
 theorem isBigO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =O[l] g₁ ↔ f₂ =O[l] g₂ := by
   unfold is_O; exact exists_congr fun c => is_O_with_congr rfl hf hg
 #align asymptotics.is_O_congr Asymptotics.isBigO_congr
+-/
 
+#print Asymptotics.IsBigO.congr' /-
 theorem IsBigO.congr' (h : f₁ =O[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₂ =O[l] g₂ :=
   (isBigO_congr hf hg).mp h
 #align asymptotics.is_O.congr' Asymptotics.IsBigO.congr'
+-/
 
+#print Asymptotics.IsBigO.congr /-
 theorem IsBigO.congr (h : f₁ =O[l] g₁) (hf : ∀ x, f₁ x = f₂ x) (hg : ∀ x, g₁ x = g₂ x) :
     f₂ =O[l] g₂ :=
   h.congr' (univ_mem' hf) (univ_mem' hg)
 #align asymptotics.is_O.congr Asymptotics.IsBigO.congr
+-/
 
+#print Asymptotics.IsBigO.congr_left /-
 theorem IsBigO.congr_left (h : f₁ =O[l] g) (hf : ∀ x, f₁ x = f₂ x) : f₂ =O[l] g :=
   h.congr hf fun _ => rfl
 #align asymptotics.is_O.congr_left Asymptotics.IsBigO.congr_left
+-/
 
+#print Asymptotics.IsBigO.congr_right /-
 theorem IsBigO.congr_right (h : f =O[l] g₁) (hg : ∀ x, g₁ x = g₂ x) : f =O[l] g₂ :=
   h.congr (fun _ => rfl) hg
 #align asymptotics.is_O.congr_right Asymptotics.IsBigO.congr_right
+-/
 
+#print Asymptotics.isLittleO_congr /-
 theorem isLittleO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =o[l] g₁ ↔ f₂ =o[l] g₂ := by
   unfold is_o; exact forall₂_congr fun c hc => is_O_with_congr (Eq.refl c) hf hg
 #align asymptotics.is_o_congr Asymptotics.isLittleO_congr
+-/
 
+#print Asymptotics.IsLittleO.congr' /-
 theorem IsLittleO.congr' (h : f₁ =o[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₂ =o[l] g₂ :=
   (isLittleO_congr hf hg).mp h
 #align asymptotics.is_o.congr' Asymptotics.IsLittleO.congr'
+-/
 
+#print Asymptotics.IsLittleO.congr /-
 theorem IsLittleO.congr (h : f₁ =o[l] g₁) (hf : ∀ x, f₁ x = f₂ x) (hg : ∀ x, g₁ x = g₂ x) :
     f₂ =o[l] g₂ :=
   h.congr' (univ_mem' hf) (univ_mem' hg)
 #align asymptotics.is_o.congr Asymptotics.IsLittleO.congr
+-/
 
+#print Asymptotics.IsLittleO.congr_left /-
 theorem IsLittleO.congr_left (h : f₁ =o[l] g) (hf : ∀ x, f₁ x = f₂ x) : f₂ =o[l] g :=
   h.congr hf fun _ => rfl
 #align asymptotics.is_o.congr_left Asymptotics.IsLittleO.congr_left
+-/
 
+#print Asymptotics.IsLittleO.congr_right /-
 theorem IsLittleO.congr_right (h : f =o[l] g₁) (hg : ∀ x, g₁ x = g₂ x) : f =o[l] g₂ :=
   h.congr (fun _ => rfl) hg
 #align asymptotics.is_o.congr_right Asymptotics.IsLittleO.congr_right
+-/
 
+#print Filter.EventuallyEq.trans_isBigO /-
 @[trans]
 theorem Filter.EventuallyEq.trans_isBigO {f₁ f₂ : α → E} {g : α → F} (hf : f₁ =ᶠ[l] f₂)
     (h : f₂ =O[l] g) : f₁ =O[l] g :=
   h.congr' hf.symm EventuallyEq.rfl
 #align filter.eventually_eq.trans_is_O Filter.EventuallyEq.trans_isBigO
+-/
 
+#print Filter.EventuallyEq.trans_isLittleO /-
 @[trans]
 theorem Filter.EventuallyEq.trans_isLittleO {f₁ f₂ : α → E} {g : α → F} (hf : f₁ =ᶠ[l] f₂)
     (h : f₂ =o[l] g) : f₁ =o[l] g :=
   h.congr' hf.symm EventuallyEq.rfl
 #align filter.eventually_eq.trans_is_o Filter.EventuallyEq.trans_isLittleO
+-/
 
+#print Asymptotics.IsBigO.trans_eventuallyEq /-
 @[trans]
 theorem IsBigO.trans_eventuallyEq {f : α → E} {g₁ g₂ : α → F} (h : f =O[l] g₁) (hg : g₁ =ᶠ[l] g₂) :
     f =O[l] g₂ :=
   h.congr' EventuallyEq.rfl hg
 #align asymptotics.is_O.trans_eventually_eq Asymptotics.IsBigO.trans_eventuallyEq
+-/
 
+#print Asymptotics.IsLittleO.trans_eventuallyEq /-
 @[trans]
 theorem IsLittleO.trans_eventuallyEq {f : α → E} {g₁ g₂ : α → F} (h : f =o[l] g₁)
     (hg : g₁ =ᶠ[l] g₂) : f =o[l] g₂ :=
   h.congr' EventuallyEq.rfl hg
 #align asymptotics.is_o.trans_eventually_eq Asymptotics.IsLittleO.trans_eventuallyEq
+-/
 
 end congr
 
 /-! ### Filter operations and transitivity -/
 
 
+#print Asymptotics.IsBigOWith.comp_tendsto /-
 theorem IsBigOWith.comp_tendsto (hcfg : IsBigOWith c l f g) {k : β → α} {l' : Filter β}
     (hk : Tendsto k l' l) : IsBigOWith c l' (f ∘ k) (g ∘ k) :=
   IsBigOWith.of_bound <| hk hcfg.bound
 #align asymptotics.is_O_with.comp_tendsto Asymptotics.IsBigOWith.comp_tendsto
+-/
 
+#print Asymptotics.IsBigO.comp_tendsto /-
 theorem IsBigO.comp_tendsto (hfg : f =O[l] g) {k : β → α} {l' : Filter β} (hk : Tendsto k l' l) :
     (f ∘ k) =O[l'] (g ∘ k) :=
   isBigO_iff_isBigOWith.2 <| hfg.IsBigOWith.imp fun c h => h.comp_tendsto hk
 #align asymptotics.is_O.comp_tendsto Asymptotics.IsBigO.comp_tendsto
+-/
 
+#print Asymptotics.IsLittleO.comp_tendsto /-
 theorem IsLittleO.comp_tendsto (hfg : f =o[l] g) {k : β → α} {l' : Filter β} (hk : Tendsto k l' l) :
     (f ∘ k) =o[l'] (g ∘ k) :=
   IsLittleO.of_isBigOWith fun c cpos => (hfg.forall_isBigOWith cpos).comp_tendsto hk
 #align asymptotics.is_o.comp_tendsto Asymptotics.IsLittleO.comp_tendsto
+-/
 
+#print Asymptotics.isBigOWith_map /-
 @[simp]
 theorem isBigOWith_map {k : β → α} {l : Filter β} :
     IsBigOWith c (map k l) f g ↔ IsBigOWith c l (f ∘ k) (g ∘ k) := by unfold is_O_with;
   exact eventually_map
 #align asymptotics.is_O_with_map Asymptotics.isBigOWith_map
+-/
 
+#print Asymptotics.isBigO_map /-
 @[simp]
 theorem isBigO_map {k : β → α} {l : Filter β} : f =O[map k l] g ↔ (f ∘ k) =O[l] (g ∘ k) := by
   simp only [is_O, is_O_with_map]
 #align asymptotics.is_O_map Asymptotics.isBigO_map
+-/
 
+#print Asymptotics.isLittleO_map /-
 @[simp]
 theorem isLittleO_map {k : β → α} {l : Filter β} : f =o[map k l] g ↔ (f ∘ k) =o[l] (g ∘ k) := by
   simp only [is_o, is_O_with_map]
 #align asymptotics.is_o_map Asymptotics.isLittleO_map
+-/
 
+#print Asymptotics.IsBigOWith.mono /-
 theorem IsBigOWith.mono (h : IsBigOWith c l' f g) (hl : l ≤ l') : IsBigOWith c l f g :=
   IsBigOWith.of_bound <| hl h.bound
 #align asymptotics.is_O_with.mono Asymptotics.IsBigOWith.mono
+-/
 
+#print Asymptotics.IsBigO.mono /-
 theorem IsBigO.mono (h : f =O[l'] g) (hl : l ≤ l') : f =O[l] g :=
   isBigO_iff_isBigOWith.2 <| h.IsBigOWith.imp fun c h => h.mono hl
 #align asymptotics.is_O.mono Asymptotics.IsBigO.mono
+-/
 
+#print Asymptotics.IsLittleO.mono /-
 theorem IsLittleO.mono (h : f =o[l'] g) (hl : l ≤ l') : f =o[l] g :=
   IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).mono hl
 #align asymptotics.is_o.mono Asymptotics.IsLittleO.mono
+-/
 
+#print Asymptotics.IsBigOWith.trans /-
 theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k) (hc : 0 ≤ c) :
     IsBigOWith (c * c') l f k := by
   unfold is_O_with at *
@@ -456,7 +569,9 @@ theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k)
     _ ≤ c * (c' * ‖k x‖) := (mul_le_mul_of_nonneg_left hx' hc)
     _ = c * c' * ‖k x‖ := (mul_assoc _ _ _).symm
 #align asymptotics.is_O_with.trans Asymptotics.IsBigOWith.trans
+-/
 
+#print Asymptotics.IsBigO.trans /-
 @[trans]
 theorem IsBigO.trans {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l] g) (hgk : g =O[l] k) :
     f =O[l] k :=
@@ -464,7 +579,9 @@ theorem IsBigO.trans {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l
   let ⟨c', hc'⟩ := hgk.IsBigOWith
   (hc.trans hc' cnonneg).IsBigO
 #align asymptotics.is_O.trans Asymptotics.IsBigO.trans
+-/
 
+#print Asymptotics.IsLittleO.trans_isBigOWith /-
 theorem IsLittleO.trans_isBigOWith (hfg : f =o[l] g) (hgk : IsBigOWith c l g k) (hc : 0 < c) :
     f =o[l] k := by
   unfold is_o at *
@@ -472,14 +589,18 @@ theorem IsLittleO.trans_isBigOWith (hfg : f =o[l] g) (hgk : IsBigOWith c l g k)
   have : 0 < c' / c := div_pos c'pos hc
   exact ((hfg this).trans hgk this.le).congr_const (div_mul_cancel _ hc.ne')
 #align asymptotics.is_o.trans_is_O_with Asymptotics.IsLittleO.trans_isBigOWith
+-/
 
+#print Asymptotics.IsLittleO.trans_isBigO /-
 @[trans]
 theorem IsLittleO.trans_isBigO {f : α → E} {g : α → F} {k : α → G'} (hfg : f =o[l] g)
     (hgk : g =O[l] k) : f =o[l] k :=
   let ⟨c, cpos, hc⟩ := hgk.exists_pos
   hfg.trans_isBigOWith hc cpos
 #align asymptotics.is_o.trans_is_O Asymptotics.IsLittleO.trans_isBigO
+-/
 
+#print Asymptotics.IsBigOWith.trans_isLittleO /-
 theorem IsBigOWith.trans_isLittleO (hfg : IsBigOWith c l f g) (hgk : g =o[l] k) (hc : 0 < c) :
     f =o[l] k := by
   unfold is_o at *
@@ -487,73 +608,101 @@ theorem IsBigOWith.trans_isLittleO (hfg : IsBigOWith c l f g) (hgk : g =o[l] k)
   have : 0 < c' / c := div_pos c'pos hc
   exact (hfg.trans (hgk this) hc.le).congr_const (mul_div_cancel' _ hc.ne')
 #align asymptotics.is_O_with.trans_is_o Asymptotics.IsBigOWith.trans_isLittleO
+-/
 
+#print Asymptotics.IsBigO.trans_isLittleO /-
 @[trans]
 theorem IsBigO.trans_isLittleO {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l] g)
     (hgk : g =o[l] k) : f =o[l] k :=
   let ⟨c, cpos, hc⟩ := hfg.exists_pos
   hc.trans_isLittleO hgk cpos
 #align asymptotics.is_O.trans_is_o Asymptotics.IsBigO.trans_isLittleO
+-/
 
+#print Asymptotics.IsLittleO.trans /-
 @[trans]
 theorem IsLittleO.trans {f : α → E} {g : α → F} {k : α → G} (hfg : f =o[l] g) (hgk : g =o[l] k) :
     f =o[l] k :=
   hfg.trans_isBigOWith hgk.IsBigOWith one_pos
 #align asymptotics.is_o.trans Asymptotics.IsLittleO.trans
+-/
 
+#print Filter.Eventually.trans_isBigO /-
 theorem Filter.Eventually.trans_isBigO {f : α → E} {g : α → F'} {k : α → G}
     (hfg : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖) (hgk : g =O[l] k) : f =O[l] k :=
   (IsBigO.of_bound' hfg).trans hgk
 #align filter.eventually.trans_is_O Filter.Eventually.trans_isBigO
+-/
 
+#print Filter.Eventually.isBigO /-
 theorem Filter.Eventually.isBigO {f : α → E} {g : α → ℝ} {l : Filter α}
     (hfg : ∀ᶠ x in l, ‖f x‖ ≤ g x) : f =O[l] g :=
   IsBigO.of_bound' <| hfg.mono fun x hx => hx.trans <| Real.le_norm_self _
 #align filter.eventually.is_O Filter.Eventually.isBigO
+-/
 
 section
 
 variable (l)
 
+#print Asymptotics.isBigOWith_of_le' /-
 theorem isBigOWith_of_le' (hfg : ∀ x, ‖f x‖ ≤ c * ‖g x‖) : IsBigOWith c l f g :=
   IsBigOWith.of_bound <| univ_mem' hfg
 #align asymptotics.is_O_with_of_le' Asymptotics.isBigOWith_of_le'
+-/
 
+#print Asymptotics.isBigOWith_of_le /-
 theorem isBigOWith_of_le (hfg : ∀ x, ‖f x‖ ≤ ‖g x‖) : IsBigOWith 1 l f g :=
   isBigOWith_of_le' l fun x => by rw [one_mul]; exact hfg x
 #align asymptotics.is_O_with_of_le Asymptotics.isBigOWith_of_le
+-/
 
+#print Asymptotics.isBigO_of_le' /-
 theorem isBigO_of_le' (hfg : ∀ x, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
   (isBigOWith_of_le' l hfg).IsBigO
 #align asymptotics.is_O_of_le' Asymptotics.isBigO_of_le'
+-/
 
+#print Asymptotics.isBigO_of_le /-
 theorem isBigO_of_le (hfg : ∀ x, ‖f x‖ ≤ ‖g x‖) : f =O[l] g :=
   (isBigOWith_of_le l hfg).IsBigO
 #align asymptotics.is_O_of_le Asymptotics.isBigO_of_le
+-/
 
 end
 
+#print Asymptotics.isBigOWith_refl /-
 theorem isBigOWith_refl (f : α → E) (l : Filter α) : IsBigOWith 1 l f f :=
   isBigOWith_of_le l fun _ => le_rfl
 #align asymptotics.is_O_with_refl Asymptotics.isBigOWith_refl
+-/
 
+#print Asymptotics.isBigO_refl /-
 theorem isBigO_refl (f : α → E) (l : Filter α) : f =O[l] f :=
   (isBigOWith_refl f l).IsBigO
 #align asymptotics.is_O_refl Asymptotics.isBigO_refl
+-/
 
+#print Asymptotics.IsBigOWith.trans_le /-
 theorem IsBigOWith.trans_le (hfg : IsBigOWith c l f g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x‖) (hc : 0 ≤ c) :
     IsBigOWith c l f k :=
   (hfg.trans (isBigOWith_of_le l hgk) hc).congr_const <| mul_one c
 #align asymptotics.is_O_with.trans_le Asymptotics.IsBigOWith.trans_le
+-/
 
+#print Asymptotics.IsBigO.trans_le /-
 theorem IsBigO.trans_le (hfg : f =O[l] g') (hgk : ∀ x, ‖g' x‖ ≤ ‖k x‖) : f =O[l] k :=
   hfg.trans (isBigO_of_le l hgk)
 #align asymptotics.is_O.trans_le Asymptotics.IsBigO.trans_le
+-/
 
+#print Asymptotics.IsLittleO.trans_le /-
 theorem IsLittleO.trans_le (hfg : f =o[l] g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x‖) : f =o[l] k :=
   hfg.trans_isBigOWith (isBigOWith_of_le _ hgk) zero_lt_one
 #align asymptotics.is_o.trans_le Asymptotics.IsLittleO.trans_le
+-/
 
+#print Asymptotics.isLittleO_irrefl' /-
 theorem isLittleO_irrefl' (h : ∃ᶠ x in l, ‖f' x‖ ≠ 0) : ¬f' =o[l] f' :=
   by
   intro ho
@@ -561,87 +710,119 @@ theorem isLittleO_irrefl' (h : ∃ᶠ x in l, ‖f' x‖ ≠ 0) : ¬f' =o[l] f'
   rw [one_div, ← div_eq_inv_mul] at hle 
   exact (half_lt_self (lt_of_le_of_ne (norm_nonneg _) hne.symm)).not_le hle
 #align asymptotics.is_o_irrefl' Asymptotics.isLittleO_irrefl'
+-/
 
+#print Asymptotics.isLittleO_irrefl /-
 theorem isLittleO_irrefl (h : ∃ᶠ x in l, f'' x ≠ 0) : ¬f'' =o[l] f'' :=
   isLittleO_irrefl' <| h.mono fun x => norm_ne_zero_iff.mpr
 #align asymptotics.is_o_irrefl Asymptotics.isLittleO_irrefl
+-/
 
+#print Asymptotics.IsBigO.not_isLittleO /-
 theorem IsBigO.not_isLittleO (h : f'' =O[l] g') (hf : ∃ᶠ x in l, f'' x ≠ 0) : ¬g' =o[l] f'' :=
   fun h' => isLittleO_irrefl hf (h.trans_isLittleO h')
 #align asymptotics.is_O.not_is_o Asymptotics.IsBigO.not_isLittleO
+-/
 
+#print Asymptotics.IsLittleO.not_isBigO /-
 theorem IsLittleO.not_isBigO (h : f'' =o[l] g') (hf : ∃ᶠ x in l, f'' x ≠ 0) : ¬g' =O[l] f'' :=
   fun h' => isLittleO_irrefl hf (h.trans_isBigO h')
 #align asymptotics.is_o.not_is_O Asymptotics.IsLittleO.not_isBigO
+-/
 
 section Bot
 
 variable (c f g)
 
+#print Asymptotics.isBigOWith_bot /-
 @[simp]
 theorem isBigOWith_bot : IsBigOWith c ⊥ f g :=
   IsBigOWith.of_bound <| trivial
 #align asymptotics.is_O_with_bot Asymptotics.isBigOWith_bot
+-/
 
+#print Asymptotics.isBigO_bot /-
 @[simp]
 theorem isBigO_bot : f =O[⊥] g :=
   (isBigOWith_bot 1 f g).IsBigO
 #align asymptotics.is_O_bot Asymptotics.isBigO_bot
+-/
 
+#print Asymptotics.isLittleO_bot /-
 @[simp]
 theorem isLittleO_bot : f =o[⊥] g :=
   IsLittleO.of_isBigOWith fun c _ => isBigOWith_bot c f g
 #align asymptotics.is_o_bot Asymptotics.isLittleO_bot
+-/
 
 end Bot
 
+#print Asymptotics.isBigOWith_pure /-
 @[simp]
 theorem isBigOWith_pure {x} : IsBigOWith c (pure x) f g ↔ ‖f x‖ ≤ c * ‖g x‖ :=
   isBigOWith_iff
 #align asymptotics.is_O_with_pure Asymptotics.isBigOWith_pure
+-/
 
+#print Asymptotics.IsBigOWith.sup /-
 theorem IsBigOWith.sup (h : IsBigOWith c l f g) (h' : IsBigOWith c l' f g) :
     IsBigOWith c (l ⊔ l') f g :=
   IsBigOWith.of_bound <| mem_sup.2 ⟨h.bound, h'.bound⟩
 #align asymptotics.is_O_with.sup Asymptotics.IsBigOWith.sup
+-/
 
+#print Asymptotics.IsBigOWith.sup' /-
 theorem IsBigOWith.sup' (h : IsBigOWith c l f g') (h' : IsBigOWith c' l' f g') :
     IsBigOWith (max c c') (l ⊔ l') f g' :=
   IsBigOWith.of_bound <|
     mem_sup.2 ⟨(h.weaken <| le_max_left c c').bound, (h'.weaken <| le_max_right c c').bound⟩
 #align asymptotics.is_O_with.sup' Asymptotics.IsBigOWith.sup'
+-/
 
+#print Asymptotics.IsBigO.sup /-
 theorem IsBigO.sup (h : f =O[l] g') (h' : f =O[l'] g') : f =O[l ⊔ l'] g' :=
   let ⟨c, hc⟩ := h.IsBigOWith
   let ⟨c', hc'⟩ := h'.IsBigOWith
   (hc.sup' hc').IsBigO
 #align asymptotics.is_O.sup Asymptotics.IsBigO.sup
+-/
 
+#print Asymptotics.IsLittleO.sup /-
 theorem IsLittleO.sup (h : f =o[l] g) (h' : f =o[l'] g) : f =o[l ⊔ l'] g :=
   IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).sup (h'.forall_isBigOWith cpos)
 #align asymptotics.is_o.sup Asymptotics.IsLittleO.sup
+-/
 
+#print Asymptotics.isBigO_sup /-
 @[simp]
 theorem isBigO_sup : f =O[l ⊔ l'] g' ↔ f =O[l] g' ∧ f =O[l'] g' :=
   ⟨fun h => ⟨h.mono le_sup_left, h.mono le_sup_right⟩, fun h => h.1.sup h.2⟩
 #align asymptotics.is_O_sup Asymptotics.isBigO_sup
+-/
 
+#print Asymptotics.isLittleO_sup /-
 @[simp]
 theorem isLittleO_sup : f =o[l ⊔ l'] g ↔ f =o[l] g ∧ f =o[l'] g :=
   ⟨fun h => ⟨h.mono le_sup_left, h.mono le_sup_right⟩, fun h => h.1.sup h.2⟩
 #align asymptotics.is_o_sup Asymptotics.isLittleO_sup
+-/
 
+#print Asymptotics.isBigOWith_insert /-
 theorem isBigOWith_insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
     (h : ‖g x‖ ≤ C * ‖g' x‖) : IsBigOWith C (𝓝[insert x s] x) g g' ↔ IsBigOWith C (𝓝[s] x) g g' :=
   by simp_rw [is_O_with, nhdsWithin_insert, eventually_sup, eventually_pure, h, true_and_iff]
 #align asymptotics.is_O_with_insert Asymptotics.isBigOWith_insert
+-/
 
+#print Asymptotics.IsBigOWith.insert /-
 theorem IsBigOWith.insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
     (h1 : IsBigOWith C (𝓝[s] x) g g') (h2 : ‖g x‖ ≤ C * ‖g' x‖) :
     IsBigOWith C (𝓝[insert x s] x) g g' :=
   (isBigOWith_insert h2).mpr h1
 #align asymptotics.is_O_with.insert Asymptotics.IsBigOWith.insert
+-/
 
+#print Asymptotics.isLittleO_insert /-
 theorem isLittleO_insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'} {g' : α → F'}
     (h : g x = 0) : g =o[𝓝[insert x s] x] g' ↔ g =o[𝓝[s] x] g' :=
   by
@@ -651,11 +832,14 @@ theorem isLittleO_insert [TopologicalSpace α] {x : α} {s : Set α} {g : α →
   rw [h, norm_zero]
   exact mul_nonneg hc.le (norm_nonneg _)
 #align asymptotics.is_o_insert Asymptotics.isLittleO_insert
+-/
 
+#print Asymptotics.IsLittleO.insert /-
 theorem IsLittleO.insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'} {g' : α → F'}
     (h1 : g =o[𝓝[s] x] g') (h2 : g x = 0) : g =o[𝓝[insert x s] x] g' :=
   (isLittleO_insert h2).mpr h1
 #align asymptotics.is_o.insert Asymptotics.IsLittleO.insert
+-/
 
 /-! ### Simplification : norm, abs -/
 
@@ -664,15 +848,19 @@ section NormAbs
 
 variable {u v : α → ℝ}
 
+#print Asymptotics.isBigOWith_norm_right /-
 @[simp]
 theorem isBigOWith_norm_right : (IsBigOWith c l f fun x => ‖g' x‖) ↔ IsBigOWith c l f g' := by
   simp only [is_O_with, norm_norm]
 #align asymptotics.is_O_with_norm_right Asymptotics.isBigOWith_norm_right
+-/
 
+#print Asymptotics.isBigOWith_abs_right /-
 @[simp]
 theorem isBigOWith_abs_right : (IsBigOWith c l f fun x => |u x|) ↔ IsBigOWith c l f u :=
   @isBigOWith_norm_right _ _ _ _ _ _ f u l
 #align asymptotics.is_O_with_abs_right Asymptotics.isBigOWith_abs_right
+-/
 
 alias is_O_with_norm_right ↔ is_O_with.of_norm_right is_O_with.norm_right
 #align asymptotics.is_O_with.of_norm_right Asymptotics.IsBigOWith.of_norm_right
@@ -682,15 +870,19 @@ alias is_O_with_abs_right ↔ is_O_with.of_abs_right is_O_with.abs_right
 #align asymptotics.is_O_with.of_abs_right Asymptotics.IsBigOWith.of_abs_right
 #align asymptotics.is_O_with.abs_right Asymptotics.IsBigOWith.abs_right
 
+#print Asymptotics.isBigO_norm_right /-
 @[simp]
 theorem isBigO_norm_right : (f =O[l] fun x => ‖g' x‖) ↔ f =O[l] g' := by unfold is_O;
   exact exists_congr fun _ => is_O_with_norm_right
 #align asymptotics.is_O_norm_right Asymptotics.isBigO_norm_right
+-/
 
+#print Asymptotics.isBigO_abs_right /-
 @[simp]
 theorem isBigO_abs_right : (f =O[l] fun x => |u x|) ↔ f =O[l] u :=
   @isBigO_norm_right _ _ ℝ _ _ _ _ _
 #align asymptotics.is_O_abs_right Asymptotics.isBigO_abs_right
+-/
 
 alias is_O_norm_right ↔ is_O.of_norm_right is_O.norm_right
 #align asymptotics.is_O.of_norm_right Asymptotics.IsBigO.of_norm_right
@@ -700,15 +892,19 @@ alias is_O_abs_right ↔ is_O.of_abs_right is_O.abs_right
 #align asymptotics.is_O.of_abs_right Asymptotics.IsBigO.of_abs_right
 #align asymptotics.is_O.abs_right Asymptotics.IsBigO.abs_right
 
+#print Asymptotics.isLittleO_norm_right /-
 @[simp]
 theorem isLittleO_norm_right : (f =o[l] fun x => ‖g' x‖) ↔ f =o[l] g' := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_norm_right
 #align asymptotics.is_o_norm_right Asymptotics.isLittleO_norm_right
+-/
 
+#print Asymptotics.isLittleO_abs_right /-
 @[simp]
 theorem isLittleO_abs_right : (f =o[l] fun x => |u x|) ↔ f =o[l] u :=
   @isLittleO_norm_right _ _ ℝ _ _ _ _ _
 #align asymptotics.is_o_abs_right Asymptotics.isLittleO_abs_right
+-/
 
 alias is_o_norm_right ↔ is_o.of_norm_right is_o.norm_right
 #align asymptotics.is_o.of_norm_right Asymptotics.IsLittleO.of_norm_right
@@ -718,15 +914,19 @@ alias is_o_abs_right ↔ is_o.of_abs_right is_o.abs_right
 #align asymptotics.is_o.of_abs_right Asymptotics.IsLittleO.of_abs_right
 #align asymptotics.is_o.abs_right Asymptotics.IsLittleO.abs_right
 
+#print Asymptotics.isBigOWith_norm_left /-
 @[simp]
 theorem isBigOWith_norm_left : IsBigOWith c l (fun x => ‖f' x‖) g ↔ IsBigOWith c l f' g := by
   simp only [is_O_with, norm_norm]
 #align asymptotics.is_O_with_norm_left Asymptotics.isBigOWith_norm_left
+-/
 
+#print Asymptotics.isBigOWith_abs_left /-
 @[simp]
 theorem isBigOWith_abs_left : IsBigOWith c l (fun x => |u x|) g ↔ IsBigOWith c l u g :=
   @isBigOWith_norm_left _ _ _ _ _ _ g u l
 #align asymptotics.is_O_with_abs_left Asymptotics.isBigOWith_abs_left
+-/
 
 alias is_O_with_norm_left ↔ is_O_with.of_norm_left is_O_with.norm_left
 #align asymptotics.is_O_with.of_norm_left Asymptotics.IsBigOWith.of_norm_left
@@ -736,15 +936,19 @@ alias is_O_with_abs_left ↔ is_O_with.of_abs_left is_O_with.abs_left
 #align asymptotics.is_O_with.of_abs_left Asymptotics.IsBigOWith.of_abs_left
 #align asymptotics.is_O_with.abs_left Asymptotics.IsBigOWith.abs_left
 
+#print Asymptotics.isBigO_norm_left /-
 @[simp]
 theorem isBigO_norm_left : (fun x => ‖f' x‖) =O[l] g ↔ f' =O[l] g := by unfold is_O;
   exact exists_congr fun _ => is_O_with_norm_left
 #align asymptotics.is_O_norm_left Asymptotics.isBigO_norm_left
+-/
 
+#print Asymptotics.isBigO_abs_left /-
 @[simp]
 theorem isBigO_abs_left : (fun x => |u x|) =O[l] g ↔ u =O[l] g :=
   @isBigO_norm_left _ _ _ _ _ g u l
 #align asymptotics.is_O_abs_left Asymptotics.isBigO_abs_left
+-/
 
 alias is_O_norm_left ↔ is_O.of_norm_left is_O.norm_left
 #align asymptotics.is_O.of_norm_left Asymptotics.IsBigO.of_norm_left
@@ -754,15 +958,19 @@ alias is_O_abs_left ↔ is_O.of_abs_left is_O.abs_left
 #align asymptotics.is_O.of_abs_left Asymptotics.IsBigO.of_abs_left
 #align asymptotics.is_O.abs_left Asymptotics.IsBigO.abs_left
 
+#print Asymptotics.isLittleO_norm_left /-
 @[simp]
 theorem isLittleO_norm_left : (fun x => ‖f' x‖) =o[l] g ↔ f' =o[l] g := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_norm_left
 #align asymptotics.is_o_norm_left Asymptotics.isLittleO_norm_left
+-/
 
+#print Asymptotics.isLittleO_abs_left /-
 @[simp]
 theorem isLittleO_abs_left : (fun x => |u x|) =o[l] g ↔ u =o[l] g :=
   @isLittleO_norm_left _ _ _ _ _ g u l
 #align asymptotics.is_o_abs_left Asymptotics.isLittleO_abs_left
+-/
 
 alias is_o_norm_left ↔ is_o.of_norm_left is_o.norm_left
 #align asymptotics.is_o.of_norm_left Asymptotics.IsLittleO.of_norm_left
@@ -772,15 +980,19 @@ alias is_o_abs_left ↔ is_o.of_abs_left is_o.abs_left
 #align asymptotics.is_o.of_abs_left Asymptotics.IsLittleO.of_abs_left
 #align asymptotics.is_o.abs_left Asymptotics.IsLittleO.abs_left
 
+#print Asymptotics.isBigOWith_norm_norm /-
 theorem isBigOWith_norm_norm :
     (IsBigOWith c l (fun x => ‖f' x‖) fun x => ‖g' x‖) ↔ IsBigOWith c l f' g' :=
   isBigOWith_norm_left.trans isBigOWith_norm_right
 #align asymptotics.is_O_with_norm_norm Asymptotics.isBigOWith_norm_norm
+-/
 
+#print Asymptotics.isBigOWith_abs_abs /-
 theorem isBigOWith_abs_abs :
     (IsBigOWith c l (fun x => |u x|) fun x => |v x|) ↔ IsBigOWith c l u v :=
   isBigOWith_abs_left.trans isBigOWith_abs_right
 #align asymptotics.is_O_with_abs_abs Asymptotics.isBigOWith_abs_abs
+-/
 
 alias is_O_with_norm_norm ↔ is_O_with.of_norm_norm is_O_with.norm_norm
 #align asymptotics.is_O_with.of_norm_norm Asymptotics.IsBigOWith.of_norm_norm
@@ -790,13 +1002,17 @@ alias is_O_with_abs_abs ↔ is_O_with.of_abs_abs is_O_with.abs_abs
 #align asymptotics.is_O_with.of_abs_abs Asymptotics.IsBigOWith.of_abs_abs
 #align asymptotics.is_O_with.abs_abs Asymptotics.IsBigOWith.abs_abs
 
+#print Asymptotics.isBigO_norm_norm /-
 theorem isBigO_norm_norm : ((fun x => ‖f' x‖) =O[l] fun x => ‖g' x‖) ↔ f' =O[l] g' :=
   isBigO_norm_left.trans isBigO_norm_right
 #align asymptotics.is_O_norm_norm Asymptotics.isBigO_norm_norm
+-/
 
+#print Asymptotics.isBigO_abs_abs /-
 theorem isBigO_abs_abs : ((fun x => |u x|) =O[l] fun x => |v x|) ↔ u =O[l] v :=
   isBigO_abs_left.trans isBigO_abs_right
 #align asymptotics.is_O_abs_abs Asymptotics.isBigO_abs_abs
+-/
 
 alias is_O_norm_norm ↔ is_O.of_norm_norm is_O.norm_norm
 #align asymptotics.is_O.of_norm_norm Asymptotics.IsBigO.of_norm_norm
@@ -806,13 +1022,17 @@ alias is_O_abs_abs ↔ is_O.of_abs_abs is_O.abs_abs
 #align asymptotics.is_O.of_abs_abs Asymptotics.IsBigO.of_abs_abs
 #align asymptotics.is_O.abs_abs Asymptotics.IsBigO.abs_abs
 
+#print Asymptotics.isLittleO_norm_norm /-
 theorem isLittleO_norm_norm : ((fun x => ‖f' x‖) =o[l] fun x => ‖g' x‖) ↔ f' =o[l] g' :=
   isLittleO_norm_left.trans isLittleO_norm_right
 #align asymptotics.is_o_norm_norm Asymptotics.isLittleO_norm_norm
+-/
 
+#print Asymptotics.isLittleO_abs_abs /-
 theorem isLittleO_abs_abs : ((fun x => |u x|) =o[l] fun x => |v x|) ↔ u =o[l] v :=
   isLittleO_abs_left.trans isLittleO_abs_right
 #align asymptotics.is_o_abs_abs Asymptotics.isLittleO_abs_abs
+-/
 
 alias is_o_norm_norm ↔ is_o.of_norm_norm is_o.norm_norm
 #align asymptotics.is_o.of_norm_norm Asymptotics.IsLittleO.of_norm_norm
@@ -827,55 +1047,67 @@ end NormAbs
 /-! ### Simplification: negate -/
 
 
+#print Asymptotics.isBigOWith_neg_right /-
 @[simp]
 theorem isBigOWith_neg_right : (IsBigOWith c l f fun x => -g' x) ↔ IsBigOWith c l f g' := by
   simp only [is_O_with, norm_neg]
 #align asymptotics.is_O_with_neg_right Asymptotics.isBigOWith_neg_right
+-/
 
 alias is_O_with_neg_right ↔ is_O_with.of_neg_right is_O_with.neg_right
 #align asymptotics.is_O_with.of_neg_right Asymptotics.IsBigOWith.of_neg_right
 #align asymptotics.is_O_with.neg_right Asymptotics.IsBigOWith.neg_right
 
+#print Asymptotics.isBigO_neg_right /-
 @[simp]
 theorem isBigO_neg_right : (f =O[l] fun x => -g' x) ↔ f =O[l] g' := by unfold is_O;
   exact exists_congr fun _ => is_O_with_neg_right
 #align asymptotics.is_O_neg_right Asymptotics.isBigO_neg_right
+-/
 
 alias is_O_neg_right ↔ is_O.of_neg_right is_O.neg_right
 #align asymptotics.is_O.of_neg_right Asymptotics.IsBigO.of_neg_right
 #align asymptotics.is_O.neg_right Asymptotics.IsBigO.neg_right
 
+#print Asymptotics.isLittleO_neg_right /-
 @[simp]
 theorem isLittleO_neg_right : (f =o[l] fun x => -g' x) ↔ f =o[l] g' := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_neg_right
 #align asymptotics.is_o_neg_right Asymptotics.isLittleO_neg_right
+-/
 
 alias is_o_neg_right ↔ is_o.of_neg_right is_o.neg_right
 #align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_right
 #align asymptotics.is_o.neg_right Asymptotics.IsLittleO.neg_right
 
+#print Asymptotics.isBigOWith_neg_left /-
 @[simp]
 theorem isBigOWith_neg_left : IsBigOWith c l (fun x => -f' x) g ↔ IsBigOWith c l f' g := by
   simp only [is_O_with, norm_neg]
 #align asymptotics.is_O_with_neg_left Asymptotics.isBigOWith_neg_left
+-/
 
 alias is_O_with_neg_left ↔ is_O_with.of_neg_left is_O_with.neg_left
 #align asymptotics.is_O_with.of_neg_left Asymptotics.IsBigOWith.of_neg_left
 #align asymptotics.is_O_with.neg_left Asymptotics.IsBigOWith.neg_left
 
+#print Asymptotics.isBigO_neg_left /-
 @[simp]
 theorem isBigO_neg_left : (fun x => -f' x) =O[l] g ↔ f' =O[l] g := by unfold is_O;
   exact exists_congr fun _ => is_O_with_neg_left
 #align asymptotics.is_O_neg_left Asymptotics.isBigO_neg_left
+-/
 
 alias is_O_neg_left ↔ is_O.of_neg_left is_O.neg_left
 #align asymptotics.is_O.of_neg_left Asymptotics.IsBigO.of_neg_left
 #align asymptotics.is_O.neg_left Asymptotics.IsBigO.neg_left
 
+#print Asymptotics.isLittleO_neg_left /-
 @[simp]
 theorem isLittleO_neg_left : (fun x => -f' x) =o[l] g ↔ f' =o[l] g := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_neg_left
 #align asymptotics.is_o_neg_left Asymptotics.isLittleO_neg_left
+-/
 
 alias is_o_neg_left ↔ is_o.of_neg_right is_o.neg_left
 #align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_right
@@ -884,135 +1116,189 @@ alias is_o_neg_left ↔ is_o.of_neg_right is_o.neg_left
 /-! ### Product of functions (right) -/
 
 
+#print Asymptotics.isBigOWith_fst_prod /-
 theorem isBigOWith_fst_prod : IsBigOWith 1 l f' fun x => (f' x, g' x) :=
   isBigOWith_of_le l fun x => le_max_left _ _
 #align asymptotics.is_O_with_fst_prod Asymptotics.isBigOWith_fst_prod
+-/
 
+#print Asymptotics.isBigOWith_snd_prod /-
 theorem isBigOWith_snd_prod : IsBigOWith 1 l g' fun x => (f' x, g' x) :=
   isBigOWith_of_le l fun x => le_max_right _ _
 #align asymptotics.is_O_with_snd_prod Asymptotics.isBigOWith_snd_prod
+-/
 
+#print Asymptotics.isBigO_fst_prod /-
 theorem isBigO_fst_prod : f' =O[l] fun x => (f' x, g' x) :=
   isBigOWith_fst_prod.IsBigO
 #align asymptotics.is_O_fst_prod Asymptotics.isBigO_fst_prod
+-/
 
+#print Asymptotics.isBigO_snd_prod /-
 theorem isBigO_snd_prod : g' =O[l] fun x => (f' x, g' x) :=
   isBigOWith_snd_prod.IsBigO
 #align asymptotics.is_O_snd_prod Asymptotics.isBigO_snd_prod
+-/
 
+#print Asymptotics.isBigO_fst_prod' /-
 theorem isBigO_fst_prod' {f' : α → E' × F'} : (fun x => (f' x).1) =O[l] f' := by
   simpa [is_O, is_O_with] using is_O_fst_prod
 #align asymptotics.is_O_fst_prod' Asymptotics.isBigO_fst_prod'
+-/
 
+#print Asymptotics.isBigO_snd_prod' /-
 theorem isBigO_snd_prod' {f' : α → E' × F'} : (fun x => (f' x).2) =O[l] f' := by
   simpa [is_O, is_O_with] using is_O_snd_prod
 #align asymptotics.is_O_snd_prod' Asymptotics.isBigO_snd_prod'
+-/
 
 section
 
 variable (f' k')
 
+#print Asymptotics.IsBigOWith.prod_rightl /-
 theorem IsBigOWith.prod_rightl (h : IsBigOWith c l f g') (hc : 0 ≤ c) :
     IsBigOWith c l f fun x => (g' x, k' x) :=
   (h.trans isBigOWith_fst_prod hc).congr_const (mul_one c)
 #align asymptotics.is_O_with.prod_rightl Asymptotics.IsBigOWith.prod_rightl
+-/
 
+#print Asymptotics.IsBigO.prod_rightl /-
 theorem IsBigO.prod_rightl (h : f =O[l] g') : f =O[l] fun x => (g' x, k' x) :=
   let ⟨c, cnonneg, hc⟩ := h.exists_nonneg
   (hc.prod_rightl k' cnonneg).IsBigO
 #align asymptotics.is_O.prod_rightl Asymptotics.IsBigO.prod_rightl
+-/
 
+#print Asymptotics.IsLittleO.prod_rightl /-
 theorem IsLittleO.prod_rightl (h : f =o[l] g') : f =o[l] fun x => (g' x, k' x) :=
   IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).prod_rightl k' cpos.le
 #align asymptotics.is_o.prod_rightl Asymptotics.IsLittleO.prod_rightl
+-/
 
+#print Asymptotics.IsBigOWith.prod_rightr /-
 theorem IsBigOWith.prod_rightr (h : IsBigOWith c l f g') (hc : 0 ≤ c) :
     IsBigOWith c l f fun x => (f' x, g' x) :=
   (h.trans isBigOWith_snd_prod hc).congr_const (mul_one c)
 #align asymptotics.is_O_with.prod_rightr Asymptotics.IsBigOWith.prod_rightr
+-/
 
+#print Asymptotics.IsBigO.prod_rightr /-
 theorem IsBigO.prod_rightr (h : f =O[l] g') : f =O[l] fun x => (f' x, g' x) :=
   let ⟨c, cnonneg, hc⟩ := h.exists_nonneg
   (hc.prod_rightr f' cnonneg).IsBigO
 #align asymptotics.is_O.prod_rightr Asymptotics.IsBigO.prod_rightr
+-/
 
+#print Asymptotics.IsLittleO.prod_rightr /-
 theorem IsLittleO.prod_rightr (h : f =o[l] g') : f =o[l] fun x => (f' x, g' x) :=
   IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).prod_rightr f' cpos.le
 #align asymptotics.is_o.prod_rightr Asymptotics.IsLittleO.prod_rightr
+-/
 
 end
 
+#print Asymptotics.IsBigOWith.prod_left_same /-
 theorem IsBigOWith.prod_left_same (hf : IsBigOWith c l f' k') (hg : IsBigOWith c l g' k') :
     IsBigOWith c l (fun x => (f' x, g' x)) k' := by
   rw [is_O_with_iff] at * <;> filter_upwards [hf, hg] with x using max_le
 #align asymptotics.is_O_with.prod_left_same Asymptotics.IsBigOWith.prod_left_same
+-/
 
+#print Asymptotics.IsBigOWith.prod_left /-
 theorem IsBigOWith.prod_left (hf : IsBigOWith c l f' k') (hg : IsBigOWith c' l g' k') :
     IsBigOWith (max c c') l (fun x => (f' x, g' x)) k' :=
   (hf.weaken <| le_max_left c c').prod_left_same (hg.weaken <| le_max_right c c')
 #align asymptotics.is_O_with.prod_left Asymptotics.IsBigOWith.prod_left
+-/
 
+#print Asymptotics.IsBigOWith.prod_left_fst /-
 theorem IsBigOWith.prod_left_fst (h : IsBigOWith c l (fun x => (f' x, g' x)) k') :
     IsBigOWith c l f' k' :=
   (isBigOWith_fst_prod.trans h zero_le_one).congr_const <| one_mul c
 #align asymptotics.is_O_with.prod_left_fst Asymptotics.IsBigOWith.prod_left_fst
+-/
 
+#print Asymptotics.IsBigOWith.prod_left_snd /-
 theorem IsBigOWith.prod_left_snd (h : IsBigOWith c l (fun x => (f' x, g' x)) k') :
     IsBigOWith c l g' k' :=
   (isBigOWith_snd_prod.trans h zero_le_one).congr_const <| one_mul c
 #align asymptotics.is_O_with.prod_left_snd Asymptotics.IsBigOWith.prod_left_snd
+-/
 
+#print Asymptotics.isBigOWith_prod_left /-
 theorem isBigOWith_prod_left :
     IsBigOWith c l (fun x => (f' x, g' x)) k' ↔ IsBigOWith c l f' k' ∧ IsBigOWith c l g' k' :=
   ⟨fun h => ⟨h.prod_left_fst, h.prod_left_snd⟩, fun h => h.1.prod_left_same h.2⟩
 #align asymptotics.is_O_with_prod_left Asymptotics.isBigOWith_prod_left
+-/
 
+#print Asymptotics.IsBigO.prod_left /-
 theorem IsBigO.prod_left (hf : f' =O[l] k') (hg : g' =O[l] k') : (fun x => (f' x, g' x)) =O[l] k' :=
   let ⟨c, hf⟩ := hf.IsBigOWith
   let ⟨c', hg⟩ := hg.IsBigOWith
   (hf.prodLeft hg).IsBigO
 #align asymptotics.is_O.prod_left Asymptotics.IsBigO.prod_left
+-/
 
+#print Asymptotics.IsBigO.prod_left_fst /-
 theorem IsBigO.prod_left_fst : (fun x => (f' x, g' x)) =O[l] k' → f' =O[l] k' :=
   IsBigO.trans isBigO_fst_prod
 #align asymptotics.is_O.prod_left_fst Asymptotics.IsBigO.prod_left_fst
+-/
 
+#print Asymptotics.IsBigO.prod_left_snd /-
 theorem IsBigO.prod_left_snd : (fun x => (f' x, g' x)) =O[l] k' → g' =O[l] k' :=
   IsBigO.trans isBigO_snd_prod
 #align asymptotics.is_O.prod_left_snd Asymptotics.IsBigO.prod_left_snd
+-/
 
+#print Asymptotics.isBigO_prod_left /-
 @[simp]
 theorem isBigO_prod_left : (fun x => (f' x, g' x)) =O[l] k' ↔ f' =O[l] k' ∧ g' =O[l] k' :=
   ⟨fun h => ⟨h.prod_left_fst, h.prod_left_snd⟩, fun h => h.1.prodLeft h.2⟩
 #align asymptotics.is_O_prod_left Asymptotics.isBigO_prod_left
+-/
 
+#print Asymptotics.IsLittleO.prod_left /-
 theorem IsLittleO.prod_left (hf : f' =o[l] k') (hg : g' =o[l] k') :
     (fun x => (f' x, g' x)) =o[l] k' :=
   IsLittleO.of_isBigOWith fun c hc =>
     (hf.forall_isBigOWith hc).prod_left_same (hg.forall_isBigOWith hc)
 #align asymptotics.is_o.prod_left Asymptotics.IsLittleO.prod_left
+-/
 
+#print Asymptotics.IsLittleO.prod_left_fst /-
 theorem IsLittleO.prod_left_fst : (fun x => (f' x, g' x)) =o[l] k' → f' =o[l] k' :=
   IsBigO.trans_isLittleO isBigO_fst_prod
 #align asymptotics.is_o.prod_left_fst Asymptotics.IsLittleO.prod_left_fst
+-/
 
+#print Asymptotics.IsLittleO.prod_left_snd /-
 theorem IsLittleO.prod_left_snd : (fun x => (f' x, g' x)) =o[l] k' → g' =o[l] k' :=
   IsBigO.trans_isLittleO isBigO_snd_prod
 #align asymptotics.is_o.prod_left_snd Asymptotics.IsLittleO.prod_left_snd
+-/
 
+#print Asymptotics.isLittleO_prod_left /-
 @[simp]
 theorem isLittleO_prod_left : (fun x => (f' x, g' x)) =o[l] k' ↔ f' =o[l] k' ∧ g' =o[l] k' :=
   ⟨fun h => ⟨h.prod_left_fst, h.prod_left_snd⟩, fun h => h.1.prodLeft h.2⟩
 #align asymptotics.is_o_prod_left Asymptotics.isLittleO_prod_left
+-/
 
+#print Asymptotics.IsBigOWith.eq_zero_imp /-
 theorem IsBigOWith.eq_zero_imp (h : IsBigOWith c l f'' g'') : ∀ᶠ x in l, g'' x = 0 → f'' x = 0 :=
   Eventually.mono h.bound fun x hx hg => norm_le_zero_iff.1 <| by simpa [hg] using hx
 #align asymptotics.is_O_with.eq_zero_imp Asymptotics.IsBigOWith.eq_zero_imp
+-/
 
+#print Asymptotics.IsBigO.eq_zero_imp /-
 theorem IsBigO.eq_zero_imp (h : f'' =O[l] g'') : ∀ᶠ x in l, g'' x = 0 → f'' x = 0 :=
   let ⟨C, hC⟩ := h.IsBigOWith
   hC.eq_zero_imp
 #align asymptotics.is_O.eq_zero_imp Asymptotics.IsBigO.eq_zero_imp
+-/
 
 /-! ### Addition and subtraction -/
 
@@ -1021,6 +1307,7 @@ section add_sub
 
 variable {f₁ f₂ : α → E'} {g₁ g₂ : α → F'}
 
+#print Asymptotics.IsBigOWith.add /-
 theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂ l f₂ g) :
     IsBigOWith (c₁ + c₂) l (fun x => f₁ x + f₂ x) g := by
   rw [is_O_with] at * <;>
@@ -1029,60 +1316,83 @@ theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂
         ‖f₁ x + f₂ x‖ ≤ c₁ * ‖g x‖ + c₂ * ‖g x‖ := norm_add_le_of_le hx₁ hx₂
         _ = (c₁ + c₂) * ‖g x‖ := (add_mul _ _ _).symm
 #align asymptotics.is_O_with.add Asymptotics.IsBigOWith.add
+-/
 
+#print Asymptotics.IsBigO.add /-
 theorem IsBigO.add (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
   let ⟨c₁, hc₁⟩ := h₁.IsBigOWith
   let ⟨c₂, hc₂⟩ := h₂.IsBigOWith
   (hc₁.add hc₂).IsBigO
 #align asymptotics.is_O.add Asymptotics.IsBigO.add
+-/
 
+#print Asymptotics.IsLittleO.add /-
 theorem IsLittleO.add (h₁ : f₁ =o[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x + f₂ x) =o[l] g :=
   IsLittleO.of_isBigOWith fun c cpos =>
     ((h₁.forall_isBigOWith <| half_pos cpos).add
           (h₂.forall_isBigOWith <| half_pos cpos)).congr_const
       (add_halves c)
 #align asymptotics.is_o.add Asymptotics.IsLittleO.add
+-/
 
+#print Asymptotics.IsLittleO.add_add /-
 theorem IsLittleO.add_add (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =o[l] g₂) :
     (fun x => f₁ x + f₂ x) =o[l] fun x => ‖g₁ x‖ + ‖g₂ x‖ := by
   refine' (h₁.trans_le fun x => _).add (h₂.trans_le _) <;> simp [abs_of_nonneg, add_nonneg]
 #align asymptotics.is_o.add_add Asymptotics.IsLittleO.add_add
+-/
 
+#print Asymptotics.IsBigO.add_isLittleO /-
 theorem IsBigO.add_isLittleO (h₁ : f₁ =O[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
   h₁.add h₂.IsBigO
 #align asymptotics.is_O.add_is_o Asymptotics.IsBigO.add_isLittleO
+-/
 
+#print Asymptotics.IsLittleO.add_isBigO /-
 theorem IsLittleO.add_isBigO (h₁ : f₁ =o[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
   h₁.IsBigO.add h₂
 #align asymptotics.is_o.add_is_O Asymptotics.IsLittleO.add_isBigO
+-/
 
+#print Asymptotics.IsBigOWith.add_isLittleO /-
 theorem IsBigOWith.add_isLittleO (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
     IsBigOWith c₂ l (fun x => f₁ x + f₂ x) g :=
   (h₁.add (h₂.forall_isBigOWith (sub_pos.2 hc))).congr_const (add_sub_cancel'_right _ _)
 #align asymptotics.is_O_with.add_is_o Asymptotics.IsBigOWith.add_isLittleO
+-/
 
+#print Asymptotics.IsLittleO.add_isBigOWith /-
 theorem IsLittleO.add_isBigOWith (h₁ : f₁ =o[l] g) (h₂ : IsBigOWith c₁ l f₂ g) (hc : c₁ < c₂) :
     IsBigOWith c₂ l (fun x => f₁ x + f₂ x) g :=
   (h₂.add_isLittleO h₁ hc).congr_left fun _ => add_comm _ _
 #align asymptotics.is_o.add_is_O_with Asymptotics.IsLittleO.add_isBigOWith
+-/
 
+#print Asymptotics.IsBigOWith.sub /-
 theorem IsBigOWith.sub (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂ l f₂ g) :
     IsBigOWith (c₁ + c₂) l (fun x => f₁ x - f₂ x) g := by
   simpa only [sub_eq_add_neg] using h₁.add h₂.neg_left
 #align asymptotics.is_O_with.sub Asymptotics.IsBigOWith.sub
+-/
 
+#print Asymptotics.IsBigOWith.sub_isLittleO /-
 theorem IsBigOWith.sub_isLittleO (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
     IsBigOWith c₂ l (fun x => f₁ x - f₂ x) g := by
   simpa only [sub_eq_add_neg] using h₁.add_is_o h₂.neg_left hc
 #align asymptotics.is_O_with.sub_is_o Asymptotics.IsBigOWith.sub_isLittleO
+-/
 
+#print Asymptotics.IsBigO.sub /-
 theorem IsBigO.sub (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x - f₂ x) =O[l] g := by
   simpa only [sub_eq_add_neg] using h₁.add h₂.neg_left
 #align asymptotics.is_O.sub Asymptotics.IsBigO.sub
+-/
 
+#print Asymptotics.IsLittleO.sub /-
 theorem IsLittleO.sub (h₁ : f₁ =o[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x - f₂ x) =o[l] g := by
   simpa only [sub_eq_add_neg] using h₁.add h₂.neg_left
 #align asymptotics.is_o.sub Asymptotics.IsLittleO.sub
+-/
 
 end add_sub
 
@@ -1093,57 +1403,79 @@ section IsOOAsRel
 
 variable {f₁ f₂ f₃ : α → E'}
 
+#print Asymptotics.IsBigOWith.symm /-
 theorem IsBigOWith.symm (h : IsBigOWith c l (fun x => f₁ x - f₂ x) g) :
     IsBigOWith c l (fun x => f₂ x - f₁ x) g :=
   h.neg_left.congr_left fun x => neg_sub _ _
 #align asymptotics.is_O_with.symm Asymptotics.IsBigOWith.symm
+-/
 
+#print Asymptotics.isBigOWith_comm /-
 theorem isBigOWith_comm :
     IsBigOWith c l (fun x => f₁ x - f₂ x) g ↔ IsBigOWith c l (fun x => f₂ x - f₁ x) g :=
   ⟨IsBigOWith.symm, IsBigOWith.symm⟩
 #align asymptotics.is_O_with_comm Asymptotics.isBigOWith_comm
+-/
 
+#print Asymptotics.IsBigO.symm /-
 theorem IsBigO.symm (h : (fun x => f₁ x - f₂ x) =O[l] g) : (fun x => f₂ x - f₁ x) =O[l] g :=
   h.neg_left.congr_left fun x => neg_sub _ _
 #align asymptotics.is_O.symm Asymptotics.IsBigO.symm
+-/
 
+#print Asymptotics.isBigO_comm /-
 theorem isBigO_comm : (fun x => f₁ x - f₂ x) =O[l] g ↔ (fun x => f₂ x - f₁ x) =O[l] g :=
   ⟨IsBigO.symm, IsBigO.symm⟩
 #align asymptotics.is_O_comm Asymptotics.isBigO_comm
+-/
 
+#print Asymptotics.IsLittleO.symm /-
 theorem IsLittleO.symm (h : (fun x => f₁ x - f₂ x) =o[l] g) : (fun x => f₂ x - f₁ x) =o[l] g := by
   simpa only [neg_sub] using h.neg_left
 #align asymptotics.is_o.symm Asymptotics.IsLittleO.symm
+-/
 
+#print Asymptotics.isLittleO_comm /-
 theorem isLittleO_comm : (fun x => f₁ x - f₂ x) =o[l] g ↔ (fun x => f₂ x - f₁ x) =o[l] g :=
   ⟨IsLittleO.symm, IsLittleO.symm⟩
 #align asymptotics.is_o_comm Asymptotics.isLittleO_comm
+-/
 
+#print Asymptotics.IsBigOWith.triangle /-
 theorem IsBigOWith.triangle (h₁ : IsBigOWith c l (fun x => f₁ x - f₂ x) g)
     (h₂ : IsBigOWith c' l (fun x => f₂ x - f₃ x) g) :
     IsBigOWith (c + c') l (fun x => f₁ x - f₃ x) g :=
   (h₁.add h₂).congr_left fun x => sub_add_sub_cancel _ _ _
 #align asymptotics.is_O_with.triangle Asymptotics.IsBigOWith.triangle
+-/
 
+#print Asymptotics.IsBigO.triangle /-
 theorem IsBigO.triangle (h₁ : (fun x => f₁ x - f₂ x) =O[l] g)
     (h₂ : (fun x => f₂ x - f₃ x) =O[l] g) : (fun x => f₁ x - f₃ x) =O[l] g :=
   (h₁.add h₂).congr_left fun x => sub_add_sub_cancel _ _ _
 #align asymptotics.is_O.triangle Asymptotics.IsBigO.triangle
+-/
 
+#print Asymptotics.IsLittleO.triangle /-
 theorem IsLittleO.triangle (h₁ : (fun x => f₁ x - f₂ x) =o[l] g)
     (h₂ : (fun x => f₂ x - f₃ x) =o[l] g) : (fun x => f₁ x - f₃ x) =o[l] g :=
   (h₁.add h₂).congr_left fun x => sub_add_sub_cancel _ _ _
 #align asymptotics.is_o.triangle Asymptotics.IsLittleO.triangle
+-/
 
+#print Asymptotics.IsBigO.congr_of_sub /-
 theorem IsBigO.congr_of_sub (h : (fun x => f₁ x - f₂ x) =O[l] g) : f₁ =O[l] g ↔ f₂ =O[l] g :=
   ⟨fun h' => (h'.sub h).congr_left fun x => sub_sub_cancel _ _, fun h' =>
     (h.add h').congr_left fun x => sub_add_cancel _ _⟩
 #align asymptotics.is_O.congr_of_sub Asymptotics.IsBigO.congr_of_sub
+-/
 
+#print Asymptotics.IsLittleO.congr_of_sub /-
 theorem IsLittleO.congr_of_sub (h : (fun x => f₁ x - f₂ x) =o[l] g) : f₁ =o[l] g ↔ f₂ =o[l] g :=
   ⟨fun h' => (h'.sub h).congr_left fun x => sub_sub_cancel _ _, fun h' =>
     (h.add h').congr_left fun x => sub_add_cancel _ _⟩
 #align asymptotics.is_o.congr_of_sub Asymptotics.IsLittleO.congr_of_sub
+-/
 
 end IsOOAsRel
 
@@ -1154,39 +1486,54 @@ section ZeroConst
 
 variable (g g' l)
 
+#print Asymptotics.isLittleO_zero /-
 theorem isLittleO_zero : (fun x => (0 : E')) =o[l] g' :=
   IsLittleO.of_bound fun c hc =>
     univ_mem' fun x => by simpa using mul_nonneg hc.le (norm_nonneg <| g' x)
 #align asymptotics.is_o_zero Asymptotics.isLittleO_zero
+-/
 
+#print Asymptotics.isBigOWith_zero /-
 theorem isBigOWith_zero (hc : 0 ≤ c) : IsBigOWith c l (fun x => (0 : E')) g' :=
   IsBigOWith.of_bound <| univ_mem' fun x => by simpa using mul_nonneg hc (norm_nonneg <| g' x)
 #align asymptotics.is_O_with_zero Asymptotics.isBigOWith_zero
+-/
 
+#print Asymptotics.isBigOWith_zero' /-
 theorem isBigOWith_zero' : IsBigOWith 0 l (fun x => (0 : E')) g :=
   IsBigOWith.of_bound <| univ_mem' fun x => by simp
 #align asymptotics.is_O_with_zero' Asymptotics.isBigOWith_zero'
+-/
 
+#print Asymptotics.isBigO_zero /-
 theorem isBigO_zero : (fun x => (0 : E')) =O[l] g :=
   isBigO_iff_isBigOWith.2 ⟨0, isBigOWith_zero' _ _⟩
 #align asymptotics.is_O_zero Asymptotics.isBigO_zero
+-/
 
+#print Asymptotics.isBigO_refl_left /-
 theorem isBigO_refl_left : (fun x => f' x - f' x) =O[l] g' :=
   (isBigO_zero g' l).congr_left fun x => (sub_self _).symm
 #align asymptotics.is_O_refl_left Asymptotics.isBigO_refl_left
+-/
 
+#print Asymptotics.isLittleO_refl_left /-
 theorem isLittleO_refl_left : (fun x => f' x - f' x) =o[l] g' :=
   (isLittleO_zero g' l).congr_left fun x => (sub_self _).symm
 #align asymptotics.is_o_refl_left Asymptotics.isLittleO_refl_left
+-/
 
 variable {g g' l}
 
+#print Asymptotics.isBigOWith_zero_right_iff /-
 @[simp]
 theorem isBigOWith_zero_right_iff : (IsBigOWith c l f'' fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 := by
   simp only [is_O_with, exists_prop, true_and_iff, norm_zero, MulZeroClass.mul_zero,
     norm_le_zero_iff, eventually_eq, Pi.zero_apply]
 #align asymptotics.is_O_with_zero_right_iff Asymptotics.isBigOWith_zero_right_iff
+-/
 
+#print Asymptotics.isBigO_zero_right_iff /-
 @[simp]
 theorem isBigO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
   ⟨fun h =>
@@ -1194,13 +1541,17 @@ theorem isBigO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0
     isBigOWith_zero_right_iff.1 hc,
     fun h => (isBigOWith_zero_right_iff.2 h : IsBigOWith 1 _ _ _).IsBigO⟩
 #align asymptotics.is_O_zero_right_iff Asymptotics.isBigO_zero_right_iff
+-/
 
+#print Asymptotics.isLittleO_zero_right_iff /-
 @[simp]
 theorem isLittleO_zero_right_iff : (f'' =o[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
   ⟨fun h => isBigO_zero_right_iff.1 h.IsBigO, fun h =>
     IsLittleO.of_isBigOWith fun c hc => isBigOWith_zero_right_iff.2 h⟩
 #align asymptotics.is_o_zero_right_iff Asymptotics.isLittleO_zero_right_iff
+-/
 
+#print Asymptotics.isBigOWith_const_const /-
 theorem isBigOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
     IsBigOWith (‖c‖ / ‖c'‖) l (fun x : α => c) fun x => c' :=
   by
@@ -1210,12 +1561,16 @@ theorem isBigOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter 
   rw [mem_set_of_eq, div_mul_cancel]
   rwa [Ne.def, norm_eq_zero]
 #align asymptotics.is_O_with_const_const Asymptotics.isBigOWith_const_const
+-/
 
+#print Asymptotics.isBigO_const_const /-
 theorem isBigO_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
     (fun x : α => c) =O[l] fun x => c' :=
   (isBigOWith_const_const c hc' l).IsBigO
 #align asymptotics.is_O_const_const Asymptotics.isBigO_const_const
+-/
 
+#print Asymptotics.isBigO_const_const_iff /-
 @[simp]
 theorem isBigO_const_const_iff {c : E''} {c' : F''} (l : Filter α) [l.ne_bot] :
     ((fun x : α => c) =O[l] fun x => c') ↔ c' = 0 → c = 0 :=
@@ -1224,24 +1579,32 @@ theorem isBigO_const_const_iff {c : E''} {c' : F''} (l : Filter α) [l.ne_bot] :
   · simp [eventually_eq]
   · simp [hc', is_O_const_const _ hc']
 #align asymptotics.is_O_const_const_iff Asymptotics.isBigO_const_const_iff
+-/
 
+#print Asymptotics.isBigO_pure /-
 @[simp]
 theorem isBigO_pure {x} : f'' =O[pure x] g'' ↔ g'' x = 0 → f'' x = 0 :=
   calc
     f'' =O[pure x] g'' ↔ (fun y : α => f'' x) =O[pure x] fun _ => g'' x := isBigO_congr rfl rfl
     _ ↔ g'' x = 0 → f'' x = 0 := isBigO_const_const_iff _
 #align asymptotics.is_O_pure Asymptotics.isBigO_pure
+-/
 
 end ZeroConst
 
+#print Asymptotics.isBigOWith_top /-
 @[simp]
 theorem isBigOWith_top : IsBigOWith c ⊤ f g ↔ ∀ x, ‖f x‖ ≤ c * ‖g x‖ := by rw [is_O_with] <;> rfl
 #align asymptotics.is_O_with_top Asymptotics.isBigOWith_top
+-/
 
+#print Asymptotics.isBigO_top /-
 @[simp]
 theorem isBigO_top : f =O[⊤] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ := by rw [is_O_iff] <;> rfl
 #align asymptotics.is_O_top Asymptotics.isBigO_top
+-/
 
+#print Asymptotics.isLittleO_top /-
 @[simp]
 theorem isLittleO_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 :=
   by
@@ -1255,48 +1618,64 @@ theorem isLittleO_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 :=
     le_of_tendsto_of_tendsto tendsto_const_nhds this
       (eventually_nhdsWithin_iff.2 <| eventually_of_forall fun c hc => h hc x)
 #align asymptotics.is_o_top Asymptotics.isLittleO_top
+-/
 
+#print Asymptotics.isBigOWith_principal /-
 @[simp]
 theorem isBigOWith_principal {s : Set α} : IsBigOWith c (𝓟 s) f g ↔ ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
   rw [is_O_with] <;> rfl
 #align asymptotics.is_O_with_principal Asymptotics.isBigOWith_principal
+-/
 
+#print Asymptotics.isBigO_principal /-
 theorem isBigO_principal {s : Set α} : f =O[𝓟 s] g ↔ ∃ c, ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
   rw [is_O_iff] <;> rfl
 #align asymptotics.is_O_principal Asymptotics.isBigO_principal
+-/
 
 section
 
 variable (F) [One F] [NormOneClass F]
 
+#print Asymptotics.isBigOWith_const_one /-
 theorem isBigOWith_const_one (c : E) (l : Filter α) :
     IsBigOWith ‖c‖ l (fun x : α => c) fun x => (1 : F) := by simp [is_O_with_iff]
 #align asymptotics.is_O_with_const_one Asymptotics.isBigOWith_const_one
+-/
 
+#print Asymptotics.isBigO_const_one /-
 theorem isBigO_const_one (c : E) (l : Filter α) : (fun x : α => c) =O[l] fun x => (1 : F) :=
   (isBigOWith_const_one F c l).IsBigO
 #align asymptotics.is_O_const_one Asymptotics.isBigO_const_one
+-/
 
+#print Asymptotics.isLittleO_const_iff_isLittleO_one /-
 theorem isLittleO_const_iff_isLittleO_one {c : F''} (hc : c ≠ 0) :
     (f =o[l] fun x => c) ↔ f =o[l] fun x => (1 : F) :=
   ⟨fun h => h.trans_isBigOWith (isBigOWith_const_one _ _ _) (norm_pos_iff.2 hc), fun h =>
     h.trans_isBigO <| isBigO_const_const _ hc _⟩
 #align asymptotics.is_o_const_iff_is_o_one Asymptotics.isLittleO_const_iff_isLittleO_one
+-/
 
+#print Asymptotics.isLittleO_one_iff /-
 @[simp]
 theorem isLittleO_one_iff : f' =o[l] (fun x => 1 : α → F) ↔ Tendsto f' l (𝓝 0) := by
   simp only [is_o_iff, norm_one, mul_one, metric.nhds_basis_closed_ball.tendsto_right_iff,
     Metric.mem_closedBall, dist_zero_right]
 #align asymptotics.is_o_one_iff Asymptotics.isLittleO_one_iff
+-/
 
+#print Asymptotics.isBigO_one_iff /-
 @[simp]
 theorem isBigO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ :=
   by simp only [is_O_iff, norm_one, mul_one]; rfl
 #align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iff
+-/
 
 alias is_O_one_iff ↔ _ _root_.filter.is_bounded_under.is_O_one
 #align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_one
 
+#print Asymptotics.isLittleO_one_left_iff /-
 @[simp]
 theorem isLittleO_one_left_iff : (fun x => 1 : α → F) =o[l] f ↔ Tendsto (fun x => ‖f x‖) l atTop :=
   calc
@@ -1307,48 +1686,66 @@ theorem isLittleO_one_left_iff : (fun x => 1 : α → F) =o[l] f ↔ Tendsto (fu
     _ ↔ Tendsto (fun x => ‖f x‖) l atTop :=
       atTop_hasCountableBasis_of_archimedean.1.tendsto_right_iff.symm
 #align asymptotics.is_o_one_left_iff Asymptotics.isLittleO_one_left_iff
+-/
 
+#print Filter.Tendsto.isBigO_one /-
 theorem Filter.Tendsto.isBigO_one {c : E'} (h : Tendsto f' l (𝓝 c)) :
     f' =O[l] (fun x => 1 : α → F) :=
   h.norm.isBoundedUnder_le.isBigO_one F
 #align filter.tendsto.is_O_one Filter.Tendsto.isBigO_one
+-/
 
+#print Asymptotics.IsBigO.trans_tendsto_nhds /-
 theorem IsBigO.trans_tendsto_nhds (hfg : f =O[l] g') {y : F'} (hg : Tendsto g' l (𝓝 y)) :
     f =O[l] (fun x => 1 : α → F) :=
   hfg.trans <| hg.isBigO_one F
 #align asymptotics.is_O.trans_tendsto_nhds Asymptotics.IsBigO.trans_tendsto_nhds
+-/
 
 end
 
+#print Asymptotics.isLittleO_const_iff /-
 theorem isLittleO_const_iff {c : F''} (hc : c ≠ 0) : (f'' =o[l] fun x => c) ↔ Tendsto f'' l (𝓝 0) :=
   (isLittleO_const_iff_isLittleO_one ℝ hc).trans (isLittleO_one_iff _)
 #align asymptotics.is_o_const_iff Asymptotics.isLittleO_const_iff
+-/
 
+#print Asymptotics.isLittleO_id_const /-
 theorem isLittleO_id_const {c : F''} (hc : c ≠ 0) : (fun x : E'' => x) =o[𝓝 0] fun x => c :=
   (isLittleO_const_iff hc).mpr (continuous_id.Tendsto 0)
 #align asymptotics.is_o_id_const Asymptotics.isLittleO_id_const
+-/
 
+#print Filter.IsBoundedUnder.isBigO_const /-
 theorem Filter.IsBoundedUnder.isBigO_const (h : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) {c : F''}
     (hc : c ≠ 0) : f =O[l] fun x => c :=
   (h.isBigO_one ℝ).trans (isBigO_const_const _ hc _)
 #align filter.is_bounded_under.is_O_const Filter.IsBoundedUnder.isBigO_const
+-/
 
+#print Asymptotics.isBigO_const_of_tendsto /-
 theorem isBigO_const_of_tendsto {y : E''} (h : Tendsto f'' l (𝓝 y)) {c : F''} (hc : c ≠ 0) :
     f'' =O[l] fun x => c :=
   h.norm.isBoundedUnder_le.isBigO_const hc
 #align asymptotics.is_O_const_of_tendsto Asymptotics.isBigO_const_of_tendsto
+-/
 
+#print Asymptotics.IsBigO.isBoundedUnder_le /-
 theorem IsBigO.isBoundedUnder_le {c : F} (h : f =O[l] fun x => c) :
     IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
   let ⟨c', hc'⟩ := h.bound
   ⟨c' * ‖c‖, eventually_map.2 hc'⟩
 #align asymptotics.is_O.is_bounded_under_le Asymptotics.IsBigO.isBoundedUnder_le
+-/
 
+#print Asymptotics.isBigO_const_of_ne /-
 theorem isBigO_const_of_ne {c : F''} (hc : c ≠ 0) :
     (f =O[l] fun x => c) ↔ IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
   ⟨fun h => h.isBoundedUnder_le, fun h => h.isBigO_const hc⟩
 #align asymptotics.is_O_const_of_ne Asymptotics.isBigO_const_of_ne
+-/
 
+#print Asymptotics.isBigO_const_iff /-
 theorem isBigO_const_iff {c : F''} :
     (f'' =O[l] fun x => c) ↔ (c = 0 → f'' =ᶠ[l] 0) ∧ IsBoundedUnder (· ≤ ·) l fun x => ‖f'' x‖ :=
   by
@@ -1357,7 +1754,9 @@ theorem isBigO_const_iff {c : F''} :
   rcases eq_or_ne c 0 with (hc | hc)
   exacts [(hcf hc).trans_isBigO (is_O_zero _ _), hf.is_O_const hc]
 #align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iff
+-/
 
+#print Asymptotics.isBigO_iff_isBoundedUnder_le_div /-
 theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
     f =O[l] g'' ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ / ‖g'' x‖ :=
   by
@@ -1366,7 +1765,9 @@ theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
     exists_congr fun c =>
       eventually_congr <| h.mono fun x hx => (div_le_iff <| norm_pos_iff.2 hx).symm
 #align asymptotics.is_O_iff_is_bounded_under_le_div Asymptotics.isBigO_iff_isBoundedUnder_le_div
+-/
 
+#print Asymptotics.isBigO_const_left_iff_pos_le_norm /-
 /-- `(λ x, c) =O[l] f` if and only if `f` is bounded away from zero. -/
 theorem isBigO_const_left_iff_pos_le_norm {c : E''} (hc : c ≠ 0) :
     (fun x => c) =O[l] f' ↔ ∃ b, 0 < b ∧ ∀ᶠ x in l, b ≤ ‖f' x‖ :=
@@ -1381,6 +1782,7 @@ theorem isBigO_const_left_iff_pos_le_norm {c : E''} (hc : c ≠ 0) :
     rw [div_mul_eq_mul_div, mul_div_assoc]
     exact le_mul_of_one_le_right (norm_nonneg _) ((one_le_div hb₀).2 hx)
 #align asymptotics.is_O_const_left_iff_pos_le_norm Asymptotics.isBigO_const_left_iff_pos_le_norm
+-/
 
 section
 
@@ -1388,151 +1790,208 @@ variable (𝕜)
 
 end
 
+#print Asymptotics.IsBigO.trans_tendsto /-
 theorem IsBigO.trans_tendsto (hfg : f'' =O[l] g'') (hg : Tendsto g'' l (𝓝 0)) :
     Tendsto f'' l (𝓝 0) :=
   (isLittleO_one_iff ℝ).1 <| hfg.trans_isLittleO <| (isLittleO_one_iff ℝ).2 hg
 #align asymptotics.is_O.trans_tendsto Asymptotics.IsBigO.trans_tendsto
+-/
 
+#print Asymptotics.IsLittleO.trans_tendsto /-
 theorem IsLittleO.trans_tendsto (hfg : f'' =o[l] g'') (hg : Tendsto g'' l (𝓝 0)) :
     Tendsto f'' l (𝓝 0) :=
   hfg.IsBigO.trans_tendsto hg
 #align asymptotics.is_o.trans_tendsto Asymptotics.IsLittleO.trans_tendsto
+-/
 
 /-! ### Multiplication by a constant -/
 
 
+#print Asymptotics.isBigOWith_const_mul_self /-
 theorem isBigOWith_const_mul_self (c : R) (f : α → R) (l : Filter α) :
     IsBigOWith ‖c‖ l (fun x => c * f x) f :=
   isBigOWith_of_le' _ fun x => norm_mul_le _ _
 #align asymptotics.is_O_with_const_mul_self Asymptotics.isBigOWith_const_mul_self
+-/
 
+#print Asymptotics.isBigO_const_mul_self /-
 theorem isBigO_const_mul_self (c : R) (f : α → R) (l : Filter α) : (fun x => c * f x) =O[l] f :=
   (isBigOWith_const_mul_self c f l).IsBigO
 #align asymptotics.is_O_const_mul_self Asymptotics.isBigO_const_mul_self
+-/
 
+#print Asymptotics.IsBigOWith.const_mul_left /-
 theorem IsBigOWith.const_mul_left {f : α → R} (h : IsBigOWith c l f g) (c' : R) :
     IsBigOWith (‖c'‖ * c) l (fun x => c' * f x) g :=
   (isBigOWith_const_mul_self c' f l).trans h (norm_nonneg c')
 #align asymptotics.is_O_with.const_mul_left Asymptotics.IsBigOWith.const_mul_left
+-/
 
+#print Asymptotics.IsBigO.const_mul_left /-
 theorem IsBigO.const_mul_left {f : α → R} (h : f =O[l] g) (c' : R) : (fun x => c' * f x) =O[l] g :=
   let ⟨c, hc⟩ := h.IsBigOWith
   (hc.const_mul_left c').IsBigO
 #align asymptotics.is_O.const_mul_left Asymptotics.IsBigO.const_mul_left
+-/
 
+#print Asymptotics.isBigOWith_self_const_mul' /-
 theorem isBigOWith_self_const_mul' (u : Rˣ) (f : α → R) (l : Filter α) :
     IsBigOWith ‖(↑u⁻¹ : R)‖ l f fun x => ↑u * f x :=
   (isBigOWith_const_mul_self ↑u⁻¹ _ l).congr_left fun x => u.inv_mul_cancel_left (f x)
 #align asymptotics.is_O_with_self_const_mul' Asymptotics.isBigOWith_self_const_mul'
+-/
 
+#print Asymptotics.isBigOWith_self_const_mul /-
 theorem isBigOWith_self_const_mul (c : 𝕜) (hc : c ≠ 0) (f : α → 𝕜) (l : Filter α) :
     IsBigOWith ‖c‖⁻¹ l f fun x => c * f x :=
   (isBigOWith_self_const_mul' (Units.mk0 c hc) f l).congr_const <| norm_inv c
 #align asymptotics.is_O_with_self_const_mul Asymptotics.isBigOWith_self_const_mul
+-/
 
+#print Asymptotics.isBigO_self_const_mul' /-
 theorem isBigO_self_const_mul' {c : R} (hc : IsUnit c) (f : α → R) (l : Filter α) :
     f =O[l] fun x => c * f x :=
   let ⟨u, hu⟩ := hc
   hu ▸ (isBigOWith_self_const_mul' u f l).IsBigO
 #align asymptotics.is_O_self_const_mul' Asymptotics.isBigO_self_const_mul'
+-/
 
+#print Asymptotics.isBigO_self_const_mul /-
 theorem isBigO_self_const_mul (c : 𝕜) (hc : c ≠ 0) (f : α → 𝕜) (l : Filter α) :
     f =O[l] fun x => c * f x :=
   isBigO_self_const_mul' (IsUnit.mk0 c hc) f l
 #align asymptotics.is_O_self_const_mul Asymptotics.isBigO_self_const_mul
+-/
 
+#print Asymptotics.isBigO_const_mul_left_iff' /-
 theorem isBigO_const_mul_left_iff' {f : α → R} {c : R} (hc : IsUnit c) :
     (fun x => c * f x) =O[l] g ↔ f =O[l] g :=
   ⟨(isBigO_self_const_mul' hc f l).trans, fun h => h.const_mul_left c⟩
 #align asymptotics.is_O_const_mul_left_iff' Asymptotics.isBigO_const_mul_left_iff'
+-/
 
+#print Asymptotics.isBigO_const_mul_left_iff /-
 theorem isBigO_const_mul_left_iff {f : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (fun x => c * f x) =O[l] g ↔ f =O[l] g :=
   isBigO_const_mul_left_iff' <| IsUnit.mk0 c hc
 #align asymptotics.is_O_const_mul_left_iff Asymptotics.isBigO_const_mul_left_iff
+-/
 
+#print Asymptotics.IsLittleO.const_mul_left /-
 theorem IsLittleO.const_mul_left {f : α → R} (h : f =o[l] g) (c : R) : (fun x => c * f x) =o[l] g :=
   (isBigO_const_mul_self c f l).trans_isLittleO h
 #align asymptotics.is_o.const_mul_left Asymptotics.IsLittleO.const_mul_left
+-/
 
+#print Asymptotics.isLittleO_const_mul_left_iff' /-
 theorem isLittleO_const_mul_left_iff' {f : α → R} {c : R} (hc : IsUnit c) :
     (fun x => c * f x) =o[l] g ↔ f =o[l] g :=
   ⟨(isBigO_self_const_mul' hc f l).trans_isLittleO, fun h => h.const_mul_left c⟩
 #align asymptotics.is_o_const_mul_left_iff' Asymptotics.isLittleO_const_mul_left_iff'
+-/
 
+#print Asymptotics.isLittleO_const_mul_left_iff /-
 theorem isLittleO_const_mul_left_iff {f : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (fun x => c * f x) =o[l] g ↔ f =o[l] g :=
   isLittleO_const_mul_left_iff' <| IsUnit.mk0 c hc
 #align asymptotics.is_o_const_mul_left_iff Asymptotics.isLittleO_const_mul_left_iff
+-/
 
+#print Asymptotics.IsBigOWith.of_const_mul_right /-
 theorem IsBigOWith.of_const_mul_right {g : α → R} {c : R} (hc' : 0 ≤ c')
     (h : IsBigOWith c' l f fun x => c * g x) : IsBigOWith (c' * ‖c‖) l f g :=
   h.trans (isBigOWith_const_mul_self c g l) hc'
 #align asymptotics.is_O_with.of_const_mul_right Asymptotics.IsBigOWith.of_const_mul_right
+-/
 
+#print Asymptotics.IsBigO.of_const_mul_right /-
 theorem IsBigO.of_const_mul_right {g : α → R} {c : R} (h : f =O[l] fun x => c * g x) : f =O[l] g :=
   let ⟨c, cnonneg, hc⟩ := h.exists_nonneg
   (hc.of_const_mul_right cnonneg).IsBigO
 #align asymptotics.is_O.of_const_mul_right Asymptotics.IsBigO.of_const_mul_right
+-/
 
+#print Asymptotics.IsBigOWith.const_mul_right' /-
 theorem IsBigOWith.const_mul_right' {g : α → R} {u : Rˣ} {c' : ℝ} (hc' : 0 ≤ c')
     (h : IsBigOWith c' l f g) : IsBigOWith (c' * ‖(↑u⁻¹ : R)‖) l f fun x => ↑u * g x :=
   h.trans (isBigOWith_self_const_mul' _ _ _) hc'
 #align asymptotics.is_O_with.const_mul_right' Asymptotics.IsBigOWith.const_mul_right'
+-/
 
+#print Asymptotics.IsBigOWith.const_mul_right /-
 theorem IsBigOWith.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) {c' : ℝ} (hc' : 0 ≤ c')
     (h : IsBigOWith c' l f g) : IsBigOWith (c' * ‖c‖⁻¹) l f fun x => c * g x :=
   h.trans (isBigOWith_self_const_mul c hc g l) hc'
 #align asymptotics.is_O_with.const_mul_right Asymptotics.IsBigOWith.const_mul_right
+-/
 
+#print Asymptotics.IsBigO.const_mul_right' /-
 theorem IsBigO.const_mul_right' {g : α → R} {c : R} (hc : IsUnit c) (h : f =O[l] g) :
     f =O[l] fun x => c * g x :=
   h.trans (isBigO_self_const_mul' hc g l)
 #align asymptotics.is_O.const_mul_right' Asymptotics.IsBigO.const_mul_right'
+-/
 
+#print Asymptotics.IsBigO.const_mul_right /-
 theorem IsBigO.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) (h : f =O[l] g) :
     f =O[l] fun x => c * g x :=
   h.const_mul_right' <| IsUnit.mk0 c hc
 #align asymptotics.is_O.const_mul_right Asymptotics.IsBigO.const_mul_right
+-/
 
+#print Asymptotics.isBigO_const_mul_right_iff' /-
 theorem isBigO_const_mul_right_iff' {g : α → R} {c : R} (hc : IsUnit c) :
     (f =O[l] fun x => c * g x) ↔ f =O[l] g :=
   ⟨fun h => h.of_const_mul_right, fun h => h.const_mul_right' hc⟩
 #align asymptotics.is_O_const_mul_right_iff' Asymptotics.isBigO_const_mul_right_iff'
+-/
 
+#print Asymptotics.isBigO_const_mul_right_iff /-
 theorem isBigO_const_mul_right_iff {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (f =O[l] fun x => c * g x) ↔ f =O[l] g :=
   isBigO_const_mul_right_iff' <| IsUnit.mk0 c hc
 #align asymptotics.is_O_const_mul_right_iff Asymptotics.isBigO_const_mul_right_iff
+-/
 
+#print Asymptotics.IsLittleO.of_const_mul_right /-
 theorem IsLittleO.of_const_mul_right {g : α → R} {c : R} (h : f =o[l] fun x => c * g x) :
     f =o[l] g :=
   h.trans_isBigO (isBigO_const_mul_self c g l)
 #align asymptotics.is_o.of_const_mul_right Asymptotics.IsLittleO.of_const_mul_right
+-/
 
+#print Asymptotics.IsLittleO.const_mul_right' /-
 theorem IsLittleO.const_mul_right' {g : α → R} {c : R} (hc : IsUnit c) (h : f =o[l] g) :
     f =o[l] fun x => c * g x :=
   h.trans_isBigO (isBigO_self_const_mul' hc g l)
 #align asymptotics.is_o.const_mul_right' Asymptotics.IsLittleO.const_mul_right'
+-/
 
+#print Asymptotics.IsLittleO.const_mul_right /-
 theorem IsLittleO.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) (h : f =o[l] g) :
     f =o[l] fun x => c * g x :=
   h.const_mul_right' <| IsUnit.mk0 c hc
 #align asymptotics.is_o.const_mul_right Asymptotics.IsLittleO.const_mul_right
+-/
 
+#print Asymptotics.isLittleO_const_mul_right_iff' /-
 theorem isLittleO_const_mul_right_iff' {g : α → R} {c : R} (hc : IsUnit c) :
     (f =o[l] fun x => c * g x) ↔ f =o[l] g :=
   ⟨fun h => h.of_const_mul_right, fun h => h.const_mul_right' hc⟩
 #align asymptotics.is_o_const_mul_right_iff' Asymptotics.isLittleO_const_mul_right_iff'
+-/
 
+#print Asymptotics.isLittleO_const_mul_right_iff /-
 theorem isLittleO_const_mul_right_iff {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (f =o[l] fun x => c * g x) ↔ f =o[l] g :=
   isLittleO_const_mul_right_iff' <| IsUnit.mk0 c hc
 #align asymptotics.is_o_const_mul_right_iff Asymptotics.isLittleO_const_mul_right_iff
+-/
 
 /-! ### Multiplication -/
 
 
+#print Asymptotics.IsBigOWith.mul /-
 theorem IsBigOWith.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} {c₁ c₂ : ℝ} (h₁ : IsBigOWith c₁ l f₁ g₁)
     (h₂ : IsBigOWith c₂ l f₂ g₂) :
     IsBigOWith (c₁ * c₂) l (fun x => f₁ x * f₂ x) fun x => g₁ x * g₂ x :=
@@ -1543,14 +2002,18 @@ theorem IsBigOWith.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} {c₁ c
   convert mul_le_mul hx₁ hx₂ (norm_nonneg _) (le_trans (norm_nonneg _) hx₁) using 1
   rw [norm_mul, mul_mul_mul_comm]
 #align asymptotics.is_O_with.mul Asymptotics.IsBigOWith.mul
+-/
 
+#print Asymptotics.IsBigO.mul /-
 theorem IsBigO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =O[l] g₁) (h₂ : f₂ =O[l] g₂) :
     (fun x => f₁ x * f₂ x) =O[l] fun x => g₁ x * g₂ x :=
   let ⟨c, hc⟩ := h₁.IsBigOWith
   let ⟨c', hc'⟩ := h₂.IsBigOWith
   (hc.mul hc').IsBigO
 #align asymptotics.is_O.mul Asymptotics.IsBigO.mul
+-/
 
+#print Asymptotics.IsBigO.mul_isLittleO /-
 theorem IsBigO.mul_isLittleO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =O[l] g₁) (h₂ : f₂ =o[l] g₂) :
     (fun x => f₁ x * f₂ x) =o[l] fun x => g₁ x * g₂ x :=
   by
@@ -1559,7 +2022,9 @@ theorem IsBigO.mul_isLittleO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h
   rcases h₁.exists_pos with ⟨c', c'pos, hc'⟩
   exact (hc'.mul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel' _ (ne_of_gt c'pos))
 #align asymptotics.is_O.mul_is_o Asymptotics.IsBigO.mul_isLittleO
+-/
 
+#print Asymptotics.IsLittleO.mul_isBigO /-
 theorem IsLittleO.mul_isBigO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =O[l] g₂) :
     (fun x => f₁ x * f₂ x) =o[l] fun x => g₁ x * g₂ x :=
   by
@@ -1568,12 +2033,16 @@ theorem IsLittleO.mul_isBigO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h
   rcases h₂.exists_pos with ⟨c', c'pos, hc'⟩
   exact ((h₁ (div_pos cpos c'pos)).mul hc').congr_const (div_mul_cancel _ (ne_of_gt c'pos))
 #align asymptotics.is_o.mul_is_O Asymptotics.IsLittleO.mul_isBigO
+-/
 
+#print Asymptotics.IsLittleO.mul /-
 theorem IsLittleO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =o[l] g₂) :
     (fun x => f₁ x * f₂ x) =o[l] fun x => g₁ x * g₂ x :=
   h₁.mul_isBigO h₂.IsBigO
 #align asymptotics.is_o.mul Asymptotics.IsLittleO.mul
+-/
 
+#print Asymptotics.IsBigOWith.pow' /-
 theorem IsBigOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g) :
     ∀ n : ℕ,
       IsBigOWith (Nat.casesOn n ‖(1 : R)‖ fun n => c ^ (n + 1)) l (fun x => f x ^ n) fun x =>
@@ -1582,13 +2051,17 @@ theorem IsBigOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g
   | 1 => by simpa
   | n + 2 => by simpa [pow_succ] using h.mul (is_O_with.pow' (n + 1))
 #align asymptotics.is_O_with.pow' Asymptotics.IsBigOWith.pow'
+-/
 
+#print Asymptotics.IsBigOWith.pow /-
 theorem IsBigOWith.pow [NormOneClass R] {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g) :
     ∀ n : ℕ, IsBigOWith (c ^ n) l (fun x => f x ^ n) fun x => g x ^ n
   | 0 => by simpa using h.pow' 0
   | n + 1 => h.pow' (n + 1)
 #align asymptotics.is_O_with.pow Asymptotics.IsBigOWith.pow
+-/
 
+#print Asymptotics.IsBigOWith.of_pow /-
 theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigOWith c l (f ^ n) (g ^ n))
     (hn : n ≠ 0) (hc : c ≤ c' ^ n) (hc' : 0 ≤ c') : IsBigOWith c' l f g :=
   IsBigOWith.of_bound <|
@@ -1601,13 +2074,17 @@ theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigO
             (mul_le_mul_of_nonneg_left (norm_pow_le' _ hn.bot_lt) (pow_nonneg hc' _))
           _ = (c' * ‖g x‖) ^ n := (mul_pow _ _ _).symm
 #align asymptotics.is_O_with.of_pow Asymptotics.IsBigOWith.of_pow
+-/
 
+#print Asymptotics.IsBigO.pow /-
 theorem IsBigO.pow {f : α → R} {g : α → 𝕜} (h : f =O[l] g) (n : ℕ) :
     (fun x => f x ^ n) =O[l] fun x => g x ^ n :=
   let ⟨C, hC⟩ := h.IsBigOWith
   isBigO_iff_isBigOWith.2 ⟨_, hC.pow' n⟩
 #align asymptotics.is_O.pow Asymptotics.IsBigO.pow
+-/
 
+#print Asymptotics.IsBigO.of_pow /-
 theorem IsBigO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (hn : n ≠ 0) (h : (f ^ n) =O[l] (g ^ n)) :
     f =O[l] g := by
   rcases h.exists_pos with ⟨C, hC₀, hC⟩
@@ -1615,7 +2092,9 @@ theorem IsBigO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (hn : n ≠ 0)
   exact ((eventually_ge_at_top _).And <| (tendsto_pow_at_top hn).eventually_ge_atTop C).exists
   exact (hC.of_pow hn hc hc₀).IsBigO
 #align asymptotics.is_O.of_pow Asymptotics.IsBigO.of_pow
+-/
 
+#print Asymptotics.IsLittleO.pow /-
 theorem IsLittleO.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ} (hn : 0 < n) :
     (fun x => f x ^ n) =o[l] fun x => g x ^ n :=
   by
@@ -1623,15 +2102,19 @@ theorem IsLittleO.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ}
   induction' n with n ihn; · simpa only [pow_one]
   convert h.mul ihn <;> simp [pow_succ]
 #align asymptotics.is_o.pow Asymptotics.IsLittleO.pow
+-/
 
+#print Asymptotics.IsLittleO.of_pow /-
 theorem IsLittleO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (h : (f ^ n) =o[l] (g ^ n)) (hn : n ≠ 0) :
     f =o[l] g :=
   IsLittleO.of_isBigOWith fun c hc => (h.def' <| pow_pos hc _).ofPow hn le_rfl hc.le
 #align asymptotics.is_o.of_pow Asymptotics.IsLittleO.of_pow
+-/
 
 /-! ### Inverse -/
 
 
+#print Asymptotics.IsBigOWith.inv_rev /-
 theorem IsBigOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsBigOWith c l f g)
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : IsBigOWith c l (fun x => (g x)⁻¹) fun x => (f x)⁻¹ :=
   by
@@ -1642,17 +2125,22 @@ theorem IsBigOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsBigOWith
     replace hle := inv_le_inv_of_le (norm_pos_iff.2 hx) hle
     simpa only [norm_inv, mul_inv, ← div_eq_inv_mul, div_le_iff hc] using hle
 #align asymptotics.is_O_with.inv_rev Asymptotics.IsBigOWith.inv_rev
+-/
 
+#print Asymptotics.IsBigO.inv_rev /-
 theorem IsBigO.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =O[l] g)
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : (fun x => (g x)⁻¹) =O[l] fun x => (f x)⁻¹ :=
   let ⟨c, hc⟩ := h.IsBigOWith
   (hc.inv_rev h₀).IsBigO
 #align asymptotics.is_O.inv_rev Asymptotics.IsBigO.inv_rev
+-/
 
+#print Asymptotics.IsLittleO.inv_rev /-
 theorem IsLittleO.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =o[l] g)
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : (fun x => (g x)⁻¹) =o[l] fun x => (f x)⁻¹ :=
   IsLittleO.of_isBigOWith fun c hc => (h.def' hc).inv_rev h₀
 #align asymptotics.is_o.inv_rev Asymptotics.IsLittleO.inv_rev
+-/
 
 /-! ### Scalar multiplication -/
 
@@ -1661,42 +2149,55 @@ section SmulConst
 
 variable [NormedSpace 𝕜 E']
 
+#print Asymptotics.IsBigOWith.const_smul_left /-
 theorem IsBigOWith.const_smul_left (h : IsBigOWith c l f' g) (c' : 𝕜) :
     IsBigOWith (‖c'‖ * c) l (fun x => c' • f' x) g :=
   IsBigOWith.of_norm_left <| by
     simpa only [← norm_smul, norm_norm] using h.norm_left.const_mul_left ‖c'‖
 #align asymptotics.is_O_with.const_smul_left Asymptotics.IsBigOWith.const_smul_left
+-/
 
+#print Asymptotics.IsBigO.const_smul_left /-
 theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g :=
   let ⟨b, hb⟩ := h.IsBigOWith
   (hb.const_smul_left _).IsBigO
 #align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_left
+-/
 
+#print Asymptotics.IsLittleO.const_smul_left /-
 theorem IsLittleO.const_smul_left (h : f' =o[l] g) (c : 𝕜) : (c • f') =o[l] g :=
   IsLittleO.of_norm_left <| by simpa only [← norm_smul] using h.norm_left.const_mul_left ‖c‖
 #align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_left
+-/
 
+#print Asymptotics.isBigO_const_smul_left /-
 theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =O[l] g ↔ f' =O[l] g :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
   rw [← is_O_norm_left]; simp only [norm_smul]
   rw [is_O_const_mul_left_iff cne0, is_O_norm_left]
 #align asymptotics.is_O_const_smul_left Asymptotics.isBigO_const_smul_left
+-/
 
+#print Asymptotics.isLittleO_const_smul_left /-
 theorem isLittleO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =o[l] g ↔ f' =o[l] g :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
   rw [← is_o_norm_left]; simp only [norm_smul]
   rw [is_o_const_mul_left_iff cne0, is_o_norm_left]
 #align asymptotics.is_o_const_smul_left Asymptotics.isLittleO_const_smul_left
+-/
 
+#print Asymptotics.isBigO_const_smul_right /-
 theorem isBigO_const_smul_right {c : 𝕜} (hc : c ≠ 0) : (f =O[l] fun x => c • f' x) ↔ f =O[l] f' :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
   rw [← is_O_norm_right]; simp only [norm_smul]
   rw [is_O_const_mul_right_iff cne0, is_O_norm_right]
 #align asymptotics.is_O_const_smul_right Asymptotics.isBigO_const_smul_right
+-/
 
+#print Asymptotics.isLittleO_const_smul_right /-
 theorem isLittleO_const_smul_right {c : 𝕜} (hc : c ≠ 0) :
     (f =o[l] fun x => c • f' x) ↔ f =o[l] f' :=
   by
@@ -1704,6 +2205,7 @@ theorem isLittleO_const_smul_right {c : 𝕜} (hc : c ≠ 0) :
   rw [← is_o_norm_right]; simp only [norm_smul]
   rw [is_o_const_mul_right_iff cne0, is_o_norm_right]
 #align asymptotics.is_o_const_smul_right Asymptotics.isLittleO_const_smul_right
+-/
 
 end SmulConst
 
@@ -1711,35 +2213,45 @@ section Smul
 
 variable [NormedSpace 𝕜 E'] [NormedSpace 𝕜' F'] {k₁ : α → 𝕜} {k₂ : α → 𝕜'}
 
+#print Asymptotics.IsBigOWith.smul /-
 theorem IsBigOWith.smul (h₁ : IsBigOWith c l k₁ k₂) (h₂ : IsBigOWith c' l f' g') :
     IsBigOWith (c * c') l (fun x => k₁ x • f' x) fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul h₂.norm_norm).congr rfl _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
 #align asymptotics.is_O_with.smul Asymptotics.IsBigOWith.smul
+-/
 
+#print Asymptotics.IsBigO.smul /-
 theorem IsBigO.smul (h₁ : k₁ =O[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =O[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
 #align asymptotics.is_O.smul Asymptotics.IsBigO.smul
+-/
 
+#print Asymptotics.IsBigO.smul_isLittleO /-
 theorem IsBigO.smul_isLittleO (h₁ : k₁ =O[l] k₂) (h₂ : f' =o[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul_is_o h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
 #align asymptotics.is_O.smul_is_o Asymptotics.IsBigO.smul_isLittleO
+-/
 
+#print Asymptotics.IsLittleO.smul_isBigO /-
 theorem IsLittleO.smul_isBigO (h₁ : k₁ =o[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul_is_O h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
 #align asymptotics.is_o.smul_is_O Asymptotics.IsLittleO.smul_isBigO
+-/
 
+#print Asymptotics.IsLittleO.smul /-
 theorem IsLittleO.smul (h₁ : k₁ =o[l] k₂) (h₂ : f' =o[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
 #align asymptotics.is_o.smul Asymptotics.IsLittleO.smul
+-/
 
 end Smul
 
@@ -1750,6 +2262,7 @@ section Sum
 
 variable {ι : Type _} {A : ι → α → E'} {C : ι → ℝ} {s : Finset ι}
 
+#print Asymptotics.IsBigOWith.sum /-
 theorem IsBigOWith.sum (h : ∀ 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 :=
   by
@@ -1758,14 +2271,18 @@ theorem IsBigOWith.sum (h : ∀ i ∈ s, IsBigOWith (C i) l (A i) g) :
   · simp only [is, Finset.sum_insert, not_false_iff]
     exact (h _ (Finset.mem_insert_self i s)).add (IH fun j hj => h _ (Finset.mem_insert_of_mem hj))
 #align asymptotics.is_O_with.sum Asymptotics.IsBigOWith.sum
+-/
 
+#print Asymptotics.IsBigO.sum /-
 theorem IsBigO.sum (h : ∀ i ∈ s, A i =O[l] g) : (fun x => ∑ i in s, A i x) =O[l] g :=
   by
   unfold is_O at *
   choose! C hC using h
   exact ⟨_, is_O_with.sum hC⟩
 #align asymptotics.is_O.sum Asymptotics.IsBigO.sum
+-/
 
+#print Asymptotics.IsLittleO.sum /-
 theorem IsLittleO.sum (h : ∀ i ∈ s, A i =o[l] g') : (fun x => ∑ i in s, A i x) =o[l] g' :=
   by
   induction' s using Finset.induction_on with i s is IH
@@ -1773,12 +2290,14 @@ theorem IsLittleO.sum (h : ∀ i ∈ s, A i =o[l] g') : (fun x => ∑ i in s, A
   · simp only [is, Finset.sum_insert, not_false_iff]
     exact (h _ (Finset.mem_insert_self i s)).add (IH fun j hj => h _ (Finset.mem_insert_of_mem hj))
 #align asymptotics.is_o.sum Asymptotics.IsLittleO.sum
+-/
 
 end Sum
 
 /-! ### Relation between `f = o(g)` and `f / g → 0` -/
 
 
+#print Asymptotics.IsLittleO.tendsto_div_nhds_zero /-
 theorem IsLittleO.tendsto_div_nhds_zero {f g : α → 𝕜} (h : f =o[l] g) :
     Tendsto (fun x => f x / g x) l (𝓝 0) :=
   (isLittleO_one_iff 𝕜).mp <|
@@ -1787,24 +2306,31 @@ theorem IsLittleO.tendsto_div_nhds_zero {f g : α → 𝕜} (h : f =o[l] g) :
         simpa only [div_eq_mul_inv] using h.mul_is_O (is_O_refl _ _)
       _ =O[l] fun x => (1 : 𝕜) := isBigO_of_le _ fun x => by simp [div_self_le_one]
 #align asymptotics.is_o.tendsto_div_nhds_zero Asymptotics.IsLittleO.tendsto_div_nhds_zero
+-/
 
+#print Asymptotics.IsLittleO.tendsto_inv_smul_nhds_zero /-
 theorem IsLittleO.tendsto_inv_smul_nhds_zero [NormedSpace 𝕜 E'] {f : α → E'} {g : α → 𝕜}
     {l : Filter α} (h : f =o[l] g) : Tendsto (fun x => (g x)⁻¹ • f x) l (𝓝 0) := by
   simpa only [div_eq_inv_mul, ← norm_inv, ← norm_smul, ← tendsto_zero_iff_norm_tendsto_zero] using
     h.norm_norm.tendsto_div_nhds_zero
 #align asymptotics.is_o.tendsto_inv_smul_nhds_zero Asymptotics.IsLittleO.tendsto_inv_smul_nhds_zero
+-/
 
+#print Asymptotics.isLittleO_iff_tendsto' /-
 theorem isLittleO_iff_tendsto' {f g : α → 𝕜} (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
     f =o[l] g ↔ Tendsto (fun x => f x / g x) l (𝓝 0) :=
   ⟨IsLittleO.tendsto_div_nhds_zero, fun h =>
     (((isLittleO_one_iff _).mpr h).mul_isBigO (isBigO_refl g l)).congr'
       (hgf.mono fun x => div_mul_cancel_of_imp) (eventually_of_forall fun x => one_mul _)⟩
 #align asymptotics.is_o_iff_tendsto' Asymptotics.isLittleO_iff_tendsto'
+-/
 
+#print Asymptotics.isLittleO_iff_tendsto /-
 theorem isLittleO_iff_tendsto {f g : α → 𝕜} (hgf : ∀ x, g x = 0 → f x = 0) :
     f =o[l] g ↔ Tendsto (fun x => f x / g x) l (𝓝 0) :=
   isLittleO_iff_tendsto' (eventually_of_forall hgf)
 #align asymptotics.is_o_iff_tendsto Asymptotics.isLittleO_iff_tendsto
+-/
 
 alias is_o_iff_tendsto' ↔ _ is_o_of_tendsto'
 #align asymptotics.is_o_of_tendsto' Asymptotics.isLittleO_of_tendsto'
@@ -1812,13 +2338,16 @@ alias is_o_iff_tendsto' ↔ _ is_o_of_tendsto'
 alias is_o_iff_tendsto ↔ _ is_o_of_tendsto
 #align asymptotics.is_o_of_tendsto Asymptotics.isLittleO_of_tendsto
 
+#print Asymptotics.isLittleO_const_left_of_ne /-
 theorem isLittleO_const_left_of_ne {c : E''} (hc : c ≠ 0) :
     (fun x => c) =o[l] g ↔ Tendsto (fun x => ‖g x‖) l atTop :=
   by
   simp only [← is_o_one_left_iff ℝ]
   exact ⟨(is_O_const_const (1 : ℝ) hc l).trans_isLittleO, (is_O_const_one ℝ c l).trans_isLittleO⟩
 #align asymptotics.is_o_const_left_of_ne Asymptotics.isLittleO_const_left_of_ne
+-/
 
+#print Asymptotics.isLittleO_const_left /-
 @[simp]
 theorem isLittleO_const_left {c : E''} :
     (fun x => c) =o[l] g'' ↔ c = 0 ∨ Tendsto (norm ∘ g'') l atTop :=
@@ -1827,7 +2356,9 @@ theorem isLittleO_const_left {c : E''} :
   · simp only [is_o_zero, eq_self_iff_true, true_or_iff]
   · simp only [hc, false_or_iff, is_o_const_left_of_ne hc]
 #align asymptotics.is_o_const_left Asymptotics.isLittleO_const_left
+-/
 
+#print Asymptotics.isLittleO_const_const_iff /-
 @[simp]
 theorem isLittleO_const_const_iff [NeBot l] {d : E''} {c : F''} :
     ((fun x => d) =o[l] fun x => c) ↔ d = 0 :=
@@ -1836,26 +2367,35 @@ theorem isLittleO_const_const_iff [NeBot l] {d : E''} {c : F''} :
     not_tendsto_atTop_of_tendsto_nhds tendsto_const_nhds
   simp [Function.const, this]
 #align asymptotics.is_o_const_const_iff Asymptotics.isLittleO_const_const_iff
+-/
 
+#print Asymptotics.isLittleO_pure /-
 @[simp]
 theorem isLittleO_pure {x} : f'' =o[pure x] g'' ↔ f'' x = 0 :=
   calc
     f'' =o[pure x] g'' ↔ (fun y : α => f'' x) =o[pure x] fun _ => g'' x := isLittleO_congr rfl rfl
     _ ↔ f'' x = 0 := isLittleO_const_const_iff
 #align asymptotics.is_o_pure Asymptotics.isLittleO_pure
+-/
 
+#print Asymptotics.isLittleO_const_id_comap_norm_atTop /-
 theorem isLittleO_const_id_comap_norm_atTop (c : F'') :
     (fun x : E'' => c) =o[comap norm atTop] id :=
   isLittleO_const_left.2 <| Or.inr tendsto_comap
 #align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isLittleO_const_id_comap_norm_atTop
+-/
 
+#print Asymptotics.isLittleO_const_id_atTop /-
 theorem isLittleO_const_id_atTop (c : E'') : (fun x : ℝ => c) =o[atTop] id :=
   isLittleO_const_left.2 <| Or.inr tendsto_abs_atTop_atTop
 #align asymptotics.is_o_const_id_at_top Asymptotics.isLittleO_const_id_atTop
+-/
 
+#print Asymptotics.isLittleO_const_id_atBot /-
 theorem isLittleO_const_id_atBot (c : E'') : (fun x : ℝ => c) =o[atBot] id :=
   isLittleO_const_left.2 <| Or.inr tendsto_abs_atBot_atTop
 #align asymptotics.is_o_const_id_at_bot Asymptotics.isLittleO_const_id_atBot
+-/
 
 /-!
 ### Eventually (u / v) * v = u
@@ -1869,20 +2409,26 @@ section EventuallyMulDivCancel
 
 variable {u v : α → 𝕜}
 
+#print Asymptotics.IsBigOWith.eventually_mul_div_cancel /-
 theorem IsBigOWith.eventually_mul_div_cancel (h : IsBigOWith c l u v) : u / v * v =ᶠ[l] u :=
   Eventually.mono h.bound fun y hy => div_mul_cancel_of_imp fun hv => by simpa [hv] using hy
 #align asymptotics.is_O_with.eventually_mul_div_cancel Asymptotics.IsBigOWith.eventually_mul_div_cancel
+-/
 
+#print Asymptotics.IsBigO.eventually_mul_div_cancel /-
 /-- If `u = O(v)` along `l`, then `(u / v) * v = u` eventually at `l`. -/
 theorem IsBigO.eventually_mul_div_cancel (h : u =O[l] v) : u / v * v =ᶠ[l] u :=
   let ⟨c, hc⟩ := h.IsBigOWith
   hc.eventually_mul_div_cancel
 #align asymptotics.is_O.eventually_mul_div_cancel Asymptotics.IsBigO.eventually_mul_div_cancel
+-/
 
+#print Asymptotics.IsLittleO.eventually_mul_div_cancel /-
 /-- If `u = o(v)` along `l`, then `(u / v) * v = u` eventually at `l`. -/
 theorem IsLittleO.eventually_mul_div_cancel (h : u =o[l] v) : u / v * v =ᶠ[l] u :=
   (h.forall_isBigOWith zero_lt_one).eventually_mul_div_cancel
 #align asymptotics.is_o.eventually_mul_div_cancel Asymptotics.IsLittleO.eventually_mul_div_cancel
+-/
 
 end EventuallyMulDivCancel
 
@@ -1893,6 +2439,7 @@ section ExistsMulEq
 
 variable {u v : α → 𝕜}
 
+#print Asymptotics.isBigOWith_of_eq_mul /-
 /-- If `‖φ‖` is eventually bounded by `c`, and `u =ᶠ[l] φ * v`, then we have `is_O_with c u v l`.
     This does not require any assumptions on `c`, which is why we keep this version along with
     `is_O_with_iff_exists_eq_mul`. -/
@@ -1903,7 +2450,9 @@ theorem isBigOWith_of_eq_mul (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖
   simp only [norm_mul, Pi.mul_apply]
   exact mul_le_mul_of_nonneg_right hx (norm_nonneg _)
 #align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mul
+-/
 
+#print Asymptotics.isBigOWith_iff_exists_eq_mul /-
 theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
     IsBigOWith c l u v ↔ ∃ (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
   by
@@ -1915,12 +2464,16 @@ theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
   · rintro ⟨φ, hφ, h⟩
     exact is_O_with_of_eq_mul φ hφ h
 #align asymptotics.is_O_with_iff_exists_eq_mul Asymptotics.isBigOWith_iff_exists_eq_mul
+-/
 
+#print Asymptotics.IsBigOWith.exists_eq_mul /-
 theorem IsBigOWith.exists_eq_mul (h : IsBigOWith c l u v) (hc : 0 ≤ c) :
     ∃ (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
   (isBigOWith_iff_exists_eq_mul hc).mp h
 #align asymptotics.is_O_with.exists_eq_mul Asymptotics.IsBigOWith.exists_eq_mul
+-/
 
+#print Asymptotics.isBigO_iff_exists_eq_mul /-
 theorem isBigO_iff_exists_eq_mul :
     u =O[l] v ↔ ∃ (φ : α → 𝕜) (hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v :=
   by
@@ -1932,10 +2485,12 @@ theorem isBigO_iff_exists_eq_mul :
   · rintro ⟨φ, ⟨c, hφ⟩, huvφ⟩
     exact is_O_iff_is_O_with.2 ⟨c, is_O_with_of_eq_mul φ hφ huvφ⟩
 #align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isBigO_iff_exists_eq_mul
+-/
 
 alias is_O_iff_exists_eq_mul ↔ is_O.exists_eq_mul _
 #align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
 
+#print Asymptotics.isLittleO_iff_exists_eq_mul /-
 theorem isLittleO_iff_exists_eq_mul :
     u =o[l] v ↔ ∃ (φ : α → 𝕜) (hφ : Tendsto φ l (𝓝 0)), u =ᶠ[l] φ * v :=
   by
@@ -1945,6 +2500,7 @@ theorem isLittleO_iff_exists_eq_mul :
     rw [NormedAddCommGroup.tendsto_nhds_zero] at hφ 
     exact is_O_with_of_eq_mul _ ((hφ c hpos).mono fun x => le_of_lt) huvφ
 #align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mul
+-/
 
 alias is_o_iff_exists_eq_mul ↔ is_o.exists_eq_mul _
 #align asymptotics.is_o.exists_eq_mul Asymptotics.IsLittleO.exists_eq_mul
@@ -1954,6 +2510,7 @@ end ExistsMulEq
 /-! ### Miscellanous lemmas -/
 
 
+#print Asymptotics.div_isBoundedUnder_of_isBigO /-
 theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α → 𝕜} (h : f =O[l] g) :
     IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ :=
   by
@@ -1962,7 +2519,9 @@ theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α →
   rw [norm_div]
   exact div_le_of_nonneg_of_le_mul (norm_nonneg _) h₀ hx
 #align asymptotics.div_is_bounded_under_of_is_O Asymptotics.div_isBoundedUnder_of_isBigO
+-/
 
+#print Asymptotics.isBigO_iff_div_isBoundedUnder /-
 theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
     f =O[l] g ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ :=
@@ -1975,12 +2534,16 @@ theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α 
   · simp [hx₁ hgx, hgx]
   · exact (div_le_iff (norm_pos_iff.2 hgx)).mp hx₂
 #align asymptotics.is_O_iff_div_is_bounded_under Asymptotics.isBigO_iff_div_isBoundedUnder
+-/
 
+#print Asymptotics.isBigO_of_div_tendsto_nhds /-
 theorem isBigO_of_div_tendsto_nhds {α : Type _} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) (c : 𝕜) (H : Filter.Tendsto (f / g) l (𝓝 c)) : f =O[l] g :=
   (isBigO_iff_div_isBoundedUnder hgf).2 <| H.norm.isBoundedUnder_le
 #align asymptotics.is_O_of_div_tendsto_nhds Asymptotics.isBigO_of_div_tendsto_nhds
+-/
 
+#print Asymptotics.IsLittleO.tendsto_zero_of_tendsto /-
 theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type _} [NormedAddCommGroup E] [NormedField 𝕜]
     {u : α → E} {v : α → 𝕜} {l : Filter α} {y : 𝕜} (huv : u =o[l] v) (hv : Tendsto v l (𝓝 y)) :
     Tendsto u l (𝓝 0) := by
@@ -1988,7 +2551,9 @@ theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type _} [NormedAddCommGro
   · rwa [is_o_one_iff] at h 
   exact huv.trans_is_O (hv.is_O_one 𝕜)
 #align asymptotics.is_o.tendsto_zero_of_tendsto Asymptotics.IsLittleO.tendsto_zero_of_tendsto
+-/
 
+#print Asymptotics.isLittleO_pow_pow /-
 theorem isLittleO_pow_pow {m n : ℕ} (h : m < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x ^ m :=
   by
   rcases lt_iff_exists_add.1 h with ⟨p, hp0 : 0 < p, rfl⟩
@@ -1996,30 +2561,42 @@ theorem isLittleO_pow_pow {m n : ℕ} (h : m < n) : (fun x : 𝕜 => x ^ n) =o[
     simpa only [pow_add, one_pow, mul_one]
   exact is_O.mul_is_o (is_O_refl _ _) (is_o.pow ((is_o_one_iff _).2 tendsto_id) hp0)
 #align asymptotics.is_o_pow_pow Asymptotics.isLittleO_pow_pow
+-/
 
+#print Asymptotics.isLittleO_norm_pow_norm_pow /-
 theorem isLittleO_norm_pow_norm_pow {m n : ℕ} (h : m < n) :
     (fun x : E' => ‖x‖ ^ n) =o[𝓝 0] fun x => ‖x‖ ^ m :=
   (isLittleO_pow_pow h).comp_tendsto tendsto_norm_zero
 #align asymptotics.is_o_norm_pow_norm_pow Asymptotics.isLittleO_norm_pow_norm_pow
+-/
 
+#print Asymptotics.isLittleO_pow_id /-
 theorem isLittleO_pow_id {n : ℕ} (h : 1 < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x := by
   convert is_o_pow_pow h; simp only [pow_one]
 #align asymptotics.is_o_pow_id Asymptotics.isLittleO_pow_id
+-/
 
+#print Asymptotics.isLittleO_norm_pow_id /-
 theorem isLittleO_norm_pow_id {n : ℕ} (h : 1 < n) : (fun x : E' => ‖x‖ ^ n) =o[𝓝 0] fun x => x := by
   simpa only [pow_one, is_o_norm_right] using @is_o_norm_pow_norm_pow E' _ _ _ h
 #align asymptotics.is_o_norm_pow_id Asymptotics.isLittleO_norm_pow_id
+-/
 
+#print Asymptotics.IsBigO.eq_zero_of_norm_pow_within /-
 theorem IsBigO.eq_zero_of_norm_pow_within {f : E'' → F''} {s : Set E''} {x₀ : E''} {n : ℕ}
     (h : f =O[𝓝[s] x₀] fun x => ‖x - x₀‖ ^ n) (hx₀ : x₀ ∈ s) (hn : 0 < n) : f x₀ = 0 :=
   mem_of_mem_nhdsWithin hx₀ h.eq_zero_imp <| by simp_rw [sub_self, norm_zero, zero_pow hn]
 #align asymptotics.is_O.eq_zero_of_norm_pow_within Asymptotics.IsBigO.eq_zero_of_norm_pow_within
+-/
 
+#print Asymptotics.IsBigO.eq_zero_of_norm_pow /-
 theorem IsBigO.eq_zero_of_norm_pow {f : E'' → F''} {x₀ : E''} {n : ℕ}
     (h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n) (hn : 0 < n) : f x₀ = 0 := by
   rw [← nhdsWithin_univ] at h ; exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
 #align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_pow
+-/
 
+#print Asymptotics.isLittleO_pow_sub_pow_sub /-
 theorem isLittleO_pow_sub_pow_sub (x₀ : E') {n m : ℕ} (h : n < m) :
     (fun x => ‖x - x₀‖ ^ m) =o[𝓝 x₀] fun x => ‖x - x₀‖ ^ n :=
   haveI : tendsto (fun x => ‖x - x₀‖) (𝓝 x₀) (𝓝 0) :=
@@ -2029,12 +2606,16 @@ theorem isLittleO_pow_sub_pow_sub (x₀ : E') {n m : ℕ} (h : n < m) :
     exact tendsto_id.sub tendsto_const_nhds
   (is_o_pow_pow h).comp_tendsto this
 #align asymptotics.is_o_pow_sub_pow_sub Asymptotics.isLittleO_pow_sub_pow_sub
+-/
 
+#print Asymptotics.isLittleO_pow_sub_sub /-
 theorem isLittleO_pow_sub_sub (x₀ : E') {m : ℕ} (h : 1 < m) :
     (fun x => ‖x - x₀‖ ^ m) =o[𝓝 x₀] fun x => x - x₀ := by
   simpa only [is_o_norm_right, pow_one] using is_o_pow_sub_pow_sub x₀ h
 #align asymptotics.is_o_pow_sub_sub Asymptotics.isLittleO_pow_sub_sub
+-/
 
+#print Asymptotics.IsBigOWith.right_le_sub_of_lt_1 /-
 theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₂ x - f₁ x :=
   IsBigOWith.of_bound <|
@@ -2045,23 +2626,31 @@ theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith
       · exact le_trans (sub_le_sub_left hx _) (norm_sub_norm_le _ _)
       · exact sub_pos.2 hc
 #align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_1
+-/
 
+#print Asymptotics.IsBigOWith.right_le_add_of_lt_1 /-
 theorem IsBigOWith.right_le_add_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₁ x + f₂ x :=
   (h.neg_right.right_le_sub_of_lt_1 hc).neg_right.of_neg_left.congr rfl (fun x => rfl) fun x => by
     rw [neg_sub, sub_neg_eq_add]
 #align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_1
+-/
 
+#print Asymptotics.IsLittleO.right_isBigO_sub /-
 theorem IsLittleO.right_isBigO_sub {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
     f₂ =O[l] fun x => f₂ x - f₁ x :=
   ((h.def' one_half_pos).right_le_sub_of_lt_1 one_half_lt_one).IsBigO
 #align asymptotics.is_o.right_is_O_sub Asymptotics.IsLittleO.right_isBigO_sub
+-/
 
+#print Asymptotics.IsLittleO.right_isBigO_add /-
 theorem IsLittleO.right_isBigO_add {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
     f₂ =O[l] fun x => f₁ x + f₂ x :=
   ((h.def' one_half_pos).right_le_add_of_lt_1 one_half_lt_one).IsBigO
 #align asymptotics.is_o.right_is_O_add Asymptotics.IsLittleO.right_isBigO_add
+-/
 
+#print Asymptotics.bound_of_isBigO_cofinite /-
 /-- If `f x = O(g x)` along `cofinite`, then there exists a positive constant `C` such that
 `‖f x‖ ≤ C * ‖g x‖` whenever `g x ≠ 0`. -/
 theorem bound_of_isBigO_cofinite (h : f =O[cofinite] g'') :
@@ -2075,7 +2664,9 @@ theorem bound_of_isBigO_cofinite (h : f =O[cofinite] g'') :
   rw [max_mul_of_nonneg _ _ (norm_nonneg _), le_max_iff, or_iff_not_imp_left, not_le]
   exact fun hx => (div_le_iff (norm_pos_iff.2 h₀)).1 (this _ hx)
 #align asymptotics.bound_of_is_O_cofinite Asymptotics.bound_of_isBigO_cofinite
+-/
 
+#print Asymptotics.isBigO_cofinite_iff /-
 theorem isBigO_cofinite_iff (h : ∀ x, g'' x = 0 → f'' x = 0) :
     f'' =O[cofinite] g'' ↔ ∃ C, ∀ x, ‖f'' x‖ ≤ C * ‖g'' x‖ :=
   ⟨fun h' =>
@@ -2083,23 +2674,31 @@ theorem isBigO_cofinite_iff (h : ∀ x, g'' x = 0 → f'' x = 0) :
     ⟨C, fun x => if hx : g'' x = 0 then by simp [h _ hx, hx] else hC hx⟩,
     fun h => (isBigO_top.2 h).mono le_top⟩
 #align asymptotics.is_O_cofinite_iff Asymptotics.isBigO_cofinite_iff
+-/
 
+#print Asymptotics.bound_of_isBigO_nat_atTop /-
 theorem bound_of_isBigO_nat_atTop {f : ℕ → E} {g'' : ℕ → E''} (h : f =O[atTop] g'') :
     ∃ C > 0, ∀ ⦃x⦄, g'' x ≠ 0 → ‖f x‖ ≤ C * ‖g'' x‖ :=
   bound_of_isBigO_cofinite <| by rwa [Nat.cofinite_eq_atTop]
 #align asymptotics.bound_of_is_O_nat_at_top Asymptotics.bound_of_isBigO_nat_atTop
+-/
 
+#print Asymptotics.isBigO_nat_atTop_iff /-
 theorem isBigO_nat_atTop_iff {f : ℕ → E''} {g : ℕ → F''} (h : ∀ x, g x = 0 → f x = 0) :
     f =O[atTop] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ := by
   rw [← Nat.cofinite_eq_atTop, is_O_cofinite_iff h]
 #align asymptotics.is_O_nat_at_top_iff Asymptotics.isBigO_nat_atTop_iff
+-/
 
+#print Asymptotics.isBigO_one_nat_atTop_iff /-
 theorem isBigO_one_nat_atTop_iff {f : ℕ → E''} :
     f =O[atTop] (fun n => 1 : ℕ → ℝ) ↔ ∃ C, ∀ n, ‖f n‖ ≤ C :=
   Iff.trans (isBigO_nat_atTop_iff fun n h => (one_ne_zero h).elim) <| by
     simp only [norm_one, mul_one]
 #align asymptotics.is_O_one_nat_at_top_iff Asymptotics.isBigO_one_nat_atTop_iff
+-/
 
+#print Asymptotics.isBigOWith_pi /-
 theorem isBigOWith_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} {C : ℝ} (hC : 0 ≤ C) :
     IsBigOWith C l f g' ↔ ∀ i, IsBigOWith C l (fun x => f x i) g' :=
@@ -2107,7 +2706,9 @@ theorem isBigOWith_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, No
   have : ∀ x, 0 ≤ C * ‖g' x‖ := fun x => mul_nonneg hC (norm_nonneg _)
   simp only [is_O_with_iff, pi_norm_le_iff_of_nonneg (this _), eventually_all]
 #align asymptotics.is_O_with_pi Asymptotics.isBigOWith_pi
+-/
 
+#print Asymptotics.isBigO_pi /-
 @[simp]
 theorem isBigO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} : f =O[l] g' ↔ ∀ i, (fun x => f x i) =O[l] g' :=
@@ -2115,7 +2716,9 @@ theorem isBigO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, Normed
   simp only [is_O_iff_eventually_is_O_with, ← eventually_all]
   exact eventually_congr (eventually_at_top.2 ⟨0, fun c => is_O_with_pi⟩)
 #align asymptotics.is_O_pi Asymptotics.isBigO_pi
+-/
 
+#print Asymptotics.isLittleO_pi /-
 @[simp]
 theorem isLittleO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} : f =o[l] g' ↔ ∀ i, (fun x => f x i) =o[l] g' :=
@@ -2123,21 +2726,26 @@ theorem isLittleO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, Nor
   simp (config := { contextual := true }) only [is_o, is_O_with_pi, le_of_lt]
   exact ⟨fun h i c hc => h hc i, fun h c hc i => h i hc⟩
 #align asymptotics.is_o_pi Asymptotics.isLittleO_pi
+-/
 
 end Asymptotics
 
 open Asymptotics
 
+#print summable_of_isBigO /-
 theorem summable_of_isBigO {ι E} [NormedAddCommGroup E] [CompleteSpace E] {f : ι → E} {g : ι → ℝ}
     (hg : Summable g) (h : f =O[cofinite] g) : Summable f :=
   let ⟨C, hC⟩ := h.IsBigOWith
   summable_of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.mul_left _) hC.bound
 #align summable_of_is_O summable_of_isBigO
+-/
 
+#print summable_of_isBigO_nat /-
 theorem summable_of_isBigO_nat {E} [NormedAddCommGroup E] [CompleteSpace E] {f : ℕ → E} {g : ℕ → ℝ}
     (hg : Summable g) (h : f =O[atTop] g) : Summable f :=
   summable_of_isBigO hg <| Nat.cofinite_eq_atTop.symm ▸ h
 #align summable_of_is_O_nat summable_of_isBigO_nat
+-/
 
 namespace LocalHomeomorph
 
@@ -2145,6 +2753,7 @@ variable {α : Type _} {β : Type _} [TopologicalSpace α] [TopologicalSpace β]
 
 variable {E : Type _} [Norm E] {F : Type _} [Norm F]
 
+#print LocalHomeomorph.isBigOWith_congr /-
 /-- Transfer `is_O_with` over a `local_homeomorph`. -/
 theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
     {g : β → F} {C : ℝ} : IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
@@ -2155,18 +2764,23 @@ theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.targ
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg f hx)
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg g hx)⟩
 #align local_homeomorph.is_O_with_congr LocalHomeomorph.isBigOWith_congr
+-/
 
+#print LocalHomeomorph.isBigO_congr /-
 /-- Transfer `is_O` over a `local_homeomorph`. -/
 theorem isBigO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F} :
     f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by unfold is_O;
   exact exists_congr fun C => e.is_O_with_congr hb
 #align local_homeomorph.is_O_congr LocalHomeomorph.isBigO_congr
+-/
 
+#print LocalHomeomorph.isLittleO_congr /-
 /-- Transfer `is_o` over a `local_homeomorph`. -/
 theorem isLittleO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
     {g : β → F} : f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) := by unfold is_o;
   exact forall₂_congr fun c hc => e.is_O_with_congr hb
 #align local_homeomorph.is_o_congr LocalHomeomorph.isLittleO_congr
+-/
 
 end LocalHomeomorph
 
@@ -2178,23 +2792,29 @@ variable {E : Type _} [Norm E] {F : Type _} [Norm F]
 
 open Asymptotics
 
+#print Homeomorph.isBigOWith_congr /-
 /-- Transfer `is_O_with` over a `homeomorph`. -/
 theorem isBigOWith_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} {C : ℝ} :
     IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
   e.toLocalHomeomorph.isBigOWith_congr trivial
 #align homeomorph.is_O_with_congr Homeomorph.isBigOWith_congr
+-/
 
+#print Homeomorph.isBigO_congr /-
 /-- Transfer `is_O` over a `homeomorph`. -/
 theorem isBigO_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
     f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by unfold is_O;
   exact exists_congr fun C => e.is_O_with_congr
 #align homeomorph.is_O_congr Homeomorph.isBigO_congr
+-/
 
+#print Homeomorph.isLittleO_congr /-
 /-- Transfer `is_o` over a `homeomorph`. -/
 theorem isLittleO_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
     f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) := by unfold is_o;
   exact forall₂_congr fun c hc => e.is_O_with_congr
 #align homeomorph.is_o_congr Homeomorph.isLittleO_congr
+-/
 
 end Homeomorph
 
Diff
@@ -205,7 +205,6 @@ theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith
       calc
         ‖f x‖ ≤ c * ‖g' x‖ := hx
         _ ≤ _ := mul_le_mul_of_nonneg_right hc (norm_nonneg _)
-        
 #align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weaken
 
 theorem IsBigOWith.exists_pos (h : IsBigOWith c l f g') :
@@ -456,7 +455,6 @@ theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k)
     ‖f x‖ ≤ c * ‖g x‖ := hx
     _ ≤ c * (c' * ‖k x‖) := (mul_le_mul_of_nonneg_left hx' hc)
     _ = c * c' * ‖k x‖ := (mul_assoc _ _ _).symm
-    
 #align asymptotics.is_O_with.trans Asymptotics.IsBigOWith.trans
 
 @[trans]
@@ -1030,7 +1028,6 @@ theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂
       calc
         ‖f₁ x + f₂ x‖ ≤ c₁ * ‖g x‖ + c₂ * ‖g x‖ := norm_add_le_of_le hx₁ hx₂
         _ = (c₁ + c₂) * ‖g x‖ := (add_mul _ _ _).symm
-        
 #align asymptotics.is_O_with.add Asymptotics.IsBigOWith.add
 
 theorem IsBigO.add (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
@@ -1233,7 +1230,6 @@ theorem isBigO_pure {x} : f'' =O[pure x] g'' ↔ g'' x = 0 → f'' x = 0 :=
   calc
     f'' =O[pure x] g'' ↔ (fun y : α => f'' x) =O[pure x] fun _ => g'' x := isBigO_congr rfl rfl
     _ ↔ g'' x = 0 → f'' x = 0 := isBigO_const_const_iff _
-    
 #align asymptotics.is_O_pure Asymptotics.isBigO_pure
 
 end ZeroConst
@@ -1310,7 +1306,6 @@ theorem isLittleO_one_left_iff : (fun x => 1 : α → F) =o[l] f ↔ Tendsto (fu
       simp only [norm_one, mul_one, true_imp_iff, mem_Ici]
     _ ↔ Tendsto (fun x => ‖f x‖) l atTop :=
       atTop_hasCountableBasis_of_archimedean.1.tendsto_right_iff.symm
-    
 #align asymptotics.is_o_one_left_iff Asymptotics.isLittleO_one_left_iff
 
 theorem Filter.Tendsto.isBigO_one {c : E'} (h : Tendsto f' l (𝓝 c)) :
@@ -1605,7 +1600,6 @@ theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigO
           _ ≤ c' ^ n * ‖g x‖ ^ n :=
             (mul_le_mul_of_nonneg_left (norm_pow_le' _ hn.bot_lt) (pow_nonneg hc' _))
           _ = (c' * ‖g x‖) ^ n := (mul_pow _ _ _).symm
-          
 #align asymptotics.is_O_with.of_pow Asymptotics.IsBigOWith.of_pow
 
 theorem IsBigO.pow {f : α → R} {g : α → 𝕜} (h : f =O[l] g) (n : ℕ) :
@@ -1792,7 +1786,6 @@ theorem IsLittleO.tendsto_div_nhds_zero {f g : α → 𝕜} (h : f =o[l] g) :
       (fun x => f x / g x) =o[l] fun x => g x / g x := by
         simpa only [div_eq_mul_inv] using h.mul_is_O (is_O_refl _ _)
       _ =O[l] fun x => (1 : 𝕜) := isBigO_of_le _ fun x => by simp [div_self_le_one]
-      
 #align asymptotics.is_o.tendsto_div_nhds_zero Asymptotics.IsLittleO.tendsto_div_nhds_zero
 
 theorem IsLittleO.tendsto_inv_smul_nhds_zero [NormedSpace 𝕜 E'] {f : α → E'} {g : α → 𝕜}
@@ -1849,7 +1842,6 @@ theorem isLittleO_pure {x} : f'' =o[pure x] g'' ↔ f'' x = 0 :=
   calc
     f'' =o[pure x] g'' ↔ (fun y : α => f'' x) =o[pure x] fun _ => g'' x := isLittleO_congr rfl rfl
     _ ↔ f'' x = 0 := isLittleO_const_const_iff
-    
 #align asymptotics.is_o_pure Asymptotics.isLittleO_pure
 
 theorem isLittleO_const_id_comap_norm_atTop (c : F'') :
Diff
@@ -306,7 +306,7 @@ theorem isBigOWith_congr (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁
   unfold is_O_with
   subst c₂
   apply Filter.eventually_congr
-  filter_upwards [hf, hg]with _ e₁ e₂
+  filter_upwards [hf, hg] with _ e₁ e₂
   rw [e₁, e₂]
 #align asymptotics.is_O_with_congr Asymptotics.isBigOWith_congr
 
@@ -451,7 +451,7 @@ theorem IsLittleO.mono (h : f =o[l'] g) (hl : l ≤ l') : f =o[l] g :=
 theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k) (hc : 0 ≤ c) :
     IsBigOWith (c * c') l f k := by
   unfold is_O_with at *
-  filter_upwards [hfg, hgk]with x hx hx'
+  filter_upwards [hfg, hgk] with x hx hx'
   calc
     ‖f x‖ ≤ c * ‖g x‖ := hx
     _ ≤ c * (c' * ‖k x‖) := (mul_le_mul_of_nonneg_left hx' hc)
@@ -946,7 +946,7 @@ end
 
 theorem IsBigOWith.prod_left_same (hf : IsBigOWith c l f' k') (hg : IsBigOWith c l g' k') :
     IsBigOWith c l (fun x => (f' x, g' x)) k' := by
-  rw [is_O_with_iff] at * <;> filter_upwards [hf, hg]with x using max_le
+  rw [is_O_with_iff] at * <;> filter_upwards [hf, hg] with x using max_le
 #align asymptotics.is_O_with.prod_left_same Asymptotics.IsBigOWith.prod_left_same
 
 theorem IsBigOWith.prod_left (hf : IsBigOWith c l f' k') (hg : IsBigOWith c' l g' k') :
@@ -1026,8 +1026,8 @@ variable {f₁ f₂ : α → E'} {g₁ g₂ : α → F'}
 theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂ l f₂ g) :
     IsBigOWith (c₁ + c₂) l (fun x => f₁ x + f₂ x) g := by
   rw [is_O_with] at * <;>
-    filter_upwards [h₁,
-      h₂]with x hx₁ hx₂ using calc
+    filter_upwards [h₁, h₂] with x hx₁ hx₂ using
+      calc
         ‖f₁ x + f₂ x‖ ≤ c₁ * ‖g x‖ + c₂ * ‖g x‖ := norm_add_le_of_le hx₁ hx₂
         _ = (c₁ + c₂) * ‖g x‖ := (add_mul _ _ _).symm
         
@@ -1543,7 +1543,7 @@ theorem IsBigOWith.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} {c₁ c
     IsBigOWith (c₁ * c₂) l (fun x => f₁ x * f₂ x) fun x => g₁ x * g₂ x :=
   by
   unfold is_O_with at *
-  filter_upwards [h₁, h₂]with _ hx₁ hx₂
+  filter_upwards [h₁, h₂] with _ hx₁ hx₂
   apply le_trans (norm_mul_le _ _)
   convert mul_le_mul hx₁ hx₂ (norm_nonneg _) (le_trans (norm_nonneg _) hx₁) using 1
   rw [norm_mul, mul_mul_mul_comm]
Diff
@@ -209,22 +209,22 @@ theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith
 #align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weaken
 
 theorem IsBigOWith.exists_pos (h : IsBigOWith c l f g') :
-    ∃ (c' : _)(H : 0 < c'), IsBigOWith c' l f g' :=
+    ∃ (c' : _) (H : 0 < c'), IsBigOWith c' l f g' :=
   ⟨max c 1, lt_of_lt_of_le zero_lt_one (le_max_right c 1), h.weaken <| le_max_left c 1⟩
 #align asymptotics.is_O_with.exists_pos Asymptotics.IsBigOWith.exists_pos
 
-theorem IsBigO.exists_pos (h : f =O[l] g') : ∃ (c : _)(H : 0 < c), IsBigOWith c l f g' :=
+theorem IsBigO.exists_pos (h : f =O[l] g') : ∃ (c : _) (H : 0 < c), IsBigOWith c l f g' :=
   let ⟨c, hc⟩ := h.IsBigOWith
   hc.exists_pos
 #align asymptotics.is_O.exists_pos Asymptotics.IsBigO.exists_pos
 
 theorem IsBigOWith.exists_nonneg (h : IsBigOWith c l f g') :
-    ∃ (c' : _)(H : 0 ≤ c'), IsBigOWith c' l f g' :=
+    ∃ (c' : _) (H : 0 ≤ c'), IsBigOWith c' l f g' :=
   let ⟨c, cpos, hc⟩ := h.exists_pos
   ⟨c, le_of_lt cpos, hc⟩
 #align asymptotics.is_O_with.exists_nonneg Asymptotics.IsBigOWith.exists_nonneg
 
-theorem IsBigO.exists_nonneg (h : f =O[l] g') : ∃ (c : _)(H : 0 ≤ c), IsBigOWith c l f g' :=
+theorem IsBigO.exists_nonneg (h : f =O[l] g') : ∃ (c : _) (H : 0 ≤ c), IsBigOWith c l f g' :=
   let ⟨c, hc⟩ := h.IsBigOWith
   hc.exists_nonneg
 #align asymptotics.is_O.exists_nonneg Asymptotics.IsBigO.exists_nonneg
@@ -241,7 +241,8 @@ theorem isBigO_iff_eventually : f =O[l] g' ↔ ∀ᶠ c in atTop, ∀ᶠ x in l,
 #align asymptotics.is_O_iff_eventually Asymptotics.isBigO_iff_eventually
 
 theorem IsBigO.exists_mem_basis {ι} {p : ι → Prop} {s : ι → Set α} (h : f =O[l] g')
-    (hb : l.HasBasis p s) : ∃ (c : ℝ)(hc : 0 < c)(i : ι)(hi : p i), ∀ x ∈ s i, ‖f x‖ ≤ c * ‖g' x‖ :=
+    (hb : l.HasBasis p s) :
+    ∃ (c : ℝ) (hc : 0 < c) (i : ι) (hi : p i), ∀ x ∈ s i, ‖f x‖ ≤ c * ‖g' x‖ :=
   flip Exists₂.imp h.exists_pos fun c hc h => by
     simpa only [is_O_with_iff, hb.eventually_iff, exists_prop] using h
 #align asymptotics.is_O.exists_mem_basis Asymptotics.IsBigO.exists_mem_basis
@@ -259,7 +260,7 @@ theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x,
     · refine' (H.def one_pos).mono fun x h₀' => _
       rw [Nat.cast_zero, MulZeroClass.zero_mul]
       refine' h₀.elim (fun hf => (hf x).trans _) fun hg => hg x
-      rwa [one_mul] at h₀'
+      rwa [one_mul] at h₀' 
     · have : (0 : ℝ) < n.succ := Nat.cast_pos.2 n.succ_pos
       exact (is_O_with_inv this).1 (H.def' <| inv_pos.2 this)
   · refine' fun H => is_o_iff.2 fun ε ε0 => _
@@ -559,7 +560,7 @@ theorem isLittleO_irrefl' (h : ∃ᶠ x in l, ‖f' x‖ ≠ 0) : ¬f' =o[l] f'
   by
   intro ho
   rcases((ho.bound one_half_pos).and_frequently h).exists with ⟨x, hle, hne⟩
-  rw [one_div, ← div_eq_inv_mul] at hle
+  rw [one_div, ← div_eq_inv_mul] at hle 
   exact (half_lt_self (lt_of_le_of_ne (norm_nonneg _) hne.symm)).not_le hle
 #align asymptotics.is_o_irrefl' Asymptotics.isLittleO_irrefl'
 
@@ -1359,7 +1360,7 @@ theorem isBigO_const_iff {c : F''} :
   refine' ⟨fun h => ⟨fun hc => is_O_zero_right_iff.1 (by rwa [← hc]), h.isBoundedUnder_le⟩, _⟩
   rintro ⟨hcf, hf⟩
   rcases eq_or_ne c 0 with (hc | hc)
-  exacts[(hcf hc).trans_isBigO (is_O_zero _ _), hf.is_O_const hc]
+  exacts [(hcf hc).trans_isBigO (is_O_zero _ _), hf.is_O_const hc]
 #align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iff
 
 theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
@@ -1912,7 +1913,7 @@ theorem isBigOWith_of_eq_mul (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖
 #align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mul
 
 theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
-    IsBigOWith c l u v ↔ ∃ (φ : α → 𝕜)(hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
+    IsBigOWith c l u v ↔ ∃ (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
   by
   constructor
   · intro h
@@ -1924,12 +1925,12 @@ theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
 #align asymptotics.is_O_with_iff_exists_eq_mul Asymptotics.isBigOWith_iff_exists_eq_mul
 
 theorem IsBigOWith.exists_eq_mul (h : IsBigOWith c l u v) (hc : 0 ≤ c) :
-    ∃ (φ : α → 𝕜)(hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
+    ∃ (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
   (isBigOWith_iff_exists_eq_mul hc).mp h
 #align asymptotics.is_O_with.exists_eq_mul Asymptotics.IsBigOWith.exists_eq_mul
 
 theorem isBigO_iff_exists_eq_mul :
-    u =O[l] v ↔ ∃ (φ : α → 𝕜)(hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v :=
+    u =O[l] v ↔ ∃ (φ : α → 𝕜) (hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v :=
   by
   constructor
   · rintro h
@@ -1944,12 +1945,12 @@ alias is_O_iff_exists_eq_mul ↔ is_O.exists_eq_mul _
 #align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
 
 theorem isLittleO_iff_exists_eq_mul :
-    u =o[l] v ↔ ∃ (φ : α → 𝕜)(hφ : Tendsto φ l (𝓝 0)), u =ᶠ[l] φ * v :=
+    u =o[l] v ↔ ∃ (φ : α → 𝕜) (hφ : Tendsto φ l (𝓝 0)), u =ᶠ[l] φ * v :=
   by
   constructor
   · exact fun h => ⟨fun x => u x / v x, h.tendsto_div_nhds_zero, h.eventually_mul_div_cancel.symm⟩
   · unfold is_o; rintro ⟨φ, hφ, huvφ⟩ c hpos
-    rw [NormedAddCommGroup.tendsto_nhds_zero] at hφ
+    rw [NormedAddCommGroup.tendsto_nhds_zero] at hφ 
     exact is_O_with_of_eq_mul _ ((hφ c hpos).mono fun x => le_of_lt) huvφ
 #align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mul
 
@@ -1976,7 +1977,7 @@ theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α 
   by
   refine' ⟨div_is_bounded_under_of_is_O, fun h => _⟩
   obtain ⟨c, hc⟩ := h
-  simp only [eventually_map, norm_div] at hc
+  simp only [eventually_map, norm_div] at hc 
   refine' is_O.of_bound c (hc.mp <| hgf.mono fun x hx₁ hx₂ => _)
   by_cases hgx : g x = 0
   · simp [hx₁ hgx, hgx]
@@ -1992,7 +1993,7 @@ theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type _} [NormedAddCommGro
     {u : α → E} {v : α → 𝕜} {l : Filter α} {y : 𝕜} (huv : u =o[l] v) (hv : Tendsto v l (𝓝 y)) :
     Tendsto u l (𝓝 0) := by
   suffices h : u =o[l] fun x => (1 : 𝕜)
-  · rwa [is_o_one_iff] at h
+  · rwa [is_o_one_iff] at h 
   exact huv.trans_is_O (hv.is_O_one 𝕜)
 #align asymptotics.is_o.tendsto_zero_of_tendsto Asymptotics.IsLittleO.tendsto_zero_of_tendsto
 
@@ -2024,7 +2025,7 @@ theorem IsBigO.eq_zero_of_norm_pow_within {f : E'' → F''} {s : Set E''} {x₀
 
 theorem IsBigO.eq_zero_of_norm_pow {f : E'' → F''} {x₀ : E''} {n : ℕ}
     (h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n) (hn : 0 < n) : f x₀ = 0 := by
-  rw [← nhdsWithin_univ] at h; exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
+  rw [← nhdsWithin_univ] at h ; exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
 #align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_pow
 
 theorem isLittleO_pow_sub_pow_sub (x₀ : E') {n m : ℕ} (h : n < m) :
@@ -2047,7 +2048,7 @@ theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith
   IsBigOWith.of_bound <|
     mem_of_superset h.bound fun x hx =>
       by
-      simp only [mem_set_of_eq] at hx⊢
+      simp only [mem_set_of_eq] at hx ⊢
       rw [mul_comm, one_div, ← div_eq_mul_inv, le_div_iff, mul_sub, mul_one, mul_comm]
       · exact le_trans (sub_le_sub_left hx _) (norm_sub_norm_le _ _)
       · exact sub_pos.2 hc
@@ -2075,7 +2076,7 @@ theorem bound_of_isBigO_cofinite (h : f =O[cofinite] g'') :
     ∃ C > 0, ∀ ⦃x⦄, g'' x ≠ 0 → ‖f x‖ ≤ C * ‖g'' x‖ :=
   by
   rcases h.exists_pos with ⟨C, C₀, hC⟩
-  rw [is_O_with, eventually_cofinite] at hC
+  rw [is_O_with, eventually_cofinite] at hC 
   rcases(hC.to_finset.image fun x => ‖f x‖ / ‖g'' x‖).exists_le with ⟨C', hC'⟩
   have : ∀ x, C * ‖g'' x‖ < ‖f x‖ → ‖f x‖ / ‖g'' x‖ ≤ C' := by simpa using hC'
   refine' ⟨max C C', lt_max_iff.2 (Or.inl C₀), fun x h₀ => _⟩
Diff
@@ -55,7 +55,7 @@ the Fréchet derivative.)
 
 open Filter Set
 
-open Topology BigOperators Classical Filter NNReal
+open scoped Topology BigOperators Classical Filter NNReal
 
 namespace Asymptotics
 
Diff
@@ -94,28 +94,10 @@ irreducible_def IsBigOWith (c : ℝ) (l : Filter α) (f : α → E) (g : α →
 #align asymptotics.is_O_with Asymptotics.IsBigOWith
 -/
 
-/- warning: asymptotics.is_O_with_iff -> Asymptotics.isBigOWith_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g) (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_iff Asymptotics.isBigOWith_iffₓ'. -/
 /-- Definition of `is_O_with`. We record it in a lemma as `is_O_with` is irreducible. -/
 theorem isBigOWith_iff : IsBigOWith c l f g ↔ ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by rw [is_O_with]
 #align asymptotics.is_O_with_iff Asymptotics.isBigOWith_iff
 
-/- warning: asymptotics.is_O_with.bound -> Asymptotics.IsBigOWith.bound is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.bound Asymptotics.IsBigOWith.boundₓ'. -/
-/- warning: asymptotics.is_O_with.of_bound -> Asymptotics.IsBigOWith.of_bound is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_bound Asymptotics.IsBigOWith.of_boundₓ'. -/
 alias is_O_with_iff ↔ is_O_with.bound is_O_with.of_bound
 #align asymptotics.is_O_with.bound Asymptotics.IsBigOWith.bound
 #align asymptotics.is_O_with.of_bound Asymptotics.IsBigOWith.of_bound
@@ -133,55 +115,25 @@ irreducible_def IsBigO (l : Filter α) (f : α → E) (g : α → F) : Prop :=
 -- mathport name: «expr =O[ ] »
 notation:100 f " =O[" l "] " g:100 => IsBigO l f g
 
-/- warning: asymptotics.is_O_iff_is_O_with -> Asymptotics.isBigO_iff_isBigOWith is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (Exists.{1} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (Exists.{1} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_is_O_with Asymptotics.isBigO_iff_isBigOWithₓ'. -/
 /-- Definition of `is_O` in terms of `is_O_with`. We record it in a lemma as `is_O` is
 irreducible. -/
 theorem isBigO_iff_isBigOWith : f =O[l] g ↔ ∃ c : ℝ, IsBigOWith c l f g := by rw [is_O]
 #align asymptotics.is_O_iff_is_O_with Asymptotics.isBigO_iff_isBigOWith
 
-/- warning: asymptotics.is_O_iff -> Asymptotics.isBigO_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (Exists.{1} Real (fun (c : Real) => Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (Exists.{1} Real (fun (c : Real) => Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff Asymptotics.isBigO_iffₓ'. -/
 /-- Definition of `is_O` in terms of filters. We record it in a lemma as we will set
 `is_O` to be irreducible at the end of this file. -/
 theorem isBigO_iff : f =O[l] g ↔ ∃ c : ℝ, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by
   simp only [is_O, is_O_with]
 #align asymptotics.is_O_iff Asymptotics.isBigO_iff
 
-/- warning: asymptotics.is_O.of_bound -> Asymptotics.IsBigO.of_bound is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} (c : Real), (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} (c : Real), (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_bound Asymptotics.IsBigO.of_boundₓ'. -/
 theorem IsBigO.of_bound (c : ℝ) (h : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
   isBigO_iff.2 ⟨c, h⟩
 #align asymptotics.is_O.of_bound Asymptotics.IsBigO.of_bound
 
-/- warning: asymptotics.is_O.of_bound' -> Asymptotics.IsBigO.of_bound' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F _inst_2 (g x))) l) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u1} F _inst_2 (g x))) l) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_bound' Asymptotics.IsBigO.of_bound'ₓ'. -/
 theorem IsBigO.of_bound' (h : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖) : f =O[l] g :=
   IsBigO.of_bound 1 <| by simp_rw [one_mul]; exact h
 #align asymptotics.is_O.of_bound' Asymptotics.IsBigO.of_bound'
 
-/- warning: asymptotics.is_O.bound -> Asymptotics.IsBigO.bound is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Exists.{1} Real (fun (c : Real) => Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Exists.{1} Real (fun (c : Real) => Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.bound Asymptotics.IsBigO.boundₓ'. -/
 theorem IsBigO.bound : f =O[l] g → ∃ c : ℝ, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
   isBigO_iff.1
 #align asymptotics.is_O.bound Asymptotics.IsBigO.bound
@@ -199,78 +151,30 @@ irreducible_def IsLittleO (l : Filter α) (f : α → E) (g : α → F) : Prop :
 -- mathport name: «expr =o[ ] »
 notation:100 f " =o[" l "] " g:100 => IsLittleO l f g
 
-/- warning: asymptotics.is_o_iff_forall_is_O_with -> Asymptotics.isLittleO_iff_forall_isBigOWith is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_forall_is_O_with Asymptotics.isLittleO_iff_forall_isBigOWithₓ'. -/
 /-- Definition of `is_o` in terms of `is_O_with`. We record it in a lemma as we will set
 `is_o` to be irreducible at the end of this file. -/
 theorem isLittleO_iff_forall_isBigOWith : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l f g := by
   rw [is_o]
 #align asymptotics.is_o_iff_forall_is_O_with Asymptotics.isLittleO_iff_forall_isBigOWith
 
-/- warning: asymptotics.is_o.forall_is_O_with -> Asymptotics.IsLittleO.forall_isBigOWith is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.forall_is_O_with Asymptotics.IsLittleO.forall_isBigOWithₓ'. -/
-/- warning: asymptotics.is_o.of_is_O_with -> Asymptotics.IsLittleO.of_isBigOWith is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_is_O_with Asymptotics.IsLittleO.of_isBigOWithₓ'. -/
 alias is_o_iff_forall_is_O_with ↔ is_o.forall_is_O_with is_o.of_is_O_with
 #align asymptotics.is_o.forall_is_O_with Asymptotics.IsLittleO.forall_isBigOWith
 #align asymptotics.is_o.of_is_O_with Asymptotics.IsLittleO.of_isBigOWith
 
-/- warning: asymptotics.is_o_iff -> Asymptotics.isLittleO_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff Asymptotics.isLittleO_iffₓ'. -/
 /-- Definition of `is_o` in terms of filters. We record it in a lemma as we will set
 `is_o` to be irreducible at the end of this file. -/
 theorem isLittleO_iff : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by
   simp only [is_o, is_O_with]
 #align asymptotics.is_o_iff Asymptotics.isLittleO_iff
 
-/- warning: asymptotics.is_o.bound -> Asymptotics.IsLittleO.bound is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.bound Asymptotics.IsLittleO.boundₓ'. -/
-/- warning: asymptotics.is_o.of_bound -> Asymptotics.IsLittleO.of_bound is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_boundₓ'. -/
 alias is_o_iff ↔ is_o.bound is_o.of_bound
 #align asymptotics.is_o.bound Asymptotics.IsLittleO.bound
 #align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_bound
 
-/- warning: asymptotics.is_o.def -> Asymptotics.IsLittleO.def is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.def Asymptotics.IsLittleO.defₓ'. -/
 theorem IsLittleO.def (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
   isLittleO_iff.1 h hc
 #align asymptotics.is_o.def Asymptotics.IsLittleO.def
 
-/- warning: asymptotics.is_o.def' -> Asymptotics.IsLittleO.def' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.def' Asymptotics.IsLittleO.def'ₓ'. -/
 theorem IsLittleO.def' (h : f =o[l] g) (hc : 0 < c) : IsBigOWith c l f g :=
   isBigOWith_iff.2 <| isLittleO_iff.1 h hc
 #align asymptotics.is_o.def' Asymptotics.IsLittleO.def'
@@ -280,51 +184,21 @@ end Defs
 /-! ### Conversions -/
 
 
-/- warning: asymptotics.is_O_with.is_O -> Asymptotics.IsBigOWith.isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.is_O Asymptotics.IsBigOWith.isBigOₓ'. -/
 theorem IsBigOWith.isBigO (h : IsBigOWith c l f g) : f =O[l] g := by rw [is_O] <;> exact ⟨c, h⟩
 #align asymptotics.is_O_with.is_O Asymptotics.IsBigOWith.isBigO
 
-/- warning: asymptotics.is_o.is_O_with -> Asymptotics.IsLittleO.isBigOWith is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.is_O_with Asymptotics.IsLittleO.isBigOWithₓ'. -/
 theorem IsLittleO.isBigOWith (hgf : f =o[l] g) : IsBigOWith 1 l f g :=
   hgf.def' zero_lt_one
 #align asymptotics.is_o.is_O_with Asymptotics.IsLittleO.isBigOWith
 
-/- warning: asymptotics.is_o.is_O -> Asymptotics.IsLittleO.isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.is_O Asymptotics.IsLittleO.isBigOₓ'. -/
 theorem IsLittleO.isBigO (hgf : f =o[l] g) : f =O[l] g :=
   hgf.IsBigOWith.IsBigO
 #align asymptotics.is_o.is_O Asymptotics.IsLittleO.isBigO
 
-/- warning: asymptotics.is_O.is_O_with -> Asymptotics.IsBigO.isBigOWith is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Exists.{1} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Exists.{1} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.is_O_with Asymptotics.IsBigO.isBigOWithₓ'. -/
 theorem IsBigO.isBigOWith : f =O[l] g → ∃ c : ℝ, IsBigOWith c l f g :=
   isBigO_iff_isBigOWith.1
 #align asymptotics.is_O.is_O_with Asymptotics.IsBigO.isBigOWith
 
-/- warning: asymptotics.is_O_with.weaken -> Asymptotics.IsBigOWith.weaken is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {c' : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.hasLe c c') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {c' : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.instLEReal c c') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weakenₓ'. -/
 theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith c' l f g' :=
   IsBigOWith.of_bound <|
     mem_of_superset h.bound fun x hx =>
@@ -334,102 +208,48 @@ theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith
         
 #align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weaken
 
-/- warning: asymptotics.is_O_with.exists_pos -> Asymptotics.IsBigOWith.exists_pos is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Exists.{1} Real (fun (c' : Real) => Exists.{0} (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') (fun (H : LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l f g')))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Exists.{1} Real (fun (c' : Real) => Exists.{0} (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') (fun (H : LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l f g')))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.exists_pos Asymptotics.IsBigOWith.exists_posₓ'. -/
 theorem IsBigOWith.exists_pos (h : IsBigOWith c l f g') :
     ∃ (c' : _)(H : 0 < c'), IsBigOWith c' l f g' :=
   ⟨max c 1, lt_of_lt_of_le zero_lt_one (le_max_right c 1), h.weaken <| le_max_left c 1⟩
 #align asymptotics.is_O_with.exists_pos Asymptotics.IsBigOWith.exists_pos
 
-/- warning: asymptotics.is_O.exists_pos -> Asymptotics.IsBigO.exists_pos is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) (fun (H : LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) (fun (H : LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_pos Asymptotics.IsBigO.exists_posₓ'. -/
 theorem IsBigO.exists_pos (h : f =O[l] g') : ∃ (c : _)(H : 0 < c), IsBigOWith c l f g' :=
   let ⟨c, hc⟩ := h.IsBigOWith
   hc.exists_pos
 #align asymptotics.is_O.exists_pos Asymptotics.IsBigO.exists_pos
 
-/- warning: asymptotics.is_O_with.exists_nonneg -> Asymptotics.IsBigOWith.exists_nonneg is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Exists.{1} Real (fun (c' : Real) => Exists.{0} (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') (fun (H : LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l f g')))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Exists.{1} Real (fun (c' : Real) => Exists.{0} (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') (fun (H : LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l f g')))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.exists_nonneg Asymptotics.IsBigOWith.exists_nonnegₓ'. -/
 theorem IsBigOWith.exists_nonneg (h : IsBigOWith c l f g') :
     ∃ (c' : _)(H : 0 ≤ c'), IsBigOWith c' l f g' :=
   let ⟨c, cpos, hc⟩ := h.exists_pos
   ⟨c, le_of_lt cpos, hc⟩
 #align asymptotics.is_O_with.exists_nonneg Asymptotics.IsBigOWith.exists_nonneg
 
-/- warning: asymptotics.is_O.exists_nonneg -> Asymptotics.IsBigO.exists_nonneg is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) (fun (H : LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) (fun (H : LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_nonneg Asymptotics.IsBigO.exists_nonnegₓ'. -/
 theorem IsBigO.exists_nonneg (h : f =O[l] g') : ∃ (c : _)(H : 0 ≤ c), IsBigOWith c l f g' :=
   let ⟨c, hc⟩ := h.IsBigOWith
   hc.exists_nonneg
 #align asymptotics.is_O.exists_nonneg Asymptotics.IsBigO.exists_nonneg
 
-/- warning: asymptotics.is_O_iff_eventually_is_O_with -> Asymptotics.isBigO_iff_eventually_isBigOWith is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') (Filter.Eventually.{0} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') (Filter.atTop.{0} Real Real.preorder))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (Filter.Eventually.{0} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') (Filter.atTop.{0} Real Real.instPreorderReal))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_eventually_is_O_with Asymptotics.isBigO_iff_eventually_isBigOWithₓ'. -/
 /-- `f = O(g)` if and only if `is_O_with c f g` for all sufficiently large `c`. -/
 theorem isBigO_iff_eventually_isBigOWith : f =O[l] g' ↔ ∀ᶠ c in atTop, IsBigOWith c l f g' :=
   isBigO_iff_isBigOWith.trans
     ⟨fun ⟨c, hc⟩ => mem_atTop_sets.2 ⟨c, fun c' hc' => hc.weaken hc'⟩, fun h => h.exists⟩
 #align asymptotics.is_O_iff_eventually_is_O_with Asymptotics.isBigO_iff_eventually_isBigOWith
 
-/- warning: asymptotics.is_O_iff_eventually -> Asymptotics.isBigO_iff_eventually is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') (Filter.Eventually.{0} Real (fun (c : Real) => Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))) l) (Filter.atTop.{0} Real Real.preorder))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (Filter.Eventually.{0} Real (fun (c : Real) => Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))) l) (Filter.atTop.{0} Real Real.instPreorderReal))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_eventually Asymptotics.isBigO_iff_eventuallyₓ'. -/
 /-- `f = O(g)` if and only if `∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖` for all sufficiently large `c`. -/
 theorem isBigO_iff_eventually : f =O[l] g' ↔ ∀ᶠ c in atTop, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g' x‖ :=
   isBigO_iff_eventually_isBigOWith.trans <| by simp only [is_O_with]
 #align asymptotics.is_O_iff_eventually Asymptotics.isBigO_iff_eventually
 
-/- warning: asymptotics.is_O.exists_mem_basis -> Asymptotics.IsBigO.exists_mem_basis is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} {ι : Sort.{u4}} {p : ι -> Prop} {s : ι -> (Set.{u1} α)}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Filter.HasBasis.{u1, u4} α ι l p s) -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) (fun (hc : LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) => Exists.{u4} ι (fun (i : ι) => Exists.{0} (p i) (fun (hi : p i) => forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (s i)) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α} {ι : Sort.{u4}} {p : ι -> Prop} {s : ι -> (Set.{u3} α)}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Filter.HasBasis.{u3, u4} α ι l p s) -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) (fun (hc : LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) => Exists.{u4} ι (fun (i : ι) => Exists.{0} (p i) (fun (hi : p i) => forall (x : α), (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (s i)) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_mem_basis Asymptotics.IsBigO.exists_mem_basisₓ'. -/
 theorem IsBigO.exists_mem_basis {ι} {p : ι → Prop} {s : ι → Set α} (h : f =O[l] g')
     (hb : l.HasBasis p s) : ∃ (c : ℝ)(hc : 0 < c)(i : ι)(hi : p i), ∀ x ∈ s i, ‖f x‖ ≤ c * ‖g' x‖ :=
   flip Exists₂.imp h.exists_pos fun c hc h => by
     simpa only [is_O_with_iff, hb.eventually_iff, exists_prop] using h
 #align asymptotics.is_O.exists_mem_basis Asymptotics.IsBigO.exists_mem_basis
 
-/- warning: asymptotics.is_O_with_inv -> Asymptotics.isBigOWith_inv is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 (Inv.inv.{0} Real Real.hasInv c) l f g) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u3} F _inst_2 (g x))) l))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 (Inv.inv.{0} Real Real.instInvReal c) l f g) (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u1} F _inst_2 (g x))) l))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_inv Asymptotics.isBigOWith_invₓ'. -/
 theorem isBigOWith_inv (hc : 0 < c) : IsBigOWith c⁻¹ l f g ↔ ∀ᶠ x in l, c * ‖f x‖ ≤ ‖g x‖ := by
   simp only [is_O_with, ← div_eq_inv_mul, le_div_iff' hc]
 #align asymptotics.is_O_with_inv Asymptotics.isBigOWith_inv
 
-/- warning: asymptotics.is_o_iff_nat_mul_le_aux -> Asymptotics.isLittleO_iff_nat_mul_le_aux is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Or (forall (x : α), LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u2} E _inst_1 (f x))) (forall (x : α), LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u3} F _inst_2 (g x)))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (forall (n : Nat), Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) n) (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u3} F _inst_2 (g x))) l))
-but is expected to have type
-  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Or (forall (x : α), LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u3} E _inst_1 (f x))) (forall (x : α), LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u2} F _inst_2 (g x)))) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E F _inst_1 _inst_2 l f g) (forall (n : Nat), Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u3} E _inst_1 (f x))) (Norm.norm.{u2} F _inst_2 (g x))) l))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_nat_mul_le_aux Asymptotics.isLittleO_iff_nat_mul_le_auxₓ'. -/
 -- We prove this lemma with strange assumptions to get two lemmas below automatically
 theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x, 0 ≤ ‖g x‖) :
     f =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f x‖ ≤ ‖g x‖ :=
@@ -451,22 +271,10 @@ theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x,
     exact inv_pos.2 hn₀
 #align asymptotics.is_o_iff_nat_mul_le_aux Asymptotics.isLittleO_iff_nat_mul_le_aux
 
-/- warning: asymptotics.is_o_iff_nat_mul_le -> Asymptotics.isLittleO_iff_nat_mul_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') (forall (n : Nat), Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) n) (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) l)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (forall (n : Nat), Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) l)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_nat_mul_le Asymptotics.isLittleO_iff_nat_mul_leₓ'. -/
 theorem isLittleO_iff_nat_mul_le : f =o[l] g' ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f x‖ ≤ ‖g' x‖ :=
   isLittleO_iff_nat_mul_le_aux (Or.inr fun x => norm_nonneg _)
 #align asymptotics.is_o_iff_nat_mul_le Asymptotics.isLittleO_iff_nat_mul_le
 
-/- warning: asymptotics.is_o_iff_nat_mul_le' -> Asymptotics.isLittleO_iff_nat_mul_le' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) (forall (n : Nat), Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) n) (Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x))) (Norm.norm.{u2} F _inst_2 (g x))) l)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g) (forall (n : Nat), Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x))) (Norm.norm.{u1} F _inst_2 (g x))) l)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_nat_mul_le' Asymptotics.isLittleO_iff_nat_mul_le'ₓ'. -/
 theorem isLittleO_iff_nat_mul_le' : f' =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f' x‖ ≤ ‖g x‖ :=
   isLittleO_iff_nat_mul_le_aux (Or.inl fun x => norm_nonneg _)
 #align asymptotics.is_o_iff_nat_mul_le' Asymptotics.isLittleO_iff_nat_mul_le'
@@ -474,23 +282,11 @@ theorem isLittleO_iff_nat_mul_le' : f' =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, 
 /-! ### Subsingleton -/
 
 
-/- warning: asymptotics.is_o_of_subsingleton -> Asymptotics.isLittleO_of_subsingleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : Subsingleton.{succ u2} E'], Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g'
-but is expected to have type
-  forall {α : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u2} α} [_inst_14 : Subsingleton.{succ u3} E'], Asymptotics.IsLittleO.{u2, u3, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g'
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_of_subsingleton Asymptotics.isLittleO_of_subsingletonₓ'. -/
 @[nontriviality]
 theorem isLittleO_of_subsingleton [Subsingleton E'] : f' =o[l] g' :=
   IsLittleO.of_bound fun c hc => by simp [Subsingleton.elim (f' _) 0, mul_nonneg hc.le]
 #align asymptotics.is_o_of_subsingleton Asymptotics.isLittleO_of_subsingleton
 
-/- warning: asymptotics.is_O_of_subsingleton -> Asymptotics.isBigO_of_subsingleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : Subsingleton.{succ u2} E'], Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g'
-but is expected to have type
-  forall {α : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u2} α} [_inst_14 : Subsingleton.{succ u3} E'], Asymptotics.IsBigO.{u2, u3, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g'
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_of_subsingleton Asymptotics.isBigO_of_subsingletonₓ'. -/
 @[nontriviality]
 theorem isBigO_of_subsingleton [Subsingleton E'] : f' =O[l] g' :=
   isLittleO_of_subsingleton.IsBigO
@@ -503,12 +299,6 @@ variable {f₁ f₂ : α → E} {g₁ g₂ : α → F}
 /-! ### Congruence -/
 
 
-/- warning: asymptotics.is_O_with_congr -> Asymptotics.isBigOWith_congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Eq.{1} Real c₁ c₂) -> (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₁ l f₁ g₁) (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₂ l f₂ g₂))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Eq.{1} Real c₁ c₂) -> (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₁ l f₁ g₁) (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₂ l f₂ g₂))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_congr Asymptotics.isBigOWith_congrₓ'. -/
 theorem isBigOWith_congr (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
     IsBigOWith c₁ l f₁ g₁ ↔ IsBigOWith c₂ l f₂ g₂ :=
   by
@@ -519,204 +309,90 @@ theorem isBigOWith_congr (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁
   rw [e₁, e₂]
 #align asymptotics.is_O_with_congr Asymptotics.isBigOWith_congr
 
-/- warning: asymptotics.is_O_with.congr' -> Asymptotics.IsBigOWith.congr' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₁ l f₁ g₁) -> (Eq.{1} Real c₁ c₂) -> (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₂ l f₂ g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₁ l f₁ g₁) -> (Eq.{1} Real c₁ c₂) -> (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₂ l f₂ g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr' Asymptotics.IsBigOWith.congr'ₓ'. -/
 theorem IsBigOWith.congr' (h : IsBigOWith c₁ l f₁ g₁) (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂)
     (hg : g₁ =ᶠ[l] g₂) : IsBigOWith c₂ l f₂ g₂ :=
   (isBigOWith_congr hc hf hg).mp h
 #align asymptotics.is_O_with.congr' Asymptotics.IsBigOWith.congr'
 
-/- warning: asymptotics.is_O_with.congr -> Asymptotics.IsBigOWith.congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₁ l f₁ g₁) -> (Eq.{1} Real c₁ c₂) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₂ l f₂ g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₁ l f₁ g₁) -> (Eq.{1} Real c₁ c₂) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₂ l f₂ g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr Asymptotics.IsBigOWith.congrₓ'. -/
 theorem IsBigOWith.congr (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₂ :=
   h.congr' hc (univ_mem' hf) (univ_mem' hg)
 #align asymptotics.is_O_with.congr Asymptotics.IsBigOWith.congr
 
-/- warning: asymptotics.is_O_with.congr_left -> Asymptotics.IsBigOWith.congr_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f₂ g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f₂ g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr_left Asymptotics.IsBigOWith.congr_leftₓ'. -/
 theorem IsBigOWith.congr_left (h : IsBigOWith c l f₁ g) (hf : ∀ x, f₁ x = f₂ x) :
     IsBigOWith c l f₂ g :=
   h.congr rfl hf fun _ => rfl
 #align asymptotics.is_O_with.congr_left Asymptotics.IsBigOWith.congr_left
 
-/- warning: asymptotics.is_O_with.congr_right -> Asymptotics.IsBigOWith.congr_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {l : Filter.{u1} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g₁) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {l : Filter.{u3} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g₁) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr_right Asymptotics.IsBigOWith.congr_rightₓ'. -/
 theorem IsBigOWith.congr_right (h : IsBigOWith c l f g₁) (hg : ∀ x, g₁ x = g₂ x) :
     IsBigOWith c l f g₂ :=
   h.congr rfl (fun _ => rfl) hg
 #align asymptotics.is_O_with.congr_right Asymptotics.IsBigOWith.congr_right
 
-/- warning: asymptotics.is_O_with.congr_const -> Asymptotics.IsBigOWith.congr_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c₁ : Real} {c₂ : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₁ l f g) -> (Eq.{1} Real c₁ c₂) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₂ l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c₁ : Real} {c₂ : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₁ l f g) -> (Eq.{1} Real c₁ c₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₂ l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr_const Asymptotics.IsBigOWith.congr_constₓ'. -/
 theorem IsBigOWith.congr_const (h : IsBigOWith c₁ l f g) (hc : c₁ = c₂) : IsBigOWith c₂ l f g :=
   h.congr hc (fun _ => rfl) fun _ => rfl
 #align asymptotics.is_O_with.congr_const Asymptotics.IsBigOWith.congr_const
 
-/- warning: asymptotics.is_O_congr -> Asymptotics.isBigO_congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_congr Asymptotics.isBigO_congrₓ'. -/
 theorem isBigO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =O[l] g₁ ↔ f₂ =O[l] g₂ := by
   unfold is_O; exact exists_congr fun c => is_O_with_congr rfl hf hg
 #align asymptotics.is_O_congr Asymptotics.isBigO_congr
 
-/- warning: asymptotics.is_O.congr' -> Asymptotics.IsBigO.congr' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) -> (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) -> (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr' Asymptotics.IsBigO.congr'ₓ'. -/
 theorem IsBigO.congr' (h : f₁ =O[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₂ =O[l] g₂ :=
   (isBigO_congr hf hg).mp h
 #align asymptotics.is_O.congr' Asymptotics.IsBigO.congr'
 
-/- warning: asymptotics.is_O.congr -> Asymptotics.IsBigO.congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr Asymptotics.IsBigO.congrₓ'. -/
 theorem IsBigO.congr (h : f₁ =O[l] g₁) (hf : ∀ x, f₁ x = f₂ x) (hg : ∀ x, g₁ x = g₂ x) :
     f₂ =O[l] g₂ :=
   h.congr' (univ_mem' hf) (univ_mem' hg)
 #align asymptotics.is_O.congr Asymptotics.IsBigO.congr
 
-/- warning: asymptotics.is_O.congr_left -> Asymptotics.IsBigO.congr_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr_left Asymptotics.IsBigO.congr_leftₓ'. -/
 theorem IsBigO.congr_left (h : f₁ =O[l] g) (hf : ∀ x, f₁ x = f₂ x) : f₂ =O[l] g :=
   h.congr hf fun _ => rfl
 #align asymptotics.is_O.congr_left Asymptotics.IsBigO.congr_left
 
-/- warning: asymptotics.is_O.congr_right -> Asymptotics.IsBigO.congr_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₁) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₁) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr_right Asymptotics.IsBigO.congr_rightₓ'. -/
 theorem IsBigO.congr_right (h : f =O[l] g₁) (hg : ∀ x, g₁ x = g₂ x) : f =O[l] g₂ :=
   h.congr (fun _ => rfl) hg
 #align asymptotics.is_O.congr_right Asymptotics.IsBigO.congr_right
 
-/- warning: asymptotics.is_o_congr -> Asymptotics.isLittleO_congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_congr Asymptotics.isLittleO_congrₓ'. -/
 theorem isLittleO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =o[l] g₁ ↔ f₂ =o[l] g₂ := by
   unfold is_o; exact forall₂_congr fun c hc => is_O_with_congr (Eq.refl c) hf hg
 #align asymptotics.is_o_congr Asymptotics.isLittleO_congr
 
-/- warning: asymptotics.is_o.congr' -> Asymptotics.IsLittleO.congr' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) -> (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) -> (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr' Asymptotics.IsLittleO.congr'ₓ'. -/
 theorem IsLittleO.congr' (h : f₁ =o[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₂ =o[l] g₂ :=
   (isLittleO_congr hf hg).mp h
 #align asymptotics.is_o.congr' Asymptotics.IsLittleO.congr'
 
-/- warning: asymptotics.is_o.congr -> Asymptotics.IsLittleO.congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr Asymptotics.IsLittleO.congrₓ'. -/
 theorem IsLittleO.congr (h : f₁ =o[l] g₁) (hf : ∀ x, f₁ x = f₂ x) (hg : ∀ x, g₁ x = g₂ x) :
     f₂ =o[l] g₂ :=
   h.congr' (univ_mem' hf) (univ_mem' hg)
 #align asymptotics.is_o.congr Asymptotics.IsLittleO.congr
 
-/- warning: asymptotics.is_o.congr_left -> Asymptotics.IsLittleO.congr_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr_left Asymptotics.IsLittleO.congr_leftₓ'. -/
 theorem IsLittleO.congr_left (h : f₁ =o[l] g) (hf : ∀ x, f₁ x = f₂ x) : f₂ =o[l] g :=
   h.congr hf fun _ => rfl
 #align asymptotics.is_o.congr_left Asymptotics.IsLittleO.congr_left
 
-/- warning: asymptotics.is_o.congr_right -> Asymptotics.IsLittleO.congr_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₁) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₁) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr_right Asymptotics.IsLittleO.congr_rightₓ'. -/
 theorem IsLittleO.congr_right (h : f =o[l] g₁) (hg : ∀ x, g₁ x = g₂ x) : f =o[l] g₂ :=
   h.congr (fun _ => rfl) hg
 #align asymptotics.is_o.congr_right Asymptotics.IsLittleO.congr_right
 
-/- warning: filter.eventually_eq.trans_is_O -> Filter.EventuallyEq.trans_isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g : α -> F}, (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g)
-Case conversion may be inaccurate. Consider using '#align filter.eventually_eq.trans_is_O Filter.EventuallyEq.trans_isBigOₓ'. -/
 @[trans]
 theorem Filter.EventuallyEq.trans_isBigO {f₁ f₂ : α → E} {g : α → F} (hf : f₁ =ᶠ[l] f₂)
     (h : f₂ =O[l] g) : f₁ =O[l] g :=
   h.congr' hf.symm EventuallyEq.rfl
 #align filter.eventually_eq.trans_is_O Filter.EventuallyEq.trans_isBigO
 
-/- warning: filter.eventually_eq.trans_is_o -> Filter.EventuallyEq.trans_isLittleO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g : α -> F}, (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g)
-Case conversion may be inaccurate. Consider using '#align filter.eventually_eq.trans_is_o Filter.EventuallyEq.trans_isLittleOₓ'. -/
 @[trans]
 theorem Filter.EventuallyEq.trans_isLittleO {f₁ f₂ : α → E} {g : α → F} (hf : f₁ =ᶠ[l] f₂)
     (h : f₂ =o[l] g) : f₁ =o[l] g :=
   h.congr' hf.symm EventuallyEq.rfl
 #align filter.eventually_eq.trans_is_o Filter.EventuallyEq.trans_isLittleO
 
-/- warning: asymptotics.is_O.trans_eventually_eq -> Asymptotics.IsBigO.trans_eventuallyEq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₁) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₁) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_eventually_eq Asymptotics.IsBigO.trans_eventuallyEqₓ'. -/
 @[trans]
 theorem IsBigO.trans_eventuallyEq {f : α → E} {g₁ g₂ : α → F} (h : f =O[l] g₁) (hg : g₁ =ᶠ[l] g₂) :
     f =O[l] g₂ :=
   h.congr' EventuallyEq.rfl hg
 #align asymptotics.is_O.trans_eventually_eq Asymptotics.IsBigO.trans_eventuallyEq
 
-/- warning: asymptotics.is_o.trans_eventually_eq -> Asymptotics.IsLittleO.trans_eventuallyEq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₁) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₂)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₁) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₂)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_eventually_eq Asymptotics.IsLittleO.trans_eventuallyEqₓ'. -/
 @[trans]
 theorem IsLittleO.trans_eventuallyEq {f : α → E} {g₁ g₂ : α → F} (h : f =o[l] g₁)
     (hg : g₁ =ᶠ[l] g₂) : f =o[l] g₂ :=
@@ -728,109 +404,49 @@ end congr
 /-! ### Filter operations and transitivity -/
 
 
-/- warning: asymptotics.is_O_with.comp_tendsto -> Asymptotics.IsBigOWith.comp_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u3, u4} α E F _inst_1 _inst_2 c l f g) -> (forall {k : β -> α} {l' : Filter.{u2} β}, (Filter.Tendsto.{u2, u1} β α k l' l) -> (Asymptotics.IsBigOWith.{u2, u3, u4} β E F _inst_1 _inst_2 c l' (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k)))
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F _inst_1 _inst_2 c l f g) -> (forall {k : β -> α} {l' : Filter.{u1} β}, (Filter.Tendsto.{u1, u4} β α k l' l) -> (Asymptotics.IsBigOWith.{u1, u3, u2} β E F _inst_1 _inst_2 c l' (Function.comp.{succ u1, succ u4, succ u3} β α E f k) (Function.comp.{succ u1, succ u4, succ u2} β α F g k)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.comp_tendsto Asymptotics.IsBigOWith.comp_tendstoₓ'. -/
 theorem IsBigOWith.comp_tendsto (hcfg : IsBigOWith c l f g) {k : β → α} {l' : Filter β}
     (hk : Tendsto k l' l) : IsBigOWith c l' (f ∘ k) (g ∘ k) :=
   IsBigOWith.of_bound <| hk hcfg.bound
 #align asymptotics.is_O_with.comp_tendsto Asymptotics.IsBigOWith.comp_tendsto
 
-/- warning: asymptotics.is_O.comp_tendsto -> Asymptotics.IsBigO.comp_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u4} α E F _inst_1 _inst_2 l f g) -> (forall {k : β -> α} {l' : Filter.{u2} β}, (Filter.Tendsto.{u2, u1} β α k l' l) -> (Asymptotics.IsBigO.{u2, u3, u4} β E F _inst_1 _inst_2 l' (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k)))
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (forall {k : β -> α} {l' : Filter.{u1} β}, (Filter.Tendsto.{u1, u4} β α k l' l) -> (Asymptotics.IsBigO.{u1, u3, u2} β E F _inst_1 _inst_2 l' (Function.comp.{succ u1, succ u4, succ u3} β α E f k) (Function.comp.{succ u1, succ u4, succ u2} β α F g k)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.comp_tendsto Asymptotics.IsBigO.comp_tendstoₓ'. -/
 theorem IsBigO.comp_tendsto (hfg : f =O[l] g) {k : β → α} {l' : Filter β} (hk : Tendsto k l' l) :
     (f ∘ k) =O[l'] (g ∘ k) :=
   isBigO_iff_isBigOWith.2 <| hfg.IsBigOWith.imp fun c h => h.comp_tendsto hk
 #align asymptotics.is_O.comp_tendsto Asymptotics.IsBigO.comp_tendsto
 
-/- warning: asymptotics.is_o.comp_tendsto -> Asymptotics.IsLittleO.comp_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u3, u4} α E F _inst_1 _inst_2 l f g) -> (forall {k : β -> α} {l' : Filter.{u2} β}, (Filter.Tendsto.{u2, u1} β α k l' l) -> (Asymptotics.IsLittleO.{u2, u3, u4} β E F _inst_1 _inst_2 l' (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k)))
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (forall {k : β -> α} {l' : Filter.{u1} β}, (Filter.Tendsto.{u1, u4} β α k l' l) -> (Asymptotics.IsLittleO.{u1, u3, u2} β E F _inst_1 _inst_2 l' (Function.comp.{succ u1, succ u4, succ u3} β α E f k) (Function.comp.{succ u1, succ u4, succ u2} β α F g k)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.comp_tendsto Asymptotics.IsLittleO.comp_tendstoₓ'. -/
 theorem IsLittleO.comp_tendsto (hfg : f =o[l] g) {k : β → α} {l' : Filter β} (hk : Tendsto k l' l) :
     (f ∘ k) =o[l'] (g ∘ k) :=
   IsLittleO.of_isBigOWith fun c cpos => (hfg.forall_isBigOWith cpos).comp_tendsto hk
 #align asymptotics.is_o.comp_tendsto Asymptotics.IsLittleO.comp_tendsto
 
-/- warning: asymptotics.is_O_with_map -> Asymptotics.isBigOWith_map is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {c : Real} {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u2} β}, Iff (Asymptotics.IsBigOWith.{u1, u3, u4} α E F _inst_1 _inst_2 c (Filter.map.{u2, u1} β α k l) f g) (Asymptotics.IsBigOWith.{u2, u3, u4} β E F _inst_1 _inst_2 c l (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u4}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u4} β}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Filter.map.{u4, u3} β α k l) f g) (Asymptotics.IsBigOWith.{u4, u2, u1} β E F _inst_1 _inst_2 c l (Function.comp.{succ u4, succ u3, succ u2} β α E f k) (Function.comp.{succ u4, succ u3, succ u1} β α F g k))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_map Asymptotics.isBigOWith_mapₓ'. -/
 @[simp]
 theorem isBigOWith_map {k : β → α} {l : Filter β} :
     IsBigOWith c (map k l) f g ↔ IsBigOWith c l (f ∘ k) (g ∘ k) := by unfold is_O_with;
   exact eventually_map
 #align asymptotics.is_O_with_map Asymptotics.isBigOWith_map
 
-/- warning: asymptotics.is_O_map -> Asymptotics.isBigO_map is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u2} β}, Iff (Asymptotics.IsBigO.{u1, u3, u4} α E F _inst_1 _inst_2 (Filter.map.{u2, u1} β α k l) f g) (Asymptotics.IsBigO.{u2, u3, u4} β E F _inst_1 _inst_2 l (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u4}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u4} β}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 (Filter.map.{u4, u3} β α k l) f g) (Asymptotics.IsBigO.{u4, u2, u1} β E F _inst_1 _inst_2 l (Function.comp.{succ u4, succ u3, succ u2} β α E f k) (Function.comp.{succ u4, succ u3, succ u1} β α F g k))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_map Asymptotics.isBigO_mapₓ'. -/
 @[simp]
 theorem isBigO_map {k : β → α} {l : Filter β} : f =O[map k l] g ↔ (f ∘ k) =O[l] (g ∘ k) := by
   simp only [is_O, is_O_with_map]
 #align asymptotics.is_O_map Asymptotics.isBigO_map
 
-/- warning: asymptotics.is_o_map -> Asymptotics.isLittleO_map is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u2} β}, Iff (Asymptotics.IsLittleO.{u1, u3, u4} α E F _inst_1 _inst_2 (Filter.map.{u2, u1} β α k l) f g) (Asymptotics.IsLittleO.{u2, u3, u4} β E F _inst_1 _inst_2 l (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u4}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u4} β}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 (Filter.map.{u4, u3} β α k l) f g) (Asymptotics.IsLittleO.{u4, u2, u1} β E F _inst_1 _inst_2 l (Function.comp.{succ u4, succ u3, succ u2} β α E f k) (Function.comp.{succ u4, succ u3, succ u1} β α F g k))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_map Asymptotics.isLittleO_mapₓ'. -/
 @[simp]
 theorem isLittleO_map {k : β → α} {l : Filter β} : f =o[map k l] g ↔ (f ∘ k) =o[l] (g ∘ k) := by
   simp only [is_o, is_O_with_map]
 #align asymptotics.is_o_map Asymptotics.isLittleO_map
 
-/- warning: asymptotics.is_O_with.mono -> Asymptotics.IsBigOWith.mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l' f g) -> (LE.le.{u3} (Filter.{u3} α) (Preorder.toLE.{u3} (Filter.{u3} α) (PartialOrder.toPreorder.{u3} (Filter.{u3} α) (Filter.instPartialOrderFilter.{u3} α))) l l') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.mono Asymptotics.IsBigOWith.monoₓ'. -/
 theorem IsBigOWith.mono (h : IsBigOWith c l' f g) (hl : l ≤ l') : IsBigOWith c l f g :=
   IsBigOWith.of_bound <| hl h.bound
 #align asymptotics.is_O_with.mono Asymptotics.IsBigOWith.mono
 
-/- warning: asymptotics.is_O.mono -> Asymptotics.IsBigO.mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u3} (Filter.{u3} α) (Preorder.toLE.{u3} (Filter.{u3} α) (PartialOrder.toPreorder.{u3} (Filter.{u3} α) (Filter.instPartialOrderFilter.{u3} α))) l l') -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.mono Asymptotics.IsBigO.monoₓ'. -/
 theorem IsBigO.mono (h : f =O[l'] g) (hl : l ≤ l') : f =O[l] g :=
   isBigO_iff_isBigOWith.2 <| h.IsBigOWith.imp fun c h => h.mono hl
 #align asymptotics.is_O.mono Asymptotics.IsBigO.mono
 
-/- warning: asymptotics.is_o.mono -> Asymptotics.IsLittleO.mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u3} (Filter.{u3} α) (Preorder.toLE.{u3} (Filter.{u3} α) (PartialOrder.toPreorder.{u3} (Filter.{u3} α) (Filter.instPartialOrderFilter.{u3} α))) l l') -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.mono Asymptotics.IsLittleO.monoₓ'. -/
 theorem IsLittleO.mono (h : f =o[l'] g) (hl : l ≤ l') : f =o[l] g :=
   IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).mono hl
 #align asymptotics.is_o.mono Asymptotics.IsLittleO.mono
 
-/- warning: asymptotics.is_O_with.trans -> Asymptotics.IsBigOWith.trans is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {c : Real} {c' : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F G _inst_2 _inst_3 c' l g k) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u4} α E G _inst_1 _inst_3 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c c') l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {c : Real} {c' : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigOWith.{u4, u2, u1} α F G _inst_2 _inst_3 c' l g k) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u4, u3, u1} α E G _inst_1 _inst_3 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c c') l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.trans Asymptotics.IsBigOWith.transₓ'. -/
 theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k) (hc : 0 ≤ c) :
     IsBigOWith (c * c') l f k := by
   unfold is_O_with at *
@@ -842,12 +458,6 @@ theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k)
     
 #align asymptotics.is_O_with.trans Asymptotics.IsBigOWith.trans
 
-/- warning: asymptotics.is_O.trans -> Asymptotics.IsBigO.trans is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {G : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_3 : Norm.{u3} G] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {l : Filter.{u1} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g) -> (Asymptotics.IsBigO.{u1, u4, u3} α F' G (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsBigO.{u1, u2, u3} α E G _inst_1 _inst_3 l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {G : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_3 : Norm.{u1} G] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u4} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g) -> (Asymptotics.IsBigO.{u4, u2, u1} α F' G (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsBigO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans Asymptotics.IsBigO.transₓ'. -/
 @[trans]
 theorem IsBigO.trans {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l] g) (hgk : g =O[l] k) :
     f =O[l] k :=
@@ -856,12 +466,6 @@ theorem IsBigO.trans {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l
   (hc.trans hc' cnonneg).IsBigO
 #align asymptotics.is_O.trans Asymptotics.IsBigO.trans
 
-/- warning: asymptotics.is_o.trans_is_O_with -> Asymptotics.IsLittleO.trans_isBigOWith is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F G _inst_2 _inst_3 c l g k) -> (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G _inst_1 _inst_3 l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigOWith.{u4, u2, u1} α F G _inst_2 _inst_3 c l g k) -> (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_is_O_with Asymptotics.IsLittleO.trans_isBigOWithₓ'. -/
 theorem IsLittleO.trans_isBigOWith (hfg : f =o[l] g) (hgk : IsBigOWith c l g k) (hc : 0 < c) :
     f =o[l] k := by
   unfold is_o at *
@@ -870,12 +474,6 @@ theorem IsLittleO.trans_isBigOWith (hfg : f =o[l] g) (hgk : IsBigOWith c l g k)
   exact ((hfg this).trans hgk this.le).congr_const (div_mul_cancel _ hc.ne')
 #align asymptotics.is_o.trans_is_O_with Asymptotics.IsLittleO.trans_isBigOWith
 
-/- warning: asymptotics.is_o.trans_is_O -> Asymptotics.IsLittleO.trans_isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {l : Filter.{u1} α} {f : α -> E} {g : α -> F} {k : α -> G'}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigO.{u1, u3, u4} α F G' _inst_2 (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g k) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G' : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {l : Filter.{u4} α} {f : α -> E} {g : α -> F} {k : α -> G'}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigO.{u4, u2, u1} α F G' _inst_2 (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g k) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_is_O Asymptotics.IsLittleO.trans_isBigOₓ'. -/
 @[trans]
 theorem IsLittleO.trans_isBigO {f : α → E} {g : α → F} {k : α → G'} (hfg : f =o[l] g)
     (hgk : g =O[l] k) : f =o[l] k :=
@@ -883,12 +481,6 @@ theorem IsLittleO.trans_isBigO {f : α → E} {g : α → F} {k : α → G'} (hf
   hfg.trans_isBigOWith hc cpos
 #align asymptotics.is_o.trans_is_O Asymptotics.IsLittleO.trans_isBigO
 
-/- warning: asymptotics.is_O_with.trans_is_o -> Asymptotics.IsBigOWith.trans_isLittleO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsLittleO.{u1, u3, u4} α F G _inst_2 _inst_3 l g k) -> (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G _inst_1 _inst_3 l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsLittleO.{u4, u2, u1} α F G _inst_2 _inst_3 l g k) -> (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.trans_is_o Asymptotics.IsBigOWith.trans_isLittleOₓ'. -/
 theorem IsBigOWith.trans_isLittleO (hfg : IsBigOWith c l f g) (hgk : g =o[l] k) (hc : 0 < c) :
     f =o[l] k := by
   unfold is_o at *
@@ -897,12 +489,6 @@ theorem IsBigOWith.trans_isLittleO (hfg : IsBigOWith c l f g) (hgk : g =o[l] k)
   exact (hfg.trans (hgk this) hc.le).congr_const (mul_div_cancel' _ hc.ne')
 #align asymptotics.is_O_with.trans_is_o Asymptotics.IsBigOWith.trans_isLittleO
 
-/- warning: asymptotics.is_O.trans_is_o -> Asymptotics.IsBigO.trans_isLittleO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {G : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_3 : Norm.{u3} G] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {l : Filter.{u1} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g) -> (Asymptotics.IsLittleO.{u1, u4, u3} α F' G (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E G _inst_1 _inst_3 l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {G : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_3 : Norm.{u1} G] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u4} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g) -> (Asymptotics.IsLittleO.{u4, u2, u1} α F' G (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_is_o Asymptotics.IsBigO.trans_isLittleOₓ'. -/
 @[trans]
 theorem IsBigO.trans_isLittleO {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l] g)
     (hgk : g =o[l] k) : f =o[l] k :=
@@ -910,35 +496,17 @@ theorem IsBigO.trans_isLittleO {f : α → E} {g : α → F'} {k : α → G} (hf
   hc.trans_isLittleO hgk cpos
 #align asymptotics.is_O.trans_is_o Asymptotics.IsBigO.trans_isLittleO
 
-/- warning: asymptotics.is_o.trans -> Asymptotics.IsLittleO.trans is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {l : Filter.{u1} α} {f : α -> E} {g : α -> F} {k : α -> G}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsLittleO.{u1, u3, u4} α F G _inst_2 _inst_3 l g k) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G _inst_1 _inst_3 l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {l : Filter.{u4} α} {f : α -> E} {g : α -> F} {k : α -> G}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsLittleO.{u4, u2, u1} α F G _inst_2 _inst_3 l g k) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans Asymptotics.IsLittleO.transₓ'. -/
 @[trans]
 theorem IsLittleO.trans {f : α → E} {g : α → F} {k : α → G} (hfg : f =o[l] g) (hgk : g =o[l] k) :
     f =o[l] k :=
   hfg.trans_isBigOWith hgk.IsBigOWith one_pos
 #align asymptotics.is_o.trans Asymptotics.IsLittleO.trans
 
-/- warning: filter.eventually.trans_is_O -> Filter.Eventually.trans_isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {G : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_3 : Norm.{u3} G] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {l : Filter.{u1} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u4} F' (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) (g x))) l) -> (Asymptotics.IsBigO.{u1, u4, u3} α F' G (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsBigO.{u1, u2, u3} α E G _inst_1 _inst_3 l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {G : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_3 : Norm.{u1} G] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u4} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Filter.Eventually.{u4} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (Norm.norm.{u2} F' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (g x))) l) -> (Asymptotics.IsBigO.{u4, u2, u1} α F' G (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsBigO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
-Case conversion may be inaccurate. Consider using '#align filter.eventually.trans_is_O Filter.Eventually.trans_isBigOₓ'. -/
 theorem Filter.Eventually.trans_isBigO {f : α → E} {g : α → F'} {k : α → G}
     (hfg : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖) (hgk : g =O[l] k) : f =O[l] k :=
   (IsBigO.of_bound' hfg).trans hgk
 #align filter.eventually.trans_is_O Filter.Eventually.trans_isBigO
 
-/- warning: filter.eventually.is_O -> Filter.Eventually.isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {g : α -> Real} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (g x)) l) -> (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f g)
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {g : α -> Real} {l : Filter.{u2} α}, (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} E _inst_1 (f x)) (g x)) l) -> (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f g)
-Case conversion may be inaccurate. Consider using '#align filter.eventually.is_O Filter.Eventually.isBigOₓ'. -/
 theorem Filter.Eventually.isBigO {f : α → E} {g : α → ℝ} {l : Filter α}
     (hfg : ∀ᶠ x in l, ‖f x‖ ≤ g x) : f =O[l] g :=
   IsBigO.of_bound' <| hfg.mono fun x hx => hx.trans <| Real.le_norm_self _
@@ -948,105 +516,45 @@ section
 
 variable (l)
 
-/- warning: asymptotics.is_O_with_of_le' -> Asymptotics.isBigOWith_of_le' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
-but is expected to have type
-  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {c : Real} {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u2} F _inst_2 (g x)))) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E F _inst_1 _inst_2 c l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_of_le' Asymptotics.isBigOWith_of_le'ₓ'. -/
 theorem isBigOWith_of_le' (hfg : ∀ x, ‖f x‖ ≤ c * ‖g x‖) : IsBigOWith c l f g :=
   IsBigOWith.of_bound <| univ_mem' hfg
 #align asymptotics.is_O_with_of_le' Asymptotics.isBigOWith_of_le'
 
-/- warning: asymptotics.is_O_with_of_le -> Asymptotics.isBigOWith_of_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F _inst_2 (g x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l f g)
-but is expected to have type
-  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (Norm.norm.{u2} F _inst_2 (g x))) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E F _inst_1 _inst_2 (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_of_le Asymptotics.isBigOWith_of_leₓ'. -/
 theorem isBigOWith_of_le (hfg : ∀ x, ‖f x‖ ≤ ‖g x‖) : IsBigOWith 1 l f g :=
   isBigOWith_of_le' l fun x => by rw [one_mul]; exact hfg x
 #align asymptotics.is_O_with_of_le Asymptotics.isBigOWith_of_le
 
-/- warning: asymptotics.is_O_of_le' -> Asymptotics.isBigO_of_le' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {c : Real} {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u2} F _inst_2 (g x)))) -> (Asymptotics.IsBigO.{u1, u3, u2} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_of_le' Asymptotics.isBigO_of_le'ₓ'. -/
 theorem isBigO_of_le' (hfg : ∀ x, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
   (isBigOWith_of_le' l hfg).IsBigO
 #align asymptotics.is_O_of_le' Asymptotics.isBigO_of_le'
 
-/- warning: asymptotics.is_O_of_le -> Asymptotics.isBigO_of_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F _inst_2 (g x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
-but is expected to have type
-  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (Norm.norm.{u2} F _inst_2 (g x))) -> (Asymptotics.IsBigO.{u1, u3, u2} α E F _inst_1 _inst_2 l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_of_le Asymptotics.isBigO_of_leₓ'. -/
 theorem isBigO_of_le (hfg : ∀ x, ‖f x‖ ≤ ‖g x‖) : f =O[l] g :=
   (isBigOWith_of_le l hfg).IsBigO
 #align asymptotics.is_O_of_le Asymptotics.isBigO_of_le
 
 end
 
-/- warning: asymptotics.is_O_with_refl -> Asymptotics.isBigOWith_refl is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] (f : α -> E) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α E E _inst_1 _inst_1 (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l f f
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] (f : α -> E) (l : Filter.{u2} α), Asymptotics.IsBigOWith.{u2, u1, u1} α E E _inst_1 _inst_1 (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l f f
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_refl Asymptotics.isBigOWith_reflₓ'. -/
 theorem isBigOWith_refl (f : α → E) (l : Filter α) : IsBigOWith 1 l f f :=
   isBigOWith_of_le l fun _ => le_rfl
 #align asymptotics.is_O_with_refl Asymptotics.isBigOWith_refl
 
-/- warning: asymptotics.is_O_refl -> Asymptotics.isBigO_refl is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] (f : α -> E) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α E E _inst_1 _inst_1 l f f
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] (f : α -> E) (l : Filter.{u2} α), Asymptotics.IsBigO.{u2, u1, u1} α E E _inst_1 _inst_1 l f f
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_refl Asymptotics.isBigO_reflₓ'. -/
 theorem isBigO_refl (f : α → E) (l : Filter α) : f =O[l] f :=
   (isBigOWith_refl f l).IsBigO
 #align asymptotics.is_O_refl Asymptotics.isBigO_refl
 
-/- warning: asymptotics.is_O_with.trans_le -> Asymptotics.IsBigOWith.trans_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u3} F _inst_2 (g x)) (Norm.norm.{u4} G _inst_3 (k x))) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u4} α E G _inst_1 _inst_3 c l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F _inst_1 _inst_2 c l f g) -> (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} F _inst_2 (g x)) (Norm.norm.{u1} G _inst_3 (k x))) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u4, u3, u1} α E G _inst_1 _inst_3 c l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.trans_le Asymptotics.IsBigOWith.trans_leₓ'. -/
 theorem IsBigOWith.trans_le (hfg : IsBigOWith c l f g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x‖) (hc : 0 ≤ c) :
     IsBigOWith c l f k :=
   (hfg.trans (isBigOWith_of_le l hgk) hc).congr_const <| mul_one c
 #align asymptotics.is_O_with.trans_le Asymptotics.IsBigOWith.trans_le
 
-/- warning: asymptotics.is_O.trans_le -> Asymptotics.IsBigO.trans_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {G : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_3 : Norm.{u3} G] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {f : α -> E} {k : α -> G} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g') -> (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u4} F' (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) (g' x)) (Norm.norm.{u3} G _inst_3 (k x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E G _inst_1 _inst_3 l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {G : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_3 : Norm.{u1} G] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f : α -> E} {k : α -> G} {g' : α -> F'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} F' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (g' x)) (Norm.norm.{u1} G _inst_3 (k x))) -> (Asymptotics.IsBigO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_le Asymptotics.IsBigO.trans_leₓ'. -/
 theorem IsBigO.trans_le (hfg : f =O[l] g') (hgk : ∀ x, ‖g' x‖ ≤ ‖k x‖) : f =O[l] k :=
   hfg.trans (isBigO_of_le l hgk)
 #align asymptotics.is_O.trans_le Asymptotics.IsBigO.trans_le
 
-/- warning: asymptotics.is_o.trans_le -> Asymptotics.IsLittleO.trans_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u3} F _inst_2 (g x)) (Norm.norm.{u4} G _inst_3 (k x))) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G _inst_1 _inst_3 l f k)
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} F _inst_2 (g x)) (Norm.norm.{u1} G _inst_3 (k x))) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_le Asymptotics.IsLittleO.trans_leₓ'. -/
 theorem IsLittleO.trans_le (hfg : f =o[l] g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x‖) : f =o[l] k :=
   hfg.trans_isBigOWith (isBigOWith_of_le _ hgk) zero_lt_one
 #align asymptotics.is_o.trans_le Asymptotics.IsLittleO.trans_le
 
-/- warning: asymptotics.is_o_irrefl' -> Asymptotics.isLittleO_irrefl' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {f' : α -> E'} {l : Filter.{u1} α}, (Filter.Frequently.{u1} α (fun (x : α) => Ne.{1} Real (Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) l) -> (Not (Asymptotics.IsLittleO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f' f'))
-but is expected to have type
-  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {f' : α -> E'} {l : Filter.{u2} α}, (Filter.Frequently.{u2} α (fun (x : α) => Ne.{1} Real (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) l) -> (Not (Asymptotics.IsLittleO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f' f'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_irrefl' Asymptotics.isLittleO_irrefl'ₓ'. -/
 theorem isLittleO_irrefl' (h : ∃ᶠ x in l, ‖f' x‖ ≠ 0) : ¬f' =o[l] f' :=
   by
   intro ho
@@ -1055,32 +563,14 @@ theorem isLittleO_irrefl' (h : ∃ᶠ x in l, ‖f' x‖ ≠ 0) : ¬f' =o[l] f'
   exact (half_lt_self (lt_of_le_of_ne (norm_nonneg _) hne.symm)).not_le hle
 #align asymptotics.is_o_irrefl' Asymptotics.isLittleO_irrefl'
 
-/- warning: asymptotics.is_o_irrefl -> Asymptotics.isLittleO_irrefl is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u1} α}, (Filter.Frequently.{u1} α (fun (x : α) => Ne.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))) l) -> (Not (Asymptotics.IsLittleO.{u1, u2, u2} α E'' E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) l f'' f''))
-but is expected to have type
-  forall {α : Type.{u2}} {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] {f'' : α -> E''} {l : Filter.{u2} α}, (Filter.Frequently.{u2} α (fun (x : α) => Ne.{succ u1} E'' (f'' x) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7))))))))) l) -> (Not (Asymptotics.IsLittleO.{u2, u1, u1} α E'' E'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) l f'' f''))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_irrefl Asymptotics.isLittleO_irreflₓ'. -/
 theorem isLittleO_irrefl (h : ∃ᶠ x in l, f'' x ≠ 0) : ¬f'' =o[l] f'' :=
   isLittleO_irrefl' <| h.mono fun x => norm_ne_zero_iff.mpr
 #align asymptotics.is_o_irrefl Asymptotics.isLittleO_irrefl
 
-/- warning: asymptotics.is_O.not_is_o -> Asymptotics.IsBigO.not_isLittleO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {g' : α -> F'} {f'' : α -> E''} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' g') -> (Filter.Frequently.{u1} α (fun (x : α) => Ne.{succ u3} E'' (f'' x) (OfNat.ofNat.{u3} E'' 0 (OfNat.mk.{u3} E'' 0 (Zero.zero.{u3} E'' (AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))) l) -> (Not (Asymptotics.IsLittleO.{u1, u2, u3} α F' E'' (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) l g' f''))
-but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {g' : α -> F'} {f'' : α -> E''} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' g') -> (Filter.Frequently.{u3} α (fun (x : α) => Ne.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))) l) -> (Not (Asymptotics.IsLittleO.{u3, u1, u2} α F' E'' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) l g' f''))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.not_is_o Asymptotics.IsBigO.not_isLittleOₓ'. -/
 theorem IsBigO.not_isLittleO (h : f'' =O[l] g') (hf : ∃ᶠ x in l, f'' x ≠ 0) : ¬g' =o[l] f'' :=
   fun h' => isLittleO_irrefl hf (h.trans_isLittleO h')
 #align asymptotics.is_O.not_is_o Asymptotics.IsBigO.not_isLittleO
 
-/- warning: asymptotics.is_o.not_is_O -> Asymptotics.IsLittleO.not_isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {g' : α -> F'} {f'' : α -> E''} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' g') -> (Filter.Frequently.{u1} α (fun (x : α) => Ne.{succ u3} E'' (f'' x) (OfNat.ofNat.{u3} E'' 0 (OfNat.mk.{u3} E'' 0 (Zero.zero.{u3} E'' (AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))) l) -> (Not (Asymptotics.IsBigO.{u1, u2, u3} α F' E'' (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) l g' f''))
-but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {g' : α -> F'} {f'' : α -> E''} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' g') -> (Filter.Frequently.{u3} α (fun (x : α) => Ne.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))) l) -> (Not (Asymptotics.IsBigO.{u3, u1, u2} α F' E'' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) l g' f''))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.not_is_O Asymptotics.IsLittleO.not_isBigOₓ'. -/
 theorem IsLittleO.not_isBigO (h : f'' =o[l] g') (hf : ∃ᶠ x in l, f'' x ≠ 0) : ¬g' =O[l] f'' :=
   fun h' => isLittleO_irrefl hf (h.trans_isBigO h')
 #align asymptotics.is_o.not_is_O Asymptotics.IsLittleO.not_isBigO
@@ -1089,34 +579,16 @@ section Bot
 
 variable (c f g)
 
-/- warning: asymptotics.is_O_with_bot -> Asymptotics.isBigOWith_bot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] (c : Real) (f : α -> E) (g : α -> F), Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Bot.bot.{u1} (Filter.{u1} α) (CompleteLattice.toHasBot.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) f g
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] (c : Real) (f : α -> E) (g : α -> F), Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Bot.bot.{u3} (Filter.{u3} α) (CompleteLattice.toBot.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))) f g
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_bot Asymptotics.isBigOWith_botₓ'. -/
 @[simp]
 theorem isBigOWith_bot : IsBigOWith c ⊥ f g :=
   IsBigOWith.of_bound <| trivial
 #align asymptotics.is_O_with_bot Asymptotics.isBigOWith_bot
 
-/- warning: asymptotics.is_O_bot -> Asymptotics.isBigO_bot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] (f : α -> E) (g : α -> F), Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 (Bot.bot.{u1} (Filter.{u1} α) (CompleteLattice.toHasBot.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) f g
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] (f : α -> E) (g : α -> F), Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 (Bot.bot.{u3} (Filter.{u3} α) (CompleteLattice.toBot.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))) f g
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_bot Asymptotics.isBigO_botₓ'. -/
 @[simp]
 theorem isBigO_bot : f =O[⊥] g :=
   (isBigOWith_bot 1 f g).IsBigO
 #align asymptotics.is_O_bot Asymptotics.isBigO_bot
 
-/- warning: asymptotics.is_o_bot -> Asymptotics.isLittleO_bot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] (f : α -> E) (g : α -> F), Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 (Bot.bot.{u1} (Filter.{u1} α) (CompleteLattice.toHasBot.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) f g
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] (f : α -> E) (g : α -> F), Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 (Bot.bot.{u3} (Filter.{u3} α) (CompleteLattice.toBot.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))) f g
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_bot Asymptotics.isLittleO_botₓ'. -/
 @[simp]
 theorem isLittleO_bot : f =o[⊥] g :=
   IsLittleO.of_isBigOWith fun c _ => isBigOWith_bot c f g
@@ -1124,113 +596,53 @@ theorem isLittleO_bot : f =o[⊥] g :=
 
 end Bot
 
-/- warning: asymptotics.is_O_with_pure -> Asymptotics.isBigOWith_pure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {x : α}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α x) f g) (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {x : α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Pure.pure.{u3, u3} Filter.{u3} Filter.instPureFilter.{u3} α x) f g) (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_pure Asymptotics.isBigOWith_pureₓ'. -/
 @[simp]
 theorem isBigOWith_pure {x} : IsBigOWith c (pure x) f g ↔ ‖f x‖ ≤ c * ‖g x‖ :=
   isBigOWith_iff
 #align asymptotics.is_O_with_pure Asymptotics.isBigOWith_pure
 
-/- warning: asymptotics.is_O_with.sup -> Asymptotics.IsBigOWith.sup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l' f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l' f g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sup Asymptotics.IsBigOWith.supₓ'. -/
 theorem IsBigOWith.sup (h : IsBigOWith c l f g) (h' : IsBigOWith c l' f g) :
     IsBigOWith c (l ⊔ l') f g :=
   IsBigOWith.of_bound <| mem_sup.2 ⟨h.bound, h'.bound⟩
 #align asymptotics.is_O_with.sup Asymptotics.IsBigOWith.sup
 
-/- warning: asymptotics.is_O_with.sup' -> Asymptotics.IsBigOWith.sup' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {c' : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l' f g') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (LinearOrder.max.{0} Real Real.linearOrder c c') (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {c' : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l' f g') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (Max.max.{0} Real (LinearOrderedRing.toMax.{0} Real Real.instLinearOrderedRingReal) c c') (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sup' Asymptotics.IsBigOWith.sup'ₓ'. -/
 theorem IsBigOWith.sup' (h : IsBigOWith c l f g') (h' : IsBigOWith c' l' f g') :
     IsBigOWith (max c c') (l ⊔ l') f g' :=
   IsBigOWith.of_bound <|
     mem_sup.2 ⟨(h.weaken <| le_max_left c c').bound, (h'.weaken <| le_max_right c c').bound⟩
 #align asymptotics.is_O_with.sup' Asymptotics.IsBigOWith.sup'
 
-/- warning: asymptotics.is_O.sup -> Asymptotics.IsBigO.sup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l' f g') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l' f g') -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.sup Asymptotics.IsBigO.supₓ'. -/
 theorem IsBigO.sup (h : f =O[l] g') (h' : f =O[l'] g') : f =O[l ⊔ l'] g' :=
   let ⟨c, hc⟩ := h.IsBigOWith
   let ⟨c', hc'⟩ := h'.IsBigOWith
   (hc.sup' hc').IsBigO
 #align asymptotics.is_O.sup Asymptotics.IsBigO.sup
 
-/- warning: asymptotics.is_o.sup -> Asymptotics.IsLittleO.sup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.sup Asymptotics.IsLittleO.supₓ'. -/
 theorem IsLittleO.sup (h : f =o[l] g) (h' : f =o[l'] g) : f =o[l ⊔ l'] g :=
   IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).sup (h'.forall_isBigOWith cpos)
 #align asymptotics.is_o.sup Asymptotics.IsLittleO.sup
 
-/- warning: asymptotics.is_O_sup -> Asymptotics.isBigO_sup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} {l' : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g') (And (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l' f g'))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α} {l' : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g') (And (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l' f g'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_sup Asymptotics.isBigO_supₓ'. -/
 @[simp]
 theorem isBigO_sup : f =O[l ⊔ l'] g' ↔ f =O[l] g' ∧ f =O[l'] g' :=
   ⟨fun h => ⟨h.mono le_sup_left, h.mono le_sup_right⟩, fun h => h.1.sup h.2⟩
 #align asymptotics.is_O_sup Asymptotics.isBigO_sup
 
-/- warning: asymptotics.is_o_sup -> Asymptotics.isLittleO_sup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g) (And (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g) (And (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_sup Asymptotics.isLittleO_supₓ'. -/
 @[simp]
 theorem isLittleO_sup : f =o[l ⊔ l'] g ↔ f =o[l] g ∧ f =o[l'] g :=
   ⟨fun h => ⟨h.mono le_sup_left, h.mono le_sup_right⟩, fun h => h.1.sup h.2⟩
 #align asymptotics.is_o_sup Asymptotics.isLittleO_sup
 
-/- warning: asymptotics.is_O_with_insert -> Asymptotics.isBigOWith_insert is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_14 : TopologicalSpace.{u1} α] {x : α} {s : Set.{u1} α} {C : Real} {g : α -> E} {g' : α -> F}, (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (g x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F _inst_2 (g' x)))) -> (Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 C (nhdsWithin.{u1} α _inst_14 x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) g g') (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 C (nhdsWithin.{u1} α _inst_14 x s) g g'))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_14 : TopologicalSpace.{u3} α] {x : α} {s : Set.{u3} α} {C : Real} {g : α -> E} {g' : α -> F}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (g x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} F _inst_2 (g' x)))) -> (Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 C (nhdsWithin.{u3} α _inst_14 x (Insert.insert.{u3, u3} α (Set.{u3} α) (Set.instInsertSet.{u3} α) x s)) g g') (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 C (nhdsWithin.{u3} α _inst_14 x s) g g'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_insert Asymptotics.isBigOWith_insertₓ'. -/
 theorem isBigOWith_insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
     (h : ‖g x‖ ≤ C * ‖g' x‖) : IsBigOWith C (𝓝[insert x s] x) g g' ↔ IsBigOWith C (𝓝[s] x) g g' :=
   by simp_rw [is_O_with, nhdsWithin_insert, eventually_sup, eventually_pure, h, true_and_iff]
 #align asymptotics.is_O_with_insert Asymptotics.isBigOWith_insert
 
-/- warning: asymptotics.is_O_with.insert -> Asymptotics.IsBigOWith.insert is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_14 : TopologicalSpace.{u1} α] {x : α} {s : Set.{u1} α} {C : Real} {g : α -> E} {g' : α -> F}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 C (nhdsWithin.{u1} α _inst_14 x s) g g') -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (g x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F _inst_2 (g' x)))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 C (nhdsWithin.{u1} α _inst_14 x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) g g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_14 : TopologicalSpace.{u3} α] {x : α} {s : Set.{u3} α} {C : Real} {g : α -> E} {g' : α -> F}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 C (nhdsWithin.{u3} α _inst_14 x s) g g') -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (g x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} F _inst_2 (g' x)))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 C (nhdsWithin.{u3} α _inst_14 x (Insert.insert.{u3, u3} α (Set.{u3} α) (Set.instInsertSet.{u3} α) x s)) g g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.insert Asymptotics.IsBigOWith.insertₓ'. -/
 theorem IsBigOWith.insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
     (h1 : IsBigOWith C (𝓝[s] x) g g') (h2 : ‖g x‖ ≤ C * ‖g' x‖) :
     IsBigOWith C (𝓝[insert x s] x) g g' :=
   (isBigOWith_insert h2).mpr h1
 #align asymptotics.is_O_with.insert Asymptotics.IsBigOWith.insert
 
-/- warning: asymptotics.is_o_insert -> Asymptotics.isLittleO_insert is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_14 : TopologicalSpace.{u1} α] {x : α} {s : Set.{u1} α} {g : α -> E'} {g' : α -> F'}, (Eq.{succ u2} E' (g x) (OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4)))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (nhdsWithin.{u1} α _inst_14 x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) g g') (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (nhdsWithin.{u1} α _inst_14 x s) g g'))
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_14 : TopologicalSpace.{u3} α] {x : α} {s : Set.{u3} α} {g : α -> E'} {g' : α -> F'}, (Eq.{succ u2} E' (g x) (OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))))))) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (nhdsWithin.{u3} α _inst_14 x (Insert.insert.{u3, u3} α (Set.{u3} α) (Set.instInsertSet.{u3} α) x s)) g g') (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (nhdsWithin.{u3} α _inst_14 x s) g g'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_insert Asymptotics.isLittleO_insertₓ'. -/
 theorem isLittleO_insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'} {g' : α → F'}
     (h : g x = 0) : g =o[𝓝[insert x s] x] g' ↔ g =o[𝓝[s] x] g' :=
   by
@@ -1241,12 +653,6 @@ theorem isLittleO_insert [TopologicalSpace α] {x : α} {s : Set α} {g : α →
   exact mul_nonneg hc.le (norm_nonneg _)
 #align asymptotics.is_o_insert Asymptotics.isLittleO_insert
 
-/- warning: asymptotics.is_o.insert -> Asymptotics.IsLittleO.insert is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_14 : TopologicalSpace.{u1} α] {x : α} {s : Set.{u1} α} {g : α -> E'} {g' : α -> F'}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (nhdsWithin.{u1} α _inst_14 x s) g g') -> (Eq.{succ u2} E' (g x) (OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4)))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (nhdsWithin.{u1} α _inst_14 x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) g g')
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_14 : TopologicalSpace.{u3} α] {x : α} {s : Set.{u3} α} {g : α -> E'} {g' : α -> F'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (nhdsWithin.{u3} α _inst_14 x s) g g') -> (Eq.{succ u2} E' (g x) (OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))))))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (nhdsWithin.{u3} α _inst_14 x (Insert.insert.{u3, u3} α (Set.{u3} α) (Set.instInsertSet.{u3} α) x s)) g g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.insert Asymptotics.IsLittleO.insertₓ'. -/
 theorem IsLittleO.insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'} {g' : α → F'}
     (h1 : g =o[𝓝[s] x] g') (h2 : g x = 0) : g =o[𝓝[insert x s] x] g' :=
   (isLittleO_insert h2).mpr h1
@@ -1259,484 +665,160 @@ section NormAbs
 
 variable {u v : α → ℝ}
 
-/- warning: asymptotics.is_O_with_norm_right -> Asymptotics.isBigOWith_norm_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_norm_right Asymptotics.isBigOWith_norm_rightₓ'. -/
 @[simp]
 theorem isBigOWith_norm_right : (IsBigOWith c l f fun x => ‖g' x‖) ↔ IsBigOWith c l f g' := by
   simp only [is_O_with, norm_norm]
 #align asymptotics.is_O_with_norm_right Asymptotics.isBigOWith_norm_right
 
-/- warning: asymptotics.is_O_with_abs_right -> Asymptotics.isBigOWith_abs_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {c : Real} {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f u)
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {c : Real} {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f u)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_abs_right Asymptotics.isBigOWith_abs_rightₓ'. -/
 @[simp]
 theorem isBigOWith_abs_right : (IsBigOWith c l f fun x => |u x|) ↔ IsBigOWith c l f u :=
   @isBigOWith_norm_right _ _ _ _ _ _ f u l
 #align asymptotics.is_O_with_abs_right Asymptotics.isBigOWith_abs_right
 
-/- warning: asymptotics.is_O_with.of_norm_right -> Asymptotics.IsBigOWith.of_norm_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_norm_right Asymptotics.IsBigOWith.of_norm_rightₓ'. -/
-/- warning: asymptotics.is_O_with.norm_right -> Asymptotics.IsBigOWith.norm_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u3, u2, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.norm_right Asymptotics.IsBigOWith.norm_rightₓ'. -/
 alias is_O_with_norm_right ↔ is_O_with.of_norm_right is_O_with.norm_right
 #align asymptotics.is_O_with.of_norm_right Asymptotics.IsBigOWith.of_norm_right
 #align asymptotics.is_O_with.norm_right Asymptotics.IsBigOWith.norm_right
 
-/- warning: asymptotics.is_O_with.of_abs_right -> Asymptotics.IsBigOWith.of_abs_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {c : Real} {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) -> (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f u)
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {c : Real} {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) -> (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f u)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_abs_right Asymptotics.IsBigOWith.of_abs_rightₓ'. -/
-/- warning: asymptotics.is_O_with.abs_right -> Asymptotics.IsBigOWith.abs_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {c : Real} {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f u) -> (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {c : Real} {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f u) -> (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.abs_right Asymptotics.IsBigOWith.abs_rightₓ'. -/
 alias is_O_with_abs_right ↔ is_O_with.of_abs_right is_O_with.abs_right
 #align asymptotics.is_O_with.of_abs_right Asymptotics.IsBigOWith.of_abs_right
 #align asymptotics.is_O_with.abs_right Asymptotics.IsBigOWith.abs_right
 
-/- warning: asymptotics.is_O_norm_right -> Asymptotics.isBigO_norm_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_norm_right Asymptotics.isBigO_norm_rightₓ'. -/
 @[simp]
 theorem isBigO_norm_right : (f =O[l] fun x => ‖g' x‖) ↔ f =O[l] g' := by unfold is_O;
   exact exists_congr fun _ => is_O_with_norm_right
 #align asymptotics.is_O_norm_right Asymptotics.isBigO_norm_right
 
-/- warning: asymptotics.is_O_abs_right -> Asymptotics.isBigO_abs_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u)
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_abs_right Asymptotics.isBigO_abs_rightₓ'. -/
 @[simp]
 theorem isBigO_abs_right : (f =O[l] fun x => |u x|) ↔ f =O[l] u :=
   @isBigO_norm_right _ _ ℝ _ _ _ _ _
 #align asymptotics.is_O_abs_right Asymptotics.isBigO_abs_right
 
-/- warning: asymptotics.is_O.of_norm_right -> Asymptotics.IsBigO.of_norm_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_norm_right Asymptotics.IsBigO.of_norm_rightₓ'. -/
-/- warning: asymptotics.is_O.norm_right -> Asymptotics.IsBigO.norm_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.norm_right Asymptotics.IsBigO.norm_rightₓ'. -/
 alias is_O_norm_right ↔ is_O.of_norm_right is_O.norm_right
 #align asymptotics.is_O.of_norm_right Asymptotics.IsBigO.of_norm_right
 #align asymptotics.is_O.norm_right Asymptotics.IsBigO.norm_right
 
-/- warning: asymptotics.is_O.of_abs_right -> Asymptotics.IsBigO.of_abs_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) -> (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u)
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) -> (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_abs_right Asymptotics.IsBigO.of_abs_rightₓ'. -/
-/- warning: asymptotics.is_O.abs_right -> Asymptotics.IsBigO.abs_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u) -> (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u) -> (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.abs_right Asymptotics.IsBigO.abs_rightₓ'. -/
 alias is_O_abs_right ↔ is_O.of_abs_right is_O.abs_right
 #align asymptotics.is_O.of_abs_right Asymptotics.IsBigO.of_abs_right
 #align asymptotics.is_O.abs_right Asymptotics.IsBigO.abs_right
 
-/- warning: asymptotics.is_o_norm_right -> Asymptotics.isLittleO_norm_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_right Asymptotics.isLittleO_norm_rightₓ'. -/
 @[simp]
 theorem isLittleO_norm_right : (f =o[l] fun x => ‖g' x‖) ↔ f =o[l] g' := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_norm_right
 #align asymptotics.is_o_norm_right Asymptotics.isLittleO_norm_right
 
-/- warning: asymptotics.is_o_abs_right -> Asymptotics.isLittleO_abs_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u)
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_abs_right Asymptotics.isLittleO_abs_rightₓ'. -/
 @[simp]
 theorem isLittleO_abs_right : (f =o[l] fun x => |u x|) ↔ f =o[l] u :=
   @isLittleO_norm_right _ _ ℝ _ _ _ _ _
 #align asymptotics.is_o_abs_right Asymptotics.isLittleO_abs_right
 
-/- warning: asymptotics.is_o.of_norm_right -> Asymptotics.IsLittleO.of_norm_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_norm_right Asymptotics.IsLittleO.of_norm_rightₓ'. -/
-/- warning: asymptotics.is_o.norm_right -> Asymptotics.IsLittleO.norm_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.norm_right Asymptotics.IsLittleO.norm_rightₓ'. -/
 alias is_o_norm_right ↔ is_o.of_norm_right is_o.norm_right
 #align asymptotics.is_o.of_norm_right Asymptotics.IsLittleO.of_norm_right
 #align asymptotics.is_o.norm_right Asymptotics.IsLittleO.norm_right
 
-/- warning: asymptotics.is_o.of_abs_right -> Asymptotics.IsLittleO.of_abs_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) -> (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u)
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) -> (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_abs_right Asymptotics.IsLittleO.of_abs_rightₓ'. -/
-/- warning: asymptotics.is_o.abs_right -> Asymptotics.IsLittleO.abs_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u) -> (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u) -> (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.abs_right Asymptotics.IsLittleO.abs_rightₓ'. -/
 alias is_o_abs_right ↔ is_o.of_abs_right is_o.abs_right
 #align asymptotics.is_o.of_abs_right Asymptotics.IsLittleO.of_abs_right
 #align asymptotics.is_o.abs_right Asymptotics.IsLittleO.abs_right
 
-/- warning: asymptotics.is_O_with_norm_left -> Asymptotics.isBigOWith_norm_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, 0, u2} α Real F Real.norm _inst_2 c l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) (Asymptotics.IsBigOWith.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 c l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_norm_left Asymptotics.isBigOWith_norm_leftₓ'. -/
 @[simp]
 theorem isBigOWith_norm_left : IsBigOWith c l (fun x => ‖f' x‖) g ↔ IsBigOWith c l f' g := by
   simp only [is_O_with, norm_norm]
 #align asymptotics.is_O_with_norm_left Asymptotics.isBigOWith_norm_left
 
-/- warning: asymptotics.is_O_with_abs_left -> Asymptotics.isBigOWith_abs_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {c : Real} {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l u g)
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {c : Real} {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l u g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_abs_left Asymptotics.isBigOWith_abs_leftₓ'. -/
 @[simp]
 theorem isBigOWith_abs_left : IsBigOWith c l (fun x => |u x|) g ↔ IsBigOWith c l u g :=
   @isBigOWith_norm_left _ _ _ _ _ _ g u l
 #align asymptotics.is_O_with_abs_left Asymptotics.isBigOWith_abs_left
 
-/- warning: asymptotics.is_O_with.of_norm_left -> Asymptotics.IsBigOWith.of_norm_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, 0, u2} α Real F Real.norm _inst_2 c l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) -> (Asymptotics.IsBigOWith.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 c l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_norm_left Asymptotics.IsBigOWith.of_norm_leftₓ'. -/
-/- warning: asymptotics.is_O_with.norm_left -> Asymptotics.IsBigOWith.norm_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g) -> (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 c l f' g) -> (Asymptotics.IsBigOWith.{u3, 0, u2} α Real F Real.norm _inst_2 c l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.norm_left Asymptotics.IsBigOWith.norm_leftₓ'. -/
 alias is_O_with_norm_left ↔ is_O_with.of_norm_left is_O_with.norm_left
 #align asymptotics.is_O_with.of_norm_left Asymptotics.IsBigOWith.of_norm_left
 #align asymptotics.is_O_with.norm_left Asymptotics.IsBigOWith.norm_left
 
-/- warning: asymptotics.is_O_with.of_abs_left -> Asymptotics.IsBigOWith.of_abs_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {c : Real} {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) -> (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l u g)
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {c : Real} {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) -> (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l u g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_abs_left Asymptotics.IsBigOWith.of_abs_leftₓ'. -/
-/- warning: asymptotics.is_O_with.abs_left -> Asymptotics.IsBigOWith.abs_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {c : Real} {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l u g) -> (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g)
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {c : Real} {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l u g) -> (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.abs_left Asymptotics.IsBigOWith.abs_leftₓ'. -/
 alias is_O_with_abs_left ↔ is_O_with.of_abs_left is_O_with.abs_left
 #align asymptotics.is_O_with.of_abs_left Asymptotics.IsBigOWith.of_abs_left
 #align asymptotics.is_O_with.abs_left Asymptotics.IsBigOWith.abs_left
 
-/- warning: asymptotics.is_O_norm_left -> Asymptotics.isBigO_norm_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) (Asymptotics.IsBigO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_norm_left Asymptotics.isBigO_norm_leftₓ'. -/
 @[simp]
 theorem isBigO_norm_left : (fun x => ‖f' x‖) =O[l] g ↔ f' =O[l] g := by unfold is_O;
   exact exists_congr fun _ => is_O_with_norm_left
 #align asymptotics.is_O_norm_left Asymptotics.isBigO_norm_left
 
-/- warning: asymptotics.is_O_abs_left -> Asymptotics.isBigO_abs_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g)
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_abs_left Asymptotics.isBigO_abs_leftₓ'. -/
 @[simp]
 theorem isBigO_abs_left : (fun x => |u x|) =O[l] g ↔ u =O[l] g :=
   @isBigO_norm_left _ _ _ _ _ g u l
 #align asymptotics.is_O_abs_left Asymptotics.isBigO_abs_left
 
-/- warning: asymptotics.is_O.of_norm_left -> Asymptotics.IsBigO.of_norm_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) -> (Asymptotics.IsBigO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_norm_left Asymptotics.IsBigO.of_norm_leftₓ'. -/
-/- warning: asymptotics.is_O.norm_left -> Asymptotics.IsBigO.norm_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsBigO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.norm_left Asymptotics.IsBigO.norm_leftₓ'. -/
 alias is_O_norm_left ↔ is_O.of_norm_left is_O.norm_left
 #align asymptotics.is_O.of_norm_left Asymptotics.IsBigO.of_norm_left
 #align asymptotics.is_O.norm_left Asymptotics.IsBigO.norm_left
 
-/- warning: asymptotics.is_O.of_abs_left -> Asymptotics.IsBigO.of_abs_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) -> (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g)
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) -> (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_abs_left Asymptotics.IsBigO.of_abs_leftₓ'. -/
-/- warning: asymptotics.is_O.abs_left -> Asymptotics.IsBigO.abs_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g) -> (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g)
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g) -> (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.abs_left Asymptotics.IsBigO.abs_leftₓ'. -/
 alias is_O_abs_left ↔ is_O.of_abs_left is_O.abs_left
 #align asymptotics.is_O.of_abs_left Asymptotics.IsBigO.of_abs_left
 #align asymptotics.is_O.abs_left Asymptotics.IsBigO.abs_left
 
-/- warning: asymptotics.is_o_norm_left -> Asymptotics.isLittleO_norm_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) (Asymptotics.IsLittleO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_left Asymptotics.isLittleO_norm_leftₓ'. -/
 @[simp]
 theorem isLittleO_norm_left : (fun x => ‖f' x‖) =o[l] g ↔ f' =o[l] g := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_norm_left
 #align asymptotics.is_o_norm_left Asymptotics.isLittleO_norm_left
 
-/- warning: asymptotics.is_o_abs_left -> Asymptotics.isLittleO_abs_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g)
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_abs_left Asymptotics.isLittleO_abs_leftₓ'. -/
 @[simp]
 theorem isLittleO_abs_left : (fun x => |u x|) =o[l] g ↔ u =o[l] g :=
   @isLittleO_norm_left _ _ _ _ _ g u l
 #align asymptotics.is_o_abs_left Asymptotics.isLittleO_abs_left
 
-/- warning: asymptotics.is_o.of_norm_left -> Asymptotics.IsLittleO.of_norm_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) -> (Asymptotics.IsLittleO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_norm_left Asymptotics.IsLittleO.of_norm_leftₓ'. -/
-/- warning: asymptotics.is_o.norm_left -> Asymptotics.IsLittleO.norm_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsLittleO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.norm_left Asymptotics.IsLittleO.norm_leftₓ'. -/
 alias is_o_norm_left ↔ is_o.of_norm_left is_o.norm_left
 #align asymptotics.is_o.of_norm_left Asymptotics.IsLittleO.of_norm_left
 #align asymptotics.is_o.norm_left Asymptotics.IsLittleO.norm_left
 
-/- warning: asymptotics.is_o.of_abs_left -> Asymptotics.IsLittleO.of_abs_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) -> (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g)
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) -> (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_abs_left Asymptotics.IsLittleO.of_abs_leftₓ'. -/
-/- warning: asymptotics.is_o.abs_left -> Asymptotics.IsLittleO.abs_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g) -> (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g)
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g) -> (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.abs_left Asymptotics.IsLittleO.abs_leftₓ'. -/
 alias is_o_abs_left ↔ is_o.of_abs_left is_o.abs_left
 #align asymptotics.is_o.of_abs_left Asymptotics.IsLittleO.of_abs_left
 #align asymptotics.is_o.abs_left Asymptotics.IsLittleO.abs_left
 
-/- warning: asymptotics.is_O_with_norm_norm -> Asymptotics.isBigOWith_norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f' g')
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f' g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_norm_norm Asymptotics.isBigOWith_norm_normₓ'. -/
 theorem isBigOWith_norm_norm :
     (IsBigOWith c l (fun x => ‖f' x‖) fun x => ‖g' x‖) ↔ IsBigOWith c l f' g' :=
   isBigOWith_norm_left.trans isBigOWith_norm_right
 #align asymptotics.is_O_with_norm_norm Asymptotics.isBigOWith_norm_norm
 
-/- warning: asymptotics.is_O_with_abs_abs -> Asymptotics.isBigOWith_abs_abs is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l u v)
-but is expected to have type
-  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l u v)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_abs_abs Asymptotics.isBigOWith_abs_absₓ'. -/
 theorem isBigOWith_abs_abs :
     (IsBigOWith c l (fun x => |u x|) fun x => |v x|) ↔ IsBigOWith c l u v :=
   isBigOWith_abs_left.trans isBigOWith_abs_right
 #align asymptotics.is_O_with_abs_abs Asymptotics.isBigOWith_abs_abs
 
-/- warning: asymptotics.is_O_with.of_norm_norm -> Asymptotics.IsBigOWith.of_norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f' g')
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f' g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_norm_norm Asymptotics.IsBigOWith.of_norm_normₓ'. -/
-/- warning: asymptotics.is_O_with.norm_norm -> Asymptotics.IsBigOWith.norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f' g') -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f' g') -> (Asymptotics.IsBigOWith.{u3, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.norm_norm Asymptotics.IsBigOWith.norm_normₓ'. -/
 alias is_O_with_norm_norm ↔ is_O_with.of_norm_norm is_O_with.norm_norm
 #align asymptotics.is_O_with.of_norm_norm Asymptotics.IsBigOWith.of_norm_norm
 #align asymptotics.is_O_with.norm_norm Asymptotics.IsBigOWith.norm_norm
 
-/- warning: asymptotics.is_O_with.of_abs_abs -> Asymptotics.IsBigOWith.of_abs_abs is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l u v)
-but is expected to have type
-  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l u v)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_abs_abs Asymptotics.IsBigOWith.of_abs_absₓ'. -/
-/- warning: asymptotics.is_O_with.abs_abs -> Asymptotics.IsBigOWith.abs_abs is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l u v) -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x)))
-but is expected to have type
-  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l u v) -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.abs_abs Asymptotics.IsBigOWith.abs_absₓ'. -/
 alias is_O_with_abs_abs ↔ is_O_with.of_abs_abs is_O_with.abs_abs
 #align asymptotics.is_O_with.of_abs_abs Asymptotics.IsBigOWith.of_abs_abs
 #align asymptotics.is_O_with.abs_abs Asymptotics.IsBigOWith.abs_abs
 
-/- warning: asymptotics.is_O_norm_norm -> Asymptotics.isBigO_norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g')
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_norm_norm Asymptotics.isBigO_norm_normₓ'. -/
 theorem isBigO_norm_norm : ((fun x => ‖f' x‖) =O[l] fun x => ‖g' x‖) ↔ f' =O[l] g' :=
   isBigO_norm_left.trans isBigO_norm_right
 #align asymptotics.is_O_norm_norm Asymptotics.isBigO_norm_norm
 
-/- warning: asymptotics.is_O_abs_abs -> Asymptotics.isBigO_abs_abs is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v)
-but is expected to have type
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_abs_abs Asymptotics.isBigO_abs_absₓ'. -/
 theorem isBigO_abs_abs : ((fun x => |u x|) =O[l] fun x => |v x|) ↔ u =O[l] v :=
   isBigO_abs_left.trans isBigO_abs_right
 #align asymptotics.is_O_abs_abs Asymptotics.isBigO_abs_abs
 
-/- warning: asymptotics.is_O.of_norm_norm -> Asymptotics.IsBigO.of_norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g')
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_norm_norm Asymptotics.IsBigO.of_norm_normₓ'. -/
-/- warning: asymptotics.is_O.norm_norm -> Asymptotics.IsBigO.norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsBigO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.norm_norm Asymptotics.IsBigO.norm_normₓ'. -/
 alias is_O_norm_norm ↔ is_O.of_norm_norm is_O.norm_norm
 #align asymptotics.is_O.of_norm_norm Asymptotics.IsBigO.of_norm_norm
 #align asymptotics.is_O.norm_norm Asymptotics.IsBigO.norm_norm
 
-/- warning: asymptotics.is_O.of_abs_abs -> Asymptotics.IsBigO.of_abs_abs is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v)
-but is expected to have type
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_abs_abs Asymptotics.IsBigO.of_abs_absₓ'. -/
-/- warning: asymptotics.is_O.abs_abs -> Asymptotics.IsBigO.abs_abs is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v) -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x)))
-but is expected to have type
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v) -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.abs_abs Asymptotics.IsBigO.abs_absₓ'. -/
 alias is_O_abs_abs ↔ is_O.of_abs_abs is_O.abs_abs
 #align asymptotics.is_O.of_abs_abs Asymptotics.IsBigO.of_abs_abs
 #align asymptotics.is_O.abs_abs Asymptotics.IsBigO.abs_abs
 
-/- warning: asymptotics.is_o_norm_norm -> Asymptotics.isLittleO_norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g')
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_norm Asymptotics.isLittleO_norm_normₓ'. -/
 theorem isLittleO_norm_norm : ((fun x => ‖f' x‖) =o[l] fun x => ‖g' x‖) ↔ f' =o[l] g' :=
   isLittleO_norm_left.trans isLittleO_norm_right
 #align asymptotics.is_o_norm_norm Asymptotics.isLittleO_norm_norm
 
-/- warning: asymptotics.is_o_abs_abs -> Asymptotics.isLittleO_abs_abs is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v)
-but is expected to have type
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_abs_abs Asymptotics.isLittleO_abs_absₓ'. -/
 theorem isLittleO_abs_abs : ((fun x => |u x|) =o[l] fun x => |v x|) ↔ u =o[l] v :=
   isLittleO_abs_left.trans isLittleO_abs_right
 #align asymptotics.is_o_abs_abs Asymptotics.isLittleO_abs_abs
 
-/- warning: asymptotics.is_o.of_norm_norm -> Asymptotics.IsLittleO.of_norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g')
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_norm_norm Asymptotics.IsLittleO.of_norm_normₓ'. -/
-/- warning: asymptotics.is_o.norm_norm -> Asymptotics.IsLittleO.norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.norm_norm Asymptotics.IsLittleO.norm_normₓ'. -/
 alias is_o_norm_norm ↔ is_o.of_norm_norm is_o.norm_norm
 #align asymptotics.is_o.of_norm_norm Asymptotics.IsLittleO.of_norm_norm
 #align asymptotics.is_o.norm_norm Asymptotics.IsLittleO.norm_norm
 
-/- warning: asymptotics.is_o.of_abs_abs -> Asymptotics.IsLittleO.of_abs_abs is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v)
-but is expected to have type
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_abs_abs Asymptotics.IsLittleO.of_abs_absₓ'. -/
-/- warning: asymptotics.is_o.abs_abs -> Asymptotics.IsLittleO.abs_abs is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v) -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x)))
-but is expected to have type
-  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v) -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.abs_abs Asymptotics.IsLittleO.abs_absₓ'. -/
 alias is_o_abs_abs ↔ is_o.of_abs_abs is_o.abs_abs
 #align asymptotics.is_o.of_abs_abs Asymptotics.IsLittleO.of_abs_abs
 #align asymptotics.is_o.abs_abs Asymptotics.IsLittleO.abs_abs
@@ -1746,164 +828,56 @@ end NormAbs
 /-! ### Simplification: negate -/
 
 
-/- warning: asymptotics.is_O_with_neg_right -> Asymptotics.isBigOWith_neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_neg_right Asymptotics.isBigOWith_neg_rightₓ'. -/
 @[simp]
 theorem isBigOWith_neg_right : (IsBigOWith c l f fun x => -g' x) ↔ IsBigOWith c l f g' := by
   simp only [is_O_with, norm_neg]
 #align asymptotics.is_O_with_neg_right Asymptotics.isBigOWith_neg_right
 
-/- warning: asymptotics.is_O_with.of_neg_right -> Asymptotics.IsBigOWith.of_neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_neg_right Asymptotics.IsBigOWith.of_neg_rightₓ'. -/
-/- warning: asymptotics.is_O_with.neg_right -> Asymptotics.IsBigOWith.neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.neg_right Asymptotics.IsBigOWith.neg_rightₓ'. -/
 alias is_O_with_neg_right ↔ is_O_with.of_neg_right is_O_with.neg_right
 #align asymptotics.is_O_with.of_neg_right Asymptotics.IsBigOWith.of_neg_right
 #align asymptotics.is_O_with.neg_right Asymptotics.IsBigOWith.neg_right
 
-/- warning: asymptotics.is_O_neg_right -> Asymptotics.isBigO_neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_neg_right Asymptotics.isBigO_neg_rightₓ'. -/
 @[simp]
 theorem isBigO_neg_right : (f =O[l] fun x => -g' x) ↔ f =O[l] g' := by unfold is_O;
   exact exists_congr fun _ => is_O_with_neg_right
 #align asymptotics.is_O_neg_right Asymptotics.isBigO_neg_right
 
-/- warning: asymptotics.is_O.of_neg_right -> Asymptotics.IsBigO.of_neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_neg_right Asymptotics.IsBigO.of_neg_rightₓ'. -/
-/- warning: asymptotics.is_O.neg_right -> Asymptotics.IsBigO.neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.neg_right Asymptotics.IsBigO.neg_rightₓ'. -/
 alias is_O_neg_right ↔ is_O.of_neg_right is_O.neg_right
 #align asymptotics.is_O.of_neg_right Asymptotics.IsBigO.of_neg_right
 #align asymptotics.is_O.neg_right Asymptotics.IsBigO.neg_right
 
-/- warning: asymptotics.is_o_neg_right -> Asymptotics.isLittleO_neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_neg_right Asymptotics.isLittleO_neg_rightₓ'. -/
 @[simp]
 theorem isLittleO_neg_right : (f =o[l] fun x => -g' x) ↔ f =o[l] g' := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_neg_right
 #align asymptotics.is_o_neg_right Asymptotics.isLittleO_neg_right
 
-/- warning: asymptotics.is_o.of_neg_right -> Asymptotics.IsLittleO.of_neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_rightₓ'. -/
-/- warning: asymptotics.is_o.neg_right -> Asymptotics.IsLittleO.neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.neg_right Asymptotics.IsLittleO.neg_rightₓ'. -/
 alias is_o_neg_right ↔ is_o.of_neg_right is_o.neg_right
 #align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_right
 #align asymptotics.is_o.neg_right Asymptotics.IsLittleO.neg_right
 
-/- warning: asymptotics.is_O_with_neg_left -> Asymptotics.isBigOWith_neg_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_neg_left Asymptotics.isBigOWith_neg_leftₓ'. -/
 @[simp]
 theorem isBigOWith_neg_left : IsBigOWith c l (fun x => -f' x) g ↔ IsBigOWith c l f' g := by
   simp only [is_O_with, norm_neg]
 #align asymptotics.is_O_with_neg_left Asymptotics.isBigOWith_neg_left
 
-/- warning: asymptotics.is_O_with.of_neg_left -> Asymptotics.IsBigOWith.of_neg_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_neg_left Asymptotics.IsBigOWith.of_neg_leftₓ'. -/
-/- warning: asymptotics.is_O_with.neg_left -> Asymptotics.IsBigOWith.neg_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l f' g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.neg_left Asymptotics.IsBigOWith.neg_leftₓ'. -/
 alias is_O_with_neg_left ↔ is_O_with.of_neg_left is_O_with.neg_left
 #align asymptotics.is_O_with.of_neg_left Asymptotics.IsBigOWith.of_neg_left
 #align asymptotics.is_O_with.neg_left Asymptotics.IsBigOWith.neg_left
 
-/- warning: asymptotics.is_O_neg_left -> Asymptotics.isBigO_neg_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_neg_left Asymptotics.isBigO_neg_leftₓ'. -/
 @[simp]
 theorem isBigO_neg_left : (fun x => -f' x) =O[l] g ↔ f' =O[l] g := by unfold is_O;
   exact exists_congr fun _ => is_O_with_neg_left
 #align asymptotics.is_O_neg_left Asymptotics.isBigO_neg_left
 
-/- warning: asymptotics.is_O.of_neg_left -> Asymptotics.IsBigO.of_neg_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_neg_left Asymptotics.IsBigO.of_neg_leftₓ'. -/
-/- warning: asymptotics.is_O.neg_left -> Asymptotics.IsBigO.neg_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.neg_left Asymptotics.IsBigO.neg_leftₓ'. -/
 alias is_O_neg_left ↔ is_O.of_neg_left is_O.neg_left
 #align asymptotics.is_O.of_neg_left Asymptotics.IsBigO.of_neg_left
 #align asymptotics.is_O.neg_left Asymptotics.IsBigO.neg_left
 
-/- warning: asymptotics.is_o_neg_left -> Asymptotics.isLittleO_neg_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_neg_left Asymptotics.isLittleO_neg_leftₓ'. -/
 @[simp]
 theorem isLittleO_neg_left : (fun x => -f' x) =o[l] g ↔ f' =o[l] g := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_neg_left
 #align asymptotics.is_o_neg_left Asymptotics.isLittleO_neg_left
 
-/- warning: asymptotics.is_o.of_neg_right -> Asymptotics.IsLittleO.of_neg_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_rightₓ'. -/
-/- warning: asymptotics.is_o.neg_left -> Asymptotics.IsLittleO.neg_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.neg_left Asymptotics.IsLittleO.neg_leftₓ'. -/
 alias is_o_neg_left ↔ is_o.of_neg_right is_o.neg_left
 #align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_right
 #align asymptotics.is_o.neg_left Asymptotics.IsLittleO.neg_left
@@ -1911,62 +885,26 @@ alias is_o_neg_left ↔ is_o.of_neg_right is_o.neg_left
 /-! ### Product of functions (right) -/
 
 
-/- warning: asymptotics.is_O_with_fst_prod -> Asymptotics.isBigOWith_fst_prod is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Asymptotics.IsBigOWith.{u1, u2, max u2 u3} α E' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l f' (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x))
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Asymptotics.IsBigOWith.{u3, u2, max u1 u2} α E' (Prod.{u2, u1} E' F') (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (Prod.toNorm.{u2, u1} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l f' (fun (x : α) => Prod.mk.{u2, u1} E' F' (f' x) (g' x))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_fst_prod Asymptotics.isBigOWith_fst_prodₓ'. -/
 theorem isBigOWith_fst_prod : IsBigOWith 1 l f' fun x => (f' x, g' x) :=
   isBigOWith_of_le l fun x => le_max_left _ _
 #align asymptotics.is_O_with_fst_prod Asymptotics.isBigOWith_fst_prod
 
-/- warning: asymptotics.is_O_with_snd_prod -> Asymptotics.isBigOWith_snd_prod is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Asymptotics.IsBigOWith.{u1, u3, max u2 u3} α F' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l g' (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x))
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Asymptotics.IsBigOWith.{u3, u2, max u2 u1} α F' (Prod.{u1, u2} E' F') (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l g' (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_snd_prod Asymptotics.isBigOWith_snd_prodₓ'. -/
 theorem isBigOWith_snd_prod : IsBigOWith 1 l g' fun x => (f' x, g' x) :=
   isBigOWith_of_le l fun x => le_max_right _ _
 #align asymptotics.is_O_with_snd_prod Asymptotics.isBigOWith_snd_prod
 
-/- warning: asymptotics.is_O_fst_prod -> Asymptotics.isBigO_fst_prod is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Asymptotics.IsBigO.{u1, u2, max u2 u3} α E' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) l f' (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x))
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Asymptotics.IsBigO.{u3, u2, max u1 u2} α E' (Prod.{u2, u1} E' F') (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (Prod.toNorm.{u2, u1} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) l f' (fun (x : α) => Prod.mk.{u2, u1} E' F' (f' x) (g' x))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_fst_prod Asymptotics.isBigO_fst_prodₓ'. -/
 theorem isBigO_fst_prod : f' =O[l] fun x => (f' x, g' x) :=
   isBigOWith_fst_prod.IsBigO
 #align asymptotics.is_O_fst_prod Asymptotics.isBigO_fst_prod
 
-/- warning: asymptotics.is_O_snd_prod -> Asymptotics.isBigO_snd_prod is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Asymptotics.IsBigO.{u1, u3, max u2 u3} α F' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) l g' (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x))
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Asymptotics.IsBigO.{u3, u2, max u2 u1} α F' (Prod.{u1, u2} E' F') (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l g' (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_snd_prod Asymptotics.isBigO_snd_prodₓ'. -/
 theorem isBigO_snd_prod : g' =O[l] fun x => (f' x, g' x) :=
   isBigOWith_snd_prod.IsBigO
 #align asymptotics.is_O_snd_prod Asymptotics.isBigO_snd_prod
 
-/- warning: asymptotics.is_O_fst_prod' -> Asymptotics.isBigO_fst_prod' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {l : Filter.{u1} α} {f' : α -> (Prod.{u2, u3} E' F')}, Asymptotics.IsBigO.{u1, u2, max u2 u3} α E' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) l (fun (x : α) => Prod.fst.{u2, u3} E' F' (f' x)) f'
-but is expected to have type
-  forall {α : Type.{u1}} {E' : Type.{u3}} {F' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u1} α} {f' : α -> (Prod.{u3, u2} E' F')}, Asymptotics.IsBigO.{u1, u3, max u3 u2} α E' (Prod.{u3, u2} E' F') (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (Prod.toNorm.{u3, u2} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l (fun (x : α) => Prod.fst.{u3, u2} E' F' (f' x)) f'
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_fst_prod' Asymptotics.isBigO_fst_prod'ₓ'. -/
 theorem isBigO_fst_prod' {f' : α → E' × F'} : (fun x => (f' x).1) =O[l] f' := by
   simpa [is_O, is_O_with] using is_O_fst_prod
 #align asymptotics.is_O_fst_prod' Asymptotics.isBigO_fst_prod'
 
-/- warning: asymptotics.is_O_snd_prod' -> Asymptotics.isBigO_snd_prod' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {l : Filter.{u1} α} {f' : α -> (Prod.{u2, u3} E' F')}, Asymptotics.IsBigO.{u1, u3, max u2 u3} α F' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) l (fun (x : α) => Prod.snd.{u2, u3} E' F' (f' x)) f'
-but is expected to have type
-  forall {α : Type.{u1}} {E' : Type.{u3}} {F' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u1} α} {f' : α -> (Prod.{u3, u2} E' F')}, Asymptotics.IsBigO.{u1, u2, max u3 u2} α F' (Prod.{u3, u2} E' F') (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (Prod.toNorm.{u3, u2} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l (fun (x : α) => Prod.snd.{u3, u2} E' F' (f' x)) f'
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_snd_prod' Asymptotics.isBigO_snd_prod'ₓ'. -/
 theorem isBigO_snd_prod' {f' : α → E' × F'} : (fun x => (f' x).2) =O[l] f' := by
   simpa [is_O, is_O_with] using is_O_snd_prod
 #align asymptotics.is_O_snd_prod' Asymptotics.isBigO_snd_prod'
@@ -1975,229 +913,103 @@ section
 
 variable (f' k')
 
-/- warning: asymptotics.is_O_with.prod_rightl -> Asymptotics.IsBigOWith.prod_rightl is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, max u3 u4} α E (Prod.{u3, u4} F' G') _inst_1 (Prod.hasNorm.{u3, u4} F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6)) c l f (fun (x : α) => Prod.mk.{u3, u4} F' G' (g' x) (k' x)))
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F' : Type.{u2}} {G' : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {c : Real} {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u4, u3, max u1 u2} α E (Prod.{u2, u1} F' G') _inst_1 (Prod.toNorm.{u2, u1} F' G' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6)) c l f (fun (x : α) => Prod.mk.{u2, u1} F' G' (g' x) (k' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_rightl Asymptotics.IsBigOWith.prod_rightlₓ'. -/
 theorem IsBigOWith.prod_rightl (h : IsBigOWith c l f g') (hc : 0 ≤ c) :
     IsBigOWith c l f fun x => (g' x, k' x) :=
   (h.trans isBigOWith_fst_prod hc).congr_const (mul_one c)
 #align asymptotics.is_O_with.prod_rightl Asymptotics.IsBigOWith.prod_rightl
 
-/- warning: asymptotics.is_O.prod_rightl -> Asymptotics.IsBigO.prod_rightl is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, max u3 u4} α E (Prod.{u3, u4} F' G') _inst_1 (Prod.hasNorm.{u3, u4} F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6)) l f (fun (x : α) => Prod.mk.{u3, u4} F' G' (g' x) (k' x)))
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F' : Type.{u2}} {G' : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u4, u3, max u1 u2} α E (Prod.{u2, u1} F' G') _inst_1 (Prod.toNorm.{u2, u1} F' G' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6)) l f (fun (x : α) => Prod.mk.{u2, u1} F' G' (g' x) (k' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_rightl Asymptotics.IsBigO.prod_rightlₓ'. -/
 theorem IsBigO.prod_rightl (h : f =O[l] g') : f =O[l] fun x => (g' x, k' x) :=
   let ⟨c, cnonneg, hc⟩ := h.exists_nonneg
   (hc.prod_rightl k' cnonneg).IsBigO
 #align asymptotics.is_O.prod_rightl Asymptotics.IsBigO.prod_rightl
 
-/- warning: asymptotics.is_o.prod_rightl -> Asymptotics.IsLittleO.prod_rightl is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u1, u2, max u3 u4} α E (Prod.{u3, u4} F' G') _inst_1 (Prod.hasNorm.{u3, u4} F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6)) l f (fun (x : α) => Prod.mk.{u3, u4} F' G' (g' x) (k' x)))
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {F' : Type.{u2}} {G' : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u4, u3, max u1 u2} α E (Prod.{u2, u1} F' G') _inst_1 (Prod.toNorm.{u2, u1} F' G' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6)) l f (fun (x : α) => Prod.mk.{u2, u1} F' G' (g' x) (k' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_rightl Asymptotics.IsLittleO.prod_rightlₓ'. -/
 theorem IsLittleO.prod_rightl (h : f =o[l] g') : f =o[l] fun x => (g' x, k' x) :=
   IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).prod_rightl k' cpos.le
 #align asymptotics.is_o.prod_rightl Asymptotics.IsLittleO.prod_rightl
 
-/- warning: asymptotics.is_O_with.prod_rightr -> Asymptotics.IsBigOWith.prod_rightr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {c : Real} {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, max u3 u4} α E (Prod.{u3, u4} E' F') _inst_1 (Prod.hasNorm.{u3, u4} E' F' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5)) c l f (fun (x : α) => Prod.mk.{u3, u4} E' F' (f' x) (g' x)))
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {c : Real} {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u4, u3, max u2 u1} α E (Prod.{u1, u2} E' F') _inst_1 (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) c l f (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_rightr Asymptotics.IsBigOWith.prod_rightrₓ'. -/
 theorem IsBigOWith.prod_rightr (h : IsBigOWith c l f g') (hc : 0 ≤ c) :
     IsBigOWith c l f fun x => (f' x, g' x) :=
   (h.trans isBigOWith_snd_prod hc).congr_const (mul_one c)
 #align asymptotics.is_O_with.prod_rightr Asymptotics.IsBigOWith.prod_rightr
 
-/- warning: asymptotics.is_O.prod_rightr -> Asymptotics.IsBigO.prod_rightr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, max u3 u4} α E (Prod.{u3, u4} E' F') _inst_1 (Prod.hasNorm.{u3, u4} E' F' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5)) l f (fun (x : α) => Prod.mk.{u3, u4} E' F' (f' x) (g' x)))
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u4, u3, max u2 u1} α E (Prod.{u1, u2} E' F') _inst_1 (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l f (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_rightr Asymptotics.IsBigO.prod_rightrₓ'. -/
 theorem IsBigO.prod_rightr (h : f =O[l] g') : f =O[l] fun x => (f' x, g' x) :=
   let ⟨c, cnonneg, hc⟩ := h.exists_nonneg
   (hc.prod_rightr f' cnonneg).IsBigO
 #align asymptotics.is_O.prod_rightr Asymptotics.IsBigO.prod_rightr
 
-/- warning: asymptotics.is_o.prod_rightr -> Asymptotics.IsLittleO.prod_rightr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u1, u2, max u3 u4} α E (Prod.{u3, u4} E' F') _inst_1 (Prod.hasNorm.{u3, u4} E' F' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5)) l f (fun (x : α) => Prod.mk.{u3, u4} E' F' (f' x) (g' x)))
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u4, u3, max u2 u1} α E (Prod.{u1, u2} E' F') _inst_1 (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l f (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_rightr Asymptotics.IsLittleO.prod_rightrₓ'. -/
 theorem IsLittleO.prod_rightr (h : f =o[l] g') : f =o[l] fun x => (f' x, g' x) :=
   IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).prod_rightr f' cpos.le
 #align asymptotics.is_o.prod_rightr Asymptotics.IsLittleO.prod_rightr
 
 end
 
-/- warning: asymptotics.is_O_with.prod_left_same -> Asymptotics.IsBigOWith.prod_left_same is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l f' k') -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l g' k') -> (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u3}} {F' : Type.{u1}} {G' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_6 : SeminormedAddCommGroup.{u2} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E' G' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c l f' k') -> (Asymptotics.IsBigOWith.{u4, u1, u2} α F' G' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c l g' k') -> (Asymptotics.IsBigOWith.{u4, max u1 u3, u2} α (Prod.{u3, u1} E' F') G' (Prod.toNorm.{u3, u1} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c l (fun (x : α) => Prod.mk.{u3, u1} E' F' (f' x) (g' x)) k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_left_same Asymptotics.IsBigOWith.prod_left_sameₓ'. -/
 theorem IsBigOWith.prod_left_same (hf : IsBigOWith c l f' k') (hg : IsBigOWith c l g' k') :
     IsBigOWith c l (fun x => (f' x, g' x)) k' := by
   rw [is_O_with_iff] at * <;> filter_upwards [hf, hg]with x using max_le
 #align asymptotics.is_O_with.prod_left_same Asymptotics.IsBigOWith.prod_left_same
 
-/- warning: asymptotics.is_O_with.prod_left -> Asymptotics.IsBigOWith.prod_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {c' : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l f' k') -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c' l g' k') -> (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) (LinearOrder.max.{0} Real Real.linearOrder c c') l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u3}} {F' : Type.{u1}} {G' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_6 : SeminormedAddCommGroup.{u2} G'] {c : Real} {c' : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E' G' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c l f' k') -> (Asymptotics.IsBigOWith.{u4, u1, u2} α F' G' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c' l g' k') -> (Asymptotics.IsBigOWith.{u4, max u1 u3, u2} α (Prod.{u3, u1} E' F') G' (Prod.toNorm.{u3, u1} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) (Max.max.{0} Real (LinearOrderedRing.toMax.{0} Real Real.instLinearOrderedRingReal) c c') l (fun (x : α) => Prod.mk.{u3, u1} E' F' (f' x) (g' x)) k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_left Asymptotics.IsBigOWith.prod_leftₓ'. -/
 theorem IsBigOWith.prod_left (hf : IsBigOWith c l f' k') (hg : IsBigOWith c' l g' k') :
     IsBigOWith (max c c') l (fun x => (f' x, g' x)) k' :=
   (hf.weaken <| le_max_left c c').prod_left_same (hg.weaken <| le_max_right c c')
 #align asymptotics.is_O_with.prod_left Asymptotics.IsBigOWith.prod_left
 
-/- warning: asymptotics.is_O_with.prod_left_fst -> Asymptotics.IsBigOWith.prod_left_fst is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigOWith.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l f' k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigOWith.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l f' k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_left_fst Asymptotics.IsBigOWith.prod_left_fstₓ'. -/
 theorem IsBigOWith.prod_left_fst (h : IsBigOWith c l (fun x => (f' x, g' x)) k') :
     IsBigOWith c l f' k' :=
   (isBigOWith_fst_prod.trans h zero_le_one).congr_const <| one_mul c
 #align asymptotics.is_O_with.prod_left_fst Asymptotics.IsBigOWith.prod_left_fst
 
-/- warning: asymptotics.is_O_with.prod_left_snd -> Asymptotics.IsBigOWith.prod_left_snd is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l g' k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigOWith.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l g' k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_left_snd Asymptotics.IsBigOWith.prod_left_sndₓ'. -/
 theorem IsBigOWith.prod_left_snd (h : IsBigOWith c l (fun x => (f' x, g' x)) k') :
     IsBigOWith c l g' k' :=
   (isBigOWith_snd_prod.trans h zero_le_one).congr_const <| one_mul c
 #align asymptotics.is_O_with.prod_left_snd Asymptotics.IsBigOWith.prod_left_snd
 
-/- warning: asymptotics.is_O_with_prod_left -> Asymptotics.isBigOWith_prod_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsBigOWith.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l f' k') (Asymptotics.IsBigOWith.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l g' k'))
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, Iff (Asymptotics.IsBigOWith.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsBigOWith.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l f' k') (Asymptotics.IsBigOWith.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l g' k'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_prod_left Asymptotics.isBigOWith_prod_leftₓ'. -/
 theorem isBigOWith_prod_left :
     IsBigOWith c l (fun x => (f' x, g' x)) k' ↔ IsBigOWith c l f' k' ∧ IsBigOWith c l g' k' :=
   ⟨fun h => ⟨h.prod_left_fst, h.prod_left_snd⟩, fun h => h.1.prod_left_same h.2⟩
 #align asymptotics.is_O_with_prod_left Asymptotics.isBigOWith_prod_left
 
-/- warning: asymptotics.is_O.prod_left -> Asymptotics.IsBigO.prod_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k') -> (Asymptotics.IsBigO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k') -> (Asymptotics.IsBigO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u3}} {F' : Type.{u1}} {G' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_6 : SeminormedAddCommGroup.{u2} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E' G' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l f' k') -> (Asymptotics.IsBigO.{u4, u1, u2} α F' G' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l g' k') -> (Asymptotics.IsBigO.{u4, max u1 u3, u2} α (Prod.{u3, u1} E' F') G' (Prod.toNorm.{u3, u1} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l (fun (x : α) => Prod.mk.{u3, u1} E' F' (f' x) (g' x)) k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_left Asymptotics.IsBigO.prod_leftₓ'. -/
 theorem IsBigO.prod_left (hf : f' =O[l] k') (hg : g' =O[l] k') : (fun x => (f' x, g' x)) =O[l] k' :=
   let ⟨c, hf⟩ := hf.IsBigOWith
   let ⟨c', hg⟩ := hg.IsBigOWith
   (hf.prodLeft hg).IsBigO
 #align asymptotics.is_O.prod_left Asymptotics.IsBigO.prod_left
 
-/- warning: asymptotics.is_O.prod_left_fst -> Asymptotics.IsBigO.prod_left_fst is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigO.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f' k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_left_fst Asymptotics.IsBigO.prod_left_fstₓ'. -/
 theorem IsBigO.prod_left_fst : (fun x => (f' x, g' x)) =O[l] k' → f' =O[l] k' :=
   IsBigO.trans isBigO_fst_prod
 #align asymptotics.is_O.prod_left_fst Asymptotics.IsBigO.prod_left_fst
 
-/- warning: asymptotics.is_O.prod_left_snd -> Asymptotics.IsBigO.prod_left_snd is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigO.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g' k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_left_snd Asymptotics.IsBigO.prod_left_sndₓ'. -/
 theorem IsBigO.prod_left_snd : (fun x => (f' x, g' x)) =O[l] k' → g' =O[l] k' :=
   IsBigO.trans isBigO_snd_prod
 #align asymptotics.is_O.prod_left_snd Asymptotics.IsBigO.prod_left_snd
 
-/- warning: asymptotics.is_O_prod_left -> Asymptotics.isBigO_prod_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsBigO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k') (Asymptotics.IsBigO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k'))
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, Iff (Asymptotics.IsBigO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsBigO.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f' k') (Asymptotics.IsBigO.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g' k'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_prod_left Asymptotics.isBigO_prod_leftₓ'. -/
 @[simp]
 theorem isBigO_prod_left : (fun x => (f' x, g' x)) =O[l] k' ↔ f' =O[l] k' ∧ g' =O[l] k' :=
   ⟨fun h => ⟨h.prod_left_fst, h.prod_left_snd⟩, fun h => h.1.prodLeft h.2⟩
 #align asymptotics.is_O_prod_left Asymptotics.isBigO_prod_left
 
-/- warning: asymptotics.is_o.prod_left -> Asymptotics.IsLittleO.prod_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k') -> (Asymptotics.IsLittleO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k') -> (Asymptotics.IsLittleO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u3}} {F' : Type.{u1}} {G' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_6 : SeminormedAddCommGroup.{u2} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E' G' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l f' k') -> (Asymptotics.IsLittleO.{u4, u1, u2} α F' G' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l g' k') -> (Asymptotics.IsLittleO.{u4, max u1 u3, u2} α (Prod.{u3, u1} E' F') G' (Prod.toNorm.{u3, u1} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l (fun (x : α) => Prod.mk.{u3, u1} E' F' (f' x) (g' x)) k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_left Asymptotics.IsLittleO.prod_leftₓ'. -/
 theorem IsLittleO.prod_left (hf : f' =o[l] k') (hg : g' =o[l] k') :
     (fun x => (f' x, g' x)) =o[l] k' :=
   IsLittleO.of_isBigOWith fun c hc =>
     (hf.forall_isBigOWith hc).prod_left_same (hg.forall_isBigOWith hc)
 #align asymptotics.is_o.prod_left Asymptotics.IsLittleO.prod_left
 
-/- warning: asymptotics.is_o.prod_left_fst -> Asymptotics.IsLittleO.prod_left_fst is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsLittleO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsLittleO.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f' k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_left_fst Asymptotics.IsLittleO.prod_left_fstₓ'. -/
 theorem IsLittleO.prod_left_fst : (fun x => (f' x, g' x)) =o[l] k' → f' =o[l] k' :=
   IsBigO.trans_isLittleO isBigO_fst_prod
 #align asymptotics.is_o.prod_left_fst Asymptotics.IsLittleO.prod_left_fst
 
-/- warning: asymptotics.is_o.prod_left_snd -> Asymptotics.IsLittleO.prod_left_snd is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsLittleO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k')
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsLittleO.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g' k')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_left_snd Asymptotics.IsLittleO.prod_left_sndₓ'. -/
 theorem IsLittleO.prod_left_snd : (fun x => (f' x, g' x)) =o[l] k' → g' =o[l] k' :=
   IsBigO.trans_isLittleO isBigO_snd_prod
 #align asymptotics.is_o.prod_left_snd Asymptotics.IsLittleO.prod_left_snd
 
-/- warning: asymptotics.is_o_prod_left -> Asymptotics.isLittleO_prod_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsLittleO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k') (Asymptotics.IsLittleO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k'))
-but is expected to have type
-  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, Iff (Asymptotics.IsLittleO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsLittleO.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f' k') (Asymptotics.IsLittleO.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g' k'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_prod_left Asymptotics.isLittleO_prod_leftₓ'. -/
 @[simp]
 theorem isLittleO_prod_left : (fun x => (f' x, g' x)) =o[l] k' ↔ f' =o[l] k' ∧ g' =o[l] k' :=
   ⟨fun h => ⟨h.prod_left_fst, h.prod_left_snd⟩, fun h => h.1.prodLeft h.2⟩
 #align asymptotics.is_o_prod_left Asymptotics.isLittleO_prod_left
 
-/- warning: asymptotics.is_O_with.eq_zero_imp -> Asymptotics.IsBigOWith.eq_zero_imp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {c : Real} {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) c l f'' g'') -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))) l)
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {c : Real} {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) c l f'' g'') -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u1} F'' (g'' x) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))) l)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.eq_zero_imp Asymptotics.IsBigOWith.eq_zero_impₓ'. -/
 theorem IsBigOWith.eq_zero_imp (h : IsBigOWith c l f'' g'') : ∀ᶠ x in l, g'' x = 0 → f'' x = 0 :=
   Eventually.mono h.bound fun x hx hg => norm_le_zero_iff.1 <| by simpa [hg] using hx
 #align asymptotics.is_O_with.eq_zero_imp Asymptotics.IsBigOWith.eq_zero_imp
 
-/- warning: asymptotics.is_O.eq_zero_imp -> Asymptotics.IsBigO.eq_zero_imp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' g'') -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))) l)
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' g'') -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u1} F'' (g'' x) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))) l)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.eq_zero_imp Asymptotics.IsBigO.eq_zero_impₓ'. -/
 theorem IsBigO.eq_zero_imp (h : f'' =O[l] g'') : ∀ᶠ x in l, g'' x = 0 → f'' x = 0 :=
   let ⟨C, hC⟩ := h.IsBigOWith
   hC.eq_zero_imp
@@ -2210,12 +1022,6 @@ section add_sub
 
 variable {f₁ f₂ : α → E'} {g₁ g₂ : α → F'}
 
-/- warning: asymptotics.is_O_with.add -> Asymptotics.IsBigOWith.add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l f₂ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) c₁ c₂) l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l f₂ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) c₁ c₂) l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.add Asymptotics.IsBigOWith.addₓ'. -/
 theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂ l f₂ g) :
     IsBigOWith (c₁ + c₂) l (fun x => f₁ x + f₂ x) g := by
   rw [is_O_with] at * <;>
@@ -2226,24 +1032,12 @@ theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂
         
 #align asymptotics.is_O_with.add Asymptotics.IsBigOWith.add
 
-/- warning: asymptotics.is_O.add -> Asymptotics.IsBigO.add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.add Asymptotics.IsBigO.addₓ'. -/
 theorem IsBigO.add (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
   let ⟨c₁, hc₁⟩ := h₁.IsBigOWith
   let ⟨c₂, hc₂⟩ := h₂.IsBigOWith
   (hc₁.add hc₂).IsBigO
 #align asymptotics.is_O.add Asymptotics.IsBigO.add
 
-/- warning: asymptotics.is_o.add -> Asymptotics.IsLittleO.add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.add Asymptotics.IsLittleO.addₓ'. -/
 theorem IsLittleO.add (h₁ : f₁ =o[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x + f₂ x) =o[l] g :=
   IsLittleO.of_isBigOWith fun c cpos =>
     ((h₁.forall_isBigOWith <| half_pos cpos).add
@@ -2251,97 +1045,43 @@ theorem IsLittleO.add (h₁ : f₁ =o[l] g) (h₂ : f₂ =o[l] g) : (fun x => f
       (add_halves c)
 #align asymptotics.is_o.add Asymptotics.IsLittleO.add
 
-/- warning: asymptotics.is_o.add_add -> Asymptotics.IsLittleO.add_add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'} {g₁ : α -> F'} {g₂ : α -> F'}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f₁ g₁) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f₂ g₂) -> (Asymptotics.IsLittleO.{u1, u2, 0} α E' Real (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) Real.hasNorm l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toHasAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) (fun (x : α) => HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g₁ x)) (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g₂ x))))
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'} {g₁ : α -> F'} {g₂ : α -> F'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f₁ g₁) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f₂ g₂) -> (Asymptotics.IsLittleO.{u3, u2, 0} α E' Real (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) Real.norm l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) (fun (x : α) => HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g₁ x)) (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g₂ x))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.add_add Asymptotics.IsLittleO.add_addₓ'. -/
 theorem IsLittleO.add_add (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =o[l] g₂) :
     (fun x => f₁ x + f₂ x) =o[l] fun x => ‖g₁ x‖ + ‖g₂ x‖ := by
   refine' (h₁.trans_le fun x => _).add (h₂.trans_le _) <;> simp [abs_of_nonneg, add_nonneg]
 #align asymptotics.is_o.add_add Asymptotics.IsLittleO.add_add
 
-/- warning: asymptotics.is_O.add_is_o -> Asymptotics.IsBigO.add_isLittleO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.add_is_o Asymptotics.IsBigO.add_isLittleOₓ'. -/
 theorem IsBigO.add_isLittleO (h₁ : f₁ =O[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
   h₁.add h₂.IsBigO
 #align asymptotics.is_O.add_is_o Asymptotics.IsBigO.add_isLittleO
 
-/- warning: asymptotics.is_o.add_is_O -> Asymptotics.IsLittleO.add_isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.add_is_O Asymptotics.IsLittleO.add_isBigOₓ'. -/
 theorem IsLittleO.add_isBigO (h₁ : f₁ =o[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
   h₁.IsBigO.add h₂
 #align asymptotics.is_o.add_is_O Asymptotics.IsLittleO.add_isBigO
 
-/- warning: asymptotics.is_O_with.add_is_o -> Asymptotics.IsBigOWith.add_isLittleO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (LT.lt.{0} Real Real.hasLt c₁ c₂) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (LT.lt.{0} Real Real.instLTReal c₁ c₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.add_is_o Asymptotics.IsBigOWith.add_isLittleOₓ'. -/
 theorem IsBigOWith.add_isLittleO (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
     IsBigOWith c₂ l (fun x => f₁ x + f₂ x) g :=
   (h₁.add (h₂.forall_isBigOWith (sub_pos.2 hc))).congr_const (add_sub_cancel'_right _ _)
 #align asymptotics.is_O_with.add_is_o Asymptotics.IsBigOWith.add_isLittleO
 
-/- warning: asymptotics.is_o.add_is_O_with -> Asymptotics.IsLittleO.add_isBigOWith is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₂ g) -> (LT.lt.{0} Real Real.hasLt c₁ c₂) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₂ g) -> (LT.lt.{0} Real Real.instLTReal c₁ c₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.add_is_O_with Asymptotics.IsLittleO.add_isBigOWithₓ'. -/
 theorem IsLittleO.add_isBigOWith (h₁ : f₁ =o[l] g) (h₂ : IsBigOWith c₁ l f₂ g) (hc : c₁ < c₂) :
     IsBigOWith c₂ l (fun x => f₁ x + f₂ x) g :=
   (h₂.add_isLittleO h₁ hc).congr_left fun _ => add_comm _ _
 #align asymptotics.is_o.add_is_O_with Asymptotics.IsLittleO.add_isBigOWith
 
-/- warning: asymptotics.is_O_with.sub -> Asymptotics.IsBigOWith.sub is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l f₂ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) c₁ c₂) l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l f₂ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) c₁ c₂) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sub Asymptotics.IsBigOWith.subₓ'. -/
 theorem IsBigOWith.sub (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂ l f₂ g) :
     IsBigOWith (c₁ + c₂) l (fun x => f₁ x - f₂ x) g := by
   simpa only [sub_eq_add_neg] using h₁.add h₂.neg_left
 #align asymptotics.is_O_with.sub Asymptotics.IsBigOWith.sub
 
-/- warning: asymptotics.is_O_with.sub_is_o -> Asymptotics.IsBigOWith.sub_isLittleO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (LT.lt.{0} Real Real.hasLt c₁ c₂) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (LT.lt.{0} Real Real.instLTReal c₁ c₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sub_is_o Asymptotics.IsBigOWith.sub_isLittleOₓ'. -/
 theorem IsBigOWith.sub_isLittleO (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
     IsBigOWith c₂ l (fun x => f₁ x - f₂ x) g := by
   simpa only [sub_eq_add_neg] using h₁.add_is_o h₂.neg_left hc
 #align asymptotics.is_O_with.sub_is_o Asymptotics.IsBigOWith.sub_isLittleO
 
-/- warning: asymptotics.is_O.sub -> Asymptotics.IsBigO.sub is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.sub Asymptotics.IsBigO.subₓ'. -/
 theorem IsBigO.sub (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x - f₂ x) =O[l] g := by
   simpa only [sub_eq_add_neg] using h₁.add h₂.neg_left
 #align asymptotics.is_O.sub Asymptotics.IsBigO.sub
 
-/- warning: asymptotics.is_o.sub -> Asymptotics.IsLittleO.sub is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.sub Asymptotics.IsLittleO.subₓ'. -/
 theorem IsLittleO.sub (h₁ : f₁ =o[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x - f₂ x) =o[l] g := by
   simpa only [sub_eq_add_neg] using h₁.add h₂.neg_left
 #align asymptotics.is_o.sub Asymptotics.IsLittleO.sub
@@ -2355,119 +1095,53 @@ section IsOOAsRel
 
 variable {f₁ f₂ f₃ : α → E'}
 
-/- warning: asymptotics.is_O_with.symm -> Asymptotics.IsBigOWith.symm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.symm Asymptotics.IsBigOWith.symmₓ'. -/
 theorem IsBigOWith.symm (h : IsBigOWith c l (fun x => f₁ x - f₂ x) g) :
     IsBigOWith c l (fun x => f₂ x - f₁ x) g :=
   h.neg_left.congr_left fun x => neg_sub _ _
 #align asymptotics.is_O_with.symm Asymptotics.IsBigOWith.symm
 
-/- warning: asymptotics.is_O_with_comm -> Asymptotics.isBigOWith_comm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_comm Asymptotics.isBigOWith_commₓ'. -/
 theorem isBigOWith_comm :
     IsBigOWith c l (fun x => f₁ x - f₂ x) g ↔ IsBigOWith c l (fun x => f₂ x - f₁ x) g :=
   ⟨IsBigOWith.symm, IsBigOWith.symm⟩
 #align asymptotics.is_O_with_comm Asymptotics.isBigOWith_comm
 
-/- warning: asymptotics.is_O.symm -> Asymptotics.IsBigO.symm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.symm Asymptotics.IsBigO.symmₓ'. -/
 theorem IsBigO.symm (h : (fun x => f₁ x - f₂ x) =O[l] g) : (fun x => f₂ x - f₁ x) =O[l] g :=
   h.neg_left.congr_left fun x => neg_sub _ _
 #align asymptotics.is_O.symm Asymptotics.IsBigO.symm
 
-/- warning: asymptotics.is_O_comm -> Asymptotics.isBigO_comm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_comm Asymptotics.isBigO_commₓ'. -/
 theorem isBigO_comm : (fun x => f₁ x - f₂ x) =O[l] g ↔ (fun x => f₂ x - f₁ x) =O[l] g :=
   ⟨IsBigO.symm, IsBigO.symm⟩
 #align asymptotics.is_O_comm Asymptotics.isBigO_comm
 
-/- warning: asymptotics.is_o.symm -> Asymptotics.IsLittleO.symm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.symm Asymptotics.IsLittleO.symmₓ'. -/
 theorem IsLittleO.symm (h : (fun x => f₁ x - f₂ x) =o[l] g) : (fun x => f₂ x - f₁ x) =o[l] g := by
   simpa only [neg_sub] using h.neg_left
 #align asymptotics.is_o.symm Asymptotics.IsLittleO.symm
 
-/- warning: asymptotics.is_o_comm -> Asymptotics.isLittleO_comm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_comm Asymptotics.isLittleO_commₓ'. -/
 theorem isLittleO_comm : (fun x => f₁ x - f₂ x) =o[l] g ↔ (fun x => f₂ x - f₁ x) =o[l] g :=
   ⟨IsLittleO.symm, IsLittleO.symm⟩
 #align asymptotics.is_o_comm Asymptotics.isLittleO_comm
 
-/- warning: asymptotics.is_O_with.triangle -> Asymptotics.IsBigOWith.triangle is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {c' : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c' l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) c c') l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₃ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {c' : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c' l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) c c') l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₃ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.triangle Asymptotics.IsBigOWith.triangleₓ'. -/
 theorem IsBigOWith.triangle (h₁ : IsBigOWith c l (fun x => f₁ x - f₂ x) g)
     (h₂ : IsBigOWith c' l (fun x => f₂ x - f₃ x) g) :
     IsBigOWith (c + c') l (fun x => f₁ x - f₃ x) g :=
   (h₁.add h₂).congr_left fun x => sub_add_sub_cancel _ _ _
 #align asymptotics.is_O_with.triangle Asymptotics.IsBigOWith.triangle
 
-/- warning: asymptotics.is_O.triangle -> Asymptotics.IsBigO.triangle is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₃ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₃ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.triangle Asymptotics.IsBigO.triangleₓ'. -/
 theorem IsBigO.triangle (h₁ : (fun x => f₁ x - f₂ x) =O[l] g)
     (h₂ : (fun x => f₂ x - f₃ x) =O[l] g) : (fun x => f₁ x - f₃ x) =O[l] g :=
   (h₁.add h₂).congr_left fun x => sub_add_sub_cancel _ _ _
 #align asymptotics.is_O.triangle Asymptotics.IsBigO.triangle
 
-/- warning: asymptotics.is_o.triangle -> Asymptotics.IsLittleO.triangle is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₃ x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₃ x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.triangle Asymptotics.IsLittleO.triangleₓ'. -/
 theorem IsLittleO.triangle (h₁ : (fun x => f₁ x - f₂ x) =o[l] g)
     (h₂ : (fun x => f₂ x - f₃ x) =o[l] g) : (fun x => f₁ x - f₃ x) =o[l] g :=
   (h₁.add h₂).congr_left fun x => sub_add_sub_cancel _ _ _
 #align asymptotics.is_o.triangle Asymptotics.IsLittleO.triangle
 
-/- warning: asymptotics.is_O.congr_of_sub -> Asymptotics.IsBigO.congr_of_sub is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g))
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Iff (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr_of_sub Asymptotics.IsBigO.congr_of_subₓ'. -/
 theorem IsBigO.congr_of_sub (h : (fun x => f₁ x - f₂ x) =O[l] g) : f₁ =O[l] g ↔ f₂ =O[l] g :=
   ⟨fun h' => (h'.sub h).congr_left fun x => sub_sub_cancel _ _, fun h' =>
     (h.add h').congr_left fun x => sub_add_cancel _ _⟩
 #align asymptotics.is_O.congr_of_sub Asymptotics.IsBigO.congr_of_sub
 
-/- warning: asymptotics.is_o.congr_of_sub -> Asymptotics.IsLittleO.congr_of_sub is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g))
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr_of_sub Asymptotics.IsLittleO.congr_of_subₓ'. -/
 theorem IsLittleO.congr_of_sub (h : (fun x => f₁ x - f₂ x) =o[l] g) : f₁ =o[l] g ↔ f₂ =o[l] g :=
   ⟨fun h' => (h'.sub h).congr_left fun x => sub_sub_cancel _ _, fun h' =>
     (h.add h').congr_left fun x => sub_add_cancel _ _⟩
@@ -2482,87 +1156,39 @@ section ZeroConst
 
 variable (g g' l)
 
-/- warning: asymptotics.is_o_zero -> Asymptotics.isLittleO_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] (g' : α -> F') (l : Filter.{u1} α), Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))))) g'
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] (g' : α -> F') (l : Filter.{u3} α), Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))))) g'
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_zero Asymptotics.isLittleO_zeroₓ'. -/
 theorem isLittleO_zero : (fun x => (0 : E')) =o[l] g' :=
   IsLittleO.of_bound fun c hc =>
     univ_mem' fun x => by simpa using mul_nonneg hc.le (norm_nonneg <| g' x)
 #align asymptotics.is_o_zero Asymptotics.isLittleO_zero
 
-/- warning: asymptotics.is_O_with_zero -> Asymptotics.isBigOWith_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} (g' : α -> F') (l : Filter.{u1} α), (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))))) g')
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} (g' : α -> F') (l : Filter.{u3} α), (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))))) g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_zero Asymptotics.isBigOWith_zeroₓ'. -/
 theorem isBigOWith_zero (hc : 0 ≤ c) : IsBigOWith c l (fun x => (0 : E')) g' :=
   IsBigOWith.of_bound <| univ_mem' fun x => by simpa using mul_nonneg hc (norm_nonneg <| g' x)
 #align asymptotics.is_O_with_zero Asymptotics.isBigOWith_zero
 
-/- warning: asymptotics.is_O_with_zero' -> Asymptotics.isBigOWith_zero' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] (g : α -> F) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) l (fun (x : α) => OfNat.ofNat.{u3} E' 0 (OfNat.mk.{u3} E' 0 (Zero.zero.{u3} E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))))) g
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] (g : α -> F) (l : Filter.{u3} α), Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))))) g
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_zero' Asymptotics.isBigOWith_zero'ₓ'. -/
 theorem isBigOWith_zero' : IsBigOWith 0 l (fun x => (0 : E')) g :=
   IsBigOWith.of_bound <| univ_mem' fun x => by simp
 #align asymptotics.is_O_with_zero' Asymptotics.isBigOWith_zero'
 
-/- warning: asymptotics.is_O_zero -> Asymptotics.isBigO_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] (g : α -> F) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => OfNat.ofNat.{u3} E' 0 (OfNat.mk.{u3} E' 0 (Zero.zero.{u3} E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))))) g
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] (g : α -> F) (l : Filter.{u3} α), Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))))) g
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_zero Asymptotics.isBigO_zeroₓ'. -/
 theorem isBigO_zero : (fun x => (0 : E')) =O[l] g :=
   isBigO_iff_isBigOWith.2 ⟨0, isBigOWith_zero' _ _⟩
 #align asymptotics.is_O_zero Asymptotics.isBigO_zero
 
-/- warning: asymptotics.is_O_refl_left -> Asymptotics.isBigO_refl_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} (g' : α -> F') (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toHasSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f' x) (f' x)) g'
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} (g' : α -> F') (l : Filter.{u3} α), Asymptotics.IsBigO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f' x) (f' x)) g'
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_refl_left Asymptotics.isBigO_refl_leftₓ'. -/
 theorem isBigO_refl_left : (fun x => f' x - f' x) =O[l] g' :=
   (isBigO_zero g' l).congr_left fun x => (sub_self _).symm
 #align asymptotics.is_O_refl_left Asymptotics.isBigO_refl_left
 
-/- warning: asymptotics.is_o_refl_left -> Asymptotics.isLittleO_refl_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} (g' : α -> F') (l : Filter.{u1} α), Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toHasSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f' x) (f' x)) g'
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} (g' : α -> F') (l : Filter.{u3} α), Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f' x) (f' x)) g'
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_refl_left Asymptotics.isLittleO_refl_leftₓ'. -/
 theorem isLittleO_refl_left : (fun x => f' x - f' x) =o[l] g' :=
   (isLittleO_zero g' l).congr_left fun x => (sub_self _).symm
 #align asymptotics.is_o_refl_left Asymptotics.isLittleO_refl_left
 
 variable {g g' l}
 
-/- warning: asymptotics.is_O_with_zero_right_iff -> Asymptotics.isBigOWith_zero_right_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_zero_right_iff Asymptotics.isBigOWith_zero_right_iffₓ'. -/
 @[simp]
 theorem isBigOWith_zero_right_iff : (IsBigOWith c l f'' fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 := by
   simp only [is_O_with, exists_prop, true_and_iff, norm_zero, MulZeroClass.mul_zero,
     norm_le_zero_iff, eventually_eq, Pi.zero_apply]
 #align asymptotics.is_O_with_zero_right_iff Asymptotics.isBigOWith_zero_right_iff
 
-/- warning: asymptotics.is_O_zero_right_iff -> Asymptotics.isBigO_zero_right_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_zero_right_iff Asymptotics.isBigO_zero_right_iffₓ'. -/
 @[simp]
 theorem isBigO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
   ⟨fun h =>
@@ -2571,24 +1197,12 @@ theorem isBigO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0
     fun h => (isBigOWith_zero_right_iff.2 h : IsBigOWith 1 _ _ _).IsBigO⟩
 #align asymptotics.is_O_zero_right_iff Asymptotics.isBigO_zero_right_iff
 
-/- warning: asymptotics.is_o_zero_right_iff -> Asymptotics.isLittleO_zero_right_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_zero_right_iff Asymptotics.isLittleO_zero_right_iffₓ'. -/
 @[simp]
 theorem isLittleO_zero_right_iff : (f'' =o[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
   ⟨fun h => isBigO_zero_right_iff.1 h.IsBigO, fun h =>
     IsLittleO.of_isBigOWith fun c hc => isBigOWith_zero_right_iff.2 h⟩
 #align asymptotics.is_o_zero_right_iff Asymptotics.isLittleO_zero_right_iff
 
-/- warning: asymptotics.is_O_with_const_const -> Asymptotics.isBigOWith_const_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] (c : E) {c' : F''}, (Ne.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (forall (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Norm.norm.{u2} E _inst_1 c) (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) c')) l (fun (x : α) => c) (fun (x : α) => c'))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] (c : E) {c' : F''}, (Ne.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (forall (l : Filter.{u2} α), Asymptotics.IsBigOWith.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} E _inst_1 c) (Norm.norm.{u3} F'' (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) c')) l (fun (x : α) => c) (fun (x : α) => c'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_const_const Asymptotics.isBigOWith_const_constₓ'. -/
 theorem isBigOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
     IsBigOWith (‖c‖ / ‖c'‖) l (fun x : α => c) fun x => c' :=
   by
@@ -2599,23 +1213,11 @@ theorem isBigOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter 
   rwa [Ne.def, norm_eq_zero]
 #align asymptotics.is_O_with_const_const Asymptotics.isBigOWith_const_const
 
-/- warning: asymptotics.is_O_const_const -> Asymptotics.isBigO_const_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] (c : E) {c' : F''}, (Ne.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (forall (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l (fun (x : α) => c) (fun (x : α) => c'))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] (c : E) {c' : F''}, (Ne.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (forall (l : Filter.{u2} α), Asymptotics.IsBigO.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l (fun (x : α) => c) (fun (x : α) => c'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_const Asymptotics.isBigO_const_constₓ'. -/
 theorem isBigO_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
     (fun x : α => c) =O[l] fun x => c' :=
   (isBigOWith_const_const c hc' l).IsBigO
 #align asymptotics.is_O_const_const Asymptotics.isBigO_const_const
 
-/- warning: asymptotics.is_O_const_const_iff -> Asymptotics.isBigO_const_const_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {c : E''} {c' : F''} (l : Filter.{u1} α) [_inst_14 : Filter.NeBot.{u1} α l], Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l (fun (x : α) => c) (fun (x : α) => c')) ((Eq.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' c (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {c : E''} {c' : F''} (l : Filter.{u3} α) [_inst_14 : Filter.NeBot.{u3} α l], Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l (fun (x : α) => c) (fun (x : α) => c')) ((Eq.{succ u1} F'' c' (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' c (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_const_iff Asymptotics.isBigO_const_const_iffₓ'. -/
 @[simp]
 theorem isBigO_const_const_iff {c : E''} {c' : F''} (l : Filter α) [l.ne_bot] :
     ((fun x : α => c) =O[l] fun x => c') ↔ c' = 0 → c = 0 :=
@@ -2625,12 +1227,6 @@ theorem isBigO_const_const_iff {c : E''} {c' : F''} (l : Filter α) [l.ne_bot] :
   · simp [hc', is_O_const_const _ hc']
 #align asymptotics.is_O_const_const_iff Asymptotics.isBigO_const_const_iff
 
-/- warning: asymptotics.is_O_pure -> Asymptotics.isBigO_pure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {x : α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α x) f'' g'') ((Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {x : α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (Pure.pure.{u3, u3} Filter.{u3} Filter.instPureFilter.{u3} α x) f'' g'') ((Eq.{succ u1} F'' (g'' x) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_pure Asymptotics.isBigO_pureₓ'. -/
 @[simp]
 theorem isBigO_pure {x} : f'' =O[pure x] g'' ↔ g'' x = 0 → f'' x = 0 :=
   calc
@@ -2641,32 +1237,14 @@ theorem isBigO_pure {x} : f'' =O[pure x] g'' ↔ g'' x = 0 → f'' x = 0 :=
 
 end ZeroConst
 
-/- warning: asymptotics.is_O_with_top -> Asymptotics.isBigOWith_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Top.top.{u1} (Filter.{u1} α) (Filter.hasTop.{u1} α)) f g) (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Top.top.{u3} (Filter.{u3} α) (Filter.instTopFilter.{u3} α)) f g) (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_top Asymptotics.isBigOWith_topₓ'. -/
 @[simp]
 theorem isBigOWith_top : IsBigOWith c ⊤ f g ↔ ∀ x, ‖f x‖ ≤ c * ‖g x‖ := by rw [is_O_with] <;> rfl
 #align asymptotics.is_O_with_top Asymptotics.isBigOWith_top
 
-/- warning: asymptotics.is_O_top -> Asymptotics.isBigO_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 (Top.top.{u1} (Filter.{u1} α) (Filter.hasTop.{u1} α)) f g) (Exists.{1} Real (fun (C : Real) => forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F _inst_2 (g x)))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 (Top.top.{u3} (Filter.{u3} α) (Filter.instTopFilter.{u3} α)) f g) (Exists.{1} Real (fun (C : Real) => forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} F _inst_2 (g x)))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_top Asymptotics.isBigO_topₓ'. -/
 @[simp]
 theorem isBigO_top : f =O[⊤] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ := by rw [is_O_iff] <;> rfl
 #align asymptotics.is_O_top Asymptotics.isBigO_top
 
-/- warning: asymptotics.is_o_top -> Asymptotics.isLittleO_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Top.top.{u1} (Filter.{u1} α) (Filter.hasTop.{u1} α)) f'' g'') (forall (x : α), Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (Top.top.{u3} (Filter.{u3} α) (Filter.instTopFilter.{u3} α)) f'' g'') (forall (x : α), Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_top Asymptotics.isLittleO_topₓ'. -/
 @[simp]
 theorem isLittleO_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 :=
   by
@@ -2681,23 +1259,11 @@ theorem isLittleO_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 :=
       (eventually_nhdsWithin_iff.2 <| eventually_of_forall fun c hc => h hc x)
 #align asymptotics.is_o_top Asymptotics.isLittleO_top
 
-/- warning: asymptotics.is_O_with_principal -> Asymptotics.isBigOWith_principal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {s : Set.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Filter.principal.{u1} α s) f g) (forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {s : Set.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Filter.principal.{u3} α s) f g) (forall (x : α), (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_principal Asymptotics.isBigOWith_principalₓ'. -/
 @[simp]
 theorem isBigOWith_principal {s : Set α} : IsBigOWith c (𝓟 s) f g ↔ ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
   rw [is_O_with] <;> rfl
 #align asymptotics.is_O_with_principal Asymptotics.isBigOWith_principal
 
-/- warning: asymptotics.is_O_principal -> Asymptotics.isBigO_principal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {s : Set.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 (Filter.principal.{u1} α s) f g) (Exists.{1} Real (fun (c : Real) => forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {s : Set.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 (Filter.principal.{u3} α s) f g) (Exists.{1} Real (fun (c : Real) => forall (x : α), (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_principal Asymptotics.isBigO_principalₓ'. -/
 theorem isBigO_principal {s : Set α} : f =O[𝓟 s] g ↔ ∃ c, ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
   rw [is_O_iff] <;> rfl
 #align asymptotics.is_O_principal Asymptotics.isBigO_principal
@@ -2706,76 +1272,34 @@ section
 
 variable (F) [One F] [NormOneClass F]
 
-/- warning: asymptotics.is_O_with_const_one -> Asymptotics.isBigOWith_const_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14] (c : E) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 (Norm.norm.{u2} E _inst_1 c) l (fun (x : α) => c) (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14] (c : E) (l : Filter.{u3} α), Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 (Norm.norm.{u2} E _inst_1 c) l (fun (x : α) => c) (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_const_one Asymptotics.isBigOWith_const_oneₓ'. -/
 theorem isBigOWith_const_one (c : E) (l : Filter α) :
     IsBigOWith ‖c‖ l (fun x : α => c) fun x => (1 : F) := by simp [is_O_with_iff]
 #align asymptotics.is_O_with_const_one Asymptotics.isBigOWith_const_one
 
-/- warning: asymptotics.is_O_const_one -> Asymptotics.isBigO_const_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14] (c : E) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l (fun (x : α) => c) (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14] (c : E) (l : Filter.{u3} α), Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l (fun (x : α) => c) (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_one Asymptotics.isBigO_const_oneₓ'. -/
 theorem isBigO_const_one (c : E) (l : Filter α) : (fun x : α => c) =O[l] fun x => (1 : F) :=
   (isBigOWith_const_one F c l).IsBigO
 #align asymptotics.is_O_const_one Asymptotics.isBigO_const_one
 
-/- warning: asymptotics.is_o_const_iff_is_o_one -> Asymptotics.isLittleO_const_iff_isLittleO_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) {F'' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_8 : NormedAddCommGroup.{u4} F''] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14] {c : F''}, (Ne.{succ u4} F'' c (OfNat.ofNat.{u4} F'' 0 (OfNat.mk.{u4} F'' 0 (Zero.zero.{u4} F'' (AddZeroClass.toHasZero.{u4} F'' (AddMonoid.toAddZeroClass.{u4} F'' (SubNegMonoid.toAddMonoid.{u4} F'' (AddGroup.toSubNegMonoid.{u4} F'' (NormedAddGroup.toAddGroup.{u4} F'' (NormedAddCommGroup.toNormedAddGroup.{u4} F'' _inst_8)))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u4} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u4} F'' _inst_8) l f (fun (x : α) => c)) (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) {F'' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_8 : NormedAddCommGroup.{u4} F''] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14] {c : F''}, (Ne.{succ u4} F'' c (OfNat.ofNat.{u4} F'' 0 (Zero.toOfNat0.{u4} F'' (NegZeroClass.toZero.{u4} F'' (SubNegZeroMonoid.toNegZeroClass.{u4} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u4} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u4} F'' (AddCommGroup.toDivisionAddCommMonoid.{u4} F'' (NormedAddCommGroup.toAddCommGroup.{u4} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u4} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u4} F'' _inst_8) l f (fun (x : α) => c)) (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_iff_is_o_one Asymptotics.isLittleO_const_iff_isLittleO_oneₓ'. -/
 theorem isLittleO_const_iff_isLittleO_one {c : F''} (hc : c ≠ 0) :
     (f =o[l] fun x => c) ↔ f =o[l] fun x => (1 : F) :=
   ⟨fun h => h.trans_isBigOWith (isBigOWith_const_one _ _ _) (norm_pos_iff.2 hc), fun h =>
     h.trans_isBigO <| isBigO_const_const _ hc _⟩
 #align asymptotics.is_o_const_iff_is_o_one Asymptotics.isLittleO_const_iff_isLittleO_one
 
-/- warning: asymptotics.is_o_one_iff -> Asymptotics.isLittleO_one_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (F : Type.{u2}) {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : One.{u2} F] [_inst_15 : NormOneClass.{u2} F _inst_2 _inst_14], Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' (fun (x : α) => OfNat.ofNat.{u2} F 1 (OfNat.mk.{u2} F 1 (One.one.{u2} F _inst_14)))) (Filter.Tendsto.{u1, u3} α E' f' l (nhds.{u3} E' (UniformSpace.toTopologicalSpace.{u3} E' (PseudoMetricSpace.toUniformSpace.{u3} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E' _inst_4))) (OfNat.ofNat.{u3} E' 0 (OfNat.mk.{u3} E' 0 (Zero.zero.{u3} E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} (F : Type.{u1}) {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))) (Filter.Tendsto.{u3, u2} α E' f' l (nhds.{u2} E' (UniformSpace.toTopologicalSpace.{u2} E' (PseudoMetricSpace.toUniformSpace.{u2} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E' _inst_4))) (OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_one_iff Asymptotics.isLittleO_one_iffₓ'. -/
 @[simp]
 theorem isLittleO_one_iff : f' =o[l] (fun x => 1 : α → F) ↔ Tendsto f' l (𝓝 0) := by
   simp only [is_o_iff, norm_one, mul_one, metric.nhds_basis_closed_ball.tendsto_right_iff,
     Metric.mem_closedBall, dist_zero_right]
 #align asymptotics.is_o_one_iff Asymptotics.isLittleO_one_iff
 
-/- warning: asymptotics.is_O_one_iff -> Asymptotics.isBigO_one_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35346 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35348 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35346 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35348) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iffₓ'. -/
 @[simp]
 theorem isBigO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ :=
   by simp only [is_O_iff, norm_one, mul_one]; rfl
 #align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iff
 
-/- warning: filter.is_bounded_under.is_O_one -> Filter.IsBoundedUnder.isBigO_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35346 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35348 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35346 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35348) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14)))
-Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_oneₓ'. -/
 alias is_O_one_iff ↔ _ _root_.filter.is_bounded_under.is_O_one
 #align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_one
 
-/- warning: asymptotics.is_o_one_left_iff -> Asymptotics.isLittleO_one_left_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], Iff (Asymptotics.IsLittleO.{u1, u3, u2} α F E _inst_2 _inst_1 l (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14))) f) (Filter.Tendsto.{u1, 0} α Real (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)) l (Filter.atTop.{0} Real Real.preorder))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u1}} (F : Type.{u2}) [_inst_1 : Norm.{u1} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u2} F] [_inst_15 : NormOneClass.{u2} F _inst_2 _inst_14], Iff (Asymptotics.IsLittleO.{u3, u2, u1} α F E _inst_2 _inst_1 l (fun (x : α) => OfNat.ofNat.{u2} F 1 (One.toOfNat1.{u2} F _inst_14)) f) (Filter.Tendsto.{u3, 0} α Real (fun (x : α) => Norm.norm.{u1} E _inst_1 (f x)) l (Filter.atTop.{0} Real Real.instPreorderReal))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_one_left_iff Asymptotics.isLittleO_one_left_iffₓ'. -/
 @[simp]
 theorem isLittleO_one_left_iff : (fun x => 1 : α → F) =o[l] f ↔ Tendsto (fun x => ‖f x‖) l atTop :=
   calc
@@ -2788,23 +1312,11 @@ theorem isLittleO_one_left_iff : (fun x => 1 : α → F) =o[l] f ↔ Tendsto (fu
     
 #align asymptotics.is_o_one_left_iff Asymptotics.isLittleO_one_left_iff
 
-/- warning: filter.tendsto.is_O_one -> Filter.Tendsto.isBigO_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (F : Type.{u2}) {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : One.{u2} F] [_inst_15 : NormOneClass.{u2} F _inst_2 _inst_14] {c : E'}, (Filter.Tendsto.{u1, u3} α E' f' l (nhds.{u3} E' (UniformSpace.toTopologicalSpace.{u3} E' (PseudoMetricSpace.toUniformSpace.{u3} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E' _inst_4))) c)) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' (fun (x : α) => OfNat.ofNat.{u2} F 1 (OfNat.mk.{u2} F 1 (One.one.{u2} F _inst_14))))
-but is expected to have type
-  forall {α : Type.{u3}} (F : Type.{u1}) {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14] {c : E'}, (Filter.Tendsto.{u3, u2} α E' f' l (nhds.{u2} E' (UniformSpace.toTopologicalSpace.{u2} E' (PseudoMetricSpace.toUniformSpace.{u2} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E' _inst_4))) c)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14)))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.is_O_one Filter.Tendsto.isBigO_oneₓ'. -/
 theorem Filter.Tendsto.isBigO_one {c : E'} (h : Tendsto f' l (𝓝 c)) :
     f' =O[l] (fun x => 1 : α → F) :=
   h.norm.isBoundedUnder_le.isBigO_one F
 #align filter.tendsto.is_O_one Filter.Tendsto.isBigO_one
 
-/- warning: asymptotics.is_O.trans_tendsto_nhds -> Asymptotics.IsBigO.trans_tendsto_nhds is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g') -> (forall {y : F'}, (Filter.Tendsto.{u1, u4} α F' g' l (nhds.{u4} F' (UniformSpace.toTopologicalSpace.{u4} F' (PseudoMetricSpace.toUniformSpace.{u4} F' (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} F' _inst_5))) y)) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))))
-but is expected to have type
-  forall {α : Type.{u4}} {E : Type.{u3}} (F : Type.{u1}) {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u1} F] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u4} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (forall {y : F'}, (Filter.Tendsto.{u4, u2} α F' g' l (nhds.{u2} F' (UniformSpace.toTopologicalSpace.{u2} F' (PseudoMetricSpace.toUniformSpace.{u2} F' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F' _inst_5))) y)) -> (Asymptotics.IsBigO.{u4, u3, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_tendsto_nhds Asymptotics.IsBigO.trans_tendsto_nhdsₓ'. -/
 theorem IsBigO.trans_tendsto_nhds (hfg : f =O[l] g') {y : F'} (hg : Tendsto g' l (𝓝 y)) :
     f =O[l] (fun x => 1 : α → F) :=
   hfg.trans <| hg.isBigO_one F
@@ -2812,77 +1324,35 @@ theorem IsBigO.trans_tendsto_nhds (hfg : f =O[l] g') {y : F'} (hg : Tendsto g' l
 
 end
 
-/- warning: asymptotics.is_o_const_iff -> Asymptotics.isLittleO_const_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u1} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)) (Filter.Tendsto.{u1, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))))
-but is expected to have type
-  forall {α : Type.{u2}} {E'' : Type.{u1}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u2} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsLittleO.{u2, u1, u3} α E'' F'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)) (Filter.Tendsto.{u2, u1} α E'' f'' l (nhds.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7)))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_iff Asymptotics.isLittleO_const_iffₓ'. -/
 theorem isLittleO_const_iff {c : F''} (hc : c ≠ 0) : (f'' =o[l] fun x => c) ↔ Tendsto f'' l (𝓝 0) :=
   (isLittleO_const_iff_isLittleO_one ℝ hc).trans (isLittleO_one_iff _)
 #align asymptotics.is_o_const_iff Asymptotics.isLittleO_const_iff
 
-/- warning: asymptotics.is_o_id_const -> Asymptotics.isLittleO_id_const is a dubious translation:
-lean 3 declaration is
-  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {c : F''}, (Ne.{succ u2} F'' c (OfNat.ofNat.{u2} F'' 0 (OfNat.mk.{u2} F'' 0 (Zero.zero.{u2} F'' (AddZeroClass.toHasZero.{u2} F'' (AddMonoid.toAddZeroClass.{u2} F'' (SubNegMonoid.toAddMonoid.{u2} F'' (AddGroup.toSubNegMonoid.{u2} F'' (NormedAddGroup.toAddGroup.{u2} F'' (NormedAddCommGroup.toNormedAddGroup.{u2} F'' _inst_8)))))))))) -> (Asymptotics.IsLittleO.{u1, u1, u2} E'' E'' F'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) (nhds.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) (OfNat.ofNat.{u1} E'' 0 (OfNat.mk.{u1} E'' 0 (Zero.zero.{u1} E'' (AddZeroClass.toHasZero.{u1} E'' (AddMonoid.toAddZeroClass.{u1} E'' (SubNegMonoid.toAddMonoid.{u1} E'' (AddGroup.toSubNegMonoid.{u1} E'' (NormedAddGroup.toAddGroup.{u1} E'' (NormedAddCommGroup.toNormedAddGroup.{u1} E'' _inst_7)))))))))) (fun (x : E'') => x) (fun (x : E'') => c))
-but is expected to have type
-  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {c : F''}, (Ne.{succ u2} F'' c (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) -> (Asymptotics.IsLittleO.{u1, u1, u2} E'' E'' F'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (nhds.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7))))))))) (fun (x : E'') => x) (fun (x : E'') => c))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_id_const Asymptotics.isLittleO_id_constₓ'. -/
 theorem isLittleO_id_const {c : F''} (hc : c ≠ 0) : (fun x : E'' => x) =o[𝓝 0] fun x => c :=
   (isLittleO_const_iff hc).mpr (continuous_id.Tendsto 0)
 #align asymptotics.is_o_id_const Asymptotics.isLittleO_id_const
 
-/- warning: filter.is_bounded_under.is_O_const -> Filter.IsBoundedUnder.isBigO_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u1} α}, (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : α -> E} {l : Filter.{u3} α}, (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36325 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36327 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36325 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36327) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f (fun (x : α) => c)))
-Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under.is_O_const Filter.IsBoundedUnder.isBigO_constₓ'. -/
 theorem Filter.IsBoundedUnder.isBigO_const (h : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) {c : F''}
     (hc : c ≠ 0) : f =O[l] fun x => c :=
   (h.isBigO_one ℝ).trans (isBigO_const_const _ hc _)
 #align filter.is_bounded_under.is_O_const Filter.IsBoundedUnder.isBigO_const
 
-/- warning: asymptotics.is_O_const_of_tendsto -> Asymptotics.isBigO_const_of_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u1} α} {y : E''}, (Filter.Tendsto.{u1, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) y)) -> (forall {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {y : E''}, (Filter.Tendsto.{u3, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) y)) -> (forall {c : F''}, (Ne.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_of_tendsto Asymptotics.isBigO_const_of_tendstoₓ'. -/
 theorem isBigO_const_of_tendsto {y : E''} (h : Tendsto f'' l (𝓝 y)) {c : F''} (hc : c ≠ 0) :
     f'' =O[l] fun x => c :=
   h.norm.isBoundedUnder_le.isBigO_const hc
 #align asymptotics.is_O_const_of_tendsto Asymptotics.isBigO_const_of_tendsto
 
-/- warning: asymptotics.is_O.is_bounded_under_le -> Asymptotics.IsBigO.isBoundedUnder_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} {c : F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {c : F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36616 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36618 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36616 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36618) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.is_bounded_under_le Asymptotics.IsBigO.isBoundedUnder_leₓ'. -/
 theorem IsBigO.isBoundedUnder_le {c : F} (h : f =O[l] fun x => c) :
     IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
   let ⟨c', hc'⟩ := h.bound
   ⟨c' * ‖c‖, eventually_map.2 hc'⟩
 #align asymptotics.is_O.is_bounded_under_le Asymptotics.IsBigO.isBoundedUnder_le
 
-/- warning: asymptotics.is_O_const_of_ne -> Asymptotics.isBigO_const_of_ne is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u1} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u2} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36786 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36788 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36786 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36788) l (Function.comp.{succ u2, succ u1, 1} α E Real (Norm.norm.{u1} E _inst_1) f)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_of_ne Asymptotics.isBigO_const_of_neₓ'. -/
 theorem isBigO_const_of_ne {c : F''} (hc : c ≠ 0) :
     (f =O[l] fun x => c) ↔ IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
   ⟨fun h => h.isBoundedUnder_le, fun h => h.isBigO_const hc⟩
 #align asymptotics.is_O_const_of_ne Asymptotics.isBigO_const_of_ne
 
-/- warning: asymptotics.is_O_const_iff -> Asymptotics.isBigO_const_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u1} α} {c : F''}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Filter.EventuallyEq.{u1, u2} α E'' l f'' (OfNat.ofNat.{max u1 u2} (α -> E'') 0 (OfNat.mk.{max u1 u2} (α -> E'') 0 (Zero.zero.{max u1 u2} (α -> E'') (Pi.instZero.{u1, u2} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (f'' x))))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {c : F''}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36952 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36954 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36952 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36954) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iffₓ'. -/
 theorem isBigO_const_iff {c : F''} :
     (f'' =O[l] fun x => c) ↔ (c = 0 → f'' =ᶠ[l] 0) ∧ IsBoundedUnder (· ≤ ·) l fun x => ‖f'' x‖ :=
   by
@@ -2892,12 +1362,6 @@ theorem isBigO_const_iff {c : F''} :
   exacts[(hcf hc).trans_isBigO (is_O_zero _ _), hf.is_O_const hc]
 #align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iff
 
-/- warning: asymptotics.is_O_iff_is_bounded_under_le_div -> Asymptotics.isBigO_iff_isBoundedUnder_le_div is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => Ne.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) l) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (g'' x)))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u1}} {F'' : Type.{u2}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => Ne.{succ u2} F'' (g'' x) (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) l) -> (Iff (Asymptotics.IsBigO.{u3, u1, u2} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37187 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37189 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37187 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37189) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} E _inst_1 (f x)) (Norm.norm.{u2} F'' (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (g'' x)))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_is_bounded_under_le_div Asymptotics.isBigO_iff_isBoundedUnder_le_divₓ'. -/
 theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
     f =O[l] g'' ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ / ‖g'' x‖ :=
   by
@@ -2907,12 +1371,6 @@ theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
       eventually_congr <| h.mono fun x hx => (div_le_iff <| norm_pos_iff.2 hx).symm
 #align asymptotics.is_O_iff_is_bounded_under_le_div Asymptotics.isBigO_iff_isBoundedUnder_le_div
 
-/- warning: asymptotics.is_O_const_left_iff_pos_le_norm -> Asymptotics.isBigO_const_left_iff_pos_le_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {E'' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f' : α -> E'} {l : Filter.{u1} α} {c : E''}, (Ne.{succ u3} E'' c (OfNat.ofNat.{u3} E'' 0 (OfNat.mk.{u3} E'' 0 (Zero.zero.{u3} E'' (AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α E'' E' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l (fun (x : α) => c) f') (Exists.{1} Real (fun (b : Real) => And (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) b) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe b (Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x))) l))))
-but is expected to have type
-  forall {α : Type.{u2}} {E' : Type.{u1}} {E'' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f' : α -> E'} {l : Filter.{u2} α} {c : E''}, (Ne.{succ u3} E'' c (OfNat.ofNat.{u3} E'' 0 (Zero.toOfNat0.{u3} E'' (NegZeroClass.toZero.{u3} E'' (SubNegZeroMonoid.toNegZeroClass.{u3} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E'' (AddCommGroup.toDivisionAddCommMonoid.{u3} E'' (NormedAddCommGroup.toAddCommGroup.{u3} E'' _inst_7))))))))) -> (Iff (Asymptotics.IsBigO.{u2, u3, u1} α E'' E' (NormedAddCommGroup.toNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l (fun (x : α) => c) f') (Exists.{1} Real (fun (b : Real) => And (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) b) (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal b (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x))) l))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_left_iff_pos_le_norm Asymptotics.isBigO_const_left_iff_pos_le_normₓ'. -/
 /-- `(λ x, c) =O[l] f` if and only if `f` is bounded away from zero. -/
 theorem isBigO_const_left_iff_pos_le_norm {c : E''} (hc : c ≠ 0) :
     (fun x => c) =O[l] f' ↔ ∃ b, 0 < b ∧ ∀ᶠ x in l, b ≤ ‖f' x‖ :=
@@ -2934,23 +1392,11 @@ variable (𝕜)
 
 end
 
-/- warning: asymptotics.is_O.trans_tendsto -> Asymptotics.IsBigO.trans_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' g'') -> (Filter.Tendsto.{u1, u3} α F'' g'' l (nhds.{u3} F'' (UniformSpace.toTopologicalSpace.{u3} F'' (PseudoMetricSpace.toUniformSpace.{u3} F'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F'' _inst_8)))) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8))))))))))) -> (Filter.Tendsto.{u1, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' g'') -> (Filter.Tendsto.{u3, u1} α F'' g'' l (nhds.{u1} F'' (UniformSpace.toTopologicalSpace.{u1} F'' (PseudoMetricSpace.toUniformSpace.{u1} F'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F'' _inst_8)))) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8)))))))))) -> (Filter.Tendsto.{u3, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_tendsto Asymptotics.IsBigO.trans_tendstoₓ'. -/
 theorem IsBigO.trans_tendsto (hfg : f'' =O[l] g'') (hg : Tendsto g'' l (𝓝 0)) :
     Tendsto f'' l (𝓝 0) :=
   (isLittleO_one_iff ℝ).1 <| hfg.trans_isLittleO <| (isLittleO_one_iff ℝ).2 hg
 #align asymptotics.is_O.trans_tendsto Asymptotics.IsBigO.trans_tendsto
 
-/- warning: asymptotics.is_o.trans_tendsto -> Asymptotics.IsLittleO.trans_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' g'') -> (Filter.Tendsto.{u1, u3} α F'' g'' l (nhds.{u3} F'' (UniformSpace.toTopologicalSpace.{u3} F'' (PseudoMetricSpace.toUniformSpace.{u3} F'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F'' _inst_8)))) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8))))))))))) -> (Filter.Tendsto.{u1, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' g'') -> (Filter.Tendsto.{u3, u1} α F'' g'' l (nhds.{u1} F'' (UniformSpace.toTopologicalSpace.{u1} F'' (PseudoMetricSpace.toUniformSpace.{u1} F'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F'' _inst_8)))) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8)))))))))) -> (Filter.Tendsto.{u3, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_tendsto Asymptotics.IsLittleO.trans_tendstoₓ'. -/
 theorem IsLittleO.trans_tendsto (hfg : f'' =o[l] g'') (hg : Tendsto g'' l (𝓝 0)) :
     Tendsto f'' l (𝓝 0) :=
   hfg.IsBigO.trans_tendsto hg
@@ -2959,286 +1405,130 @@ theorem IsLittleO.trans_tendsto (hfg : f'' =o[l] g'') (hg : Tendsto g'' l (𝓝
 /-! ### Multiplication by a constant -/
 
 
-/- warning: asymptotics.is_O_with_const_mul_self -> Asymptotics.isBigOWith_const_mul_self is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (c : R) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α R R (SeminormedRing.toHasNorm.{u2} R _inst_10) (SeminormedRing.toHasNorm.{u2} R _inst_10) (Norm.norm.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) c) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) c (f x)) f
-but is expected to have type
-  forall {α : Type.{u2}} {R : Type.{u1}} [_inst_10 : SeminormedRing.{u1} R] (c : R) (f : α -> R) (l : Filter.{u2} α), Asymptotics.IsBigOWith.{u2, u1, u1} α R R (SeminormedRing.toNorm.{u1} R _inst_10) (SeminormedRing.toNorm.{u1} R _inst_10) (Norm.norm.{u1} R (SeminormedRing.toNorm.{u1} R _inst_10) c) l (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (f x)) f
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_const_mul_self Asymptotics.isBigOWith_const_mul_selfₓ'. -/
 theorem isBigOWith_const_mul_self (c : R) (f : α → R) (l : Filter α) :
     IsBigOWith ‖c‖ l (fun x => c * f x) f :=
   isBigOWith_of_le' _ fun x => norm_mul_le _ _
 #align asymptotics.is_O_with_const_mul_self Asymptotics.isBigOWith_const_mul_self
 
-/- warning: asymptotics.is_O_const_mul_self -> Asymptotics.isBigO_const_mul_self is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (c : R) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α R R (SeminormedRing.toHasNorm.{u2} R _inst_10) (SeminormedRing.toHasNorm.{u2} R _inst_10) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) c (f x)) f
-but is expected to have type
-  forall {α : Type.{u2}} {R : Type.{u1}} [_inst_10 : SeminormedRing.{u1} R] (c : R) (f : α -> R) (l : Filter.{u2} α), Asymptotics.IsBigO.{u2, u1, u1} α R R (SeminormedRing.toNorm.{u1} R _inst_10) (SeminormedRing.toNorm.{u1} R _inst_10) l (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (f x)) f
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_self Asymptotics.isBigO_const_mul_selfₓ'. -/
 theorem isBigO_const_mul_self (c : R) (f : α → R) (l : Filter α) : (fun x => c * f x) =O[l] f :=
   (isBigOWith_const_mul_self c f l).IsBigO
 #align asymptotics.is_O_const_mul_self Asymptotics.isBigO_const_mul_self
 
-/- warning: asymptotics.is_O_with.const_mul_left -> Asymptotics.IsBigOWith.const_mul_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {c : Real} {g : α -> F} {l : Filter.{u1} α} {f : α -> R}, (Asymptotics.IsBigOWith.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 c l f g) -> (forall (c' : R), Asymptotics.IsBigOWith.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u3} R (SeminormedRing.toHasNorm.{u3} R _inst_10) c') c) l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c' (f x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {R : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u2} R] {c : Real} {g : α -> F} {l : Filter.{u3} α} {f : α -> R}, (Asymptotics.IsBigOWith.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 c l f g) -> (forall (c' : R), Asymptotics.IsBigOWith.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) c') c) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) c' (f x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_mul_left Asymptotics.IsBigOWith.const_mul_leftₓ'. -/
 theorem IsBigOWith.const_mul_left {f : α → R} (h : IsBigOWith c l f g) (c' : R) :
     IsBigOWith (‖c'‖ * c) l (fun x => c' * f x) g :=
   (isBigOWith_const_mul_self c' f l).trans h (norm_nonneg c')
 #align asymptotics.is_O_with.const_mul_left Asymptotics.IsBigOWith.const_mul_left
 
-/- warning: asymptotics.is_O.const_mul_left -> Asymptotics.IsBigO.const_mul_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u1} α} {f : α -> R}, (Asymptotics.IsBigO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l f g) -> (forall (c' : R), Asymptotics.IsBigO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c' (f x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {R : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u2} R] {g : α -> F} {l : Filter.{u3} α} {f : α -> R}, (Asymptotics.IsBigO.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 l f g) -> (forall (c' : R), Asymptotics.IsBigO.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) c' (f x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_mul_left Asymptotics.IsBigO.const_mul_leftₓ'. -/
 theorem IsBigO.const_mul_left {f : α → R} (h : f =O[l] g) (c' : R) : (fun x => c' * f x) =O[l] g :=
   let ⟨c, hc⟩ := h.IsBigOWith
   (hc.const_mul_left c').IsBigO
 #align asymptotics.is_O.const_mul_left Asymptotics.IsBigO.const_mul_left
 
-/- warning: asymptotics.is_O_with_self_const_mul' -> Asymptotics.isBigOWith_self_const_mul' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (u : Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α R R (SeminormedRing.toHasNorm.{u2} R _inst_10) (SeminormedRing.toHasNorm.{u2} R _inst_10) (Norm.norm.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (HasLiftT.mk.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (CoeTCₓ.coe.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (coeBase.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (Units.hasCoe.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (Inv.inv.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) (Units.hasInv.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) u))) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (HasLiftT.mk.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (CoeTCₓ.coe.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (coeBase.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (Units.hasCoe.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) u) (f x))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (u : Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α R R (SeminormedRing.toNorm.{u2} R _inst_10) (SeminormedRing.toNorm.{u2} R _inst_10) (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (Inv.inv.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) u))) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) u) (f x))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_self_const_mul' Asymptotics.isBigOWith_self_const_mul'ₓ'. -/
 theorem isBigOWith_self_const_mul' (u : Rˣ) (f : α → R) (l : Filter α) :
     IsBigOWith ‖(↑u⁻¹ : R)‖ l f fun x => ↑u * f x :=
   (isBigOWith_const_mul_self ↑u⁻¹ _ l).congr_left fun x => u.inv_mul_cancel_left (f x)
 #align asymptotics.is_O_with_self_const_mul' Asymptotics.isBigOWith_self_const_mul'
 
-/- warning: asymptotics.is_O_with_self_const_mul -> Asymptotics.isBigOWith_self_const_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] (c : 𝕜), (Ne.{succ u2} 𝕜 c (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (forall (f : α -> 𝕜) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (Inv.inv.{0} Real Real.hasInv (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c)) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHMul.{u2} 𝕜 (Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) c (f x)))
-but is expected to have type
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] (c : 𝕜), (Ne.{succ u2} 𝕜 c (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (forall (f : α -> 𝕜) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u2} 𝕜 _inst_12) (Inv.inv.{0} Real Real.instInvReal (Norm.norm.{u2} 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) c)) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) c (f x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_self_const_mul Asymptotics.isBigOWith_self_const_mulₓ'. -/
 theorem isBigOWith_self_const_mul (c : 𝕜) (hc : c ≠ 0) (f : α → 𝕜) (l : Filter α) :
     IsBigOWith ‖c‖⁻¹ l f fun x => c * f x :=
   (isBigOWith_self_const_mul' (Units.mk0 c hc) f l).congr_const <| norm_inv c
 #align asymptotics.is_O_with_self_const_mul Asymptotics.isBigOWith_self_const_mul
 
-/- warning: asymptotics.is_O_self_const_mul' -> Asymptotics.isBigO_self_const_mul' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] {c : R}, (IsUnit.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)) c) -> (forall (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α R R (SeminormedRing.toHasNorm.{u2} R _inst_10) (SeminormedRing.toHasNorm.{u2} R _inst_10) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) c (f x)))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] {c : R}, (IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) c) -> (forall (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α R R (SeminormedRing.toNorm.{u2} R _inst_10) (SeminormedRing.toNorm.{u2} R _inst_10) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) c (f x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_self_const_mul' Asymptotics.isBigO_self_const_mul'ₓ'. -/
 theorem isBigO_self_const_mul' {c : R} (hc : IsUnit c) (f : α → R) (l : Filter α) :
     f =O[l] fun x => c * f x :=
   let ⟨u, hu⟩ := hc
   hu ▸ (isBigOWith_self_const_mul' u f l).IsBigO
 #align asymptotics.is_O_self_const_mul' Asymptotics.isBigO_self_const_mul'
 
-/- warning: asymptotics.is_O_self_const_mul -> Asymptotics.isBigO_self_const_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] (c : 𝕜), (Ne.{succ u2} 𝕜 c (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (forall (f : α -> 𝕜) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHMul.{u2} 𝕜 (Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) c (f x)))
-but is expected to have type
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] (c : 𝕜), (Ne.{succ u2} 𝕜 c (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (forall (f : α -> 𝕜) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u2} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) c (f x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_self_const_mul Asymptotics.isBigO_self_const_mulₓ'. -/
 theorem isBigO_self_const_mul (c : 𝕜) (hc : c ≠ 0) (f : α → 𝕜) (l : Filter α) :
     f =O[l] fun x => c * f x :=
   isBigO_self_const_mul' (IsUnit.mk0 c hc) f l
 #align asymptotics.is_O_self_const_mul Asymptotics.isBigO_self_const_mul
 
-/- warning: asymptotics.is_O_const_mul_left_iff' -> Asymptotics.isBigO_const_mul_left_iff' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u1} α} {f : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (f x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l f g))
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} {R : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u2} α} {f : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Iff (Asymptotics.IsBigO.{u2, u3, u1} α R F (SeminormedRing.toNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (f x)) g) (Asymptotics.IsBigO.{u2, u3, u1} α R F (SeminormedRing.toNorm.{u3} R _inst_10) _inst_2 l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_left_iff' Asymptotics.isBigO_const_mul_left_iff'ₓ'. -/
 theorem isBigO_const_mul_left_iff' {f : α → R} {c : R} (hc : IsUnit c) :
     (fun x => c * f x) =O[l] g ↔ f =O[l] g :=
   ⟨(isBigO_self_const_mul' hc f l).trans, fun h => h.const_mul_left c⟩
 #align asymptotics.is_O_const_mul_left_iff' Asymptotics.isBigO_const_mul_left_iff'
 
-/- warning: asymptotics.is_O_const_mul_left_iff -> Asymptotics.isBigO_const_mul_left_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {𝕜 : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_12 : NormedField.{u3} 𝕜] {g : α -> F} {l : Filter.{u1} α} {f : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜 F (NormedField.toHasNorm.{u3} 𝕜 _inst_12) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (f x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜 F (NormedField.toHasNorm.{u3} 𝕜 _inst_12) _inst_2 l f g))
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} {𝕜 : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_12 : NormedField.{u3} 𝕜] {g : α -> F} {l : Filter.{u2} α} {f : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsBigO.{u2, u3, u1} α 𝕜 F (NormedField.toNorm.{u3} 𝕜 _inst_12) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (f x)) g) (Asymptotics.IsBigO.{u2, u3, u1} α 𝕜 F (NormedField.toNorm.{u3} 𝕜 _inst_12) _inst_2 l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_left_iff Asymptotics.isBigO_const_mul_left_iffₓ'. -/
 theorem isBigO_const_mul_left_iff {f : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (fun x => c * f x) =O[l] g ↔ f =O[l] g :=
   isBigO_const_mul_left_iff' <| IsUnit.mk0 c hc
 #align asymptotics.is_O_const_mul_left_iff Asymptotics.isBigO_const_mul_left_iff
 
-/- warning: asymptotics.is_o.const_mul_left -> Asymptotics.IsLittleO.const_mul_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u1} α} {f : α -> R}, (Asymptotics.IsLittleO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l f g) -> (forall (c : R), Asymptotics.IsLittleO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (f x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {R : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u2} R] {g : α -> F} {l : Filter.{u3} α} {f : α -> R}, (Asymptotics.IsLittleO.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 l f g) -> (forall (c : R), Asymptotics.IsLittleO.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) c (f x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_mul_left Asymptotics.IsLittleO.const_mul_leftₓ'. -/
 theorem IsLittleO.const_mul_left {f : α → R} (h : f =o[l] g) (c : R) : (fun x => c * f x) =o[l] g :=
   (isBigO_const_mul_self c f l).trans_isLittleO h
 #align asymptotics.is_o.const_mul_left Asymptotics.IsLittleO.const_mul_left
 
-/- warning: asymptotics.is_o_const_mul_left_iff' -> Asymptotics.isLittleO_const_mul_left_iff' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u1} α} {f : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (f x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l f g))
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} {R : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u2} α} {f : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Iff (Asymptotics.IsLittleO.{u2, u3, u1} α R F (SeminormedRing.toNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (f x)) g) (Asymptotics.IsLittleO.{u2, u3, u1} α R F (SeminormedRing.toNorm.{u3} R _inst_10) _inst_2 l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_mul_left_iff' Asymptotics.isLittleO_const_mul_left_iff'ₓ'. -/
 theorem isLittleO_const_mul_left_iff' {f : α → R} {c : R} (hc : IsUnit c) :
     (fun x => c * f x) =o[l] g ↔ f =o[l] g :=
   ⟨(isBigO_self_const_mul' hc f l).trans_isLittleO, fun h => h.const_mul_left c⟩
 #align asymptotics.is_o_const_mul_left_iff' Asymptotics.isLittleO_const_mul_left_iff'
 
-/- warning: asymptotics.is_o_const_mul_left_iff -> Asymptotics.isLittleO_const_mul_left_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {𝕜 : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_12 : NormedField.{u3} 𝕜] {g : α -> F} {l : Filter.{u1} α} {f : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜 F (NormedField.toHasNorm.{u3} 𝕜 _inst_12) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (f x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜 F (NormedField.toHasNorm.{u3} 𝕜 _inst_12) _inst_2 l f g))
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} {𝕜 : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_12 : NormedField.{u3} 𝕜] {g : α -> F} {l : Filter.{u2} α} {f : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsLittleO.{u2, u3, u1} α 𝕜 F (NormedField.toNorm.{u3} 𝕜 _inst_12) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (f x)) g) (Asymptotics.IsLittleO.{u2, u3, u1} α 𝕜 F (NormedField.toNorm.{u3} 𝕜 _inst_12) _inst_2 l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_mul_left_iff Asymptotics.isLittleO_const_mul_left_iffₓ'. -/
 theorem isLittleO_const_mul_left_iff {f : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (fun x => c * f x) =o[l] g ↔ f =o[l] g :=
   isLittleO_const_mul_left_iff' <| IsUnit.mk0 c hc
 #align asymptotics.is_o_const_mul_left_iff Asymptotics.isLittleO_const_mul_left_iff
 
-/- warning: asymptotics.is_O_with.of_const_mul_right -> Asymptotics.IsBigOWith.of_const_mul_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {c' : Real} {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) c' l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c' (Norm.norm.{u3} R (SeminormedRing.toHasNorm.{u3} R _inst_10) c)) l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {R : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u1} R] {c' : Real} {f : α -> E} {l : Filter.{u3} α} {g : α -> R} {c : R}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) c' l f (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (g x))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c' (Norm.norm.{u1} R (SeminormedRing.toNorm.{u1} R _inst_10) c)) l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_const_mul_right Asymptotics.IsBigOWith.of_const_mul_rightₓ'. -/
 theorem IsBigOWith.of_const_mul_right {g : α → R} {c : R} (hc' : 0 ≤ c')
     (h : IsBigOWith c' l f fun x => c * g x) : IsBigOWith (c' * ‖c‖) l f g :=
   h.trans (isBigOWith_const_mul_self c g l) hc'
 #align asymptotics.is_O_with.of_const_mul_right Asymptotics.IsBigOWith.of_const_mul_right
 
-/- warning: asymptotics.is_O.of_const_mul_right -> Asymptotics.IsBigO.of_const_mul_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {R : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u1} R] {f : α -> E} {l : Filter.{u3} α} {g : α -> R} {c : R}, (Asymptotics.IsBigO.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) l f (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (g x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_const_mul_right Asymptotics.IsBigO.of_const_mul_rightₓ'. -/
 theorem IsBigO.of_const_mul_right {g : α → R} {c : R} (h : f =O[l] fun x => c * g x) : f =O[l] g :=
   let ⟨c, cnonneg, hc⟩ := h.exists_nonneg
   (hc.of_const_mul_right cnonneg).IsBigO
 #align asymptotics.is_O.of_const_mul_right Asymptotics.IsBigO.of_const_mul_right
 
-/- warning: asymptotics.is_O_with.const_mul_right' -> Asymptotics.IsBigOWith.const_mul_right' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {u : Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))} {c' : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) c' l f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c' (Norm.norm.{u3} R (SeminormedRing.toHasNorm.{u3} R _inst_10) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (HasLiftT.mk.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (CoeTCₓ.coe.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (coeBase.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (Units.hasCoe.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) (Inv.inv.{u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) (Units.hasInv.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) u)))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (HasLiftT.mk.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (CoeTCₓ.coe.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (coeBase.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (Units.hasCoe.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) u) (g x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {u : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))} {c' : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) c' l f g) -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c' (Norm.norm.{u3} R (SeminormedRing.toNorm.{u3} R _inst_10) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) u)))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) u) (g x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_mul_right' Asymptotics.IsBigOWith.const_mul_right'ₓ'. -/
 theorem IsBigOWith.const_mul_right' {g : α → R} {u : Rˣ} {c' : ℝ} (hc' : 0 ≤ c')
     (h : IsBigOWith c' l f g) : IsBigOWith (c' * ‖(↑u⁻¹ : R)‖) l f fun x => ↑u * g x :=
   h.trans (isBigOWith_self_const_mul' _ _ _) hc'
 #align asymptotics.is_O_with.const_mul_right' Asymptotics.IsBigOWith.const_mul_right'
 
-/- warning: asymptotics.is_O_with.const_mul_right -> Asymptotics.IsBigOWith.const_mul_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (forall {c' : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c' l f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c' (Inv.inv.{0} Real Real.hasInv (Norm.norm.{u3} 𝕜 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x))))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (forall {c' : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) c' l f g) -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c' (Inv.inv.{0} Real Real.instInvReal (Norm.norm.{u3} 𝕜 (NormedField.toNorm.{u3} 𝕜 _inst_12) c))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_mul_right Asymptotics.IsBigOWith.const_mul_rightₓ'. -/
 theorem IsBigOWith.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) {c' : ℝ} (hc' : 0 ≤ c')
     (h : IsBigOWith c' l f g) : IsBigOWith (c' * ‖c‖⁻¹) l f fun x => c * g x :=
   h.trans (isBigOWith_self_const_mul c hc g l) hc'
 #align asymptotics.is_O_with.const_mul_right Asymptotics.IsBigOWith.const_mul_right
 
-/- warning: asymptotics.is_O.const_mul_right' -> Asymptotics.IsBigO.const_mul_right' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Asymptotics.IsBigO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f g) -> (Asymptotics.IsBigO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (g x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_mul_right' Asymptotics.IsBigO.const_mul_right'ₓ'. -/
 theorem IsBigO.const_mul_right' {g : α → R} {c : R} (hc : IsUnit c) (h : f =O[l] g) :
     f =O[l] fun x => c * g x :=
   h.trans (isBigO_self_const_mul' hc g l)
 #align asymptotics.is_O.const_mul_right' Asymptotics.IsBigO.const_mul_right'
 
-/- warning: asymptotics.is_O.const_mul_right -> Asymptotics.IsBigO.const_mul_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Asymptotics.IsBigO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g) -> (Asymptotics.IsBigO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_mul_right Asymptotics.IsBigO.const_mul_rightₓ'. -/
 theorem IsBigO.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) (h : f =O[l] g) :
     f =O[l] fun x => c * g x :=
   h.const_mul_right' <| IsUnit.mk0 c hc
 #align asymptotics.is_O.const_mul_right Asymptotics.IsBigO.const_mul_right
 
-/- warning: asymptotics.is_O_const_mul_right_iff' -> Asymptotics.isBigO_const_mul_right_iff' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (g x))) (Asymptotics.IsBigO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_right_iff' Asymptotics.isBigO_const_mul_right_iff'ₓ'. -/
 theorem isBigO_const_mul_right_iff' {g : α → R} {c : R} (hc : IsUnit c) :
     (f =O[l] fun x => c * g x) ↔ f =O[l] g :=
   ⟨fun h => h.of_const_mul_right, fun h => h.const_mul_right' hc⟩
 #align asymptotics.is_O_const_mul_right_iff' Asymptotics.isBigO_const_mul_right_iff'
 
-/- warning: asymptotics.is_O_const_mul_right_iff -> Asymptotics.isBigO_const_mul_right_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x))) (Asymptotics.IsBigO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x))) (Asymptotics.IsBigO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_right_iff Asymptotics.isBigO_const_mul_right_iffₓ'. -/
 theorem isBigO_const_mul_right_iff {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (f =O[l] fun x => c * g x) ↔ f =O[l] g :=
   isBigO_const_mul_right_iff' <| IsUnit.mk0 c hc
 #align asymptotics.is_O_const_mul_right_iff Asymptotics.isBigO_const_mul_right_iff
 
-/- warning: asymptotics.is_o.of_const_mul_right -> Asymptotics.IsLittleO.of_const_mul_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {R : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u1} R] {f : α -> E} {l : Filter.{u3} α} {g : α -> R} {c : R}, (Asymptotics.IsLittleO.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) l f (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (g x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_const_mul_right Asymptotics.IsLittleO.of_const_mul_rightₓ'. -/
 theorem IsLittleO.of_const_mul_right {g : α → R} {c : R} (h : f =o[l] fun x => c * g x) :
     f =o[l] g :=
   h.trans_isBigO (isBigO_const_mul_self c g l)
 #align asymptotics.is_o.of_const_mul_right Asymptotics.IsLittleO.of_const_mul_right
 
-/- warning: asymptotics.is_o.const_mul_right' -> Asymptotics.IsLittleO.const_mul_right' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Asymptotics.IsLittleO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f g) -> (Asymptotics.IsLittleO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (g x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_mul_right' Asymptotics.IsLittleO.const_mul_right'ₓ'. -/
 theorem IsLittleO.const_mul_right' {g : α → R} {c : R} (hc : IsUnit c) (h : f =o[l] g) :
     f =o[l] fun x => c * g x :=
   h.trans_isBigO (isBigO_self_const_mul' hc g l)
 #align asymptotics.is_o.const_mul_right' Asymptotics.IsLittleO.const_mul_right'
 
-/- warning: asymptotics.is_o.const_mul_right -> Asymptotics.IsLittleO.const_mul_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Asymptotics.IsLittleO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g) -> (Asymptotics.IsLittleO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_mul_right Asymptotics.IsLittleO.const_mul_rightₓ'. -/
 theorem IsLittleO.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) (h : f =o[l] g) :
     f =o[l] fun x => c * g x :=
   h.const_mul_right' <| IsUnit.mk0 c hc
 #align asymptotics.is_o.const_mul_right Asymptotics.IsLittleO.const_mul_right
 
-/- warning: asymptotics.is_o_const_mul_right_iff' -> Asymptotics.isLittleO_const_mul_right_iff' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Iff (Asymptotics.IsLittleO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (g x))) (Asymptotics.IsLittleO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_mul_right_iff' Asymptotics.isLittleO_const_mul_right_iff'ₓ'. -/
 theorem isLittleO_const_mul_right_iff' {g : α → R} {c : R} (hc : IsUnit c) :
     (f =o[l] fun x => c * g x) ↔ f =o[l] g :=
   ⟨fun h => h.of_const_mul_right, fun h => h.const_mul_right' hc⟩
 #align asymptotics.is_o_const_mul_right_iff' Asymptotics.isLittleO_const_mul_right_iff'
 
-/- warning: asymptotics.is_o_const_mul_right_iff -> Asymptotics.isLittleO_const_mul_right_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g))
-but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsLittleO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x))) (Asymptotics.IsLittleO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_mul_right_iff Asymptotics.isLittleO_const_mul_right_iffₓ'. -/
 theorem isLittleO_const_mul_right_iff {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (f =o[l] fun x => c * g x) ↔ f =o[l] g :=
   isLittleO_const_mul_right_iff' <| IsUnit.mk0 c hc
@@ -3247,12 +1537,6 @@ theorem isLittleO_const_mul_right_iff {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0
 /-! ### Multiplication -/
 
 
-/- warning: asymptotics.is_O_with.mul -> Asymptotics.IsBigOWith.mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜} {c₁ : Real} {c₂ : Real}, (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c₁ l f₁ g₁) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c₂ l f₂ g₂) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c₁ c₂) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜} {c₁ : Real} {c₂ : Real}, (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c₁ l f₁ g₁) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c₂ l f₂ g₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c₁ c₂) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.mul Asymptotics.IsBigOWith.mulₓ'. -/
 theorem IsBigOWith.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} {c₁ c₂ : ℝ} (h₁ : IsBigOWith c₁ l f₁ g₁)
     (h₂ : IsBigOWith c₂ l f₂ g₂) :
     IsBigOWith (c₁ * c₂) l (fun x => f₁ x * f₂ x) fun x => g₁ x * g₂ x :=
@@ -3264,12 +1548,6 @@ theorem IsBigOWith.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} {c₁ c
   rw [norm_mul, mul_mul_mul_comm]
 #align asymptotics.is_O_with.mul Asymptotics.IsBigOWith.mul
 
-/- warning: asymptotics.is_O.mul -> Asymptotics.IsBigO.mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.mul Asymptotics.IsBigO.mulₓ'. -/
 theorem IsBigO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =O[l] g₁) (h₂ : f₂ =O[l] g₂) :
     (fun x => f₁ x * f₂ x) =O[l] fun x => g₁ x * g₂ x :=
   let ⟨c, hc⟩ := h₁.IsBigOWith
@@ -3277,12 +1555,6 @@ theorem IsBigO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁
   (hc.mul hc').IsBigO
 #align asymptotics.is_O.mul Asymptotics.IsBigO.mul
 
-/- warning: asymptotics.is_O.mul_is_o -> Asymptotics.IsBigO.mul_isLittleO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.mul_is_o Asymptotics.IsBigO.mul_isLittleOₓ'. -/
 theorem IsBigO.mul_isLittleO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =O[l] g₁) (h₂ : f₂ =o[l] g₂) :
     (fun x => f₁ x * f₂ x) =o[l] fun x => g₁ x * g₂ x :=
   by
@@ -3292,12 +1564,6 @@ theorem IsBigO.mul_isLittleO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h
   exact (hc'.mul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel' _ (ne_of_gt c'pos))
 #align asymptotics.is_O.mul_is_o Asymptotics.IsBigO.mul_isLittleO
 
-/- warning: asymptotics.is_o.mul_is_O -> Asymptotics.IsLittleO.mul_isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.mul_is_O Asymptotics.IsLittleO.mul_isBigOₓ'. -/
 theorem IsLittleO.mul_isBigO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =O[l] g₂) :
     (fun x => f₁ x * f₂ x) =o[l] fun x => g₁ x * g₂ x :=
   by
@@ -3307,23 +1573,11 @@ theorem IsLittleO.mul_isBigO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h
   exact ((h₁ (div_pos cpos c'pos)).mul hc').congr_const (div_mul_cancel _ (ne_of_gt c'pos))
 #align asymptotics.is_o.mul_is_O Asymptotics.IsLittleO.mul_isBigO
 
-/- warning: asymptotics.is_o.mul -> Asymptotics.IsLittleO.mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.mul Asymptotics.IsLittleO.mulₓ'. -/
 theorem IsLittleO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =o[l] g₂) :
     (fun x => f₁ x * f₂ x) =o[l] fun x => g₁ x * g₂ x :=
   h₁.mul_isBigO h₂.IsBigO
 #align asymptotics.is_o.mul Asymptotics.IsLittleO.mul
 
-/- warning: asymptotics.is_O_with.pow' -> Asymptotics.IsBigOWith.pow' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {c : Real} {l : Filter.{u1} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (Nat.casesOn.{1} (fun (_x : Nat) => Real) n (Norm.norm.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))))))) (fun (n : Nat) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) c (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n))
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u3} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (Nat.casesOn.{1} (fun (_x : Nat) => Real) n (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (fun (n : Nat) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.pow' Asymptotics.IsBigOWith.pow'ₓ'. -/
 theorem IsBigOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g) :
     ∀ n : ℕ,
       IsBigOWith (Nat.casesOn n ‖(1 : R)‖ fun n => c ^ (n + 1)) l (fun x => f x ^ n) fun x =>
@@ -3333,24 +1587,12 @@ theorem IsBigOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g
   | n + 2 => by simpa [pow_succ] using h.mul (is_O_with.pow' (n + 1))
 #align asymptotics.is_O_with.pow' Asymptotics.IsBigOWith.pow'
 
-/- warning: asymptotics.is_O_with.pow -> Asymptotics.IsBigOWith.pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {c : Real} {l : Filter.{u1} α} [_inst_14 : NormOneClass.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))] {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) c n) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n))
-but is expected to have type
-  forall {α : Type.{u2}} {R : Type.{u3}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u3} R] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} [_inst_14 : NormOneClass.{u3} R (SeminormedRing.toNorm.{u3} R _inst_10) (Semiring.toOne.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))] {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u2, u3, u1} α R 𝕜 (SeminormedRing.toNorm.{u3} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u2, u3, u1} α R 𝕜 (SeminormedRing.toNorm.{u3} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c n) l (fun (x : α) => HPow.hPow.{u3, 0, u3} R Nat R (instHPow.{u3, 0} R Nat (Monoid.Pow.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.pow Asymptotics.IsBigOWith.powₓ'. -/
 theorem IsBigOWith.pow [NormOneClass R] {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g) :
     ∀ n : ℕ, IsBigOWith (c ^ n) l (fun x => f x ^ n) fun x => g x ^ n
   | 0 => by simpa using h.pow' 0
   | n + 1 => h.pow' (n + 1)
 #align asymptotics.is_O_with.pow Asymptotics.IsBigOWith.pow
 
-/- warning: asymptotics.is_O_with.of_pow -> Asymptotics.IsBigOWith.of_pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {c : Real} {c' : Real} {l : Filter.{u1} α} {n : Nat} {f : α -> 𝕜} {g : α -> R}, (Asymptotics.IsBigOWith.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) c l (HPow.hPow.{max u1 u3, 0, max u1 u3} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u1 u3, 0} (α -> 𝕜) Nat (Pi.hasPow.{u1, u3, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) f n) (HPow.hPow.{max u1 u2, 0, max u1 u2} (α -> R) Nat (α -> R) (instHPow.{max u1 u2, 0} (α -> R) Nat (Pi.hasPow.{u1, u2, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) g n)) -> (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (LE.le.{0} Real Real.hasLe c (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) c' n)) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') -> (Asymptotics.IsBigOWith.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) c' l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u1}} {𝕜 : Type.{u2}} [_inst_10 : SeminormedRing.{u1} R] [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {c' : Real} {l : Filter.{u3} α} {n : Nat} {f : α -> 𝕜} {g : α -> R}, (Asymptotics.IsBigOWith.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) c l (HPow.hPow.{max u3 u2, 0, max u3 u2} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u3 u2, 0} (α -> 𝕜) Nat (Pi.instPow.{u3, u2, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) f n) (HPow.hPow.{max u3 u1, 0, max u3 u1} (α -> R) Nat (α -> R) (instHPow.{max u3 u1, 0} (α -> R) Nat (Pi.instPow.{u3, u1, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))))) g n)) -> (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (LE.le.{0} Real Real.instLEReal c (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c' n)) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) c' l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_pow Asymptotics.IsBigOWith.of_powₓ'. -/
 theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigOWith c l (f ^ n) (g ^ n))
     (hn : n ≠ 0) (hc : c ≤ c' ^ n) (hc' : 0 ≤ c') : IsBigOWith c' l f g :=
   IsBigOWith.of_bound <|
@@ -3365,24 +1607,12 @@ theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigO
           
 #align asymptotics.is_O_with.of_pow Asymptotics.IsBigOWith.of_pow
 
-/- warning: asymptotics.is_O.pow -> Asymptotics.IsBigO.pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (forall (n : Nat), Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n))
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (forall (n : Nat), Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.pow Asymptotics.IsBigO.powₓ'. -/
 theorem IsBigO.pow {f : α → R} {g : α → 𝕜} (h : f =O[l] g) (n : ℕ) :
     (fun x => f x ^ n) =O[l] fun x => g x ^ n :=
   let ⟨C, hC⟩ := h.IsBigOWith
   isBigO_iff_isBigOWith.2 ⟨_, hC.pow' n⟩
 #align asymptotics.is_O.pow Asymptotics.IsBigO.pow
 
-/- warning: asymptotics.is_O.of_pow -> Asymptotics.IsBigO.of_pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> R} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) l (HPow.hPow.{max u1 u3, 0, max u1 u3} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u1 u3, 0} (α -> 𝕜) Nat (Pi.hasPow.{u1, u3, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) f n) (HPow.hPow.{max u1 u2, 0, max u1 u2} (α -> R) Nat (α -> R) (instHPow.{max u1 u2, 0} (α -> R) Nat (Pi.hasPow.{u1, u2, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) g n)) -> (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u1}} {𝕜 : Type.{u2}} [_inst_10 : SeminormedRing.{u1} R] [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> R} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (Asymptotics.IsBigO.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) l (HPow.hPow.{max u3 u2, 0, max u3 u2} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u3 u2, 0} (α -> 𝕜) Nat (Pi.instPow.{u3, u2, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) f n) (HPow.hPow.{max u3 u1, 0, max u3 u1} (α -> R) Nat (α -> R) (instHPow.{max u3 u1, 0} (α -> R) Nat (Pi.instPow.{u3, u1, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))))) g n)) -> (Asymptotics.IsBigO.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_pow Asymptotics.IsBigO.of_powₓ'. -/
 theorem IsBigO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (hn : n ≠ 0) (h : (f ^ n) =O[l] (g ^ n)) :
     f =O[l] g := by
   rcases h.exists_pos with ⟨C, hC₀, hC⟩
@@ -3391,12 +1621,6 @@ theorem IsBigO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (hn : n ≠ 0)
   exact (hC.of_pow hn hc hc₀).IsBigO
 #align asymptotics.is_O.of_pow Asymptotics.IsBigO.of_pow
 
-/- warning: asymptotics.is_o.pow -> Asymptotics.IsLittleO.pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (forall {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n)))
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (forall {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.pow Asymptotics.IsLittleO.powₓ'. -/
 theorem IsLittleO.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ} (hn : 0 < n) :
     (fun x => f x ^ n) =o[l] fun x => g x ^ n :=
   by
@@ -3405,12 +1629,6 @@ theorem IsLittleO.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ}
   convert h.mul ihn <;> simp [pow_succ]
 #align asymptotics.is_o.pow Asymptotics.IsLittleO.pow
 
-/- warning: asymptotics.is_o.of_pow -> Asymptotics.IsLittleO.of_pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> R} {n : Nat}, (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) l (HPow.hPow.{max u1 u3, 0, max u1 u3} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u1 u3, 0} (α -> 𝕜) Nat (Pi.hasPow.{u1, u3, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) f n) (HPow.hPow.{max u1 u2, 0, max u1 u2} (α -> R) Nat (α -> R) (instHPow.{max u1 u2, 0} (α -> R) Nat (Pi.hasPow.{u1, u2, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) g n)) -> (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) l f g)
-but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u1}} {𝕜 : Type.{u2}} [_inst_10 : SeminormedRing.{u1} R] [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> R} {n : Nat}, (Asymptotics.IsLittleO.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) l (HPow.hPow.{max u3 u2, 0, max u3 u2} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u3 u2, 0} (α -> 𝕜) Nat (Pi.instPow.{u3, u2, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) f n) (HPow.hPow.{max u3 u1, 0, max u3 u1} (α -> R) Nat (α -> R) (instHPow.{max u3 u1, 0} (α -> R) Nat (Pi.instPow.{u3, u1, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))))) g n)) -> (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_pow Asymptotics.IsLittleO.of_powₓ'. -/
 theorem IsLittleO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (h : (f ^ n) =o[l] (g ^ n)) (hn : n ≠ 0) :
     f =o[l] g :=
   IsLittleO.of_isBigOWith fun c hc => (h.def' <| pow_pos hc _).ofPow hn le_rfl hc.le
@@ -3419,12 +1637,6 @@ theorem IsLittleO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (h : (f ^ n)
 /-! ### Inverse -/
 
 
-/- warning: asymptotics.is_O_with.inv_rev -> Asymptotics.IsBigOWith.inv_rev is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {𝕜' : Type.{u3}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {c : Real} {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsBigOWith.{u1, u2, u3} α 𝕜 𝕜' (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u3} 𝕜' _inst_13) c l f g) -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u3} 𝕜' (g x) (OfNat.ofNat.{u3} 𝕜' 0 (OfNat.mk.{u3} 𝕜' 0 (Zero.zero.{u3} 𝕜' (MulZeroClass.toHasZero.{u3} 𝕜' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜' (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜' (Ring.toNonAssocRing.{u3} 𝕜' (NormedRing.toRing.{u3} 𝕜' (NormedCommRing.toNormedRing.{u3} 𝕜' (NormedField.toNormedCommRing.{u3} 𝕜' _inst_13))))))))))))) l) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α 𝕜' 𝕜 (NormedField.toHasNorm.{u3} 𝕜' _inst_13) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l (fun (x : α) => Inv.inv.{u3} 𝕜' (DivInvMonoid.toHasInv.{u3} 𝕜' (DivisionRing.toDivInvMonoid.{u3} 𝕜' (NormedDivisionRing.toDivisionRing.{u3} 𝕜' (NormedField.toNormedDivisionRing.{u3} 𝕜' _inst_13)))) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))) (f x)))
-but is expected to have type
-  forall {α : Type.{u3}} {𝕜 : Type.{u2}} {𝕜' : Type.{u1}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u1} 𝕜'] {c : Real} {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α 𝕜 𝕜' (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜' _inst_13) c l f g) -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜' (g x) (OfNat.ofNat.{u1} 𝕜' 0 (Zero.toOfNat0.{u1} 𝕜' (CommMonoidWithZero.toZero.{u1} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜' (Semifield.toCommGroupWithZero.{u1} 𝕜' (Field.toSemifield.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13))))))))) l) -> (Asymptotics.IsBigOWith.{u3, u1, u2} α 𝕜' 𝕜 (NormedField.toNorm.{u1} 𝕜' _inst_13) (NormedField.toNorm.{u2} 𝕜 _inst_12) c l (fun (x : α) => Inv.inv.{u1} 𝕜' (Field.toInv.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13)) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (Field.toInv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)) (f x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.inv_rev Asymptotics.IsBigOWith.inv_revₓ'. -/
 theorem IsBigOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsBigOWith c l f g)
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : IsBigOWith c l (fun x => (g x)⁻¹) fun x => (f x)⁻¹ :=
   by
@@ -3436,24 +1648,12 @@ theorem IsBigOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsBigOWith
     simpa only [norm_inv, mul_inv, ← div_eq_inv_mul, div_le_iff hc] using hle
 #align asymptotics.is_O_with.inv_rev Asymptotics.IsBigOWith.inv_rev
 
-/- warning: asymptotics.is_O.inv_rev -> Asymptotics.IsBigO.inv_rev is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {𝕜' : Type.{u3}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsBigO.{u1, u2, u3} α 𝕜 𝕜' (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u3} 𝕜' _inst_13) l f g) -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u3} 𝕜' (g x) (OfNat.ofNat.{u3} 𝕜' 0 (OfNat.mk.{u3} 𝕜' 0 (Zero.zero.{u3} 𝕜' (MulZeroClass.toHasZero.{u3} 𝕜' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜' (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜' (Ring.toNonAssocRing.{u3} 𝕜' (NormedRing.toRing.{u3} 𝕜' (NormedCommRing.toNormedRing.{u3} 𝕜' (NormedField.toNormedCommRing.{u3} 𝕜' _inst_13))))))))))))) l) -> (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜' 𝕜 (NormedField.toHasNorm.{u3} 𝕜' _inst_13) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l (fun (x : α) => Inv.inv.{u3} 𝕜' (DivInvMonoid.toHasInv.{u3} 𝕜' (DivisionRing.toDivInvMonoid.{u3} 𝕜' (NormedDivisionRing.toDivisionRing.{u3} 𝕜' (NormedField.toNormedDivisionRing.{u3} 𝕜' _inst_13)))) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))) (f x)))
-but is expected to have type
-  forall {α : Type.{u3}} {𝕜 : Type.{u2}} {𝕜' : Type.{u1}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u1} 𝕜'] {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsBigO.{u3, u2, u1} α 𝕜 𝕜' (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜' _inst_13) l f g) -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜' (g x) (OfNat.ofNat.{u1} 𝕜' 0 (Zero.toOfNat0.{u1} 𝕜' (CommMonoidWithZero.toZero.{u1} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜' (Semifield.toCommGroupWithZero.{u1} 𝕜' (Field.toSemifield.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13))))))))) l) -> (Asymptotics.IsBigO.{u3, u1, u2} α 𝕜' 𝕜 (NormedField.toNorm.{u1} 𝕜' _inst_13) (NormedField.toNorm.{u2} 𝕜 _inst_12) l (fun (x : α) => Inv.inv.{u1} 𝕜' (Field.toInv.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13)) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (Field.toInv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)) (f x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.inv_rev Asymptotics.IsBigO.inv_revₓ'. -/
 theorem IsBigO.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =O[l] g)
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : (fun x => (g x)⁻¹) =O[l] fun x => (f x)⁻¹ :=
   let ⟨c, hc⟩ := h.IsBigOWith
   (hc.inv_rev h₀).IsBigO
 #align asymptotics.is_O.inv_rev Asymptotics.IsBigO.inv_rev
 
-/- warning: asymptotics.is_o.inv_rev -> Asymptotics.IsLittleO.inv_rev is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {𝕜' : Type.{u3}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsLittleO.{u1, u2, u3} α 𝕜 𝕜' (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u3} 𝕜' _inst_13) l f g) -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u3} 𝕜' (g x) (OfNat.ofNat.{u3} 𝕜' 0 (OfNat.mk.{u3} 𝕜' 0 (Zero.zero.{u3} 𝕜' (MulZeroClass.toHasZero.{u3} 𝕜' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜' (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜' (Ring.toNonAssocRing.{u3} 𝕜' (NormedRing.toRing.{u3} 𝕜' (NormedCommRing.toNormedRing.{u3} 𝕜' (NormedField.toNormedCommRing.{u3} 𝕜' _inst_13))))))))))))) l) -> (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜' 𝕜 (NormedField.toHasNorm.{u3} 𝕜' _inst_13) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l (fun (x : α) => Inv.inv.{u3} 𝕜' (DivInvMonoid.toHasInv.{u3} 𝕜' (DivisionRing.toDivInvMonoid.{u3} 𝕜' (NormedDivisionRing.toDivisionRing.{u3} 𝕜' (NormedField.toNormedDivisionRing.{u3} 𝕜' _inst_13)))) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))) (f x)))
-but is expected to have type
-  forall {α : Type.{u3}} {𝕜 : Type.{u2}} {𝕜' : Type.{u1}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u1} 𝕜'] {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsLittleO.{u3, u2, u1} α 𝕜 𝕜' (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜' _inst_13) l f g) -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜' (g x) (OfNat.ofNat.{u1} 𝕜' 0 (Zero.toOfNat0.{u1} 𝕜' (CommMonoidWithZero.toZero.{u1} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜' (Semifield.toCommGroupWithZero.{u1} 𝕜' (Field.toSemifield.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13))))))))) l) -> (Asymptotics.IsLittleO.{u3, u1, u2} α 𝕜' 𝕜 (NormedField.toNorm.{u1} 𝕜' _inst_13) (NormedField.toNorm.{u2} 𝕜 _inst_12) l (fun (x : α) => Inv.inv.{u1} 𝕜' (Field.toInv.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13)) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (Field.toInv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)) (f x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.inv_rev Asymptotics.IsLittleO.inv_revₓ'. -/
 theorem IsLittleO.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =o[l] g)
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : (fun x => (g x)⁻¹) =o[l] fun x => (f x)⁻¹ :=
   IsLittleO.of_isBigOWith fun c hc => (h.def' hc).inv_rev h₀
@@ -3466,33 +1666,21 @@ section SmulConst
 
 variable [NormedSpace 𝕜 E']
 
-/- warning: asymptotics.is_O_with.const_smul_left -> Asymptotics.IsBigOWith.const_smul_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_smul_left Asymptotics.IsBigOWith.const_smul_leftₓ'. -/
 theorem IsBigOWith.const_smul_left (h : IsBigOWith c l f' g) (c' : 𝕜) :
     IsBigOWith (‖c'‖ * c) l (fun x => c' • f' x) g :=
   IsBigOWith.of_norm_left <| by
     simpa only [← norm_smul, norm_norm] using h.norm_left.const_mul_left ‖c'‖
 #align asymptotics.is_O_with.const_smul_left Asymptotics.IsBigOWith.const_smul_left
 
-/- warning: asymptotics.is_O.const_smul_left -> Asymptotics.IsBigO.const_smul_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_leftₓ'. -/
 theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g :=
   let ⟨b, hb⟩ := h.IsBigOWith
   (hb.const_smul_left _).IsBigO
 #align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_left
 
-/- warning: asymptotics.is_o.const_smul_left -> Asymptotics.IsLittleO.const_smul_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_leftₓ'. -/
 theorem IsLittleO.const_smul_left (h : f' =o[l] g) (c : 𝕜) : (c • f') =o[l] g :=
   IsLittleO.of_norm_left <| by simpa only [← norm_smul] using h.norm_left.const_mul_left ‖c‖
 #align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_left
 
-/- warning: asymptotics.is_O_const_smul_left -> Asymptotics.isBigO_const_smul_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_smul_left Asymptotics.isBigO_const_smul_leftₓ'. -/
 theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =O[l] g ↔ f' =O[l] g :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
@@ -3500,9 +1688,6 @@ theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x)
   rw [is_O_const_mul_left_iff cne0, is_O_norm_left]
 #align asymptotics.is_O_const_smul_left Asymptotics.isBigO_const_smul_left
 
-/- warning: asymptotics.is_o_const_smul_left -> Asymptotics.isLittleO_const_smul_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_smul_left Asymptotics.isLittleO_const_smul_leftₓ'. -/
 theorem isLittleO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =o[l] g ↔ f' =o[l] g :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
@@ -3510,9 +1695,6 @@ theorem isLittleO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f'
   rw [is_o_const_mul_left_iff cne0, is_o_norm_left]
 #align asymptotics.is_o_const_smul_left Asymptotics.isLittleO_const_smul_left
 
-/- warning: asymptotics.is_O_const_smul_right -> Asymptotics.isBigO_const_smul_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_smul_right Asymptotics.isBigO_const_smul_rightₓ'. -/
 theorem isBigO_const_smul_right {c : 𝕜} (hc : c ≠ 0) : (f =O[l] fun x => c • f' x) ↔ f =O[l] f' :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
@@ -3520,9 +1702,6 @@ theorem isBigO_const_smul_right {c : 𝕜} (hc : c ≠ 0) : (f =O[l] fun x => c
   rw [is_O_const_mul_right_iff cne0, is_O_norm_right]
 #align asymptotics.is_O_const_smul_right Asymptotics.isBigO_const_smul_right
 
-/- warning: asymptotics.is_o_const_smul_right -> Asymptotics.isLittleO_const_smul_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_smul_right Asymptotics.isLittleO_const_smul_rightₓ'. -/
 theorem isLittleO_const_smul_right {c : 𝕜} (hc : c ≠ 0) :
     (f =o[l] fun x => c • f' x) ↔ f =o[l] f' :=
   by
@@ -3537,45 +1716,30 @@ section Smul
 
 variable [NormedSpace 𝕜 E'] [NormedSpace 𝕜' F'] {k₁ : α → 𝕜} {k₂ : α → 𝕜'}
 
-/- warning: asymptotics.is_O_with.smul -> Asymptotics.IsBigOWith.smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.smul Asymptotics.IsBigOWith.smulₓ'. -/
 theorem IsBigOWith.smul (h₁ : IsBigOWith c l k₁ k₂) (h₂ : IsBigOWith c' l f' g') :
     IsBigOWith (c * c') l (fun x => k₁ x • f' x) fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul h₂.norm_norm).congr rfl _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
 #align asymptotics.is_O_with.smul Asymptotics.IsBigOWith.smul
 
-/- warning: asymptotics.is_O.smul -> Asymptotics.IsBigO.smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.smul Asymptotics.IsBigO.smulₓ'. -/
 theorem IsBigO.smul (h₁ : k₁ =O[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =O[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
 #align asymptotics.is_O.smul Asymptotics.IsBigO.smul
 
-/- warning: asymptotics.is_O.smul_is_o -> Asymptotics.IsBigO.smul_isLittleO is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.smul_is_o Asymptotics.IsBigO.smul_isLittleOₓ'. -/
 theorem IsBigO.smul_isLittleO (h₁ : k₁ =O[l] k₂) (h₂ : f' =o[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul_is_o h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
 #align asymptotics.is_O.smul_is_o Asymptotics.IsBigO.smul_isLittleO
 
-/- warning: asymptotics.is_o.smul_is_O -> Asymptotics.IsLittleO.smul_isBigO is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.smul_is_O Asymptotics.IsLittleO.smul_isBigOₓ'. -/
 theorem IsLittleO.smul_isBigO (h₁ : k₁ =o[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul_is_O h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
 #align asymptotics.is_o.smul_is_O Asymptotics.IsLittleO.smul_isBigO
 
-/- warning: asymptotics.is_o.smul -> Asymptotics.IsLittleO.smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.smul Asymptotics.IsLittleO.smulₓ'. -/
 theorem IsLittleO.smul (h₁ : k₁ =o[l] k₂) (h₂ : f' =o[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul h₂.norm_norm).congr _ _).of_norm_norm <;>
@@ -3591,12 +1755,6 @@ section Sum
 
 variable {ι : Type _} {A : ι → α → E'} {C : ι → ℝ} {s : Finset ι}
 
-/- warning: asymptotics.is_O_with.sum -> Asymptotics.IsBigOWith.sum is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {ι : Type.{u4}} {A : ι -> α -> E'} {C : ι -> Real} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.Mem.{u4, u4} ι (Finset.{u4} ι) (Finset.hasMem.{u4} ι) i s) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (C i) l (A i) g)) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (Finset.sum.{0, u4} Real ι Real.addCommMonoid s (fun (i : ι) => C i)) l (fun (x : α) => Finset.sum.{u3, u4} E' ι (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) s (fun (i : ι) => A i x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {ι : Type.{u4}} {A : ι -> α -> E'} {C : ι -> Real} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.mem.{u4, u4} ι (Finset.{u4} ι) (Finset.instMembershipFinset.{u4} ι) i s) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (C i) l (A i) g)) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (Finset.sum.{0, u4} Real ι Real.instAddCommMonoidReal s (fun (i : ι) => C i)) l (fun (x : α) => Finset.sum.{u2, u4} E' ι (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) s (fun (i : ι) => A i x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sum Asymptotics.IsBigOWith.sumₓ'. -/
 theorem IsBigOWith.sum (h : ∀ 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 :=
   by
@@ -3606,12 +1764,6 @@ theorem IsBigOWith.sum (h : ∀ i ∈ s, IsBigOWith (C i) l (A i) g) :
     exact (h _ (Finset.mem_insert_self i s)).add (IH fun j hj => h _ (Finset.mem_insert_of_mem hj))
 #align asymptotics.is_O_with.sum Asymptotics.IsBigOWith.sum
 
-/- warning: asymptotics.is_O.sum -> Asymptotics.IsBigO.sum is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {ι : Type.{u4}} {A : ι -> α -> E'} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.Mem.{u4, u4} ι (Finset.{u4} ι) (Finset.hasMem.{u4} ι) i s) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (A i) g)) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Finset.sum.{u3, u4} E' ι (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) s (fun (i : ι) => A i x)) g)
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {ι : Type.{u4}} {A : ι -> α -> E'} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.mem.{u4, u4} ι (Finset.{u4} ι) (Finset.instMembershipFinset.{u4} ι) i s) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (A i) g)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Finset.sum.{u2, u4} E' ι (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) s (fun (i : ι) => A i x)) g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.sum Asymptotics.IsBigO.sumₓ'. -/
 theorem IsBigO.sum (h : ∀ i ∈ s, A i =O[l] g) : (fun x => ∑ i in s, A i x) =O[l] g :=
   by
   unfold is_O at *
@@ -3619,12 +1771,6 @@ theorem IsBigO.sum (h : ∀ i ∈ s, A i =O[l] g) : (fun x => ∑ i in s, A i x)
   exact ⟨_, is_O_with.sum hC⟩
 #align asymptotics.is_O.sum Asymptotics.IsBigO.sum
 
-/- warning: asymptotics.is_o.sum -> Asymptotics.IsLittleO.sum is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {g' : α -> F'} {l : Filter.{u1} α} {ι : Type.{u4}} {A : ι -> α -> E'} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.Mem.{u4, u4} ι (Finset.{u4} ι) (Finset.hasMem.{u4} ι) i s) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (A i) g')) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => Finset.sum.{u2, u4} E' ι (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) s (fun (i : ι) => A i x)) g')
-but is expected to have type
-  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {g' : α -> F'} {l : Filter.{u3} α} {ι : Type.{u4}} {A : ι -> α -> E'} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.mem.{u4, u4} ι (Finset.{u4} ι) (Finset.instMembershipFinset.{u4} ι) i s) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (A i) g')) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => Finset.sum.{u2, u4} E' ι (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) s (fun (i : ι) => A i x)) g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.sum Asymptotics.IsLittleO.sumₓ'. -/
 theorem IsLittleO.sum (h : ∀ i ∈ s, A i =o[l] g') : (fun x => ∑ i in s, A i x) =o[l] g' :=
   by
   induction' s using Finset.induction_on with i s is IH
@@ -3638,12 +1784,6 @@ end Sum
 /-! ### Relation between `f = o(g)` and `f / g → 0` -/
 
 
-/- warning: asymptotics.is_o.tendsto_div_nhds_zero -> Asymptotics.IsLittleO.tendsto_div_nhds_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g) -> (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))))
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.Tendsto.{u2, u1} α 𝕜 (fun (x : α) => HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.tendsto_div_nhds_zero Asymptotics.IsLittleO.tendsto_div_nhds_zeroₓ'. -/
 theorem IsLittleO.tendsto_div_nhds_zero {f g : α → 𝕜} (h : f =o[l] g) :
     Tendsto (fun x => f x / g x) l (𝓝 0) :=
   (isLittleO_one_iff 𝕜).mp <|
@@ -3654,24 +1794,12 @@ theorem IsLittleO.tendsto_div_nhds_zero {f g : α → 𝕜} (h : f =o[l] g) :
       
 #align asymptotics.is_o.tendsto_div_nhds_zero Asymptotics.IsLittleO.tendsto_div_nhds_zero
 
-/- warning: asymptotics.is_o.tendsto_inv_smul_nhds_zero -> Asymptotics.IsLittleO.tendsto_inv_smul_nhds_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {𝕜 : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_12 : NormedField.{u3} 𝕜] [_inst_14 : NormedSpace.{u3, u2} 𝕜 E' _inst_12 _inst_4] {f : α -> E'} {g : α -> 𝕜} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' 𝕜 (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (Filter.Tendsto.{u1, u2} α E' (fun (x : α) => SMul.smul.{u3, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u3, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u3, u2} 𝕜 E' (MulZeroClass.toHasZero.{u3} 𝕜 (MulZeroOneClass.toMulZeroClass.{u3} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (Ring.toSemiring.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u3} 𝕜 (Ring.toSemiring.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E' (Ring.toSemiring.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u3, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (Inv.inv.{u3} 𝕜 (DivInvMonoid.toHasInv.{u3} 𝕜 (DivisionRing.toDivInvMonoid.{u3} 𝕜 (NormedDivisionRing.toDivisionRing.{u3} 𝕜 (NormedField.toNormedDivisionRing.{u3} 𝕜 _inst_12)))) (g x)) (f x)) l (nhds.{u2} E' (UniformSpace.toTopologicalSpace.{u2} E' (PseudoMetricSpace.toUniformSpace.{u2} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E' _inst_4))) (OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4)))))))))))
-but is expected to have type
-  forall {α : Type.{u1}} {E' : Type.{u2}} {𝕜 : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_12 : NormedField.{u3} 𝕜] [_inst_14 : NormedSpace.{u3, u2} 𝕜 E' _inst_12 _inst_4] {f : α -> E'} {g : α -> 𝕜} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' 𝕜 (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g) -> (Filter.Tendsto.{u1, u2} α E' (fun (x : α) => HSMul.hSMul.{u3, u2, u2} 𝕜 E' E' (instHSMul.{u3, u2} 𝕜 E' (SMulZeroClass.toSMul.{u3, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u3} 𝕜 (DivisionSemiring.toSemiring.{u3} 𝕜 (Semifield.toDivisionSemiring.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u3} 𝕜 (Semifield.toDivisionSemiring.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u3, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (Inv.inv.{u3} 𝕜 (Field.toInv.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)) (g x)) (f x)) l (nhds.{u2} E' (UniformSpace.toTopologicalSpace.{u2} E' (PseudoMetricSpace.toUniformSpace.{u2} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E' _inst_4))) (OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.tendsto_inv_smul_nhds_zero Asymptotics.IsLittleO.tendsto_inv_smul_nhds_zeroₓ'. -/
 theorem IsLittleO.tendsto_inv_smul_nhds_zero [NormedSpace 𝕜 E'] {f : α → E'} {g : α → 𝕜}
     {l : Filter α} (h : f =o[l] g) : Tendsto (fun x => (g x)⁻¹ • f x) l (𝓝 0) := by
   simpa only [div_eq_inv_mul, ← norm_inv, ← norm_smul, ← tendsto_zero_iff_norm_tendsto_zero] using
     h.norm_norm.tendsto_div_nhds_zero
 #align asymptotics.is_o.tendsto_inv_smul_nhds_zero Asymptotics.IsLittleO.tendsto_inv_smul_nhds_zero
 
-/- warning: asymptotics.is_o_iff_tendsto' -> Asymptotics.isLittleO_iff_tendsto' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) l) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g) (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))))
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Iff (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) (Filter.Tendsto.{u2, u1} α 𝕜 (fun (x : α) => HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_tendsto' Asymptotics.isLittleO_iff_tendsto'ₓ'. -/
 theorem isLittleO_iff_tendsto' {f g : α → 𝕜} (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
     f =o[l] g ↔ Tendsto (fun x => f x / g x) l (𝓝 0) :=
   ⟨IsLittleO.tendsto_div_nhds_zero, fun h =>
@@ -3679,41 +1807,17 @@ theorem isLittleO_iff_tendsto' {f g : α → 𝕜} (hgf : ∀ᶠ x in l, g x = 0
       (hgf.mono fun x => div_mul_cancel_of_imp) (eventually_of_forall fun x => one_mul _)⟩
 #align asymptotics.is_o_iff_tendsto' Asymptotics.isLittleO_iff_tendsto'
 
-/- warning: asymptotics.is_o_iff_tendsto -> Asymptotics.isLittleO_iff_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (forall (x : α), (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g) (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))))
-but is expected to have type
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (forall (x : α), (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u2} 𝕜 _inst_12) l f g) (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (Field.toDiv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSeminormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_tendsto Asymptotics.isLittleO_iff_tendstoₓ'. -/
 theorem isLittleO_iff_tendsto {f g : α → 𝕜} (hgf : ∀ x, g x = 0 → f x = 0) :
     f =o[l] g ↔ Tendsto (fun x => f x / g x) l (𝓝 0) :=
   isLittleO_iff_tendsto' (eventually_of_forall hgf)
 #align asymptotics.is_o_iff_tendsto Asymptotics.isLittleO_iff_tendsto
 
-/- warning: asymptotics.is_o_of_tendsto' -> Asymptotics.isLittleO_of_tendsto' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) l) -> (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g)
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Filter.Tendsto.{u2, u1} α 𝕜 (fun (x : α) => HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) -> (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_of_tendsto' Asymptotics.isLittleO_of_tendsto'ₓ'. -/
 alias is_o_iff_tendsto' ↔ _ is_o_of_tendsto'
 #align asymptotics.is_o_of_tendsto' Asymptotics.isLittleO_of_tendsto'
 
-/- warning: asymptotics.is_o_of_tendsto -> Asymptotics.isLittleO_of_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (forall (x : α), (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) -> (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g)
-but is expected to have type
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (forall (x : α), (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) -> (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (Field.toDiv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSeminormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u2} 𝕜 _inst_12) l f g)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_of_tendsto Asymptotics.isLittleO_of_tendstoₓ'. -/
 alias is_o_iff_tendsto ↔ _ is_o_of_tendsto
 #align asymptotics.is_o_of_tendsto Asymptotics.isLittleO_of_tendsto
 
-/- warning: asymptotics.is_o_const_left_of_ne -> Asymptotics.isLittleO_const_left_of_ne is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E'' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_7 : NormedAddCommGroup.{u3} E''] {g : α -> F} {l : Filter.{u1} α} {c : E''}, (Ne.{succ u3} E'' c (OfNat.ofNat.{u3} E'' 0 (OfNat.mk.{u3} E'' 0 (Zero.zero.{u3} E'' (AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E'' F (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) _inst_2 l (fun (x : α) => c) g) (Filter.Tendsto.{u1, 0} α Real (fun (x : α) => Norm.norm.{u2} F _inst_2 (g x)) l (Filter.atTop.{0} Real Real.preorder)))
-but is expected to have type
-  forall {α : Type.{u2}} {F : Type.{u1}} {E'' : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_7 : NormedAddCommGroup.{u3} E''] {g : α -> F} {l : Filter.{u2} α} {c : E''}, (Ne.{succ u3} E'' c (OfNat.ofNat.{u3} E'' 0 (Zero.toOfNat0.{u3} E'' (NegZeroClass.toZero.{u3} E'' (SubNegZeroMonoid.toNegZeroClass.{u3} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E'' (AddCommGroup.toDivisionAddCommMonoid.{u3} E'' (NormedAddCommGroup.toAddCommGroup.{u3} E'' _inst_7))))))))) -> (Iff (Asymptotics.IsLittleO.{u2, u3, u1} α E'' F (NormedAddCommGroup.toNorm.{u3} E'' _inst_7) _inst_2 l (fun (x : α) => c) g) (Filter.Tendsto.{u2, 0} α Real (fun (x : α) => Norm.norm.{u1} F _inst_2 (g x)) l (Filter.atTop.{0} Real Real.instPreorderReal)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_left_of_ne Asymptotics.isLittleO_const_left_of_neₓ'. -/
 theorem isLittleO_const_left_of_ne {c : E''} (hc : c ≠ 0) :
     (fun x => c) =o[l] g ↔ Tendsto (fun x => ‖g x‖) l atTop :=
   by
@@ -3721,12 +1825,6 @@ theorem isLittleO_const_left_of_ne {c : E''} (hc : c ≠ 0) :
   exact ⟨(is_O_const_const (1 : ℝ) hc l).trans_isLittleO, (is_O_const_one ℝ c l).trans_isLittleO⟩
 #align asymptotics.is_o_const_left_of_ne Asymptotics.isLittleO_const_left_of_ne
 
-/- warning: asymptotics.is_o_const_left -> Asymptotics.isLittleO_const_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {g'' : α -> F''} {l : Filter.{u1} α} {c : E''}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l (fun (x : α) => c) g'') (Or (Eq.{succ u2} E'' c (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))) (Filter.Tendsto.{u1, 0} α Real (Function.comp.{succ u1, succ u3, 1} α F'' Real (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8)) g'') l (Filter.atTop.{0} Real Real.preorder)))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {g'' : α -> F''} {l : Filter.{u3} α} {c : E''}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l (fun (x : α) => c) g'') (Or (Eq.{succ u2} E'' c (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))) (Filter.Tendsto.{u3, 0} α Real (Function.comp.{succ u3, succ u1, 1} α F'' Real (Norm.norm.{u1} F'' (NormedAddCommGroup.toNorm.{u1} F'' _inst_8)) g'') l (Filter.atTop.{0} Real Real.instPreorderReal)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_left Asymptotics.isLittleO_const_leftₓ'. -/
 @[simp]
 theorem isLittleO_const_left {c : E''} :
     (fun x => c) =o[l] g'' ↔ c = 0 ∨ Tendsto (norm ∘ g'') l atTop :=
@@ -3736,12 +1834,6 @@ theorem isLittleO_const_left {c : E''} :
   · simp only [hc, false_or_iff, is_o_const_left_of_ne hc]
 #align asymptotics.is_o_const_left Asymptotics.isLittleO_const_left
 
-/- warning: asymptotics.is_o_const_const_iff -> Asymptotics.isLittleO_const_const_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {l : Filter.{u1} α} [_inst_14 : Filter.NeBot.{u1} α l] {d : E''} {c : F''}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l (fun (x : α) => d) (fun (x : α) => c)) (Eq.{succ u2} E'' d (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {l : Filter.{u3} α} [_inst_14 : Filter.NeBot.{u3} α l] {d : E''} {c : F''}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l (fun (x : α) => d) (fun (x : α) => c)) (Eq.{succ u2} E'' d (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_const_iff Asymptotics.isLittleO_const_const_iffₓ'. -/
 @[simp]
 theorem isLittleO_const_const_iff [NeBot l] {d : E''} {c : F''} :
     ((fun x => d) =o[l] fun x => c) ↔ d = 0 :=
@@ -3751,12 +1843,6 @@ theorem isLittleO_const_const_iff [NeBot l] {d : E''} {c : F''} :
   simp [Function.const, this]
 #align asymptotics.is_o_const_const_iff Asymptotics.isLittleO_const_const_iff
 
-/- warning: asymptotics.is_o_pure -> Asymptotics.isLittleO_pure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {x : α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α x) f'' g'') (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {x : α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (Pure.pure.{u3, u3} Filter.{u3} Filter.instPureFilter.{u3} α x) f'' g'') (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pure Asymptotics.isLittleO_pureₓ'. -/
 @[simp]
 theorem isLittleO_pure {x} : f'' =o[pure x] g'' ↔ f'' x = 0 :=
   calc
@@ -3765,33 +1851,15 @@ theorem isLittleO_pure {x} : f'' =o[pure x] g'' ↔ f'' x = 0 :=
     
 #align asymptotics.is_o_pure Asymptotics.isLittleO_pure
 
-/- warning: asymptotics.is_o_const_id_comap_norm_at_top -> Asymptotics.isLittleO_const_id_comap_norm_atTop is a dubious translation:
-lean 3 declaration is
-  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] (c : F''), Asymptotics.IsLittleO.{u1, u2, u1} E'' F'' E'' (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (Filter.comap.{u1, 0} E'' Real (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7)) (Filter.atTop.{0} Real Real.preorder)) (fun (x : E'') => c) (id.{succ u1} E'')
-but is expected to have type
-  forall {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] (c : F''), Asymptotics.IsLittleO.{u2, u1, u2} E'' F'' E'' (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (Filter.comap.{u2, 0} E'' Real (Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7)) (Filter.atTop.{0} Real Real.instPreorderReal)) (fun (x : E'') => c) (id.{succ u2} E'')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isLittleO_const_id_comap_norm_atTopₓ'. -/
 theorem isLittleO_const_id_comap_norm_atTop (c : F'') :
     (fun x : E'' => c) =o[comap norm atTop] id :=
   isLittleO_const_left.2 <| Or.inr tendsto_comap
 #align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isLittleO_const_id_comap_norm_atTop
 
-/- warning: asymptotics.is_o_const_id_at_top -> Asymptotics.isLittleO_const_id_atTop is a dubious translation:
-lean 3 declaration is
-  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] (c : E''), Asymptotics.IsLittleO.{0, u1, 0} Real E'' Real (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) Real.hasNorm (Filter.atTop.{0} Real Real.preorder) (fun (x : Real) => c) (id.{1} Real)
-but is expected to have type
-  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] (c : E''), Asymptotics.IsLittleO.{0, u1, 0} Real E'' Real (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) Real.norm (Filter.atTop.{0} Real Real.instPreorderReal) (fun (x : Real) => c) (id.{1} Real)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_id_at_top Asymptotics.isLittleO_const_id_atTopₓ'. -/
 theorem isLittleO_const_id_atTop (c : E'') : (fun x : ℝ => c) =o[atTop] id :=
   isLittleO_const_left.2 <| Or.inr tendsto_abs_atTop_atTop
 #align asymptotics.is_o_const_id_at_top Asymptotics.isLittleO_const_id_atTop
 
-/- warning: asymptotics.is_o_const_id_at_bot -> Asymptotics.isLittleO_const_id_atBot is a dubious translation:
-lean 3 declaration is
-  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] (c : E''), Asymptotics.IsLittleO.{0, u1, 0} Real E'' Real (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) Real.hasNorm (Filter.atBot.{0} Real Real.preorder) (fun (x : Real) => c) (id.{1} Real)
-but is expected to have type
-  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] (c : E''), Asymptotics.IsLittleO.{0, u1, 0} Real E'' Real (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) Real.norm (Filter.atBot.{0} Real Real.instPreorderReal) (fun (x : Real) => c) (id.{1} Real)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_id_at_bot Asymptotics.isLittleO_const_id_atBotₓ'. -/
 theorem isLittleO_const_id_atBot (c : E'') : (fun x : ℝ => c) =o[atBot] id :=
   isLittleO_const_left.2 <| Or.inr tendsto_abs_atBot_atTop
 #align asymptotics.is_o_const_id_at_bot Asymptotics.isLittleO_const_id_atBot
@@ -3808,34 +1876,16 @@ section EventuallyMulDivCancel
 
 variable {u v : α → 𝕜}
 
-/- warning: asymptotics.is_O_with.eventually_mul_div_cancel -> Asymptotics.IsBigOWith.eventually_mul_div_cancel is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l u v) -> (Filter.EventuallyEq.{u1, u2} α 𝕜 l (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) (HDiv.hDiv.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u1 u2} (α -> 𝕜) (Pi.instDiv.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))))) u v) v) u)
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigOWith.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l u v) -> (Filter.EventuallyEq.{u2, u1} α 𝕜 l (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) (HDiv.hDiv.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u2 u1} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) u v) v) u)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.eventually_mul_div_cancel Asymptotics.IsBigOWith.eventually_mul_div_cancelₓ'. -/
 theorem IsBigOWith.eventually_mul_div_cancel (h : IsBigOWith c l u v) : u / v * v =ᶠ[l] u :=
   Eventually.mono h.bound fun y hy => div_mul_cancel_of_imp fun hv => by simpa [hv] using hy
 #align asymptotics.is_O_with.eventually_mul_div_cancel Asymptotics.IsBigOWith.eventually_mul_div_cancel
 
-/- warning: asymptotics.is_O.eventually_mul_div_cancel -> Asymptotics.IsBigO.eventually_mul_div_cancel is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Filter.EventuallyEq.{u1, u2} α 𝕜 l (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) (HDiv.hDiv.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u1 u2} (α -> 𝕜) (Pi.instDiv.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))))) u v) v) u)
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Filter.EventuallyEq.{u2, u1} α 𝕜 l (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) (HDiv.hDiv.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u2 u1} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) u v) v) u)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.eventually_mul_div_cancel Asymptotics.IsBigO.eventually_mul_div_cancelₓ'. -/
 /-- If `u = O(v)` along `l`, then `(u / v) * v = u` eventually at `l`. -/
 theorem IsBigO.eventually_mul_div_cancel (h : u =O[l] v) : u / v * v =ᶠ[l] u :=
   let ⟨c, hc⟩ := h.IsBigOWith
   hc.eventually_mul_div_cancel
 #align asymptotics.is_O.eventually_mul_div_cancel Asymptotics.IsBigO.eventually_mul_div_cancel
 
-/- warning: asymptotics.is_o.eventually_mul_div_cancel -> Asymptotics.IsLittleO.eventually_mul_div_cancel is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Filter.EventuallyEq.{u1, u2} α 𝕜 l (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) (HDiv.hDiv.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u1 u2} (α -> 𝕜) (Pi.instDiv.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))))) u v) v) u)
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Filter.EventuallyEq.{u2, u1} α 𝕜 l (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) (HDiv.hDiv.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u2 u1} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) u v) v) u)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.eventually_mul_div_cancel Asymptotics.IsLittleO.eventually_mul_div_cancelₓ'. -/
 /-- If `u = o(v)` along `l`, then `(u / v) * v = u` eventually at `l`. -/
 theorem IsLittleO.eventually_mul_div_cancel (h : u =o[l] v) : u / v * v =ᶠ[l] u :=
   (h.forall_isBigOWith zero_lt_one).eventually_mul_div_cancel
@@ -3850,12 +1900,6 @@ section ExistsMulEq
 
 variable {u v : α → 𝕜}
 
-/- warning: asymptotics.is_O_with_of_eq_mul -> Asymptotics.isBigOWith_of_eq_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜} (φ : α -> 𝕜), (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) -> (Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v)) -> (Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l u v)
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜} (φ : α -> 𝕜), (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) -> (Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v)) -> (Asymptotics.IsBigOWith.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l u v)
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mulₓ'. -/
 /-- If `‖φ‖` is eventually bounded by `c`, and `u =ᶠ[l] φ * v`, then we have `is_O_with c u v l`.
     This does not require any assumptions on `c`, which is why we keep this version along with
     `is_O_with_iff_exists_eq_mul`. -/
@@ -3867,12 +1911,6 @@ theorem isBigOWith_of_eq_mul (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖
   exact mul_le_mul_of_nonneg_right hx (norm_nonneg _)
 #align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mul
 
-/- warning: asymptotics.is_O_with_iff_exists_eq_mul -> Asymptotics.isBigOWith_iff_exists_eq_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Iff (Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l u v) (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) (fun (hφ : Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v)))))
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Iff (Asymptotics.IsBigOWith.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) (fun (hφ : Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v)))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_iff_exists_eq_mul Asymptotics.isBigOWith_iff_exists_eq_mulₓ'. -/
 theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
     IsBigOWith c l u v ↔ ∃ (φ : α → 𝕜)(hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
   by
@@ -3885,23 +1923,11 @@ theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
     exact is_O_with_of_eq_mul φ hφ h
 #align asymptotics.is_O_with_iff_exists_eq_mul Asymptotics.isBigOWith_iff_exists_eq_mul
 
-/- warning: asymptotics.is_O_with.exists_eq_mul -> Asymptotics.IsBigOWith.exists_eq_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l u v) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) (fun (hφ : Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigOWith.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l u v) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) (fun (hφ : Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.exists_eq_mul Asymptotics.IsBigOWith.exists_eq_mulₓ'. -/
 theorem IsBigOWith.exists_eq_mul (h : IsBigOWith c l u v) (hc : 0 ≤ c) :
     ∃ (φ : α → 𝕜)(hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
   (isBigOWith_iff_exists_eq_mul hc).mp h
 #align asymptotics.is_O_with.exists_eq_mul Asymptotics.IsBigOWith.exists_eq_mul
 
-/- warning: asymptotics.is_O_iff_exists_eq_mul -> Asymptotics.isBigO_iff_exists_eq_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isBigO_iff_exists_eq_mulₓ'. -/
 theorem isBigO_iff_exists_eq_mul :
     u =O[l] v ↔ ∃ (φ : α → 𝕜)(hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v :=
   by
@@ -3914,21 +1940,9 @@ theorem isBigO_iff_exists_eq_mul :
     exact is_O_iff_is_O_with.2 ⟨c, is_O_with_of_eq_mul φ hφ huvφ⟩
 #align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isBigO_iff_exists_eq_mul
 
-/- warning: asymptotics.is_O.exists_eq_mul -> Asymptotics.IsBigO.exists_eq_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mulₓ'. -/
 alias is_O_iff_exists_eq_mul ↔ is_O.exists_eq_mul _
 #align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
 
-/- warning: asymptotics.is_o_iff_exists_eq_mul -> Asymptotics.isLittleO_iff_exists_eq_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Tendsto.{u1, u2} α 𝕜 φ l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) (fun (hφ : Filter.Tendsto.{u1, u2} α 𝕜 φ l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Tendsto.{u2, u1} α 𝕜 φ l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) (fun (hφ : Filter.Tendsto.{u2, u1} α 𝕜 φ l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mulₓ'. -/
 theorem isLittleO_iff_exists_eq_mul :
     u =o[l] v ↔ ∃ (φ : α → 𝕜)(hφ : Tendsto φ l (𝓝 0)), u =ᶠ[l] φ * v :=
   by
@@ -3939,12 +1953,6 @@ theorem isLittleO_iff_exists_eq_mul :
     exact is_O_with_of_eq_mul _ ((hφ c hpos).mono fun x => le_of_lt) huvφ
 #align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mul
 
-/- warning: asymptotics.is_o.exists_eq_mul -> Asymptotics.IsLittleO.exists_eq_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Tendsto.{u1, u2} α 𝕜 φ l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) (fun (hφ : Filter.Tendsto.{u1, u2} α 𝕜 φ l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
-but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Tendsto.{u2, u1} α 𝕜 φ l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) (fun (hφ : Filter.Tendsto.{u2, u1} α 𝕜 φ l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.exists_eq_mul Asymptotics.IsLittleO.exists_eq_mulₓ'. -/
 alias is_o_iff_exists_eq_mul ↔ is_o.exists_eq_mul _
 #align asymptotics.is_o.exists_eq_mul Asymptotics.IsLittleO.exists_eq_mul
 
@@ -3953,12 +1961,6 @@ end ExistsMulEq
 /-! ### Miscellanous lemmas -/
 
 
-/- warning: asymptotics.div_is_bounded_under_of_is_O -> Asymptotics.div_isBoundedUnder_of_isBigO is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12))))) (f x) (g x))))
-but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51479 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51481 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51479 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51481) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.div_is_bounded_under_of_is_O Asymptotics.div_isBoundedUnder_of_isBigOₓ'. -/
 theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α → 𝕜} (h : f =O[l] g) :
     IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ :=
   by
@@ -3968,12 +1970,6 @@ theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α →
   exact div_le_of_nonneg_of_le_mul (norm_nonneg _) h₀ hx
 #align asymptotics.div_is_bounded_under_of_is_O Asymptotics.div_isBoundedUnder_of_isBigO
 
-/- warning: asymptotics.is_O_iff_div_is_bounded_under -> Asymptotics.isBigO_iff_div_isBoundedUnder is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12))))) (f x) (g x)))))
-but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51713 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51715 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51713 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51715) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_div_is_bounded_under Asymptotics.isBigO_iff_div_isBoundedUnderₓ'. -/
 theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
     f =O[l] g ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ :=
@@ -3987,23 +1983,11 @@ theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α 
   · exact (div_le_iff (norm_pos_iff.2 hgx)).mp hx₂
 #align asymptotics.is_O_iff_div_is_bounded_under Asymptotics.isBigO_iff_div_isBoundedUnder
 
-/- warning: asymptotics.is_O_of_div_tendsto_nhds -> Asymptotics.isBigO_of_div_tendsto_nhds is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))))))))) l) -> (forall (c : 𝕜), (Filter.Tendsto.{u2, u1} α 𝕜 (HDiv.hDiv.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u2 u1} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12)))))) f g) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) c)) -> (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g))
-but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (forall (c : 𝕜), (Filter.Tendsto.{u2, u1} α 𝕜 (HDiv.hDiv.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u1 u2} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) f g) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) c)) -> (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_of_div_tendsto_nhds Asymptotics.isBigO_of_div_tendsto_nhdsₓ'. -/
 theorem isBigO_of_div_tendsto_nhds {α : Type _} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) (c : 𝕜) (H : Filter.Tendsto (f / g) l (𝓝 c)) : f =O[l] g :=
   (isBigO_iff_div_isBoundedUnder hgf).2 <| H.norm.isBoundedUnder_le
 #align asymptotics.is_O_of_div_tendsto_nhds Asymptotics.isBigO_of_div_tendsto_nhds
 
-/- warning: asymptotics.is_o.tendsto_zero_of_tendsto -> Asymptotics.IsLittleO.tendsto_zero_of_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_14 : NormedAddCommGroup.{u2} E] [_inst_15 : NormedField.{u3} 𝕜] {u : α -> E} {v : α -> 𝕜} {l : Filter.{u1} α} {y : 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 (NormedAddCommGroup.toHasNorm.{u2} E _inst_14) (NormedField.toHasNorm.{u3} 𝕜 _inst_15) l u v) -> (Filter.Tendsto.{u1, u3} α 𝕜 v l (nhds.{u3} 𝕜 (UniformSpace.toTopologicalSpace.{u3} 𝕜 (PseudoMetricSpace.toUniformSpace.{u3} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u3} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u3} 𝕜 (NormedCommRing.toSeminormedCommRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_15)))))) y)) -> (Filter.Tendsto.{u1, u2} α E u l (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_14)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (NormedAddGroup.toAddGroup.{u2} E (NormedAddCommGroup.toNormedAddGroup.{u2} E _inst_14)))))))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {𝕜 : Type.{u1}} [_inst_14 : NormedAddCommGroup.{u2} E] [_inst_15 : NormedField.{u1} 𝕜] {u : α -> E} {v : α -> 𝕜} {l : Filter.{u3} α} {y : 𝕜}, (Asymptotics.IsLittleO.{u3, u2, u1} α E 𝕜 (NormedAddCommGroup.toNorm.{u2} E _inst_14) (NormedField.toNorm.{u1} 𝕜 _inst_15) l u v) -> (Filter.Tendsto.{u3, u1} α 𝕜 v l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_15)))))) y)) -> (Filter.Tendsto.{u3, u2} α E u l (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_14)))) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_14))))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.tendsto_zero_of_tendsto Asymptotics.IsLittleO.tendsto_zero_of_tendstoₓ'. -/
 theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type _} [NormedAddCommGroup E] [NormedField 𝕜]
     {u : α → E} {v : α → 𝕜} {l : Filter α} {y : 𝕜} (huv : u =o[l] v) (hv : Tendsto v l (𝓝 y)) :
     Tendsto u l (𝓝 0) := by
@@ -4012,12 +1996,6 @@ theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type _} [NormedAddCommGro
   exact huv.trans_is_O (hv.is_O_one 𝕜)
 #align asymptotics.is_o.tendsto_zero_of_tendsto Asymptotics.IsLittleO.tendsto_zero_of_tendsto
 
-/- warning: asymptotics.is_o_pow_pow -> Asymptotics.isLittleO_pow_pow is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {m : Nat} {n : Nat}, (LT.lt.{0} Nat Nat.hasLt m n) -> (Asymptotics.IsLittleO.{u1, u1, u1} 𝕜 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) x n) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) x m))
-but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {m : Nat} {n : Nat}, (LT.lt.{0} Nat instLTNat m n) -> (Asymptotics.IsLittleO.{u1, u1, u1} 𝕜 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) x n) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) x m))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pow_pow Asymptotics.isLittleO_pow_powₓ'. -/
 theorem isLittleO_pow_pow {m n : ℕ} (h : m < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x ^ m :=
   by
   rcases lt_iff_exists_add.1 h with ⟨p, hp0 : 0 < p, rfl⟩
@@ -4026,65 +2004,29 @@ theorem isLittleO_pow_pow {m n : ℕ} (h : m < n) : (fun x : 𝕜 => x ^ n) =o[
   exact is_O.mul_is_o (is_O_refl _ _) (is_o.pow ((is_o_one_iff _).2 tendsto_id) hp0)
 #align asymptotics.is_o_pow_pow Asymptotics.isLittleO_pow_pow
 
-/- warning: asymptotics.is_o_norm_pow_norm_pow -> Asymptotics.isLittleO_norm_pow_norm_pow is a dubious translation:
-lean 3 declaration is
-  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {m : Nat} {n : Nat}, (LT.lt.{0} Nat Nat.hasLt m n) -> (Asymptotics.IsLittleO.{u1, 0, 0} E' Real Real Real.hasNorm Real.hasNorm (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) (OfNat.ofNat.{u1} E' 0 (OfNat.mk.{u1} E' 0 (Zero.zero.{u1} E' (AddZeroClass.toHasZero.{u1} E' (AddMonoid.toAddZeroClass.{u1} E' (SubNegMonoid.toAddMonoid.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4)))))))))) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) x) n) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) x) m))
-but is expected to have type
-  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {m : Nat} {n : Nat}, (LT.lt.{0} Nat instLTNat m n) -> (Asymptotics.IsLittleO.{u1, 0, 0} E' Real Real Real.norm Real.norm (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) (OfNat.ofNat.{u1} E' 0 (Zero.toOfNat0.{u1} E' (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4))))))))) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) x) n) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) x) m))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_pow_norm_pow Asymptotics.isLittleO_norm_pow_norm_powₓ'. -/
 theorem isLittleO_norm_pow_norm_pow {m n : ℕ} (h : m < n) :
     (fun x : E' => ‖x‖ ^ n) =o[𝓝 0] fun x => ‖x‖ ^ m :=
   (isLittleO_pow_pow h).comp_tendsto tendsto_norm_zero
 #align asymptotics.is_o_norm_pow_norm_pow Asymptotics.isLittleO_norm_pow_norm_pow
 
-/- warning: asymptotics.is_o_pow_id -> Asymptotics.isLittleO_pow_id is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) n) -> (Asymptotics.IsLittleO.{u1, u1, u1} 𝕜 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) x n) (fun (x : 𝕜) => x))
-but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) n) -> (Asymptotics.IsLittleO.{u1, u1, u1} 𝕜 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) x n) (fun (x : 𝕜) => x))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pow_id Asymptotics.isLittleO_pow_idₓ'. -/
 theorem isLittleO_pow_id {n : ℕ} (h : 1 < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x := by
   convert is_o_pow_pow h; simp only [pow_one]
 #align asymptotics.is_o_pow_id Asymptotics.isLittleO_pow_id
 
-/- warning: asymptotics.is_o_norm_pow_id -> Asymptotics.isLittleO_norm_pow_id is a dubious translation:
-lean 3 declaration is
-  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) n) -> (Asymptotics.IsLittleO.{u1, 0, u1} E' Real E' Real.hasNorm (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) (OfNat.ofNat.{u1} E' 0 (OfNat.mk.{u1} E' 0 (Zero.zero.{u1} E' (AddZeroClass.toHasZero.{u1} E' (AddMonoid.toAddZeroClass.{u1} E' (SubNegMonoid.toAddMonoid.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4)))))))))) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) x) n) (fun (x : E') => x))
-but is expected to have type
-  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) n) -> (Asymptotics.IsLittleO.{u1, 0, u1} E' Real E' Real.norm (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) (OfNat.ofNat.{u1} E' 0 (Zero.toOfNat0.{u1} E' (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4))))))))) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) x) n) (fun (x : E') => x))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_pow_id Asymptotics.isLittleO_norm_pow_idₓ'. -/
 theorem isLittleO_norm_pow_id {n : ℕ} (h : 1 < n) : (fun x : E' => ‖x‖ ^ n) =o[𝓝 0] fun x => x := by
   simpa only [pow_one, is_o_norm_right] using @is_o_norm_pow_norm_pow E' _ _ _ h
 #align asymptotics.is_o_norm_pow_id Asymptotics.isLittleO_norm_pow_id
 
-/- warning: asymptotics.is_O.eq_zero_of_norm_pow_within -> Asymptotics.IsBigO.eq_zero_of_norm_pow_within is a dubious translation:
-lean 3 declaration is
-  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : E'' -> F''} {s : Set.{u1} E''} {x₀ : E''} {n : Nat}, (Asymptotics.IsBigO.{u1, u2, 0} E'' F'' Real (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) Real.hasNorm (nhdsWithin.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) x₀ s) f (fun (x : E'') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (HSub.hSub.{u1, u1, u1} E'' E'' E'' (instHSub.{u1} E'' (SubNegMonoid.toHasSub.{u1} E'' (AddGroup.toSubNegMonoid.{u1} E'' (NormedAddGroup.toAddGroup.{u1} E'' (NormedAddCommGroup.toNormedAddGroup.{u1} E'' _inst_7))))) x x₀)) n)) -> (Membership.Mem.{u1, u1} E'' (Set.{u1} E'') (Set.hasMem.{u1} E'') x₀ s) -> (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u2} F'' (f x₀) (OfNat.ofNat.{u2} F'' 0 (OfNat.mk.{u2} F'' 0 (Zero.zero.{u2} F'' (AddZeroClass.toHasZero.{u2} F'' (AddMonoid.toAddZeroClass.{u2} F'' (SubNegMonoid.toAddMonoid.{u2} F'' (AddGroup.toSubNegMonoid.{u2} F'' (NormedAddGroup.toAddGroup.{u2} F'' (NormedAddCommGroup.toNormedAddGroup.{u2} F'' _inst_8))))))))))
-but is expected to have type
-  forall {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : E'' -> F''} {s : Set.{u2} E''} {x₀ : E''} {n : Nat}, (Asymptotics.IsBigO.{u2, u1, 0} E'' F'' Real (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) Real.norm (nhdsWithin.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) x₀ s) f (fun (x : E'') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (HSub.hSub.{u2, u2, u2} E'' E'' E'' (instHSub.{u2} E'' (SubNegMonoid.toSub.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))) x x₀)) n)) -> (Membership.mem.{u2, u2} E'' (Set.{u2} E'') (Set.instMembershipSet.{u2} E'') x₀ s) -> (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u1} F'' (f x₀) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8)))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.eq_zero_of_norm_pow_within Asymptotics.IsBigO.eq_zero_of_norm_pow_withinₓ'. -/
 theorem IsBigO.eq_zero_of_norm_pow_within {f : E'' → F''} {s : Set E''} {x₀ : E''} {n : ℕ}
     (h : f =O[𝓝[s] x₀] fun x => ‖x - x₀‖ ^ n) (hx₀ : x₀ ∈ s) (hn : 0 < n) : f x₀ = 0 :=
   mem_of_mem_nhdsWithin hx₀ h.eq_zero_imp <| by simp_rw [sub_self, norm_zero, zero_pow hn]
 #align asymptotics.is_O.eq_zero_of_norm_pow_within Asymptotics.IsBigO.eq_zero_of_norm_pow_within
 
-/- warning: asymptotics.is_O.eq_zero_of_norm_pow -> Asymptotics.IsBigO.eq_zero_of_norm_pow is a dubious translation:
-lean 3 declaration is
-  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : E'' -> F''} {x₀ : E''} {n : Nat}, (Asymptotics.IsBigO.{u1, u2, 0} E'' F'' Real (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) Real.hasNorm (nhds.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) x₀) f (fun (x : E'') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (HSub.hSub.{u1, u1, u1} E'' E'' E'' (instHSub.{u1} E'' (SubNegMonoid.toHasSub.{u1} E'' (AddGroup.toSubNegMonoid.{u1} E'' (NormedAddGroup.toAddGroup.{u1} E'' (NormedAddCommGroup.toNormedAddGroup.{u1} E'' _inst_7))))) x x₀)) n)) -> (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u2} F'' (f x₀) (OfNat.ofNat.{u2} F'' 0 (OfNat.mk.{u2} F'' 0 (Zero.zero.{u2} F'' (AddZeroClass.toHasZero.{u2} F'' (AddMonoid.toAddZeroClass.{u2} F'' (SubNegMonoid.toAddMonoid.{u2} F'' (AddGroup.toSubNegMonoid.{u2} F'' (NormedAddGroup.toAddGroup.{u2} F'' (NormedAddCommGroup.toNormedAddGroup.{u2} F'' _inst_8))))))))))
-but is expected to have type
-  forall {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : E'' -> F''} {x₀ : E''} {n : Nat}, (Asymptotics.IsBigO.{u2, u1, 0} E'' F'' Real (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) Real.norm (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) x₀) f (fun (x : E'') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (HSub.hSub.{u2, u2, u2} E'' E'' E'' (instHSub.{u2} E'' (SubNegMonoid.toSub.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))) x x₀)) n)) -> (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u1} F'' (f x₀) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8)))))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_powₓ'. -/
 theorem IsBigO.eq_zero_of_norm_pow {f : E'' → F''} {x₀ : E''} {n : ℕ}
     (h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n) (hn : 0 < n) : f x₀ = 0 := by
   rw [← nhdsWithin_univ] at h; exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
 #align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_pow
 
-/- warning: asymptotics.is_o_pow_sub_pow_sub -> Asymptotics.isLittleO_pow_sub_pow_sub is a dubious translation:
-lean 3 declaration is
-  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] (x₀ : E') {n : Nat} {m : Nat}, (LT.lt.{0} Nat Nat.hasLt n m) -> (Asymptotics.IsLittleO.{u1, 0, 0} E' Real Real Real.hasNorm Real.hasNorm (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) x₀) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toHasSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) m) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toHasSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) n))
-but is expected to have type
-  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] (x₀ : E') {n : Nat} {m : Nat}, (LT.lt.{0} Nat instLTNat n m) -> (Asymptotics.IsLittleO.{u1, 0, 0} E' Real Real Real.norm Real.norm (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) x₀) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) m) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) n))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pow_sub_pow_sub Asymptotics.isLittleO_pow_sub_pow_subₓ'. -/
 theorem isLittleO_pow_sub_pow_sub (x₀ : E') {n m : ℕ} (h : n < m) :
     (fun x => ‖x - x₀‖ ^ m) =o[𝓝 x₀] fun x => ‖x - x₀‖ ^ n :=
   haveI : tendsto (fun x => ‖x - x₀‖) (𝓝 x₀) (𝓝 0) :=
@@ -4095,23 +2037,11 @@ theorem isLittleO_pow_sub_pow_sub (x₀ : E') {n m : ℕ} (h : n < m) :
   (is_o_pow_pow h).comp_tendsto this
 #align asymptotics.is_o_pow_sub_pow_sub Asymptotics.isLittleO_pow_sub_pow_sub
 
-/- warning: asymptotics.is_o_pow_sub_sub -> Asymptotics.isLittleO_pow_sub_sub is a dubious translation:
-lean 3 declaration is
-  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] (x₀ : E') {m : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) m) -> (Asymptotics.IsLittleO.{u1, 0, u1} E' Real E' Real.hasNorm (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) x₀) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toHasSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) m) (fun (x : E') => HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toHasSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀))
-but is expected to have type
-  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] (x₀ : E') {m : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) m) -> (Asymptotics.IsLittleO.{u1, 0, u1} E' Real E' Real.norm (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) x₀) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) m) (fun (x : E') => HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pow_sub_sub Asymptotics.isLittleO_pow_sub_subₓ'. -/
 theorem isLittleO_pow_sub_sub (x₀ : E') {m : ℕ} (h : 1 < m) :
     (fun x => ‖x - x₀‖ ^ m) =o[𝓝 x₀] fun x => x - x₀ := by
   simpa only [is_o_norm_right, pow_one] using is_o_pow_sub_pow_sub x₀ h
 #align asymptotics.is_o_pow_sub_sub Asymptotics.isLittleO_pow_sub_sub
 
-/- warning: asymptotics.is_O_with.right_le_sub_of_lt_1 -> Asymptotics.IsBigOWith.right_le_sub_of_lt_1 is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) c l f₁ f₂) -> (LT.lt.{0} Real Real.hasLt c (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (Asymptotics.IsBigOWith.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) c)) l f₂ (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toHasSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {l : Filter.{u2} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) c l f₁ f₂) -> (LT.lt.{0} Real Real.instLTReal c (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (Asymptotics.IsBigOWith.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.instSubReal) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) c)) l f₂ (fun (x : α) => HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) (f₂ x) (f₁ x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_1ₓ'. -/
 theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₂ x - f₁ x :=
   IsBigOWith.of_bound <|
@@ -4123,46 +2053,22 @@ theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith
       · exact sub_pos.2 hc
 #align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_1
 
-/- warning: asymptotics.is_O_with.right_le_add_of_lt_1 -> Asymptotics.IsBigOWith.right_le_add_of_lt_1 is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) c l f₁ f₂) -> (LT.lt.{0} Real Real.hasLt c (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (Asymptotics.IsBigOWith.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) c)) l f₂ (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toHasAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {l : Filter.{u2} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) c l f₁ f₂) -> (LT.lt.{0} Real Real.instLTReal c (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (Asymptotics.IsBigOWith.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.instSubReal) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) c)) l f₂ (fun (x : α) => HAdd.hAdd.{u1, u1, u1} E' E' E' (instHAdd.{u1} E' (AddZeroClass.toAdd.{u1} E' (AddMonoid.toAddZeroClass.{u1} E' (SubNegMonoid.toAddMonoid.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))))) (f₁ x) (f₂ x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_1ₓ'. -/
 theorem IsBigOWith.right_le_add_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₁ x + f₂ x :=
   (h.neg_right.right_le_sub_of_lt_1 hc).neg_right.of_neg_left.congr rfl (fun x => rfl) fun x => by
     rw [neg_sub, sub_neg_eq_add]
 #align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_1
 
-/- warning: asymptotics.is_o.right_is_O_sub -> Asymptotics.IsLittleO.right_isBigO_sub is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f₁ f₂) -> (Asymptotics.IsBigO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f₂ (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toHasSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {l : Filter.{u2} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f₁ f₂) -> (Asymptotics.IsBigO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f₂ (fun (x : α) => HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) (f₂ x) (f₁ x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.right_is_O_sub Asymptotics.IsLittleO.right_isBigO_subₓ'. -/
 theorem IsLittleO.right_isBigO_sub {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
     f₂ =O[l] fun x => f₂ x - f₁ x :=
   ((h.def' one_half_pos).right_le_sub_of_lt_1 one_half_lt_one).IsBigO
 #align asymptotics.is_o.right_is_O_sub Asymptotics.IsLittleO.right_isBigO_sub
 
-/- warning: asymptotics.is_o.right_is_O_add -> Asymptotics.IsLittleO.right_isBigO_add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f₁ f₂) -> (Asymptotics.IsBigO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f₂ (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toHasAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)))
-but is expected to have type
-  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {l : Filter.{u2} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f₁ f₂) -> (Asymptotics.IsBigO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f₂ (fun (x : α) => HAdd.hAdd.{u1, u1, u1} E' E' E' (instHAdd.{u1} E' (AddZeroClass.toAdd.{u1} E' (AddMonoid.toAddZeroClass.{u1} E' (SubNegMonoid.toAddMonoid.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))))) (f₁ x) (f₂ x)))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.right_is_O_add Asymptotics.IsLittleO.right_isBigO_addₓ'. -/
 theorem IsLittleO.right_isBigO_add {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
     f₂ =O[l] fun x => f₁ x + f₂ x :=
   ((h.def' one_half_pos).right_le_add_of_lt_1 one_half_lt_one).IsBigO
 #align asymptotics.is_o.right_is_O_add Asymptotics.IsLittleO.right_isBigO_add
 
-/- warning: asymptotics.bound_of_is_O_cofinite -> Asymptotics.bound_of_isBigO_cofinite is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {g'' : α -> F''}, (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Filter.cofinite.{u1} α) f g'') -> (Exists.{1} Real (fun (C : Real) => Exists.{0} (GT.gt.{0} Real Real.hasLt C (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (fun (H : GT.gt.{0} Real Real.hasLt C (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) => forall {{x : α}}, (Ne.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (g'' x)))))))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : α -> E} {g'' : α -> F''}, (Asymptotics.IsBigO.{u3, u2, u1} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (Filter.cofinite.{u3} α) f g'') -> (Exists.{1} Real (fun (C : Real) => And (GT.gt.{0} Real Real.instLTReal C (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (forall {{x : α}}, (Ne.{succ u1} F'' (g'' x) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} F'' (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (g'' x)))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.bound_of_is_O_cofinite Asymptotics.bound_of_isBigO_cofiniteₓ'. -/
 /-- If `f x = O(g x)` along `cofinite`, then there exists a positive constant `C` such that
 `‖f x‖ ≤ C * ‖g x‖` whenever `g x ≠ 0`. -/
 theorem bound_of_isBigO_cofinite (h : f =O[cofinite] g'') :
@@ -4177,12 +2083,6 @@ theorem bound_of_isBigO_cofinite (h : f =O[cofinite] g'') :
   exact fun hx => (div_le_iff (norm_pos_iff.2 h₀)).1 (this _ hx)
 #align asymptotics.bound_of_is_O_cofinite Asymptotics.bound_of_isBigO_cofinite
 
-/- warning: asymptotics.is_O_cofinite_iff -> Asymptotics.isBigO_cofinite_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''}, (forall (x : α), (Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Filter.cofinite.{u1} α) f'' g'') (Exists.{1} Real (fun (C : Real) => forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (f'' x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (g'' x))))))
-but is expected to have type
-  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''}, (forall (x : α), (Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) (Filter.cofinite.{u1} α) f'' g'') (Exists.{1} Real (fun (C : Real) => forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u3} F'' (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) (g'' x))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_cofinite_iff Asymptotics.isBigO_cofinite_iffₓ'. -/
 theorem isBigO_cofinite_iff (h : ∀ x, g'' x = 0 → f'' x = 0) :
     f'' =O[cofinite] g'' ↔ ∃ C, ∀ x, ‖f'' x‖ ≤ C * ‖g'' x‖ :=
   ⟨fun h' =>
@@ -4191,46 +2091,22 @@ theorem isBigO_cofinite_iff (h : ∀ x, g'' x = 0 → f'' x = 0) :
     fun h => (isBigO_top.2 h).mono le_top⟩
 #align asymptotics.is_O_cofinite_iff Asymptotics.isBigO_cofinite_iff
 
-/- warning: asymptotics.bound_of_is_O_nat_at_top -> Asymptotics.bound_of_isBigO_nat_atTop is a dubious translation:
-lean 3 declaration is
-  forall {E : Type.{u1}} {E'' : Type.{u2}} [_inst_1 : Norm.{u1} E] [_inst_7 : NormedAddCommGroup.{u2} E''] {f : Nat -> E} {g'' : Nat -> E''}, (Asymptotics.IsBigO.{0, u1, u2} Nat E E'' _inst_1 (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) f g'') -> (Exists.{1} Real (fun (C : Real) => Exists.{0} (GT.gt.{0} Real Real.hasLt C (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (fun (H : GT.gt.{0} Real Real.hasLt C (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) => forall {{x : Nat}}, (Ne.{succ u2} E'' (g'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u2} E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (g'' x)))))))
-but is expected to have type
-  forall {E : Type.{u2}} {E'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_7 : NormedAddCommGroup.{u1} E''] {f : Nat -> E} {g'' : Nat -> E''}, (Asymptotics.IsBigO.{0, u2, u1} Nat E E'' _inst_1 (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) f g'') -> (Exists.{1} Real (fun (C : Real) => And (GT.gt.{0} Real Real.instLTReal C (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (forall {{x : Nat}}, (Ne.{succ u1} E'' (g'' x) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7))))))))) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} E'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (g'' x)))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.bound_of_is_O_nat_at_top Asymptotics.bound_of_isBigO_nat_atTopₓ'. -/
 theorem bound_of_isBigO_nat_atTop {f : ℕ → E} {g'' : ℕ → E''} (h : f =O[atTop] g'') :
     ∃ C > 0, ∀ ⦃x⦄, g'' x ≠ 0 → ‖f x‖ ≤ C * ‖g'' x‖ :=
   bound_of_isBigO_cofinite <| by rwa [Nat.cofinite_eq_atTop]
 #align asymptotics.bound_of_is_O_nat_at_top Asymptotics.bound_of_isBigO_nat_atTop
 
-/- warning: asymptotics.is_O_nat_at_top_iff -> Asymptotics.isBigO_nat_atTop_iff is a dubious translation:
-lean 3 declaration is
-  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : Nat -> E''} {g : Nat -> F''}, (forall (x : Nat), (Eq.{succ u2} F'' (g x) (OfNat.ofNat.{u2} F'' 0 (OfNat.mk.{u2} F'' 0 (Zero.zero.{u2} F'' (AddZeroClass.toHasZero.{u2} F'' (AddMonoid.toAddZeroClass.{u2} F'' (SubNegMonoid.toAddMonoid.{u2} F'' (AddGroup.toSubNegMonoid.{u2} F'' (NormedAddGroup.toAddGroup.{u2} F'' (NormedAddCommGroup.toNormedAddGroup.{u2} F'' _inst_8)))))))))) -> (Eq.{succ u1} E'' (f x) (OfNat.ofNat.{u1} E'' 0 (OfNat.mk.{u1} E'' 0 (Zero.zero.{u1} E'' (AddZeroClass.toHasZero.{u1} E'' (AddMonoid.toAddZeroClass.{u1} E'' (SubNegMonoid.toAddMonoid.{u1} E'' (AddGroup.toSubNegMonoid.{u1} E'' (NormedAddGroup.toAddGroup.{u1} E'' (NormedAddCommGroup.toNormedAddGroup.{u1} E'' _inst_7))))))))))) -> (Iff (Asymptotics.IsBigO.{0, u1, u2} Nat E'' F'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) f g) (Exists.{1} Real (fun (C : Real) => forall (x : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u2} F'' (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) (g x))))))
-but is expected to have type
-  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : Nat -> E''} {g : Nat -> F''}, (forall (x : Nat), (Eq.{succ u2} F'' (g x) (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) -> (Eq.{succ u1} E'' (f x) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7)))))))))) -> (Iff (Asymptotics.IsBigO.{0, u1, u2} Nat E'' F'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) f g) (Exists.{1} Real (fun (C : Real) => forall (x : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} E'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u2} F'' (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (g x))))))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_nat_at_top_iff Asymptotics.isBigO_nat_atTop_iffₓ'. -/
 theorem isBigO_nat_atTop_iff {f : ℕ → E''} {g : ℕ → F''} (h : ∀ x, g x = 0 → f x = 0) :
     f =O[atTop] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ := by
   rw [← Nat.cofinite_eq_atTop, is_O_cofinite_iff h]
 #align asymptotics.is_O_nat_at_top_iff Asymptotics.isBigO_nat_atTop_iff
 
-/- warning: asymptotics.is_O_one_nat_at_top_iff -> Asymptotics.isBigO_one_nat_atTop_iff is a dubious translation:
-lean 3 declaration is
-  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] {f : Nat -> E''}, Iff (Asymptotics.IsBigO.{0, u1, 0} Nat E'' Real (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) Real.hasNorm (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) f (fun (n : Nat) => OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) (Exists.{1} Real (fun (C : Real) => forall (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (f n)) C))
-but is expected to have type
-  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] {f : Nat -> E''}, Iff (Asymptotics.IsBigO.{0, u1, 0} Nat E'' Real (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) Real.norm (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) f (fun (n : Nat) => OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (Exists.{1} Real (fun (C : Real) => forall (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} E'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (f n)) C))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_one_nat_at_top_iff Asymptotics.isBigO_one_nat_atTop_iffₓ'. -/
 theorem isBigO_one_nat_atTop_iff {f : ℕ → E''} :
     f =O[atTop] (fun n => 1 : ℕ → ℝ) ↔ ∃ C, ∀ n, ‖f n‖ ≤ C :=
   Iff.trans (isBigO_nat_atTop_iff fun n h => (one_ne_zero h).elim) <| by
     simp only [norm_one, mul_one]
 #align asymptotics.is_O_one_nat_at_top_iff Asymptotics.isBigO_one_nat_atTop_iff
 
-/- warning: asymptotics.is_O_with_pi -> Asymptotics.isBigOWith_pi is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] {g' : α -> F'} {l : Filter.{u1} α} {ι : Type.{u3}} [_inst_14 : Fintype.{u3} ι] {E' : ι -> Type.{u4}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u4} (E' i)] {f : α -> (forall (i : ι), E' i)} {C : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) C) -> (Iff (Asymptotics.IsBigOWith.{u1, max u3 u4, u2} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toHasNorm.{max u3 u4} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u3, u4} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) C l f g') (forall (i : ι), Asymptotics.IsBigOWith.{u1, u4, u2} α (E' i) F' (NormedAddCommGroup.toHasNorm.{u4} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) C l (fun (x : α) => f x i) g'))
-but is expected to have type
-  forall {α : Type.{u2}} {F' : Type.{u1}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] {g' : α -> F'} {l : Filter.{u2} α} {ι : Type.{u4}} [_inst_14 : Fintype.{u4} ι] {E' : ι -> Type.{u3}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u3} (E' i)] {f : α -> (forall (i : ι), E' i)} {C : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) C) -> (Iff (Asymptotics.IsBigOWith.{u2, max u4 u3, u1} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toNorm.{max u4 u3} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u4, u3} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) C l f g') (forall (i : ι), Asymptotics.IsBigOWith.{u2, u3, u1} α (E' i) F' (NormedAddCommGroup.toNorm.{u3} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) C l (fun (x : α) => f x i) g'))
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_pi Asymptotics.isBigOWith_piₓ'. -/
 theorem isBigOWith_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} {C : ℝ} (hC : 0 ≤ C) :
     IsBigOWith C l f g' ↔ ∀ i, IsBigOWith C l (fun x => f x i) g' :=
@@ -4239,12 +2115,6 @@ theorem isBigOWith_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, No
   simp only [is_O_with_iff, pi_norm_le_iff_of_nonneg (this _), eventually_all]
 #align asymptotics.is_O_with_pi Asymptotics.isBigOWith_pi
 
-/- warning: asymptotics.is_O_pi -> Asymptotics.isBigO_pi is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] {g' : α -> F'} {l : Filter.{u1} α} {ι : Type.{u3}} [_inst_14 : Fintype.{u3} ι] {E' : ι -> Type.{u4}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u4} (E' i)] {f : α -> (forall (i : ι), E' i)}, Iff (Asymptotics.IsBigO.{u1, max u3 u4, u2} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toHasNorm.{max u3 u4} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u3, u4} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f g') (forall (i : ι), Asymptotics.IsBigO.{u1, u4, u2} α (E' i) F' (NormedAddCommGroup.toHasNorm.{u4} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l (fun (x : α) => f x i) g')
-but is expected to have type
-  forall {α : Type.{u2}} {F' : Type.{u1}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] {g' : α -> F'} {l : Filter.{u2} α} {ι : Type.{u4}} [_inst_14 : Fintype.{u4} ι] {E' : ι -> Type.{u3}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u3} (E' i)] {f : α -> (forall (i : ι), E' i)}, Iff (Asymptotics.IsBigO.{u2, max u4 u3, u1} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toNorm.{max u4 u3} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u4, u3} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (forall (i : ι), Asymptotics.IsBigO.{u2, u3, u1} α (E' i) F' (NormedAddCommGroup.toNorm.{u3} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => f x i) g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_pi Asymptotics.isBigO_piₓ'. -/
 @[simp]
 theorem isBigO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} : f =O[l] g' ↔ ∀ i, (fun x => f x i) =O[l] g' :=
@@ -4253,12 +2123,6 @@ theorem isBigO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, Normed
   exact eventually_congr (eventually_at_top.2 ⟨0, fun c => is_O_with_pi⟩)
 #align asymptotics.is_O_pi Asymptotics.isBigO_pi
 
-/- warning: asymptotics.is_o_pi -> Asymptotics.isLittleO_pi is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] {g' : α -> F'} {l : Filter.{u1} α} {ι : Type.{u3}} [_inst_14 : Fintype.{u3} ι] {E' : ι -> Type.{u4}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u4} (E' i)] {f : α -> (forall (i : ι), E' i)}, Iff (Asymptotics.IsLittleO.{u1, max u3 u4, u2} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toHasNorm.{max u3 u4} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u3, u4} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f g') (forall (i : ι), Asymptotics.IsLittleO.{u1, u4, u2} α (E' i) F' (NormedAddCommGroup.toHasNorm.{u4} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l (fun (x : α) => f x i) g')
-but is expected to have type
-  forall {α : Type.{u2}} {F' : Type.{u1}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] {g' : α -> F'} {l : Filter.{u2} α} {ι : Type.{u4}} [_inst_14 : Fintype.{u4} ι] {E' : ι -> Type.{u3}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u3} (E' i)] {f : α -> (forall (i : ι), E' i)}, Iff (Asymptotics.IsLittleO.{u2, max u4 u3, u1} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toNorm.{max u4 u3} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u4, u3} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (forall (i : ι), Asymptotics.IsLittleO.{u2, u3, u1} α (E' i) F' (NormedAddCommGroup.toNorm.{u3} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => f x i) g')
-Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pi Asymptotics.isLittleO_piₓ'. -/
 @[simp]
 theorem isLittleO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} : f =o[l] g' ↔ ∀ i, (fun x => f x i) =o[l] g' :=
@@ -4271,24 +2135,12 @@ end Asymptotics
 
 open Asymptotics
 
-/- warning: summable_of_is_O -> summable_of_isBigO is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : CompleteSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))] {f : ι -> E} {g : ι -> Real}, (Summable.{0, u1} Real ι Real.addCommMonoid (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) g) -> (Asymptotics.IsBigO.{u1, u2, 0} ι E Real (NormedAddCommGroup.toHasNorm.{u2} E _inst_1) Real.hasNorm (Filter.cofinite.{u1} ι) f g) -> (Summable.{u2, u1} E ι (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1)) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) f)
-but is expected to have type
-  forall {ι : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : CompleteSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))] {f : ι -> E} {g : ι -> Real}, (Summable.{0, u2} Real ι Real.instAddCommMonoidReal (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) g) -> (Asymptotics.IsBigO.{u2, u1, 0} ι E Real (NormedAddCommGroup.toNorm.{u1} E _inst_1) Real.norm (Filter.cofinite.{u2} ι) f g) -> (Summable.{u1, u2} E ι (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1)) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) f)
-Case conversion may be inaccurate. Consider using '#align summable_of_is_O summable_of_isBigOₓ'. -/
 theorem summable_of_isBigO {ι E} [NormedAddCommGroup E] [CompleteSpace E] {f : ι → E} {g : ι → ℝ}
     (hg : Summable g) (h : f =O[cofinite] g) : Summable f :=
   let ⟨C, hC⟩ := h.IsBigOWith
   summable_of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.mul_left _) hC.bound
 #align summable_of_is_O summable_of_isBigO
 
-/- warning: summable_of_is_O_nat -> summable_of_isBigO_nat is a dubious translation:
-lean 3 declaration is
-  forall {E : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : CompleteSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))] {f : Nat -> E} {g : Nat -> Real}, (Summable.{0, 0} Real Nat Real.addCommMonoid (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) g) -> (Asymptotics.IsBigO.{0, u1, 0} Nat E Real (NormedAddCommGroup.toHasNorm.{u1} E _inst_1) Real.hasNorm (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) f g) -> (Summable.{u1, 0} E Nat (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1)) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) f)
-but is expected to have type
-  forall {E : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : CompleteSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))] {f : Nat -> E} {g : Nat -> Real}, (Summable.{0, 0} Real Nat Real.instAddCommMonoidReal (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) g) -> (Asymptotics.IsBigO.{0, u1, 0} Nat E Real (NormedAddCommGroup.toNorm.{u1} E _inst_1) Real.norm (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) f g) -> (Summable.{u1, 0} E Nat (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1)) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) f)
-Case conversion may be inaccurate. Consider using '#align summable_of_is_O_nat summable_of_isBigO_natₓ'. -/
 theorem summable_of_isBigO_nat {E} [NormedAddCommGroup E] [CompleteSpace E] {f : ℕ → E} {g : ℕ → ℝ}
     (hg : Summable g) (h : f =O[atTop] g) : Summable f :=
   summable_of_isBigO hg <| Nat.cofinite_eq_atTop.symm ▸ h
@@ -4300,12 +2152,6 @@ variable {α : Type _} {β : Type _} [TopologicalSpace α] [TopologicalSpace β]
 
 variable {E : Type _} [Norm E] {F : Type _} [Norm F]
 
-/- warning: local_homeomorph.is_O_with_congr -> LocalHomeomorph.isBigOWith_congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β}, (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) b (LocalEquiv.target.{u1, u2} α β (LocalHomeomorph.toLocalEquiv.{u1, u2} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F} {C : Real}, Iff (Asymptotics.IsBigOWith.{u2, u3, u4} β E F _inst_3 _inst_4 C (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsBigOWith.{u1, u3, u4} α E F _inst_3 _inst_4 C (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (LocalHomeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (LocalHomeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e))))
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : LocalHomeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β}, (Membership.mem.{u3, u3} β (Set.{u3} β) (Set.instMembershipSet.{u3} β) b (LocalEquiv.target.{u4, u3} α β (LocalHomeomorph.toLocalEquiv.{u4, u3} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F} {C : Real}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} β E F _inst_3 _inst_4 C (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsBigOWith.{u4, u2, u1} α E F _inst_3 _inst_4 C (nhds.{u4} α _inst_1 (LocalHomeomorph.toFun'.{u3, u4} β α _inst_2 _inst_1 (LocalHomeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e))))
-Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_O_with_congr LocalHomeomorph.isBigOWith_congrₓ'. -/
 /-- Transfer `is_O_with` over a `local_homeomorph`. -/
 theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
     {g : β → F} {C : ℝ} : IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
@@ -4317,24 +2163,12 @@ theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.targ
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg g hx)⟩
 #align local_homeomorph.is_O_with_congr LocalHomeomorph.isBigOWith_congr
 
-/- warning: local_homeomorph.is_O_congr -> LocalHomeomorph.isBigO_congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β}, (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) b (LocalEquiv.target.{u1, u2} α β (LocalHomeomorph.toLocalEquiv.{u1, u2} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsBigO.{u2, u3, u4} β E F _inst_3 _inst_4 (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsBigO.{u1, u3, u4} α E F _inst_3 _inst_4 (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (LocalHomeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (LocalHomeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e))))
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : LocalHomeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β}, (Membership.mem.{u3, u3} β (Set.{u3} β) (Set.instMembershipSet.{u3} β) b (LocalEquiv.target.{u4, u3} α β (LocalHomeomorph.toLocalEquiv.{u4, u3} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsBigO.{u3, u2, u1} β E F _inst_3 _inst_4 (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsBigO.{u4, u2, u1} α E F _inst_3 _inst_4 (nhds.{u4} α _inst_1 (LocalHomeomorph.toFun'.{u3, u4} β α _inst_2 _inst_1 (LocalHomeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e))))
-Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_O_congr LocalHomeomorph.isBigO_congrₓ'. -/
 /-- Transfer `is_O` over a `local_homeomorph`. -/
 theorem isBigO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F} :
     f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by unfold is_O;
   exact exists_congr fun C => e.is_O_with_congr hb
 #align local_homeomorph.is_O_congr LocalHomeomorph.isBigO_congr
 
-/- warning: local_homeomorph.is_o_congr -> LocalHomeomorph.isLittleO_congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β}, (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) b (LocalEquiv.target.{u1, u2} α β (LocalHomeomorph.toLocalEquiv.{u1, u2} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsLittleO.{u2, u3, u4} β E F _inst_3 _inst_4 (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsLittleO.{u1, u3, u4} α E F _inst_3 _inst_4 (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (LocalHomeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (LocalHomeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e))))
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : LocalHomeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β}, (Membership.mem.{u3, u3} β (Set.{u3} β) (Set.instMembershipSet.{u3} β) b (LocalEquiv.target.{u4, u3} α β (LocalHomeomorph.toLocalEquiv.{u4, u3} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} β E F _inst_3 _inst_4 (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsLittleO.{u4, u2, u1} α E F _inst_3 _inst_4 (nhds.{u4} α _inst_1 (LocalHomeomorph.toFun'.{u3, u4} β α _inst_2 _inst_1 (LocalHomeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e))))
-Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_o_congr LocalHomeomorph.isLittleO_congrₓ'. -/
 /-- Transfer `is_o` over a `local_homeomorph`. -/
 theorem isLittleO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
     {g : β → F} : f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) := by unfold is_o;
@@ -4351,36 +2185,18 @@ variable {E : Type _} [Norm E] {F : Type _} [Norm F]
 
 open Asymptotics
 
-/- warning: homeomorph.is_O_with_congr -> Homeomorph.isBigOWith_congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : Homeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F} {C : Real}, Iff (Asymptotics.IsBigOWith.{u2, u3, u4} β E F _inst_3 _inst_4 C (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsBigOWith.{u1, u3, u4} α E F _inst_3 _inst_4 C (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Homeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : Homeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (Homeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (Homeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)))
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : Homeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F} {C : Real}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} β E F _inst_3 _inst_4 C (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsBigOWith.{u4, u2, u1} α E F _inst_3 _inst_4 C (nhds.{u4} α _inst_1 (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β (fun (_x : β) => α) (EmbeddingLike.toFunLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (EquivLike.toEmbeddingLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (Homeomorph.instEquivLikeHomeomorph.{u3, u4} β α _inst_2 _inst_1))) (Homeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)))
-Case conversion may be inaccurate. Consider using '#align homeomorph.is_O_with_congr Homeomorph.isBigOWith_congrₓ'. -/
 /-- Transfer `is_O_with` over a `homeomorph`. -/
 theorem isBigOWith_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} {C : ℝ} :
     IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
   e.toLocalHomeomorph.isBigOWith_congr trivial
 #align homeomorph.is_O_with_congr Homeomorph.isBigOWith_congr
 
-/- warning: homeomorph.is_O_congr -> Homeomorph.isBigO_congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : Homeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsBigO.{u2, u3, u4} β E F _inst_3 _inst_4 (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsBigO.{u1, u3, u4} α E F _inst_3 _inst_4 (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Homeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : Homeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (Homeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (Homeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)))
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : Homeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsBigO.{u3, u2, u1} β E F _inst_3 _inst_4 (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsBigO.{u4, u2, u1} α E F _inst_3 _inst_4 (nhds.{u4} α _inst_1 (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β (fun (_x : β) => α) (EmbeddingLike.toFunLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (EquivLike.toEmbeddingLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (Homeomorph.instEquivLikeHomeomorph.{u3, u4} β α _inst_2 _inst_1))) (Homeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)))
-Case conversion may be inaccurate. Consider using '#align homeomorph.is_O_congr Homeomorph.isBigO_congrₓ'. -/
 /-- Transfer `is_O` over a `homeomorph`. -/
 theorem isBigO_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
     f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by unfold is_O;
   exact exists_congr fun C => e.is_O_with_congr
 #align homeomorph.is_O_congr Homeomorph.isBigO_congr
 
-/- warning: homeomorph.is_o_congr -> Homeomorph.isLittleO_congr is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : Homeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsLittleO.{u2, u3, u4} β E F _inst_3 _inst_4 (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsLittleO.{u1, u3, u4} α E F _inst_3 _inst_4 (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Homeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : Homeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (Homeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (Homeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)))
-but is expected to have type
-  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : Homeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} β E F _inst_3 _inst_4 (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsLittleO.{u4, u2, u1} α E F _inst_3 _inst_4 (nhds.{u4} α _inst_1 (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β (fun (_x : β) => α) (EmbeddingLike.toFunLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (EquivLike.toEmbeddingLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (Homeomorph.instEquivLikeHomeomorph.{u3, u4} β α _inst_2 _inst_1))) (Homeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)))
-Case conversion may be inaccurate. Consider using '#align homeomorph.is_o_congr Homeomorph.isLittleO_congrₓ'. -/
 /-- Transfer `is_o` over a `homeomorph`. -/
 theorem isLittleO_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
     f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) := by unfold is_o;
Diff
@@ -173,9 +173,7 @@ but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u1} F _inst_2 (g x))) l) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_bound' Asymptotics.IsBigO.of_bound'ₓ'. -/
 theorem IsBigO.of_bound' (h : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖) : f =O[l] g :=
-  IsBigO.of_bound 1 <| by
-    simp_rw [one_mul]
-    exact h
+  IsBigO.of_bound 1 <| by simp_rw [one_mul]; exact h
 #align asymptotics.is_O.of_bound' Asymptotics.IsBigO.of_bound'
 
 /- warning: asymptotics.is_O.bound -> Asymptotics.IsBigO.bound is a dubious translation:
@@ -581,10 +579,8 @@ lean 3 declaration is
 but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_congr Asymptotics.isBigO_congrₓ'. -/
-theorem isBigO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =O[l] g₁ ↔ f₂ =O[l] g₂ :=
-  by
-  unfold is_O
-  exact exists_congr fun c => is_O_with_congr rfl hf hg
+theorem isBigO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =O[l] g₁ ↔ f₂ =O[l] g₂ := by
+  unfold is_O; exact exists_congr fun c => is_O_with_congr rfl hf hg
 #align asymptotics.is_O_congr Asymptotics.isBigO_congr
 
 /- warning: asymptotics.is_O.congr' -> Asymptotics.IsBigO.congr' is a dubious translation:
@@ -634,10 +630,8 @@ lean 3 declaration is
 but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_congr Asymptotics.isLittleO_congrₓ'. -/
-theorem isLittleO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =o[l] g₁ ↔ f₂ =o[l] g₂ :=
-  by
-  unfold is_o
-  exact forall₂_congr fun c hc => is_O_with_congr (Eq.refl c) hf hg
+theorem isLittleO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =o[l] g₁ ↔ f₂ =o[l] g₂ := by
+  unfold is_o; exact forall₂_congr fun c hc => is_O_with_congr (Eq.refl c) hf hg
 #align asymptotics.is_o_congr Asymptotics.isLittleO_congr
 
 /- warning: asymptotics.is_o.congr' -> Asymptotics.IsLittleO.congr' is a dubious translation:
@@ -775,9 +769,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_map Asymptotics.isBigOWith_mapₓ'. -/
 @[simp]
 theorem isBigOWith_map {k : β → α} {l : Filter β} :
-    IsBigOWith c (map k l) f g ↔ IsBigOWith c l (f ∘ k) (g ∘ k) :=
-  by
-  unfold is_O_with
+    IsBigOWith c (map k l) f g ↔ IsBigOWith c l (f ∘ k) (g ∘ k) := by unfold is_O_with;
   exact eventually_map
 #align asymptotics.is_O_with_map Asymptotics.isBigOWith_map
 
@@ -973,9 +965,7 @@ but is expected to have type
   forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (Norm.norm.{u2} F _inst_2 (g x))) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E F _inst_1 _inst_2 (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l f g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_of_le Asymptotics.isBigOWith_of_leₓ'. -/
 theorem isBigOWith_of_le (hfg : ∀ x, ‖f x‖ ≤ ‖g x‖) : IsBigOWith 1 l f g :=
-  isBigOWith_of_le' l fun x => by
-    rw [one_mul]
-    exact hfg x
+  isBigOWith_of_le' l fun x => by rw [one_mul]; exact hfg x
 #align asymptotics.is_O_with_of_le Asymptotics.isBigOWith_of_le
 
 /- warning: asymptotics.is_O_of_le' -> Asymptotics.isBigO_of_le' is a dubious translation:
@@ -1330,9 +1320,7 @@ but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_norm_right Asymptotics.isBigO_norm_rightₓ'. -/
 @[simp]
-theorem isBigO_norm_right : (f =O[l] fun x => ‖g' x‖) ↔ f =O[l] g' :=
-  by
-  unfold is_O
+theorem isBigO_norm_right : (f =O[l] fun x => ‖g' x‖) ↔ f =O[l] g' := by unfold is_O;
   exact exists_congr fun _ => is_O_with_norm_right
 #align asymptotics.is_O_norm_right Asymptotics.isBigO_norm_right
 
@@ -1386,9 +1374,7 @@ but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_right Asymptotics.isLittleO_norm_rightₓ'. -/
 @[simp]
-theorem isLittleO_norm_right : (f =o[l] fun x => ‖g' x‖) ↔ f =o[l] g' :=
-  by
-  unfold is_o
+theorem isLittleO_norm_right : (f =o[l] fun x => ‖g' x‖) ↔ f =o[l] g' := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_norm_right
 #align asymptotics.is_o_norm_right Asymptotics.isLittleO_norm_right
 
@@ -1496,9 +1482,7 @@ but is expected to have type
   forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) (Asymptotics.IsBigO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_norm_left Asymptotics.isBigO_norm_leftₓ'. -/
 @[simp]
-theorem isBigO_norm_left : (fun x => ‖f' x‖) =O[l] g ↔ f' =O[l] g :=
-  by
-  unfold is_O
+theorem isBigO_norm_left : (fun x => ‖f' x‖) =O[l] g ↔ f' =O[l] g := by unfold is_O;
   exact exists_congr fun _ => is_O_with_norm_left
 #align asymptotics.is_O_norm_left Asymptotics.isBigO_norm_left
 
@@ -1552,9 +1536,7 @@ but is expected to have type
   forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) (Asymptotics.IsLittleO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_left Asymptotics.isLittleO_norm_leftₓ'. -/
 @[simp]
-theorem isLittleO_norm_left : (fun x => ‖f' x‖) =o[l] g ↔ f' =o[l] g :=
-  by
-  unfold is_o
+theorem isLittleO_norm_left : (fun x => ‖f' x‖) =o[l] g ↔ f' =o[l] g := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_norm_left
 #align asymptotics.is_o_norm_left Asymptotics.isLittleO_norm_left
 
@@ -1798,9 +1780,7 @@ but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_neg_right Asymptotics.isBigO_neg_rightₓ'. -/
 @[simp]
-theorem isBigO_neg_right : (f =O[l] fun x => -g' x) ↔ f =O[l] g' :=
-  by
-  unfold is_O
+theorem isBigO_neg_right : (f =O[l] fun x => -g' x) ↔ f =O[l] g' := by unfold is_O;
   exact exists_congr fun _ => is_O_with_neg_right
 #align asymptotics.is_O_neg_right Asymptotics.isBigO_neg_right
 
@@ -1827,9 +1807,7 @@ but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_neg_right Asymptotics.isLittleO_neg_rightₓ'. -/
 @[simp]
-theorem isLittleO_neg_right : (f =o[l] fun x => -g' x) ↔ f =o[l] g' :=
-  by
-  unfold is_o
+theorem isLittleO_neg_right : (f =o[l] fun x => -g' x) ↔ f =o[l] g' := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_neg_right
 #align asymptotics.is_o_neg_right Asymptotics.isLittleO_neg_right
 
@@ -1883,9 +1861,7 @@ but is expected to have type
   forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_neg_left Asymptotics.isBigO_neg_leftₓ'. -/
 @[simp]
-theorem isBigO_neg_left : (fun x => -f' x) =O[l] g ↔ f' =O[l] g :=
-  by
-  unfold is_O
+theorem isBigO_neg_left : (fun x => -f' x) =O[l] g ↔ f' =O[l] g := by unfold is_O;
   exact exists_congr fun _ => is_O_with_neg_left
 #align asymptotics.is_O_neg_left Asymptotics.isBigO_neg_left
 
@@ -1912,9 +1888,7 @@ but is expected to have type
   forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_neg_left Asymptotics.isLittleO_neg_leftₓ'. -/
 @[simp]
-theorem isLittleO_neg_left : (fun x => -f' x) =o[l] g ↔ f' =o[l] g :=
-  by
-  unfold is_o
+theorem isLittleO_neg_left : (fun x => -f' x) =o[l] g ↔ f' =o[l] g := by unfold is_o;
   exact forall₂_congr fun _ _ => is_O_with_neg_left
 #align asymptotics.is_o_neg_left Asymptotics.isLittleO_neg_left
 
@@ -2784,9 +2758,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iffₓ'. -/
 @[simp]
 theorem isBigO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ :=
-  by
-  simp only [is_O_iff, norm_one, mul_one]
-  rfl
+  by simp only [is_O_iff, norm_one, mul_one]; rfl
 #align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iff
 
 /- warning: filter.is_bounded_under.is_O_one -> Filter.IsBoundedUnder.isBigO_one is a dubious translation:
@@ -3524,8 +3496,7 @@ Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const
 theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =O[l] g ↔ f' =O[l] g :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
-  rw [← is_O_norm_left]
-  simp only [norm_smul]
+  rw [← is_O_norm_left]; simp only [norm_smul]
   rw [is_O_const_mul_left_iff cne0, is_O_norm_left]
 #align asymptotics.is_O_const_smul_left Asymptotics.isBigO_const_smul_left
 
@@ -3535,8 +3506,7 @@ Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const
 theorem isLittleO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =o[l] g ↔ f' =o[l] g :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
-  rw [← is_o_norm_left]
-  simp only [norm_smul]
+  rw [← is_o_norm_left]; simp only [norm_smul]
   rw [is_o_const_mul_left_iff cne0, is_o_norm_left]
 #align asymptotics.is_o_const_smul_left Asymptotics.isLittleO_const_smul_left
 
@@ -3546,8 +3516,7 @@ Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const
 theorem isBigO_const_smul_right {c : 𝕜} (hc : c ≠ 0) : (f =O[l] fun x => c • f' x) ↔ f =O[l] f' :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
-  rw [← is_O_norm_right]
-  simp only [norm_smul]
+  rw [← is_O_norm_right]; simp only [norm_smul]
   rw [is_O_const_mul_right_iff cne0, is_O_norm_right]
 #align asymptotics.is_O_const_smul_right Asymptotics.isBigO_const_smul_right
 
@@ -3558,8 +3527,7 @@ theorem isLittleO_const_smul_right {c : 𝕜} (hc : c ≠ 0) :
     (f =o[l] fun x => c • f' x) ↔ f =o[l] f' :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
-  rw [← is_o_norm_right]
-  simp only [norm_smul]
+  rw [← is_o_norm_right]; simp only [norm_smul]
   rw [is_o_const_mul_right_iff cne0, is_o_norm_right]
 #align asymptotics.is_o_const_smul_right Asymptotics.isLittleO_const_smul_right
 
@@ -3966,8 +3934,7 @@ theorem isLittleO_iff_exists_eq_mul :
   by
   constructor
   · exact fun h => ⟨fun x => u x / v x, h.tendsto_div_nhds_zero, h.eventually_mul_div_cancel.symm⟩
-  · unfold is_o
-    rintro ⟨φ, hφ, huvφ⟩ c hpos
+  · unfold is_o; rintro ⟨φ, hφ, huvφ⟩ c hpos
     rw [NormedAddCommGroup.tendsto_nhds_zero] at hφ
     exact is_O_with_of_eq_mul _ ((hφ c hpos).mono fun x => le_of_lt) huvφ
 #align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mul
@@ -4076,10 +4043,8 @@ lean 3 declaration is
 but is expected to have type
   forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) n) -> (Asymptotics.IsLittleO.{u1, u1, u1} 𝕜 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) x n) (fun (x : 𝕜) => x))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pow_id Asymptotics.isLittleO_pow_idₓ'. -/
-theorem isLittleO_pow_id {n : ℕ} (h : 1 < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x :=
-  by
-  convert is_o_pow_pow h
-  simp only [pow_one]
+theorem isLittleO_pow_id {n : ℕ} (h : 1 < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x := by
+  convert is_o_pow_pow h; simp only [pow_one]
 #align asymptotics.is_o_pow_id Asymptotics.isLittleO_pow_id
 
 /- warning: asymptotics.is_o_norm_pow_id -> Asymptotics.isLittleO_norm_pow_id is a dubious translation:
@@ -4110,10 +4075,8 @@ but is expected to have type
   forall {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : E'' -> F''} {x₀ : E''} {n : Nat}, (Asymptotics.IsBigO.{u2, u1, 0} E'' F'' Real (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) Real.norm (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) x₀) f (fun (x : E'') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (HSub.hSub.{u2, u2, u2} E'' E'' E'' (instHSub.{u2} E'' (SubNegMonoid.toSub.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))) x x₀)) n)) -> (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u1} F'' (f x₀) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8)))))))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_powₓ'. -/
 theorem IsBigO.eq_zero_of_norm_pow {f : E'' → F''} {x₀ : E''} {n : ℕ}
-    (h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n) (hn : 0 < n) : f x₀ = 0 :=
-  by
-  rw [← nhdsWithin_univ] at h
-  exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
+    (h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n) (hn : 0 < n) : f x₀ = 0 := by
+  rw [← nhdsWithin_univ] at h; exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
 #align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_pow
 
 /- warning: asymptotics.is_o_pow_sub_pow_sub -> Asymptotics.isLittleO_pow_sub_pow_sub is a dubious translation:
@@ -4347,9 +4310,7 @@ Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_O_
 theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
     {g : β → F} {C : ℝ} : IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
   ⟨fun h =>
-    h.comp_tendsto <| by
-      convert e.continuous_at (e.map_target hb)
-      exact (e.right_inv hb).symm,
+    h.comp_tendsto <| by convert e.continuous_at (e.map_target hb); exact (e.right_inv hb).symm,
     fun h =>
     (h.comp_tendsto (e.continuousAt_symm hb)).congr' rfl
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg f hx)
@@ -4364,9 +4325,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_O_congr LocalHomeomorph.isBigO_congrₓ'. -/
 /-- Transfer `is_O` over a `local_homeomorph`. -/
 theorem isBigO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F} :
-    f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) :=
-  by
-  unfold is_O
+    f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by unfold is_O;
   exact exists_congr fun C => e.is_O_with_congr hb
 #align local_homeomorph.is_O_congr LocalHomeomorph.isBigO_congr
 
@@ -4378,9 +4337,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_o_congr LocalHomeomorph.isLittleO_congrₓ'. -/
 /-- Transfer `is_o` over a `local_homeomorph`. -/
 theorem isLittleO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
-    {g : β → F} : f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) :=
-  by
-  unfold is_o
+    {g : β → F} : f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) := by unfold is_o;
   exact forall₂_congr fun c hc => e.is_O_with_congr hb
 #align local_homeomorph.is_o_congr LocalHomeomorph.isLittleO_congr
 
@@ -4414,9 +4371,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align homeomorph.is_O_congr Homeomorph.isBigO_congrₓ'. -/
 /-- Transfer `is_O` over a `homeomorph`. -/
 theorem isBigO_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
-    f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) :=
-  by
-  unfold is_O
+    f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by unfold is_O;
   exact exists_congr fun C => e.is_O_with_congr
 #align homeomorph.is_O_congr Homeomorph.isBigO_congr
 
@@ -4428,9 +4383,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align homeomorph.is_o_congr Homeomorph.isLittleO_congrₓ'. -/
 /-- Transfer `is_o` over a `homeomorph`. -/
 theorem isLittleO_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
-    f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) :=
-  by
-  unfold is_o
+    f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) := by unfold is_o;
   exact forall₂_congr fun c hc => e.is_O_with_congr
 #align homeomorph.is_o_congr Homeomorph.isLittleO_congr
 
Diff
@@ -3495,10 +3495,7 @@ section SmulConst
 variable [NormedSpace 𝕜 E']
 
 /- warning: asymptotics.is_O_with.const_smul_left -> Asymptotics.IsBigOWith.const_smul_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g) -> (forall (c' : 𝕜), Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u4} 𝕜 (NormedField.toHasNorm.{u4} 𝕜 _inst_12) c') c) l (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c' (f' x)) g)
-but is expected to have type
-  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigOWith.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 c l f' g) -> (forall (c' : 𝕜), Asymptotics.IsBigOWith.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) c') c) l (fun (x : α) => HSMul.hSMul.{u1, u3, u3} 𝕜 E' E' (instHSMul.{u1, u3} 𝕜 E' (SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c' (f' x)) g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_smul_left Asymptotics.IsBigOWith.const_smul_leftₓ'. -/
 theorem IsBigOWith.const_smul_left (h : IsBigOWith c l f' g) (c' : 𝕜) :
     IsBigOWith (‖c'‖ * c) l (fun x => c' • f' x) g :=
@@ -3507,10 +3504,7 @@ theorem IsBigOWith.const_smul_left (h : IsBigOWith c l f' g) (c' : 𝕜) :
 #align asymptotics.is_O_with.const_smul_left Asymptotics.IsBigOWith.const_smul_left
 
 /- warning: asymptotics.is_O.const_smul_left -> Asymptotics.IsBigO.const_smul_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (SMul.smul.{u4, max u1 u3} 𝕜 (α -> E') (Function.hasSMul.{u1, u4, u3} α 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c f') g)
-but is expected to have type
-  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45074 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_leftₓ'. -/
 theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g :=
   let ⟨b, hb⟩ := h.IsBigOWith
@@ -3518,20 +3512,14 @@ theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g
 #align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_left
 
 /- warning: asymptotics.is_o.const_smul_left -> Asymptotics.IsLittleO.const_smul_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (SMul.smul.{u4, max u1 u3} 𝕜 (α -> E') (Function.hasSMul.{u1, u4, u3} α 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c f') g)
-but is expected to have type
-  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45220 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_leftₓ'. -/
 theorem IsLittleO.const_smul_left (h : f' =o[l] g) (c : 𝕜) : (c • f') =o[l] g :=
   IsLittleO.of_norm_left <| by simpa only [← norm_smul] using h.norm_left.const_mul_left ‖c‖
 #align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_left
 
 /- warning: asymptotics.is_O_const_smul_left -> Asymptotics.isBigO_const_smul_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (OfNat.mk.{u4} 𝕜 0 (Zero.zero.{u4} 𝕜 (MulZeroClass.toHasZero.{u4} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u4} 𝕜 (Ring.toNonAssocRing.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c (f' x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g))
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (Zero.toOfNat0.{u4} 𝕜 (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c (f' x)) g) (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_smul_left Asymptotics.isBigO_const_smul_leftₓ'. -/
 theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =O[l] g ↔ f' =O[l] g :=
   by
@@ -3542,10 +3530,7 @@ theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x)
 #align asymptotics.is_O_const_smul_left Asymptotics.isBigO_const_smul_left
 
 /- warning: asymptotics.is_o_const_smul_left -> Asymptotics.isLittleO_const_smul_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (OfNat.mk.{u4} 𝕜 0 (Zero.zero.{u4} 𝕜 (MulZeroClass.toHasZero.{u4} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u4} 𝕜 (Ring.toNonAssocRing.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c (f' x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g))
-but is expected to have type
-  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (Zero.toOfNat0.{u4} 𝕜 (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c (f' x)) g) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_smul_left Asymptotics.isLittleO_const_smul_leftₓ'. -/
 theorem isLittleO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =o[l] g ↔ f' =o[l] g :=
   by
@@ -3556,10 +3541,7 @@ theorem isLittleO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f'
 #align asymptotics.is_o_const_smul_left Asymptotics.isLittleO_const_smul_left
 
 /- warning: asymptotics.is_O_const_smul_right -> Asymptotics.isBigO_const_smul_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {f : α -> E} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (OfNat.mk.{u4} 𝕜 0 (Zero.zero.{u4} 𝕜 (MulZeroClass.toHasZero.{u4} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u4} 𝕜 (Ring.toNonAssocRing.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E E' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) l f (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c (f' x))) (Asymptotics.IsBigO.{u1, u2, u3} α E E' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) l f f'))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {E' : Type.{u1}} {𝕜 : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_12 : NormedField.{u4} 𝕜] {f : α -> E} {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : NormedSpace.{u4, u1} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (Zero.toOfNat0.{u4} 𝕜 (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsBigO.{u3, u2, u1} α E E' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f (fun (x : α) => HSMul.hSMul.{u4, u1, u1} 𝕜 E' E' (instHSMul.{u4, u1} 𝕜 E' (SMulZeroClass.toSMul.{u4, u1} 𝕜 E' (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u1} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u1} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u1} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)) (NormedSpace.toModule.{u4, u1} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c (f' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E E' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f f'))
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_smul_right Asymptotics.isBigO_const_smul_rightₓ'. -/
 theorem isBigO_const_smul_right {c : 𝕜} (hc : c ≠ 0) : (f =O[l] fun x => c • f' x) ↔ f =O[l] f' :=
   by
@@ -3570,10 +3552,7 @@ theorem isBigO_const_smul_right {c : 𝕜} (hc : c ≠ 0) : (f =O[l] fun x => c
 #align asymptotics.is_O_const_smul_right Asymptotics.isBigO_const_smul_right
 
 /- warning: asymptotics.is_o_const_smul_right -> Asymptotics.isLittleO_const_smul_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {f : α -> E} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (OfNat.mk.{u4} 𝕜 0 (Zero.zero.{u4} 𝕜 (MulZeroClass.toHasZero.{u4} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u4} 𝕜 (Ring.toNonAssocRing.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E E' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) l f (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c (f' x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E E' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) l f f'))
-but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {E' : Type.{u1}} {𝕜 : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_12 : NormedField.{u4} 𝕜] {f : α -> E} {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : NormedSpace.{u4, u1} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (Zero.toOfNat0.{u4} 𝕜 (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E E' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f (fun (x : α) => HSMul.hSMul.{u4, u1, u1} 𝕜 E' E' (instHSMul.{u4, u1} 𝕜 E' (SMulZeroClass.toSMul.{u4, u1} 𝕜 E' (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u1} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u1} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u1} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)) (NormedSpace.toModule.{u4, u1} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c (f' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E E' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f f'))
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_smul_right Asymptotics.isLittleO_const_smul_rightₓ'. -/
 theorem isLittleO_const_smul_right {c : 𝕜} (hc : c ≠ 0) :
     (f =o[l] fun x => c • f' x) ↔ f =o[l] f' :=
@@ -3591,10 +3570,7 @@ section Smul
 variable [NormedSpace 𝕜 E'] [NormedSpace 𝕜' F'] {k₁ : α → 𝕜} {k₂ : α → 𝕜'}
 
 /- warning: asymptotics.is_O_with.smul -> Asymptotics.IsBigOWith.smul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {c : Real} {c' : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigOWith.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) c l k₁ k₂) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l f' g') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c c') l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
-but is expected to have type
-  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {c : Real} {c' : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigOWith.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) c l k₁ k₂) -> (Asymptotics.IsBigOWith.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l f' g') -> (Asymptotics.IsBigOWith.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c c') l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.smul Asymptotics.IsBigOWith.smulₓ'. -/
 theorem IsBigOWith.smul (h₁ : IsBigOWith c l k₁ k₂) (h₂ : IsBigOWith c' l f' g') :
     IsBigOWith (c * c') l (fun x => k₁ x • f' x) fun x => k₂ x • g' x := by
@@ -3603,10 +3579,7 @@ theorem IsBigOWith.smul (h₁ : IsBigOWith c l k₁ k₂) (h₂ : IsBigOWith c'
 #align asymptotics.is_O_with.smul Asymptotics.IsBigOWith.smul
 
 /- warning: asymptotics.is_O.smul -> Asymptotics.IsBigO.smul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigO.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
-but is expected to have type
-  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigO.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsBigO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsBigO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.smul Asymptotics.IsBigO.smulₓ'. -/
 theorem IsBigO.smul (h₁ : k₁ =O[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =O[l] fun x => k₂ x • g' x := by
@@ -3615,10 +3588,7 @@ theorem IsBigO.smul (h₁ : k₁ =O[l] k₂) (h₂ : f' =O[l] g') :
 #align asymptotics.is_O.smul Asymptotics.IsBigO.smul
 
 /- warning: asymptotics.is_O.smul_is_o -> Asymptotics.IsBigO.smul_isLittleO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigO.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
-but is expected to have type
-  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigO.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.smul_is_o Asymptotics.IsBigO.smul_isLittleOₓ'. -/
 theorem IsBigO.smul_isLittleO (h₁ : k₁ =O[l] k₂) (h₂ : f' =o[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
@@ -3627,10 +3597,7 @@ theorem IsBigO.smul_isLittleO (h₁ : k₁ =O[l] k₂) (h₂ : f' =o[l] g') :
 #align asymptotics.is_O.smul_is_o Asymptotics.IsBigO.smul_isLittleO
 
 /- warning: asymptotics.is_o.smul_is_O -> Asymptotics.IsLittleO.smul_isBigO is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsLittleO.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
-but is expected to have type
-  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsLittleO.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsBigO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.smul_is_O Asymptotics.IsLittleO.smul_isBigOₓ'. -/
 theorem IsLittleO.smul_isBigO (h₁ : k₁ =o[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
@@ -3639,10 +3606,7 @@ theorem IsLittleO.smul_isBigO (h₁ : k₁ =o[l] k₂) (h₂ : f' =O[l] g') :
 #align asymptotics.is_o.smul_is_O Asymptotics.IsLittleO.smul_isBigO
 
 /- warning: asymptotics.is_o.smul -> Asymptotics.IsLittleO.smul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsLittleO.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
-but is expected to have type
-  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsLittleO.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.smul Asymptotics.IsLittleO.smulₓ'. -/
 theorem IsLittleO.smul (h₁ : k₁ =o[l] k₂) (h₂ : f' =o[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
Diff
@@ -805,7 +805,7 @@ theorem isLittleO_map {k : β → α} {l : Filter β} : f =o[map k l] g ↔ (f 
 
 /- warning: asymptotics.is_O_with.mono -> Asymptotics.IsBigOWith.mono is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
 but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l' f g) -> (LE.le.{u3} (Filter.{u3} α) (Preorder.toLE.{u3} (Filter.{u3} α) (PartialOrder.toPreorder.{u3} (Filter.{u3} α) (Filter.instPartialOrderFilter.{u3} α))) l l') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.mono Asymptotics.IsBigOWith.monoₓ'. -/
@@ -815,7 +815,7 @@ theorem IsBigOWith.mono (h : IsBigOWith c l' f g) (hl : l ≤ l') : IsBigOWith c
 
 /- warning: asymptotics.is_O.mono -> Asymptotics.IsBigO.mono is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
 but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u3} (Filter.{u3} α) (Preorder.toLE.{u3} (Filter.{u3} α) (PartialOrder.toPreorder.{u3} (Filter.{u3} α) (Filter.instPartialOrderFilter.{u3} α))) l l') -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.mono Asymptotics.IsBigO.monoₓ'. -/
@@ -825,7 +825,7 @@ theorem IsBigO.mono (h : f =O[l'] g) (hl : l ≤ l') : f =O[l] g :=
 
 /- warning: asymptotics.is_o.mono -> Asymptotics.IsLittleO.mono is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
 but is expected to have type
   forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u3} (Filter.{u3} α) (Preorder.toLE.{u3} (Filter.{u3} α) (PartialOrder.toPreorder.{u3} (Filter.{u3} α) (Filter.instPartialOrderFilter.{u3} α))) l l') -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.mono Asymptotics.IsLittleO.monoₓ'. -/
Diff
@@ -2575,7 +2575,7 @@ variable {g g' l}
 lean 3 declaration is
   forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
 but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_zero_right_iff Asymptotics.isBigOWith_zero_right_iffₓ'. -/
 @[simp]
 theorem isBigOWith_zero_right_iff : (IsBigOWith c l f'' fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 := by
@@ -2587,7 +2587,7 @@ theorem isBigOWith_zero_right_iff : (IsBigOWith c l f'' fun x => (0 : F')) ↔ f
 lean 3 declaration is
   forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
 but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_zero_right_iff Asymptotics.isBigO_zero_right_iffₓ'. -/
 @[simp]
 theorem isBigO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
@@ -2601,7 +2601,7 @@ theorem isBigO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0
 lean 3 declaration is
   forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
 but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_zero_right_iff Asymptotics.isLittleO_zero_right_iffₓ'. -/
 @[simp]
 theorem isLittleO_zero_right_iff : (f'' =o[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
@@ -2909,7 +2909,7 @@ theorem isBigO_const_of_ne {c : F''} (hc : c ≠ 0) :
 lean 3 declaration is
   forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u1} α} {c : F''}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Filter.EventuallyEq.{u1, u2} α E'' l f'' (OfNat.ofNat.{max u1 u2} (α -> E'') 0 (OfNat.mk.{max u1 u2} (α -> E'') 0 (Zero.zero.{max u1 u2} (α -> E'') (Pi.instZero.{u1, u2} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (f'' x))))
 but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {c : F''}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36952 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36954 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36952 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36954) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x))))
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {c : F''}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36952 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36954 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36952 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36954) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iffₓ'. -/
 theorem isBigO_const_iff {c : F''} :
     (f'' =O[l] fun x => c) ↔ (c = 0 → f'' =ᶠ[l] 0) ∧ IsBoundedUnder (· ≤ ·) l fun x => ‖f'' x‖ :=
Diff
@@ -3350,7 +3350,7 @@ theorem IsLittleO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f
 lean 3 declaration is
   forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {c : Real} {l : Filter.{u1} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (Nat.casesOn.{1} (fun (_x : Nat) => Real) n (Norm.norm.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))))))) (fun (n : Nat) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) c (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n))
 but is expected to have type
-  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u3} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (Nat.casesOn.{1} (fun (_x : Nat) => Real) n (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (NonAssocRing.toOne.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (fun (n : Nat) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
+  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u3} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (Nat.casesOn.{1} (fun (_x : Nat) => Real) n (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (fun (n : Nat) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.pow' Asymptotics.IsBigOWith.pow'ₓ'. -/
 theorem IsBigOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g) :
     ∀ n : ℕ,
@@ -3365,7 +3365,7 @@ theorem IsBigOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g
 lean 3 declaration is
   forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {c : Real} {l : Filter.{u1} α} [_inst_14 : NormOneClass.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))] {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) c n) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n))
 but is expected to have type
-  forall {α : Type.{u2}} {R : Type.{u3}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u3} R] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} [_inst_14 : NormOneClass.{u3} R (SeminormedRing.toNorm.{u3} R _inst_10) (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))] {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u2, u3, u1} α R 𝕜 (SeminormedRing.toNorm.{u3} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u2, u3, u1} α R 𝕜 (SeminormedRing.toNorm.{u3} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c n) l (fun (x : α) => HPow.hPow.{u3, 0, u3} R Nat R (instHPow.{u3, 0} R Nat (Monoid.Pow.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
+  forall {α : Type.{u2}} {R : Type.{u3}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u3} R] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} [_inst_14 : NormOneClass.{u3} R (SeminormedRing.toNorm.{u3} R _inst_10) (Semiring.toOne.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))] {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u2, u3, u1} α R 𝕜 (SeminormedRing.toNorm.{u3} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u2, u3, u1} α R 𝕜 (SeminormedRing.toNorm.{u3} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c n) l (fun (x : α) => HPow.hPow.{u3, 0, u3} R Nat R (instHPow.{u3, 0} R Nat (Monoid.Pow.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.pow Asymptotics.IsBigOWith.powₓ'. -/
 theorem IsBigOWith.pow [NormOneClass R] {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g) :
     ∀ n : ℕ, IsBigOWith (c ^ n) l (fun x => f x ^ n) fun x => g x ^ n
Diff
@@ -2575,7 +2575,7 @@ variable {g g' l}
 lean 3 declaration is
   forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
 but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_zero_right_iff Asymptotics.isBigOWith_zero_right_iffₓ'. -/
 @[simp]
 theorem isBigOWith_zero_right_iff : (IsBigOWith c l f'' fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 := by
@@ -2587,7 +2587,7 @@ theorem isBigOWith_zero_right_iff : (IsBigOWith c l f'' fun x => (0 : F')) ↔ f
 lean 3 declaration is
   forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
 but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_zero_right_iff Asymptotics.isBigO_zero_right_iffₓ'. -/
 @[simp]
 theorem isBigO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
@@ -2601,7 +2601,7 @@ theorem isBigO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0
 lean 3 declaration is
   forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
 but is expected to have type
-  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_zero_right_iff Asymptotics.isLittleO_zero_right_iffₓ'. -/
 @[simp]
 theorem isLittleO_zero_right_iff : (f'' =o[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
@@ -2780,7 +2780,7 @@ theorem isLittleO_one_iff : f' =o[l] (fun x => 1 : α → F) ↔ Tendsto f' l (
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35352 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35354 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35352 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35354) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
+  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35346 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35348 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35346 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35348) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iffₓ'. -/
 @[simp]
 theorem isBigO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ :=
@@ -2793,7 +2793,7 @@ theorem isBigO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (·
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14))))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35352 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35354 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35352 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35354) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14)))
+  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35346 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35348 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35346 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35348) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14)))
 Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_oneₓ'. -/
 alias is_O_one_iff ↔ _ _root_.filter.is_bounded_under.is_O_one
 #align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_one
@@ -2864,7 +2864,7 @@ theorem isLittleO_id_const {c : F''} (hc : c ≠ 0) : (fun x : E'' => x) =o[𝓝
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u1} α}, (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : α -> E} {l : Filter.{u3} α}, (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36331 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36333 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36331 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36333) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f (fun (x : α) => c)))
+  forall {α : Type.{u3}} {E : Type.{u2}} {F'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : α -> E} {l : Filter.{u3} α}, (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36325 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36327 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36325 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36327) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f (fun (x : α) => c)))
 Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under.is_O_const Filter.IsBoundedUnder.isBigO_constₓ'. -/
 theorem Filter.IsBoundedUnder.isBigO_const (h : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) {c : F''}
     (hc : c ≠ 0) : f =O[l] fun x => c :=
@@ -2886,7 +2886,7 @@ theorem isBigO_const_of_tendsto {y : E''} (h : Tendsto f'' l (𝓝 y)) {c : F''}
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} {c : F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {c : F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36622 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36624 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36622 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36624) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {c : F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36616 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36618 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36616 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36618) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.is_bounded_under_le Asymptotics.IsBigO.isBoundedUnder_leₓ'. -/
 theorem IsBigO.isBoundedUnder_le {c : F} (h : f =O[l] fun x => c) :
     IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
@@ -2898,7 +2898,7 @@ theorem IsBigO.isBoundedUnder_le {c : F} (h : f =O[l] fun x => c) :
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u1} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)))
 but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u2} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36792 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36794 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36792 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36794) l (Function.comp.{succ u2, succ u1, 1} α E Real (Norm.norm.{u1} E _inst_1) f)))
+  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u2} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36786 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36788 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36786 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36788) l (Function.comp.{succ u2, succ u1, 1} α E Real (Norm.norm.{u1} E _inst_1) f)))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_of_ne Asymptotics.isBigO_const_of_neₓ'. -/
 theorem isBigO_const_of_ne {c : F''} (hc : c ≠ 0) :
     (f =O[l] fun x => c) ↔ IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
@@ -2909,7 +2909,7 @@ theorem isBigO_const_of_ne {c : F''} (hc : c ≠ 0) :
 lean 3 declaration is
   forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u1} α} {c : F''}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Filter.EventuallyEq.{u1, u2} α E'' l f'' (OfNat.ofNat.{max u1 u2} (α -> E'') 0 (OfNat.mk.{max u1 u2} (α -> E'') 0 (Zero.zero.{max u1 u2} (α -> E'') (Pi.instZero.{u1, u2} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (f'' x))))
 but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {c : F''}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36958 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36960 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36958 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36960) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x))))
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {c : F''}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36952 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36954 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36952 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36954) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iffₓ'. -/
 theorem isBigO_const_iff {c : F''} :
     (f'' =O[l] fun x => c) ↔ (c = 0 → f'' =ᶠ[l] 0) ∧ IsBoundedUnder (· ≤ ·) l fun x => ‖f'' x‖ :=
@@ -2924,7 +2924,7 @@ theorem isBigO_const_iff {c : F''} :
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => Ne.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) l) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (g'' x)))))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u1}} {F'' : Type.{u2}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => Ne.{succ u2} F'' (g'' x) (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) l) -> (Iff (Asymptotics.IsBigO.{u3, u1, u2} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37193 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37195 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37193 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37195) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} E _inst_1 (f x)) (Norm.norm.{u2} F'' (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (g'' x)))))
+  forall {α : Type.{u3}} {E : Type.{u1}} {F'' : Type.{u2}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => Ne.{succ u2} F'' (g'' x) (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) l) -> (Iff (Asymptotics.IsBigO.{u3, u1, u2} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37187 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37189 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37187 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37189) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} E _inst_1 (f x)) (Norm.norm.{u2} F'' (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (g'' x)))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_is_bounded_under_le_div Asymptotics.isBigO_iff_isBoundedUnder_le_divₓ'. -/
 theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
     f =O[l] g'' ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ / ‖g'' x‖ :=
@@ -3510,7 +3510,7 @@ theorem IsBigOWith.const_smul_left (h : IsBigOWith c l f' g) (c' : 𝕜) :
 lean 3 declaration is
   forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (SMul.smul.{u4, max u1 u3} 𝕜 (α -> E') (Function.hasSMul.{u1, u4, u3} α 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c f') g)
 but is expected to have type
-  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45080 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
+  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45074 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_leftₓ'. -/
 theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g :=
   let ⟨b, hb⟩ := h.IsBigOWith
@@ -3521,7 +3521,7 @@ theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g
 lean 3 declaration is
   forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (SMul.smul.{u4, max u1 u3} 𝕜 (α -> E') (Function.hasSMul.{u1, u4, u3} α 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c f') g)
 but is expected to have type
-  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45226 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
+  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45220 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_leftₓ'. -/
 theorem IsLittleO.const_smul_left (h : f' =o[l] g) (c : 𝕜) : (c • f') =o[l] g :=
   IsLittleO.of_norm_left <| by simpa only [← norm_smul] using h.norm_left.const_mul_left ‖c‖
@@ -3968,7 +3968,7 @@ theorem IsBigOWith.exists_eq_mul (h : IsBigOWith c l u v) (hc : 0 ≤ c) :
 lean 3 declaration is
   forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
 but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isBigO_iff_exists_eq_mulₓ'. -/
 theorem isBigO_iff_exists_eq_mul :
     u =O[l] v ↔ ∃ (φ : α → 𝕜)(hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v :=
@@ -3986,7 +3986,7 @@ theorem isBigO_iff_exists_eq_mul :
 lean 3 declaration is
   forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
 but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51058 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51060) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mulₓ'. -/
 alias is_O_iff_exists_eq_mul ↔ is_O.exists_eq_mul _
 #align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
@@ -4026,7 +4026,7 @@ end ExistsMulEq
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12))))) (f x) (g x))))
 but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51485 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51487 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51485 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51487) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x))))
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51479 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51481 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51479 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51481) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.div_is_bounded_under_of_is_O Asymptotics.div_isBoundedUnder_of_isBigOₓ'. -/
 theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α → 𝕜} (h : f =O[l] g) :
     IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ :=
@@ -4041,7 +4041,7 @@ theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α →
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12))))) (f x) (g x)))))
 but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51719 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51721 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51719 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51721) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)))))
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51713 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51715 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51713 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51715) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_div_is_bounded_under Asymptotics.isBigO_iff_div_isBoundedUnderₓ'. -/
 theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
Diff
@@ -3034,7 +3034,7 @@ theorem IsBigO.const_mul_left {f : α → R} (h : f =O[l] g) (c' : R) : (fun x =
 lean 3 declaration is
   forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (u : Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α R R (SeminormedRing.toHasNorm.{u2} R _inst_10) (SeminormedRing.toHasNorm.{u2} R _inst_10) (Norm.norm.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (HasLiftT.mk.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (CoeTCₓ.coe.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (coeBase.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (Units.hasCoe.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (Inv.inv.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) (Units.hasInv.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) u))) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (HasLiftT.mk.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (CoeTCₓ.coe.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (coeBase.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (Units.hasCoe.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) u) (f x))
 but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (u : Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α R R (SeminormedRing.toNorm.{u2} R _inst_10) (SeminormedRing.toNorm.{u2} R _inst_10) (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (Inv.inv.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (Units.instInvUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) u))) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) u) (f x))
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (u : Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α R R (SeminormedRing.toNorm.{u2} R _inst_10) (SeminormedRing.toNorm.{u2} R _inst_10) (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (Inv.inv.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) u))) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) u) (f x))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_self_const_mul' Asymptotics.isBigOWith_self_const_mul'ₓ'. -/
 theorem isBigOWith_self_const_mul' (u : Rˣ) (f : α → R) (l : Filter α) :
     IsBigOWith ‖(↑u⁻¹ : R)‖ l f fun x => ↑u * f x :=
@@ -3155,7 +3155,7 @@ theorem IsBigO.of_const_mul_right {g : α → R} {c : R} (h : f =O[l] fun x => c
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {u : Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))} {c' : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) c' l f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c' (Norm.norm.{u3} R (SeminormedRing.toHasNorm.{u3} R _inst_10) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (HasLiftT.mk.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (CoeTCₓ.coe.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (coeBase.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (Units.hasCoe.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) (Inv.inv.{u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) (Units.hasInv.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) u)))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (HasLiftT.mk.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (CoeTCₓ.coe.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (coeBase.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (Units.hasCoe.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) u) (g x)))
 but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {u : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))} {c' : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) c' l f g) -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c' (Norm.norm.{u3} R (SeminormedRing.toNorm.{u3} R _inst_10) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) (Units.instInvUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) u)))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) u) (g x)))
+  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {u : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))} {c' : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) c' l f g) -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c' (Norm.norm.{u3} R (SeminormedRing.toNorm.{u3} R _inst_10) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) u)))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) u) (g x)))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_mul_right' Asymptotics.IsBigOWith.const_mul_right'ₓ'. -/
 theorem IsBigOWith.const_mul_right' {g : α → R} {u : Rˣ} {c' : ℝ} (hc' : 0 ≤ c')
     (h : IsBigOWith c' l f g) : IsBigOWith (c' * ‖(↑u⁻¹ : R)‖) l f fun x => ↑u * g x :=
Diff
@@ -2780,7 +2780,7 @@ theorem isLittleO_one_iff : f' =o[l] (fun x => 1 : α → F) ↔ Tendsto f' l (
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35877 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35879 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35877 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35879) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
+  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35352 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35354 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35352 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35354) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iffₓ'. -/
 @[simp]
 theorem isBigO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ :=
@@ -2793,7 +2793,7 @@ theorem isBigO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (·
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14))))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35877 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35879 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35877 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35879) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14)))
+  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35352 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35354 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35352 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35354) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14)))
 Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_oneₓ'. -/
 alias is_O_one_iff ↔ _ _root_.filter.is_bounded_under.is_O_one
 #align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_one
@@ -2864,7 +2864,7 @@ theorem isLittleO_id_const {c : F''} (hc : c ≠ 0) : (fun x : E'' => x) =o[𝓝
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u1} α}, (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : α -> E} {l : Filter.{u3} α}, (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36856 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36858 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36856 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36858) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f (fun (x : α) => c)))
+  forall {α : Type.{u3}} {E : Type.{u2}} {F'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : α -> E} {l : Filter.{u3} α}, (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36331 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36333 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36331 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36333) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f (fun (x : α) => c)))
 Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under.is_O_const Filter.IsBoundedUnder.isBigO_constₓ'. -/
 theorem Filter.IsBoundedUnder.isBigO_const (h : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) {c : F''}
     (hc : c ≠ 0) : f =O[l] fun x => c :=
@@ -2886,7 +2886,7 @@ theorem isBigO_const_of_tendsto {y : E''} (h : Tendsto f'' l (𝓝 y)) {c : F''}
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} {c : F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {c : F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37147 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37149 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37147 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37149) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {c : F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36622 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36624 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36622 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36624) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.is_bounded_under_le Asymptotics.IsBigO.isBoundedUnder_leₓ'. -/
 theorem IsBigO.isBoundedUnder_le {c : F} (h : f =O[l] fun x => c) :
     IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
@@ -2898,7 +2898,7 @@ theorem IsBigO.isBoundedUnder_le {c : F} (h : f =O[l] fun x => c) :
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u1} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)))
 but is expected to have type
-  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u2} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37317 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37319 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37317 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37319) l (Function.comp.{succ u2, succ u1, 1} α E Real (Norm.norm.{u1} E _inst_1) f)))
+  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u2} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36792 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36794 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36792 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36794) l (Function.comp.{succ u2, succ u1, 1} α E Real (Norm.norm.{u1} E _inst_1) f)))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_of_ne Asymptotics.isBigO_const_of_neₓ'. -/
 theorem isBigO_const_of_ne {c : F''} (hc : c ≠ 0) :
     (f =O[l] fun x => c) ↔ IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
@@ -2909,7 +2909,7 @@ theorem isBigO_const_of_ne {c : F''} (hc : c ≠ 0) :
 lean 3 declaration is
   forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u1} α} {c : F''}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Filter.EventuallyEq.{u1, u2} α E'' l f'' (OfNat.ofNat.{max u1 u2} (α -> E'') 0 (OfNat.mk.{max u1 u2} (α -> E'') 0 (Zero.zero.{max u1 u2} (α -> E'') (Pi.instZero.{u1, u2} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (f'' x))))
 but is expected to have type
-  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {c : F''}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37483 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37485 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37483 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37485) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x))))
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {c : F''}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36958 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36960 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36958 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36960) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iffₓ'. -/
 theorem isBigO_const_iff {c : F''} :
     (f'' =O[l] fun x => c) ↔ (c = 0 → f'' =ᶠ[l] 0) ∧ IsBoundedUnder (· ≤ ·) l fun x => ‖f'' x‖ :=
@@ -2924,7 +2924,7 @@ theorem isBigO_const_iff {c : F''} :
 lean 3 declaration is
   forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => Ne.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) l) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (g'' x)))))
 but is expected to have type
-  forall {α : Type.{u3}} {E : Type.{u1}} {F'' : Type.{u2}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => Ne.{succ u2} F'' (g'' x) (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) l) -> (Iff (Asymptotics.IsBigO.{u3, u1, u2} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37718 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37720 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37718 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37720) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} E _inst_1 (f x)) (Norm.norm.{u2} F'' (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (g'' x)))))
+  forall {α : Type.{u3}} {E : Type.{u1}} {F'' : Type.{u2}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => Ne.{succ u2} F'' (g'' x) (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) l) -> (Iff (Asymptotics.IsBigO.{u3, u1, u2} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37193 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37195 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37193 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37195) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} E _inst_1 (f x)) (Norm.norm.{u2} F'' (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (g'' x)))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_is_bounded_under_le_div Asymptotics.isBigO_iff_isBoundedUnder_le_divₓ'. -/
 theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
     f =O[l] g'' ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ / ‖g'' x‖ :=
@@ -3510,7 +3510,7 @@ theorem IsBigOWith.const_smul_left (h : IsBigOWith c l f' g) (c' : 𝕜) :
 lean 3 declaration is
   forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (SMul.smul.{u4, max u1 u3} 𝕜 (α -> E') (Function.hasSMul.{u1, u4, u3} α 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c f') g)
 but is expected to have type
-  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45605 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
+  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45080 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_leftₓ'. -/
 theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g :=
   let ⟨b, hb⟩ := h.IsBigOWith
@@ -3521,7 +3521,7 @@ theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g
 lean 3 declaration is
   forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (SMul.smul.{u4, max u1 u3} 𝕜 (α -> E') (Function.hasSMul.{u1, u4, u3} α 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c f') g)
 but is expected to have type
-  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45751 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
+  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45226 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_leftₓ'. -/
 theorem IsLittleO.const_smul_left (h : f' =o[l] g) (c : 𝕜) : (c • f') =o[l] g :=
   IsLittleO.of_norm_left <| by simpa only [← norm_smul] using h.norm_left.const_mul_left ‖c‖
@@ -3968,7 +3968,7 @@ theorem IsBigOWith.exists_eq_mul (h : IsBigOWith c l u v) (hc : 0 ≤ c) :
 lean 3 declaration is
   forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
 but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isBigO_iff_exists_eq_mulₓ'. -/
 theorem isBigO_iff_exists_eq_mul :
     u =O[l] v ↔ ∃ (φ : α → 𝕜)(hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v :=
@@ -3986,7 +3986,7 @@ theorem isBigO_iff_exists_eq_mul :
 lean 3 declaration is
   forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
 but is expected to have type
-  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51064 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51066) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mulₓ'. -/
 alias is_O_iff_exists_eq_mul ↔ is_O.exists_eq_mul _
 #align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
@@ -4026,7 +4026,7 @@ end ExistsMulEq
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12))))) (f x) (g x))))
 but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52010 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52012 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52010 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52012) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x))))
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51485 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51487 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51485 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51487) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.div_is_bounded_under_of_is_O Asymptotics.div_isBoundedUnder_of_isBigOₓ'. -/
 theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α → 𝕜} (h : f =O[l] g) :
     IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ :=
@@ -4041,7 +4041,7 @@ theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α →
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12))))) (f x) (g x)))))
 but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52244 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52246 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52244 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52246) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)))))
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51719 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51721 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51719 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51721) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)))))
 Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_div_is_bounded_under Asymptotics.isBigO_iff_div_isBoundedUnderₓ'. -/
 theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jeremy Avigad, Yury Kudryashov
 
 ! This file was ported from Lean 3 source module analysis.asymptotics.asymptotics
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 9a48a083b390d9b84a71efbdc4e8dfa26a687104
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.Topology.LocalHomeomorph
 /-!
 # Asymptotics
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We introduce these relations:
 
 * `is_O_with c l f g` : "f is big O of g along l with constant c";
Diff
@@ -81,167 +81,356 @@ section Defs
 /-! ### Definitions -/
 
 
+#print Asymptotics.IsBigOWith /-
 /-- This version of the Landau notation `is_O_with C l f g` where `f` and `g` are two functions on
 a type `α` and `l` is a filter on `α`, means that eventually for `l`, `‖f‖` is bounded by `C * ‖g‖`.
 In other words, `‖f‖ / ‖g‖` is eventually bounded by `C`, modulo division by zero issues that are
 avoided by this definition. Probably you want to use `is_O` instead of this relation. -/
-irreducible_def IsOWith (c : ℝ) (l : Filter α) (f : α → E) (g : α → F) : Prop :=
+irreducible_def IsBigOWith (c : ℝ) (l : Filter α) (f : α → E) (g : α → F) : Prop :=
   ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖
-#align asymptotics.is_O_with Asymptotics.IsOWith
+#align asymptotics.is_O_with Asymptotics.IsBigOWith
+-/
 
+/- warning: asymptotics.is_O_with_iff -> Asymptotics.isBigOWith_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g) (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_iff Asymptotics.isBigOWith_iffₓ'. -/
 /-- Definition of `is_O_with`. We record it in a lemma as `is_O_with` is irreducible. -/
-theorem isOWith_iff : IsOWith c l f g ↔ ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by rw [is_O_with]
-#align asymptotics.is_O_with_iff Asymptotics.isOWith_iff
-
+theorem isBigOWith_iff : IsBigOWith c l f g ↔ ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by rw [is_O_with]
+#align asymptotics.is_O_with_iff Asymptotics.isBigOWith_iff
+
+/- warning: asymptotics.is_O_with.bound -> Asymptotics.IsBigOWith.bound is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.bound Asymptotics.IsBigOWith.boundₓ'. -/
+/- warning: asymptotics.is_O_with.of_bound -> Asymptotics.IsBigOWith.of_bound is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_bound Asymptotics.IsBigOWith.of_boundₓ'. -/
 alias is_O_with_iff ↔ is_O_with.bound is_O_with.of_bound
-#align asymptotics.is_O_with.bound Asymptotics.IsOWith.bound
-#align asymptotics.is_O_with.of_bound Asymptotics.IsOWith.of_bound
+#align asymptotics.is_O_with.bound Asymptotics.IsBigOWith.bound
+#align asymptotics.is_O_with.of_bound Asymptotics.IsBigOWith.of_bound
 
+#print Asymptotics.IsBigO /-
 /-- The Landau notation `f =O[l] g` where `f` and `g` are two functions on a type `α` and `l` is
 a filter on `α`, means that eventually for `l`, `‖f‖` is bounded by a constant multiple of `‖g‖`.
 In other words, `‖f‖ / ‖g‖` is eventually bounded, modulo division by zero issues that are avoided
 by this definition. -/
-irreducible_def IsO (l : Filter α) (f : α → E) (g : α → F) : Prop :=
-  ∃ c : ℝ, IsOWith c l f g
-#align asymptotics.is_O Asymptotics.IsO
+irreducible_def IsBigO (l : Filter α) (f : α → E) (g : α → F) : Prop :=
+  ∃ c : ℝ, IsBigOWith c l f g
+#align asymptotics.is_O Asymptotics.IsBigO
+-/
 
 -- mathport name: «expr =O[ ] »
-notation:100 f " =O[" l "] " g:100 => IsO l f g
-
+notation:100 f " =O[" l "] " g:100 => IsBigO l f g
+
+/- warning: asymptotics.is_O_iff_is_O_with -> Asymptotics.isBigO_iff_isBigOWith is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (Exists.{1} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (Exists.{1} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_is_O_with Asymptotics.isBigO_iff_isBigOWithₓ'. -/
 /-- Definition of `is_O` in terms of `is_O_with`. We record it in a lemma as `is_O` is
 irreducible. -/
-theorem isO_iff_isOWith : f =O[l] g ↔ ∃ c : ℝ, IsOWith c l f g := by rw [is_O]
-#align asymptotics.is_O_iff_is_O_with Asymptotics.isO_iff_isOWith
-
+theorem isBigO_iff_isBigOWith : f =O[l] g ↔ ∃ c : ℝ, IsBigOWith c l f g := by rw [is_O]
+#align asymptotics.is_O_iff_is_O_with Asymptotics.isBigO_iff_isBigOWith
+
+/- warning: asymptotics.is_O_iff -> Asymptotics.isBigO_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (Exists.{1} Real (fun (c : Real) => Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (Exists.{1} Real (fun (c : Real) => Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff Asymptotics.isBigO_iffₓ'. -/
 /-- Definition of `is_O` in terms of filters. We record it in a lemma as we will set
 `is_O` to be irreducible at the end of this file. -/
-theorem isO_iff : f =O[l] g ↔ ∃ c : ℝ, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by
+theorem isBigO_iff : f =O[l] g ↔ ∃ c : ℝ, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by
   simp only [is_O, is_O_with]
-#align asymptotics.is_O_iff Asymptotics.isO_iff
-
-theorem IsO.of_bound (c : ℝ) (h : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
-  isO_iff.2 ⟨c, h⟩
-#align asymptotics.is_O.of_bound Asymptotics.IsO.of_bound
-
-theorem IsO.of_bound' (h : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖) : f =O[l] g :=
-  IsO.of_bound 1 <| by
+#align asymptotics.is_O_iff Asymptotics.isBigO_iff
+
+/- warning: asymptotics.is_O.of_bound -> Asymptotics.IsBigO.of_bound is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} (c : Real), (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} (c : Real), (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_bound Asymptotics.IsBigO.of_boundₓ'. -/
+theorem IsBigO.of_bound (c : ℝ) (h : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
+  isBigO_iff.2 ⟨c, h⟩
+#align asymptotics.is_O.of_bound Asymptotics.IsBigO.of_bound
+
+/- warning: asymptotics.is_O.of_bound' -> Asymptotics.IsBigO.of_bound' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F _inst_2 (g x))) l) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u1} F _inst_2 (g x))) l) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_bound' Asymptotics.IsBigO.of_bound'ₓ'. -/
+theorem IsBigO.of_bound' (h : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖) : f =O[l] g :=
+  IsBigO.of_bound 1 <| by
     simp_rw [one_mul]
     exact h
-#align asymptotics.is_O.of_bound' Asymptotics.IsO.of_bound'
-
-theorem IsO.bound : f =O[l] g → ∃ c : ℝ, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
-  isO_iff.1
-#align asymptotics.is_O.bound Asymptotics.IsO.bound
-
+#align asymptotics.is_O.of_bound' Asymptotics.IsBigO.of_bound'
+
+/- warning: asymptotics.is_O.bound -> Asymptotics.IsBigO.bound is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Exists.{1} Real (fun (c : Real) => Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Exists.{1} Real (fun (c : Real) => Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.bound Asymptotics.IsBigO.boundₓ'. -/
+theorem IsBigO.bound : f =O[l] g → ∃ c : ℝ, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
+  isBigO_iff.1
+#align asymptotics.is_O.bound Asymptotics.IsBigO.bound
+
+#print Asymptotics.IsLittleO /-
 /-- The Landau notation `f =o[l] g` where `f` and `g` are two functions on a type `α` and `l` is
 a filter on `α`, means that eventually for `l`, `‖f‖` is bounded by an arbitrarily small constant
 multiple of `‖g‖`. In other words, `‖f‖ / ‖g‖` tends to `0` along `l`, modulo division by zero
 issues that are avoided by this definition. -/
-irreducible_def IsOCat (l : Filter α) (f : α → E) (g : α → F) : Prop :=
-  ∀ ⦃c : ℝ⦄, 0 < c → IsOWith c l f g
-#align asymptotics.is_o Asymptotics.IsOCat
+irreducible_def IsLittleO (l : Filter α) (f : α → E) (g : α → F) : Prop :=
+  ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l f g
+#align asymptotics.is_o Asymptotics.IsLittleO
+-/
 
 -- mathport name: «expr =o[ ] »
-notation:100 f " =o[" l "] " g:100 => IsOCat l f g
-
+notation:100 f " =o[" l "] " g:100 => IsLittleO l f g
+
+/- warning: asymptotics.is_o_iff_forall_is_O_with -> Asymptotics.isLittleO_iff_forall_isBigOWith is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_forall_is_O_with Asymptotics.isLittleO_iff_forall_isBigOWithₓ'. -/
 /-- Definition of `is_o` in terms of `is_O_with`. We record it in a lemma as we will set
 `is_o` to be irreducible at the end of this file. -/
-theorem isOCat_iff_forall_isOWith : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → IsOWith c l f g := by rw [is_o]
-#align asymptotics.is_o_iff_forall_is_O_with Asymptotics.isOCat_iff_forall_isOWith
-
+theorem isLittleO_iff_forall_isBigOWith : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l f g := by
+  rw [is_o]
+#align asymptotics.is_o_iff_forall_is_O_with Asymptotics.isLittleO_iff_forall_isBigOWith
+
+/- warning: asymptotics.is_o.forall_is_O_with -> Asymptotics.IsLittleO.forall_isBigOWith is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.forall_is_O_with Asymptotics.IsLittleO.forall_isBigOWithₓ'. -/
+/- warning: asymptotics.is_o.of_is_O_with -> Asymptotics.IsLittleO.of_isBigOWith is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_is_O_with Asymptotics.IsLittleO.of_isBigOWithₓ'. -/
 alias is_o_iff_forall_is_O_with ↔ is_o.forall_is_O_with is_o.of_is_O_with
-#align asymptotics.is_o.forall_is_O_with Asymptotics.IsOCat.forall_isOWith
-#align asymptotics.is_o.of_is_O_with Asymptotics.IsOCat.of_isOWith
-
+#align asymptotics.is_o.forall_is_O_with Asymptotics.IsLittleO.forall_isBigOWith
+#align asymptotics.is_o.of_is_O_with Asymptotics.IsLittleO.of_isBigOWith
+
+/- warning: asymptotics.is_o_iff -> Asymptotics.isLittleO_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff Asymptotics.isLittleO_iffₓ'. -/
 /-- Definition of `is_o` in terms of filters. We record it in a lemma as we will set
 `is_o` to be irreducible at the end of this file. -/
-theorem isOCat_iff : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by
+theorem isLittleO_iff : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by
   simp only [is_o, is_O_with]
-#align asymptotics.is_o_iff Asymptotics.isOCat_iff
-
+#align asymptotics.is_o_iff Asymptotics.isLittleO_iff
+
+/- warning: asymptotics.is_o.bound -> Asymptotics.IsLittleO.bound is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.bound Asymptotics.IsLittleO.boundₓ'. -/
+/- warning: asymptotics.is_o.of_bound -> Asymptotics.IsLittleO.of_bound is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (forall {{c : Real}}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (forall {{c : Real}}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_boundₓ'. -/
 alias is_o_iff ↔ is_o.bound is_o.of_bound
-#align asymptotics.is_o.bound Asymptotics.IsOCat.bound
-#align asymptotics.is_o.of_bound Asymptotics.IsOCat.of_bound
-
-theorem IsOCat.def (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
-  isOCat_iff.1 h hc
-#align asymptotics.is_o.def Asymptotics.IsOCat.def
-
-theorem IsOCat.def' (h : f =o[l] g) (hc : 0 < c) : IsOWith c l f g :=
-  isOWith_iff.2 <| isOCat_iff.1 h hc
-#align asymptotics.is_o.def' Asymptotics.IsOCat.def'
+#align asymptotics.is_o.bound Asymptotics.IsLittleO.bound
+#align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_bound
+
+/- warning: asymptotics.is_o.def -> Asymptotics.IsLittleO.def is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) l)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))) l)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.def Asymptotics.IsLittleO.defₓ'. -/
+theorem IsLittleO.def (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
+  isLittleO_iff.1 h hc
+#align asymptotics.is_o.def Asymptotics.IsLittleO.def
+
+/- warning: asymptotics.is_o.def' -> Asymptotics.IsLittleO.def' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.def' Asymptotics.IsLittleO.def'ₓ'. -/
+theorem IsLittleO.def' (h : f =o[l] g) (hc : 0 < c) : IsBigOWith c l f g :=
+  isBigOWith_iff.2 <| isLittleO_iff.1 h hc
+#align asymptotics.is_o.def' Asymptotics.IsLittleO.def'
 
 end Defs
 
 /-! ### Conversions -/
 
 
-theorem IsOWith.isO (h : IsOWith c l f g) : f =O[l] g := by rw [is_O] <;> exact ⟨c, h⟩
-#align asymptotics.is_O_with.is_O Asymptotics.IsOWith.isO
-
-theorem IsOCat.isOWith (hgf : f =o[l] g) : IsOWith 1 l f g :=
+/- warning: asymptotics.is_O_with.is_O -> Asymptotics.IsBigOWith.isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.is_O Asymptotics.IsBigOWith.isBigOₓ'. -/
+theorem IsBigOWith.isBigO (h : IsBigOWith c l f g) : f =O[l] g := by rw [is_O] <;> exact ⟨c, h⟩
+#align asymptotics.is_O_with.is_O Asymptotics.IsBigOWith.isBigO
+
+/- warning: asymptotics.is_o.is_O_with -> Asymptotics.IsLittleO.isBigOWith is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.is_O_with Asymptotics.IsLittleO.isBigOWithₓ'. -/
+theorem IsLittleO.isBigOWith (hgf : f =o[l] g) : IsBigOWith 1 l f g :=
   hgf.def' zero_lt_one
-#align asymptotics.is_o.is_O_with Asymptotics.IsOCat.isOWith
-
-theorem IsOCat.isO (hgf : f =o[l] g) : f =O[l] g :=
-  hgf.IsOWith.IsO
-#align asymptotics.is_o.is_O Asymptotics.IsOCat.isO
-
-theorem IsO.isOWith : f =O[l] g → ∃ c : ℝ, IsOWith c l f g :=
-  isO_iff_isOWith.1
-#align asymptotics.is_O.is_O_with Asymptotics.IsO.isOWith
-
-theorem IsOWith.weaken (h : IsOWith c l f g') (hc : c ≤ c') : IsOWith c' l f g' :=
-  IsOWith.of_bound <|
+#align asymptotics.is_o.is_O_with Asymptotics.IsLittleO.isBigOWith
+
+/- warning: asymptotics.is_o.is_O -> Asymptotics.IsLittleO.isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.is_O Asymptotics.IsLittleO.isBigOₓ'. -/
+theorem IsLittleO.isBigO (hgf : f =o[l] g) : f =O[l] g :=
+  hgf.IsBigOWith.IsBigO
+#align asymptotics.is_o.is_O Asymptotics.IsLittleO.isBigO
+
+/- warning: asymptotics.is_O.is_O_with -> Asymptotics.IsBigO.isBigOWith is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Exists.{1} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Exists.{1} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.is_O_with Asymptotics.IsBigO.isBigOWithₓ'. -/
+theorem IsBigO.isBigOWith : f =O[l] g → ∃ c : ℝ, IsBigOWith c l f g :=
+  isBigO_iff_isBigOWith.1
+#align asymptotics.is_O.is_O_with Asymptotics.IsBigO.isBigOWith
+
+/- warning: asymptotics.is_O_with.weaken -> Asymptotics.IsBigOWith.weaken is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {c' : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.hasLe c c') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {c' : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.instLEReal c c') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weakenₓ'. -/
+theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith c' l f g' :=
+  IsBigOWith.of_bound <|
     mem_of_superset h.bound fun x hx =>
       calc
         ‖f x‖ ≤ c * ‖g' x‖ := hx
         _ ≤ _ := mul_le_mul_of_nonneg_right hc (norm_nonneg _)
         
-#align asymptotics.is_O_with.weaken Asymptotics.IsOWith.weaken
-
-theorem IsOWith.exists_pos (h : IsOWith c l f g') : ∃ (c' : _)(H : 0 < c'), IsOWith c' l f g' :=
+#align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weaken
+
+/- warning: asymptotics.is_O_with.exists_pos -> Asymptotics.IsBigOWith.exists_pos is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Exists.{1} Real (fun (c' : Real) => Exists.{0} (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') (fun (H : LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l f g')))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Exists.{1} Real (fun (c' : Real) => Exists.{0} (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') (fun (H : LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l f g')))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.exists_pos Asymptotics.IsBigOWith.exists_posₓ'. -/
+theorem IsBigOWith.exists_pos (h : IsBigOWith c l f g') :
+    ∃ (c' : _)(H : 0 < c'), IsBigOWith c' l f g' :=
   ⟨max c 1, lt_of_lt_of_le zero_lt_one (le_max_right c 1), h.weaken <| le_max_left c 1⟩
-#align asymptotics.is_O_with.exists_pos Asymptotics.IsOWith.exists_pos
-
-theorem IsO.exists_pos (h : f =O[l] g') : ∃ (c : _)(H : 0 < c), IsOWith c l f g' :=
-  let ⟨c, hc⟩ := h.IsOWith
+#align asymptotics.is_O_with.exists_pos Asymptotics.IsBigOWith.exists_pos
+
+/- warning: asymptotics.is_O.exists_pos -> Asymptotics.IsBigO.exists_pos is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) (fun (H : LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) (fun (H : LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_pos Asymptotics.IsBigO.exists_posₓ'. -/
+theorem IsBigO.exists_pos (h : f =O[l] g') : ∃ (c : _)(H : 0 < c), IsBigOWith c l f g' :=
+  let ⟨c, hc⟩ := h.IsBigOWith
   hc.exists_pos
-#align asymptotics.is_O.exists_pos Asymptotics.IsO.exists_pos
-
-theorem IsOWith.exists_nonneg (h : IsOWith c l f g') : ∃ (c' : _)(H : 0 ≤ c'), IsOWith c' l f g' :=
+#align asymptotics.is_O.exists_pos Asymptotics.IsBigO.exists_pos
+
+/- warning: asymptotics.is_O_with.exists_nonneg -> Asymptotics.IsBigOWith.exists_nonneg is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Exists.{1} Real (fun (c' : Real) => Exists.{0} (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') (fun (H : LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l f g')))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Exists.{1} Real (fun (c' : Real) => Exists.{0} (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') (fun (H : LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l f g')))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.exists_nonneg Asymptotics.IsBigOWith.exists_nonnegₓ'. -/
+theorem IsBigOWith.exists_nonneg (h : IsBigOWith c l f g') :
+    ∃ (c' : _)(H : 0 ≤ c'), IsBigOWith c' l f g' :=
   let ⟨c, cpos, hc⟩ := h.exists_pos
   ⟨c, le_of_lt cpos, hc⟩
-#align asymptotics.is_O_with.exists_nonneg Asymptotics.IsOWith.exists_nonneg
-
-theorem IsO.exists_nonneg (h : f =O[l] g') : ∃ (c : _)(H : 0 ≤ c), IsOWith c l f g' :=
-  let ⟨c, hc⟩ := h.IsOWith
+#align asymptotics.is_O_with.exists_nonneg Asymptotics.IsBigOWith.exists_nonneg
+
+/- warning: asymptotics.is_O.exists_nonneg -> Asymptotics.IsBigO.exists_nonneg is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) (fun (H : LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) (fun (H : LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_nonneg Asymptotics.IsBigO.exists_nonnegₓ'. -/
+theorem IsBigO.exists_nonneg (h : f =O[l] g') : ∃ (c : _)(H : 0 ≤ c), IsBigOWith c l f g' :=
+  let ⟨c, hc⟩ := h.IsBigOWith
   hc.exists_nonneg
-#align asymptotics.is_O.exists_nonneg Asymptotics.IsO.exists_nonneg
-
+#align asymptotics.is_O.exists_nonneg Asymptotics.IsBigO.exists_nonneg
+
+/- warning: asymptotics.is_O_iff_eventually_is_O_with -> Asymptotics.isBigO_iff_eventually_isBigOWith is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') (Filter.Eventually.{0} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') (Filter.atTop.{0} Real Real.preorder))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (Filter.Eventually.{0} Real (fun (c : Real) => Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') (Filter.atTop.{0} Real Real.instPreorderReal))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_eventually_is_O_with Asymptotics.isBigO_iff_eventually_isBigOWithₓ'. -/
 /-- `f = O(g)` if and only if `is_O_with c f g` for all sufficiently large `c`. -/
-theorem isO_iff_eventually_isOWith : f =O[l] g' ↔ ∀ᶠ c in atTop, IsOWith c l f g' :=
-  isO_iff_isOWith.trans
+theorem isBigO_iff_eventually_isBigOWith : f =O[l] g' ↔ ∀ᶠ c in atTop, IsBigOWith c l f g' :=
+  isBigO_iff_isBigOWith.trans
     ⟨fun ⟨c, hc⟩ => mem_atTop_sets.2 ⟨c, fun c' hc' => hc.weaken hc'⟩, fun h => h.exists⟩
-#align asymptotics.is_O_iff_eventually_is_O_with Asymptotics.isO_iff_eventually_isOWith
-
+#align asymptotics.is_O_iff_eventually_is_O_with Asymptotics.isBigO_iff_eventually_isBigOWith
+
+/- warning: asymptotics.is_O_iff_eventually -> Asymptotics.isBigO_iff_eventually is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') (Filter.Eventually.{0} Real (fun (c : Real) => Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))) l) (Filter.atTop.{0} Real Real.preorder))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (Filter.Eventually.{0} Real (fun (c : Real) => Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))) l) (Filter.atTop.{0} Real Real.instPreorderReal))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_eventually Asymptotics.isBigO_iff_eventuallyₓ'. -/
 /-- `f = O(g)` if and only if `∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖` for all sufficiently large `c`. -/
-theorem isO_iff_eventually : f =O[l] g' ↔ ∀ᶠ c in atTop, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g' x‖ :=
-  isO_iff_eventually_isOWith.trans <| by simp only [is_O_with]
-#align asymptotics.is_O_iff_eventually Asymptotics.isO_iff_eventually
-
-theorem IsO.exists_mem_basis {ι} {p : ι → Prop} {s : ι → Set α} (h : f =O[l] g')
+theorem isBigO_iff_eventually : f =O[l] g' ↔ ∀ᶠ c in atTop, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g' x‖ :=
+  isBigO_iff_eventually_isBigOWith.trans <| by simp only [is_O_with]
+#align asymptotics.is_O_iff_eventually Asymptotics.isBigO_iff_eventually
+
+/- warning: asymptotics.is_O.exists_mem_basis -> Asymptotics.IsBigO.exists_mem_basis is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} {ι : Sort.{u4}} {p : ι -> Prop} {s : ι -> (Set.{u1} α)}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Filter.HasBasis.{u1, u4} α ι l p s) -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) (fun (hc : LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) => Exists.{u4} ι (fun (i : ι) => Exists.{0} (p i) (fun (hi : p i) => forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (s i)) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α} {ι : Sort.{u4}} {p : ι -> Prop} {s : ι -> (Set.{u3} α)}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Filter.HasBasis.{u3, u4} α ι l p s) -> (Exists.{1} Real (fun (c : Real) => Exists.{0} (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) (fun (hc : LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) => Exists.{u4} ι (fun (i : ι) => Exists.{0} (p i) (fun (hi : p i) => forall (x : α), (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (s i)) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_mem_basis Asymptotics.IsBigO.exists_mem_basisₓ'. -/
+theorem IsBigO.exists_mem_basis {ι} {p : ι → Prop} {s : ι → Set α} (h : f =O[l] g')
     (hb : l.HasBasis p s) : ∃ (c : ℝ)(hc : 0 < c)(i : ι)(hi : p i), ∀ x ∈ s i, ‖f x‖ ≤ c * ‖g' x‖ :=
   flip Exists₂.imp h.exists_pos fun c hc h => by
     simpa only [is_O_with_iff, hb.eventually_iff, exists_prop] using h
-#align asymptotics.is_O.exists_mem_basis Asymptotics.IsO.exists_mem_basis
-
-theorem isOWith_inv (hc : 0 < c) : IsOWith c⁻¹ l f g ↔ ∀ᶠ x in l, c * ‖f x‖ ≤ ‖g x‖ := by
+#align asymptotics.is_O.exists_mem_basis Asymptotics.IsBigO.exists_mem_basis
+
+/- warning: asymptotics.is_O_with_inv -> Asymptotics.isBigOWith_inv is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 (Inv.inv.{0} Real Real.hasInv c) l f g) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u3} F _inst_2 (g x))) l))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 (Inv.inv.{0} Real Real.instInvReal c) l f g) (Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u1} F _inst_2 (g x))) l))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_inv Asymptotics.isBigOWith_invₓ'. -/
+theorem isBigOWith_inv (hc : 0 < c) : IsBigOWith c⁻¹ l f g ↔ ∀ᶠ x in l, c * ‖f x‖ ≤ ‖g x‖ := by
   simp only [is_O_with, ← div_eq_inv_mul, le_div_iff' hc]
-#align asymptotics.is_O_with_inv Asymptotics.isOWith_inv
-
+#align asymptotics.is_O_with_inv Asymptotics.isBigOWith_inv
+
+/- warning: asymptotics.is_o_iff_nat_mul_le_aux -> Asymptotics.isLittleO_iff_nat_mul_le_aux is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Or (forall (x : α), LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u2} E _inst_1 (f x))) (forall (x : α), LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u3} F _inst_2 (g x)))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (forall (n : Nat), Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) n) (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u3} F _inst_2 (g x))) l))
+but is expected to have type
+  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Or (forall (x : α), LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u3} E _inst_1 (f x))) (forall (x : α), LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u2} F _inst_2 (g x)))) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E F _inst_1 _inst_2 l f g) (forall (n : Nat), Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u3} E _inst_1 (f x))) (Norm.norm.{u2} F _inst_2 (g x))) l))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_nat_mul_le_aux Asymptotics.isLittleO_iff_nat_mul_le_auxₓ'. -/
 -- We prove this lemma with strange assumptions to get two lemmas below automatically
-theorem isOCat_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x, 0 ≤ ‖g x‖) :
+theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x, 0 ≤ ‖g x‖) :
     f =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f x‖ ≤ ‖g x‖ :=
   by
   constructor
@@ -259,28 +448,52 @@ theorem isOCat_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x, 0
     refine' hfg.trans (mul_le_mul_of_nonneg_right (inv_le_of_inv_le ε0 hn.le) _)
     refine' h₀.elim (fun hf => nonneg_of_mul_nonneg_right ((hf x).trans hfg) _) fun h => h x
     exact inv_pos.2 hn₀
-#align asymptotics.is_o_iff_nat_mul_le_aux Asymptotics.isOCat_iff_nat_mul_le_aux
-
-theorem isOCat_iff_nat_mul_le : f =o[l] g' ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f x‖ ≤ ‖g' x‖ :=
-  isOCat_iff_nat_mul_le_aux (Or.inr fun x => norm_nonneg _)
-#align asymptotics.is_o_iff_nat_mul_le Asymptotics.isOCat_iff_nat_mul_le
-
-theorem isOCat_iff_nat_mul_le' : f' =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f' x‖ ≤ ‖g x‖ :=
-  isOCat_iff_nat_mul_le_aux (Or.inl fun x => norm_nonneg _)
-#align asymptotics.is_o_iff_nat_mul_le' Asymptotics.isOCat_iff_nat_mul_le'
+#align asymptotics.is_o_iff_nat_mul_le_aux Asymptotics.isLittleO_iff_nat_mul_le_aux
+
+/- warning: asymptotics.is_o_iff_nat_mul_le -> Asymptotics.isLittleO_iff_nat_mul_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') (forall (n : Nat), Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) n) (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) l)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (forall (n : Nat), Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u2} E _inst_1 (f x))) (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) l)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_nat_mul_le Asymptotics.isLittleO_iff_nat_mul_leₓ'. -/
+theorem isLittleO_iff_nat_mul_le : f =o[l] g' ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f x‖ ≤ ‖g' x‖ :=
+  isLittleO_iff_nat_mul_le_aux (Or.inr fun x => norm_nonneg _)
+#align asymptotics.is_o_iff_nat_mul_le Asymptotics.isLittleO_iff_nat_mul_le
+
+/- warning: asymptotics.is_o_iff_nat_mul_le' -> Asymptotics.isLittleO_iff_nat_mul_le' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) (forall (n : Nat), Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) n) (Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x))) (Norm.norm.{u2} F _inst_2 (g x))) l)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g) (forall (n : Nat), Filter.Eventually.{u3} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x))) (Norm.norm.{u1} F _inst_2 (g x))) l)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_nat_mul_le' Asymptotics.isLittleO_iff_nat_mul_le'ₓ'. -/
+theorem isLittleO_iff_nat_mul_le' : f' =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f' x‖ ≤ ‖g x‖ :=
+  isLittleO_iff_nat_mul_le_aux (Or.inl fun x => norm_nonneg _)
+#align asymptotics.is_o_iff_nat_mul_le' Asymptotics.isLittleO_iff_nat_mul_le'
 
 /-! ### Subsingleton -/
 
 
+/- warning: asymptotics.is_o_of_subsingleton -> Asymptotics.isLittleO_of_subsingleton is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : Subsingleton.{succ u2} E'], Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g'
+but is expected to have type
+  forall {α : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u2} α} [_inst_14 : Subsingleton.{succ u3} E'], Asymptotics.IsLittleO.{u2, u3, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g'
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_of_subsingleton Asymptotics.isLittleO_of_subsingletonₓ'. -/
 @[nontriviality]
-theorem isOCat_of_subsingleton [Subsingleton E'] : f' =o[l] g' :=
-  IsOCat.of_bound fun c hc => by simp [Subsingleton.elim (f' _) 0, mul_nonneg hc.le]
-#align asymptotics.is_o_of_subsingleton Asymptotics.isOCat_of_subsingleton
-
+theorem isLittleO_of_subsingleton [Subsingleton E'] : f' =o[l] g' :=
+  IsLittleO.of_bound fun c hc => by simp [Subsingleton.elim (f' _) 0, mul_nonneg hc.le]
+#align asymptotics.is_o_of_subsingleton Asymptotics.isLittleO_of_subsingleton
+
+/- warning: asymptotics.is_O_of_subsingleton -> Asymptotics.isBigO_of_subsingleton is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : Subsingleton.{succ u2} E'], Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g'
+but is expected to have type
+  forall {α : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u2} α} [_inst_14 : Subsingleton.{succ u3} E'], Asymptotics.IsBigO.{u2, u3, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g'
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_of_subsingleton Asymptotics.isBigO_of_subsingletonₓ'. -/
 @[nontriviality]
-theorem isO_of_subsingleton [Subsingleton E'] : f' =O[l] g' :=
-  isOCat_of_subsingleton.IsO
-#align asymptotics.is_O_of_subsingleton Asymptotics.isO_of_subsingleton
+theorem isBigO_of_subsingleton [Subsingleton E'] : f' =O[l] g' :=
+  isLittleO_of_subsingleton.IsBigO
+#align asymptotics.is_O_of_subsingleton Asymptotics.isBigO_of_subsingleton
 
 section congr
 
@@ -289,159 +502,342 @@ variable {f₁ f₂ : α → E} {g₁ g₂ : α → F}
 /-! ### Congruence -/
 
 
-theorem isOWith_congr (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
-    IsOWith c₁ l f₁ g₁ ↔ IsOWith c₂ l f₂ g₂ :=
+/- warning: asymptotics.is_O_with_congr -> Asymptotics.isBigOWith_congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Eq.{1} Real c₁ c₂) -> (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₁ l f₁ g₁) (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₂ l f₂ g₂))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Eq.{1} Real c₁ c₂) -> (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₁ l f₁ g₁) (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₂ l f₂ g₂))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_congr Asymptotics.isBigOWith_congrₓ'. -/
+theorem isBigOWith_congr (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) :
+    IsBigOWith c₁ l f₁ g₁ ↔ IsBigOWith c₂ l f₂ g₂ :=
   by
   unfold is_O_with
   subst c₂
   apply Filter.eventually_congr
   filter_upwards [hf, hg]with _ e₁ e₂
   rw [e₁, e₂]
-#align asymptotics.is_O_with_congr Asymptotics.isOWith_congr
-
-theorem IsOWith.congr' (h : IsOWith c₁ l f₁ g₁) (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂)
-    (hg : g₁ =ᶠ[l] g₂) : IsOWith c₂ l f₂ g₂ :=
-  (isOWith_congr hc hf hg).mp h
-#align asymptotics.is_O_with.congr' Asymptotics.IsOWith.congr'
-
-theorem IsOWith.congr (h : IsOWith c₁ l f₁ g₁) (hc : c₁ = c₂) (hf : ∀ x, f₁ x = f₂ x)
-    (hg : ∀ x, g₁ x = g₂ x) : IsOWith c₂ l f₂ g₂ :=
+#align asymptotics.is_O_with_congr Asymptotics.isBigOWith_congr
+
+/- warning: asymptotics.is_O_with.congr' -> Asymptotics.IsBigOWith.congr' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₁ l f₁ g₁) -> (Eq.{1} Real c₁ c₂) -> (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₂ l f₂ g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₁ l f₁ g₁) -> (Eq.{1} Real c₁ c₂) -> (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₂ l f₂ g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr' Asymptotics.IsBigOWith.congr'ₓ'. -/
+theorem IsBigOWith.congr' (h : IsBigOWith c₁ l f₁ g₁) (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂)
+    (hg : g₁ =ᶠ[l] g₂) : IsBigOWith c₂ l f₂ g₂ :=
+  (isBigOWith_congr hc hf hg).mp h
+#align asymptotics.is_O_with.congr' Asymptotics.IsBigOWith.congr'
+
+/- warning: asymptotics.is_O_with.congr -> Asymptotics.IsBigOWith.congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₁ l f₁ g₁) -> (Eq.{1} Real c₁ c₂) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₂ l f₂ g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c₁ : Real} {c₂ : Real} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₁ l f₁ g₁) -> (Eq.{1} Real c₁ c₂) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₂ l f₂ g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr Asymptotics.IsBigOWith.congrₓ'. -/
+theorem IsBigOWith.congr (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₂ :=
   h.congr' hc (univ_mem' hf) (univ_mem' hg)
-#align asymptotics.is_O_with.congr Asymptotics.IsOWith.congr
-
-theorem IsOWith.congr_left (h : IsOWith c l f₁ g) (hf : ∀ x, f₁ x = f₂ x) : IsOWith c l f₂ g :=
+#align asymptotics.is_O_with.congr Asymptotics.IsBigOWith.congr
+
+/- warning: asymptotics.is_O_with.congr_left -> Asymptotics.IsBigOWith.congr_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f₂ g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f₂ g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr_left Asymptotics.IsBigOWith.congr_leftₓ'. -/
+theorem IsBigOWith.congr_left (h : IsBigOWith c l f₁ g) (hf : ∀ x, f₁ x = f₂ x) :
+    IsBigOWith c l f₂ g :=
   h.congr rfl hf fun _ => rfl
-#align asymptotics.is_O_with.congr_left Asymptotics.IsOWith.congr_left
-
-theorem IsOWith.congr_right (h : IsOWith c l f g₁) (hg : ∀ x, g₁ x = g₂ x) : IsOWith c l f g₂ :=
+#align asymptotics.is_O_with.congr_left Asymptotics.IsBigOWith.congr_left
+
+/- warning: asymptotics.is_O_with.congr_right -> Asymptotics.IsBigOWith.congr_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {l : Filter.{u1} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g₁) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {l : Filter.{u3} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g₁) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr_right Asymptotics.IsBigOWith.congr_rightₓ'. -/
+theorem IsBigOWith.congr_right (h : IsBigOWith c l f g₁) (hg : ∀ x, g₁ x = g₂ x) :
+    IsBigOWith c l f g₂ :=
   h.congr rfl (fun _ => rfl) hg
-#align asymptotics.is_O_with.congr_right Asymptotics.IsOWith.congr_right
-
-theorem IsOWith.congr_const (h : IsOWith c₁ l f g) (hc : c₁ = c₂) : IsOWith c₂ l f g :=
+#align asymptotics.is_O_with.congr_right Asymptotics.IsBigOWith.congr_right
+
+/- warning: asymptotics.is_O_with.congr_const -> Asymptotics.IsBigOWith.congr_const is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c₁ : Real} {c₂ : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₁ l f g) -> (Eq.{1} Real c₁ c₂) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c₂ l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c₁ : Real} {c₂ : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₁ l f g) -> (Eq.{1} Real c₁ c₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c₂ l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.congr_const Asymptotics.IsBigOWith.congr_constₓ'. -/
+theorem IsBigOWith.congr_const (h : IsBigOWith c₁ l f g) (hc : c₁ = c₂) : IsBigOWith c₂ l f g :=
   h.congr hc (fun _ => rfl) fun _ => rfl
-#align asymptotics.is_O_with.congr_const Asymptotics.IsOWith.congr_const
-
-theorem isO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =O[l] g₁ ↔ f₂ =O[l] g₂ :=
+#align asymptotics.is_O_with.congr_const Asymptotics.IsBigOWith.congr_const
+
+/- warning: asymptotics.is_O_congr -> Asymptotics.isBigO_congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_congr Asymptotics.isBigO_congrₓ'. -/
+theorem isBigO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =O[l] g₁ ↔ f₂ =O[l] g₂ :=
   by
   unfold is_O
   exact exists_congr fun c => is_O_with_congr rfl hf hg
-#align asymptotics.is_O_congr Asymptotics.isO_congr
-
-theorem IsO.congr' (h : f₁ =O[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₂ =O[l] g₂ :=
-  (isO_congr hf hg).mp h
-#align asymptotics.is_O.congr' Asymptotics.IsO.congr'
-
-theorem IsO.congr (h : f₁ =O[l] g₁) (hf : ∀ x, f₁ x = f₂ x) (hg : ∀ x, g₁ x = g₂ x) : f₂ =O[l] g₂ :=
+#align asymptotics.is_O_congr Asymptotics.isBigO_congr
+
+/- warning: asymptotics.is_O.congr' -> Asymptotics.IsBigO.congr' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) -> (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) -> (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr' Asymptotics.IsBigO.congr'ₓ'. -/
+theorem IsBigO.congr' (h : f₁ =O[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₂ =O[l] g₂ :=
+  (isBigO_congr hf hg).mp h
+#align asymptotics.is_O.congr' Asymptotics.IsBigO.congr'
+
+/- warning: asymptotics.is_O.congr -> Asymptotics.IsBigO.congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr Asymptotics.IsBigO.congrₓ'. -/
+theorem IsBigO.congr (h : f₁ =O[l] g₁) (hf : ∀ x, f₁ x = f₂ x) (hg : ∀ x, g₁ x = g₂ x) :
+    f₂ =O[l] g₂ :=
   h.congr' (univ_mem' hf) (univ_mem' hg)
-#align asymptotics.is_O.congr Asymptotics.IsO.congr
-
-theorem IsO.congr_left (h : f₁ =O[l] g) (hf : ∀ x, f₁ x = f₂ x) : f₂ =O[l] g :=
+#align asymptotics.is_O.congr Asymptotics.IsBigO.congr
+
+/- warning: asymptotics.is_O.congr_left -> Asymptotics.IsBigO.congr_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr_left Asymptotics.IsBigO.congr_leftₓ'. -/
+theorem IsBigO.congr_left (h : f₁ =O[l] g) (hf : ∀ x, f₁ x = f₂ x) : f₂ =O[l] g :=
   h.congr hf fun _ => rfl
-#align asymptotics.is_O.congr_left Asymptotics.IsO.congr_left
-
-theorem IsO.congr_right (h : f =O[l] g₁) (hg : ∀ x, g₁ x = g₂ x) : f =O[l] g₂ :=
+#align asymptotics.is_O.congr_left Asymptotics.IsBigO.congr_left
+
+/- warning: asymptotics.is_O.congr_right -> Asymptotics.IsBigO.congr_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₁) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₁) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr_right Asymptotics.IsBigO.congr_rightₓ'. -/
+theorem IsBigO.congr_right (h : f =O[l] g₁) (hg : ∀ x, g₁ x = g₂ x) : f =O[l] g₂ :=
   h.congr (fun _ => rfl) hg
-#align asymptotics.is_O.congr_right Asymptotics.IsO.congr_right
-
-theorem isOCat_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =o[l] g₁ ↔ f₂ =o[l] g₂ :=
+#align asymptotics.is_O.congr_right Asymptotics.IsBigO.congr_right
+
+/- warning: asymptotics.is_o_congr -> Asymptotics.isLittleO_congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_congr Asymptotics.isLittleO_congrₓ'. -/
+theorem isLittleO_congr (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₁ =o[l] g₁ ↔ f₂ =o[l] g₂ :=
   by
   unfold is_o
   exact forall₂_congr fun c hc => is_O_with_congr (Eq.refl c) hf hg
-#align asymptotics.is_o_congr Asymptotics.isOCat_congr
-
-theorem IsOCat.congr' (h : f₁ =o[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₂ =o[l] g₂ :=
-  (isOCat_congr hf hg).mp h
-#align asymptotics.is_o.congr' Asymptotics.IsOCat.congr'
-
-theorem IsOCat.congr (h : f₁ =o[l] g₁) (hf : ∀ x, f₁ x = f₂ x) (hg : ∀ x, g₁ x = g₂ x) :
+#align asymptotics.is_o_congr Asymptotics.isLittleO_congr
+
+/- warning: asymptotics.is_o.congr' -> Asymptotics.IsLittleO.congr' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) -> (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) -> (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr' Asymptotics.IsLittleO.congr'ₓ'. -/
+theorem IsLittleO.congr' (h : f₁ =o[l] g₁) (hf : f₁ =ᶠ[l] f₂) (hg : g₁ =ᶠ[l] g₂) : f₂ =o[l] g₂ :=
+  (isLittleO_congr hf hg).mp h
+#align asymptotics.is_o.congr' Asymptotics.IsLittleO.congr'
+
+/- warning: asymptotics.is_o.congr -> Asymptotics.IsLittleO.congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g₁) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g₁) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr Asymptotics.IsLittleO.congrₓ'. -/
+theorem IsLittleO.congr (h : f₁ =o[l] g₁) (hf : ∀ x, f₁ x = f₂ x) (hg : ∀ x, g₁ x = g₂ x) :
     f₂ =o[l] g₂ :=
   h.congr' (univ_mem' hf) (univ_mem' hg)
-#align asymptotics.is_o.congr Asymptotics.IsOCat.congr
-
-theorem IsOCat.congr_left (h : f₁ =o[l] g) (hf : ∀ x, f₁ x = f₂ x) : f₂ =o[l] g :=
+#align asymptotics.is_o.congr Asymptotics.IsLittleO.congr
+
+/- warning: asymptotics.is_o.congr_left -> Asymptotics.IsLittleO.congr_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g) -> (forall (x : α), Eq.{succ u2} E (f₁ x) (f₂ x)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr_left Asymptotics.IsLittleO.congr_leftₓ'. -/
+theorem IsLittleO.congr_left (h : f₁ =o[l] g) (hf : ∀ x, f₁ x = f₂ x) : f₂ =o[l] g :=
   h.congr hf fun _ => rfl
-#align asymptotics.is_o.congr_left Asymptotics.IsOCat.congr_left
-
-theorem IsOCat.congr_right (h : f =o[l] g₁) (hg : ∀ x, g₁ x = g₂ x) : f =o[l] g₂ :=
+#align asymptotics.is_o.congr_left Asymptotics.IsLittleO.congr_left
+
+/- warning: asymptotics.is_o.congr_right -> Asymptotics.IsLittleO.congr_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₁) -> (forall (x : α), Eq.{succ u3} F (g₁ x) (g₂ x)) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₁) -> (forall (x : α), Eq.{succ u1} F (g₁ x) (g₂ x)) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr_right Asymptotics.IsLittleO.congr_rightₓ'. -/
+theorem IsLittleO.congr_right (h : f =o[l] g₁) (hg : ∀ x, g₁ x = g₂ x) : f =o[l] g₂ :=
   h.congr (fun _ => rfl) hg
-#align asymptotics.is_o.congr_right Asymptotics.IsOCat.congr_right
-
+#align asymptotics.is_o.congr_right Asymptotics.IsLittleO.congr_right
+
+/- warning: filter.eventually_eq.trans_is_O -> Filter.EventuallyEq.trans_isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g : α -> F}, (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g)
+Case conversion may be inaccurate. Consider using '#align filter.eventually_eq.trans_is_O Filter.EventuallyEq.trans_isBigOₓ'. -/
 @[trans]
-theorem Filter.EventuallyEq.trans_isO {f₁ f₂ : α → E} {g : α → F} (hf : f₁ =ᶠ[l] f₂)
+theorem Filter.EventuallyEq.trans_isBigO {f₁ f₂ : α → E} {g : α → F} (hf : f₁ =ᶠ[l] f₂)
     (h : f₂ =O[l] g) : f₁ =O[l] g :=
   h.congr' hf.symm EventuallyEq.rfl
-#align filter.eventually_eq.trans_is_O Filter.EventuallyEq.trans_isO
-
+#align filter.eventually_eq.trans_is_O Filter.EventuallyEq.trans_isBigO
+
+/- warning: filter.eventually_eq.trans_is_o -> Filter.EventuallyEq.trans_isLittleO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f₁ : α -> E} {f₂ : α -> E} {g : α -> F}, (Filter.EventuallyEq.{u1, u2} α E l f₁ f₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f₁ g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f₁ : α -> E} {f₂ : α -> E} {g : α -> F}, (Filter.EventuallyEq.{u3, u2} α E l f₁ f₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f₁ g)
+Case conversion may be inaccurate. Consider using '#align filter.eventually_eq.trans_is_o Filter.EventuallyEq.trans_isLittleOₓ'. -/
 @[trans]
-theorem Filter.EventuallyEq.trans_isOCat {f₁ f₂ : α → E} {g : α → F} (hf : f₁ =ᶠ[l] f₂)
+theorem Filter.EventuallyEq.trans_isLittleO {f₁ f₂ : α → E} {g : α → F} (hf : f₁ =ᶠ[l] f₂)
     (h : f₂ =o[l] g) : f₁ =o[l] g :=
   h.congr' hf.symm EventuallyEq.rfl
-#align filter.eventually_eq.trans_is_o Filter.EventuallyEq.trans_isOCat
-
+#align filter.eventually_eq.trans_is_o Filter.EventuallyEq.trans_isLittleO
+
+/- warning: asymptotics.is_O.trans_eventually_eq -> Asymptotics.IsBigO.trans_eventuallyEq is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₁) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₁) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_eventually_eq Asymptotics.IsBigO.trans_eventuallyEqₓ'. -/
 @[trans]
-theorem IsO.trans_eventuallyEq {f : α → E} {g₁ g₂ : α → F} (h : f =O[l] g₁) (hg : g₁ =ᶠ[l] g₂) :
+theorem IsBigO.trans_eventuallyEq {f : α → E} {g₁ g₂ : α → F} (h : f =O[l] g₁) (hg : g₁ =ᶠ[l] g₂) :
     f =O[l] g₂ :=
   h.congr' EventuallyEq.rfl hg
-#align asymptotics.is_O.trans_eventually_eq Asymptotics.IsO.trans_eventuallyEq
-
+#align asymptotics.is_O.trans_eventually_eq Asymptotics.IsBigO.trans_eventuallyEq
+
+/- warning: asymptotics.is_o.trans_eventually_eq -> Asymptotics.IsLittleO.trans_eventuallyEq is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {l : Filter.{u1} α} {f : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₁) -> (Filter.EventuallyEq.{u1, u3} α F l g₁ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g₂)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {l : Filter.{u3} α} {f : α -> E} {g₁ : α -> F} {g₂ : α -> F}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₁) -> (Filter.EventuallyEq.{u3, u1} α F l g₁ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g₂)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_eventually_eq Asymptotics.IsLittleO.trans_eventuallyEqₓ'. -/
 @[trans]
-theorem IsOCat.trans_eventuallyEq {f : α → E} {g₁ g₂ : α → F} (h : f =o[l] g₁) (hg : g₁ =ᶠ[l] g₂) :
-    f =o[l] g₂ :=
+theorem IsLittleO.trans_eventuallyEq {f : α → E} {g₁ g₂ : α → F} (h : f =o[l] g₁)
+    (hg : g₁ =ᶠ[l] g₂) : f =o[l] g₂ :=
   h.congr' EventuallyEq.rfl hg
-#align asymptotics.is_o.trans_eventually_eq Asymptotics.IsOCat.trans_eventuallyEq
+#align asymptotics.is_o.trans_eventually_eq Asymptotics.IsLittleO.trans_eventuallyEq
 
 end congr
 
 /-! ### Filter operations and transitivity -/
 
 
-theorem IsOWith.comp_tendsto (hcfg : IsOWith c l f g) {k : β → α} {l' : Filter β}
-    (hk : Tendsto k l' l) : IsOWith c l' (f ∘ k) (g ∘ k) :=
-  IsOWith.of_bound <| hk hcfg.bound
-#align asymptotics.is_O_with.comp_tendsto Asymptotics.IsOWith.comp_tendsto
-
-theorem IsO.comp_tendsto (hfg : f =O[l] g) {k : β → α} {l' : Filter β} (hk : Tendsto k l' l) :
+/- warning: asymptotics.is_O_with.comp_tendsto -> Asymptotics.IsBigOWith.comp_tendsto is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u3, u4} α E F _inst_1 _inst_2 c l f g) -> (forall {k : β -> α} {l' : Filter.{u2} β}, (Filter.Tendsto.{u2, u1} β α k l' l) -> (Asymptotics.IsBigOWith.{u2, u3, u4} β E F _inst_1 _inst_2 c l' (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k)))
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F _inst_1 _inst_2 c l f g) -> (forall {k : β -> α} {l' : Filter.{u1} β}, (Filter.Tendsto.{u1, u4} β α k l' l) -> (Asymptotics.IsBigOWith.{u1, u3, u2} β E F _inst_1 _inst_2 c l' (Function.comp.{succ u1, succ u4, succ u3} β α E f k) (Function.comp.{succ u1, succ u4, succ u2} β α F g k)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.comp_tendsto Asymptotics.IsBigOWith.comp_tendstoₓ'. -/
+theorem IsBigOWith.comp_tendsto (hcfg : IsBigOWith c l f g) {k : β → α} {l' : Filter β}
+    (hk : Tendsto k l' l) : IsBigOWith c l' (f ∘ k) (g ∘ k) :=
+  IsBigOWith.of_bound <| hk hcfg.bound
+#align asymptotics.is_O_with.comp_tendsto Asymptotics.IsBigOWith.comp_tendsto
+
+/- warning: asymptotics.is_O.comp_tendsto -> Asymptotics.IsBigO.comp_tendsto is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u4} α E F _inst_1 _inst_2 l f g) -> (forall {k : β -> α} {l' : Filter.{u2} β}, (Filter.Tendsto.{u2, u1} β α k l' l) -> (Asymptotics.IsBigO.{u2, u3, u4} β E F _inst_1 _inst_2 l' (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k)))
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (forall {k : β -> α} {l' : Filter.{u1} β}, (Filter.Tendsto.{u1, u4} β α k l' l) -> (Asymptotics.IsBigO.{u1, u3, u2} β E F _inst_1 _inst_2 l' (Function.comp.{succ u1, succ u4, succ u3} β α E f k) (Function.comp.{succ u1, succ u4, succ u2} β α F g k)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.comp_tendsto Asymptotics.IsBigO.comp_tendstoₓ'. -/
+theorem IsBigO.comp_tendsto (hfg : f =O[l] g) {k : β → α} {l' : Filter β} (hk : Tendsto k l' l) :
     (f ∘ k) =O[l'] (g ∘ k) :=
-  isO_iff_isOWith.2 <| hfg.IsOWith.imp fun c h => h.comp_tendsto hk
-#align asymptotics.is_O.comp_tendsto Asymptotics.IsO.comp_tendsto
-
-theorem IsOCat.comp_tendsto (hfg : f =o[l] g) {k : β → α} {l' : Filter β} (hk : Tendsto k l' l) :
+  isBigO_iff_isBigOWith.2 <| hfg.IsBigOWith.imp fun c h => h.comp_tendsto hk
+#align asymptotics.is_O.comp_tendsto Asymptotics.IsBigO.comp_tendsto
+
+/- warning: asymptotics.is_o.comp_tendsto -> Asymptotics.IsLittleO.comp_tendsto is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u3, u4} α E F _inst_1 _inst_2 l f g) -> (forall {k : β -> α} {l' : Filter.{u2} β}, (Filter.Tendsto.{u2, u1} β α k l' l) -> (Asymptotics.IsLittleO.{u2, u3, u4} β E F _inst_1 _inst_2 l' (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k)))
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (forall {k : β -> α} {l' : Filter.{u1} β}, (Filter.Tendsto.{u1, u4} β α k l' l) -> (Asymptotics.IsLittleO.{u1, u3, u2} β E F _inst_1 _inst_2 l' (Function.comp.{succ u1, succ u4, succ u3} β α E f k) (Function.comp.{succ u1, succ u4, succ u2} β α F g k)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.comp_tendsto Asymptotics.IsLittleO.comp_tendstoₓ'. -/
+theorem IsLittleO.comp_tendsto (hfg : f =o[l] g) {k : β → α} {l' : Filter β} (hk : Tendsto k l' l) :
     (f ∘ k) =o[l'] (g ∘ k) :=
-  IsOCat.of_isOWith fun c cpos => (hfg.forall_isOWith cpos).comp_tendsto hk
-#align asymptotics.is_o.comp_tendsto Asymptotics.IsOCat.comp_tendsto
-
+  IsLittleO.of_isBigOWith fun c cpos => (hfg.forall_isBigOWith cpos).comp_tendsto hk
+#align asymptotics.is_o.comp_tendsto Asymptotics.IsLittleO.comp_tendsto
+
+/- warning: asymptotics.is_O_with_map -> Asymptotics.isBigOWith_map is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {c : Real} {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u2} β}, Iff (Asymptotics.IsBigOWith.{u1, u3, u4} α E F _inst_1 _inst_2 c (Filter.map.{u2, u1} β α k l) f g) (Asymptotics.IsBigOWith.{u2, u3, u4} β E F _inst_1 _inst_2 c l (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u4}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u4} β}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Filter.map.{u4, u3} β α k l) f g) (Asymptotics.IsBigOWith.{u4, u2, u1} β E F _inst_1 _inst_2 c l (Function.comp.{succ u4, succ u3, succ u2} β α E f k) (Function.comp.{succ u4, succ u3, succ u1} β α F g k))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_map Asymptotics.isBigOWith_mapₓ'. -/
 @[simp]
-theorem isOWith_map {k : β → α} {l : Filter β} :
-    IsOWith c (map k l) f g ↔ IsOWith c l (f ∘ k) (g ∘ k) :=
+theorem isBigOWith_map {k : β → α} {l : Filter β} :
+    IsBigOWith c (map k l) f g ↔ IsBigOWith c l (f ∘ k) (g ∘ k) :=
   by
   unfold is_O_with
   exact eventually_map
-#align asymptotics.is_O_with_map Asymptotics.isOWith_map
-
+#align asymptotics.is_O_with_map Asymptotics.isBigOWith_map
+
+/- warning: asymptotics.is_O_map -> Asymptotics.isBigO_map is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u2} β}, Iff (Asymptotics.IsBigO.{u1, u3, u4} α E F _inst_1 _inst_2 (Filter.map.{u2, u1} β α k l) f g) (Asymptotics.IsBigO.{u2, u3, u4} β E F _inst_1 _inst_2 l (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u4}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u4} β}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 (Filter.map.{u4, u3} β α k l) f g) (Asymptotics.IsBigO.{u4, u2, u1} β E F _inst_1 _inst_2 l (Function.comp.{succ u4, succ u3, succ u2} β α E f k) (Function.comp.{succ u4, succ u3, succ u1} β α F g k))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_map Asymptotics.isBigO_mapₓ'. -/
 @[simp]
-theorem isO_map {k : β → α} {l : Filter β} : f =O[map k l] g ↔ (f ∘ k) =O[l] (g ∘ k) := by
+theorem isBigO_map {k : β → α} {l : Filter β} : f =O[map k l] g ↔ (f ∘ k) =O[l] (g ∘ k) := by
   simp only [is_O, is_O_with_map]
-#align asymptotics.is_O_map Asymptotics.isO_map
-
+#align asymptotics.is_O_map Asymptotics.isBigO_map
+
+/- warning: asymptotics.is_o_map -> Asymptotics.isLittleO_map is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u4} F] {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u2} β}, Iff (Asymptotics.IsLittleO.{u1, u3, u4} α E F _inst_1 _inst_2 (Filter.map.{u2, u1} β α k l) f g) (Asymptotics.IsLittleO.{u2, u3, u4} β E F _inst_1 _inst_2 l (Function.comp.{succ u2, succ u1, succ u3} β α E f k) (Function.comp.{succ u2, succ u1, succ u4} β α F g k))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u4}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {k : β -> α} {l : Filter.{u4} β}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 (Filter.map.{u4, u3} β α k l) f g) (Asymptotics.IsLittleO.{u4, u2, u1} β E F _inst_1 _inst_2 l (Function.comp.{succ u4, succ u3, succ u2} β α E f k) (Function.comp.{succ u4, succ u3, succ u1} β α F g k))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_map Asymptotics.isLittleO_mapₓ'. -/
 @[simp]
-theorem isOCat_map {k : β → α} {l : Filter β} : f =o[map k l] g ↔ (f ∘ k) =o[l] (g ∘ k) := by
+theorem isLittleO_map {k : β → α} {l : Filter β} : f =o[map k l] g ↔ (f ∘ k) =o[l] (g ∘ k) := by
   simp only [is_o, is_O_with_map]
-#align asymptotics.is_o_map Asymptotics.isOCat_map
-
-theorem IsOWith.mono (h : IsOWith c l' f g) (hl : l ≤ l') : IsOWith c l f g :=
-  IsOWith.of_bound <| hl h.bound
-#align asymptotics.is_O_with.mono Asymptotics.IsOWith.mono
-
-theorem IsO.mono (h : f =O[l'] g) (hl : l ≤ l') : f =O[l] g :=
-  isO_iff_isOWith.2 <| h.IsOWith.imp fun c h => h.mono hl
-#align asymptotics.is_O.mono Asymptotics.IsO.mono
-
-theorem IsOCat.mono (h : f =o[l'] g) (hl : l ≤ l') : f =o[l] g :=
-  IsOCat.of_isOWith fun c cpos => (h.forall_isOWith cpos).mono hl
-#align asymptotics.is_o.mono Asymptotics.IsOCat.mono
-
-theorem IsOWith.trans (hfg : IsOWith c l f g) (hgk : IsOWith c' l g k) (hc : 0 ≤ c) :
-    IsOWith (c * c') l f k := by
+#align asymptotics.is_o_map Asymptotics.isLittleO_map
+
+/- warning: asymptotics.is_O_with.mono -> Asymptotics.IsBigOWith.mono is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l' f g) -> (LE.le.{u3} (Filter.{u3} α) (Preorder.toLE.{u3} (Filter.{u3} α) (PartialOrder.toPreorder.{u3} (Filter.{u3} α) (Filter.instPartialOrderFilter.{u3} α))) l l') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.mono Asymptotics.IsBigOWith.monoₓ'. -/
+theorem IsBigOWith.mono (h : IsBigOWith c l' f g) (hl : l ≤ l') : IsBigOWith c l f g :=
+  IsBigOWith.of_bound <| hl h.bound
+#align asymptotics.is_O_with.mono Asymptotics.IsBigOWith.mono
+
+/- warning: asymptotics.is_O.mono -> Asymptotics.IsBigO.mono is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u3} (Filter.{u3} α) (Preorder.toLE.{u3} (Filter.{u3} α) (PartialOrder.toPreorder.{u3} (Filter.{u3} α) (Filter.instPartialOrderFilter.{u3} α))) l l') -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.mono Asymptotics.IsBigO.monoₓ'. -/
+theorem IsBigO.mono (h : f =O[l'] g) (hl : l ≤ l') : f =O[l] g :=
+  isBigO_iff_isBigOWith.2 <| h.IsBigOWith.imp fun c h => h.mono hl
+#align asymptotics.is_O.mono Asymptotics.IsBigO.mono
+
+/- warning: asymptotics.is_o.mono -> Asymptotics.IsLittleO.mono is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) l l') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g) -> (LE.le.{u3} (Filter.{u3} α) (Preorder.toLE.{u3} (Filter.{u3} α) (PartialOrder.toPreorder.{u3} (Filter.{u3} α) (Filter.instPartialOrderFilter.{u3} α))) l l') -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.mono Asymptotics.IsLittleO.monoₓ'. -/
+theorem IsLittleO.mono (h : f =o[l'] g) (hl : l ≤ l') : f =o[l] g :=
+  IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).mono hl
+#align asymptotics.is_o.mono Asymptotics.IsLittleO.mono
+
+/- warning: asymptotics.is_O_with.trans -> Asymptotics.IsBigOWith.trans is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {c : Real} {c' : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F G _inst_2 _inst_3 c' l g k) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u4} α E G _inst_1 _inst_3 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c c') l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {c : Real} {c' : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigOWith.{u4, u2, u1} α F G _inst_2 _inst_3 c' l g k) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u4, u3, u1} α E G _inst_1 _inst_3 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c c') l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.trans Asymptotics.IsBigOWith.transₓ'. -/
+theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k) (hc : 0 ≤ c) :
+    IsBigOWith (c * c') l f k := by
   unfold is_O_with at *
   filter_upwards [hfg, hgk]with x hx hx'
   calc
@@ -449,194 +845,400 @@ theorem IsOWith.trans (hfg : IsOWith c l f g) (hgk : IsOWith c' l g k) (hc : 0 
     _ ≤ c * (c' * ‖k x‖) := (mul_le_mul_of_nonneg_left hx' hc)
     _ = c * c' * ‖k x‖ := (mul_assoc _ _ _).symm
     
-#align asymptotics.is_O_with.trans Asymptotics.IsOWith.trans
-
+#align asymptotics.is_O_with.trans Asymptotics.IsBigOWith.trans
+
+/- warning: asymptotics.is_O.trans -> Asymptotics.IsBigO.trans is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {G : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_3 : Norm.{u3} G] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {l : Filter.{u1} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g) -> (Asymptotics.IsBigO.{u1, u4, u3} α F' G (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsBigO.{u1, u2, u3} α E G _inst_1 _inst_3 l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {G : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_3 : Norm.{u1} G] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u4} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g) -> (Asymptotics.IsBigO.{u4, u2, u1} α F' G (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsBigO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans Asymptotics.IsBigO.transₓ'. -/
 @[trans]
-theorem IsO.trans {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l] g) (hgk : g =O[l] k) :
+theorem IsBigO.trans {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l] g) (hgk : g =O[l] k) :
     f =O[l] k :=
   let ⟨c, cnonneg, hc⟩ := hfg.exists_nonneg
-  let ⟨c', hc'⟩ := hgk.IsOWith
-  (hc.trans hc' cnonneg).IsO
-#align asymptotics.is_O.trans Asymptotics.IsO.trans
-
-theorem IsOCat.trans_isOWith (hfg : f =o[l] g) (hgk : IsOWith c l g k) (hc : 0 < c) : f =o[l] k :=
-  by
+  let ⟨c', hc'⟩ := hgk.IsBigOWith
+  (hc.trans hc' cnonneg).IsBigO
+#align asymptotics.is_O.trans Asymptotics.IsBigO.trans
+
+/- warning: asymptotics.is_o.trans_is_O_with -> Asymptotics.IsLittleO.trans_isBigOWith is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F G _inst_2 _inst_3 c l g k) -> (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G _inst_1 _inst_3 l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigOWith.{u4, u2, u1} α F G _inst_2 _inst_3 c l g k) -> (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_is_O_with Asymptotics.IsLittleO.trans_isBigOWithₓ'. -/
+theorem IsLittleO.trans_isBigOWith (hfg : f =o[l] g) (hgk : IsBigOWith c l g k) (hc : 0 < c) :
+    f =o[l] k := by
   unfold is_o at *
   intro c' c'pos
   have : 0 < c' / c := div_pos c'pos hc
   exact ((hfg this).trans hgk this.le).congr_const (div_mul_cancel _ hc.ne')
-#align asymptotics.is_o.trans_is_O_with Asymptotics.IsOCat.trans_isOWith
-
+#align asymptotics.is_o.trans_is_O_with Asymptotics.IsLittleO.trans_isBigOWith
+
+/- warning: asymptotics.is_o.trans_is_O -> Asymptotics.IsLittleO.trans_isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {l : Filter.{u1} α} {f : α -> E} {g : α -> F} {k : α -> G'}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigO.{u1, u3, u4} α F G' _inst_2 (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g k) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G' : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {l : Filter.{u4} α} {f : α -> E} {g : α -> F} {k : α -> G'}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsBigO.{u4, u2, u1} α F G' _inst_2 (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g k) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_is_O Asymptotics.IsLittleO.trans_isBigOₓ'. -/
 @[trans]
-theorem IsOCat.trans_isO {f : α → E} {g : α → F} {k : α → G'} (hfg : f =o[l] g) (hgk : g =O[l] k) :
-    f =o[l] k :=
+theorem IsLittleO.trans_isBigO {f : α → E} {g : α → F} {k : α → G'} (hfg : f =o[l] g)
+    (hgk : g =O[l] k) : f =o[l] k :=
   let ⟨c, cpos, hc⟩ := hgk.exists_pos
-  hfg.trans_isOWith hc cpos
-#align asymptotics.is_o.trans_is_O Asymptotics.IsOCat.trans_isO
-
-theorem IsOWith.trans_isOCat (hfg : IsOWith c l f g) (hgk : g =o[l] k) (hc : 0 < c) : f =o[l] k :=
-  by
+  hfg.trans_isBigOWith hc cpos
+#align asymptotics.is_o.trans_is_O Asymptotics.IsLittleO.trans_isBigO
+
+/- warning: asymptotics.is_O_with.trans_is_o -> Asymptotics.IsBigOWith.trans_isLittleO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsLittleO.{u1, u3, u4} α F G _inst_2 _inst_3 l g k) -> (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G _inst_1 _inst_3 l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsLittleO.{u4, u2, u1} α F G _inst_2 _inst_3 l g k) -> (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.trans_is_o Asymptotics.IsBigOWith.trans_isLittleOₓ'. -/
+theorem IsBigOWith.trans_isLittleO (hfg : IsBigOWith c l f g) (hgk : g =o[l] k) (hc : 0 < c) :
+    f =o[l] k := by
   unfold is_o at *
   intro c' c'pos
   have : 0 < c' / c := div_pos c'pos hc
   exact (hfg.trans (hgk this) hc.le).congr_const (mul_div_cancel' _ hc.ne')
-#align asymptotics.is_O_with.trans_is_o Asymptotics.IsOWith.trans_isOCat
-
+#align asymptotics.is_O_with.trans_is_o Asymptotics.IsBigOWith.trans_isLittleO
+
+/- warning: asymptotics.is_O.trans_is_o -> Asymptotics.IsBigO.trans_isLittleO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {G : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_3 : Norm.{u3} G] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {l : Filter.{u1} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g) -> (Asymptotics.IsLittleO.{u1, u4, u3} α F' G (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E G _inst_1 _inst_3 l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {G : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_3 : Norm.{u1} G] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u4} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g) -> (Asymptotics.IsLittleO.{u4, u2, u1} α F' G (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_is_o Asymptotics.IsBigO.trans_isLittleOₓ'. -/
 @[trans]
-theorem IsO.trans_isOCat {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l] g) (hgk : g =o[l] k) :
-    f =o[l] k :=
+theorem IsBigO.trans_isLittleO {f : α → E} {g : α → F'} {k : α → G} (hfg : f =O[l] g)
+    (hgk : g =o[l] k) : f =o[l] k :=
   let ⟨c, cpos, hc⟩ := hfg.exists_pos
-  hc.trans_isOCat hgk cpos
-#align asymptotics.is_O.trans_is_o Asymptotics.IsO.trans_isOCat
-
+  hc.trans_isLittleO hgk cpos
+#align asymptotics.is_O.trans_is_o Asymptotics.IsBigO.trans_isLittleO
+
+/- warning: asymptotics.is_o.trans -> Asymptotics.IsLittleO.trans is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {l : Filter.{u1} α} {f : α -> E} {g : α -> F} {k : α -> G}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsLittleO.{u1, u3, u4} α F G _inst_2 _inst_3 l g k) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G _inst_1 _inst_3 l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {l : Filter.{u4} α} {f : α -> E} {g : α -> F} {k : α -> G}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsLittleO.{u4, u2, u1} α F G _inst_2 _inst_3 l g k) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans Asymptotics.IsLittleO.transₓ'. -/
 @[trans]
-theorem IsOCat.trans {f : α → E} {g : α → F} {k : α → G} (hfg : f =o[l] g) (hgk : g =o[l] k) :
+theorem IsLittleO.trans {f : α → E} {g : α → F} {k : α → G} (hfg : f =o[l] g) (hgk : g =o[l] k) :
     f =o[l] k :=
-  hfg.trans_isOWith hgk.IsOWith one_pos
-#align asymptotics.is_o.trans Asymptotics.IsOCat.trans
-
-theorem Filter.Eventually.trans_isO {f : α → E} {g : α → F'} {k : α → G}
+  hfg.trans_isBigOWith hgk.IsBigOWith one_pos
+#align asymptotics.is_o.trans Asymptotics.IsLittleO.trans
+
+/- warning: filter.eventually.trans_is_O -> Filter.Eventually.trans_isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {G : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_3 : Norm.{u3} G] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {l : Filter.{u1} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u4} F' (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) (g x))) l) -> (Asymptotics.IsBigO.{u1, u4, u3} α F' G (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsBigO.{u1, u2, u3} α E G _inst_1 _inst_3 l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {G : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_3 : Norm.{u1} G] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u4} α} {f : α -> E} {g : α -> F'} {k : α -> G}, (Filter.Eventually.{u4} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (Norm.norm.{u2} F' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (g x))) l) -> (Asymptotics.IsBigO.{u4, u2, u1} α F' G (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) _inst_3 l g k) -> (Asymptotics.IsBigO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
+Case conversion may be inaccurate. Consider using '#align filter.eventually.trans_is_O Filter.Eventually.trans_isBigOₓ'. -/
+theorem Filter.Eventually.trans_isBigO {f : α → E} {g : α → F'} {k : α → G}
     (hfg : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖) (hgk : g =O[l] k) : f =O[l] k :=
-  (IsO.of_bound' hfg).trans hgk
-#align filter.eventually.trans_is_O Filter.Eventually.trans_isO
-
-theorem Filter.Eventually.isO {f : α → E} {g : α → ℝ} {l : Filter α}
+  (IsBigO.of_bound' hfg).trans hgk
+#align filter.eventually.trans_is_O Filter.Eventually.trans_isBigO
+
+/- warning: filter.eventually.is_O -> Filter.Eventually.isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {g : α -> Real} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (g x)) l) -> (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f g)
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {g : α -> Real} {l : Filter.{u2} α}, (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} E _inst_1 (f x)) (g x)) l) -> (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f g)
+Case conversion may be inaccurate. Consider using '#align filter.eventually.is_O Filter.Eventually.isBigOₓ'. -/
+theorem Filter.Eventually.isBigO {f : α → E} {g : α → ℝ} {l : Filter α}
     (hfg : ∀ᶠ x in l, ‖f x‖ ≤ g x) : f =O[l] g :=
-  IsO.of_bound' <| hfg.mono fun x hx => hx.trans <| Real.le_norm_self _
-#align filter.eventually.is_O Filter.Eventually.isO
+  IsBigO.of_bound' <| hfg.mono fun x hx => hx.trans <| Real.le_norm_self _
+#align filter.eventually.is_O Filter.Eventually.isBigO
 
 section
 
 variable (l)
 
-theorem isOWith_of_le' (hfg : ∀ x, ‖f x‖ ≤ c * ‖g x‖) : IsOWith c l f g :=
-  IsOWith.of_bound <| univ_mem' hfg
-#align asymptotics.is_O_with_of_le' Asymptotics.isOWith_of_le'
-
-theorem isOWith_of_le (hfg : ∀ x, ‖f x‖ ≤ ‖g x‖) : IsOWith 1 l f g :=
-  isOWith_of_le' l fun x => by
+/- warning: asymptotics.is_O_with_of_le' -> Asymptotics.isBigOWith_of_le' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g)
+but is expected to have type
+  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {c : Real} {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u2} F _inst_2 (g x)))) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E F _inst_1 _inst_2 c l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_of_le' Asymptotics.isBigOWith_of_le'ₓ'. -/
+theorem isBigOWith_of_le' (hfg : ∀ x, ‖f x‖ ≤ c * ‖g x‖) : IsBigOWith c l f g :=
+  IsBigOWith.of_bound <| univ_mem' hfg
+#align asymptotics.is_O_with_of_le' Asymptotics.isBigOWith_of_le'
+
+/- warning: asymptotics.is_O_with_of_le -> Asymptotics.isBigOWith_of_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F _inst_2 (g x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l f g)
+but is expected to have type
+  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (Norm.norm.{u2} F _inst_2 (g x))) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E F _inst_1 _inst_2 (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_of_le Asymptotics.isBigOWith_of_leₓ'. -/
+theorem isBigOWith_of_le (hfg : ∀ x, ‖f x‖ ≤ ‖g x‖) : IsBigOWith 1 l f g :=
+  isBigOWith_of_le' l fun x => by
     rw [one_mul]
     exact hfg x
-#align asymptotics.is_O_with_of_le Asymptotics.isOWith_of_le
-
-theorem isO_of_le' (hfg : ∀ x, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
-  (isOWith_of_le' l hfg).IsO
-#align asymptotics.is_O_of_le' Asymptotics.isO_of_le'
-
-theorem isO_of_le (hfg : ∀ x, ‖f x‖ ≤ ‖g x‖) : f =O[l] g :=
-  (isOWith_of_le l hfg).IsO
-#align asymptotics.is_O_of_le Asymptotics.isO_of_le
+#align asymptotics.is_O_with_of_le Asymptotics.isBigOWith_of_le
+
+/- warning: asymptotics.is_O_of_le' -> Asymptotics.isBigO_of_le' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {c : Real} {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u2} F _inst_2 (g x)))) -> (Asymptotics.IsBigO.{u1, u3, u2} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_of_le' Asymptotics.isBigO_of_le'ₓ'. -/
+theorem isBigO_of_le' (hfg : ∀ x, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
+  (isBigOWith_of_le' l hfg).IsBigO
+#align asymptotics.is_O_of_le' Asymptotics.isBigO_of_le'
+
+/- warning: asymptotics.is_O_of_le -> Asymptotics.isBigO_of_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F _inst_2 (g x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g)
+but is expected to have type
+  forall {α : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {g : α -> F} (l : Filter.{u1} α), (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} E _inst_1 (f x)) (Norm.norm.{u2} F _inst_2 (g x))) -> (Asymptotics.IsBigO.{u1, u3, u2} α E F _inst_1 _inst_2 l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_of_le Asymptotics.isBigO_of_leₓ'. -/
+theorem isBigO_of_le (hfg : ∀ x, ‖f x‖ ≤ ‖g x‖) : f =O[l] g :=
+  (isBigOWith_of_le l hfg).IsBigO
+#align asymptotics.is_O_of_le Asymptotics.isBigO_of_le
 
 end
 
-theorem isOWith_refl (f : α → E) (l : Filter α) : IsOWith 1 l f f :=
-  isOWith_of_le l fun _ => le_rfl
-#align asymptotics.is_O_with_refl Asymptotics.isOWith_refl
-
-theorem isO_refl (f : α → E) (l : Filter α) : f =O[l] f :=
-  (isOWith_refl f l).IsO
-#align asymptotics.is_O_refl Asymptotics.isO_refl
-
-theorem IsOWith.trans_le (hfg : IsOWith c l f g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x‖) (hc : 0 ≤ c) :
-    IsOWith c l f k :=
-  (hfg.trans (isOWith_of_le l hgk) hc).congr_const <| mul_one c
-#align asymptotics.is_O_with.trans_le Asymptotics.IsOWith.trans_le
-
-theorem IsO.trans_le (hfg : f =O[l] g') (hgk : ∀ x, ‖g' x‖ ≤ ‖k x‖) : f =O[l] k :=
-  hfg.trans (isO_of_le l hgk)
-#align asymptotics.is_O.trans_le Asymptotics.IsO.trans_le
-
-theorem IsOCat.trans_le (hfg : f =o[l] g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x‖) : f =o[l] k :=
-  hfg.trans_isOWith (isOWith_of_le _ hgk) zero_lt_one
-#align asymptotics.is_o.trans_le Asymptotics.IsOCat.trans_le
-
-theorem isOCat_irrefl' (h : ∃ᶠ x in l, ‖f' x‖ ≠ 0) : ¬f' =o[l] f' :=
+/- warning: asymptotics.is_O_with_refl -> Asymptotics.isBigOWith_refl is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] (f : α -> E) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α E E _inst_1 _inst_1 (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l f f
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] (f : α -> E) (l : Filter.{u2} α), Asymptotics.IsBigOWith.{u2, u1, u1} α E E _inst_1 _inst_1 (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l f f
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_refl Asymptotics.isBigOWith_reflₓ'. -/
+theorem isBigOWith_refl (f : α → E) (l : Filter α) : IsBigOWith 1 l f f :=
+  isBigOWith_of_le l fun _ => le_rfl
+#align asymptotics.is_O_with_refl Asymptotics.isBigOWith_refl
+
+/- warning: asymptotics.is_O_refl -> Asymptotics.isBigO_refl is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] (f : α -> E) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α E E _inst_1 _inst_1 l f f
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] (f : α -> E) (l : Filter.{u2} α), Asymptotics.IsBigO.{u2, u1, u1} α E E _inst_1 _inst_1 l f f
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_refl Asymptotics.isBigO_reflₓ'. -/
+theorem isBigO_refl (f : α → E) (l : Filter α) : f =O[l] f :=
+  (isBigOWith_refl f l).IsBigO
+#align asymptotics.is_O_refl Asymptotics.isBigO_refl
+
+/- warning: asymptotics.is_O_with.trans_le -> Asymptotics.IsBigOWith.trans_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u3} F _inst_2 (g x)) (Norm.norm.{u4} G _inst_3 (k x))) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u4} α E G _inst_1 _inst_3 c l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {c : Real} {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F _inst_1 _inst_2 c l f g) -> (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} F _inst_2 (g x)) (Norm.norm.{u1} G _inst_3 (k x))) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u4, u3, u1} α E G _inst_1 _inst_3 c l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.trans_le Asymptotics.IsBigOWith.trans_leₓ'. -/
+theorem IsBigOWith.trans_le (hfg : IsBigOWith c l f g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x‖) (hc : 0 ≤ c) :
+    IsBigOWith c l f k :=
+  (hfg.trans (isBigOWith_of_le l hgk) hc).congr_const <| mul_one c
+#align asymptotics.is_O_with.trans_le Asymptotics.IsBigOWith.trans_le
+
+/- warning: asymptotics.is_O.trans_le -> Asymptotics.IsBigO.trans_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {G : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_3 : Norm.{u3} G] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {f : α -> E} {k : α -> G} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g') -> (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u4} F' (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) (g' x)) (Norm.norm.{u3} G _inst_3 (k x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E G _inst_1 _inst_3 l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {G : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_3 : Norm.{u1} G] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f : α -> E} {k : α -> G} {g' : α -> F'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} F' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (g' x)) (Norm.norm.{u1} G _inst_3 (k x))) -> (Asymptotics.IsBigO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_le Asymptotics.IsBigO.trans_leₓ'. -/
+theorem IsBigO.trans_le (hfg : f =O[l] g') (hgk : ∀ x, ‖g' x‖ ≤ ‖k x‖) : f =O[l] k :=
+  hfg.trans (isBigO_of_le l hgk)
+#align asymptotics.is_O.trans_le Asymptotics.IsBigO.trans_le
+
+/- warning: asymptotics.is_o.trans_le -> Asymptotics.IsLittleO.trans_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {G : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_3 : Norm.{u4} G] {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u3} F _inst_2 (g x)) (Norm.norm.{u4} G _inst_3 (k x))) -> (Asymptotics.IsLittleO.{u1, u2, u4} α E G _inst_1 _inst_3 l f k)
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {G : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u2} F] [_inst_3 : Norm.{u1} G] {f : α -> E} {g : α -> F} {k : α -> G} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F _inst_1 _inst_2 l f g) -> (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} F _inst_2 (g x)) (Norm.norm.{u1} G _inst_3 (k x))) -> (Asymptotics.IsLittleO.{u4, u3, u1} α E G _inst_1 _inst_3 l f k)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_le Asymptotics.IsLittleO.trans_leₓ'. -/
+theorem IsLittleO.trans_le (hfg : f =o[l] g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x‖) : f =o[l] k :=
+  hfg.trans_isBigOWith (isBigOWith_of_le _ hgk) zero_lt_one
+#align asymptotics.is_o.trans_le Asymptotics.IsLittleO.trans_le
+
+/- warning: asymptotics.is_o_irrefl' -> Asymptotics.isLittleO_irrefl' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {f' : α -> E'} {l : Filter.{u1} α}, (Filter.Frequently.{u1} α (fun (x : α) => Ne.{1} Real (Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) l) -> (Not (Asymptotics.IsLittleO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f' f'))
+but is expected to have type
+  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {f' : α -> E'} {l : Filter.{u2} α}, (Filter.Frequently.{u2} α (fun (x : α) => Ne.{1} Real (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) l) -> (Not (Asymptotics.IsLittleO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f' f'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_irrefl' Asymptotics.isLittleO_irrefl'ₓ'. -/
+theorem isLittleO_irrefl' (h : ∃ᶠ x in l, ‖f' x‖ ≠ 0) : ¬f' =o[l] f' :=
   by
   intro ho
   rcases((ho.bound one_half_pos).and_frequently h).exists with ⟨x, hle, hne⟩
   rw [one_div, ← div_eq_inv_mul] at hle
   exact (half_lt_self (lt_of_le_of_ne (norm_nonneg _) hne.symm)).not_le hle
-#align asymptotics.is_o_irrefl' Asymptotics.isOCat_irrefl'
-
-theorem isOCat_irrefl (h : ∃ᶠ x in l, f'' x ≠ 0) : ¬f'' =o[l] f'' :=
-  isOCat_irrefl' <| h.mono fun x => norm_ne_zero_iff.mpr
-#align asymptotics.is_o_irrefl Asymptotics.isOCat_irrefl
-
-theorem IsO.not_isOCat (h : f'' =O[l] g') (hf : ∃ᶠ x in l, f'' x ≠ 0) : ¬g' =o[l] f'' := fun h' =>
-  isOCat_irrefl hf (h.trans_isOCat h')
-#align asymptotics.is_O.not_is_o Asymptotics.IsO.not_isOCat
-
-theorem IsOCat.not_isO (h : f'' =o[l] g') (hf : ∃ᶠ x in l, f'' x ≠ 0) : ¬g' =O[l] f'' := fun h' =>
-  isOCat_irrefl hf (h.trans_isO h')
-#align asymptotics.is_o.not_is_O Asymptotics.IsOCat.not_isO
+#align asymptotics.is_o_irrefl' Asymptotics.isLittleO_irrefl'
+
+/- warning: asymptotics.is_o_irrefl -> Asymptotics.isLittleO_irrefl is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u1} α}, (Filter.Frequently.{u1} α (fun (x : α) => Ne.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))) l) -> (Not (Asymptotics.IsLittleO.{u1, u2, u2} α E'' E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) l f'' f''))
+but is expected to have type
+  forall {α : Type.{u2}} {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] {f'' : α -> E''} {l : Filter.{u2} α}, (Filter.Frequently.{u2} α (fun (x : α) => Ne.{succ u1} E'' (f'' x) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7))))))))) l) -> (Not (Asymptotics.IsLittleO.{u2, u1, u1} α E'' E'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) l f'' f''))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_irrefl Asymptotics.isLittleO_irreflₓ'. -/
+theorem isLittleO_irrefl (h : ∃ᶠ x in l, f'' x ≠ 0) : ¬f'' =o[l] f'' :=
+  isLittleO_irrefl' <| h.mono fun x => norm_ne_zero_iff.mpr
+#align asymptotics.is_o_irrefl Asymptotics.isLittleO_irrefl
+
+/- warning: asymptotics.is_O.not_is_o -> Asymptotics.IsBigO.not_isLittleO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {g' : α -> F'} {f'' : α -> E''} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' g') -> (Filter.Frequently.{u1} α (fun (x : α) => Ne.{succ u3} E'' (f'' x) (OfNat.ofNat.{u3} E'' 0 (OfNat.mk.{u3} E'' 0 (Zero.zero.{u3} E'' (AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))) l) -> (Not (Asymptotics.IsLittleO.{u1, u2, u3} α F' E'' (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) l g' f''))
+but is expected to have type
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {g' : α -> F'} {f'' : α -> E''} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' g') -> (Filter.Frequently.{u3} α (fun (x : α) => Ne.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))) l) -> (Not (Asymptotics.IsLittleO.{u3, u1, u2} α F' E'' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) l g' f''))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.not_is_o Asymptotics.IsBigO.not_isLittleOₓ'. -/
+theorem IsBigO.not_isLittleO (h : f'' =O[l] g') (hf : ∃ᶠ x in l, f'' x ≠ 0) : ¬g' =o[l] f'' :=
+  fun h' => isLittleO_irrefl hf (h.trans_isLittleO h')
+#align asymptotics.is_O.not_is_o Asymptotics.IsBigO.not_isLittleO
+
+/- warning: asymptotics.is_o.not_is_O -> Asymptotics.IsLittleO.not_isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {g' : α -> F'} {f'' : α -> E''} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' g') -> (Filter.Frequently.{u1} α (fun (x : α) => Ne.{succ u3} E'' (f'' x) (OfNat.ofNat.{u3} E'' 0 (OfNat.mk.{u3} E'' 0 (Zero.zero.{u3} E'' (AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))) l) -> (Not (Asymptotics.IsBigO.{u1, u2, u3} α F' E'' (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) l g' f''))
+but is expected to have type
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {g' : α -> F'} {f'' : α -> E''} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' g') -> (Filter.Frequently.{u3} α (fun (x : α) => Ne.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))) l) -> (Not (Asymptotics.IsBigO.{u3, u1, u2} α F' E'' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) l g' f''))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.not_is_O Asymptotics.IsLittleO.not_isBigOₓ'. -/
+theorem IsLittleO.not_isBigO (h : f'' =o[l] g') (hf : ∃ᶠ x in l, f'' x ≠ 0) : ¬g' =O[l] f'' :=
+  fun h' => isLittleO_irrefl hf (h.trans_isBigO h')
+#align asymptotics.is_o.not_is_O Asymptotics.IsLittleO.not_isBigO
 
 section Bot
 
 variable (c f g)
 
+/- warning: asymptotics.is_O_with_bot -> Asymptotics.isBigOWith_bot is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] (c : Real) (f : α -> E) (g : α -> F), Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Bot.bot.{u1} (Filter.{u1} α) (CompleteLattice.toHasBot.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) f g
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] (c : Real) (f : α -> E) (g : α -> F), Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Bot.bot.{u3} (Filter.{u3} α) (CompleteLattice.toBot.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))) f g
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_bot Asymptotics.isBigOWith_botₓ'. -/
 @[simp]
-theorem isOWith_bot : IsOWith c ⊥ f g :=
-  IsOWith.of_bound <| trivial
-#align asymptotics.is_O_with_bot Asymptotics.isOWith_bot
-
+theorem isBigOWith_bot : IsBigOWith c ⊥ f g :=
+  IsBigOWith.of_bound <| trivial
+#align asymptotics.is_O_with_bot Asymptotics.isBigOWith_bot
+
+/- warning: asymptotics.is_O_bot -> Asymptotics.isBigO_bot is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] (f : α -> E) (g : α -> F), Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 (Bot.bot.{u1} (Filter.{u1} α) (CompleteLattice.toHasBot.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) f g
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] (f : α -> E) (g : α -> F), Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 (Bot.bot.{u3} (Filter.{u3} α) (CompleteLattice.toBot.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))) f g
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_bot Asymptotics.isBigO_botₓ'. -/
 @[simp]
-theorem isO_bot : f =O[⊥] g :=
-  (isOWith_bot 1 f g).IsO
-#align asymptotics.is_O_bot Asymptotics.isO_bot
-
+theorem isBigO_bot : f =O[⊥] g :=
+  (isBigOWith_bot 1 f g).IsBigO
+#align asymptotics.is_O_bot Asymptotics.isBigO_bot
+
+/- warning: asymptotics.is_o_bot -> Asymptotics.isLittleO_bot is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] (f : α -> E) (g : α -> F), Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 (Bot.bot.{u1} (Filter.{u1} α) (CompleteLattice.toHasBot.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) f g
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] (f : α -> E) (g : α -> F), Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 (Bot.bot.{u3} (Filter.{u3} α) (CompleteLattice.toBot.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))) f g
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_bot Asymptotics.isLittleO_botₓ'. -/
 @[simp]
-theorem isOCat_bot : f =o[⊥] g :=
-  IsOCat.of_isOWith fun c _ => isOWith_bot c f g
-#align asymptotics.is_o_bot Asymptotics.isOCat_bot
+theorem isLittleO_bot : f =o[⊥] g :=
+  IsLittleO.of_isBigOWith fun c _ => isBigOWith_bot c f g
+#align asymptotics.is_o_bot Asymptotics.isLittleO_bot
 
 end Bot
 
+/- warning: asymptotics.is_O_with_pure -> Asymptotics.isBigOWith_pure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {x : α}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α x) f g) (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {x : α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Pure.pure.{u3, u3} Filter.{u3} Filter.instPureFilter.{u3} α x) f g) (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_pure Asymptotics.isBigOWith_pureₓ'. -/
 @[simp]
-theorem isOWith_pure {x} : IsOWith c (pure x) f g ↔ ‖f x‖ ≤ c * ‖g x‖ :=
-  isOWith_iff
-#align asymptotics.is_O_with_pure Asymptotics.isOWith_pure
-
-theorem IsOWith.sup (h : IsOWith c l f g) (h' : IsOWith c l' f g) : IsOWith c (l ⊔ l') f g :=
-  IsOWith.of_bound <| mem_sup.2 ⟨h.bound, h'.bound⟩
-#align asymptotics.is_O_with.sup Asymptotics.IsOWith.sup
-
-theorem IsOWith.sup' (h : IsOWith c l f g') (h' : IsOWith c' l' f g') :
-    IsOWith (max c c') (l ⊔ l') f g' :=
-  IsOWith.of_bound <|
+theorem isBigOWith_pure {x} : IsBigOWith c (pure x) f g ↔ ‖f x‖ ≤ c * ‖g x‖ :=
+  isBigOWith_iff
+#align asymptotics.is_O_with_pure Asymptotics.isBigOWith_pure
+
+/- warning: asymptotics.is_O_with.sup -> Asymptotics.IsBigOWith.sup is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c l' f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l f g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c l' f g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sup Asymptotics.IsBigOWith.supₓ'. -/
+theorem IsBigOWith.sup (h : IsBigOWith c l f g) (h' : IsBigOWith c l' f g) :
+    IsBigOWith c (l ⊔ l') f g :=
+  IsBigOWith.of_bound <| mem_sup.2 ⟨h.bound, h'.bound⟩
+#align asymptotics.is_O_with.sup Asymptotics.IsBigOWith.sup
+
+/- warning: asymptotics.is_O_with.sup' -> Asymptotics.IsBigOWith.sup' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {c' : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l' f g') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (LinearOrder.max.{0} Real Real.linearOrder c c') (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {c' : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l' f g') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (Max.max.{0} Real (LinearOrderedRing.toMax.{0} Real Real.instLinearOrderedRingReal) c c') (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sup' Asymptotics.IsBigOWith.sup'ₓ'. -/
+theorem IsBigOWith.sup' (h : IsBigOWith c l f g') (h' : IsBigOWith c' l' f g') :
+    IsBigOWith (max c c') (l ⊔ l') f g' :=
+  IsBigOWith.of_bound <|
     mem_sup.2 ⟨(h.weaken <| le_max_left c c').bound, (h'.weaken <| le_max_right c c').bound⟩
-#align asymptotics.is_O_with.sup' Asymptotics.IsOWith.sup'
-
-theorem IsO.sup (h : f =O[l] g') (h' : f =O[l'] g') : f =O[l ⊔ l'] g' :=
-  let ⟨c, hc⟩ := h.IsOWith
-  let ⟨c', hc'⟩ := h'.IsOWith
-  (hc.sup' hc').IsO
-#align asymptotics.is_O.sup Asymptotics.IsO.sup
-
-theorem IsOCat.sup (h : f =o[l] g) (h' : f =o[l'] g) : f =o[l ⊔ l'] g :=
-  IsOCat.of_isOWith fun c cpos => (h.forall_isOWith cpos).sup (h'.forall_isOWith cpos)
-#align asymptotics.is_o.sup Asymptotics.IsOCat.sup
-
+#align asymptotics.is_O_with.sup' Asymptotics.IsBigOWith.sup'
+
+/- warning: asymptotics.is_O.sup -> Asymptotics.IsBigO.sup is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l' f g') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l' f g') -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.sup Asymptotics.IsBigO.supₓ'. -/
+theorem IsBigO.sup (h : f =O[l] g') (h' : f =O[l'] g') : f =O[l ⊔ l'] g' :=
+  let ⟨c, hc⟩ := h.IsBigOWith
+  let ⟨c', hc'⟩ := h'.IsBigOWith
+  (hc.sup' hc').IsBigO
+#align asymptotics.is_O.sup Asymptotics.IsBigO.sup
+
+/- warning: asymptotics.is_o.sup -> Asymptotics.IsLittleO.sup is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.sup Asymptotics.IsLittleO.supₓ'. -/
+theorem IsLittleO.sup (h : f =o[l] g) (h' : f =o[l'] g) : f =o[l ⊔ l'] g :=
+  IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).sup (h'.forall_isBigOWith cpos)
+#align asymptotics.is_o.sup Asymptotics.IsLittleO.sup
+
+/- warning: asymptotics.is_O_sup -> Asymptotics.isBigO_sup is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} {l' : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g') (And (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l' f g'))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α} {l' : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g') (And (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l' f g'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_sup Asymptotics.isBigO_supₓ'. -/
 @[simp]
-theorem isO_sup : f =O[l ⊔ l'] g' ↔ f =O[l] g' ∧ f =O[l'] g' :=
+theorem isBigO_sup : f =O[l ⊔ l'] g' ↔ f =O[l] g' ∧ f =O[l'] g' :=
   ⟨fun h => ⟨h.mono le_sup_left, h.mono le_sup_right⟩, fun h => h.1.sup h.2⟩
-#align asymptotics.is_O_sup Asymptotics.isO_sup
-
+#align asymptotics.is_O_sup Asymptotics.isBigO_sup
+
+/- warning: asymptotics.is_o_sup -> Asymptotics.isLittleO_sup is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {l : Filter.{u1} α} {l' : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) l l') f g) (And (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f g) (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l' f g))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {l : Filter.{u3} α} {l' : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 (Sup.sup.{u3} (Filter.{u3} α) (SemilatticeSup.toSup.{u3} (Filter.{u3} α) (Lattice.toSemilatticeSup.{u3} (Filter.{u3} α) (ConditionallyCompleteLattice.toLattice.{u3} (Filter.{u3} α) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Filter.{u3} α) (Filter.instCompleteLatticeFilter.{u3} α))))) l l') f g) (And (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f g) (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l' f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_sup Asymptotics.isLittleO_supₓ'. -/
 @[simp]
-theorem isOCat_sup : f =o[l ⊔ l'] g ↔ f =o[l] g ∧ f =o[l'] g :=
+theorem isLittleO_sup : f =o[l ⊔ l'] g ↔ f =o[l] g ∧ f =o[l'] g :=
   ⟨fun h => ⟨h.mono le_sup_left, h.mono le_sup_right⟩, fun h => h.1.sup h.2⟩
-#align asymptotics.is_o_sup Asymptotics.isOCat_sup
-
-theorem isOWith_insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
-    (h : ‖g x‖ ≤ C * ‖g' x‖) : IsOWith C (𝓝[insert x s] x) g g' ↔ IsOWith C (𝓝[s] x) g g' := by
-  simp_rw [is_O_with, nhdsWithin_insert, eventually_sup, eventually_pure, h, true_and_iff]
-#align asymptotics.is_O_with_insert Asymptotics.isOWith_insert
-
-theorem IsOWith.insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
-    (h1 : IsOWith C (𝓝[s] x) g g') (h2 : ‖g x‖ ≤ C * ‖g' x‖) : IsOWith C (𝓝[insert x s] x) g g' :=
-  (isOWith_insert h2).mpr h1
-#align asymptotics.is_O_with.insert Asymptotics.IsOWith.insert
-
-theorem isOCat_insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'} {g' : α → F'}
+#align asymptotics.is_o_sup Asymptotics.isLittleO_sup
+
+/- warning: asymptotics.is_O_with_insert -> Asymptotics.isBigOWith_insert is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_14 : TopologicalSpace.{u1} α] {x : α} {s : Set.{u1} α} {C : Real} {g : α -> E} {g' : α -> F}, (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (g x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F _inst_2 (g' x)))) -> (Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 C (nhdsWithin.{u1} α _inst_14 x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) g g') (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 C (nhdsWithin.{u1} α _inst_14 x s) g g'))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_14 : TopologicalSpace.{u3} α] {x : α} {s : Set.{u3} α} {C : Real} {g : α -> E} {g' : α -> F}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (g x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} F _inst_2 (g' x)))) -> (Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 C (nhdsWithin.{u3} α _inst_14 x (Insert.insert.{u3, u3} α (Set.{u3} α) (Set.instInsertSet.{u3} α) x s)) g g') (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 C (nhdsWithin.{u3} α _inst_14 x s) g g'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_insert Asymptotics.isBigOWith_insertₓ'. -/
+theorem isBigOWith_insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
+    (h : ‖g x‖ ≤ C * ‖g' x‖) : IsBigOWith C (𝓝[insert x s] x) g g' ↔ IsBigOWith C (𝓝[s] x) g g' :=
+  by simp_rw [is_O_with, nhdsWithin_insert, eventually_sup, eventually_pure, h, true_and_iff]
+#align asymptotics.is_O_with_insert Asymptotics.isBigOWith_insert
+
+/- warning: asymptotics.is_O_with.insert -> Asymptotics.IsBigOWith.insert is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_14 : TopologicalSpace.{u1} α] {x : α} {s : Set.{u1} α} {C : Real} {g : α -> E} {g' : α -> F}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 C (nhdsWithin.{u1} α _inst_14 x s) g g') -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (g x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F _inst_2 (g' x)))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 C (nhdsWithin.{u1} α _inst_14 x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) g g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_14 : TopologicalSpace.{u3} α] {x : α} {s : Set.{u3} α} {C : Real} {g : α -> E} {g' : α -> F}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 C (nhdsWithin.{u3} α _inst_14 x s) g g') -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (g x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} F _inst_2 (g' x)))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 C (nhdsWithin.{u3} α _inst_14 x (Insert.insert.{u3, u3} α (Set.{u3} α) (Set.instInsertSet.{u3} α) x s)) g g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.insert Asymptotics.IsBigOWith.insertₓ'. -/
+theorem IsBigOWith.insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
+    (h1 : IsBigOWith C (𝓝[s] x) g g') (h2 : ‖g x‖ ≤ C * ‖g' x‖) :
+    IsBigOWith C (𝓝[insert x s] x) g g' :=
+  (isBigOWith_insert h2).mpr h1
+#align asymptotics.is_O_with.insert Asymptotics.IsBigOWith.insert
+
+/- warning: asymptotics.is_o_insert -> Asymptotics.isLittleO_insert is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_14 : TopologicalSpace.{u1} α] {x : α} {s : Set.{u1} α} {g : α -> E'} {g' : α -> F'}, (Eq.{succ u2} E' (g x) (OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4)))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (nhdsWithin.{u1} α _inst_14 x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) g g') (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (nhdsWithin.{u1} α _inst_14 x s) g g'))
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_14 : TopologicalSpace.{u3} α] {x : α} {s : Set.{u3} α} {g : α -> E'} {g' : α -> F'}, (Eq.{succ u2} E' (g x) (OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))))))) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (nhdsWithin.{u3} α _inst_14 x (Insert.insert.{u3, u3} α (Set.{u3} α) (Set.instInsertSet.{u3} α) x s)) g g') (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (nhdsWithin.{u3} α _inst_14 x s) g g'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_insert Asymptotics.isLittleO_insertₓ'. -/
+theorem isLittleO_insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'} {g' : α → F'}
     (h : g x = 0) : g =o[𝓝[insert x s] x] g' ↔ g =o[𝓝[s] x] g' :=
   by
   simp_rw [is_o]
@@ -644,12 +1246,18 @@ theorem isOCat_insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'
   rw [is_O_with_insert]
   rw [h, norm_zero]
   exact mul_nonneg hc.le (norm_nonneg _)
-#align asymptotics.is_o_insert Asymptotics.isOCat_insert
-
-theorem IsOCat.insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'} {g' : α → F'}
+#align asymptotics.is_o_insert Asymptotics.isLittleO_insert
+
+/- warning: asymptotics.is_o.insert -> Asymptotics.IsLittleO.insert is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_14 : TopologicalSpace.{u1} α] {x : α} {s : Set.{u1} α} {g : α -> E'} {g' : α -> F'}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (nhdsWithin.{u1} α _inst_14 x s) g g') -> (Eq.{succ u2} E' (g x) (OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4)))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (nhdsWithin.{u1} α _inst_14 x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) g g')
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_14 : TopologicalSpace.{u3} α] {x : α} {s : Set.{u3} α} {g : α -> E'} {g' : α -> F'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (nhdsWithin.{u3} α _inst_14 x s) g g') -> (Eq.{succ u2} E' (g x) (OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))))))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (nhdsWithin.{u3} α _inst_14 x (Insert.insert.{u3, u3} α (Set.{u3} α) (Set.instInsertSet.{u3} α) x s)) g g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.insert Asymptotics.IsLittleO.insertₓ'. -/
+theorem IsLittleO.insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'} {g' : α → F'}
     (h1 : g =o[𝓝[s] x] g') (h2 : g x = 0) : g =o[𝓝[insert x s] x] g' :=
-  (isOCat_insert h2).mpr h1
-#align asymptotics.is_o.insert Asymptotics.IsOCat.insert
+  (isLittleO_insert h2).mpr h1
+#align asymptotics.is_o.insert Asymptotics.IsLittleO.insert
 
 /-! ### Simplification : norm, abs -/
 
@@ -658,365 +1266,965 @@ section NormAbs
 
 variable {u v : α → ℝ}
 
+/- warning: asymptotics.is_O_with_norm_right -> Asymptotics.isBigOWith_norm_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_norm_right Asymptotics.isBigOWith_norm_rightₓ'. -/
 @[simp]
-theorem isOWith_norm_right : (IsOWith c l f fun x => ‖g' x‖) ↔ IsOWith c l f g' := by
+theorem isBigOWith_norm_right : (IsBigOWith c l f fun x => ‖g' x‖) ↔ IsBigOWith c l f g' := by
   simp only [is_O_with, norm_norm]
-#align asymptotics.is_O_with_norm_right Asymptotics.isOWith_norm_right
-
+#align asymptotics.is_O_with_norm_right Asymptotics.isBigOWith_norm_right
+
+/- warning: asymptotics.is_O_with_abs_right -> Asymptotics.isBigOWith_abs_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {c : Real} {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f u)
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {c : Real} {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f u)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_abs_right Asymptotics.isBigOWith_abs_rightₓ'. -/
 @[simp]
-theorem isOWith_abs_right : (IsOWith c l f fun x => |u x|) ↔ IsOWith c l f u :=
-  @isOWith_norm_right _ _ _ _ _ _ f u l
-#align asymptotics.is_O_with_abs_right Asymptotics.isOWith_abs_right
-
+theorem isBigOWith_abs_right : (IsBigOWith c l f fun x => |u x|) ↔ IsBigOWith c l f u :=
+  @isBigOWith_norm_right _ _ _ _ _ _ f u l
+#align asymptotics.is_O_with_abs_right Asymptotics.isBigOWith_abs_right
+
+/- warning: asymptotics.is_O_with.of_norm_right -> Asymptotics.IsBigOWith.of_norm_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_norm_right Asymptotics.IsBigOWith.of_norm_rightₓ'. -/
+/- warning: asymptotics.is_O_with.norm_right -> Asymptotics.IsBigOWith.norm_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u3, u2, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.norm_right Asymptotics.IsBigOWith.norm_rightₓ'. -/
 alias is_O_with_norm_right ↔ is_O_with.of_norm_right is_O_with.norm_right
-#align asymptotics.is_O_with.of_norm_right Asymptotics.IsOWith.of_norm_right
-#align asymptotics.is_O_with.norm_right Asymptotics.IsOWith.norm_right
-
+#align asymptotics.is_O_with.of_norm_right Asymptotics.IsBigOWith.of_norm_right
+#align asymptotics.is_O_with.norm_right Asymptotics.IsBigOWith.norm_right
+
+/- warning: asymptotics.is_O_with.of_abs_right -> Asymptotics.IsBigOWith.of_abs_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {c : Real} {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) -> (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f u)
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {c : Real} {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) -> (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f u)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_abs_right Asymptotics.IsBigOWith.of_abs_rightₓ'. -/
+/- warning: asymptotics.is_O_with.abs_right -> Asymptotics.IsBigOWith.abs_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {c : Real} {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f u) -> (Asymptotics.IsBigOWith.{u1, u2, 0} α E Real _inst_1 Real.hasNorm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {c : Real} {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f u) -> (Asymptotics.IsBigOWith.{u2, u1, 0} α E Real _inst_1 Real.norm c l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.abs_right Asymptotics.IsBigOWith.abs_rightₓ'. -/
 alias is_O_with_abs_right ↔ is_O_with.of_abs_right is_O_with.abs_right
-#align asymptotics.is_O_with.of_abs_right Asymptotics.IsOWith.of_abs_right
-#align asymptotics.is_O_with.abs_right Asymptotics.IsOWith.abs_right
-
+#align asymptotics.is_O_with.of_abs_right Asymptotics.IsBigOWith.of_abs_right
+#align asymptotics.is_O_with.abs_right Asymptotics.IsBigOWith.abs_right
+
+/- warning: asymptotics.is_O_norm_right -> Asymptotics.isBigO_norm_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_norm_right Asymptotics.isBigO_norm_rightₓ'. -/
 @[simp]
-theorem isO_norm_right : (f =O[l] fun x => ‖g' x‖) ↔ f =O[l] g' :=
+theorem isBigO_norm_right : (f =O[l] fun x => ‖g' x‖) ↔ f =O[l] g' :=
   by
   unfold is_O
   exact exists_congr fun _ => is_O_with_norm_right
-#align asymptotics.is_O_norm_right Asymptotics.isO_norm_right
-
+#align asymptotics.is_O_norm_right Asymptotics.isBigO_norm_right
+
+/- warning: asymptotics.is_O_abs_right -> Asymptotics.isBigO_abs_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u)
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_abs_right Asymptotics.isBigO_abs_rightₓ'. -/
 @[simp]
-theorem isO_abs_right : (f =O[l] fun x => |u x|) ↔ f =O[l] u :=
-  @isO_norm_right _ _ ℝ _ _ _ _ _
-#align asymptotics.is_O_abs_right Asymptotics.isO_abs_right
-
+theorem isBigO_abs_right : (f =O[l] fun x => |u x|) ↔ f =O[l] u :=
+  @isBigO_norm_right _ _ ℝ _ _ _ _ _
+#align asymptotics.is_O_abs_right Asymptotics.isBigO_abs_right
+
+/- warning: asymptotics.is_O.of_norm_right -> Asymptotics.IsBigO.of_norm_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_norm_right Asymptotics.IsBigO.of_norm_rightₓ'. -/
+/- warning: asymptotics.is_O.norm_right -> Asymptotics.IsBigO.norm_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.norm_right Asymptotics.IsBigO.norm_rightₓ'. -/
 alias is_O_norm_right ↔ is_O.of_norm_right is_O.norm_right
-#align asymptotics.is_O.of_norm_right Asymptotics.IsO.of_norm_right
-#align asymptotics.is_O.norm_right Asymptotics.IsO.norm_right
-
+#align asymptotics.is_O.of_norm_right Asymptotics.IsBigO.of_norm_right
+#align asymptotics.is_O.norm_right Asymptotics.IsBigO.norm_right
+
+/- warning: asymptotics.is_O.of_abs_right -> Asymptotics.IsBigO.of_abs_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) -> (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u)
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) -> (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_abs_right Asymptotics.IsBigO.of_abs_rightₓ'. -/
+/- warning: asymptotics.is_O.abs_right -> Asymptotics.IsBigO.abs_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u) -> (Asymptotics.IsBigO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u) -> (Asymptotics.IsBigO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.abs_right Asymptotics.IsBigO.abs_rightₓ'. -/
 alias is_O_abs_right ↔ is_O.of_abs_right is_O.abs_right
-#align asymptotics.is_O.of_abs_right Asymptotics.IsO.of_abs_right
-#align asymptotics.is_O.abs_right Asymptotics.IsO.abs_right
-
+#align asymptotics.is_O.of_abs_right Asymptotics.IsBigO.of_abs_right
+#align asymptotics.is_O.abs_right Asymptotics.IsBigO.abs_right
+
+/- warning: asymptotics.is_o_norm_right -> Asymptotics.isLittleO_norm_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_right Asymptotics.isLittleO_norm_rightₓ'. -/
 @[simp]
-theorem isOCat_norm_right : (f =o[l] fun x => ‖g' x‖) ↔ f =o[l] g' :=
+theorem isLittleO_norm_right : (f =o[l] fun x => ‖g' x‖) ↔ f =o[l] g' :=
   by
   unfold is_o
   exact forall₂_congr fun _ _ => is_O_with_norm_right
-#align asymptotics.is_o_norm_right Asymptotics.isOCat_norm_right
-
+#align asymptotics.is_o_norm_right Asymptotics.isLittleO_norm_right
+
+/- warning: asymptotics.is_o_abs_right -> Asymptotics.isLittleO_abs_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u)
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_abs_right Asymptotics.isLittleO_abs_rightₓ'. -/
 @[simp]
-theorem isOCat_abs_right : (f =o[l] fun x => |u x|) ↔ f =o[l] u :=
-  @isOCat_norm_right _ _ ℝ _ _ _ _ _
-#align asymptotics.is_o_abs_right Asymptotics.isOCat_abs_right
-
+theorem isLittleO_abs_right : (f =o[l] fun x => |u x|) ↔ f =o[l] u :=
+  @isLittleO_norm_right _ _ ℝ _ _ _ _ _
+#align asymptotics.is_o_abs_right Asymptotics.isLittleO_abs_right
+
+/- warning: asymptotics.is_o.of_norm_right -> Asymptotics.IsLittleO.of_norm_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_norm_right Asymptotics.IsLittleO.of_norm_rightₓ'. -/
+/- warning: asymptotics.is_o.norm_right -> Asymptotics.IsLittleO.norm_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u3, u2, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.norm_right Asymptotics.IsLittleO.norm_rightₓ'. -/
 alias is_o_norm_right ↔ is_o.of_norm_right is_o.norm_right
-#align asymptotics.is_o.of_norm_right Asymptotics.IsOCat.of_norm_right
-#align asymptotics.is_o.norm_right Asymptotics.IsOCat.norm_right
-
+#align asymptotics.is_o.of_norm_right Asymptotics.IsLittleO.of_norm_right
+#align asymptotics.is_o.norm_right Asymptotics.IsLittleO.norm_right
+
+/- warning: asymptotics.is_o.of_abs_right -> Asymptotics.IsLittleO.of_abs_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x))) -> (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u)
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x))) -> (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_abs_right Asymptotics.IsLittleO.of_abs_rightₓ'. -/
+/- warning: asymptotics.is_o.abs_right -> Asymptotics.IsLittleO.abs_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} [_inst_1 : Norm.{u2} E] {f : α -> E} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f u) -> (Asymptotics.IsLittleO.{u1, u2, 0} α E Real _inst_1 Real.hasNorm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} [_inst_1 : Norm.{u1} E] {f : α -> E} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f u) -> (Asymptotics.IsLittleO.{u2, u1, 0} α E Real _inst_1 Real.norm l f (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.abs_right Asymptotics.IsLittleO.abs_rightₓ'. -/
 alias is_o_abs_right ↔ is_o.of_abs_right is_o.abs_right
-#align asymptotics.is_o.of_abs_right Asymptotics.IsOCat.of_abs_right
-#align asymptotics.is_o.abs_right Asymptotics.IsOCat.abs_right
-
+#align asymptotics.is_o.of_abs_right Asymptotics.IsLittleO.of_abs_right
+#align asymptotics.is_o.abs_right Asymptotics.IsLittleO.abs_right
+
+/- warning: asymptotics.is_O_with_norm_left -> Asymptotics.isBigOWith_norm_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, 0, u2} α Real F Real.norm _inst_2 c l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) (Asymptotics.IsBigOWith.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 c l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_norm_left Asymptotics.isBigOWith_norm_leftₓ'. -/
 @[simp]
-theorem isOWith_norm_left : IsOWith c l (fun x => ‖f' x‖) g ↔ IsOWith c l f' g := by
+theorem isBigOWith_norm_left : IsBigOWith c l (fun x => ‖f' x‖) g ↔ IsBigOWith c l f' g := by
   simp only [is_O_with, norm_norm]
-#align asymptotics.is_O_with_norm_left Asymptotics.isOWith_norm_left
-
+#align asymptotics.is_O_with_norm_left Asymptotics.isBigOWith_norm_left
+
+/- warning: asymptotics.is_O_with_abs_left -> Asymptotics.isBigOWith_abs_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {c : Real} {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l u g)
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {c : Real} {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l u g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_abs_left Asymptotics.isBigOWith_abs_leftₓ'. -/
 @[simp]
-theorem isOWith_abs_left : IsOWith c l (fun x => |u x|) g ↔ IsOWith c l u g :=
-  @isOWith_norm_left _ _ _ _ _ _ g u l
-#align asymptotics.is_O_with_abs_left Asymptotics.isOWith_abs_left
-
+theorem isBigOWith_abs_left : IsBigOWith c l (fun x => |u x|) g ↔ IsBigOWith c l u g :=
+  @isBigOWith_norm_left _ _ _ _ _ _ g u l
+#align asymptotics.is_O_with_abs_left Asymptotics.isBigOWith_abs_left
+
+/- warning: asymptotics.is_O_with.of_norm_left -> Asymptotics.IsBigOWith.of_norm_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, 0, u2} α Real F Real.norm _inst_2 c l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) -> (Asymptotics.IsBigOWith.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 c l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_norm_left Asymptotics.IsBigOWith.of_norm_leftₓ'. -/
+/- warning: asymptotics.is_O_with.norm_left -> Asymptotics.IsBigOWith.norm_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g) -> (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 c l f' g) -> (Asymptotics.IsBigOWith.{u3, 0, u2} α Real F Real.norm _inst_2 c l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.norm_left Asymptotics.IsBigOWith.norm_leftₓ'. -/
 alias is_O_with_norm_left ↔ is_O_with.of_norm_left is_O_with.norm_left
-#align asymptotics.is_O_with.of_norm_left Asymptotics.IsOWith.of_norm_left
-#align asymptotics.is_O_with.norm_left Asymptotics.IsOWith.norm_left
-
+#align asymptotics.is_O_with.of_norm_left Asymptotics.IsBigOWith.of_norm_left
+#align asymptotics.is_O_with.norm_left Asymptotics.IsBigOWith.norm_left
+
+/- warning: asymptotics.is_O_with.of_abs_left -> Asymptotics.IsBigOWith.of_abs_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {c : Real} {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) -> (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l u g)
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {c : Real} {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) -> (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l u g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_abs_left Asymptotics.IsBigOWith.of_abs_leftₓ'. -/
+/- warning: asymptotics.is_O_with.abs_left -> Asymptotics.IsBigOWith.abs_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {c : Real} {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l u g) -> (Asymptotics.IsBigOWith.{u1, 0, u2} α Real F Real.hasNorm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g)
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {c : Real} {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l u g) -> (Asymptotics.IsBigOWith.{u2, 0, u1} α Real F Real.norm _inst_2 c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.abs_left Asymptotics.IsBigOWith.abs_leftₓ'. -/
 alias is_O_with_abs_left ↔ is_O_with.of_abs_left is_O_with.abs_left
-#align asymptotics.is_O_with.of_abs_left Asymptotics.IsOWith.of_abs_left
-#align asymptotics.is_O_with.abs_left Asymptotics.IsOWith.abs_left
-
+#align asymptotics.is_O_with.of_abs_left Asymptotics.IsBigOWith.of_abs_left
+#align asymptotics.is_O_with.abs_left Asymptotics.IsBigOWith.abs_left
+
+/- warning: asymptotics.is_O_norm_left -> Asymptotics.isBigO_norm_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) (Asymptotics.IsBigO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_norm_left Asymptotics.isBigO_norm_leftₓ'. -/
 @[simp]
-theorem isO_norm_left : (fun x => ‖f' x‖) =O[l] g ↔ f' =O[l] g :=
+theorem isBigO_norm_left : (fun x => ‖f' x‖) =O[l] g ↔ f' =O[l] g :=
   by
   unfold is_O
   exact exists_congr fun _ => is_O_with_norm_left
-#align asymptotics.is_O_norm_left Asymptotics.isO_norm_left
-
+#align asymptotics.is_O_norm_left Asymptotics.isBigO_norm_left
+
+/- warning: asymptotics.is_O_abs_left -> Asymptotics.isBigO_abs_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g)
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_abs_left Asymptotics.isBigO_abs_leftₓ'. -/
 @[simp]
-theorem isO_abs_left : (fun x => |u x|) =O[l] g ↔ u =O[l] g :=
-  @isO_norm_left _ _ _ _ _ g u l
-#align asymptotics.is_O_abs_left Asymptotics.isO_abs_left
-
+theorem isBigO_abs_left : (fun x => |u x|) =O[l] g ↔ u =O[l] g :=
+  @isBigO_norm_left _ _ _ _ _ g u l
+#align asymptotics.is_O_abs_left Asymptotics.isBigO_abs_left
+
+/- warning: asymptotics.is_O.of_norm_left -> Asymptotics.IsBigO.of_norm_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) -> (Asymptotics.IsBigO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_norm_left Asymptotics.IsBigO.of_norm_leftₓ'. -/
+/- warning: asymptotics.is_O.norm_left -> Asymptotics.IsBigO.norm_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsBigO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.norm_left Asymptotics.IsBigO.norm_leftₓ'. -/
 alias is_O_norm_left ↔ is_O.of_norm_left is_O.norm_left
-#align asymptotics.is_O.of_norm_left Asymptotics.IsO.of_norm_left
-#align asymptotics.is_O.norm_left Asymptotics.IsO.norm_left
-
+#align asymptotics.is_O.of_norm_left Asymptotics.IsBigO.of_norm_left
+#align asymptotics.is_O.norm_left Asymptotics.IsBigO.norm_left
+
+/- warning: asymptotics.is_O.of_abs_left -> Asymptotics.IsBigO.of_abs_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) -> (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g)
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) -> (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_abs_left Asymptotics.IsBigO.of_abs_leftₓ'. -/
+/- warning: asymptotics.is_O.abs_left -> Asymptotics.IsBigO.abs_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g) -> (Asymptotics.IsBigO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g)
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g) -> (Asymptotics.IsBigO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.abs_left Asymptotics.IsBigO.abs_leftₓ'. -/
 alias is_O_abs_left ↔ is_O.of_abs_left is_O.abs_left
-#align asymptotics.is_O.of_abs_left Asymptotics.IsO.of_abs_left
-#align asymptotics.is_O.abs_left Asymptotics.IsO.abs_left
-
+#align asymptotics.is_O.of_abs_left Asymptotics.IsBigO.of_abs_left
+#align asymptotics.is_O.abs_left Asymptotics.IsBigO.abs_left
+
+/- warning: asymptotics.is_o_norm_left -> Asymptotics.isLittleO_norm_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) (Asymptotics.IsLittleO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_left Asymptotics.isLittleO_norm_leftₓ'. -/
 @[simp]
-theorem isOCat_norm_left : (fun x => ‖f' x‖) =o[l] g ↔ f' =o[l] g :=
+theorem isLittleO_norm_left : (fun x => ‖f' x‖) =o[l] g ↔ f' =o[l] g :=
   by
   unfold is_o
   exact forall₂_congr fun _ _ => is_O_with_norm_left
-#align asymptotics.is_o_norm_left Asymptotics.isOCat_norm_left
-
+#align asymptotics.is_o_norm_left Asymptotics.isLittleO_norm_left
+
+/- warning: asymptotics.is_o_abs_left -> Asymptotics.isLittleO_abs_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, Iff (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g)
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, Iff (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_abs_left Asymptotics.isLittleO_abs_leftₓ'. -/
 @[simp]
-theorem isOCat_abs_left : (fun x => |u x|) =o[l] g ↔ u =o[l] g :=
-  @isOCat_norm_left _ _ _ _ _ g u l
-#align asymptotics.is_o_abs_left Asymptotics.isOCat_abs_left
-
+theorem isLittleO_abs_left : (fun x => |u x|) =o[l] g ↔ u =o[l] g :=
+  @isLittleO_norm_left _ _ _ _ _ g u l
+#align asymptotics.is_o_abs_left Asymptotics.isLittleO_abs_left
+
+/- warning: asymptotics.is_o.of_norm_left -> Asymptotics.IsLittleO.of_norm_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g) -> (Asymptotics.IsLittleO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_norm_left Asymptotics.IsLittleO.of_norm_leftₓ'. -/
+/- warning: asymptotics.is_o.norm_left -> Asymptotics.IsLittleO.norm_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Norm.norm.{u3} E' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (f' x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u2}} {E' : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u1} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u1, u2} α E' F (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsLittleO.{u3, 0, u2} α Real F Real.norm _inst_2 l (fun (x : α) => Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.norm_left Asymptotics.IsLittleO.norm_leftₓ'. -/
 alias is_o_norm_left ↔ is_o.of_norm_left is_o.norm_left
-#align asymptotics.is_o.of_norm_left Asymptotics.IsOCat.of_norm_left
-#align asymptotics.is_o.norm_left Asymptotics.IsOCat.norm_left
-
+#align asymptotics.is_o.of_norm_left Asymptotics.IsLittleO.of_norm_left
+#align asymptotics.is_o.norm_left Asymptotics.IsLittleO.norm_left
+
+/- warning: asymptotics.is_o.of_abs_left -> Asymptotics.IsLittleO.of_abs_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g) -> (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g)
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g) -> (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_abs_left Asymptotics.IsLittleO.of_abs_leftₓ'. -/
+/- warning: asymptotics.is_o.abs_left -> Asymptotics.IsLittleO.abs_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} [_inst_2 : Norm.{u2} F] {g : α -> F} {l : Filter.{u1} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l u g) -> (Asymptotics.IsLittleO.{u1, 0, u2} α Real F Real.hasNorm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) g)
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} [_inst_2 : Norm.{u1} F] {g : α -> F} {l : Filter.{u2} α} {u : α -> Real}, (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l u g) -> (Asymptotics.IsLittleO.{u2, 0, u1} α Real F Real.norm _inst_2 l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.abs_left Asymptotics.IsLittleO.abs_leftₓ'. -/
 alias is_o_abs_left ↔ is_o.of_abs_left is_o.abs_left
-#align asymptotics.is_o.of_abs_left Asymptotics.IsOCat.of_abs_left
-#align asymptotics.is_o.abs_left Asymptotics.IsOCat.abs_left
-
-theorem isOWith_norm_norm : (IsOWith c l (fun x => ‖f' x‖) fun x => ‖g' x‖) ↔ IsOWith c l f' g' :=
-  isOWith_norm_left.trans isOWith_norm_right
-#align asymptotics.is_O_with_norm_norm Asymptotics.isOWith_norm_norm
-
-theorem isOWith_abs_abs : (IsOWith c l (fun x => |u x|) fun x => |v x|) ↔ IsOWith c l u v :=
-  isOWith_abs_left.trans isOWith_abs_right
-#align asymptotics.is_O_with_abs_abs Asymptotics.isOWith_abs_abs
-
+#align asymptotics.is_o.of_abs_left Asymptotics.IsLittleO.of_abs_left
+#align asymptotics.is_o.abs_left Asymptotics.IsLittleO.abs_left
+
+/- warning: asymptotics.is_O_with_norm_norm -> Asymptotics.isBigOWith_norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f' g')
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f' g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_norm_norm Asymptotics.isBigOWith_norm_normₓ'. -/
+theorem isBigOWith_norm_norm :
+    (IsBigOWith c l (fun x => ‖f' x‖) fun x => ‖g' x‖) ↔ IsBigOWith c l f' g' :=
+  isBigOWith_norm_left.trans isBigOWith_norm_right
+#align asymptotics.is_O_with_norm_norm Asymptotics.isBigOWith_norm_norm
+
+/- warning: asymptotics.is_O_with_abs_abs -> Asymptotics.isBigOWith_abs_abs is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l u v)
+but is expected to have type
+  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l u v)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_abs_abs Asymptotics.isBigOWith_abs_absₓ'. -/
+theorem isBigOWith_abs_abs :
+    (IsBigOWith c l (fun x => |u x|) fun x => |v x|) ↔ IsBigOWith c l u v :=
+  isBigOWith_abs_left.trans isBigOWith_abs_right
+#align asymptotics.is_O_with_abs_abs Asymptotics.isBigOWith_abs_abs
+
+/- warning: asymptotics.is_O_with.of_norm_norm -> Asymptotics.IsBigOWith.of_norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f' g')
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f' g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_norm_norm Asymptotics.IsBigOWith.of_norm_normₓ'. -/
+/- warning: asymptotics.is_O_with.norm_norm -> Asymptotics.IsBigOWith.norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f' g') -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f' g') -> (Asymptotics.IsBigOWith.{u3, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.norm_norm Asymptotics.IsBigOWith.norm_normₓ'. -/
 alias is_O_with_norm_norm ↔ is_O_with.of_norm_norm is_O_with.norm_norm
-#align asymptotics.is_O_with.of_norm_norm Asymptotics.IsOWith.of_norm_norm
-#align asymptotics.is_O_with.norm_norm Asymptotics.IsOWith.norm_norm
-
+#align asymptotics.is_O_with.of_norm_norm Asymptotics.IsBigOWith.of_norm_norm
+#align asymptotics.is_O_with.norm_norm Asymptotics.IsBigOWith.norm_norm
+
+/- warning: asymptotics.is_O_with.of_abs_abs -> Asymptotics.IsBigOWith.of_abs_abs is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l u v)
+but is expected to have type
+  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l u v)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_abs_abs Asymptotics.IsBigOWith.of_abs_absₓ'. -/
+/- warning: asymptotics.is_O_with.abs_abs -> Asymptotics.IsBigOWith.abs_abs is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l u v) -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x)))
+but is expected to have type
+  forall {α : Type.{u1}} {c : Real} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l u v) -> (Asymptotics.IsBigOWith.{u1, 0, 0} α Real Real Real.norm Real.norm c l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.abs_abs Asymptotics.IsBigOWith.abs_absₓ'. -/
 alias is_O_with_abs_abs ↔ is_O_with.of_abs_abs is_O_with.abs_abs
-#align asymptotics.is_O_with.of_abs_abs Asymptotics.IsOWith.of_abs_abs
-#align asymptotics.is_O_with.abs_abs Asymptotics.IsOWith.abs_abs
-
-theorem isO_norm_norm : ((fun x => ‖f' x‖) =O[l] fun x => ‖g' x‖) ↔ f' =O[l] g' :=
-  isO_norm_left.trans isO_norm_right
-#align asymptotics.is_O_norm_norm Asymptotics.isO_norm_norm
-
-theorem isO_abs_abs : ((fun x => |u x|) =O[l] fun x => |v x|) ↔ u =O[l] v :=
-  isO_abs_left.trans isO_abs_right
-#align asymptotics.is_O_abs_abs Asymptotics.isO_abs_abs
-
+#align asymptotics.is_O_with.of_abs_abs Asymptotics.IsBigOWith.of_abs_abs
+#align asymptotics.is_O_with.abs_abs Asymptotics.IsBigOWith.abs_abs
+
+/- warning: asymptotics.is_O_norm_norm -> Asymptotics.isBigO_norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g')
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_norm_norm Asymptotics.isBigO_norm_normₓ'. -/
+theorem isBigO_norm_norm : ((fun x => ‖f' x‖) =O[l] fun x => ‖g' x‖) ↔ f' =O[l] g' :=
+  isBigO_norm_left.trans isBigO_norm_right
+#align asymptotics.is_O_norm_norm Asymptotics.isBigO_norm_norm
+
+/- warning: asymptotics.is_O_abs_abs -> Asymptotics.isBigO_abs_abs is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v)
+but is expected to have type
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_abs_abs Asymptotics.isBigO_abs_absₓ'. -/
+theorem isBigO_abs_abs : ((fun x => |u x|) =O[l] fun x => |v x|) ↔ u =O[l] v :=
+  isBigO_abs_left.trans isBigO_abs_right
+#align asymptotics.is_O_abs_abs Asymptotics.isBigO_abs_abs
+
+/- warning: asymptotics.is_O.of_norm_norm -> Asymptotics.IsBigO.of_norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g')
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_norm_norm Asymptotics.IsBigO.of_norm_normₓ'. -/
+/- warning: asymptotics.is_O.norm_norm -> Asymptotics.IsBigO.norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsBigO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.norm_norm Asymptotics.IsBigO.norm_normₓ'. -/
 alias is_O_norm_norm ↔ is_O.of_norm_norm is_O.norm_norm
-#align asymptotics.is_O.of_norm_norm Asymptotics.IsO.of_norm_norm
-#align asymptotics.is_O.norm_norm Asymptotics.IsO.norm_norm
-
+#align asymptotics.is_O.of_norm_norm Asymptotics.IsBigO.of_norm_norm
+#align asymptotics.is_O.norm_norm Asymptotics.IsBigO.norm_norm
+
+/- warning: asymptotics.is_O.of_abs_abs -> Asymptotics.IsBigO.of_abs_abs is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v)
+but is expected to have type
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_abs_abs Asymptotics.IsBigO.of_abs_absₓ'. -/
+/- warning: asymptotics.is_O.abs_abs -> Asymptotics.IsBigO.abs_abs is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v) -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x)))
+but is expected to have type
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v) -> (Asymptotics.IsBigO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.abs_abs Asymptotics.IsBigO.abs_absₓ'. -/
 alias is_O_abs_abs ↔ is_O.of_abs_abs is_O.abs_abs
-#align asymptotics.is_O.of_abs_abs Asymptotics.IsO.of_abs_abs
-#align asymptotics.is_O.abs_abs Asymptotics.IsO.abs_abs
-
-theorem isOCat_norm_norm : ((fun x => ‖f' x‖) =o[l] fun x => ‖g' x‖) ↔ f' =o[l] g' :=
-  isOCat_norm_left.trans isOCat_norm_right
-#align asymptotics.is_o_norm_norm Asymptotics.isOCat_norm_norm
-
-theorem isOCat_abs_abs : ((fun x => |u x|) =o[l] fun x => |v x|) ↔ u =o[l] v :=
-  isOCat_abs_left.trans isOCat_abs_right
-#align asymptotics.is_o_abs_abs Asymptotics.isOCat_abs_abs
-
+#align asymptotics.is_O.of_abs_abs Asymptotics.IsBigO.of_abs_abs
+#align asymptotics.is_O.abs_abs Asymptotics.IsBigO.abs_abs
+
+/- warning: asymptotics.is_o_norm_norm -> Asymptotics.isLittleO_norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g')
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_norm Asymptotics.isLittleO_norm_normₓ'. -/
+theorem isLittleO_norm_norm : ((fun x => ‖f' x‖) =o[l] fun x => ‖g' x‖) ↔ f' =o[l] g' :=
+  isLittleO_norm_left.trans isLittleO_norm_right
+#align asymptotics.is_o_norm_norm Asymptotics.isLittleO_norm_norm
+
+/- warning: asymptotics.is_o_abs_abs -> Asymptotics.isLittleO_abs_abs is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v)
+but is expected to have type
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, Iff (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_abs_abs Asymptotics.isLittleO_abs_absₓ'. -/
+theorem isLittleO_abs_abs : ((fun x => |u x|) =o[l] fun x => |v x|) ↔ u =o[l] v :=
+  isLittleO_abs_left.trans isLittleO_abs_right
+#align asymptotics.is_o_abs_abs Asymptotics.isLittleO_abs_abs
+
+/- warning: asymptotics.is_o.of_norm_norm -> Asymptotics.IsLittleO.of_norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g')
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_norm_norm Asymptotics.IsLittleO.of_norm_normₓ'. -/
+/- warning: asymptotics.is_o.norm_norm -> Asymptotics.IsLittleO.norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g' x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u3, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Norm.norm.{u2} E' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (f' x)) (fun (x : α) => Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.norm_norm Asymptotics.IsLittleO.norm_normₓ'. -/
 alias is_o_norm_norm ↔ is_o.of_norm_norm is_o.norm_norm
-#align asymptotics.is_o.of_norm_norm Asymptotics.IsOCat.of_norm_norm
-#align asymptotics.is_o.norm_norm Asymptotics.IsOCat.norm_norm
-
+#align asymptotics.is_o.of_norm_norm Asymptotics.IsLittleO.of_norm_norm
+#align asymptotics.is_o.norm_norm Asymptotics.IsLittleO.norm_norm
+
+/- warning: asymptotics.is_o.of_abs_abs -> Asymptotics.IsLittleO.of_abs_abs is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x))) -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v)
+but is expected to have type
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x))) -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_abs_abs Asymptotics.IsLittleO.of_abs_absₓ'. -/
+/- warning: asymptotics.is_o.abs_abs -> Asymptotics.IsLittleO.abs_abs is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l u v) -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.hasNorm Real.hasNorm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (v x)))
+but is expected to have type
+  forall {α : Type.{u1}} {l : Filter.{u1} α} {u : α -> Real} {v : α -> Real}, (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l u v) -> (Asymptotics.IsLittleO.{u1, 0, 0} α Real Real Real.norm Real.norm l (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (u x)) (fun (x : α) => Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (v x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.abs_abs Asymptotics.IsLittleO.abs_absₓ'. -/
 alias is_o_abs_abs ↔ is_o.of_abs_abs is_o.abs_abs
-#align asymptotics.is_o.of_abs_abs Asymptotics.IsOCat.of_abs_abs
-#align asymptotics.is_o.abs_abs Asymptotics.IsOCat.abs_abs
+#align asymptotics.is_o.of_abs_abs Asymptotics.IsLittleO.of_abs_abs
+#align asymptotics.is_o.abs_abs Asymptotics.IsLittleO.abs_abs
 
 end NormAbs
 
 /-! ### Simplification: negate -/
 
 
+/- warning: asymptotics.is_O_with_neg_right -> Asymptotics.isBigOWith_neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_neg_right Asymptotics.isBigOWith_neg_rightₓ'. -/
 @[simp]
-theorem isOWith_neg_right : (IsOWith c l f fun x => -g' x) ↔ IsOWith c l f g' := by
+theorem isBigOWith_neg_right : (IsBigOWith c l f fun x => -g' x) ↔ IsBigOWith c l f g' := by
   simp only [is_O_with, norm_neg]
-#align asymptotics.is_O_with_neg_right Asymptotics.isOWith_neg_right
-
+#align asymptotics.is_O_with_neg_right Asymptotics.isBigOWith_neg_right
+
+/- warning: asymptotics.is_O_with.of_neg_right -> Asymptotics.IsBigOWith.of_neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_neg_right Asymptotics.IsBigOWith.of_neg_rightₓ'. -/
+/- warning: asymptotics.is_O_with.neg_right -> Asymptotics.IsBigOWith.neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f g') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.neg_right Asymptotics.IsBigOWith.neg_rightₓ'. -/
 alias is_O_with_neg_right ↔ is_O_with.of_neg_right is_O_with.neg_right
-#align asymptotics.is_O_with.of_neg_right Asymptotics.IsOWith.of_neg_right
-#align asymptotics.is_O_with.neg_right Asymptotics.IsOWith.neg_right
-
+#align asymptotics.is_O_with.of_neg_right Asymptotics.IsBigOWith.of_neg_right
+#align asymptotics.is_O_with.neg_right Asymptotics.IsBigOWith.neg_right
+
+/- warning: asymptotics.is_O_neg_right -> Asymptotics.isBigO_neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_neg_right Asymptotics.isBigO_neg_rightₓ'. -/
 @[simp]
-theorem isO_neg_right : (f =O[l] fun x => -g' x) ↔ f =O[l] g' :=
+theorem isBigO_neg_right : (f =O[l] fun x => -g' x) ↔ f =O[l] g' :=
   by
   unfold is_O
   exact exists_congr fun _ => is_O_with_neg_right
-#align asymptotics.is_O_neg_right Asymptotics.isO_neg_right
-
+#align asymptotics.is_O_neg_right Asymptotics.isBigO_neg_right
+
+/- warning: asymptotics.is_O.of_neg_right -> Asymptotics.IsBigO.of_neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_neg_right Asymptotics.IsBigO.of_neg_rightₓ'. -/
+/- warning: asymptotics.is_O.neg_right -> Asymptotics.IsBigO.neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.neg_right Asymptotics.IsBigO.neg_rightₓ'. -/
 alias is_O_neg_right ↔ is_O.of_neg_right is_O.neg_right
-#align asymptotics.is_O.of_neg_right Asymptotics.IsO.of_neg_right
-#align asymptotics.is_O.neg_right Asymptotics.IsO.neg_right
-
+#align asymptotics.is_O.of_neg_right Asymptotics.IsBigO.of_neg_right
+#align asymptotics.is_O.neg_right Asymptotics.IsBigO.neg_right
+
+/- warning: asymptotics.is_o_neg_right -> Asymptotics.isLittleO_neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_neg_right Asymptotics.isLittleO_neg_rightₓ'. -/
 @[simp]
-theorem isOCat_neg_right : (f =o[l] fun x => -g' x) ↔ f =o[l] g' :=
+theorem isLittleO_neg_right : (f =o[l] fun x => -g' x) ↔ f =o[l] g' :=
   by
   unfold is_o
   exact forall₂_congr fun _ _ => is_O_with_neg_right
-#align asymptotics.is_o_neg_right Asymptotics.isOCat_neg_right
-
+#align asymptotics.is_o_neg_right Asymptotics.isLittleO_neg_right
+
+/- warning: asymptotics.is_o.of_neg_right -> Asymptotics.IsLittleO.of_neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_rightₓ'. -/
+/- warning: asymptotics.is_o.neg_right -> Asymptotics.IsLittleO.neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.neg_right Asymptotics.IsLittleO.neg_rightₓ'. -/
 alias is_o_neg_right ↔ is_o.of_neg_right is_o.neg_right
-#align asymptotics.is_o.of_neg_right Asymptotics.IsOCat.of_neg_right
-#align asymptotics.is_o.neg_right Asymptotics.IsOCat.neg_right
-
+#align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_right
+#align asymptotics.is_o.neg_right Asymptotics.IsLittleO.neg_right
+
+/- warning: asymptotics.is_O_with_neg_left -> Asymptotics.isBigOWith_neg_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_neg_left Asymptotics.isBigOWith_neg_leftₓ'. -/
 @[simp]
-theorem isOWith_neg_left : IsOWith c l (fun x => -f' x) g ↔ IsOWith c l f' g := by
+theorem isBigOWith_neg_left : IsBigOWith c l (fun x => -f' x) g ↔ IsBigOWith c l f' g := by
   simp only [is_O_with, norm_neg]
-#align asymptotics.is_O_with_neg_left Asymptotics.isOWith_neg_left
-
+#align asymptotics.is_O_with_neg_left Asymptotics.isBigOWith_neg_left
+
+/- warning: asymptotics.is_O_with.of_neg_left -> Asymptotics.IsBigOWith.of_neg_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_neg_left Asymptotics.IsBigOWith.of_neg_leftₓ'. -/
+/- warning: asymptotics.is_O_with.neg_left -> Asymptotics.IsBigOWith.neg_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l f' g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.neg_left Asymptotics.IsBigOWith.neg_leftₓ'. -/
 alias is_O_with_neg_left ↔ is_O_with.of_neg_left is_O_with.neg_left
-#align asymptotics.is_O_with.of_neg_left Asymptotics.IsOWith.of_neg_left
-#align asymptotics.is_O_with.neg_left Asymptotics.IsOWith.neg_left
-
+#align asymptotics.is_O_with.of_neg_left Asymptotics.IsBigOWith.of_neg_left
+#align asymptotics.is_O_with.neg_left Asymptotics.IsBigOWith.neg_left
+
+/- warning: asymptotics.is_O_neg_left -> Asymptotics.isBigO_neg_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_neg_left Asymptotics.isBigO_neg_leftₓ'. -/
 @[simp]
-theorem isO_neg_left : (fun x => -f' x) =O[l] g ↔ f' =O[l] g :=
+theorem isBigO_neg_left : (fun x => -f' x) =O[l] g ↔ f' =O[l] g :=
   by
   unfold is_O
   exact exists_congr fun _ => is_O_with_neg_left
-#align asymptotics.is_O_neg_left Asymptotics.isO_neg_left
-
+#align asymptotics.is_O_neg_left Asymptotics.isBigO_neg_left
+
+/- warning: asymptotics.is_O.of_neg_left -> Asymptotics.IsBigO.of_neg_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_neg_left Asymptotics.IsBigO.of_neg_leftₓ'. -/
+/- warning: asymptotics.is_O.neg_left -> Asymptotics.IsBigO.neg_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.neg_left Asymptotics.IsBigO.neg_leftₓ'. -/
 alias is_O_neg_left ↔ is_O.of_neg_left is_O.neg_left
-#align asymptotics.is_O.of_neg_left Asymptotics.IsO.of_neg_left
-#align asymptotics.is_O.neg_left Asymptotics.IsO.neg_left
-
+#align asymptotics.is_O.of_neg_left Asymptotics.IsBigO.of_neg_left
+#align asymptotics.is_O.neg_left Asymptotics.IsBigO.neg_left
+
+/- warning: asymptotics.is_o_neg_left -> Asymptotics.isLittleO_neg_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_neg_left Asymptotics.isLittleO_neg_leftₓ'. -/
 @[simp]
-theorem isOCat_neg_left : (fun x => -f' x) =o[l] g ↔ f' =o[l] g :=
+theorem isLittleO_neg_left : (fun x => -f' x) =o[l] g ↔ f' =o[l] g :=
   by
   unfold is_o
   exact forall₂_congr fun _ _ => is_O_with_neg_left
-#align asymptotics.is_o_neg_left Asymptotics.isOCat_neg_left
-
+#align asymptotics.is_o_neg_left Asymptotics.isLittleO_neg_left
+
+/- warning: asymptotics.is_o.of_neg_right -> Asymptotics.IsLittleO.of_neg_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f (fun (x : α) => Neg.neg.{u3} F' (SubNegMonoid.toHasNeg.{u3} F' (AddGroup.toSubNegMonoid.{u3} F' (SeminormedAddGroup.toAddGroup.{u3} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} F' _inst_5)))) (g' x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g')
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f (fun (x : α) => Neg.neg.{u1} F' (NegZeroClass.toNeg.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (g' x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_rightₓ'. -/
+/- warning: asymptotics.is_o.neg_left -> Asymptotics.IsLittleO.neg_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u3} E' (SubNegMonoid.toHasNeg.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))) (f' x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Neg.neg.{u2} E' (NegZeroClass.toNeg.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (f' x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.neg_left Asymptotics.IsLittleO.neg_leftₓ'. -/
 alias is_o_neg_left ↔ is_o.of_neg_right is_o.neg_left
-#align asymptotics.is_o.of_neg_right Asymptotics.IsOCat.of_neg_right
-#align asymptotics.is_o.neg_left Asymptotics.IsOCat.neg_left
+#align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_right
+#align asymptotics.is_o.neg_left Asymptotics.IsLittleO.neg_left
 
 /-! ### Product of functions (right) -/
 
 
-theorem isOWith_fst_prod : IsOWith 1 l f' fun x => (f' x, g' x) :=
-  isOWith_of_le l fun x => le_max_left _ _
-#align asymptotics.is_O_with_fst_prod Asymptotics.isOWith_fst_prod
-
-theorem isOWith_snd_prod : IsOWith 1 l g' fun x => (f' x, g' x) :=
-  isOWith_of_le l fun x => le_max_right _ _
-#align asymptotics.is_O_with_snd_prod Asymptotics.isOWith_snd_prod
-
-theorem isO_fst_prod : f' =O[l] fun x => (f' x, g' x) :=
-  isOWith_fst_prod.IsO
-#align asymptotics.is_O_fst_prod Asymptotics.isO_fst_prod
-
-theorem isO_snd_prod : g' =O[l] fun x => (f' x, g' x) :=
-  isOWith_snd_prod.IsO
-#align asymptotics.is_O_snd_prod Asymptotics.isO_snd_prod
-
-theorem isO_fst_prod' {f' : α → E' × F'} : (fun x => (f' x).1) =O[l] f' := by
+/- warning: asymptotics.is_O_with_fst_prod -> Asymptotics.isBigOWith_fst_prod is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Asymptotics.IsBigOWith.{u1, u2, max u2 u3} α E' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l f' (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x))
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Asymptotics.IsBigOWith.{u3, u2, max u1 u2} α E' (Prod.{u2, u1} E' F') (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (Prod.toNorm.{u2, u1} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l f' (fun (x : α) => Prod.mk.{u2, u1} E' F' (f' x) (g' x))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_fst_prod Asymptotics.isBigOWith_fst_prodₓ'. -/
+theorem isBigOWith_fst_prod : IsBigOWith 1 l f' fun x => (f' x, g' x) :=
+  isBigOWith_of_le l fun x => le_max_left _ _
+#align asymptotics.is_O_with_fst_prod Asymptotics.isBigOWith_fst_prod
+
+/- warning: asymptotics.is_O_with_snd_prod -> Asymptotics.isBigOWith_snd_prod is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Asymptotics.IsBigOWith.{u1, u3, max u2 u3} α F' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) l g' (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x))
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Asymptotics.IsBigOWith.{u3, u2, max u2 u1} α F' (Prod.{u1, u2} E' F') (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) l g' (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_snd_prod Asymptotics.isBigOWith_snd_prodₓ'. -/
+theorem isBigOWith_snd_prod : IsBigOWith 1 l g' fun x => (f' x, g' x) :=
+  isBigOWith_of_le l fun x => le_max_right _ _
+#align asymptotics.is_O_with_snd_prod Asymptotics.isBigOWith_snd_prod
+
+/- warning: asymptotics.is_O_fst_prod -> Asymptotics.isBigO_fst_prod is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Asymptotics.IsBigO.{u1, u2, max u2 u3} α E' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) l f' (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x))
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Asymptotics.IsBigO.{u3, u2, max u1 u2} α E' (Prod.{u2, u1} E' F') (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (Prod.toNorm.{u2, u1} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) l f' (fun (x : α) => Prod.mk.{u2, u1} E' F' (f' x) (g' x))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_fst_prod Asymptotics.isBigO_fst_prodₓ'. -/
+theorem isBigO_fst_prod : f' =O[l] fun x => (f' x, g' x) :=
+  isBigOWith_fst_prod.IsBigO
+#align asymptotics.is_O_fst_prod Asymptotics.isBigO_fst_prod
+
+/- warning: asymptotics.is_O_snd_prod -> Asymptotics.isBigO_snd_prod is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α}, Asymptotics.IsBigO.{u1, u3, max u2 u3} α F' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) l g' (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x))
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u3} α}, Asymptotics.IsBigO.{u3, u2, max u2 u1} α F' (Prod.{u1, u2} E' F') (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l g' (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_snd_prod Asymptotics.isBigO_snd_prodₓ'. -/
+theorem isBigO_snd_prod : g' =O[l] fun x => (f' x, g' x) :=
+  isBigOWith_snd_prod.IsBigO
+#align asymptotics.is_O_snd_prod Asymptotics.isBigO_snd_prod
+
+/- warning: asymptotics.is_O_fst_prod' -> Asymptotics.isBigO_fst_prod' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {l : Filter.{u1} α} {f' : α -> (Prod.{u2, u3} E' F')}, Asymptotics.IsBigO.{u1, u2, max u2 u3} α E' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) l (fun (x : α) => Prod.fst.{u2, u3} E' F' (f' x)) f'
+but is expected to have type
+  forall {α : Type.{u1}} {E' : Type.{u3}} {F' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u1} α} {f' : α -> (Prod.{u3, u2} E' F')}, Asymptotics.IsBigO.{u1, u3, max u3 u2} α E' (Prod.{u3, u2} E' F') (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (Prod.toNorm.{u3, u2} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l (fun (x : α) => Prod.fst.{u3, u2} E' F' (f' x)) f'
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_fst_prod' Asymptotics.isBigO_fst_prod'ₓ'. -/
+theorem isBigO_fst_prod' {f' : α → E' × F'} : (fun x => (f' x).1) =O[l] f' := by
   simpa [is_O, is_O_with] using is_O_fst_prod
-#align asymptotics.is_O_fst_prod' Asymptotics.isO_fst_prod'
-
-theorem isO_snd_prod' {f' : α → E' × F'} : (fun x => (f' x).2) =O[l] f' := by
+#align asymptotics.is_O_fst_prod' Asymptotics.isBigO_fst_prod'
+
+/- warning: asymptotics.is_O_snd_prod' -> Asymptotics.isBigO_snd_prod' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {l : Filter.{u1} α} {f' : α -> (Prod.{u2, u3} E' F')}, Asymptotics.IsBigO.{u1, u3, max u2 u3} α F' (Prod.{u2, u3} E' F') (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) l (fun (x : α) => Prod.snd.{u2, u3} E' F' (f' x)) f'
+but is expected to have type
+  forall {α : Type.{u1}} {E' : Type.{u3}} {F' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {l : Filter.{u1} α} {f' : α -> (Prod.{u3, u2} E' F')}, Asymptotics.IsBigO.{u1, u2, max u3 u2} α F' (Prod.{u3, u2} E' F') (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (Prod.toNorm.{u3, u2} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l (fun (x : α) => Prod.snd.{u3, u2} E' F' (f' x)) f'
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_snd_prod' Asymptotics.isBigO_snd_prod'ₓ'. -/
+theorem isBigO_snd_prod' {f' : α → E' × F'} : (fun x => (f' x).2) =O[l] f' := by
   simpa [is_O, is_O_with] using is_O_snd_prod
-#align asymptotics.is_O_snd_prod' Asymptotics.isO_snd_prod'
+#align asymptotics.is_O_snd_prod' Asymptotics.isBigO_snd_prod'
 
 section
 
 variable (f' k')
 
-theorem IsOWith.prod_rightl (h : IsOWith c l f g') (hc : 0 ≤ c) :
-    IsOWith c l f fun x => (g' x, k' x) :=
-  (h.trans isOWith_fst_prod hc).congr_const (mul_one c)
-#align asymptotics.is_O_with.prod_rightl Asymptotics.IsOWith.prod_rightl
-
-theorem IsO.prod_rightl (h : f =O[l] g') : f =O[l] fun x => (g' x, k' x) :=
+/- warning: asymptotics.is_O_with.prod_rightl -> Asymptotics.IsBigOWith.prod_rightl is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, max u3 u4} α E (Prod.{u3, u4} F' G') _inst_1 (Prod.hasNorm.{u3, u4} F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6)) c l f (fun (x : α) => Prod.mk.{u3, u4} F' G' (g' x) (k' x)))
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F' : Type.{u2}} {G' : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {c : Real} {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u4, u3, max u1 u2} α E (Prod.{u2, u1} F' G') _inst_1 (Prod.toNorm.{u2, u1} F' G' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6)) c l f (fun (x : α) => Prod.mk.{u2, u1} F' G' (g' x) (k' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_rightl Asymptotics.IsBigOWith.prod_rightlₓ'. -/
+theorem IsBigOWith.prod_rightl (h : IsBigOWith c l f g') (hc : 0 ≤ c) :
+    IsBigOWith c l f fun x => (g' x, k' x) :=
+  (h.trans isBigOWith_fst_prod hc).congr_const (mul_one c)
+#align asymptotics.is_O_with.prod_rightl Asymptotics.IsBigOWith.prod_rightl
+
+/- warning: asymptotics.is_O.prod_rightl -> Asymptotics.IsBigO.prod_rightl is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, max u3 u4} α E (Prod.{u3, u4} F' G') _inst_1 (Prod.hasNorm.{u3, u4} F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6)) l f (fun (x : α) => Prod.mk.{u3, u4} F' G' (g' x) (k' x)))
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F' : Type.{u2}} {G' : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u4, u3, max u1 u2} α E (Prod.{u2, u1} F' G') _inst_1 (Prod.toNorm.{u2, u1} F' G' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6)) l f (fun (x : α) => Prod.mk.{u2, u1} F' G' (g' x) (k' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_rightl Asymptotics.IsBigO.prod_rightlₓ'. -/
+theorem IsBigO.prod_rightl (h : f =O[l] g') : f =O[l] fun x => (g' x, k' x) :=
   let ⟨c, cnonneg, hc⟩ := h.exists_nonneg
-  (hc.prod_rightl k' cnonneg).IsO
-#align asymptotics.is_O.prod_rightl Asymptotics.IsO.prod_rightl
-
-theorem IsOCat.prod_rightl (h : f =o[l] g') : f =o[l] fun x => (g' x, k' x) :=
-  IsOCat.of_isOWith fun c cpos => (h.forall_isOWith cpos).prod_rightl k' cpos.le
-#align asymptotics.is_o.prod_rightl Asymptotics.IsOCat.prod_rightl
-
-theorem IsOWith.prod_rightr (h : IsOWith c l f g') (hc : 0 ≤ c) :
-    IsOWith c l f fun x => (f' x, g' x) :=
-  (h.trans isOWith_snd_prod hc).congr_const (mul_one c)
-#align asymptotics.is_O_with.prod_rightr Asymptotics.IsOWith.prod_rightr
-
-theorem IsO.prod_rightr (h : f =O[l] g') : f =O[l] fun x => (f' x, g' x) :=
+  (hc.prod_rightl k' cnonneg).IsBigO
+#align asymptotics.is_O.prod_rightl Asymptotics.IsBigO.prod_rightl
+
+/- warning: asymptotics.is_o.prod_rightl -> Asymptotics.IsLittleO.prod_rightl is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u1, u2, max u3 u4} α E (Prod.{u3, u4} F' G') _inst_1 (Prod.hasNorm.{u3, u4} F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6)) l f (fun (x : α) => Prod.mk.{u3, u4} F' G' (g' x) (k' x)))
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {F' : Type.{u2}} {G' : Type.{u1}} [_inst_1 : Norm.{u3} E] [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f : α -> E} {g' : α -> F'} (k' : α -> G') {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u4, u3, max u1 u2} α E (Prod.{u2, u1} F' G') _inst_1 (Prod.toNorm.{u2, u1} F' G' (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6)) l f (fun (x : α) => Prod.mk.{u2, u1} F' G' (g' x) (k' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_rightl Asymptotics.IsLittleO.prod_rightlₓ'. -/
+theorem IsLittleO.prod_rightl (h : f =o[l] g') : f =o[l] fun x => (g' x, k' x) :=
+  IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).prod_rightl k' cpos.le
+#align asymptotics.is_o.prod_rightl Asymptotics.IsLittleO.prod_rightl
+
+/- warning: asymptotics.is_O_with.prod_rightr -> Asymptotics.IsBigOWith.prod_rightr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {c : Real} {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, max u3 u4} α E (Prod.{u3, u4} E' F') _inst_1 (Prod.hasNorm.{u3, u4} E' F' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5)) c l f (fun (x : α) => Prod.mk.{u3, u4} E' F' (f' x) (g' x)))
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {c : Real} {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) c l f g') -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u4, u3, max u2 u1} α E (Prod.{u1, u2} E' F') _inst_1 (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) c l f (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_rightr Asymptotics.IsBigOWith.prod_rightrₓ'. -/
+theorem IsBigOWith.prod_rightr (h : IsBigOWith c l f g') (hc : 0 ≤ c) :
+    IsBigOWith c l f fun x => (f' x, g' x) :=
+  (h.trans isBigOWith_snd_prod hc).congr_const (mul_one c)
+#align asymptotics.is_O_with.prod_rightr Asymptotics.IsBigOWith.prod_rightr
+
+/- warning: asymptotics.is_O.prod_rightr -> Asymptotics.IsBigO.prod_rightr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u1, u2, max u3 u4} α E (Prod.{u3, u4} E' F') _inst_1 (Prod.hasNorm.{u3, u4} E' F' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5)) l f (fun (x : α) => Prod.mk.{u3, u4} E' F' (f' x) (g' x)))
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (Asymptotics.IsBigO.{u4, u3, max u2 u1} α E (Prod.{u1, u2} E' F') _inst_1 (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l f (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_rightr Asymptotics.IsBigO.prod_rightrₓ'. -/
+theorem IsBigO.prod_rightr (h : f =O[l] g') : f =O[l] fun x => (f' x, g' x) :=
   let ⟨c, cnonneg, hc⟩ := h.exists_nonneg
-  (hc.prod_rightr f' cnonneg).IsO
-#align asymptotics.is_O.prod_rightr Asymptotics.IsO.prod_rightr
-
-theorem IsOCat.prod_rightr (h : f =o[l] g') : f =o[l] fun x => (f' x, g' x) :=
-  IsOCat.of_isOWith fun c cpos => (h.forall_isOWith cpos).prod_rightr f' cpos.le
-#align asymptotics.is_o.prod_rightr Asymptotics.IsOCat.prod_rightr
+  (hc.prod_rightr f' cnonneg).IsBigO
+#align asymptotics.is_O.prod_rightr Asymptotics.IsBigO.prod_rightr
+
+/- warning: asymptotics.is_o.prod_rightr -> Asymptotics.IsLittleO.prod_rightr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u1, u2, max u3 u4} α E (Prod.{u3, u4} E' F') _inst_1 (Prod.hasNorm.{u3, u4} E' F' (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5)) l f (fun (x : α) => Prod.mk.{u3, u4} E' F' (f' x) (g' x)))
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} {E' : Type.{u1}} {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f : α -> E} (f' : α -> E') {g' : α -> F'} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (Asymptotics.IsLittleO.{u4, u3, max u2 u1} α E (Prod.{u1, u2} E' F') _inst_1 (Prod.toNorm.{u1, u2} E' F' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5)) l f (fun (x : α) => Prod.mk.{u1, u2} E' F' (f' x) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_rightr Asymptotics.IsLittleO.prod_rightrₓ'. -/
+theorem IsLittleO.prod_rightr (h : f =o[l] g') : f =o[l] fun x => (f' x, g' x) :=
+  IsLittleO.of_isBigOWith fun c cpos => (h.forall_isBigOWith cpos).prod_rightr f' cpos.le
+#align asymptotics.is_o.prod_rightr Asymptotics.IsLittleO.prod_rightr
 
 end
 
-theorem IsOWith.prod_left_same (hf : IsOWith c l f' k') (hg : IsOWith c l g' k') :
-    IsOWith c l (fun x => (f' x, g' x)) k' := by
+/- warning: asymptotics.is_O_with.prod_left_same -> Asymptotics.IsBigOWith.prod_left_same is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l f' k') -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l g' k') -> (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u3}} {F' : Type.{u1}} {G' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_6 : SeminormedAddCommGroup.{u2} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E' G' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c l f' k') -> (Asymptotics.IsBigOWith.{u4, u1, u2} α F' G' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c l g' k') -> (Asymptotics.IsBigOWith.{u4, max u1 u3, u2} α (Prod.{u3, u1} E' F') G' (Prod.toNorm.{u3, u1} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c l (fun (x : α) => Prod.mk.{u3, u1} E' F' (f' x) (g' x)) k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_left_same Asymptotics.IsBigOWith.prod_left_sameₓ'. -/
+theorem IsBigOWith.prod_left_same (hf : IsBigOWith c l f' k') (hg : IsBigOWith c l g' k') :
+    IsBigOWith c l (fun x => (f' x, g' x)) k' := by
   rw [is_O_with_iff] at * <;> filter_upwards [hf, hg]with x using max_le
-#align asymptotics.is_O_with.prod_left_same Asymptotics.IsOWith.prod_left_same
-
-theorem IsOWith.prod_left (hf : IsOWith c l f' k') (hg : IsOWith c' l g' k') :
-    IsOWith (max c c') l (fun x => (f' x, g' x)) k' :=
+#align asymptotics.is_O_with.prod_left_same Asymptotics.IsBigOWith.prod_left_same
+
+/- warning: asymptotics.is_O_with.prod_left -> Asymptotics.IsBigOWith.prod_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {c' : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l f' k') -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c' l g' k') -> (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) (LinearOrder.max.{0} Real Real.linearOrder c c') l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u3}} {F' : Type.{u1}} {G' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_6 : SeminormedAddCommGroup.{u2} G'] {c : Real} {c' : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, u3, u2} α E' G' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c l f' k') -> (Asymptotics.IsBigOWith.{u4, u1, u2} α F' G' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) c' l g' k') -> (Asymptotics.IsBigOWith.{u4, max u1 u3, u2} α (Prod.{u3, u1} E' F') G' (Prod.toNorm.{u3, u1} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) (Max.max.{0} Real (LinearOrderedRing.toMax.{0} Real Real.instLinearOrderedRingReal) c c') l (fun (x : α) => Prod.mk.{u3, u1} E' F' (f' x) (g' x)) k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_left Asymptotics.IsBigOWith.prod_leftₓ'. -/
+theorem IsBigOWith.prod_left (hf : IsBigOWith c l f' k') (hg : IsBigOWith c' l g' k') :
+    IsBigOWith (max c c') l (fun x => (f' x, g' x)) k' :=
   (hf.weaken <| le_max_left c c').prod_left_same (hg.weaken <| le_max_right c c')
-#align asymptotics.is_O_with.prod_left Asymptotics.IsOWith.prod_left
-
-theorem IsOWith.prod_left_fst (h : IsOWith c l (fun x => (f' x, g' x)) k') : IsOWith c l f' k' :=
-  (isOWith_fst_prod.trans h zero_le_one).congr_const <| one_mul c
-#align asymptotics.is_O_with.prod_left_fst Asymptotics.IsOWith.prod_left_fst
-
-theorem IsOWith.prod_left_snd (h : IsOWith c l (fun x => (f' x, g' x)) k') : IsOWith c l g' k' :=
-  (isOWith_snd_prod.trans h zero_le_one).congr_const <| one_mul c
-#align asymptotics.is_O_with.prod_left_snd Asymptotics.IsOWith.prod_left_snd
-
-theorem isOWith_prod_left :
-    IsOWith c l (fun x => (f' x, g' x)) k' ↔ IsOWith c l f' k' ∧ IsOWith c l g' k' :=
+#align asymptotics.is_O_with.prod_left Asymptotics.IsBigOWith.prod_left
+
+/- warning: asymptotics.is_O_with.prod_left_fst -> Asymptotics.IsBigOWith.prod_left_fst is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigOWith.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l f' k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigOWith.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l f' k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_left_fst Asymptotics.IsBigOWith.prod_left_fstₓ'. -/
+theorem IsBigOWith.prod_left_fst (h : IsBigOWith c l (fun x => (f' x, g' x)) k') :
+    IsBigOWith c l f' k' :=
+  (isBigOWith_fst_prod.trans h zero_le_one).congr_const <| one_mul c
+#align asymptotics.is_O_with.prod_left_fst Asymptotics.IsBigOWith.prod_left_fst
+
+/- warning: asymptotics.is_O_with.prod_left_snd -> Asymptotics.IsBigOWith.prod_left_snd is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigOWith.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l g' k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigOWith.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigOWith.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l g' k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.prod_left_snd Asymptotics.IsBigOWith.prod_left_sndₓ'. -/
+theorem IsBigOWith.prod_left_snd (h : IsBigOWith c l (fun x => (f' x, g' x)) k') :
+    IsBigOWith c l g' k' :=
+  (isBigOWith_snd_prod.trans h zero_le_one).congr_const <| one_mul c
+#align asymptotics.is_O_with.prod_left_snd Asymptotics.IsBigOWith.prod_left_snd
+
+/- warning: asymptotics.is_O_with_prod_left -> Asymptotics.isBigOWith_prod_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsBigOWith.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l f' k') (Asymptotics.IsBigOWith.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) c l g' k'))
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {c : Real} {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, Iff (Asymptotics.IsBigOWith.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsBigOWith.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l f' k') (Asymptotics.IsBigOWith.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) c l g' k'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_prod_left Asymptotics.isBigOWith_prod_leftₓ'. -/
+theorem isBigOWith_prod_left :
+    IsBigOWith c l (fun x => (f' x, g' x)) k' ↔ IsBigOWith c l f' k' ∧ IsBigOWith c l g' k' :=
   ⟨fun h => ⟨h.prod_left_fst, h.prod_left_snd⟩, fun h => h.1.prod_left_same h.2⟩
-#align asymptotics.is_O_with_prod_left Asymptotics.isOWith_prod_left
-
-theorem IsO.prod_left (hf : f' =O[l] k') (hg : g' =O[l] k') : (fun x => (f' x, g' x)) =O[l] k' :=
-  let ⟨c, hf⟩ := hf.IsOWith
-  let ⟨c', hg⟩ := hg.IsOWith
-  (hf.prodLeft hg).IsO
-#align asymptotics.is_O.prod_left Asymptotics.IsO.prod_left
-
-theorem IsO.prod_left_fst : (fun x => (f' x, g' x)) =O[l] k' → f' =O[l] k' :=
-  IsO.trans isO_fst_prod
-#align asymptotics.is_O.prod_left_fst Asymptotics.IsO.prod_left_fst
-
-theorem IsO.prod_left_snd : (fun x => (f' x, g' x)) =O[l] k' → g' =O[l] k' :=
-  IsO.trans isO_snd_prod
-#align asymptotics.is_O.prod_left_snd Asymptotics.IsO.prod_left_snd
-
+#align asymptotics.is_O_with_prod_left Asymptotics.isBigOWith_prod_left
+
+/- warning: asymptotics.is_O.prod_left -> Asymptotics.IsBigO.prod_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k') -> (Asymptotics.IsBigO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k') -> (Asymptotics.IsBigO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u3}} {F' : Type.{u1}} {G' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_6 : SeminormedAddCommGroup.{u2} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, u3, u2} α E' G' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l f' k') -> (Asymptotics.IsBigO.{u4, u1, u2} α F' G' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l g' k') -> (Asymptotics.IsBigO.{u4, max u1 u3, u2} α (Prod.{u3, u1} E' F') G' (Prod.toNorm.{u3, u1} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l (fun (x : α) => Prod.mk.{u3, u1} E' F' (f' x) (g' x)) k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_left Asymptotics.IsBigO.prod_leftₓ'. -/
+theorem IsBigO.prod_left (hf : f' =O[l] k') (hg : g' =O[l] k') : (fun x => (f' x, g' x)) =O[l] k' :=
+  let ⟨c, hf⟩ := hf.IsBigOWith
+  let ⟨c', hg⟩ := hg.IsBigOWith
+  (hf.prodLeft hg).IsBigO
+#align asymptotics.is_O.prod_left Asymptotics.IsBigO.prod_left
+
+/- warning: asymptotics.is_O.prod_left_fst -> Asymptotics.IsBigO.prod_left_fst is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigO.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f' k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_left_fst Asymptotics.IsBigO.prod_left_fstₓ'. -/
+theorem IsBigO.prod_left_fst : (fun x => (f' x, g' x)) =O[l] k' → f' =O[l] k' :=
+  IsBigO.trans isBigO_fst_prod
+#align asymptotics.is_O.prod_left_fst Asymptotics.IsBigO.prod_left_fst
+
+/- warning: asymptotics.is_O.prod_left_snd -> Asymptotics.IsBigO.prod_left_snd is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsBigO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsBigO.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g' k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.prod_left_snd Asymptotics.IsBigO.prod_left_sndₓ'. -/
+theorem IsBigO.prod_left_snd : (fun x => (f' x, g' x)) =O[l] k' → g' =O[l] k' :=
+  IsBigO.trans isBigO_snd_prod
+#align asymptotics.is_O.prod_left_snd Asymptotics.IsBigO.prod_left_snd
+
+/- warning: asymptotics.is_O_prod_left -> Asymptotics.isBigO_prod_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsBigO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k') (Asymptotics.IsBigO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k'))
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, Iff (Asymptotics.IsBigO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsBigO.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f' k') (Asymptotics.IsBigO.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g' k'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_prod_left Asymptotics.isBigO_prod_leftₓ'. -/
 @[simp]
-theorem isO_prod_left : (fun x => (f' x, g' x)) =O[l] k' ↔ f' =O[l] k' ∧ g' =O[l] k' :=
+theorem isBigO_prod_left : (fun x => (f' x, g' x)) =O[l] k' ↔ f' =O[l] k' ∧ g' =O[l] k' :=
   ⟨fun h => ⟨h.prod_left_fst, h.prod_left_snd⟩, fun h => h.1.prodLeft h.2⟩
-#align asymptotics.is_O_prod_left Asymptotics.isO_prod_left
-
-theorem IsOCat.prod_left (hf : f' =o[l] k') (hg : g' =o[l] k') : (fun x => (f' x, g' x)) =o[l] k' :=
-  IsOCat.of_isOWith fun c hc => (hf.forall_isOWith hc).prod_left_same (hg.forall_isOWith hc)
-#align asymptotics.is_o.prod_left Asymptotics.IsOCat.prod_left
-
-theorem IsOCat.prod_left_fst : (fun x => (f' x, g' x)) =o[l] k' → f' =o[l] k' :=
-  IsO.trans_isOCat isO_fst_prod
-#align asymptotics.is_o.prod_left_fst Asymptotics.IsOCat.prod_left_fst
-
-theorem IsOCat.prod_left_snd : (fun x => (f' x, g' x)) =o[l] k' → g' =o[l] k' :=
-  IsO.trans_isOCat isO_snd_prod
-#align asymptotics.is_o.prod_left_snd Asymptotics.IsOCat.prod_left_snd
-
+#align asymptotics.is_O_prod_left Asymptotics.isBigO_prod_left
+
+/- warning: asymptotics.is_o.prod_left -> Asymptotics.IsLittleO.prod_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k') -> (Asymptotics.IsLittleO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k') -> (Asymptotics.IsLittleO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u3}} {F' : Type.{u1}} {G' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_6 : SeminormedAddCommGroup.{u2} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, u3, u2} α E' G' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l f' k') -> (Asymptotics.IsLittleO.{u4, u1, u2} α F' G' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l g' k') -> (Asymptotics.IsLittleO.{u4, max u1 u3, u2} α (Prod.{u3, u1} E' F') G' (Prod.toNorm.{u3, u1} E' F' (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u2} G' _inst_6) l (fun (x : α) => Prod.mk.{u3, u1} E' F' (f' x) (g' x)) k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_left Asymptotics.IsLittleO.prod_leftₓ'. -/
+theorem IsLittleO.prod_left (hf : f' =o[l] k') (hg : g' =o[l] k') :
+    (fun x => (f' x, g' x)) =o[l] k' :=
+  IsLittleO.of_isBigOWith fun c hc =>
+    (hf.forall_isBigOWith hc).prod_left_same (hg.forall_isBigOWith hc)
+#align asymptotics.is_o.prod_left Asymptotics.IsLittleO.prod_left
+
+/- warning: asymptotics.is_o.prod_left_fst -> Asymptotics.IsLittleO.prod_left_fst is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsLittleO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsLittleO.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f' k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_left_fst Asymptotics.IsLittleO.prod_left_fstₓ'. -/
+theorem IsLittleO.prod_left_fst : (fun x => (f' x, g' x)) =o[l] k' → f' =o[l] k' :=
+  IsBigO.trans_isLittleO isBigO_fst_prod
+#align asymptotics.is_o.prod_left_fst Asymptotics.IsLittleO.prod_left_fst
+
+/- warning: asymptotics.is_o.prod_left_snd -> Asymptotics.IsLittleO.prod_left_snd is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsLittleO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k')
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, (Asymptotics.IsLittleO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') -> (Asymptotics.IsLittleO.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g' k')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.prod_left_snd Asymptotics.IsLittleO.prod_left_sndₓ'. -/
+theorem IsLittleO.prod_left_snd : (fun x => (f' x, g' x)) =o[l] k' → g' =o[l] k' :=
+  IsBigO.trans_isLittleO isBigO_snd_prod
+#align asymptotics.is_o.prod_left_snd Asymptotics.IsLittleO.prod_left_snd
+
+/- warning: asymptotics.is_o_prod_left -> Asymptotics.isLittleO_prod_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u4}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u4} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, max u2 u3, u4} α (Prod.{u2, u3} E' F') G' (Prod.hasNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsLittleO.{u1, u2, u4} α E' G' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l f' k') (Asymptotics.IsLittleO.{u1, u3, u4} α F' G' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toHasNorm.{u4} G' _inst_6) l g' k'))
+but is expected to have type
+  forall {α : Type.{u4}} {E' : Type.{u2}} {F' : Type.{u3}} {G' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_6 : SeminormedAddCommGroup.{u1} G'] {f' : α -> E'} {g' : α -> F'} {k' : α -> G'} {l : Filter.{u4} α}, Iff (Asymptotics.IsLittleO.{u4, max u3 u2, u1} α (Prod.{u2, u3} E' F') G' (Prod.toNorm.{u2, u3} E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5)) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l (fun (x : α) => Prod.mk.{u2, u3} E' F' (f' x) (g' x)) k') (And (Asymptotics.IsLittleO.{u4, u2, u1} α E' G' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l f' k') (Asymptotics.IsLittleO.{u4, u3, u1} α F' G' (SeminormedAddCommGroup.toNorm.{u3} F' _inst_5) (SeminormedAddCommGroup.toNorm.{u1} G' _inst_6) l g' k'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_prod_left Asymptotics.isLittleO_prod_leftₓ'. -/
 @[simp]
-theorem isOCat_prod_left : (fun x => (f' x, g' x)) =o[l] k' ↔ f' =o[l] k' ∧ g' =o[l] k' :=
+theorem isLittleO_prod_left : (fun x => (f' x, g' x)) =o[l] k' ↔ f' =o[l] k' ∧ g' =o[l] k' :=
   ⟨fun h => ⟨h.prod_left_fst, h.prod_left_snd⟩, fun h => h.1.prodLeft h.2⟩
-#align asymptotics.is_o_prod_left Asymptotics.isOCat_prod_left
-
-theorem IsOWith.eq_zero_imp (h : IsOWith c l f'' g'') : ∀ᶠ x in l, g'' x = 0 → f'' x = 0 :=
+#align asymptotics.is_o_prod_left Asymptotics.isLittleO_prod_left
+
+/- warning: asymptotics.is_O_with.eq_zero_imp -> Asymptotics.IsBigOWith.eq_zero_imp is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {c : Real} {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u1} α}, (Asymptotics.IsBigOWith.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) c l f'' g'') -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))) l)
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {c : Real} {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u3} α}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) c l f'' g'') -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u1} F'' (g'' x) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))) l)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.eq_zero_imp Asymptotics.IsBigOWith.eq_zero_impₓ'. -/
+theorem IsBigOWith.eq_zero_imp (h : IsBigOWith c l f'' g'') : ∀ᶠ x in l, g'' x = 0 → f'' x = 0 :=
   Eventually.mono h.bound fun x hx hg => norm_le_zero_iff.1 <| by simpa [hg] using hx
-#align asymptotics.is_O_with.eq_zero_imp Asymptotics.IsOWith.eq_zero_imp
-
-theorem IsO.eq_zero_imp (h : f'' =O[l] g'') : ∀ᶠ x in l, g'' x = 0 → f'' x = 0 :=
-  let ⟨C, hC⟩ := h.IsOWith
+#align asymptotics.is_O_with.eq_zero_imp Asymptotics.IsBigOWith.eq_zero_imp
+
+/- warning: asymptotics.is_O.eq_zero_imp -> Asymptotics.IsBigO.eq_zero_imp is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' g'') -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))) l)
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' g'') -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u1} F'' (g'' x) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))) l)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.eq_zero_imp Asymptotics.IsBigO.eq_zero_impₓ'. -/
+theorem IsBigO.eq_zero_imp (h : f'' =O[l] g'') : ∀ᶠ x in l, g'' x = 0 → f'' x = 0 :=
+  let ⟨C, hC⟩ := h.IsBigOWith
   hC.eq_zero_imp
-#align asymptotics.is_O.eq_zero_imp Asymptotics.IsO.eq_zero_imp
+#align asymptotics.is_O.eq_zero_imp Asymptotics.IsBigO.eq_zero_imp
 
 /-! ### Addition and subtraction -/
 
@@ -1025,68 +2233,141 @@ section add_sub
 
 variable {f₁ f₂ : α → E'} {g₁ g₂ : α → F'}
 
-theorem IsOWith.add (h₁ : IsOWith c₁ l f₁ g) (h₂ : IsOWith c₂ l f₂ g) :
-    IsOWith (c₁ + c₂) l (fun x => f₁ x + f₂ x) g := by
+/- warning: asymptotics.is_O_with.add -> Asymptotics.IsBigOWith.add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l f₂ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) c₁ c₂) l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l f₂ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) c₁ c₂) l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.add Asymptotics.IsBigOWith.addₓ'. -/
+theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂ l f₂ g) :
+    IsBigOWith (c₁ + c₂) l (fun x => f₁ x + f₂ x) g := by
   rw [is_O_with] at * <;>
     filter_upwards [h₁,
       h₂]with x hx₁ hx₂ using calc
         ‖f₁ x + f₂ x‖ ≤ c₁ * ‖g x‖ + c₂ * ‖g x‖ := norm_add_le_of_le hx₁ hx₂
         _ = (c₁ + c₂) * ‖g x‖ := (add_mul _ _ _).symm
         
-#align asymptotics.is_O_with.add Asymptotics.IsOWith.add
-
-theorem IsO.add (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
-  let ⟨c₁, hc₁⟩ := h₁.IsOWith
-  let ⟨c₂, hc₂⟩ := h₂.IsOWith
-  (hc₁.add hc₂).IsO
-#align asymptotics.is_O.add Asymptotics.IsO.add
-
-theorem IsOCat.add (h₁ : f₁ =o[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x + f₂ x) =o[l] g :=
-  IsOCat.of_isOWith fun c cpos =>
-    ((h₁.forall_isOWith <| half_pos cpos).add (h₂.forall_isOWith <| half_pos cpos)).congr_const
+#align asymptotics.is_O_with.add Asymptotics.IsBigOWith.add
+
+/- warning: asymptotics.is_O.add -> Asymptotics.IsBigO.add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.add Asymptotics.IsBigO.addₓ'. -/
+theorem IsBigO.add (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
+  let ⟨c₁, hc₁⟩ := h₁.IsBigOWith
+  let ⟨c₂, hc₂⟩ := h₂.IsBigOWith
+  (hc₁.add hc₂).IsBigO
+#align asymptotics.is_O.add Asymptotics.IsBigO.add
+
+/- warning: asymptotics.is_o.add -> Asymptotics.IsLittleO.add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.add Asymptotics.IsLittleO.addₓ'. -/
+theorem IsLittleO.add (h₁ : f₁ =o[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x + f₂ x) =o[l] g :=
+  IsLittleO.of_isBigOWith fun c cpos =>
+    ((h₁.forall_isBigOWith <| half_pos cpos).add
+          (h₂.forall_isBigOWith <| half_pos cpos)).congr_const
       (add_halves c)
-#align asymptotics.is_o.add Asymptotics.IsOCat.add
-
-theorem IsOCat.add_add (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =o[l] g₂) :
+#align asymptotics.is_o.add Asymptotics.IsLittleO.add
+
+/- warning: asymptotics.is_o.add_add -> Asymptotics.IsLittleO.add_add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'} {g₁ : α -> F'} {g₂ : α -> F'}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f₁ g₁) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f₂ g₂) -> (Asymptotics.IsLittleO.{u1, u2, 0} α E' Real (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) Real.hasNorm l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toHasAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) (fun (x : α) => HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g₁ x)) (Norm.norm.{u3} F' (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (g₂ x))))
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'} {g₁ : α -> F'} {g₂ : α -> F'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f₁ g₁) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f₂ g₂) -> (Asymptotics.IsLittleO.{u3, u2, 0} α E' Real (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) Real.norm l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) (fun (x : α) => HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g₁ x)) (Norm.norm.{u1} F' (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (g₂ x))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.add_add Asymptotics.IsLittleO.add_addₓ'. -/
+theorem IsLittleO.add_add (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =o[l] g₂) :
     (fun x => f₁ x + f₂ x) =o[l] fun x => ‖g₁ x‖ + ‖g₂ x‖ := by
   refine' (h₁.trans_le fun x => _).add (h₂.trans_le _) <;> simp [abs_of_nonneg, add_nonneg]
-#align asymptotics.is_o.add_add Asymptotics.IsOCat.add_add
-
-theorem IsO.add_isOCat (h₁ : f₁ =O[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
-  h₁.add h₂.IsO
-#align asymptotics.is_O.add_is_o Asymptotics.IsO.add_isOCat
-
-theorem IsOCat.add_isO (h₁ : f₁ =o[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
-  h₁.IsO.add h₂
-#align asymptotics.is_o.add_is_O Asymptotics.IsOCat.add_isO
-
-theorem IsOWith.add_isOCat (h₁ : IsOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
-    IsOWith c₂ l (fun x => f₁ x + f₂ x) g :=
-  (h₁.add (h₂.forall_isOWith (sub_pos.2 hc))).congr_const (add_sub_cancel'_right _ _)
-#align asymptotics.is_O_with.add_is_o Asymptotics.IsOWith.add_isOCat
-
-theorem IsOCat.add_isOWith (h₁ : f₁ =o[l] g) (h₂ : IsOWith c₁ l f₂ g) (hc : c₁ < c₂) :
-    IsOWith c₂ l (fun x => f₁ x + f₂ x) g :=
-  (h₂.add_isOCat h₁ hc).congr_left fun _ => add_comm _ _
-#align asymptotics.is_o.add_is_O_with Asymptotics.IsOCat.add_isOWith
-
-theorem IsOWith.sub (h₁ : IsOWith c₁ l f₁ g) (h₂ : IsOWith c₂ l f₂ g) :
-    IsOWith (c₁ + c₂) l (fun x => f₁ x - f₂ x) g := by
+#align asymptotics.is_o.add_add Asymptotics.IsLittleO.add_add
+
+/- warning: asymptotics.is_O.add_is_o -> Asymptotics.IsBigO.add_isLittleO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.add_is_o Asymptotics.IsBigO.add_isLittleOₓ'. -/
+theorem IsBigO.add_isLittleO (h₁ : f₁ =O[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
+  h₁.add h₂.IsBigO
+#align asymptotics.is_O.add_is_o Asymptotics.IsBigO.add_isLittleO
+
+/- warning: asymptotics.is_o.add_is_O -> Asymptotics.IsLittleO.add_isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.add_is_O Asymptotics.IsLittleO.add_isBigOₓ'. -/
+theorem IsLittleO.add_isBigO (h₁ : f₁ =o[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
+  h₁.IsBigO.add h₂
+#align asymptotics.is_o.add_is_O Asymptotics.IsLittleO.add_isBigO
+
+/- warning: asymptotics.is_O_with.add_is_o -> Asymptotics.IsBigOWith.add_isLittleO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (LT.lt.{0} Real Real.hasLt c₁ c₂) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (LT.lt.{0} Real Real.instLTReal c₁ c₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.add_is_o Asymptotics.IsBigOWith.add_isLittleOₓ'. -/
+theorem IsBigOWith.add_isLittleO (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
+    IsBigOWith c₂ l (fun x => f₁ x + f₂ x) g :=
+  (h₁.add (h₂.forall_isBigOWith (sub_pos.2 hc))).congr_const (add_sub_cancel'_right _ _)
+#align asymptotics.is_O_with.add_is_o Asymptotics.IsBigOWith.add_isLittleO
+
+/- warning: asymptotics.is_o.add_is_O_with -> Asymptotics.IsLittleO.add_isBigOWith is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₂ g) -> (LT.lt.{0} Real Real.hasLt c₁ c₂) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HAdd.hAdd.{u3, u3, u3} E' E' E' (instHAdd.{u3} E' (AddZeroClass.toHasAdd.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₂ g) -> (LT.lt.{0} Real Real.instLTReal c₁ c₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.add_is_O_with Asymptotics.IsLittleO.add_isBigOWithₓ'. -/
+theorem IsLittleO.add_isBigOWith (h₁ : f₁ =o[l] g) (h₂ : IsBigOWith c₁ l f₂ g) (hc : c₁ < c₂) :
+    IsBigOWith c₂ l (fun x => f₁ x + f₂ x) g :=
+  (h₂.add_isLittleO h₁ hc).congr_left fun _ => add_comm _ _
+#align asymptotics.is_o.add_is_O_with Asymptotics.IsLittleO.add_isBigOWith
+
+/- warning: asymptotics.is_O_with.sub -> Asymptotics.IsBigOWith.sub is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l f₂ g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) c₁ c₂) l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l f₂ g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) c₁ c₂) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sub Asymptotics.IsBigOWith.subₓ'. -/
+theorem IsBigOWith.sub (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂ l f₂ g) :
+    IsBigOWith (c₁ + c₂) l (fun x => f₁ x - f₂ x) g := by
   simpa only [sub_eq_add_neg] using h₁.add h₂.neg_left
-#align asymptotics.is_O_with.sub Asymptotics.IsOWith.sub
-
-theorem IsOWith.sub_isOCat (h₁ : IsOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
-    IsOWith c₂ l (fun x => f₁ x - f₂ x) g := by
+#align asymptotics.is_O_with.sub Asymptotics.IsBigOWith.sub
+
+/- warning: asymptotics.is_O_with.sub_is_o -> Asymptotics.IsBigOWith.sub_isLittleO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (LT.lt.{0} Real Real.hasLt c₁ c₂) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c₁ : Real} {c₂ : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₁ l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (LT.lt.{0} Real Real.instLTReal c₁ c₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c₂ l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sub_is_o Asymptotics.IsBigOWith.sub_isLittleOₓ'. -/
+theorem IsBigOWith.sub_isLittleO (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
+    IsBigOWith c₂ l (fun x => f₁ x - f₂ x) g := by
   simpa only [sub_eq_add_neg] using h₁.add_is_o h₂.neg_left hc
-#align asymptotics.is_O_with.sub_is_o Asymptotics.IsOWith.sub_isOCat
-
-theorem IsO.sub (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x - f₂ x) =O[l] g := by
+#align asymptotics.is_O_with.sub_is_o Asymptotics.IsBigOWith.sub_isLittleO
+
+/- warning: asymptotics.is_O.sub -> Asymptotics.IsBigO.sub is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.sub Asymptotics.IsBigO.subₓ'. -/
+theorem IsBigO.sub (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x - f₂ x) =O[l] g := by
   simpa only [sub_eq_add_neg] using h₁.add h₂.neg_left
-#align asymptotics.is_O.sub Asymptotics.IsO.sub
-
-theorem IsOCat.sub (h₁ : f₁ =o[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x - f₂ x) =o[l] g := by
+#align asymptotics.is_O.sub Asymptotics.IsBigO.sub
+
+/- warning: asymptotics.is_o.sub -> Asymptotics.IsLittleO.sub is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.sub Asymptotics.IsLittleO.subₓ'. -/
+theorem IsLittleO.sub (h₁ : f₁ =o[l] g) (h₂ : f₂ =o[l] g) : (fun x => f₁ x - f₂ x) =o[l] g := by
   simpa only [sub_eq_add_neg] using h₁.add h₂.neg_left
-#align asymptotics.is_o.sub Asymptotics.IsOCat.sub
+#align asymptotics.is_o.sub Asymptotics.IsLittleO.sub
 
 end add_sub
 
@@ -1097,56 +2378,123 @@ section IsOOAsRel
 
 variable {f₁ f₂ f₃ : α → E'}
 
-theorem IsOWith.symm (h : IsOWith c l (fun x => f₁ x - f₂ x) g) :
-    IsOWith c l (fun x => f₂ x - f₁ x) g :=
+/- warning: asymptotics.is_O_with.symm -> Asymptotics.IsBigOWith.symm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.symm Asymptotics.IsBigOWith.symmₓ'. -/
+theorem IsBigOWith.symm (h : IsBigOWith c l (fun x => f₁ x - f₂ x) g) :
+    IsBigOWith c l (fun x => f₂ x - f₁ x) g :=
   h.neg_left.congr_left fun x => neg_sub _ _
-#align asymptotics.is_O_with.symm Asymptotics.IsOWith.symm
-
-theorem isOWith_comm :
-    IsOWith c l (fun x => f₁ x - f₂ x) g ↔ IsOWith c l (fun x => f₂ x - f₁ x) g :=
-  ⟨IsOWith.symm, IsOWith.symm⟩
-#align asymptotics.is_O_with_comm Asymptotics.isOWith_comm
-
-theorem IsO.symm (h : (fun x => f₁ x - f₂ x) =O[l] g) : (fun x => f₂ x - f₁ x) =O[l] g :=
+#align asymptotics.is_O_with.symm Asymptotics.IsBigOWith.symm
+
+/- warning: asymptotics.is_O_with_comm -> Asymptotics.isBigOWith_comm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_comm Asymptotics.isBigOWith_commₓ'. -/
+theorem isBigOWith_comm :
+    IsBigOWith c l (fun x => f₁ x - f₂ x) g ↔ IsBigOWith c l (fun x => f₂ x - f₁ x) g :=
+  ⟨IsBigOWith.symm, IsBigOWith.symm⟩
+#align asymptotics.is_O_with_comm Asymptotics.isBigOWith_comm
+
+/- warning: asymptotics.is_O.symm -> Asymptotics.IsBigO.symm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.symm Asymptotics.IsBigO.symmₓ'. -/
+theorem IsBigO.symm (h : (fun x => f₁ x - f₂ x) =O[l] g) : (fun x => f₂ x - f₁ x) =O[l] g :=
   h.neg_left.congr_left fun x => neg_sub _ _
-#align asymptotics.is_O.symm Asymptotics.IsO.symm
-
-theorem isO_comm : (fun x => f₁ x - f₂ x) =O[l] g ↔ (fun x => f₂ x - f₁ x) =O[l] g :=
-  ⟨IsO.symm, IsO.symm⟩
-#align asymptotics.is_O_comm Asymptotics.isO_comm
-
-theorem IsOCat.symm (h : (fun x => f₁ x - f₂ x) =o[l] g) : (fun x => f₂ x - f₁ x) =o[l] g := by
+#align asymptotics.is_O.symm Asymptotics.IsBigO.symm
+
+/- warning: asymptotics.is_O_comm -> Asymptotics.isBigO_comm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_comm Asymptotics.isBigO_commₓ'. -/
+theorem isBigO_comm : (fun x => f₁ x - f₂ x) =O[l] g ↔ (fun x => f₂ x - f₁ x) =O[l] g :=
+  ⟨IsBigO.symm, IsBigO.symm⟩
+#align asymptotics.is_O_comm Asymptotics.isBigO_comm
+
+/- warning: asymptotics.is_o.symm -> Asymptotics.IsLittleO.symm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.symm Asymptotics.IsLittleO.symmₓ'. -/
+theorem IsLittleO.symm (h : (fun x => f₁ x - f₂ x) =o[l] g) : (fun x => f₂ x - f₁ x) =o[l] g := by
   simpa only [neg_sub] using h.neg_left
-#align asymptotics.is_o.symm Asymptotics.IsOCat.symm
-
-theorem isOCat_comm : (fun x => f₁ x - f₂ x) =o[l] g ↔ (fun x => f₂ x - f₁ x) =o[l] g :=
-  ⟨IsOCat.symm, IsOCat.symm⟩
-#align asymptotics.is_o_comm Asymptotics.isOCat_comm
-
-theorem IsOWith.triangle (h₁ : IsOWith c l (fun x => f₁ x - f₂ x) g)
-    (h₂ : IsOWith c' l (fun x => f₂ x - f₃ x) g) : IsOWith (c + c') l (fun x => f₁ x - f₃ x) g :=
+#align asymptotics.is_o.symm Asymptotics.IsLittleO.symm
+
+/- warning: asymptotics.is_o_comm -> Asymptotics.isLittleO_comm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_comm Asymptotics.isLittleO_commₓ'. -/
+theorem isLittleO_comm : (fun x => f₁ x - f₂ x) =o[l] g ↔ (fun x => f₂ x - f₁ x) =o[l] g :=
+  ⟨IsLittleO.symm, IsLittleO.symm⟩
+#align asymptotics.is_o_comm Asymptotics.isLittleO_comm
+
+/- warning: asymptotics.is_O_with.triangle -> Asymptotics.IsBigOWith.triangle is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {c : Real} {c' : Real} {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c' l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) c c') l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₃ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {c' : Real} {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 c' l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) c c') l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₃ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.triangle Asymptotics.IsBigOWith.triangleₓ'. -/
+theorem IsBigOWith.triangle (h₁ : IsBigOWith c l (fun x => f₁ x - f₂ x) g)
+    (h₂ : IsBigOWith c' l (fun x => f₂ x - f₃ x) g) :
+    IsBigOWith (c + c') l (fun x => f₁ x - f₃ x) g :=
   (h₁.add h₂).congr_left fun x => sub_add_sub_cancel _ _ _
-#align asymptotics.is_O_with.triangle Asymptotics.IsOWith.triangle
-
-theorem IsO.triangle (h₁ : (fun x => f₁ x - f₂ x) =O[l] g) (h₂ : (fun x => f₂ x - f₃ x) =O[l] g) :
-    (fun x => f₁ x - f₃ x) =O[l] g :=
+#align asymptotics.is_O_with.triangle Asymptotics.IsBigOWith.triangle
+
+/- warning: asymptotics.is_O.triangle -> Asymptotics.IsBigO.triangle is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₃ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₃ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.triangle Asymptotics.IsBigO.triangleₓ'. -/
+theorem IsBigO.triangle (h₁ : (fun x => f₁ x - f₂ x) =O[l] g)
+    (h₂ : (fun x => f₂ x - f₃ x) =O[l] g) : (fun x => f₁ x - f₃ x) =O[l] g :=
   (h₁.add h₂).congr_left fun x => sub_add_sub_cancel _ _ _
-#align asymptotics.is_O.triangle Asymptotics.IsO.triangle
-
-theorem IsOCat.triangle (h₁ : (fun x => f₁ x - f₂ x) =o[l] g)
+#align asymptotics.is_O.triangle Asymptotics.IsBigO.triangle
+
+/- warning: asymptotics.is_o.triangle -> Asymptotics.IsLittleO.triangle is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₃ x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'} {f₃ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₃ x)) g) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₃ x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.triangle Asymptotics.IsLittleO.triangleₓ'. -/
+theorem IsLittleO.triangle (h₁ : (fun x => f₁ x - f₂ x) =o[l] g)
     (h₂ : (fun x => f₂ x - f₃ x) =o[l] g) : (fun x => f₁ x - f₃ x) =o[l] g :=
   (h₁.add h₂).congr_left fun x => sub_add_sub_cancel _ _ _
-#align asymptotics.is_o.triangle Asymptotics.IsOCat.triangle
-
-theorem IsO.congr_of_sub (h : (fun x => f₁ x - f₂ x) =O[l] g) : f₁ =O[l] g ↔ f₂ =O[l] g :=
+#align asymptotics.is_o.triangle Asymptotics.IsLittleO.triangle
+
+/- warning: asymptotics.is_O.congr_of_sub -> Asymptotics.IsBigO.congr_of_sub is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g))
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Iff (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.congr_of_sub Asymptotics.IsBigO.congr_of_subₓ'. -/
+theorem IsBigO.congr_of_sub (h : (fun x => f₁ x - f₂ x) =O[l] g) : f₁ =O[l] g ↔ f₂ =O[l] g :=
   ⟨fun h' => (h'.sub h).congr_left fun x => sub_sub_cancel _ _, fun h' =>
     (h.add h').congr_left fun x => sub_add_cancel _ _⟩
-#align asymptotics.is_O.congr_of_sub Asymptotics.IsO.congr_of_sub
-
-theorem IsOCat.congr_of_sub (h : (fun x => f₁ x - f₂ x) =o[l] g) : f₁ =o[l] g ↔ f₂ =o[l] g :=
+#align asymptotics.is_O.congr_of_sub Asymptotics.IsBigO.congr_of_sub
+
+/- warning: asymptotics.is_o.congr_of_sub -> Asymptotics.IsLittleO.congr_of_sub is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u3, u3, u3} E' E' E' (instHSub.{u3} E' (SubNegMonoid.toHasSub.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₁ g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f₂ g))
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₁ x) (f₂ x)) g) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₁ g) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f₂ g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.congr_of_sub Asymptotics.IsLittleO.congr_of_subₓ'. -/
+theorem IsLittleO.congr_of_sub (h : (fun x => f₁ x - f₂ x) =o[l] g) : f₁ =o[l] g ↔ f₂ =o[l] g :=
   ⟨fun h' => (h'.sub h).congr_left fun x => sub_sub_cancel _ _, fun h' =>
     (h.add h').congr_left fun x => sub_add_cancel _ _⟩
-#align asymptotics.is_o.congr_of_sub Asymptotics.IsOCat.congr_of_sub
+#align asymptotics.is_o.congr_of_sub Asymptotics.IsLittleO.congr_of_sub
 
 end IsOOAsRel
 
@@ -1157,97 +2505,193 @@ section ZeroConst
 
 variable (g g' l)
 
-theorem isOCat_zero : (fun x => (0 : E')) =o[l] g' :=
-  IsOCat.of_bound fun c hc =>
+/- warning: asymptotics.is_o_zero -> Asymptotics.isLittleO_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] (g' : α -> F') (l : Filter.{u1} α), Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))))) g'
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] (g' : α -> F') (l : Filter.{u3} α), Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))))) g'
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_zero Asymptotics.isLittleO_zeroₓ'. -/
+theorem isLittleO_zero : (fun x => (0 : E')) =o[l] g' :=
+  IsLittleO.of_bound fun c hc =>
     univ_mem' fun x => by simpa using mul_nonneg hc.le (norm_nonneg <| g' x)
-#align asymptotics.is_o_zero Asymptotics.isOCat_zero
-
-theorem isOWith_zero (hc : 0 ≤ c) : IsOWith c l (fun x => (0 : E')) g' :=
-  IsOWith.of_bound <| univ_mem' fun x => by simpa using mul_nonneg hc (norm_nonneg <| g' x)
-#align asymptotics.is_O_with_zero Asymptotics.isOWith_zero
-
-theorem isOWith_zero' : IsOWith 0 l (fun x => (0 : E')) g :=
-  IsOWith.of_bound <| univ_mem' fun x => by simp
-#align asymptotics.is_O_with_zero' Asymptotics.isOWith_zero'
-
-theorem isO_zero : (fun x => (0 : E')) =O[l] g :=
-  isO_iff_isOWith.2 ⟨0, isOWith_zero' _ _⟩
-#align asymptotics.is_O_zero Asymptotics.isO_zero
-
-theorem isO_refl_left : (fun x => f' x - f' x) =O[l] g' :=
-  (isO_zero g' l).congr_left fun x => (sub_self _).symm
-#align asymptotics.is_O_refl_left Asymptotics.isO_refl_left
-
-theorem isOCat_refl_left : (fun x => f' x - f' x) =o[l] g' :=
-  (isOCat_zero g' l).congr_left fun x => (sub_self _).symm
-#align asymptotics.is_o_refl_left Asymptotics.isOCat_refl_left
+#align asymptotics.is_o_zero Asymptotics.isLittleO_zero
+
+/- warning: asymptotics.is_O_with_zero -> Asymptotics.isBigOWith_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {c : Real} (g' : α -> F') (l : Filter.{u1} α), (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))))) g')
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {c : Real} (g' : α -> F') (l : Filter.{u3} α), (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))))) g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_zero Asymptotics.isBigOWith_zeroₓ'. -/
+theorem isBigOWith_zero (hc : 0 ≤ c) : IsBigOWith c l (fun x => (0 : E')) g' :=
+  IsBigOWith.of_bound <| univ_mem' fun x => by simpa using mul_nonneg hc (norm_nonneg <| g' x)
+#align asymptotics.is_O_with_zero Asymptotics.isBigOWith_zero
+
+/- warning: asymptotics.is_O_with_zero' -> Asymptotics.isBigOWith_zero' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] (g : α -> F) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) l (fun (x : α) => OfNat.ofNat.{u3} E' 0 (OfNat.mk.{u3} E' 0 (Zero.zero.{u3} E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))))) g
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] (g : α -> F) (l : Filter.{u3} α), Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))))) g
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_zero' Asymptotics.isBigOWith_zero'ₓ'. -/
+theorem isBigOWith_zero' : IsBigOWith 0 l (fun x => (0 : E')) g :=
+  IsBigOWith.of_bound <| univ_mem' fun x => by simp
+#align asymptotics.is_O_with_zero' Asymptotics.isBigOWith_zero'
+
+/- warning: asymptotics.is_O_zero -> Asymptotics.isBigO_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] (g : α -> F) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => OfNat.ofNat.{u3} E' 0 (OfNat.mk.{u3} E' 0 (Zero.zero.{u3} E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4))))))))) g
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] (g : α -> F) (l : Filter.{u3} α), Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))))) g
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_zero Asymptotics.isBigO_zeroₓ'. -/
+theorem isBigO_zero : (fun x => (0 : E')) =O[l] g :=
+  isBigO_iff_isBigOWith.2 ⟨0, isBigOWith_zero' _ _⟩
+#align asymptotics.is_O_zero Asymptotics.isBigO_zero
+
+/- warning: asymptotics.is_O_refl_left -> Asymptotics.isBigO_refl_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} (g' : α -> F') (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toHasSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f' x) (f' x)) g'
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} (g' : α -> F') (l : Filter.{u3} α), Asymptotics.IsBigO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f' x) (f' x)) g'
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_refl_left Asymptotics.isBigO_refl_leftₓ'. -/
+theorem isBigO_refl_left : (fun x => f' x - f' x) =O[l] g' :=
+  (isBigO_zero g' l).congr_left fun x => (sub_self _).symm
+#align asymptotics.is_O_refl_left Asymptotics.isBigO_refl_left
+
+/- warning: asymptotics.is_o_refl_left -> Asymptotics.isLittleO_refl_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {f' : α -> E'} (g' : α -> F') (l : Filter.{u1} α), Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toHasSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f' x) (f' x)) g'
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {f' : α -> E'} (g' : α -> F') (l : Filter.{u3} α), Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f' x) (f' x)) g'
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_refl_left Asymptotics.isLittleO_refl_leftₓ'. -/
+theorem isLittleO_refl_left : (fun x => f' x - f' x) =o[l] g' :=
+  (isLittleO_zero g' l).congr_left fun x => (sub_self _).symm
+#align asymptotics.is_o_refl_left Asymptotics.isLittleO_refl_left
 
 variable {g g' l}
 
+/- warning: asymptotics.is_O_with_zero_right_iff -> Asymptotics.isBigOWith_zero_right_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {c : Real} {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_zero_right_iff Asymptotics.isBigOWith_zero_right_iffₓ'. -/
 @[simp]
-theorem isOWith_zero_right_iff : (IsOWith c l f'' fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 := by
+theorem isBigOWith_zero_right_iff : (IsBigOWith c l f'' fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 := by
   simp only [is_O_with, exists_prop, true_and_iff, norm_zero, MulZeroClass.mul_zero,
     norm_le_zero_iff, eventually_eq, Pi.zero_apply]
-#align asymptotics.is_O_with_zero_right_iff Asymptotics.isOWith_zero_right_iff
-
+#align asymptotics.is_O_with_zero_right_iff Asymptotics.isBigOWith_zero_right_iff
+
+/- warning: asymptotics.is_O_zero_right_iff -> Asymptotics.isBigO_zero_right_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_zero_right_iff Asymptotics.isBigO_zero_right_iffₓ'. -/
 @[simp]
-theorem isO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
+theorem isBigO_zero_right_iff : (f'' =O[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
   ⟨fun h =>
-    let ⟨c, hc⟩ := h.IsOWith
-    isOWith_zero_right_iff.1 hc,
-    fun h => (isOWith_zero_right_iff.2 h : IsOWith 1 _ _ _).IsO⟩
-#align asymptotics.is_O_zero_right_iff Asymptotics.isO_zero_right_iff
-
+    let ⟨c, hc⟩ := h.IsBigOWith
+    isBigOWith_zero_right_iff.1 hc,
+    fun h => (isBigOWith_zero_right_iff.2 h : IsBigOWith 1 _ _ _).IsBigO⟩
+#align asymptotics.is_O_zero_right_iff Asymptotics.isBigO_zero_right_iff
+
+/- warning: asymptotics.is_o_zero_right_iff -> Asymptotics.isLittleO_zero_right_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F' : Type.{u2}} {E'' : Type.{u3}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f'' : α -> E''} {l : Filter.{u1} α}, Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E'' F' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u2} F' 0 (OfNat.mk.{u2} F' 0 (Zero.zero.{u2} F' (AddZeroClass.toHasZero.{u2} F' (AddMonoid.toAddZeroClass.{u2} F' (SubNegMonoid.toAddMonoid.{u2} F' (AddGroup.toSubNegMonoid.{u2} F' (SeminormedAddGroup.toAddGroup.{u2} F' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} F' _inst_5)))))))))) (Filter.EventuallyEq.{u1, u3} α E'' l f'' (OfNat.ofNat.{max u1 u3} (α -> E'') 0 (OfNat.mk.{max u1 u3} (α -> E'') 0 (Zero.zero.{max u1 u3} (α -> E'') (Pi.instZero.{u1, u3} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {F' : Type.{u1}} {E'' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_7 : NormedAddCommGroup.{u2} E''] {f'' : α -> E''} {l : Filter.{u3} α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f'' (fun (x : α) => OfNat.ofNat.{u1} F' 0 (Zero.toOfNat0.{u1} F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5))))))))) (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_zero_right_iff Asymptotics.isLittleO_zero_right_iffₓ'. -/
 @[simp]
-theorem isOCat_zero_right_iff : (f'' =o[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
-  ⟨fun h => isO_zero_right_iff.1 h.IsO, fun h =>
-    IsOCat.of_isOWith fun c hc => isOWith_zero_right_iff.2 h⟩
-#align asymptotics.is_o_zero_right_iff Asymptotics.isOCat_zero_right_iff
-
-theorem isOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
-    IsOWith (‖c‖ / ‖c'‖) l (fun x : α => c) fun x => c' :=
+theorem isLittleO_zero_right_iff : (f'' =o[l] fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
+  ⟨fun h => isBigO_zero_right_iff.1 h.IsBigO, fun h =>
+    IsLittleO.of_isBigOWith fun c hc => isBigOWith_zero_right_iff.2 h⟩
+#align asymptotics.is_o_zero_right_iff Asymptotics.isLittleO_zero_right_iff
+
+/- warning: asymptotics.is_O_with_const_const -> Asymptotics.isBigOWith_const_const is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] (c : E) {c' : F''}, (Ne.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (forall (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Norm.norm.{u2} E _inst_1 c) (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) c')) l (fun (x : α) => c) (fun (x : α) => c'))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] (c : E) {c' : F''}, (Ne.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (forall (l : Filter.{u2} α), Asymptotics.IsBigOWith.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} E _inst_1 c) (Norm.norm.{u3} F'' (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) c')) l (fun (x : α) => c) (fun (x : α) => c'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_const_const Asymptotics.isBigOWith_const_constₓ'. -/
+theorem isBigOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
+    IsBigOWith (‖c‖ / ‖c'‖) l (fun x : α => c) fun x => c' :=
   by
   unfold is_O_with
   apply univ_mem'
   intro x
   rw [mem_set_of_eq, div_mul_cancel]
   rwa [Ne.def, norm_eq_zero]
-#align asymptotics.is_O_with_const_const Asymptotics.isOWith_const_const
-
-theorem isO_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
+#align asymptotics.is_O_with_const_const Asymptotics.isBigOWith_const_const
+
+/- warning: asymptotics.is_O_const_const -> Asymptotics.isBigO_const_const is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] (c : E) {c' : F''}, (Ne.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (forall (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l (fun (x : α) => c) (fun (x : α) => c'))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] (c : E) {c' : F''}, (Ne.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (forall (l : Filter.{u2} α), Asymptotics.IsBigO.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l (fun (x : α) => c) (fun (x : α) => c'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_const Asymptotics.isBigO_const_constₓ'. -/
+theorem isBigO_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
     (fun x : α => c) =O[l] fun x => c' :=
-  (isOWith_const_const c hc' l).IsO
-#align asymptotics.is_O_const_const Asymptotics.isO_const_const
-
+  (isBigOWith_const_const c hc' l).IsBigO
+#align asymptotics.is_O_const_const Asymptotics.isBigO_const_const
+
+/- warning: asymptotics.is_O_const_const_iff -> Asymptotics.isBigO_const_const_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {c : E''} {c' : F''} (l : Filter.{u1} α) [_inst_14 : Filter.NeBot.{u1} α l], Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l (fun (x : α) => c) (fun (x : α) => c')) ((Eq.{succ u3} F'' c' (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' c (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {c : E''} {c' : F''} (l : Filter.{u3} α) [_inst_14 : Filter.NeBot.{u3} α l], Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l (fun (x : α) => c) (fun (x : α) => c')) ((Eq.{succ u1} F'' c' (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' c (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_const_iff Asymptotics.isBigO_const_const_iffₓ'. -/
 @[simp]
-theorem isO_const_const_iff {c : E''} {c' : F''} (l : Filter α) [l.ne_bot] :
+theorem isBigO_const_const_iff {c : E''} {c' : F''} (l : Filter α) [l.ne_bot] :
     ((fun x : α => c) =O[l] fun x => c') ↔ c' = 0 → c = 0 :=
   by
   rcases eq_or_ne c' 0 with (rfl | hc')
   · simp [eventually_eq]
   · simp [hc', is_O_const_const _ hc']
-#align asymptotics.is_O_const_const_iff Asymptotics.isO_const_const_iff
-
+#align asymptotics.is_O_const_const_iff Asymptotics.isBigO_const_const_iff
+
+/- warning: asymptotics.is_O_pure -> Asymptotics.isBigO_pure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {x : α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α x) f'' g'') ((Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {x : α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (Pure.pure.{u3, u3} Filter.{u3} Filter.instPureFilter.{u3} α x) f'' g'') ((Eq.{succ u1} F'' (g'' x) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_pure Asymptotics.isBigO_pureₓ'. -/
 @[simp]
-theorem isO_pure {x} : f'' =O[pure x] g'' ↔ g'' x = 0 → f'' x = 0 :=
+theorem isBigO_pure {x} : f'' =O[pure x] g'' ↔ g'' x = 0 → f'' x = 0 :=
   calc
-    f'' =O[pure x] g'' ↔ (fun y : α => f'' x) =O[pure x] fun _ => g'' x := isO_congr rfl rfl
-    _ ↔ g'' x = 0 → f'' x = 0 := isO_const_const_iff _
+    f'' =O[pure x] g'' ↔ (fun y : α => f'' x) =O[pure x] fun _ => g'' x := isBigO_congr rfl rfl
+    _ ↔ g'' x = 0 → f'' x = 0 := isBigO_const_const_iff _
     
-#align asymptotics.is_O_pure Asymptotics.isO_pure
+#align asymptotics.is_O_pure Asymptotics.isBigO_pure
 
 end ZeroConst
 
+/- warning: asymptotics.is_O_with_top -> Asymptotics.isBigOWith_top is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Top.top.{u1} (Filter.{u1} α) (Filter.hasTop.{u1} α)) f g) (forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Top.top.{u3} (Filter.{u3} α) (Filter.instTopFilter.{u3} α)) f g) (forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_top Asymptotics.isBigOWith_topₓ'. -/
 @[simp]
-theorem isOWith_top : IsOWith c ⊤ f g ↔ ∀ x, ‖f x‖ ≤ c * ‖g x‖ := by rw [is_O_with] <;> rfl
-#align asymptotics.is_O_with_top Asymptotics.isOWith_top
-
+theorem isBigOWith_top : IsBigOWith c ⊤ f g ↔ ∀ x, ‖f x‖ ≤ c * ‖g x‖ := by rw [is_O_with] <;> rfl
+#align asymptotics.is_O_with_top Asymptotics.isBigOWith_top
+
+/- warning: asymptotics.is_O_top -> Asymptotics.isBigO_top is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 (Top.top.{u1} (Filter.{u1} α) (Filter.hasTop.{u1} α)) f g) (Exists.{1} Real (fun (C : Real) => forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F _inst_2 (g x)))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 (Top.top.{u3} (Filter.{u3} α) (Filter.instTopFilter.{u3} α)) f g) (Exists.{1} Real (fun (C : Real) => forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} F _inst_2 (g x)))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_top Asymptotics.isBigO_topₓ'. -/
 @[simp]
-theorem isO_top : f =O[⊤] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ := by rw [is_O_iff] <;> rfl
-#align asymptotics.is_O_top Asymptotics.isO_top
-
+theorem isBigO_top : f =O[⊤] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ := by rw [is_O_iff] <;> rfl
+#align asymptotics.is_O_top Asymptotics.isBigO_top
+
+/- warning: asymptotics.is_o_top -> Asymptotics.isLittleO_top is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Top.top.{u1} (Filter.{u1} α) (Filter.hasTop.{u1} α)) f'' g'') (forall (x : α), Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (Top.top.{u3} (Filter.{u3} α) (Filter.instTopFilter.{u3} α)) f'' g'') (forall (x : α), Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_top Asymptotics.isLittleO_topₓ'. -/
 @[simp]
-theorem isOCat_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 :=
+theorem isLittleO_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 :=
   by
   refine' ⟨_, fun h => (is_o_zero g'' ⊤).congr (fun x => (h x).symm) fun x => rfl⟩
   simp only [is_o_iff, eventually_top]
@@ -1258,123 +2702,244 @@ theorem isOCat_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 :=
   exact
     le_of_tendsto_of_tendsto tendsto_const_nhds this
       (eventually_nhdsWithin_iff.2 <| eventually_of_forall fun c hc => h hc x)
-#align asymptotics.is_o_top Asymptotics.isOCat_top
-
+#align asymptotics.is_o_top Asymptotics.isLittleO_top
+
+/- warning: asymptotics.is_O_with_principal -> Asymptotics.isBigOWith_principal is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {c : Real} {f : α -> E} {g : α -> F} {s : Set.{u1} α}, Iff (Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 c (Filter.principal.{u1} α s) f g) (forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x)))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {c : Real} {f : α -> E} {g : α -> F} {s : Set.{u3} α}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 c (Filter.principal.{u3} α s) f g) (forall (x : α), (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x)))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_principal Asymptotics.isBigOWith_principalₓ'. -/
 @[simp]
-theorem isOWith_principal {s : Set α} : IsOWith c (𝓟 s) f g ↔ ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
+theorem isBigOWith_principal {s : Set α} : IsBigOWith c (𝓟 s) f g ↔ ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
   rw [is_O_with] <;> rfl
-#align asymptotics.is_O_with_principal Asymptotics.isOWith_principal
-
-theorem isO_principal {s : Set α} : f =O[𝓟 s] g ↔ ∃ c, ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
+#align asymptotics.is_O_with_principal Asymptotics.isBigOWith_principal
+
+/- warning: asymptotics.is_O_principal -> Asymptotics.isBigO_principal is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {g : α -> F} {s : Set.{u1} α}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 (Filter.principal.{u1} α s) f g) (Exists.{1} Real (fun (c : Real) => forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c (Norm.norm.{u3} F _inst_2 (g x))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {g : α -> F} {s : Set.{u3} α}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 (Filter.principal.{u3} α s) f g) (Exists.{1} Real (fun (c : Real) => forall (x : α), (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c (Norm.norm.{u1} F _inst_2 (g x))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_principal Asymptotics.isBigO_principalₓ'. -/
+theorem isBigO_principal {s : Set α} : f =O[𝓟 s] g ↔ ∃ c, ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
   rw [is_O_iff] <;> rfl
-#align asymptotics.is_O_principal Asymptotics.isO_principal
+#align asymptotics.is_O_principal Asymptotics.isBigO_principal
 
 section
 
 variable (F) [One F] [NormOneClass F]
 
-theorem isOWith_const_one (c : E) (l : Filter α) :
-    IsOWith ‖c‖ l (fun x : α => c) fun x => (1 : F) := by simp [is_O_with_iff]
-#align asymptotics.is_O_with_const_one Asymptotics.isOWith_const_one
-
-theorem isO_const_one (c : E) (l : Filter α) : (fun x : α => c) =O[l] fun x => (1 : F) :=
-  (isOWith_const_one F c l).IsO
-#align asymptotics.is_O_const_one Asymptotics.isO_const_one
-
-theorem isOCat_const_iff_isOCat_one {c : F''} (hc : c ≠ 0) :
+/- warning: asymptotics.is_O_with_const_one -> Asymptotics.isBigOWith_const_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14] (c : E) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u3} α E F _inst_1 _inst_2 (Norm.norm.{u2} E _inst_1 c) l (fun (x : α) => c) (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14] (c : E) (l : Filter.{u3} α), Asymptotics.IsBigOWith.{u3, u2, u1} α E F _inst_1 _inst_2 (Norm.norm.{u2} E _inst_1 c) l (fun (x : α) => c) (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_const_one Asymptotics.isBigOWith_const_oneₓ'. -/
+theorem isBigOWith_const_one (c : E) (l : Filter α) :
+    IsBigOWith ‖c‖ l (fun x : α => c) fun x => (1 : F) := by simp [is_O_with_iff]
+#align asymptotics.is_O_with_const_one Asymptotics.isBigOWith_const_one
+
+/- warning: asymptotics.is_O_const_one -> Asymptotics.isBigO_const_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14] (c : E) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l (fun (x : α) => c) (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14] (c : E) (l : Filter.{u3} α), Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l (fun (x : α) => c) (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_one Asymptotics.isBigO_const_oneₓ'. -/
+theorem isBigO_const_one (c : E) (l : Filter α) : (fun x : α => c) =O[l] fun x => (1 : F) :=
+  (isBigOWith_const_one F c l).IsBigO
+#align asymptotics.is_O_const_one Asymptotics.isBigO_const_one
+
+/- warning: asymptotics.is_o_const_iff_is_o_one -> Asymptotics.isLittleO_const_iff_isLittleO_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) {F'' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_8 : NormedAddCommGroup.{u4} F''] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14] {c : F''}, (Ne.{succ u4} F'' c (OfNat.ofNat.{u4} F'' 0 (OfNat.mk.{u4} F'' 0 (Zero.zero.{u4} F'' (AddZeroClass.toHasZero.{u4} F'' (AddMonoid.toAddZeroClass.{u4} F'' (SubNegMonoid.toAddMonoid.{u4} F'' (AddGroup.toSubNegMonoid.{u4} F'' (NormedAddGroup.toAddGroup.{u4} F'' (NormedAddCommGroup.toNormedAddGroup.{u4} F'' _inst_8)))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u4} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u4} F'' _inst_8) l f (fun (x : α) => c)) (Asymptotics.IsLittleO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) {F'' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] [_inst_8 : NormedAddCommGroup.{u4} F''] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14] {c : F''}, (Ne.{succ u4} F'' c (OfNat.ofNat.{u4} F'' 0 (Zero.toOfNat0.{u4} F'' (NegZeroClass.toZero.{u4} F'' (SubNegZeroMonoid.toNegZeroClass.{u4} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u4} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u4} F'' (AddCommGroup.toDivisionAddCommMonoid.{u4} F'' (NormedAddCommGroup.toAddCommGroup.{u4} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u4} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u4} F'' _inst_8) l f (fun (x : α) => c)) (Asymptotics.IsLittleO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_iff_is_o_one Asymptotics.isLittleO_const_iff_isLittleO_oneₓ'. -/
+theorem isLittleO_const_iff_isLittleO_one {c : F''} (hc : c ≠ 0) :
     (f =o[l] fun x => c) ↔ f =o[l] fun x => (1 : F) :=
-  ⟨fun h => h.trans_isOWith (isOWith_const_one _ _ _) (norm_pos_iff.2 hc), fun h =>
-    h.trans_isO <| isO_const_const _ hc _⟩
-#align asymptotics.is_o_const_iff_is_o_one Asymptotics.isOCat_const_iff_isOCat_one
-
+  ⟨fun h => h.trans_isBigOWith (isBigOWith_const_one _ _ _) (norm_pos_iff.2 hc), fun h =>
+    h.trans_isBigO <| isBigO_const_const _ hc _⟩
+#align asymptotics.is_o_const_iff_is_o_one Asymptotics.isLittleO_const_iff_isLittleO_one
+
+/- warning: asymptotics.is_o_one_iff -> Asymptotics.isLittleO_one_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} (F : Type.{u2}) {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : One.{u2} F] [_inst_15 : NormOneClass.{u2} F _inst_2 _inst_14], Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' (fun (x : α) => OfNat.ofNat.{u2} F 1 (OfNat.mk.{u2} F 1 (One.one.{u2} F _inst_14)))) (Filter.Tendsto.{u1, u3} α E' f' l (nhds.{u3} E' (UniformSpace.toTopologicalSpace.{u3} E' (PseudoMetricSpace.toUniformSpace.{u3} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E' _inst_4))) (OfNat.ofNat.{u3} E' 0 (OfNat.mk.{u3} E' 0 (Zero.zero.{u3} E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (SubNegMonoid.toAddMonoid.{u3} E' (AddGroup.toSubNegMonoid.{u3} E' (SeminormedAddGroup.toAddGroup.{u3} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u3} E' _inst_4)))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} (F : Type.{u1}) {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))) (Filter.Tendsto.{u3, u2} α E' f' l (nhds.{u2} E' (UniformSpace.toTopologicalSpace.{u2} E' (PseudoMetricSpace.toUniformSpace.{u2} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E' _inst_4))) (OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_one_iff Asymptotics.isLittleO_one_iffₓ'. -/
 @[simp]
-theorem isOCat_one_iff : f' =o[l] (fun x => 1 : α → F) ↔ Tendsto f' l (𝓝 0) := by
+theorem isLittleO_one_iff : f' =o[l] (fun x => 1 : α → F) ↔ Tendsto f' l (𝓝 0) := by
   simp only [is_o_iff, norm_one, mul_one, metric.nhds_basis_closed_ball.tendsto_right_iff,
     Metric.mem_closedBall, dist_zero_right]
-#align asymptotics.is_o_one_iff Asymptotics.isOCat_one_iff
-
+#align asymptotics.is_o_one_iff Asymptotics.isLittleO_one_iff
+
+/- warning: asymptotics.is_O_one_iff -> Asymptotics.isBigO_one_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], Iff (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35877 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35879 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35877 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35879) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iffₓ'. -/
 @[simp]
-theorem isO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ :=
+theorem isBigO_one_iff : f =O[l] (fun x => 1 : α → F) ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ :=
   by
   simp only [is_O_iff, norm_one, mul_one]
   rfl
-#align asymptotics.is_O_one_iff Asymptotics.isO_one_iff
-
+#align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iff
+
+/- warning: filter.is_bounded_under.is_O_one -> Filter.IsBoundedUnder.isBigO_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} (F : Type.{u1}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35877 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35879 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35877 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.35879) l (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14)))
+Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_oneₓ'. -/
 alias is_O_one_iff ↔ _ _root_.filter.is_bounded_under.is_O_one
-#align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isO_one
-
+#align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_one
+
+/- warning: asymptotics.is_o_one_left_iff -> Asymptotics.isLittleO_one_left_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], Iff (Asymptotics.IsLittleO.{u1, u3, u2} α F E _inst_2 _inst_1 l (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14))) f) (Filter.Tendsto.{u1, 0} α Real (fun (x : α) => Norm.norm.{u2} E _inst_1 (f x)) l (Filter.atTop.{0} Real Real.preorder))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u1}} (F : Type.{u2}) [_inst_1 : Norm.{u1} E] [_inst_2 : Norm.{u2} F] {f : α -> E} {l : Filter.{u3} α} [_inst_14 : One.{u2} F] [_inst_15 : NormOneClass.{u2} F _inst_2 _inst_14], Iff (Asymptotics.IsLittleO.{u3, u2, u1} α F E _inst_2 _inst_1 l (fun (x : α) => OfNat.ofNat.{u2} F 1 (One.toOfNat1.{u2} F _inst_14)) f) (Filter.Tendsto.{u3, 0} α Real (fun (x : α) => Norm.norm.{u1} E _inst_1 (f x)) l (Filter.atTop.{0} Real Real.instPreorderReal))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_one_left_iff Asymptotics.isLittleO_one_left_iffₓ'. -/
 @[simp]
-theorem isOCat_one_left_iff : (fun x => 1 : α → F) =o[l] f ↔ Tendsto (fun x => ‖f x‖) l atTop :=
+theorem isLittleO_one_left_iff : (fun x => 1 : α → F) =o[l] f ↔ Tendsto (fun x => ‖f x‖) l atTop :=
   calc
     (fun x => 1 : α → F) =o[l] f ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖(1 : F)‖ ≤ ‖f x‖ :=
-      isOCat_iff_nat_mul_le_aux <| Or.inl fun x => by simp only [norm_one, zero_le_one]
+      isLittleO_iff_nat_mul_le_aux <| Or.inl fun x => by simp only [norm_one, zero_le_one]
     _ ↔ ∀ n : ℕ, True → ∀ᶠ x in l, ‖f x‖ ∈ Ici (n : ℝ) := by
       simp only [norm_one, mul_one, true_imp_iff, mem_Ici]
     _ ↔ Tendsto (fun x => ‖f x‖) l atTop :=
       atTop_hasCountableBasis_of_archimedean.1.tendsto_right_iff.symm
     
-#align asymptotics.is_o_one_left_iff Asymptotics.isOCat_one_left_iff
-
-theorem Filter.Tendsto.isO_one {c : E'} (h : Tendsto f' l (𝓝 c)) : f' =O[l] (fun x => 1 : α → F) :=
-  h.norm.isBoundedUnder_le.isO_one F
-#align filter.tendsto.is_O_one Filter.Tendsto.isO_one
-
-theorem IsO.trans_tendsto_nhds (hfg : f =O[l] g') {y : F'} (hg : Tendsto g' l (𝓝 y)) :
+#align asymptotics.is_o_one_left_iff Asymptotics.isLittleO_one_left_iff
+
+/- warning: filter.tendsto.is_O_one -> Filter.Tendsto.isBigO_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} (F : Type.{u2}) {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : One.{u2} F] [_inst_15 : NormOneClass.{u2} F _inst_2 _inst_14] {c : E'}, (Filter.Tendsto.{u1, u3} α E' f' l (nhds.{u3} E' (UniformSpace.toTopologicalSpace.{u3} E' (PseudoMetricSpace.toUniformSpace.{u3} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E' _inst_4))) c)) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' (fun (x : α) => OfNat.ofNat.{u2} F 1 (OfNat.mk.{u2} F 1 (One.one.{u2} F _inst_14))))
+but is expected to have type
+  forall {α : Type.{u3}} (F : Type.{u1}) {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14] {c : E'}, (Filter.Tendsto.{u3, u2} α E' f' l (nhds.{u2} E' (UniformSpace.toTopologicalSpace.{u2} E' (PseudoMetricSpace.toUniformSpace.{u2} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E' _inst_4))) c)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14)))
+Case conversion may be inaccurate. Consider using '#align filter.tendsto.is_O_one Filter.Tendsto.isBigO_oneₓ'. -/
+theorem Filter.Tendsto.isBigO_one {c : E'} (h : Tendsto f' l (𝓝 c)) :
+    f' =O[l] (fun x => 1 : α → F) :=
+  h.norm.isBoundedUnder_le.isBigO_one F
+#align filter.tendsto.is_O_one Filter.Tendsto.isBigO_one
+
+/- warning: asymptotics.is_O.trans_tendsto_nhds -> Asymptotics.IsBigO.trans_tendsto_nhds is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} (F : Type.{u3}) {F' : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] [_inst_5 : SeminormedAddCommGroup.{u4} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : One.{u3} F] [_inst_15 : NormOneClass.{u3} F _inst_2 _inst_14], (Asymptotics.IsBigO.{u1, u2, u4} α E F' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u4} F' _inst_5) l f g') -> (forall {y : F'}, (Filter.Tendsto.{u1, u4} α F' g' l (nhds.{u4} F' (UniformSpace.toTopologicalSpace.{u4} F' (PseudoMetricSpace.toUniformSpace.{u4} F' (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} F' _inst_5))) y)) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u3} F 1 (OfNat.mk.{u3} F 1 (One.one.{u3} F _inst_14)))))
+but is expected to have type
+  forall {α : Type.{u4}} {E : Type.{u3}} (F : Type.{u1}) {F' : Type.{u2}} [_inst_1 : Norm.{u3} E] [_inst_2 : Norm.{u1} F] [_inst_5 : SeminormedAddCommGroup.{u2} F'] {f : α -> E} {g' : α -> F'} {l : Filter.{u4} α} [_inst_14 : One.{u1} F] [_inst_15 : NormOneClass.{u1} F _inst_2 _inst_14], (Asymptotics.IsBigO.{u4, u3, u2} α E F' _inst_1 (SeminormedAddCommGroup.toNorm.{u2} F' _inst_5) l f g') -> (forall {y : F'}, (Filter.Tendsto.{u4, u2} α F' g' l (nhds.{u2} F' (UniformSpace.toTopologicalSpace.{u2} F' (PseudoMetricSpace.toUniformSpace.{u2} F' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F' _inst_5))) y)) -> (Asymptotics.IsBigO.{u4, u3, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => OfNat.ofNat.{u1} F 1 (One.toOfNat1.{u1} F _inst_14))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_tendsto_nhds Asymptotics.IsBigO.trans_tendsto_nhdsₓ'. -/
+theorem IsBigO.trans_tendsto_nhds (hfg : f =O[l] g') {y : F'} (hg : Tendsto g' l (𝓝 y)) :
     f =O[l] (fun x => 1 : α → F) :=
-  hfg.trans <| hg.isO_one F
-#align asymptotics.is_O.trans_tendsto_nhds Asymptotics.IsO.trans_tendsto_nhds
+  hfg.trans <| hg.isBigO_one F
+#align asymptotics.is_O.trans_tendsto_nhds Asymptotics.IsBigO.trans_tendsto_nhds
 
 end
 
-theorem isOCat_const_iff {c : F''} (hc : c ≠ 0) : (f'' =o[l] fun x => c) ↔ Tendsto f'' l (𝓝 0) :=
-  (isOCat_const_iff_isOCat_one ℝ hc).trans (isOCat_one_iff _)
-#align asymptotics.is_o_const_iff Asymptotics.isOCat_const_iff
-
-theorem isOCat_id_const {c : F''} (hc : c ≠ 0) : (fun x : E'' => x) =o[𝓝 0] fun x => c :=
-  (isOCat_const_iff hc).mpr (continuous_id.Tendsto 0)
-#align asymptotics.is_o_id_const Asymptotics.isOCat_id_const
-
-theorem Filter.IsBoundedUnder.isO_const (h : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) {c : F''}
+/- warning: asymptotics.is_o_const_iff -> Asymptotics.isLittleO_const_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u1} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)) (Filter.Tendsto.{u1, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))))
+but is expected to have type
+  forall {α : Type.{u2}} {E'' : Type.{u1}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u2} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsLittleO.{u2, u1, u3} α E'' F'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)) (Filter.Tendsto.{u2, u1} α E'' f'' l (nhds.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7)))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_iff Asymptotics.isLittleO_const_iffₓ'. -/
+theorem isLittleO_const_iff {c : F''} (hc : c ≠ 0) : (f'' =o[l] fun x => c) ↔ Tendsto f'' l (𝓝 0) :=
+  (isLittleO_const_iff_isLittleO_one ℝ hc).trans (isLittleO_one_iff _)
+#align asymptotics.is_o_const_iff Asymptotics.isLittleO_const_iff
+
+/- warning: asymptotics.is_o_id_const -> Asymptotics.isLittleO_id_const is a dubious translation:
+lean 3 declaration is
+  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {c : F''}, (Ne.{succ u2} F'' c (OfNat.ofNat.{u2} F'' 0 (OfNat.mk.{u2} F'' 0 (Zero.zero.{u2} F'' (AddZeroClass.toHasZero.{u2} F'' (AddMonoid.toAddZeroClass.{u2} F'' (SubNegMonoid.toAddMonoid.{u2} F'' (AddGroup.toSubNegMonoid.{u2} F'' (NormedAddGroup.toAddGroup.{u2} F'' (NormedAddCommGroup.toNormedAddGroup.{u2} F'' _inst_8)))))))))) -> (Asymptotics.IsLittleO.{u1, u1, u2} E'' E'' F'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) (nhds.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) (OfNat.ofNat.{u1} E'' 0 (OfNat.mk.{u1} E'' 0 (Zero.zero.{u1} E'' (AddZeroClass.toHasZero.{u1} E'' (AddMonoid.toAddZeroClass.{u1} E'' (SubNegMonoid.toAddMonoid.{u1} E'' (AddGroup.toSubNegMonoid.{u1} E'' (NormedAddGroup.toAddGroup.{u1} E'' (NormedAddCommGroup.toNormedAddGroup.{u1} E'' _inst_7)))))))))) (fun (x : E'') => x) (fun (x : E'') => c))
+but is expected to have type
+  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {c : F''}, (Ne.{succ u2} F'' c (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) -> (Asymptotics.IsLittleO.{u1, u1, u2} E'' E'' F'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (nhds.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7))))))))) (fun (x : E'') => x) (fun (x : E'') => c))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_id_const Asymptotics.isLittleO_id_constₓ'. -/
+theorem isLittleO_id_const {c : F''} (hc : c ≠ 0) : (fun x : E'' => x) =o[𝓝 0] fun x => c :=
+  (isLittleO_const_iff hc).mpr (continuous_id.Tendsto 0)
+#align asymptotics.is_o_id_const Asymptotics.isLittleO_id_const
+
+/- warning: filter.is_bounded_under.is_O_const -> Filter.IsBoundedUnder.isBigO_const is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u1} α}, (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : α -> E} {l : Filter.{u3} α}, (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36856 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36858 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36856 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.36858) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)) -> (forall {c : F''}, (Ne.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f (fun (x : α) => c)))
+Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under.is_O_const Filter.IsBoundedUnder.isBigO_constₓ'. -/
+theorem Filter.IsBoundedUnder.isBigO_const (h : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) {c : F''}
     (hc : c ≠ 0) : f =O[l] fun x => c :=
-  (h.isO_one ℝ).trans (isO_const_const _ hc _)
-#align filter.is_bounded_under.is_O_const Filter.IsBoundedUnder.isO_const
-
-theorem isO_const_of_tendsto {y : E''} (h : Tendsto f'' l (𝓝 y)) {c : F''} (hc : c ≠ 0) :
+  (h.isBigO_one ℝ).trans (isBigO_const_const _ hc _)
+#align filter.is_bounded_under.is_O_const Filter.IsBoundedUnder.isBigO_const
+
+/- warning: asymptotics.is_O_const_of_tendsto -> Asymptotics.isBigO_const_of_tendsto is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u1} α} {y : E''}, (Filter.Tendsto.{u1, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) y)) -> (forall {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {y : E''}, (Filter.Tendsto.{u3, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) y)) -> (forall {c : F''}, (Ne.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_of_tendsto Asymptotics.isBigO_const_of_tendstoₓ'. -/
+theorem isBigO_const_of_tendsto {y : E''} (h : Tendsto f'' l (𝓝 y)) {c : F''} (hc : c ≠ 0) :
     f'' =O[l] fun x => c :=
-  h.norm.isBoundedUnder_le.isO_const hc
-#align asymptotics.is_O_const_of_tendsto Asymptotics.isO_const_of_tendsto
-
-theorem IsO.isBoundedUnder_le {c : F} (h : f =O[l] fun x => c) :
+  h.norm.isBoundedUnder_le.isBigO_const hc
+#align asymptotics.is_O_const_of_tendsto Asymptotics.isBigO_const_of_tendsto
+
+/- warning: asymptotics.is_O.is_bounded_under_le -> Asymptotics.IsBigO.isBoundedUnder_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u3} F] {f : α -> E} {l : Filter.{u1} α} {c : F}, (Asymptotics.IsBigO.{u1, u2, u3} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_2 : Norm.{u1} F] {f : α -> E} {l : Filter.{u3} α} {c : F}, (Asymptotics.IsBigO.{u3, u2, u1} α E F _inst_1 _inst_2 l f (fun (x : α) => c)) -> (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37147 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37149 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37147 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37149) l (Function.comp.{succ u3, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.is_bounded_under_le Asymptotics.IsBigO.isBoundedUnder_leₓ'. -/
+theorem IsBigO.isBoundedUnder_le {c : F} (h : f =O[l] fun x => c) :
     IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
   let ⟨c', hc'⟩ := h.bound
   ⟨c' * ‖c‖, eventually_map.2 hc'⟩
-#align asymptotics.is_O.is_bounded_under_le Asymptotics.IsO.isBoundedUnder_le
-
-theorem isO_const_of_ne {c : F''} (hc : c ≠ 0) :
+#align asymptotics.is_O.is_bounded_under_le Asymptotics.IsBigO.isBoundedUnder_le
+
+/- warning: asymptotics.is_O_const_of_ne -> Asymptotics.isBigO_const_of_ne is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u1} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α E Real (Norm.norm.{u2} E _inst_1) f)))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {F'' : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {l : Filter.{u2} α} {c : F''}, (Ne.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) l f (fun (x : α) => c)) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37317 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37319 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37317 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37319) l (Function.comp.{succ u2, succ u1, 1} α E Real (Norm.norm.{u1} E _inst_1) f)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_of_ne Asymptotics.isBigO_const_of_neₓ'. -/
+theorem isBigO_const_of_ne {c : F''} (hc : c ≠ 0) :
     (f =O[l] fun x => c) ↔ IsBoundedUnder (· ≤ ·) l (norm ∘ f) :=
-  ⟨fun h => h.isBoundedUnder_le, fun h => h.isO_const hc⟩
-#align asymptotics.is_O_const_of_ne Asymptotics.isO_const_of_ne
-
-theorem isO_const_iff {c : F''} :
+  ⟨fun h => h.isBoundedUnder_le, fun h => h.isBigO_const hc⟩
+#align asymptotics.is_O_const_of_ne Asymptotics.isBigO_const_of_ne
+
+/- warning: asymptotics.is_O_const_iff -> Asymptotics.isBigO_const_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {l : Filter.{u1} α} {c : F''}, Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u3} F'' c (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Filter.EventuallyEq.{u1, u2} α E'' l f'' (OfNat.ofNat.{max u1 u2} (α -> E'') 0 (OfNat.mk.{max u1 u2} (α -> E'') 0 (Zero.zero.{max u1 u2} (α -> E'') (Pi.instZero.{u1, u2} α (fun (ᾰ : α) => E'') (fun (i : α) => AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))) (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (f'' x))))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {l : Filter.{u3} α} {c : F''}, Iff (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' (fun (x : α) => c)) (And ((Eq.{succ u1} F'' c (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (Filter.EventuallyEq.{u3, u2} α E'' l f'' (OfNat.ofNat.{max u3 u2} (α -> E'') 0 (Zero.toOfNat0.{max u3 u2} (α -> E'') (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19139 : α) => E'') (fun (i : α) => NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))) (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37483 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37485 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37483 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37485) l (fun (x : α) => Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iffₓ'. -/
+theorem isBigO_const_iff {c : F''} :
     (f'' =O[l] fun x => c) ↔ (c = 0 → f'' =ᶠ[l] 0) ∧ IsBoundedUnder (· ≤ ·) l fun x => ‖f'' x‖ :=
   by
   refine' ⟨fun h => ⟨fun hc => is_O_zero_right_iff.1 (by rwa [← hc]), h.isBoundedUnder_le⟩, _⟩
   rintro ⟨hcf, hf⟩
   rcases eq_or_ne c 0 with (hc | hc)
-  exacts[(hcf hc).trans_isO (is_O_zero _ _), hf.is_O_const hc]
-#align asymptotics.is_O_const_iff Asymptotics.isO_const_iff
-
-theorem isO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
+  exacts[(hcf hc).trans_isBigO (is_O_zero _ _), hf.is_O_const hc]
+#align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iff
+
+/- warning: asymptotics.is_O_iff_is_bounded_under_le_div -> Asymptotics.isBigO_iff_isBoundedUnder_le_div is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u1} α}, (Filter.Eventually.{u1} α (fun (x : α) => Ne.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) l) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Norm.norm.{u2} E _inst_1 (f x)) (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (g'' x)))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u1}} {F'' : Type.{u2}} [_inst_1 : Norm.{u1} E] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : α -> E} {g'' : α -> F''} {l : Filter.{u3} α}, (Filter.Eventually.{u3} α (fun (x : α) => Ne.{succ u2} F'' (g'' x) (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) l) -> (Iff (Asymptotics.IsBigO.{u3, u1, u2} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) l f g'') (Filter.IsBoundedUnder.{0, u3} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37718 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37720 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37718 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.37720) l (fun (x : α) => HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} E _inst_1 (f x)) (Norm.norm.{u2} F'' (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (g'' x)))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_is_bounded_under_le_div Asymptotics.isBigO_iff_isBoundedUnder_le_divₓ'. -/
+theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
     f =O[l] g'' ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ / ‖g'' x‖ :=
   by
   simp only [is_O_iff, is_bounded_under, is_bounded, eventually_map]
   exact
     exists_congr fun c =>
       eventually_congr <| h.mono fun x hx => (div_le_iff <| norm_pos_iff.2 hx).symm
-#align asymptotics.is_O_iff_is_bounded_under_le_div Asymptotics.isO_iff_isBoundedUnder_le_div
-
+#align asymptotics.is_O_iff_is_bounded_under_le_div Asymptotics.isBigO_iff_isBoundedUnder_le_div
+
+/- warning: asymptotics.is_O_const_left_iff_pos_le_norm -> Asymptotics.isBigO_const_left_iff_pos_le_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {E'' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f' : α -> E'} {l : Filter.{u1} α} {c : E''}, (Ne.{succ u3} E'' c (OfNat.ofNat.{u3} E'' 0 (OfNat.mk.{u3} E'' 0 (Zero.zero.{u3} E'' (AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α E'' E' (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l (fun (x : α) => c) f') (Exists.{1} Real (fun (b : Real) => And (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) b) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe b (Norm.norm.{u2} E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (f' x))) l))))
+but is expected to have type
+  forall {α : Type.{u2}} {E' : Type.{u1}} {E'' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_7 : NormedAddCommGroup.{u3} E''] {f' : α -> E'} {l : Filter.{u2} α} {c : E''}, (Ne.{succ u3} E'' c (OfNat.ofNat.{u3} E'' 0 (Zero.toOfNat0.{u3} E'' (NegZeroClass.toZero.{u3} E'' (SubNegZeroMonoid.toNegZeroClass.{u3} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E'' (AddCommGroup.toDivisionAddCommMonoid.{u3} E'' (NormedAddCommGroup.toAddCommGroup.{u3} E'' _inst_7))))))))) -> (Iff (Asymptotics.IsBigO.{u2, u3, u1} α E'' E' (NormedAddCommGroup.toNorm.{u3} E'' _inst_7) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l (fun (x : α) => c) f') (Exists.{1} Real (fun (b : Real) => And (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) b) (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal b (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (f' x))) l))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_left_iff_pos_le_norm Asymptotics.isBigO_const_left_iff_pos_le_normₓ'. -/
 /-- `(λ x, c) =O[l] f` if and only if `f` is bounded away from zero. -/
-theorem isO_const_left_iff_pos_le_norm {c : E''} (hc : c ≠ 0) :
+theorem isBigO_const_left_iff_pos_le_norm {c : E''} (hc : c ≠ 0) :
     (fun x => c) =O[l] f' ↔ ∃ b, 0 < b ∧ ∀ᶠ x in l, b ≤ ‖f' x‖ :=
   by
   constructor
@@ -1386,7 +2951,7 @@ theorem isO_const_left_iff_pos_le_norm {c : E''} (hc : c ≠ 0) :
     refine' is_O.of_bound (‖c‖ / b) (hb.mono fun x hx => _)
     rw [div_mul_eq_mul_div, mul_div_assoc]
     exact le_mul_of_one_le_right (norm_nonneg _) ((one_le_div hb₀).2 hx)
-#align asymptotics.is_O_const_left_iff_pos_le_norm Asymptotics.isO_const_left_iff_pos_le_norm
+#align asymptotics.is_O_const_left_iff_pos_le_norm Asymptotics.isBigO_const_left_iff_pos_le_norm
 
 section
 
@@ -1394,206 +2959,426 @@ variable (𝕜)
 
 end
 
-theorem IsO.trans_tendsto (hfg : f'' =O[l] g'') (hg : Tendsto g'' l (𝓝 0)) : Tendsto f'' l (𝓝 0) :=
-  (isOCat_one_iff ℝ).1 <| hfg.trans_isOCat <| (isOCat_one_iff ℝ).2 hg
-#align asymptotics.is_O.trans_tendsto Asymptotics.IsO.trans_tendsto
-
-theorem IsOCat.trans_tendsto (hfg : f'' =o[l] g'') (hg : Tendsto g'' l (𝓝 0)) :
+/- warning: asymptotics.is_O.trans_tendsto -> Asymptotics.IsBigO.trans_tendsto is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u1} α}, (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' g'') -> (Filter.Tendsto.{u1, u3} α F'' g'' l (nhds.{u3} F'' (UniformSpace.toTopologicalSpace.{u3} F'' (PseudoMetricSpace.toUniformSpace.{u3} F'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F'' _inst_8)))) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8))))))))))) -> (Filter.Tendsto.{u1, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u3} α}, (Asymptotics.IsBigO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' g'') -> (Filter.Tendsto.{u3, u1} α F'' g'' l (nhds.{u1} F'' (UniformSpace.toTopologicalSpace.{u1} F'' (PseudoMetricSpace.toUniformSpace.{u1} F'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F'' _inst_8)))) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8)))))))))) -> (Filter.Tendsto.{u3, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.trans_tendsto Asymptotics.IsBigO.trans_tendstoₓ'. -/
+theorem IsBigO.trans_tendsto (hfg : f'' =O[l] g'') (hg : Tendsto g'' l (𝓝 0)) :
     Tendsto f'' l (𝓝 0) :=
-  hfg.IsO.trans_tendsto hg
-#align asymptotics.is_o.trans_tendsto Asymptotics.IsOCat.trans_tendsto
+  (isLittleO_one_iff ℝ).1 <| hfg.trans_isLittleO <| (isLittleO_one_iff ℝ).2 hg
+#align asymptotics.is_O.trans_tendsto Asymptotics.IsBigO.trans_tendsto
+
+/- warning: asymptotics.is_o.trans_tendsto -> Asymptotics.IsLittleO.trans_tendsto is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l f'' g'') -> (Filter.Tendsto.{u1, u3} α F'' g'' l (nhds.{u3} F'' (UniformSpace.toTopologicalSpace.{u3} F'' (PseudoMetricSpace.toUniformSpace.{u3} F'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F'' _inst_8)))) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8))))))))))) -> (Filter.Tendsto.{u1, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {l : Filter.{u3} α}, (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l f'' g'') -> (Filter.Tendsto.{u3, u1} α F'' g'' l (nhds.{u1} F'' (UniformSpace.toTopologicalSpace.{u1} F'' (PseudoMetricSpace.toUniformSpace.{u1} F'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F'' _inst_8)))) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8)))))))))) -> (Filter.Tendsto.{u3, u2} α E'' f'' l (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.trans_tendsto Asymptotics.IsLittleO.trans_tendstoₓ'. -/
+theorem IsLittleO.trans_tendsto (hfg : f'' =o[l] g'') (hg : Tendsto g'' l (𝓝 0)) :
+    Tendsto f'' l (𝓝 0) :=
+  hfg.IsBigO.trans_tendsto hg
+#align asymptotics.is_o.trans_tendsto Asymptotics.IsLittleO.trans_tendsto
 
 /-! ### Multiplication by a constant -/
 
 
-theorem isOWith_const_mul_self (c : R) (f : α → R) (l : Filter α) :
-    IsOWith ‖c‖ l (fun x => c * f x) f :=
-  isOWith_of_le' _ fun x => norm_mul_le _ _
-#align asymptotics.is_O_with_const_mul_self Asymptotics.isOWith_const_mul_self
-
-theorem isO_const_mul_self (c : R) (f : α → R) (l : Filter α) : (fun x => c * f x) =O[l] f :=
-  (isOWith_const_mul_self c f l).IsO
-#align asymptotics.is_O_const_mul_self Asymptotics.isO_const_mul_self
-
-theorem IsOWith.const_mul_left {f : α → R} (h : IsOWith c l f g) (c' : R) :
-    IsOWith (‖c'‖ * c) l (fun x => c' * f x) g :=
-  (isOWith_const_mul_self c' f l).trans h (norm_nonneg c')
-#align asymptotics.is_O_with.const_mul_left Asymptotics.IsOWith.const_mul_left
-
-theorem IsO.const_mul_left {f : α → R} (h : f =O[l] g) (c' : R) : (fun x => c' * f x) =O[l] g :=
-  let ⟨c, hc⟩ := h.IsOWith
-  (hc.const_mul_left c').IsO
-#align asymptotics.is_O.const_mul_left Asymptotics.IsO.const_mul_left
-
-theorem isOWith_self_const_mul' (u : Rˣ) (f : α → R) (l : Filter α) :
-    IsOWith ‖(↑u⁻¹ : R)‖ l f fun x => ↑u * f x :=
-  (isOWith_const_mul_self ↑u⁻¹ _ l).congr_left fun x => u.inv_mul_cancel_left (f x)
-#align asymptotics.is_O_with_self_const_mul' Asymptotics.isOWith_self_const_mul'
-
-theorem isOWith_self_const_mul (c : 𝕜) (hc : c ≠ 0) (f : α → 𝕜) (l : Filter α) :
-    IsOWith ‖c‖⁻¹ l f fun x => c * f x :=
-  (isOWith_self_const_mul' (Units.mk0 c hc) f l).congr_const <| norm_inv c
-#align asymptotics.is_O_with_self_const_mul Asymptotics.isOWith_self_const_mul
-
-theorem isO_self_const_mul' {c : R} (hc : IsUnit c) (f : α → R) (l : Filter α) :
+/- warning: asymptotics.is_O_with_const_mul_self -> Asymptotics.isBigOWith_const_mul_self is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (c : R) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α R R (SeminormedRing.toHasNorm.{u2} R _inst_10) (SeminormedRing.toHasNorm.{u2} R _inst_10) (Norm.norm.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) c) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) c (f x)) f
+but is expected to have type
+  forall {α : Type.{u2}} {R : Type.{u1}} [_inst_10 : SeminormedRing.{u1} R] (c : R) (f : α -> R) (l : Filter.{u2} α), Asymptotics.IsBigOWith.{u2, u1, u1} α R R (SeminormedRing.toNorm.{u1} R _inst_10) (SeminormedRing.toNorm.{u1} R _inst_10) (Norm.norm.{u1} R (SeminormedRing.toNorm.{u1} R _inst_10) c) l (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (f x)) f
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_const_mul_self Asymptotics.isBigOWith_const_mul_selfₓ'. -/
+theorem isBigOWith_const_mul_self (c : R) (f : α → R) (l : Filter α) :
+    IsBigOWith ‖c‖ l (fun x => c * f x) f :=
+  isBigOWith_of_le' _ fun x => norm_mul_le _ _
+#align asymptotics.is_O_with_const_mul_self Asymptotics.isBigOWith_const_mul_self
+
+/- warning: asymptotics.is_O_const_mul_self -> Asymptotics.isBigO_const_mul_self is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (c : R) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α R R (SeminormedRing.toHasNorm.{u2} R _inst_10) (SeminormedRing.toHasNorm.{u2} R _inst_10) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) c (f x)) f
+but is expected to have type
+  forall {α : Type.{u2}} {R : Type.{u1}} [_inst_10 : SeminormedRing.{u1} R] (c : R) (f : α -> R) (l : Filter.{u2} α), Asymptotics.IsBigO.{u2, u1, u1} α R R (SeminormedRing.toNorm.{u1} R _inst_10) (SeminormedRing.toNorm.{u1} R _inst_10) l (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (f x)) f
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_self Asymptotics.isBigO_const_mul_selfₓ'. -/
+theorem isBigO_const_mul_self (c : R) (f : α → R) (l : Filter α) : (fun x => c * f x) =O[l] f :=
+  (isBigOWith_const_mul_self c f l).IsBigO
+#align asymptotics.is_O_const_mul_self Asymptotics.isBigO_const_mul_self
+
+/- warning: asymptotics.is_O_with.const_mul_left -> Asymptotics.IsBigOWith.const_mul_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {c : Real} {g : α -> F} {l : Filter.{u1} α} {f : α -> R}, (Asymptotics.IsBigOWith.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 c l f g) -> (forall (c' : R), Asymptotics.IsBigOWith.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u3} R (SeminormedRing.toHasNorm.{u3} R _inst_10) c') c) l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c' (f x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {R : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u2} R] {c : Real} {g : α -> F} {l : Filter.{u3} α} {f : α -> R}, (Asymptotics.IsBigOWith.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 c l f g) -> (forall (c' : R), Asymptotics.IsBigOWith.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) c') c) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) c' (f x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_mul_left Asymptotics.IsBigOWith.const_mul_leftₓ'. -/
+theorem IsBigOWith.const_mul_left {f : α → R} (h : IsBigOWith c l f g) (c' : R) :
+    IsBigOWith (‖c'‖ * c) l (fun x => c' * f x) g :=
+  (isBigOWith_const_mul_self c' f l).trans h (norm_nonneg c')
+#align asymptotics.is_O_with.const_mul_left Asymptotics.IsBigOWith.const_mul_left
+
+/- warning: asymptotics.is_O.const_mul_left -> Asymptotics.IsBigO.const_mul_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u1} α} {f : α -> R}, (Asymptotics.IsBigO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l f g) -> (forall (c' : R), Asymptotics.IsBigO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c' (f x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {R : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u2} R] {g : α -> F} {l : Filter.{u3} α} {f : α -> R}, (Asymptotics.IsBigO.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 l f g) -> (forall (c' : R), Asymptotics.IsBigO.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) c' (f x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_mul_left Asymptotics.IsBigO.const_mul_leftₓ'. -/
+theorem IsBigO.const_mul_left {f : α → R} (h : f =O[l] g) (c' : R) : (fun x => c' * f x) =O[l] g :=
+  let ⟨c, hc⟩ := h.IsBigOWith
+  (hc.const_mul_left c').IsBigO
+#align asymptotics.is_O.const_mul_left Asymptotics.IsBigO.const_mul_left
+
+/- warning: asymptotics.is_O_with_self_const_mul' -> Asymptotics.isBigOWith_self_const_mul' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (u : Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α R R (SeminormedRing.toHasNorm.{u2} R _inst_10) (SeminormedRing.toHasNorm.{u2} R _inst_10) (Norm.norm.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (HasLiftT.mk.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (CoeTCₓ.coe.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (coeBase.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (Units.hasCoe.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (Inv.inv.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) (Units.hasInv.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) u))) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (HasLiftT.mk.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (CoeTCₓ.coe.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (coeBase.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))) R (Units.hasCoe.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) u) (f x))
+but is expected to have type
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] (u : Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α R R (SeminormedRing.toNorm.{u2} R _inst_10) (SeminormedRing.toNorm.{u2} R _inst_10) (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (Inv.inv.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (Units.instInvUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) u))) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) u) (f x))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_self_const_mul' Asymptotics.isBigOWith_self_const_mul'ₓ'. -/
+theorem isBigOWith_self_const_mul' (u : Rˣ) (f : α → R) (l : Filter α) :
+    IsBigOWith ‖(↑u⁻¹ : R)‖ l f fun x => ↑u * f x :=
+  (isBigOWith_const_mul_self ↑u⁻¹ _ l).congr_left fun x => u.inv_mul_cancel_left (f x)
+#align asymptotics.is_O_with_self_const_mul' Asymptotics.isBigOWith_self_const_mul'
+
+/- warning: asymptotics.is_O_with_self_const_mul -> Asymptotics.isBigOWith_self_const_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] (c : 𝕜), (Ne.{succ u2} 𝕜 c (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (forall (f : α -> 𝕜) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (Inv.inv.{0} Real Real.hasInv (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c)) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHMul.{u2} 𝕜 (Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) c (f x)))
+but is expected to have type
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] (c : 𝕜), (Ne.{succ u2} 𝕜 c (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (forall (f : α -> 𝕜) (l : Filter.{u1} α), Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u2} 𝕜 _inst_12) (Inv.inv.{0} Real Real.instInvReal (Norm.norm.{u2} 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) c)) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) c (f x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_self_const_mul Asymptotics.isBigOWith_self_const_mulₓ'. -/
+theorem isBigOWith_self_const_mul (c : 𝕜) (hc : c ≠ 0) (f : α → 𝕜) (l : Filter α) :
+    IsBigOWith ‖c‖⁻¹ l f fun x => c * f x :=
+  (isBigOWith_self_const_mul' (Units.mk0 c hc) f l).congr_const <| norm_inv c
+#align asymptotics.is_O_with_self_const_mul Asymptotics.isBigOWith_self_const_mul
+
+/- warning: asymptotics.is_O_self_const_mul' -> Asymptotics.isBigO_self_const_mul' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] {c : R}, (IsUnit.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)) c) -> (forall (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α R R (SeminormedRing.toHasNorm.{u2} R _inst_10) (SeminormedRing.toHasNorm.{u2} R _inst_10) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) c (f x)))
+but is expected to have type
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_10 : SeminormedRing.{u2} R] {c : R}, (IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) c) -> (forall (f : α -> R) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α R R (SeminormedRing.toNorm.{u2} R _inst_10) (SeminormedRing.toNorm.{u2} R _inst_10) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) c (f x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_self_const_mul' Asymptotics.isBigO_self_const_mul'ₓ'. -/
+theorem isBigO_self_const_mul' {c : R} (hc : IsUnit c) (f : α → R) (l : Filter α) :
     f =O[l] fun x => c * f x :=
   let ⟨u, hu⟩ := hc
-  hu ▸ (isOWith_self_const_mul' u f l).IsO
-#align asymptotics.is_O_self_const_mul' Asymptotics.isO_self_const_mul'
-
-theorem isO_self_const_mul (c : 𝕜) (hc : c ≠ 0) (f : α → 𝕜) (l : Filter α) :
+  hu ▸ (isBigOWith_self_const_mul' u f l).IsBigO
+#align asymptotics.is_O_self_const_mul' Asymptotics.isBigO_self_const_mul'
+
+/- warning: asymptotics.is_O_self_const_mul -> Asymptotics.isBigO_self_const_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] (c : 𝕜), (Ne.{succ u2} 𝕜 c (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (forall (f : α -> 𝕜) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHMul.{u2} 𝕜 (Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) c (f x)))
+but is expected to have type
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] (c : 𝕜), (Ne.{succ u2} 𝕜 c (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (forall (f : α -> 𝕜) (l : Filter.{u1} α), Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u2} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) c (f x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_self_const_mul Asymptotics.isBigO_self_const_mulₓ'. -/
+theorem isBigO_self_const_mul (c : 𝕜) (hc : c ≠ 0) (f : α → 𝕜) (l : Filter α) :
     f =O[l] fun x => c * f x :=
-  isO_self_const_mul' (IsUnit.mk0 c hc) f l
-#align asymptotics.is_O_self_const_mul Asymptotics.isO_self_const_mul
-
-theorem isO_const_mul_left_iff' {f : α → R} {c : R} (hc : IsUnit c) :
+  isBigO_self_const_mul' (IsUnit.mk0 c hc) f l
+#align asymptotics.is_O_self_const_mul Asymptotics.isBigO_self_const_mul
+
+/- warning: asymptotics.is_O_const_mul_left_iff' -> Asymptotics.isBigO_const_mul_left_iff' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u1} α} {f : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (f x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l f g))
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} {R : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u2} α} {f : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Iff (Asymptotics.IsBigO.{u2, u3, u1} α R F (SeminormedRing.toNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (f x)) g) (Asymptotics.IsBigO.{u2, u3, u1} α R F (SeminormedRing.toNorm.{u3} R _inst_10) _inst_2 l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_left_iff' Asymptotics.isBigO_const_mul_left_iff'ₓ'. -/
+theorem isBigO_const_mul_left_iff' {f : α → R} {c : R} (hc : IsUnit c) :
     (fun x => c * f x) =O[l] g ↔ f =O[l] g :=
-  ⟨(isO_self_const_mul' hc f l).trans, fun h => h.const_mul_left c⟩
-#align asymptotics.is_O_const_mul_left_iff' Asymptotics.isO_const_mul_left_iff'
-
-theorem isO_const_mul_left_iff {f : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
+  ⟨(isBigO_self_const_mul' hc f l).trans, fun h => h.const_mul_left c⟩
+#align asymptotics.is_O_const_mul_left_iff' Asymptotics.isBigO_const_mul_left_iff'
+
+/- warning: asymptotics.is_O_const_mul_left_iff -> Asymptotics.isBigO_const_mul_left_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {𝕜 : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_12 : NormedField.{u3} 𝕜] {g : α -> F} {l : Filter.{u1} α} {f : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜 F (NormedField.toHasNorm.{u3} 𝕜 _inst_12) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (f x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜 F (NormedField.toHasNorm.{u3} 𝕜 _inst_12) _inst_2 l f g))
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} {𝕜 : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_12 : NormedField.{u3} 𝕜] {g : α -> F} {l : Filter.{u2} α} {f : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsBigO.{u2, u3, u1} α 𝕜 F (NormedField.toNorm.{u3} 𝕜 _inst_12) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (f x)) g) (Asymptotics.IsBigO.{u2, u3, u1} α 𝕜 F (NormedField.toNorm.{u3} 𝕜 _inst_12) _inst_2 l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_left_iff Asymptotics.isBigO_const_mul_left_iffₓ'. -/
+theorem isBigO_const_mul_left_iff {f : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (fun x => c * f x) =O[l] g ↔ f =O[l] g :=
-  isO_const_mul_left_iff' <| IsUnit.mk0 c hc
-#align asymptotics.is_O_const_mul_left_iff Asymptotics.isO_const_mul_left_iff
-
-theorem IsOCat.const_mul_left {f : α → R} (h : f =o[l] g) (c : R) : (fun x => c * f x) =o[l] g :=
-  (isO_const_mul_self c f l).trans_isOCat h
-#align asymptotics.is_o.const_mul_left Asymptotics.IsOCat.const_mul_left
-
-theorem isOCat_const_mul_left_iff' {f : α → R} {c : R} (hc : IsUnit c) :
+  isBigO_const_mul_left_iff' <| IsUnit.mk0 c hc
+#align asymptotics.is_O_const_mul_left_iff Asymptotics.isBigO_const_mul_left_iff
+
+/- warning: asymptotics.is_o.const_mul_left -> Asymptotics.IsLittleO.const_mul_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u1} α} {f : α -> R}, (Asymptotics.IsLittleO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l f g) -> (forall (c : R), Asymptotics.IsLittleO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (f x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {R : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u2} R] {g : α -> F} {l : Filter.{u3} α} {f : α -> R}, (Asymptotics.IsLittleO.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 l f g) -> (forall (c : R), Asymptotics.IsLittleO.{u3, u2, u1} α R F (SeminormedRing.toNorm.{u2} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) c (f x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_mul_left Asymptotics.IsLittleO.const_mul_leftₓ'. -/
+theorem IsLittleO.const_mul_left {f : α → R} (h : f =o[l] g) (c : R) : (fun x => c * f x) =o[l] g :=
+  (isBigO_const_mul_self c f l).trans_isLittleO h
+#align asymptotics.is_o.const_mul_left Asymptotics.IsLittleO.const_mul_left
+
+/- warning: asymptotics.is_o_const_mul_left_iff' -> Asymptotics.isLittleO_const_mul_left_iff' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {R : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u1} α} {f : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (f x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α R F (SeminormedRing.toHasNorm.{u3} R _inst_10) _inst_2 l f g))
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} {R : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_10 : SeminormedRing.{u3} R] {g : α -> F} {l : Filter.{u2} α} {f : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Iff (Asymptotics.IsLittleO.{u2, u3, u1} α R F (SeminormedRing.toNorm.{u3} R _inst_10) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (f x)) g) (Asymptotics.IsLittleO.{u2, u3, u1} α R F (SeminormedRing.toNorm.{u3} R _inst_10) _inst_2 l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_mul_left_iff' Asymptotics.isLittleO_const_mul_left_iff'ₓ'. -/
+theorem isLittleO_const_mul_left_iff' {f : α → R} {c : R} (hc : IsUnit c) :
     (fun x => c * f x) =o[l] g ↔ f =o[l] g :=
-  ⟨(isO_self_const_mul' hc f l).trans_isOCat, fun h => h.const_mul_left c⟩
-#align asymptotics.is_o_const_mul_left_iff' Asymptotics.isOCat_const_mul_left_iff'
-
-theorem isOCat_const_mul_left_iff {f : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
+  ⟨(isBigO_self_const_mul' hc f l).trans_isLittleO, fun h => h.const_mul_left c⟩
+#align asymptotics.is_o_const_mul_left_iff' Asymptotics.isLittleO_const_mul_left_iff'
+
+/- warning: asymptotics.is_o_const_mul_left_iff -> Asymptotics.isLittleO_const_mul_left_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {𝕜 : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_12 : NormedField.{u3} 𝕜] {g : α -> F} {l : Filter.{u1} α} {f : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜 F (NormedField.toHasNorm.{u3} 𝕜 _inst_12) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (f x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜 F (NormedField.toHasNorm.{u3} 𝕜 _inst_12) _inst_2 l f g))
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} {𝕜 : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_12 : NormedField.{u3} 𝕜] {g : α -> F} {l : Filter.{u2} α} {f : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsLittleO.{u2, u3, u1} α 𝕜 F (NormedField.toNorm.{u3} 𝕜 _inst_12) _inst_2 l (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (f x)) g) (Asymptotics.IsLittleO.{u2, u3, u1} α 𝕜 F (NormedField.toNorm.{u3} 𝕜 _inst_12) _inst_2 l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_mul_left_iff Asymptotics.isLittleO_const_mul_left_iffₓ'. -/
+theorem isLittleO_const_mul_left_iff {f : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (fun x => c * f x) =o[l] g ↔ f =o[l] g :=
-  isOCat_const_mul_left_iff' <| IsUnit.mk0 c hc
-#align asymptotics.is_o_const_mul_left_iff Asymptotics.isOCat_const_mul_left_iff
-
-theorem IsOWith.of_const_mul_right {g : α → R} {c : R} (hc' : 0 ≤ c')
-    (h : IsOWith c' l f fun x => c * g x) : IsOWith (c' * ‖c‖) l f g :=
-  h.trans (isOWith_const_mul_self c g l) hc'
-#align asymptotics.is_O_with.of_const_mul_right Asymptotics.IsOWith.of_const_mul_right
-
-theorem IsO.of_const_mul_right {g : α → R} {c : R} (h : f =O[l] fun x => c * g x) : f =O[l] g :=
+  isLittleO_const_mul_left_iff' <| IsUnit.mk0 c hc
+#align asymptotics.is_o_const_mul_left_iff Asymptotics.isLittleO_const_mul_left_iff
+
+/- warning: asymptotics.is_O_with.of_const_mul_right -> Asymptotics.IsBigOWith.of_const_mul_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {c' : Real} {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) c' l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c' (Norm.norm.{u3} R (SeminormedRing.toHasNorm.{u3} R _inst_10) c)) l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {R : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u1} R] {c' : Real} {f : α -> E} {l : Filter.{u3} α} {g : α -> R} {c : R}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) c' l f (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (g x))) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c' (Norm.norm.{u1} R (SeminormedRing.toNorm.{u1} R _inst_10) c)) l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_const_mul_right Asymptotics.IsBigOWith.of_const_mul_rightₓ'. -/
+theorem IsBigOWith.of_const_mul_right {g : α → R} {c : R} (hc' : 0 ≤ c')
+    (h : IsBigOWith c' l f fun x => c * g x) : IsBigOWith (c' * ‖c‖) l f g :=
+  h.trans (isBigOWith_const_mul_self c g l) hc'
+#align asymptotics.is_O_with.of_const_mul_right Asymptotics.IsBigOWith.of_const_mul_right
+
+/- warning: asymptotics.is_O.of_const_mul_right -> Asymptotics.IsBigO.of_const_mul_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {R : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u1} R] {f : α -> E} {l : Filter.{u3} α} {g : α -> R} {c : R}, (Asymptotics.IsBigO.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) l f (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (g x))) -> (Asymptotics.IsBigO.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_const_mul_right Asymptotics.IsBigO.of_const_mul_rightₓ'. -/
+theorem IsBigO.of_const_mul_right {g : α → R} {c : R} (h : f =O[l] fun x => c * g x) : f =O[l] g :=
   let ⟨c, cnonneg, hc⟩ := h.exists_nonneg
-  (hc.of_const_mul_right cnonneg).IsO
-#align asymptotics.is_O.of_const_mul_right Asymptotics.IsO.of_const_mul_right
-
-theorem IsOWith.const_mul_right' {g : α → R} {u : Rˣ} {c' : ℝ} (hc' : 0 ≤ c')
-    (h : IsOWith c' l f g) : IsOWith (c' * ‖(↑u⁻¹ : R)‖) l f fun x => ↑u * g x :=
-  h.trans (isOWith_self_const_mul' _ _ _) hc'
-#align asymptotics.is_O_with.const_mul_right' Asymptotics.IsOWith.const_mul_right'
-
-theorem IsOWith.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) {c' : ℝ} (hc' : 0 ≤ c')
-    (h : IsOWith c' l f g) : IsOWith (c' * ‖c‖⁻¹) l f fun x => c * g x :=
-  h.trans (isOWith_self_const_mul c hc g l) hc'
-#align asymptotics.is_O_with.const_mul_right Asymptotics.IsOWith.const_mul_right
-
-theorem IsO.const_mul_right' {g : α → R} {c : R} (hc : IsUnit c) (h : f =O[l] g) :
+  (hc.of_const_mul_right cnonneg).IsBigO
+#align asymptotics.is_O.of_const_mul_right Asymptotics.IsBigO.of_const_mul_right
+
+/- warning: asymptotics.is_O_with.const_mul_right' -> Asymptotics.IsBigOWith.const_mul_right' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {u : Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))} {c' : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) c' l f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c' (Norm.norm.{u3} R (SeminormedRing.toHasNorm.{u3} R _inst_10) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (HasLiftT.mk.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (CoeTCₓ.coe.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (coeBase.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (Units.hasCoe.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) (Inv.inv.{u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) (Units.hasInv.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) u)))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (HasLiftT.mk.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (CoeTCₓ.coe.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (coeBase.{succ u3, succ u3} (Units.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))) R (Units.hasCoe.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) u) (g x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {u : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))} {c' : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) c' l f g) -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c' (Norm.norm.{u3} R (SeminormedRing.toNorm.{u3} R _inst_10) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) (Units.instInvUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) u)))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) u) (g x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_mul_right' Asymptotics.IsBigOWith.const_mul_right'ₓ'. -/
+theorem IsBigOWith.const_mul_right' {g : α → R} {u : Rˣ} {c' : ℝ} (hc' : 0 ≤ c')
+    (h : IsBigOWith c' l f g) : IsBigOWith (c' * ‖(↑u⁻¹ : R)‖) l f fun x => ↑u * g x :=
+  h.trans (isBigOWith_self_const_mul' _ _ _) hc'
+#align asymptotics.is_O_with.const_mul_right' Asymptotics.IsBigOWith.const_mul_right'
+
+/- warning: asymptotics.is_O_with.const_mul_right -> Asymptotics.IsBigOWith.const_mul_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (forall {c' : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c' l f g) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c' (Inv.inv.{0} Real Real.hasInv (Norm.norm.{u3} 𝕜 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x))))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (forall {c' : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) c' l f g) -> (Asymptotics.IsBigOWith.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c' (Inv.inv.{0} Real Real.instInvReal (Norm.norm.{u3} 𝕜 (NormedField.toNorm.{u3} 𝕜 _inst_12) c))) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_mul_right Asymptotics.IsBigOWith.const_mul_rightₓ'. -/
+theorem IsBigOWith.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) {c' : ℝ} (hc' : 0 ≤ c')
+    (h : IsBigOWith c' l f g) : IsBigOWith (c' * ‖c‖⁻¹) l f fun x => c * g x :=
+  h.trans (isBigOWith_self_const_mul c hc g l) hc'
+#align asymptotics.is_O_with.const_mul_right Asymptotics.IsBigOWith.const_mul_right
+
+/- warning: asymptotics.is_O.const_mul_right' -> Asymptotics.IsBigO.const_mul_right' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Asymptotics.IsBigO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f g) -> (Asymptotics.IsBigO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (g x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_mul_right' Asymptotics.IsBigO.const_mul_right'ₓ'. -/
+theorem IsBigO.const_mul_right' {g : α → R} {c : R} (hc : IsUnit c) (h : f =O[l] g) :
     f =O[l] fun x => c * g x :=
-  h.trans (isO_self_const_mul' hc g l)
-#align asymptotics.is_O.const_mul_right' Asymptotics.IsO.const_mul_right'
-
-theorem IsO.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) (h : f =O[l] g) :
+  h.trans (isBigO_self_const_mul' hc g l)
+#align asymptotics.is_O.const_mul_right' Asymptotics.IsBigO.const_mul_right'
+
+/- warning: asymptotics.is_O.const_mul_right -> Asymptotics.IsBigO.const_mul_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Asymptotics.IsBigO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (Asymptotics.IsBigO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Asymptotics.IsBigO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g) -> (Asymptotics.IsBigO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_mul_right Asymptotics.IsBigO.const_mul_rightₓ'. -/
+theorem IsBigO.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) (h : f =O[l] g) :
     f =O[l] fun x => c * g x :=
   h.const_mul_right' <| IsUnit.mk0 c hc
-#align asymptotics.is_O.const_mul_right Asymptotics.IsO.const_mul_right
-
-theorem isO_const_mul_right_iff' {g : α → R} {c : R} (hc : IsUnit c) :
+#align asymptotics.is_O.const_mul_right Asymptotics.IsBigO.const_mul_right
+
+/- warning: asymptotics.is_O_const_mul_right_iff' -> Asymptotics.isBigO_const_mul_right_iff' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) (Asymptotics.IsBigO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (g x))) (Asymptotics.IsBigO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_right_iff' Asymptotics.isBigO_const_mul_right_iff'ₓ'. -/
+theorem isBigO_const_mul_right_iff' {g : α → R} {c : R} (hc : IsUnit c) :
     (f =O[l] fun x => c * g x) ↔ f =O[l] g :=
   ⟨fun h => h.of_const_mul_right, fun h => h.const_mul_right' hc⟩
-#align asymptotics.is_O_const_mul_right_iff' Asymptotics.isO_const_mul_right_iff'
-
-theorem isO_const_mul_right_iff {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
+#align asymptotics.is_O_const_mul_right_iff' Asymptotics.isBigO_const_mul_right_iff'
+
+/- warning: asymptotics.is_O_const_mul_right_iff -> Asymptotics.isBigO_const_mul_right_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x))) (Asymptotics.IsBigO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsBigO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x))) (Asymptotics.IsBigO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_mul_right_iff Asymptotics.isBigO_const_mul_right_iffₓ'. -/
+theorem isBigO_const_mul_right_iff {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (f =O[l] fun x => c * g x) ↔ f =O[l] g :=
-  isO_const_mul_right_iff' <| IsUnit.mk0 c hc
-#align asymptotics.is_O_const_mul_right_iff Asymptotics.isO_const_mul_right_iff
-
-theorem IsOCat.of_const_mul_right {g : α → R} {c : R} (h : f =o[l] fun x => c * g x) : f =o[l] g :=
-  h.trans_isO (isO_const_mul_self c g l)
-#align asymptotics.is_o.of_const_mul_right Asymptotics.IsOCat.of_const_mul_right
-
-theorem IsOCat.const_mul_right' {g : α → R} {c : R} (hc : IsUnit c) (h : f =o[l] g) :
+  isBigO_const_mul_right_iff' <| IsUnit.mk0 c hc
+#align asymptotics.is_O_const_mul_right_iff Asymptotics.isBigO_const_mul_right_iff
+
+/- warning: asymptotics.is_o.of_const_mul_right -> Asymptotics.IsLittleO.of_const_mul_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {R : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u1} R] {f : α -> E} {l : Filter.{u3} α} {g : α -> R} {c : R}, (Asymptotics.IsLittleO.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) l f (fun (x : α) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))) c (g x))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E R _inst_1 (SeminormedRing.toNorm.{u1} R _inst_10) l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_const_mul_right Asymptotics.IsLittleO.of_const_mul_rightₓ'. -/
+theorem IsLittleO.of_const_mul_right {g : α → R} {c : R} (h : f =o[l] fun x => c * g x) :
+    f =o[l] g :=
+  h.trans_isBigO (isBigO_const_mul_self c g l)
+#align asymptotics.is_o.of_const_mul_right Asymptotics.IsLittleO.of_const_mul_right
+
+/- warning: asymptotics.is_o.const_mul_right' -> Asymptotics.IsLittleO.const_mul_right' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Asymptotics.IsLittleO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f g) -> (Asymptotics.IsLittleO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (g x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_mul_right' Asymptotics.IsLittleO.const_mul_right'ₓ'. -/
+theorem IsLittleO.const_mul_right' {g : α → R} {c : R} (hc : IsUnit c) (h : f =o[l] g) :
     f =o[l] fun x => c * g x :=
-  h.trans_isO (isO_self_const_mul' hc g l)
-#align asymptotics.is_o.const_mul_right' Asymptotics.IsOCat.const_mul_right'
-
-theorem IsOCat.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) (h : f =o[l] g) :
+  h.trans_isBigO (isBigO_self_const_mul' hc g l)
+#align asymptotics.is_o.const_mul_right' Asymptotics.IsLittleO.const_mul_right'
+
+/- warning: asymptotics.is_o.const_mul_right -> Asymptotics.IsLittleO.const_mul_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Asymptotics.IsLittleO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g) -> (Asymptotics.IsLittleO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_mul_right Asymptotics.IsLittleO.const_mul_rightₓ'. -/
+theorem IsLittleO.const_mul_right {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) (h : f =o[l] g) :
     f =o[l] fun x => c * g x :=
   h.const_mul_right' <| IsUnit.mk0 c hc
-#align asymptotics.is_o.const_mul_right Asymptotics.IsOCat.const_mul_right
-
-theorem isOCat_const_mul_right_iff' {g : α → R} {c : R} (hc : IsUnit c) :
+#align asymptotics.is_o.const_mul_right Asymptotics.IsLittleO.const_mul_right
+
+/- warning: asymptotics.is_o_const_mul_right_iff' -> Asymptotics.isLittleO_const_mul_right_iff' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {R : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u1} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (Ring.toMonoid.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)) c) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c (g x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E R _inst_1 (SeminormedRing.toHasNorm.{u3} R _inst_10) l f g))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {R : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_10 : SeminormedRing.{u3} R] {f : α -> E} {l : Filter.{u2} α} {g : α -> R} {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))) c) -> (Iff (Asymptotics.IsLittleO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10))))) c (g x))) (Asymptotics.IsLittleO.{u2, u1, u3} α E R _inst_1 (SeminormedRing.toNorm.{u3} R _inst_10) l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_mul_right_iff' Asymptotics.isLittleO_const_mul_right_iff'ₓ'. -/
+theorem isLittleO_const_mul_right_iff' {g : α → R} {c : R} (hc : IsUnit c) :
     (f =o[l] fun x => c * g x) ↔ f =o[l] g :=
   ⟨fun h => h.of_const_mul_right, fun h => h.const_mul_right' hc⟩
-#align asymptotics.is_o_const_mul_right_iff' Asymptotics.isOCat_const_mul_right_iff'
-
-theorem isOCat_const_mul_right_iff {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
+#align asymptotics.is_o_const_mul_right_iff' Asymptotics.isLittleO_const_mul_right_iff'
+
+/- warning: asymptotics.is_o_const_mul_right_iff -> Asymptotics.isLittleO_const_mul_right_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u1} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (OfNat.mk.{u3} 𝕜 0 (Zero.zero.{u3} 𝕜 (MulZeroClass.toHasZero.{u3} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) c (g x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 _inst_1 (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g))
+but is expected to have type
+  forall {α : Type.{u2}} {E : Type.{u1}} {𝕜 : Type.{u3}} [_inst_1 : Norm.{u1} E] [_inst_12 : NormedField.{u3} 𝕜] {f : α -> E} {l : Filter.{u2} α} {g : α -> 𝕜} {c : 𝕜}, (Ne.{succ u3} 𝕜 c (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsLittleO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (NonUnitalNonAssocRing.toMul.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) c (g x))) (Asymptotics.IsLittleO.{u2, u1, u3} α E 𝕜 _inst_1 (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_mul_right_iff Asymptotics.isLittleO_const_mul_right_iffₓ'. -/
+theorem isLittleO_const_mul_right_iff {g : α → 𝕜} {c : 𝕜} (hc : c ≠ 0) :
     (f =o[l] fun x => c * g x) ↔ f =o[l] g :=
-  isOCat_const_mul_right_iff' <| IsUnit.mk0 c hc
-#align asymptotics.is_o_const_mul_right_iff Asymptotics.isOCat_const_mul_right_iff
+  isLittleO_const_mul_right_iff' <| IsUnit.mk0 c hc
+#align asymptotics.is_o_const_mul_right_iff Asymptotics.isLittleO_const_mul_right_iff
 
 /-! ### Multiplication -/
 
 
-theorem IsOWith.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} {c₁ c₂ : ℝ} (h₁ : IsOWith c₁ l f₁ g₁)
-    (h₂ : IsOWith c₂ l f₂ g₂) : IsOWith (c₁ * c₂) l (fun x => f₁ x * f₂ x) fun x => g₁ x * g₂ x :=
+/- warning: asymptotics.is_O_with.mul -> Asymptotics.IsBigOWith.mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜} {c₁ : Real} {c₂ : Real}, (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c₁ l f₁ g₁) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c₂ l f₂ g₂) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c₁ c₂) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜} {c₁ : Real} {c₂ : Real}, (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c₁ l f₁ g₁) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c₂ l f₂ g₂) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c₁ c₂) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.mul Asymptotics.IsBigOWith.mulₓ'. -/
+theorem IsBigOWith.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} {c₁ c₂ : ℝ} (h₁ : IsBigOWith c₁ l f₁ g₁)
+    (h₂ : IsBigOWith c₂ l f₂ g₂) :
+    IsBigOWith (c₁ * c₂) l (fun x => f₁ x * f₂ x) fun x => g₁ x * g₂ x :=
   by
   unfold is_O_with at *
   filter_upwards [h₁, h₂]with _ hx₁ hx₂
   apply le_trans (norm_mul_le _ _)
   convert mul_le_mul hx₁ hx₂ (norm_nonneg _) (le_trans (norm_nonneg _) hx₁) using 1
   rw [norm_mul, mul_mul_mul_comm]
-#align asymptotics.is_O_with.mul Asymptotics.IsOWith.mul
-
-theorem IsO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =O[l] g₁) (h₂ : f₂ =O[l] g₂) :
+#align asymptotics.is_O_with.mul Asymptotics.IsBigOWith.mul
+
+/- warning: asymptotics.is_O.mul -> Asymptotics.IsBigO.mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.mul Asymptotics.IsBigO.mulₓ'. -/
+theorem IsBigO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =O[l] g₁) (h₂ : f₂ =O[l] g₂) :
     (fun x => f₁ x * f₂ x) =O[l] fun x => g₁ x * g₂ x :=
-  let ⟨c, hc⟩ := h₁.IsOWith
-  let ⟨c', hc'⟩ := h₂.IsOWith
-  (hc.mul hc').IsO
-#align asymptotics.is_O.mul Asymptotics.IsO.mul
-
-theorem IsO.mul_isOCat {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =O[l] g₁) (h₂ : f₂ =o[l] g₂) :
+  let ⟨c, hc⟩ := h₁.IsBigOWith
+  let ⟨c', hc'⟩ := h₂.IsBigOWith
+  (hc.mul hc').IsBigO
+#align asymptotics.is_O.mul Asymptotics.IsBigO.mul
+
+/- warning: asymptotics.is_O.mul_is_o -> Asymptotics.IsBigO.mul_isLittleO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.mul_is_o Asymptotics.IsBigO.mul_isLittleOₓ'. -/
+theorem IsBigO.mul_isLittleO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =O[l] g₁) (h₂ : f₂ =o[l] g₂) :
     (fun x => f₁ x * f₂ x) =o[l] fun x => g₁ x * g₂ x :=
   by
   unfold is_o at *
   intro c cpos
   rcases h₁.exists_pos with ⟨c', c'pos, hc'⟩
   exact (hc'.mul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel' _ (ne_of_gt c'pos))
-#align asymptotics.is_O.mul_is_o Asymptotics.IsO.mul_isOCat
-
-theorem IsOCat.mul_isO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =O[l] g₂) :
+#align asymptotics.is_O.mul_is_o Asymptotics.IsBigO.mul_isLittleO
+
+/- warning: asymptotics.is_o.mul_is_O -> Asymptotics.IsLittleO.mul_isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.mul_is_O Asymptotics.IsLittleO.mul_isBigOₓ'. -/
+theorem IsLittleO.mul_isBigO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =O[l] g₂) :
     (fun x => f₁ x * f₂ x) =o[l] fun x => g₁ x * g₂ x :=
   by
   unfold is_o at *
   intro c cpos
   rcases h₂.exists_pos with ⟨c', c'pos, hc'⟩
   exact ((h₁ (div_pos cpos c'pos)).mul hc').congr_const (div_mul_cancel _ (ne_of_gt c'pos))
-#align asymptotics.is_o.mul_is_O Asymptotics.IsOCat.mul_isO
-
-theorem IsOCat.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =o[l] g₂) :
+#align asymptotics.is_o.mul_is_O Asymptotics.IsLittleO.mul_isBigO
+
+/- warning: asymptotics.is_o.mul -> Asymptotics.IsLittleO.mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHMul.{u3} 𝕜 (Distrib.toHasMul.{u3} 𝕜 (Ring.toDistrib.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g₁ x) (g₂ x)))
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f₁ : α -> R} {f₂ : α -> R} {g₁ : α -> 𝕜} {g₂ : α -> 𝕜}, (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₁ g₁) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f₂ g₂) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) (f₁ x) (f₂ x)) (fun (x : α) => HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))) (g₁ x) (g₂ x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.mul Asymptotics.IsLittleO.mulₓ'. -/
+theorem IsLittleO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =o[l] g₂) :
     (fun x => f₁ x * f₂ x) =o[l] fun x => g₁ x * g₂ x :=
-  h₁.mul_isO h₂.IsO
-#align asymptotics.is_o.mul Asymptotics.IsOCat.mul
-
-theorem IsOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsOWith c l f g) :
+  h₁.mul_isBigO h₂.IsBigO
+#align asymptotics.is_o.mul Asymptotics.IsLittleO.mul
+
+/- warning: asymptotics.is_O_with.pow' -> Asymptotics.IsBigOWith.pow' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {c : Real} {l : Filter.{u1} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (Nat.casesOn.{1} (fun (_x : Nat) => Real) n (Norm.norm.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))))))) (fun (n : Nat) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) c (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n))
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u3} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (Nat.casesOn.{1} (fun (_x : Nat) => Real) n (Norm.norm.{u2} R (SeminormedRing.toNorm.{u2} R _inst_10) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (NonAssocRing.toOne.{u2} R (Ring.toNonAssocRing.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (fun (n : Nat) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.pow' Asymptotics.IsBigOWith.pow'ₓ'. -/
+theorem IsBigOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g) :
     ∀ n : ℕ,
-      IsOWith (Nat.casesOn n ‖(1 : R)‖ fun n => c ^ (n + 1)) l (fun x => f x ^ n) fun x => g x ^ n
+      IsBigOWith (Nat.casesOn n ‖(1 : R)‖ fun n => c ^ (n + 1)) l (fun x => f x ^ n) fun x =>
+        g x ^ n
   | 0 => by simpa using is_O_with_const_const (1 : R) (one_ne_zero' 𝕜) l
   | 1 => by simpa
   | n + 2 => by simpa [pow_succ] using h.mul (is_O_with.pow' (n + 1))
-#align asymptotics.is_O_with.pow' Asymptotics.IsOWith.pow'
-
-theorem IsOWith.pow [NormOneClass R] {f : α → R} {g : α → 𝕜} (h : IsOWith c l f g) :
-    ∀ n : ℕ, IsOWith (c ^ n) l (fun x => f x ^ n) fun x => g x ^ n
+#align asymptotics.is_O_with.pow' Asymptotics.IsBigOWith.pow'
+
+/- warning: asymptotics.is_O_with.pow -> Asymptotics.IsBigOWith.pow is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {c : Real} {l : Filter.{u1} α} [_inst_14 : NormOneClass.{u2} R (SeminormedRing.toHasNorm.{u2} R _inst_10) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))] {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) c n) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n))
+but is expected to have type
+  forall {α : Type.{u2}} {R : Type.{u3}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u3} R] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} [_inst_14 : NormOneClass.{u3} R (SeminormedRing.toNorm.{u3} R _inst_10) (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))] {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigOWith.{u2, u3, u1} α R 𝕜 (SeminormedRing.toNorm.{u3} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l f g) -> (forall (n : Nat), Asymptotics.IsBigOWith.{u2, u3, u1} α R 𝕜 (SeminormedRing.toNorm.{u3} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c n) l (fun (x : α) => HPow.hPow.{u3, 0, u3} R Nat R (instHPow.{u3, 0} R Nat (Monoid.Pow.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (SeminormedRing.toRing.{u3} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.pow Asymptotics.IsBigOWith.powₓ'. -/
+theorem IsBigOWith.pow [NormOneClass R] {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g) :
+    ∀ n : ℕ, IsBigOWith (c ^ n) l (fun x => f x ^ n) fun x => g x ^ n
   | 0 => by simpa using h.pow' 0
   | n + 1 => h.pow' (n + 1)
-#align asymptotics.is_O_with.pow Asymptotics.IsOWith.pow
-
-theorem IsOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsOWith c l (f ^ n) (g ^ n))
-    (hn : n ≠ 0) (hc : c ≤ c' ^ n) (hc' : 0 ≤ c') : IsOWith c' l f g :=
-  IsOWith.of_bound <|
+#align asymptotics.is_O_with.pow Asymptotics.IsBigOWith.pow
+
+/- warning: asymptotics.is_O_with.of_pow -> Asymptotics.IsBigOWith.of_pow is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {c : Real} {c' : Real} {l : Filter.{u1} α} {n : Nat} {f : α -> 𝕜} {g : α -> R}, (Asymptotics.IsBigOWith.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) c l (HPow.hPow.{max u1 u3, 0, max u1 u3} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u1 u3, 0} (α -> 𝕜) Nat (Pi.hasPow.{u1, u3, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) f n) (HPow.hPow.{max u1 u2, 0, max u1 u2} (α -> R) Nat (α -> R) (instHPow.{max u1 u2, 0} (α -> R) Nat (Pi.hasPow.{u1, u2, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) g n)) -> (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (LE.le.{0} Real Real.hasLe c (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) c' n)) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c') -> (Asymptotics.IsBigOWith.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) c' l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u1}} {𝕜 : Type.{u2}} [_inst_10 : SeminormedRing.{u1} R] [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {c' : Real} {l : Filter.{u3} α} {n : Nat} {f : α -> 𝕜} {g : α -> R}, (Asymptotics.IsBigOWith.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) c l (HPow.hPow.{max u3 u2, 0, max u3 u2} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u3 u2, 0} (α -> 𝕜) Nat (Pi.instPow.{u3, u2, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) f n) (HPow.hPow.{max u3 u1, 0, max u3 u1} (α -> R) Nat (α -> R) (instHPow.{max u3 u1, 0} (α -> R) Nat (Pi.instPow.{u3, u1, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))))) g n)) -> (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (LE.le.{0} Real Real.instLEReal c (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) c' n)) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c') -> (Asymptotics.IsBigOWith.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) c' l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.of_pow Asymptotics.IsBigOWith.of_powₓ'. -/
+theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigOWith c l (f ^ n) (g ^ n))
+    (hn : n ≠ 0) (hc : c ≤ c' ^ n) (hc' : 0 ≤ c') : IsBigOWith c' l f g :=
+  IsBigOWith.of_bound <|
     (h.weaken hc).bound.mono fun x hx =>
       le_of_pow_le_pow n (mul_nonneg hc' <| norm_nonneg _) hn.bot_lt <|
         calc
@@ -1603,40 +3388,70 @@ theorem IsOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsOWith c
             (mul_le_mul_of_nonneg_left (norm_pow_le' _ hn.bot_lt) (pow_nonneg hc' _))
           _ = (c' * ‖g x‖) ^ n := (mul_pow _ _ _).symm
           
-#align asymptotics.is_O_with.of_pow Asymptotics.IsOWith.of_pow
-
-theorem IsO.pow {f : α → R} {g : α → 𝕜} (h : f =O[l] g) (n : ℕ) :
+#align asymptotics.is_O_with.of_pow Asymptotics.IsBigOWith.of_pow
+
+/- warning: asymptotics.is_O.pow -> Asymptotics.IsBigO.pow is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (forall (n : Nat), Asymptotics.IsBigO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n))
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (forall (n : Nat), Asymptotics.IsBigO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.pow Asymptotics.IsBigO.powₓ'. -/
+theorem IsBigO.pow {f : α → R} {g : α → 𝕜} (h : f =O[l] g) (n : ℕ) :
     (fun x => f x ^ n) =O[l] fun x => g x ^ n :=
-  let ⟨C, hC⟩ := h.IsOWith
-  isO_iff_isOWith.2 ⟨_, hC.pow' n⟩
-#align asymptotics.is_O.pow Asymptotics.IsO.pow
-
-theorem IsO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (hn : n ≠ 0) (h : (f ^ n) =O[l] (g ^ n)) :
+  let ⟨C, hC⟩ := h.IsBigOWith
+  isBigO_iff_isBigOWith.2 ⟨_, hC.pow' n⟩
+#align asymptotics.is_O.pow Asymptotics.IsBigO.pow
+
+/- warning: asymptotics.is_O.of_pow -> Asymptotics.IsBigO.of_pow is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> R} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) l (HPow.hPow.{max u1 u3, 0, max u1 u3} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u1 u3, 0} (α -> 𝕜) Nat (Pi.hasPow.{u1, u3, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) f n) (HPow.hPow.{max u1 u2, 0, max u1 u2} (α -> R) Nat (α -> R) (instHPow.{max u1 u2, 0} (α -> R) Nat (Pi.hasPow.{u1, u2, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) g n)) -> (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u1}} {𝕜 : Type.{u2}} [_inst_10 : SeminormedRing.{u1} R] [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> R} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (Asymptotics.IsBigO.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) l (HPow.hPow.{max u3 u2, 0, max u3 u2} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u3 u2, 0} (α -> 𝕜) Nat (Pi.instPow.{u3, u2, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) f n) (HPow.hPow.{max u3 u1, 0, max u3 u1} (α -> R) Nat (α -> R) (instHPow.{max u3 u1, 0} (α -> R) Nat (Pi.instPow.{u3, u1, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))))) g n)) -> (Asymptotics.IsBigO.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.of_pow Asymptotics.IsBigO.of_powₓ'. -/
+theorem IsBigO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (hn : n ≠ 0) (h : (f ^ n) =O[l] (g ^ n)) :
     f =O[l] g := by
   rcases h.exists_pos with ⟨C, hC₀, hC⟩
   obtain ⟨c, hc₀, hc⟩ : ∃ c : ℝ, 0 ≤ c ∧ C ≤ c ^ n
   exact ((eventually_ge_at_top _).And <| (tendsto_pow_at_top hn).eventually_ge_atTop C).exists
-  exact (hC.of_pow hn hc hc₀).IsO
-#align asymptotics.is_O.of_pow Asymptotics.IsO.of_pow
-
-theorem IsOCat.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ} (hn : 0 < n) :
+  exact (hC.of_pow hn hc hc₀).IsBigO
+#align asymptotics.is_O.of_pow Asymptotics.IsBigO.of_pow
+
+/- warning: asymptotics.is_o.pow -> Asymptotics.IsLittleO.pow is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (forall {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Asymptotics.IsLittleO.{u1, u2, u3} α R 𝕜 (SeminormedRing.toHasNorm.{u2} R _inst_10) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))) (f x) n) (fun (x : α) => HPow.hPow.{u3, 0, u3} 𝕜 Nat 𝕜 (instHPow.{u3, 0} 𝕜 Nat (Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))) (g x) n)))
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u2}} {𝕜 : Type.{u1}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u3} α} {f : α -> R} {g : α -> 𝕜}, (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (forall {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Asymptotics.IsLittleO.{u3, u2, u1} α R 𝕜 (SeminormedRing.toNorm.{u2} R _inst_10) (NormedField.toNorm.{u1} 𝕜 _inst_12) l (fun (x : α) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (SeminormedRing.toRing.{u2} R _inst_10)))))) (f x) n) (fun (x : α) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (g x) n)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.pow Asymptotics.IsLittleO.powₓ'. -/
+theorem IsLittleO.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ} (hn : 0 < n) :
     (fun x => f x ^ n) =o[l] fun x => g x ^ n :=
   by
   cases n; exact hn.false.elim; clear hn
   induction' n with n ihn; · simpa only [pow_one]
   convert h.mul ihn <;> simp [pow_succ]
-#align asymptotics.is_o.pow Asymptotics.IsOCat.pow
-
-theorem IsOCat.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (h : (f ^ n) =o[l] (g ^ n)) (hn : n ≠ 0) :
+#align asymptotics.is_o.pow Asymptotics.IsLittleO.pow
+
+/- warning: asymptotics.is_o.of_pow -> Asymptotics.IsLittleO.of_pow is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {R : Type.{u2}} {𝕜 : Type.{u3}} [_inst_10 : SeminormedRing.{u2} R] [_inst_12 : NormedField.{u3} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> R} {n : Nat}, (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) l (HPow.hPow.{max u1 u3, 0, max u1 u3} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u1 u3, 0} (α -> 𝕜) Nat (Pi.hasPow.{u1, u3, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u3} 𝕜 (Ring.toMonoid.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))))) f n) (HPow.hPow.{max u1 u2, 0, max u1 u2} (α -> R) Nat (α -> R) (instHPow.{max u1 u2, 0} (α -> R) Nat (Pi.hasPow.{u1, u2, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u2} R (Ring.toMonoid.{u2} R (SeminormedRing.toRing.{u2} R _inst_10))))) g n)) -> (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜 R (NormedField.toHasNorm.{u3} 𝕜 _inst_12) (SeminormedRing.toHasNorm.{u2} R _inst_10) l f g)
+but is expected to have type
+  forall {α : Type.{u3}} {R : Type.{u1}} {𝕜 : Type.{u2}} [_inst_10 : SeminormedRing.{u1} R] [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> R} {n : Nat}, (Asymptotics.IsLittleO.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) l (HPow.hPow.{max u3 u2, 0, max u3 u2} (α -> 𝕜) Nat (α -> 𝕜) (instHPow.{max u3 u2, 0} (α -> 𝕜) Nat (Pi.instPow.{u3, u2, 0} α Nat (fun (ᾰ : α) => 𝕜) (fun (i : α) => Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) f n) (HPow.hPow.{max u3 u1, 0, max u3 u1} (α -> R) Nat (α -> R) (instHPow.{max u3 u1, 0} (α -> R) Nat (Pi.instPow.{u3, u1, 0} α Nat (fun (ᾰ : α) => R) (fun (i : α) => Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R _inst_10))))))) g n)) -> (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (Asymptotics.IsLittleO.{u3, u2, u1} α 𝕜 R (NormedField.toNorm.{u2} 𝕜 _inst_12) (SeminormedRing.toNorm.{u1} R _inst_10) l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.of_pow Asymptotics.IsLittleO.of_powₓ'. -/
+theorem IsLittleO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (h : (f ^ n) =o[l] (g ^ n)) (hn : n ≠ 0) :
     f =o[l] g :=
-  IsOCat.of_isOWith fun c hc => (h.def' <| pow_pos hc _).ofPow hn le_rfl hc.le
-#align asymptotics.is_o.of_pow Asymptotics.IsOCat.of_pow
+  IsLittleO.of_isBigOWith fun c hc => (h.def' <| pow_pos hc _).ofPow hn le_rfl hc.le
+#align asymptotics.is_o.of_pow Asymptotics.IsLittleO.of_pow
 
 /-! ### Inverse -/
 
 
-theorem IsOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsOWith c l f g)
-    (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : IsOWith c l (fun x => (g x)⁻¹) fun x => (f x)⁻¹ :=
+/- warning: asymptotics.is_O_with.inv_rev -> Asymptotics.IsBigOWith.inv_rev is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {𝕜' : Type.{u3}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {c : Real} {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsBigOWith.{u1, u2, u3} α 𝕜 𝕜' (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u3} 𝕜' _inst_13) c l f g) -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u3} 𝕜' (g x) (OfNat.ofNat.{u3} 𝕜' 0 (OfNat.mk.{u3} 𝕜' 0 (Zero.zero.{u3} 𝕜' (MulZeroClass.toHasZero.{u3} 𝕜' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜' (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜' (Ring.toNonAssocRing.{u3} 𝕜' (NormedRing.toRing.{u3} 𝕜' (NormedCommRing.toNormedRing.{u3} 𝕜' (NormedField.toNormedCommRing.{u3} 𝕜' _inst_13))))))))))))) l) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α 𝕜' 𝕜 (NormedField.toHasNorm.{u3} 𝕜' _inst_13) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l (fun (x : α) => Inv.inv.{u3} 𝕜' (DivInvMonoid.toHasInv.{u3} 𝕜' (DivisionRing.toDivInvMonoid.{u3} 𝕜' (NormedDivisionRing.toDivisionRing.{u3} 𝕜' (NormedField.toNormedDivisionRing.{u3} 𝕜' _inst_13)))) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))) (f x)))
+but is expected to have type
+  forall {α : Type.{u3}} {𝕜 : Type.{u2}} {𝕜' : Type.{u1}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u1} 𝕜'] {c : Real} {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsBigOWith.{u3, u2, u1} α 𝕜 𝕜' (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜' _inst_13) c l f g) -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜' (g x) (OfNat.ofNat.{u1} 𝕜' 0 (Zero.toOfNat0.{u1} 𝕜' (CommMonoidWithZero.toZero.{u1} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜' (Semifield.toCommGroupWithZero.{u1} 𝕜' (Field.toSemifield.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13))))))))) l) -> (Asymptotics.IsBigOWith.{u3, u1, u2} α 𝕜' 𝕜 (NormedField.toNorm.{u1} 𝕜' _inst_13) (NormedField.toNorm.{u2} 𝕜 _inst_12) c l (fun (x : α) => Inv.inv.{u1} 𝕜' (Field.toInv.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13)) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (Field.toInv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)) (f x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.inv_rev Asymptotics.IsBigOWith.inv_revₓ'. -/
+theorem IsBigOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsBigOWith c l f g)
+    (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : IsBigOWith c l (fun x => (g x)⁻¹) fun x => (f x)⁻¹ :=
   by
   refine' is_O_with.of_bound (h.bound.mp (h₀.mono fun x h₀ hle => _))
   cases' eq_or_ne (f x) 0 with hx hx
@@ -1644,18 +3459,30 @@ theorem IsOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsOWith c l f
   · have hc : 0 < c := pos_of_mul_pos_left ((norm_pos_iff.2 hx).trans_le hle) (norm_nonneg _)
     replace hle := inv_le_inv_of_le (norm_pos_iff.2 hx) hle
     simpa only [norm_inv, mul_inv, ← div_eq_inv_mul, div_le_iff hc] using hle
-#align asymptotics.is_O_with.inv_rev Asymptotics.IsOWith.inv_rev
-
-theorem IsO.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =O[l] g) (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) :
-    (fun x => (g x)⁻¹) =O[l] fun x => (f x)⁻¹ :=
-  let ⟨c, hc⟩ := h.IsOWith
-  (hc.inv_rev h₀).IsO
-#align asymptotics.is_O.inv_rev Asymptotics.IsO.inv_rev
-
-theorem IsOCat.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =o[l] g)
+#align asymptotics.is_O_with.inv_rev Asymptotics.IsBigOWith.inv_rev
+
+/- warning: asymptotics.is_O.inv_rev -> Asymptotics.IsBigO.inv_rev is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {𝕜' : Type.{u3}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsBigO.{u1, u2, u3} α 𝕜 𝕜' (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u3} 𝕜' _inst_13) l f g) -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u3} 𝕜' (g x) (OfNat.ofNat.{u3} 𝕜' 0 (OfNat.mk.{u3} 𝕜' 0 (Zero.zero.{u3} 𝕜' (MulZeroClass.toHasZero.{u3} 𝕜' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜' (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜' (Ring.toNonAssocRing.{u3} 𝕜' (NormedRing.toRing.{u3} 𝕜' (NormedCommRing.toNormedRing.{u3} 𝕜' (NormedField.toNormedCommRing.{u3} 𝕜' _inst_13))))))))))))) l) -> (Asymptotics.IsBigO.{u1, u3, u2} α 𝕜' 𝕜 (NormedField.toHasNorm.{u3} 𝕜' _inst_13) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l (fun (x : α) => Inv.inv.{u3} 𝕜' (DivInvMonoid.toHasInv.{u3} 𝕜' (DivisionRing.toDivInvMonoid.{u3} 𝕜' (NormedDivisionRing.toDivisionRing.{u3} 𝕜' (NormedField.toNormedDivisionRing.{u3} 𝕜' _inst_13)))) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))) (f x)))
+but is expected to have type
+  forall {α : Type.{u3}} {𝕜 : Type.{u2}} {𝕜' : Type.{u1}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u1} 𝕜'] {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsBigO.{u3, u2, u1} α 𝕜 𝕜' (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜' _inst_13) l f g) -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜' (g x) (OfNat.ofNat.{u1} 𝕜' 0 (Zero.toOfNat0.{u1} 𝕜' (CommMonoidWithZero.toZero.{u1} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜' (Semifield.toCommGroupWithZero.{u1} 𝕜' (Field.toSemifield.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13))))))))) l) -> (Asymptotics.IsBigO.{u3, u1, u2} α 𝕜' 𝕜 (NormedField.toNorm.{u1} 𝕜' _inst_13) (NormedField.toNorm.{u2} 𝕜 _inst_12) l (fun (x : α) => Inv.inv.{u1} 𝕜' (Field.toInv.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13)) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (Field.toInv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)) (f x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.inv_rev Asymptotics.IsBigO.inv_revₓ'. -/
+theorem IsBigO.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =O[l] g)
+    (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : (fun x => (g x)⁻¹) =O[l] fun x => (f x)⁻¹ :=
+  let ⟨c, hc⟩ := h.IsBigOWith
+  (hc.inv_rev h₀).IsBigO
+#align asymptotics.is_O.inv_rev Asymptotics.IsBigO.inv_rev
+
+/- warning: asymptotics.is_o.inv_rev -> Asymptotics.IsLittleO.inv_rev is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {𝕜' : Type.{u3}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsLittleO.{u1, u2, u3} α 𝕜 𝕜' (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u3} 𝕜' _inst_13) l f g) -> (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u3} 𝕜' (g x) (OfNat.ofNat.{u3} 𝕜' 0 (OfNat.mk.{u3} 𝕜' 0 (Zero.zero.{u3} 𝕜' (MulZeroClass.toHasZero.{u3} 𝕜' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} 𝕜' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜' (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜' (Ring.toNonAssocRing.{u3} 𝕜' (NormedRing.toRing.{u3} 𝕜' (NormedCommRing.toNormedRing.{u3} 𝕜' (NormedField.toNormedCommRing.{u3} 𝕜' _inst_13))))))))))))) l) -> (Asymptotics.IsLittleO.{u1, u3, u2} α 𝕜' 𝕜 (NormedField.toHasNorm.{u3} 𝕜' _inst_13) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l (fun (x : α) => Inv.inv.{u3} 𝕜' (DivInvMonoid.toHasInv.{u3} 𝕜' (DivisionRing.toDivInvMonoid.{u3} 𝕜' (NormedDivisionRing.toDivisionRing.{u3} 𝕜' (NormedField.toNormedDivisionRing.{u3} 𝕜' _inst_13)))) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))) (f x)))
+but is expected to have type
+  forall {α : Type.{u3}} {𝕜 : Type.{u2}} {𝕜' : Type.{u1}} [_inst_12 : NormedField.{u2} 𝕜] [_inst_13 : NormedField.{u1} 𝕜'] {l : Filter.{u3} α} {f : α -> 𝕜} {g : α -> 𝕜'}, (Asymptotics.IsLittleO.{u3, u2, u1} α 𝕜 𝕜' (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜' _inst_13) l f g) -> (Filter.Eventually.{u3} α (fun (x : α) => (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜' (g x) (OfNat.ofNat.{u1} 𝕜' 0 (Zero.toOfNat0.{u1} 𝕜' (CommMonoidWithZero.toZero.{u1} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜' (Semifield.toCommGroupWithZero.{u1} 𝕜' (Field.toSemifield.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13))))))))) l) -> (Asymptotics.IsLittleO.{u3, u1, u2} α 𝕜' 𝕜 (NormedField.toNorm.{u1} 𝕜' _inst_13) (NormedField.toNorm.{u2} 𝕜 _inst_12) l (fun (x : α) => Inv.inv.{u1} 𝕜' (Field.toInv.{u1} 𝕜' (NormedField.toField.{u1} 𝕜' _inst_13)) (g x)) (fun (x : α) => Inv.inv.{u2} 𝕜 (Field.toInv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)) (f x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.inv_rev Asymptotics.IsLittleO.inv_revₓ'. -/
+theorem IsLittleO.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =o[l] g)
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : (fun x => (g x)⁻¹) =o[l] fun x => (f x)⁻¹ :=
-  IsOCat.of_isOWith fun c hc => (h.def' hc).inv_rev h₀
-#align asymptotics.is_o.inv_rev Asymptotics.IsOCat.inv_rev
+  IsLittleO.of_isBigOWith fun c hc => (h.def' hc).inv_rev h₀
+#align asymptotics.is_o.inv_rev Asymptotics.IsLittleO.inv_rev
 
 /-! ### Scalar multiplication -/
 
@@ -1664,52 +3491,95 @@ section SmulConst
 
 variable [NormedSpace 𝕜 E']
 
-theorem IsOWith.const_smul_left (h : IsOWith c l f' g) (c' : 𝕜) :
-    IsOWith (‖c'‖ * c) l (fun x => c' • f' x) g :=
-  IsOWith.of_norm_left <| by
+/- warning: asymptotics.is_O_with.const_smul_left -> Asymptotics.IsBigOWith.const_smul_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 c l f' g) -> (forall (c' : 𝕜), Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u4} 𝕜 (NormedField.toHasNorm.{u4} 𝕜 _inst_12) c') c) l (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c' (f' x)) g)
+but is expected to have type
+  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigOWith.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 c l f' g) -> (forall (c' : 𝕜), Asymptotics.IsBigOWith.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) c') c) l (fun (x : α) => HSMul.hSMul.{u1, u3, u3} 𝕜 E' E' (instHSMul.{u1, u3} 𝕜 E' (SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c' (f' x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.const_smul_left Asymptotics.IsBigOWith.const_smul_leftₓ'. -/
+theorem IsBigOWith.const_smul_left (h : IsBigOWith c l f' g) (c' : 𝕜) :
+    IsBigOWith (‖c'‖ * c) l (fun x => c' • f' x) g :=
+  IsBigOWith.of_norm_left <| by
     simpa only [← norm_smul, norm_norm] using h.norm_left.const_mul_left ‖c'‖
-#align asymptotics.is_O_with.const_smul_left Asymptotics.IsOWith.const_smul_left
-
-theorem IsO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g :=
-  let ⟨b, hb⟩ := h.IsOWith
-  (hb.const_smul_left _).IsO
-#align asymptotics.is_O.const_smul_left Asymptotics.IsO.const_smul_left
-
-theorem IsOCat.const_smul_left (h : f' =o[l] g) (c : 𝕜) : (c • f') =o[l] g :=
-  IsOCat.of_norm_left <| by simpa only [← norm_smul] using h.norm_left.const_mul_left ‖c‖
-#align asymptotics.is_o.const_smul_left Asymptotics.IsOCat.const_smul_left
-
-theorem isO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =O[l] g ↔ f' =O[l] g :=
+#align asymptotics.is_O_with.const_smul_left Asymptotics.IsBigOWith.const_smul_left
+
+/- warning: asymptotics.is_O.const_smul_left -> Asymptotics.IsBigO.const_smul_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (SMul.smul.{u4, max u1 u3} 𝕜 (α -> E') (Function.hasSMul.{u1, u4, u3} α 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c f') g)
+but is expected to have type
+  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsBigO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45605 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_leftₓ'. -/
+theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g :=
+  let ⟨b, hb⟩ := h.IsBigOWith
+  (hb.const_smul_left _).IsBigO
+#align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_left
+
+/- warning: asymptotics.is_o.const_smul_left -> Asymptotics.IsLittleO.const_smul_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (SMul.smul.{u4, max u1 u3} 𝕜 (α -> E') (Function.hasSMul.{u1, u4, u3} α 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c f') g)
+but is expected to have type
+  forall {α : Type.{u4}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u1}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u1} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u4} α} [_inst_14 : NormedSpace.{u1, u3} 𝕜 E' _inst_12 _inst_4], (Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l f' g) -> (forall (c : 𝕜), Asymptotics.IsLittleO.{u4, u3, u2} α E' F (SeminormedAddCommGroup.toNorm.{u3} E' _inst_4) _inst_2 l (HSMul.hSMul.{u1, max u4 u3, max u4 u3} 𝕜 (α -> E') (α -> E') (instHSMul.{u1, max u4 u3} 𝕜 (α -> E') (Pi.instSMul.{u4, u3, u1} α 𝕜 (fun (a._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.45751 : α) => E') (fun (i : α) => SMulZeroClass.toSMul.{u1, u3} 𝕜 E' (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u1, u3} 𝕜 E' (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u3} E' (SubNegZeroMonoid.toNegZeroClass.{u3} E' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E' (AddCommGroup.toDivisionAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 E' (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u1, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))))) c f') g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_leftₓ'. -/
+theorem IsLittleO.const_smul_left (h : f' =o[l] g) (c : 𝕜) : (c • f') =o[l] g :=
+  IsLittleO.of_norm_left <| by simpa only [← norm_smul] using h.norm_left.const_mul_left ‖c‖
+#align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_left
+
+/- warning: asymptotics.is_O_const_smul_left -> Asymptotics.isBigO_const_smul_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (OfNat.mk.{u4} 𝕜 0 (Zero.zero.{u4} 𝕜 (MulZeroClass.toHasZero.{u4} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u4} 𝕜 (Ring.toNonAssocRing.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c (f' x)) g) (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g))
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (Zero.toOfNat0.{u4} 𝕜 (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c (f' x)) g) (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_smul_left Asymptotics.isBigO_const_smul_leftₓ'. -/
+theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =O[l] g ↔ f' =O[l] g :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
   rw [← is_O_norm_left]
   simp only [norm_smul]
   rw [is_O_const_mul_left_iff cne0, is_O_norm_left]
-#align asymptotics.is_O_const_smul_left Asymptotics.isO_const_smul_left
-
-theorem isOCat_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =o[l] g ↔ f' =o[l] g :=
+#align asymptotics.is_O_const_smul_left Asymptotics.isBigO_const_smul_left
+
+/- warning: asymptotics.is_o_const_smul_left -> Asymptotics.isLittleO_const_smul_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (OfNat.mk.{u4} 𝕜 0 (Zero.zero.{u4} 𝕜 (MulZeroClass.toHasZero.{u4} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u4} 𝕜 (Ring.toNonAssocRing.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c (f' x)) g) (Asymptotics.IsLittleO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l f' g))
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} {𝕜 : Type.{u4}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_12 : NormedField.{u4} 𝕜] {g : α -> F} {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (Zero.toOfNat0.{u4} 𝕜 (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c (f' x)) g) (Asymptotics.IsLittleO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l f' g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_smul_left Asymptotics.isLittleO_const_smul_leftₓ'. -/
+theorem isLittleO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =o[l] g ↔ f' =o[l] g :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
   rw [← is_o_norm_left]
   simp only [norm_smul]
   rw [is_o_const_mul_left_iff cne0, is_o_norm_left]
-#align asymptotics.is_o_const_smul_left Asymptotics.isOCat_const_smul_left
-
-theorem isO_const_smul_right {c : 𝕜} (hc : c ≠ 0) : (f =O[l] fun x => c • f' x) ↔ f =O[l] f' :=
+#align asymptotics.is_o_const_smul_left Asymptotics.isLittleO_const_smul_left
+
+/- warning: asymptotics.is_O_const_smul_right -> Asymptotics.isBigO_const_smul_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {f : α -> E} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (OfNat.mk.{u4} 𝕜 0 (Zero.zero.{u4} 𝕜 (MulZeroClass.toHasZero.{u4} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u4} 𝕜 (Ring.toNonAssocRing.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E E' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) l f (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c (f' x))) (Asymptotics.IsBigO.{u1, u2, u3} α E E' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) l f f'))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {E' : Type.{u1}} {𝕜 : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_12 : NormedField.{u4} 𝕜] {f : α -> E} {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : NormedSpace.{u4, u1} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (Zero.toOfNat0.{u4} 𝕜 (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsBigO.{u3, u2, u1} α E E' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f (fun (x : α) => HSMul.hSMul.{u4, u1, u1} 𝕜 E' E' (instHSMul.{u4, u1} 𝕜 E' (SMulZeroClass.toSMul.{u4, u1} 𝕜 E' (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u1} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u1} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u1} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)) (NormedSpace.toModule.{u4, u1} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c (f' x))) (Asymptotics.IsBigO.{u3, u2, u1} α E E' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f f'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_const_smul_right Asymptotics.isBigO_const_smul_rightₓ'. -/
+theorem isBigO_const_smul_right {c : 𝕜} (hc : c ≠ 0) : (f =O[l] fun x => c • f' x) ↔ f =O[l] f' :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
   rw [← is_O_norm_right]
   simp only [norm_smul]
   rw [is_O_const_mul_right_iff cne0, is_O_norm_right]
-#align asymptotics.is_O_const_smul_right Asymptotics.isO_const_smul_right
-
-theorem isOCat_const_smul_right {c : 𝕜} (hc : c ≠ 0) : (f =o[l] fun x => c • f' x) ↔ f =o[l] f' :=
+#align asymptotics.is_O_const_smul_right Asymptotics.isBigO_const_smul_right
+
+/- warning: asymptotics.is_o_const_smul_right -> Asymptotics.isLittleO_const_smul_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {E' : Type.{u3}} {𝕜 : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u3} E'] [_inst_12 : NormedField.{u4} 𝕜] {f : α -> E} {f' : α -> E'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u3} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (OfNat.mk.{u4} 𝕜 0 (Zero.zero.{u4} 𝕜 (MulZeroClass.toHasZero.{u4} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u4} 𝕜 (Ring.toNonAssocRing.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E E' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) l f (fun (x : α) => SMul.smul.{u4, u3} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u3} 𝕜 E' (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u3} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u3} E' (AddMonoid.toAddZeroClass.{u3} E' (AddCommMonoid.toAddMonoid.{u3} E' (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) (NormedSpace.toModule.{u4, u3} 𝕜 E' _inst_12 _inst_4 _inst_14))))) c (f' x))) (Asymptotics.IsLittleO.{u1, u2, u3} α E E' _inst_1 (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) l f f'))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {E' : Type.{u1}} {𝕜 : Type.{u4}} [_inst_1 : Norm.{u2} E] [_inst_4 : SeminormedAddCommGroup.{u1} E'] [_inst_12 : NormedField.{u4} 𝕜] {f : α -> E} {f' : α -> E'} {l : Filter.{u3} α} [_inst_14 : NormedSpace.{u4, u1} 𝕜 E' _inst_12 _inst_4] {c : 𝕜}, (Ne.{succ u4} 𝕜 c (OfNat.ofNat.{u4} 𝕜 0 (Zero.toOfNat0.{u4} 𝕜 (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))))))) -> (Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E E' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f (fun (x : α) => HSMul.hSMul.{u4, u1, u1} 𝕜 E' E' (instHSMul.{u4, u1} 𝕜 E' (SMulZeroClass.toSMul.{u4, u1} 𝕜 E' (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u1} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u1} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u1} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4)) (NormedSpace.toModule.{u4, u1} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) c (f' x))) (Asymptotics.IsLittleO.{u3, u2, u1} α E E' _inst_1 (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f f'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_smul_right Asymptotics.isLittleO_const_smul_rightₓ'. -/
+theorem isLittleO_const_smul_right {c : 𝕜} (hc : c ≠ 0) :
+    (f =o[l] fun x => c • f' x) ↔ f =o[l] f' :=
   by
   have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
   rw [← is_o_norm_right]
   simp only [norm_smul]
   rw [is_o_const_mul_right_iff cne0, is_o_norm_right]
-#align asymptotics.is_o_const_smul_right Asymptotics.isOCat_const_smul_right
+#align asymptotics.is_o_const_smul_right Asymptotics.isLittleO_const_smul_right
 
 end SmulConst
 
@@ -1717,35 +3587,65 @@ section Smul
 
 variable [NormedSpace 𝕜 E'] [NormedSpace 𝕜' F'] {k₁ : α → 𝕜} {k₂ : α → 𝕜'}
 
-theorem IsOWith.smul (h₁ : IsOWith c l k₁ k₂) (h₂ : IsOWith c' l f' g') :
-    IsOWith (c * c') l (fun x => k₁ x • f' x) fun x => k₂ x • g' x := by
+/- warning: asymptotics.is_O_with.smul -> Asymptotics.IsBigOWith.smul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {c : Real} {c' : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigOWith.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) c l k₁ k₂) -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) c' l f' g') -> (Asymptotics.IsBigOWith.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) c c') l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
+but is expected to have type
+  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {c : Real} {c' : Real} {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigOWith.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) c l k₁ k₂) -> (Asymptotics.IsBigOWith.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) c' l f' g') -> (Asymptotics.IsBigOWith.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) c c') l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.smul Asymptotics.IsBigOWith.smulₓ'. -/
+theorem IsBigOWith.smul (h₁ : IsBigOWith c l k₁ k₂) (h₂ : IsBigOWith c' l f' g') :
+    IsBigOWith (c * c') l (fun x => k₁ x • f' x) fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul h₂.norm_norm).congr rfl _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
-#align asymptotics.is_O_with.smul Asymptotics.IsOWith.smul
-
-theorem IsO.smul (h₁ : k₁ =O[l] k₂) (h₂ : f' =O[l] g') :
+#align asymptotics.is_O_with.smul Asymptotics.IsBigOWith.smul
+
+/- warning: asymptotics.is_O.smul -> Asymptotics.IsBigO.smul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigO.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
+but is expected to have type
+  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigO.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsBigO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsBigO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.smul Asymptotics.IsBigO.smulₓ'. -/
+theorem IsBigO.smul (h₁ : k₁ =O[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =O[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
-#align asymptotics.is_O.smul Asymptotics.IsO.smul
-
-theorem IsO.smul_isOCat (h₁ : k₁ =O[l] k₂) (h₂ : f' =o[l] g') :
+#align asymptotics.is_O.smul Asymptotics.IsBigO.smul
+
+/- warning: asymptotics.is_O.smul_is_o -> Asymptotics.IsBigO.smul_isLittleO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigO.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
+but is expected to have type
+  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsBigO.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.smul_is_o Asymptotics.IsBigO.smul_isLittleOₓ'. -/
+theorem IsBigO.smul_isLittleO (h₁ : k₁ =O[l] k₂) (h₂ : f' =o[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul_is_o h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
-#align asymptotics.is_O.smul_is_o Asymptotics.IsO.smul_isOCat
-
-theorem IsOCat.smul_isO (h₁ : k₁ =o[l] k₂) (h₂ : f' =O[l] g') :
+#align asymptotics.is_O.smul_is_o Asymptotics.IsBigO.smul_isLittleO
+
+/- warning: asymptotics.is_o.smul_is_O -> Asymptotics.IsLittleO.smul_isBigO is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsLittleO.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsBigO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
+but is expected to have type
+  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsLittleO.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsBigO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.smul_is_O Asymptotics.IsLittleO.smul_isBigOₓ'. -/
+theorem IsLittleO.smul_isBigO (h₁ : k₁ =o[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul_is_O h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
-#align asymptotics.is_o.smul_is_O Asymptotics.IsOCat.smul_isO
-
-theorem IsOCat.smul (h₁ : k₁ =o[l] k₂) (h₂ : f' =o[l] g') :
+#align asymptotics.is_o.smul_is_O Asymptotics.IsLittleO.smul_isBigO
+
+/- warning: asymptotics.is_o.smul -> Asymptotics.IsLittleO.smul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} {𝕜 : Type.{u4}} {𝕜' : Type.{u5}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u5} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u1} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u5, u3} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsLittleO.{u1, u4, u5} α 𝕜 𝕜' (NormedField.toHasNorm.{u4} 𝕜 _inst_12) (NormedField.toHasNorm.{u5} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => SMul.smul.{u4, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u4, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u4, u2} 𝕜 E' (MulZeroClass.toHasZero.{u4} 𝕜 (MulZeroOneClass.toMulZeroClass.{u4} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u4} 𝕜 (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (Ring.toSemiring.{u4} 𝕜 (NormedRing.toRing.{u4} 𝕜 (NormedCommRing.toNormedRing.{u4} 𝕜 (NormedField.toNormedCommRing.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (k₁ x) (f' x)) (fun (x : α) => SMul.smul.{u5, u3} 𝕜' F' (SMulZeroClass.toHasSmul.{u5, u3} 𝕜' F' (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (SMulWithZero.toSmulZeroClass.{u5, u3} 𝕜' F' (MulZeroClass.toHasZero.{u5} 𝕜' (MulZeroOneClass.toMulZeroClass.{u5} 𝕜' (MonoidWithZero.toMulZeroOneClass.{u5} 𝕜' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (MulActionWithZero.toSMulWithZero.{u5, u3} 𝕜' F' (Semiring.toMonoidWithZero.{u5} 𝕜' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13))))) (AddZeroClass.toHasZero.{u3} F' (AddMonoid.toAddZeroClass.{u3} F' (AddCommMonoid.toAddMonoid.{u3} F' (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5))))) (Module.toMulActionWithZero.{u5, u3} 𝕜' F' (Ring.toSemiring.{u5} 𝕜' (NormedRing.toRing.{u5} 𝕜' (NormedCommRing.toNormedRing.{u5} 𝕜' (NormedField.toNormedCommRing.{u5} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u3} F' (SeminormedAddCommGroup.toAddCommGroup.{u3} F' _inst_5)) (NormedSpace.toModule.{u5, u3} 𝕜' F' _inst_13 _inst_5 _inst_15))))) (k₂ x) (g' x)))
+but is expected to have type
+  forall {α : Type.{u5}} {E' : Type.{u2}} {F' : Type.{u1}} {𝕜 : Type.{u4}} {𝕜' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] [_inst_12 : NormedField.{u4} 𝕜] [_inst_13 : NormedField.{u3} 𝕜'] {f' : α -> E'} {g' : α -> F'} {l : Filter.{u5} α} [_inst_14 : NormedSpace.{u4, u2} 𝕜 E' _inst_12 _inst_4] [_inst_15 : NormedSpace.{u3, u1} 𝕜' F' _inst_13 _inst_5] {k₁ : α -> 𝕜} {k₂ : α -> 𝕜'}, (Asymptotics.IsLittleO.{u5, u4, u3} α 𝕜 𝕜' (NormedField.toNorm.{u4} 𝕜 _inst_12) (NormedField.toNorm.{u3} 𝕜' _inst_13) l k₁ k₂) -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f' g') -> (Asymptotics.IsLittleO.{u5, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => HSMul.hSMul.{u4, u2, u2} 𝕜 E' E' (instHSMul.{u4, u2} 𝕜 E' (SMulZeroClass.toSMul.{u4, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u4} 𝕜 (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u4} 𝕜 (Semifield.toDivisionSemiring.{u4} 𝕜 (Field.toSemifield.{u4} 𝕜 (NormedField.toField.{u4} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u4, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (k₁ x) (f' x)) (fun (x : α) => HSMul.hSMul.{u3, u1, u1} 𝕜' F' F' (instHSMul.{u3, u1} 𝕜' F' (SMulZeroClass.toSMul.{u3, u1} 𝕜' F' (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜' F' (CommMonoidWithZero.toZero.{u3} 𝕜' (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜' (Semifield.toCommGroupWithZero.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜' F' (Semiring.toMonoidWithZero.{u3} 𝕜' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13))))) (NegZeroClass.toZero.{u1} F' (SubNegZeroMonoid.toNegZeroClass.{u1} F' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F' (AddCommGroup.toDivisionAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜' F' (DivisionSemiring.toSemiring.{u3} 𝕜' (Semifield.toDivisionSemiring.{u3} 𝕜' (Field.toSemifield.{u3} 𝕜' (NormedField.toField.{u3} 𝕜' _inst_13)))) (AddCommGroup.toAddCommMonoid.{u1} F' (SeminormedAddCommGroup.toAddCommGroup.{u1} F' _inst_5)) (NormedSpace.toModule.{u3, u1} 𝕜' F' _inst_13 _inst_5 _inst_15)))))) (k₂ x) (g' x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.smul Asymptotics.IsLittleO.smulₓ'. -/
+theorem IsLittleO.smul (h₁ : k₁ =o[l] k₂) (h₂ : f' =o[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
   refine' ((h₁.norm_norm.mul h₂.norm_norm).congr _ _).of_norm_norm <;>
     · intros <;> simp only [norm_smul]
-#align asymptotics.is_o.smul Asymptotics.IsOCat.smul
+#align asymptotics.is_o.smul Asymptotics.IsLittleO.smul
 
 end Smul
 
@@ -1756,113 +3656,210 @@ section Sum
 
 variable {ι : Type _} {A : ι → α → E'} {C : ι → ℝ} {s : Finset ι}
 
-theorem IsOWith.sum (h : ∀ i ∈ s, IsOWith (C i) l (A i) g) :
-    IsOWith (∑ i in s, C i) l (fun x => ∑ i in s, A i x) g :=
+/- warning: asymptotics.is_O_with.sum -> Asymptotics.IsBigOWith.sum is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {ι : Type.{u4}} {A : ι -> α -> E'} {C : ι -> Real} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.Mem.{u4, u4} ι (Finset.{u4} ι) (Finset.hasMem.{u4} ι) i s) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (C i) l (A i) g)) -> (Asymptotics.IsBigOWith.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 (Finset.sum.{0, u4} Real ι Real.addCommMonoid s (fun (i : ι) => C i)) l (fun (x : α) => Finset.sum.{u3, u4} E' ι (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) s (fun (i : ι) => A i x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {ι : Type.{u4}} {A : ι -> α -> E'} {C : ι -> Real} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.mem.{u4, u4} ι (Finset.{u4} ι) (Finset.instMembershipFinset.{u4} ι) i s) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (C i) l (A i) g)) -> (Asymptotics.IsBigOWith.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 (Finset.sum.{0, u4} Real ι Real.instAddCommMonoidReal s (fun (i : ι) => C i)) l (fun (x : α) => Finset.sum.{u2, u4} E' ι (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) s (fun (i : ι) => A i x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.sum Asymptotics.IsBigOWith.sumₓ'. -/
+theorem IsBigOWith.sum (h : ∀ 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 :=
   by
   induction' s using Finset.induction_on with i s is IH
   · simp only [is_O_with_zero', Finset.sum_empty, forall_true_iff]
   · simp only [is, Finset.sum_insert, not_false_iff]
     exact (h _ (Finset.mem_insert_self i s)).add (IH fun j hj => h _ (Finset.mem_insert_of_mem hj))
-#align asymptotics.is_O_with.sum Asymptotics.IsOWith.sum
-
-theorem IsO.sum (h : ∀ i ∈ s, A i =O[l] g) : (fun x => ∑ i in s, A i x) =O[l] g :=
+#align asymptotics.is_O_with.sum Asymptotics.IsBigOWith.sum
+
+/- warning: asymptotics.is_O.sum -> Asymptotics.IsBigO.sum is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_4 : SeminormedAddCommGroup.{u3} E'] {g : α -> F} {l : Filter.{u1} α} {ι : Type.{u4}} {A : ι -> α -> E'} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.Mem.{u4, u4} ι (Finset.{u4} ι) (Finset.hasMem.{u4} ι) i s) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (A i) g)) -> (Asymptotics.IsBigO.{u1, u3, u2} α E' F (SeminormedAddCommGroup.toHasNorm.{u3} E' _inst_4) _inst_2 l (fun (x : α) => Finset.sum.{u3, u4} E' ι (AddCommGroup.toAddCommMonoid.{u3} E' (SeminormedAddCommGroup.toAddCommGroup.{u3} E' _inst_4)) s (fun (i : ι) => A i x)) g)
+but is expected to have type
+  forall {α : Type.{u3}} {F : Type.{u1}} {E' : Type.{u2}} [_inst_2 : Norm.{u1} F] [_inst_4 : SeminormedAddCommGroup.{u2} E'] {g : α -> F} {l : Filter.{u3} α} {ι : Type.{u4}} {A : ι -> α -> E'} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.mem.{u4, u4} ι (Finset.{u4} ι) (Finset.instMembershipFinset.{u4} ι) i s) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (A i) g)) -> (Asymptotics.IsBigO.{u3, u2, u1} α E' F (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) _inst_2 l (fun (x : α) => Finset.sum.{u2, u4} E' ι (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) s (fun (i : ι) => A i x)) g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.sum Asymptotics.IsBigO.sumₓ'. -/
+theorem IsBigO.sum (h : ∀ i ∈ s, A i =O[l] g) : (fun x => ∑ i in s, A i x) =O[l] g :=
   by
   unfold is_O at *
   choose! C hC using h
   exact ⟨_, is_O_with.sum hC⟩
-#align asymptotics.is_O.sum Asymptotics.IsO.sum
-
-theorem IsOCat.sum (h : ∀ i ∈ s, A i =o[l] g') : (fun x => ∑ i in s, A i x) =o[l] g' :=
+#align asymptotics.is_O.sum Asymptotics.IsBigO.sum
+
+/- warning: asymptotics.is_o.sum -> Asymptotics.IsLittleO.sum is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {F' : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u3} F'] {g' : α -> F'} {l : Filter.{u1} α} {ι : Type.{u4}} {A : ι -> α -> E'} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.Mem.{u4, u4} ι (Finset.{u4} ι) (Finset.hasMem.{u4} ι) i s) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (A i) g')) -> (Asymptotics.IsLittleO.{u1, u2, u3} α E' F' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u3} F' _inst_5) l (fun (x : α) => Finset.sum.{u2, u4} E' ι (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) s (fun (i : ι) => A i x)) g')
+but is expected to have type
+  forall {α : Type.{u3}} {E' : Type.{u2}} {F' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_5 : SeminormedAddCommGroup.{u1} F'] {g' : α -> F'} {l : Filter.{u3} α} {ι : Type.{u4}} {A : ι -> α -> E'} {s : Finset.{u4} ι}, (forall (i : ι), (Membership.mem.{u4, u4} ι (Finset.{u4} ι) (Finset.instMembershipFinset.{u4} ι) i s) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (A i) g')) -> (Asymptotics.IsLittleO.{u3, u2, u1} α E' F' (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => Finset.sum.{u2, u4} E' ι (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) s (fun (i : ι) => A i x)) g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.sum Asymptotics.IsLittleO.sumₓ'. -/
+theorem IsLittleO.sum (h : ∀ i ∈ s, A i =o[l] g') : (fun x => ∑ i in s, A i x) =o[l] g' :=
   by
   induction' s using Finset.induction_on with i s is IH
   · simp only [is_o_zero, Finset.sum_empty, forall_true_iff]
   · simp only [is, Finset.sum_insert, not_false_iff]
     exact (h _ (Finset.mem_insert_self i s)).add (IH fun j hj => h _ (Finset.mem_insert_of_mem hj))
-#align asymptotics.is_o.sum Asymptotics.IsOCat.sum
+#align asymptotics.is_o.sum Asymptotics.IsLittleO.sum
 
 end Sum
 
 /-! ### Relation between `f = o(g)` and `f / g → 0` -/
 
 
-theorem IsOCat.tendsto_div_nhds_zero {f g : α → 𝕜} (h : f =o[l] g) :
+/- warning: asymptotics.is_o.tendsto_div_nhds_zero -> Asymptotics.IsLittleO.tendsto_div_nhds_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g) -> (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))))
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.Tendsto.{u2, u1} α 𝕜 (fun (x : α) => HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.tendsto_div_nhds_zero Asymptotics.IsLittleO.tendsto_div_nhds_zeroₓ'. -/
+theorem IsLittleO.tendsto_div_nhds_zero {f g : α → 𝕜} (h : f =o[l] g) :
     Tendsto (fun x => f x / g x) l (𝓝 0) :=
-  (isOCat_one_iff 𝕜).mp <|
+  (isLittleO_one_iff 𝕜).mp <|
     calc
       (fun x => f x / g x) =o[l] fun x => g x / g x := by
         simpa only [div_eq_mul_inv] using h.mul_is_O (is_O_refl _ _)
-      _ =O[l] fun x => (1 : 𝕜) := isO_of_le _ fun x => by simp [div_self_le_one]
+      _ =O[l] fun x => (1 : 𝕜) := isBigO_of_le _ fun x => by simp [div_self_le_one]
       
-#align asymptotics.is_o.tendsto_div_nhds_zero Asymptotics.IsOCat.tendsto_div_nhds_zero
-
-theorem IsOCat.tendsto_inv_smul_nhds_zero [NormedSpace 𝕜 E'] {f : α → E'} {g : α → 𝕜} {l : Filter α}
-    (h : f =o[l] g) : Tendsto (fun x => (g x)⁻¹ • f x) l (𝓝 0) := by
+#align asymptotics.is_o.tendsto_div_nhds_zero Asymptotics.IsLittleO.tendsto_div_nhds_zero
+
+/- warning: asymptotics.is_o.tendsto_inv_smul_nhds_zero -> Asymptotics.IsLittleO.tendsto_inv_smul_nhds_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} {𝕜 : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_12 : NormedField.{u3} 𝕜] [_inst_14 : NormedSpace.{u3, u2} 𝕜 E' _inst_12 _inst_4] {f : α -> E'} {g : α -> 𝕜} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' 𝕜 (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (NormedField.toHasNorm.{u3} 𝕜 _inst_12) l f g) -> (Filter.Tendsto.{u1, u2} α E' (fun (x : α) => SMul.smul.{u3, u2} 𝕜 E' (SMulZeroClass.toHasSmul.{u3, u2} 𝕜 E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (SMulWithZero.toSmulZeroClass.{u3, u2} 𝕜 E' (MulZeroClass.toHasZero.{u3} 𝕜 (MulZeroOneClass.toMulZeroClass.{u3} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (Ring.toSemiring.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u3} 𝕜 (Ring.toSemiring.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12))))) (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (AddCommMonoid.toAddMonoid.{u2} E' (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E' (Ring.toSemiring.{u3} 𝕜 (NormedRing.toRing.{u3} 𝕜 (NormedCommRing.toNormedRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u3, u2} 𝕜 E' _inst_12 _inst_4 _inst_14))))) (Inv.inv.{u3} 𝕜 (DivInvMonoid.toHasInv.{u3} 𝕜 (DivisionRing.toDivInvMonoid.{u3} 𝕜 (NormedDivisionRing.toDivisionRing.{u3} 𝕜 (NormedField.toNormedDivisionRing.{u3} 𝕜 _inst_12)))) (g x)) (f x)) l (nhds.{u2} E' (UniformSpace.toTopologicalSpace.{u2} E' (PseudoMetricSpace.toUniformSpace.{u2} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E' _inst_4))) (OfNat.ofNat.{u2} E' 0 (OfNat.mk.{u2} E' 0 (Zero.zero.{u2} E' (AddZeroClass.toHasZero.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4)))))))))))
+but is expected to have type
+  forall {α : Type.{u1}} {E' : Type.{u2}} {𝕜 : Type.{u3}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] [_inst_12 : NormedField.{u3} 𝕜] [_inst_14 : NormedSpace.{u3, u2} 𝕜 E' _inst_12 _inst_4] {f : α -> E'} {g : α -> 𝕜} {l : Filter.{u1} α}, (Asymptotics.IsLittleO.{u1, u2, u3} α E' 𝕜 (SeminormedAddCommGroup.toNorm.{u2} E' _inst_4) (NormedField.toNorm.{u3} 𝕜 _inst_12) l f g) -> (Filter.Tendsto.{u1, u2} α E' (fun (x : α) => HSMul.hSMul.{u3, u2, u2} 𝕜 E' E' (instHSMul.{u3, u2} 𝕜 E' (SMulZeroClass.toSMul.{u3, u2} 𝕜 E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E' (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E' (Semiring.toMonoidWithZero.{u3} 𝕜 (DivisionSemiring.toSemiring.{u3} 𝕜 (Semifield.toDivisionSemiring.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12))))) (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)))))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E' (DivisionSemiring.toSemiring.{u3} 𝕜 (Semifield.toDivisionSemiring.{u3} 𝕜 (Field.toSemifield.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)))) (AddCommGroup.toAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4)) (NormedSpace.toModule.{u3, u2} 𝕜 E' _inst_12 _inst_4 _inst_14)))))) (Inv.inv.{u3} 𝕜 (Field.toInv.{u3} 𝕜 (NormedField.toField.{u3} 𝕜 _inst_12)) (g x)) (f x)) l (nhds.{u2} E' (UniformSpace.toTopologicalSpace.{u2} E' (PseudoMetricSpace.toUniformSpace.{u2} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E' _inst_4))) (OfNat.ofNat.{u2} E' 0 (Zero.toOfNat0.{u2} E' (NegZeroClass.toZero.{u2} E' (SubNegZeroMonoid.toNegZeroClass.{u2} E' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E' (AddCommGroup.toDivisionAddCommMonoid.{u2} E' (SeminormedAddCommGroup.toAddCommGroup.{u2} E' _inst_4))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.tendsto_inv_smul_nhds_zero Asymptotics.IsLittleO.tendsto_inv_smul_nhds_zeroₓ'. -/
+theorem IsLittleO.tendsto_inv_smul_nhds_zero [NormedSpace 𝕜 E'] {f : α → E'} {g : α → 𝕜}
+    {l : Filter α} (h : f =o[l] g) : Tendsto (fun x => (g x)⁻¹ • f x) l (𝓝 0) := by
   simpa only [div_eq_inv_mul, ← norm_inv, ← norm_smul, ← tendsto_zero_iff_norm_tendsto_zero] using
     h.norm_norm.tendsto_div_nhds_zero
-#align asymptotics.is_o.tendsto_inv_smul_nhds_zero Asymptotics.IsOCat.tendsto_inv_smul_nhds_zero
-
-theorem isOCat_iff_tendsto' {f g : α → 𝕜} (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
+#align asymptotics.is_o.tendsto_inv_smul_nhds_zero Asymptotics.IsLittleO.tendsto_inv_smul_nhds_zero
+
+/- warning: asymptotics.is_o_iff_tendsto' -> Asymptotics.isLittleO_iff_tendsto' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) l) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g) (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))))
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Iff (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) (Filter.Tendsto.{u2, u1} α 𝕜 (fun (x : α) => HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_tendsto' Asymptotics.isLittleO_iff_tendsto'ₓ'. -/
+theorem isLittleO_iff_tendsto' {f g : α → 𝕜} (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
     f =o[l] g ↔ Tendsto (fun x => f x / g x) l (𝓝 0) :=
-  ⟨IsOCat.tendsto_div_nhds_zero, fun h =>
-    (((isOCat_one_iff _).mpr h).mul_isO (isO_refl g l)).congr'
+  ⟨IsLittleO.tendsto_div_nhds_zero, fun h =>
+    (((isLittleO_one_iff _).mpr h).mul_isBigO (isBigO_refl g l)).congr'
       (hgf.mono fun x => div_mul_cancel_of_imp) (eventually_of_forall fun x => one_mul _)⟩
-#align asymptotics.is_o_iff_tendsto' Asymptotics.isOCat_iff_tendsto'
-
-theorem isOCat_iff_tendsto {f g : α → 𝕜} (hgf : ∀ x, g x = 0 → f x = 0) :
+#align asymptotics.is_o_iff_tendsto' Asymptotics.isLittleO_iff_tendsto'
+
+/- warning: asymptotics.is_o_iff_tendsto -> Asymptotics.isLittleO_iff_tendsto is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (forall (x : α), (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g) (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))))
+but is expected to have type
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (forall (x : α), (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u2} 𝕜 _inst_12) l f g) (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (Field.toDiv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSeminormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_tendsto Asymptotics.isLittleO_iff_tendstoₓ'. -/
+theorem isLittleO_iff_tendsto {f g : α → 𝕜} (hgf : ∀ x, g x = 0 → f x = 0) :
     f =o[l] g ↔ Tendsto (fun x => f x / g x) l (𝓝 0) :=
-  isOCat_iff_tendsto' (eventually_of_forall hgf)
-#align asymptotics.is_o_iff_tendsto Asymptotics.isOCat_iff_tendsto
-
+  isLittleO_iff_tendsto' (eventually_of_forall hgf)
+#align asymptotics.is_o_iff_tendsto Asymptotics.isLittleO_iff_tendsto
+
+/- warning: asymptotics.is_o_of_tendsto' -> Asymptotics.isLittleO_of_tendsto' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u1} α (fun (x : α) => (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) l) -> (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g)
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Filter.Tendsto.{u2, u1} α 𝕜 (fun (x : α) => HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) -> (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_of_tendsto' Asymptotics.isLittleO_of_tendsto'ₓ'. -/
 alias is_o_iff_tendsto' ↔ _ is_o_of_tendsto'
-#align asymptotics.is_o_of_tendsto' Asymptotics.isOCat_of_tendsto'
-
+#align asymptotics.is_o_of_tendsto' Asymptotics.isLittleO_of_tendsto'
+
+/- warning: asymptotics.is_o_of_tendsto -> Asymptotics.isLittleO_of_tendsto is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (forall (x : α), (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) -> (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12))))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l f g)
+but is expected to have type
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {f : α -> 𝕜} {g : α -> 𝕜}, (forall (x : α), (Eq.{succ u2} 𝕜 (g x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12)))))))) -> (Eq.{succ u2} 𝕜 (f x) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) -> (Filter.Tendsto.{u1, u2} α 𝕜 (fun (x : α) => HDiv.hDiv.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHDiv.{u2} 𝕜 (Field.toDiv.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))) (f x) (g x)) l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSeminormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 (NormedField.toField.{u2} 𝕜 _inst_12))))))))) -> (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toNorm.{u2} 𝕜 _inst_12) (NormedField.toNorm.{u2} 𝕜 _inst_12) l f g)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_of_tendsto Asymptotics.isLittleO_of_tendstoₓ'. -/
 alias is_o_iff_tendsto ↔ _ is_o_of_tendsto
-#align asymptotics.is_o_of_tendsto Asymptotics.isOCat_of_tendsto
-
-theorem isOCat_const_left_of_ne {c : E''} (hc : c ≠ 0) :
+#align asymptotics.is_o_of_tendsto Asymptotics.isLittleO_of_tendsto
+
+/- warning: asymptotics.is_o_const_left_of_ne -> Asymptotics.isLittleO_const_left_of_ne is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F : Type.{u2}} {E'' : Type.{u3}} [_inst_2 : Norm.{u2} F] [_inst_7 : NormedAddCommGroup.{u3} E''] {g : α -> F} {l : Filter.{u1} α} {c : E''}, (Ne.{succ u3} E'' c (OfNat.ofNat.{u3} E'' 0 (OfNat.mk.{u3} E'' 0 (Zero.zero.{u3} E'' (AddZeroClass.toHasZero.{u3} E'' (AddMonoid.toAddZeroClass.{u3} E'' (SubNegMonoid.toAddMonoid.{u3} E'' (AddGroup.toSubNegMonoid.{u3} E'' (NormedAddGroup.toAddGroup.{u3} E'' (NormedAddCommGroup.toNormedAddGroup.{u3} E'' _inst_7)))))))))) -> (Iff (Asymptotics.IsLittleO.{u1, u3, u2} α E'' F (NormedAddCommGroup.toHasNorm.{u3} E'' _inst_7) _inst_2 l (fun (x : α) => c) g) (Filter.Tendsto.{u1, 0} α Real (fun (x : α) => Norm.norm.{u2} F _inst_2 (g x)) l (Filter.atTop.{0} Real Real.preorder)))
+but is expected to have type
+  forall {α : Type.{u2}} {F : Type.{u1}} {E'' : Type.{u3}} [_inst_2 : Norm.{u1} F] [_inst_7 : NormedAddCommGroup.{u3} E''] {g : α -> F} {l : Filter.{u2} α} {c : E''}, (Ne.{succ u3} E'' c (OfNat.ofNat.{u3} E'' 0 (Zero.toOfNat0.{u3} E'' (NegZeroClass.toZero.{u3} E'' (SubNegZeroMonoid.toNegZeroClass.{u3} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} E'' (AddCommGroup.toDivisionAddCommMonoid.{u3} E'' (NormedAddCommGroup.toAddCommGroup.{u3} E'' _inst_7))))))))) -> (Iff (Asymptotics.IsLittleO.{u2, u3, u1} α E'' F (NormedAddCommGroup.toNorm.{u3} E'' _inst_7) _inst_2 l (fun (x : α) => c) g) (Filter.Tendsto.{u2, 0} α Real (fun (x : α) => Norm.norm.{u1} F _inst_2 (g x)) l (Filter.atTop.{0} Real Real.instPreorderReal)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_left_of_ne Asymptotics.isLittleO_const_left_of_neₓ'. -/
+theorem isLittleO_const_left_of_ne {c : E''} (hc : c ≠ 0) :
     (fun x => c) =o[l] g ↔ Tendsto (fun x => ‖g x‖) l atTop :=
   by
   simp only [← is_o_one_left_iff ℝ]
-  exact ⟨(is_O_const_const (1 : ℝ) hc l).trans_isOCat, (is_O_const_one ℝ c l).trans_isOCat⟩
-#align asymptotics.is_o_const_left_of_ne Asymptotics.isOCat_const_left_of_ne
-
+  exact ⟨(is_O_const_const (1 : ℝ) hc l).trans_isLittleO, (is_O_const_one ℝ c l).trans_isLittleO⟩
+#align asymptotics.is_o_const_left_of_ne Asymptotics.isLittleO_const_left_of_ne
+
+/- warning: asymptotics.is_o_const_left -> Asymptotics.isLittleO_const_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {g'' : α -> F''} {l : Filter.{u1} α} {c : E''}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l (fun (x : α) => c) g'') (Or (Eq.{succ u2} E'' c (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))) (Filter.Tendsto.{u1, 0} α Real (Function.comp.{succ u1, succ u3, 1} α F'' Real (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8)) g'') l (Filter.atTop.{0} Real Real.preorder)))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {g'' : α -> F''} {l : Filter.{u3} α} {c : E''}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l (fun (x : α) => c) g'') (Or (Eq.{succ u2} E'' c (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7))))))))) (Filter.Tendsto.{u3, 0} α Real (Function.comp.{succ u3, succ u1, 1} α F'' Real (Norm.norm.{u1} F'' (NormedAddCommGroup.toNorm.{u1} F'' _inst_8)) g'') l (Filter.atTop.{0} Real Real.instPreorderReal)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_left Asymptotics.isLittleO_const_leftₓ'. -/
 @[simp]
-theorem isOCat_const_left {c : E''} :
+theorem isLittleO_const_left {c : E''} :
     (fun x => c) =o[l] g'' ↔ c = 0 ∨ Tendsto (norm ∘ g'') l atTop :=
   by
   rcases eq_or_ne c 0 with (rfl | hc)
   · simp only [is_o_zero, eq_self_iff_true, true_or_iff]
   · simp only [hc, false_or_iff, is_o_const_left_of_ne hc]
-#align asymptotics.is_o_const_left Asymptotics.isOCat_const_left
-
+#align asymptotics.is_o_const_left Asymptotics.isLittleO_const_left
+
+/- warning: asymptotics.is_o_const_const_iff -> Asymptotics.isLittleO_const_const_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {l : Filter.{u1} α} [_inst_14 : Filter.NeBot.{u1} α l] {d : E''} {c : F''}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) l (fun (x : α) => d) (fun (x : α) => c)) (Eq.{succ u2} E'' d (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {l : Filter.{u3} α} [_inst_14 : Filter.NeBot.{u3} α l] {d : E''} {c : F''}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) l (fun (x : α) => d) (fun (x : α) => c)) (Eq.{succ u2} E'' d (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_const_iff Asymptotics.isLittleO_const_const_iffₓ'. -/
 @[simp]
-theorem isOCat_const_const_iff [NeBot l] {d : E''} {c : F''} :
+theorem isLittleO_const_const_iff [NeBot l] {d : E''} {c : F''} :
     ((fun x => d) =o[l] fun x => c) ↔ d = 0 :=
   by
   have : ¬Tendsto (Function.const α ‖c‖) l atTop :=
     not_tendsto_atTop_of_tendsto_nhds tendsto_const_nhds
   simp [Function.const, this]
-#align asymptotics.is_o_const_const_iff Asymptotics.isOCat_const_const_iff
-
+#align asymptotics.is_o_const_const_iff Asymptotics.isLittleO_const_const_iff
+
+/- warning: asymptotics.is_o_pure -> Asymptotics.isLittleO_pure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''} {x : α}, Iff (Asymptotics.IsLittleO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α x) f'' g'') (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f'' : α -> E''} {g'' : α -> F''} {x : α}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (Pure.pure.{u3, u3} Filter.{u3} Filter.instPureFilter.{u3} α x) f'' g'') (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pure Asymptotics.isLittleO_pureₓ'. -/
 @[simp]
-theorem isOCat_pure {x} : f'' =o[pure x] g'' ↔ f'' x = 0 :=
+theorem isLittleO_pure {x} : f'' =o[pure x] g'' ↔ f'' x = 0 :=
   calc
-    f'' =o[pure x] g'' ↔ (fun y : α => f'' x) =o[pure x] fun _ => g'' x := isOCat_congr rfl rfl
-    _ ↔ f'' x = 0 := isOCat_const_const_iff
+    f'' =o[pure x] g'' ↔ (fun y : α => f'' x) =o[pure x] fun _ => g'' x := isLittleO_congr rfl rfl
+    _ ↔ f'' x = 0 := isLittleO_const_const_iff
     
-#align asymptotics.is_o_pure Asymptotics.isOCat_pure
-
-theorem isOCat_const_id_comap_norm_atTop (c : F'') : (fun x : E'' => c) =o[comap norm atTop] id :=
-  isOCat_const_left.2 <| Or.inr tendsto_comap
-#align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isOCat_const_id_comap_norm_atTop
-
-theorem isOCat_const_id_atTop (c : E'') : (fun x : ℝ => c) =o[atTop] id :=
-  isOCat_const_left.2 <| Or.inr tendsto_abs_atTop_atTop
-#align asymptotics.is_o_const_id_at_top Asymptotics.isOCat_const_id_atTop
-
-theorem isOCat_const_id_atBot (c : E'') : (fun x : ℝ => c) =o[atBot] id :=
-  isOCat_const_left.2 <| Or.inr tendsto_abs_atBot_atTop
-#align asymptotics.is_o_const_id_at_bot Asymptotics.isOCat_const_id_atBot
+#align asymptotics.is_o_pure Asymptotics.isLittleO_pure
+
+/- warning: asymptotics.is_o_const_id_comap_norm_at_top -> Asymptotics.isLittleO_const_id_comap_norm_atTop is a dubious translation:
+lean 3 declaration is
+  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] (c : F''), Asymptotics.IsLittleO.{u1, u2, u1} E'' F'' E'' (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (Filter.comap.{u1, 0} E'' Real (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7)) (Filter.atTop.{0} Real Real.preorder)) (fun (x : E'') => c) (id.{succ u1} E'')
+but is expected to have type
+  forall {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] (c : F''), Asymptotics.IsLittleO.{u2, u1, u2} E'' F'' E'' (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (Filter.comap.{u2, 0} E'' Real (Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7)) (Filter.atTop.{0} Real Real.instPreorderReal)) (fun (x : E'') => c) (id.{succ u2} E'')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isLittleO_const_id_comap_norm_atTopₓ'. -/
+theorem isLittleO_const_id_comap_norm_atTop (c : F'') :
+    (fun x : E'' => c) =o[comap norm atTop] id :=
+  isLittleO_const_left.2 <| Or.inr tendsto_comap
+#align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isLittleO_const_id_comap_norm_atTop
+
+/- warning: asymptotics.is_o_const_id_at_top -> Asymptotics.isLittleO_const_id_atTop is a dubious translation:
+lean 3 declaration is
+  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] (c : E''), Asymptotics.IsLittleO.{0, u1, 0} Real E'' Real (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) Real.hasNorm (Filter.atTop.{0} Real Real.preorder) (fun (x : Real) => c) (id.{1} Real)
+but is expected to have type
+  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] (c : E''), Asymptotics.IsLittleO.{0, u1, 0} Real E'' Real (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) Real.norm (Filter.atTop.{0} Real Real.instPreorderReal) (fun (x : Real) => c) (id.{1} Real)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_id_at_top Asymptotics.isLittleO_const_id_atTopₓ'. -/
+theorem isLittleO_const_id_atTop (c : E'') : (fun x : ℝ => c) =o[atTop] id :=
+  isLittleO_const_left.2 <| Or.inr tendsto_abs_atTop_atTop
+#align asymptotics.is_o_const_id_at_top Asymptotics.isLittleO_const_id_atTop
+
+/- warning: asymptotics.is_o_const_id_at_bot -> Asymptotics.isLittleO_const_id_atBot is a dubious translation:
+lean 3 declaration is
+  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] (c : E''), Asymptotics.IsLittleO.{0, u1, 0} Real E'' Real (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) Real.hasNorm (Filter.atBot.{0} Real Real.preorder) (fun (x : Real) => c) (id.{1} Real)
+but is expected to have type
+  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] (c : E''), Asymptotics.IsLittleO.{0, u1, 0} Real E'' Real (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) Real.norm (Filter.atBot.{0} Real Real.instPreorderReal) (fun (x : Real) => c) (id.{1} Real)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_const_id_at_bot Asymptotics.isLittleO_const_id_atBotₓ'. -/
+theorem isLittleO_const_id_atBot (c : E'') : (fun x : ℝ => c) =o[atBot] id :=
+  isLittleO_const_left.2 <| Or.inr tendsto_abs_atBot_atTop
+#align asymptotics.is_o_const_id_at_bot Asymptotics.isLittleO_const_id_atBot
 
 /-!
 ### Eventually (u / v) * v = u
@@ -1876,20 +3873,38 @@ section EventuallyMulDivCancel
 
 variable {u v : α → 𝕜}
 
-theorem IsOWith.eventually_mul_div_cancel (h : IsOWith c l u v) : u / v * v =ᶠ[l] u :=
+/- warning: asymptotics.is_O_with.eventually_mul_div_cancel -> Asymptotics.IsBigOWith.eventually_mul_div_cancel is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l u v) -> (Filter.EventuallyEq.{u1, u2} α 𝕜 l (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) (HDiv.hDiv.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u1 u2} (α -> 𝕜) (Pi.instDiv.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))))) u v) v) u)
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigOWith.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l u v) -> (Filter.EventuallyEq.{u2, u1} α 𝕜 l (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) (HDiv.hDiv.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u2 u1} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) u v) v) u)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.eventually_mul_div_cancel Asymptotics.IsBigOWith.eventually_mul_div_cancelₓ'. -/
+theorem IsBigOWith.eventually_mul_div_cancel (h : IsBigOWith c l u v) : u / v * v =ᶠ[l] u :=
   Eventually.mono h.bound fun y hy => div_mul_cancel_of_imp fun hv => by simpa [hv] using hy
-#align asymptotics.is_O_with.eventually_mul_div_cancel Asymptotics.IsOWith.eventually_mul_div_cancel
-
+#align asymptotics.is_O_with.eventually_mul_div_cancel Asymptotics.IsBigOWith.eventually_mul_div_cancel
+
+/- warning: asymptotics.is_O.eventually_mul_div_cancel -> Asymptotics.IsBigO.eventually_mul_div_cancel is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Filter.EventuallyEq.{u1, u2} α 𝕜 l (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) (HDiv.hDiv.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u1 u2} (α -> 𝕜) (Pi.instDiv.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))))) u v) v) u)
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Filter.EventuallyEq.{u2, u1} α 𝕜 l (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) (HDiv.hDiv.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u2 u1} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) u v) v) u)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.eventually_mul_div_cancel Asymptotics.IsBigO.eventually_mul_div_cancelₓ'. -/
 /-- If `u = O(v)` along `l`, then `(u / v) * v = u` eventually at `l`. -/
-theorem IsO.eventually_mul_div_cancel (h : u =O[l] v) : u / v * v =ᶠ[l] u :=
-  let ⟨c, hc⟩ := h.IsOWith
+theorem IsBigO.eventually_mul_div_cancel (h : u =O[l] v) : u / v * v =ᶠ[l] u :=
+  let ⟨c, hc⟩ := h.IsBigOWith
   hc.eventually_mul_div_cancel
-#align asymptotics.is_O.eventually_mul_div_cancel Asymptotics.IsO.eventually_mul_div_cancel
-
+#align asymptotics.is_O.eventually_mul_div_cancel Asymptotics.IsBigO.eventually_mul_div_cancel
+
+/- warning: asymptotics.is_o.eventually_mul_div_cancel -> Asymptotics.IsLittleO.eventually_mul_div_cancel is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Filter.EventuallyEq.{u1, u2} α 𝕜 l (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) (HDiv.hDiv.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u1 u2} (α -> 𝕜) (Pi.instDiv.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => DivInvMonoid.toHasDiv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (NormedDivisionRing.toDivisionRing.{u2} 𝕜 (NormedField.toNormedDivisionRing.{u2} 𝕜 _inst_12)))))) u v) v) u)
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Filter.EventuallyEq.{u2, u1} α 𝕜 l (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) (HDiv.hDiv.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u2 u1} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) u v) v) u)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.eventually_mul_div_cancel Asymptotics.IsLittleO.eventually_mul_div_cancelₓ'. -/
 /-- If `u = o(v)` along `l`, then `(u / v) * v = u` eventually at `l`. -/
-theorem IsOCat.eventually_mul_div_cancel (h : u =o[l] v) : u / v * v =ᶠ[l] u :=
-  (h.forall_isOWith zero_lt_one).eventually_mul_div_cancel
-#align asymptotics.is_o.eventually_mul_div_cancel Asymptotics.IsOCat.eventually_mul_div_cancel
+theorem IsLittleO.eventually_mul_div_cancel (h : u =o[l] v) : u / v * v =ᶠ[l] u :=
+  (h.forall_isBigOWith zero_lt_one).eventually_mul_div_cancel
+#align asymptotics.is_o.eventually_mul_div_cancel Asymptotics.IsLittleO.eventually_mul_div_cancel
 
 end EventuallyMulDivCancel
 
@@ -1900,19 +3915,31 @@ section ExistsMulEq
 
 variable {u v : α → 𝕜}
 
+/- warning: asymptotics.is_O_with_of_eq_mul -> Asymptotics.isBigOWith_of_eq_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜} (φ : α -> 𝕜), (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) -> (Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v)) -> (Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l u v)
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜} (φ : α -> 𝕜), (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) -> (Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v)) -> (Asymptotics.IsBigOWith.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l u v)
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mulₓ'. -/
 /-- If `‖φ‖` is eventually bounded by `c`, and `u =ᶠ[l] φ * v`, then we have `is_O_with c u v l`.
     This does not require any assumptions on `c`, which is why we keep this version along with
     `is_O_with_iff_exists_eq_mul`. -/
-theorem isOWith_of_eq_mul (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c) (h : u =ᶠ[l] φ * v) :
-    IsOWith c l u v := by
+theorem isBigOWith_of_eq_mul (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c) (h : u =ᶠ[l] φ * v) :
+    IsBigOWith c l u v := by
   unfold is_O_with
   refine' h.symm.rw (fun x a => ‖a‖ ≤ c * ‖v x‖) (hφ.mono fun x hx => _)
   simp only [norm_mul, Pi.mul_apply]
   exact mul_le_mul_of_nonneg_right hx (norm_nonneg _)
-#align asymptotics.is_O_with_of_eq_mul Asymptotics.isOWith_of_eq_mul
-
-theorem isOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
-    IsOWith c l u v ↔ ∃ (φ : α → 𝕜)(hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
+#align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mul
+
+/- warning: asymptotics.is_O_with_iff_exists_eq_mul -> Asymptotics.isBigOWith_iff_exists_eq_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Iff (Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l u v) (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) (fun (hφ : Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v)))))
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Iff (Asymptotics.IsBigOWith.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) (fun (hφ : Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v)))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_iff_exists_eq_mul Asymptotics.isBigOWith_iff_exists_eq_mulₓ'. -/
+theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
+    IsBigOWith c l u v ↔ ∃ (φ : α → 𝕜)(hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
   by
   constructor
   · intro h
@@ -1921,14 +3948,26 @@ theorem isOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
     simpa using div_le_of_nonneg_of_le_mul (norm_nonneg _) hc hy
   · rintro ⟨φ, hφ, h⟩
     exact is_O_with_of_eq_mul φ hφ h
-#align asymptotics.is_O_with_iff_exists_eq_mul Asymptotics.isOWith_iff_exists_eq_mul
-
-theorem IsOWith.exists_eq_mul (h : IsOWith c l u v) (hc : 0 ≤ c) :
+#align asymptotics.is_O_with_iff_exists_eq_mul Asymptotics.isBigOWith_iff_exists_eq_mul
+
+/- warning: asymptotics.is_O_with.exists_eq_mul -> Asymptotics.IsBigOWith.exists_eq_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {c : Real} {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigOWith.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) c l u v) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) c) -> (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) (fun (hφ : Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (φ x)) c) l) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {c : Real} {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigOWith.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) c l u v) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) c) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) (fun (hφ : Filter.Eventually.{u2} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (φ x)) c) l) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.exists_eq_mul Asymptotics.IsBigOWith.exists_eq_mulₓ'. -/
+theorem IsBigOWith.exists_eq_mul (h : IsBigOWith c l u v) (hc : 0 ≤ c) :
     ∃ (φ : α → 𝕜)(hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
-  (isOWith_iff_exists_eq_mul hc).mp h
-#align asymptotics.is_O_with.exists_eq_mul Asymptotics.IsOWith.exists_eq_mul
-
-theorem isO_iff_exists_eq_mul :
+  (isBigOWith_iff_exists_eq_mul hc).mp h
+#align asymptotics.is_O_with.exists_eq_mul Asymptotics.IsBigOWith.exists_eq_mul
+
+/- warning: asymptotics.is_O_iff_exists_eq_mul -> Asymptotics.isBigO_iff_exists_eq_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isBigO_iff_exists_eq_mulₓ'. -/
+theorem isBigO_iff_exists_eq_mul :
     u =O[l] v ↔ ∃ (φ : α → 𝕜)(hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v :=
   by
   constructor
@@ -1938,12 +3977,24 @@ theorem isO_iff_exists_eq_mul :
     exact ⟨φ, ⟨c, hφ⟩, huvφ⟩
   · rintro ⟨φ, ⟨c, hφ⟩, huvφ⟩
     exact is_O_iff_is_O_with.2 ⟨c, is_O_with_of_eq_mul φ hφ huvφ⟩
-#align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isO_iff_exists_eq_mul
-
+#align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isBigO_iff_exists_eq_mul
+
+/- warning: asymptotics.is_O.exists_eq_mul -> Asymptotics.IsBigO.exists_eq_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u1} Real α (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u1, succ u2, 1} α 𝕜 Real (Norm.norm.{u2} 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) (fun (hφ : Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51589 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.51591) l (Function.comp.{succ u2, succ u1, 1} α 𝕜 Real (Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12)) φ)) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mulₓ'. -/
 alias is_O_iff_exists_eq_mul ↔ is_O.exists_eq_mul _
-#align asymptotics.is_O.exists_eq_mul Asymptotics.IsO.exists_eq_mul
-
-theorem isOCat_iff_exists_eq_mul :
+#align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
+
+/- warning: asymptotics.is_o_iff_exists_eq_mul -> Asymptotics.isLittleO_iff_exists_eq_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Tendsto.{u1, u2} α 𝕜 φ l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) (fun (hφ : Filter.Tendsto.{u1, u2} α 𝕜 φ l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, Iff (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Tendsto.{u2, u1} α 𝕜 φ l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) (fun (hφ : Filter.Tendsto.{u2, u1} α 𝕜 φ l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mulₓ'. -/
+theorem isLittleO_iff_exists_eq_mul :
     u =o[l] v ↔ ∃ (φ : α → 𝕜)(hφ : Tendsto φ l (𝓝 0)), u =ᶠ[l] φ * v :=
   by
   constructor
@@ -1952,26 +4003,44 @@ theorem isOCat_iff_exists_eq_mul :
     rintro ⟨φ, hφ, huvφ⟩ c hpos
     rw [NormedAddCommGroup.tendsto_nhds_zero] at hφ
     exact is_O_with_of_eq_mul _ ((hφ c hpos).mono fun x => le_of_lt) huvφ
-#align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isOCat_iff_exists_eq_mul
-
+#align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mul
+
+/- warning: asymptotics.is_o.exists_eq_mul -> Asymptotics.IsLittleO.exists_eq_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} [_inst_12 : NormedField.{u2} 𝕜] {l : Filter.{u1} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u2} α 𝕜 𝕜 (NormedField.toHasNorm.{u2} 𝕜 _inst_12) (NormedField.toHasNorm.{u2} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u1) (succ u2)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Tendsto.{u1, u2} α 𝕜 φ l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) (fun (hφ : Filter.Tendsto.{u1, u2} α 𝕜 φ l (nhds.{u2} 𝕜 (UniformSpace.toTopologicalSpace.{u2} 𝕜 (PseudoMetricSpace.toUniformSpace.{u2} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u2} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u2} 𝕜 (NormedCommRing.toSeminormedCommRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12)))))) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))))))))) => Filter.EventuallyEq.{u1, u2} α 𝕜 l u (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u1 u2} (α -> 𝕜) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Distrib.toHasMul.{u2} 𝕜 (Ring.toDistrib.{u2} 𝕜 (NormedRing.toRing.{u2} 𝕜 (NormedCommRing.toNormedRing.{u2} 𝕜 (NormedField.toNormedCommRing.{u2} 𝕜 _inst_12))))))) φ v))))
+but is expected to have type
+  forall {α : Type.{u2}} {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {l : Filter.{u2} α} {u : α -> 𝕜} {v : α -> 𝕜}, (Asymptotics.IsLittleO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l u v) -> (Exists.{max (succ u2) (succ u1)} (α -> 𝕜) (fun (φ : α -> 𝕜) => Exists.{0} (Filter.Tendsto.{u2, u1} α 𝕜 φ l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) (fun (hφ : Filter.Tendsto.{u2, u1} α 𝕜 φ l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) => Filter.EventuallyEq.{u2, u1} α 𝕜 l u (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHMul.{max u2 u1} (α -> 𝕜) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => NonUnitalNonAssocRing.toMul.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))) φ v))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.exists_eq_mul Asymptotics.IsLittleO.exists_eq_mulₓ'. -/
 alias is_o_iff_exists_eq_mul ↔ is_o.exists_eq_mul _
-#align asymptotics.is_o.exists_eq_mul Asymptotics.IsOCat.exists_eq_mul
+#align asymptotics.is_o.exists_eq_mul Asymptotics.IsLittleO.exists_eq_mul
 
 end ExistsMulEq
 
 /-! ### Miscellanous lemmas -/
 
 
-theorem div_isBoundedUnder_of_isO {α : Type _} {l : Filter α} {f g : α → 𝕜} (h : f =O[l] g) :
+/- warning: asymptotics.div_is_bounded_under_of_is_O -> Asymptotics.div_isBoundedUnder_of_isBigO is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12))))) (f x) (g x))))
+but is expected to have type
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) -> (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52010 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52012 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52010 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52012) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.div_is_bounded_under_of_is_O Asymptotics.div_isBoundedUnder_of_isBigOₓ'. -/
+theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α → 𝕜} (h : f =O[l] g) :
     IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ :=
   by
   obtain ⟨c, h₀, hc⟩ := h.exists_nonneg
   refine' ⟨c, eventually_map.2 (hc.bound.mono fun x hx => _)⟩
   rw [norm_div]
   exact div_le_of_nonneg_of_le_mul (norm_nonneg _) h₀ hx
-#align asymptotics.div_is_bounded_under_of_is_O Asymptotics.div_isBoundedUnder_of_isO
-
-theorem isO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α → 𝕜}
+#align asymptotics.div_is_bounded_under_of_is_O Asymptotics.div_isBoundedUnder_of_isBigO
+
+/- warning: asymptotics.is_O_iff_div_is_bounded_under -> Asymptotics.isBigO_iff_div_isBoundedUnder is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (LE.le.{0} Real Real.hasLe) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12))))) (f x) (g x)))))
+but is expected to have type
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (Iff (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g) (Filter.IsBoundedUnder.{0, u2} Real α (fun (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52244 : Real) (x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52246 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52244 x._@.Mathlib.Analysis.Asymptotics.Asymptotics._hyg.52246) l (fun (x : α) => Norm.norm.{u1} 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))) (f x) (g x)))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_iff_div_is_bounded_under Asymptotics.isBigO_iff_div_isBoundedUnderₓ'. -/
+theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
     f =O[l] g ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ :=
   by
@@ -1982,57 +4051,111 @@ theorem isO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α → 
   by_cases hgx : g x = 0
   · simp [hx₁ hgx, hgx]
   · exact (div_le_iff (norm_pos_iff.2 hgx)).mp hx₂
-#align asymptotics.is_O_iff_div_is_bounded_under Asymptotics.isO_iff_div_isBoundedUnder
-
-theorem isO_of_div_tendsto_nhds {α : Type _} {l : Filter α} {f g : α → 𝕜}
+#align asymptotics.is_O_iff_div_is_bounded_under Asymptotics.isBigO_iff_div_isBoundedUnder
+
+/- warning: asymptotics.is_O_of_div_tendsto_nhds -> Asymptotics.isBigO_of_div_tendsto_nhds is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12))))))))))))) l) -> (forall (c : 𝕜), (Filter.Tendsto.{u2, u1} α 𝕜 (HDiv.hDiv.{max u2 u1, max u2 u1, max u2 u1} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u2 u1} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_12)))))) f g) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) c)) -> (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) l f g))
+but is expected to have type
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {α : Type.{u2}} {l : Filter.{u2} α} {f : α -> 𝕜} {g : α -> 𝕜}, (Filter.Eventually.{u2} α (fun (x : α) => (Eq.{succ u1} 𝕜 (g x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) -> (Eq.{succ u1} 𝕜 (f x) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12))))))))) l) -> (forall (c : 𝕜), (Filter.Tendsto.{u2, u1} α 𝕜 (HDiv.hDiv.{max u1 u2, max u1 u2, max u1 u2} (α -> 𝕜) (α -> 𝕜) (α -> 𝕜) (instHDiv.{max u1 u2} (α -> 𝕜) (Pi.instDiv.{u2, u1} α (fun (ᾰ : α) => 𝕜) (fun (i : α) => Field.toDiv.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))) f g) l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) c)) -> (Asymptotics.IsBigO.{u2, u1, u1} α 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) l f g))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_of_div_tendsto_nhds Asymptotics.isBigO_of_div_tendsto_nhdsₓ'. -/
+theorem isBigO_of_div_tendsto_nhds {α : Type _} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) (c : 𝕜) (H : Filter.Tendsto (f / g) l (𝓝 c)) : f =O[l] g :=
-  (isO_iff_div_isBoundedUnder hgf).2 <| H.norm.isBoundedUnder_le
-#align asymptotics.is_O_of_div_tendsto_nhds Asymptotics.isO_of_div_tendsto_nhds
-
-theorem IsOCat.tendsto_zero_of_tendsto {α E 𝕜 : Type _} [NormedAddCommGroup E] [NormedField 𝕜]
+  (isBigO_iff_div_isBoundedUnder hgf).2 <| H.norm.isBoundedUnder_le
+#align asymptotics.is_O_of_div_tendsto_nhds Asymptotics.isBigO_of_div_tendsto_nhds
+
+/- warning: asymptotics.is_o.tendsto_zero_of_tendsto -> Asymptotics.IsLittleO.tendsto_zero_of_tendsto is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {𝕜 : Type.{u3}} [_inst_14 : NormedAddCommGroup.{u2} E] [_inst_15 : NormedField.{u3} 𝕜] {u : α -> E} {v : α -> 𝕜} {l : Filter.{u1} α} {y : 𝕜}, (Asymptotics.IsLittleO.{u1, u2, u3} α E 𝕜 (NormedAddCommGroup.toHasNorm.{u2} E _inst_14) (NormedField.toHasNorm.{u3} 𝕜 _inst_15) l u v) -> (Filter.Tendsto.{u1, u3} α 𝕜 v l (nhds.{u3} 𝕜 (UniformSpace.toTopologicalSpace.{u3} 𝕜 (PseudoMetricSpace.toUniformSpace.{u3} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u3} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u3} 𝕜 (NormedCommRing.toSeminormedCommRing.{u3} 𝕜 (NormedField.toNormedCommRing.{u3} 𝕜 _inst_15)))))) y)) -> (Filter.Tendsto.{u1, u2} α E u l (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_14)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (NormedAddGroup.toAddGroup.{u2} E (NormedAddCommGroup.toNormedAddGroup.{u2} E _inst_14)))))))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {𝕜 : Type.{u1}} [_inst_14 : NormedAddCommGroup.{u2} E] [_inst_15 : NormedField.{u1} 𝕜] {u : α -> E} {v : α -> 𝕜} {l : Filter.{u3} α} {y : 𝕜}, (Asymptotics.IsLittleO.{u3, u2, u1} α E 𝕜 (NormedAddCommGroup.toNorm.{u2} E _inst_14) (NormedField.toNorm.{u1} 𝕜 _inst_15) l u v) -> (Filter.Tendsto.{u3, u1} α 𝕜 v l (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_15)))))) y)) -> (Filter.Tendsto.{u3, u2} α E u l (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_14)))) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_14))))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.tendsto_zero_of_tendsto Asymptotics.IsLittleO.tendsto_zero_of_tendstoₓ'. -/
+theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type _} [NormedAddCommGroup E] [NormedField 𝕜]
     {u : α → E} {v : α → 𝕜} {l : Filter α} {y : 𝕜} (huv : u =o[l] v) (hv : Tendsto v l (𝓝 y)) :
     Tendsto u l (𝓝 0) := by
   suffices h : u =o[l] fun x => (1 : 𝕜)
   · rwa [is_o_one_iff] at h
   exact huv.trans_is_O (hv.is_O_one 𝕜)
-#align asymptotics.is_o.tendsto_zero_of_tendsto Asymptotics.IsOCat.tendsto_zero_of_tendsto
-
-theorem isOCat_pow_pow {m n : ℕ} (h : m < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x ^ m :=
+#align asymptotics.is_o.tendsto_zero_of_tendsto Asymptotics.IsLittleO.tendsto_zero_of_tendsto
+
+/- warning: asymptotics.is_o_pow_pow -> Asymptotics.isLittleO_pow_pow is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {m : Nat} {n : Nat}, (LT.lt.{0} Nat Nat.hasLt m n) -> (Asymptotics.IsLittleO.{u1, u1, u1} 𝕜 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) x n) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) x m))
+but is expected to have type
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {m : Nat} {n : Nat}, (LT.lt.{0} Nat instLTNat m n) -> (Asymptotics.IsLittleO.{u1, u1, u1} 𝕜 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) x n) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) x m))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pow_pow Asymptotics.isLittleO_pow_powₓ'. -/
+theorem isLittleO_pow_pow {m n : ℕ} (h : m < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x ^ m :=
   by
   rcases lt_iff_exists_add.1 h with ⟨p, hp0 : 0 < p, rfl⟩
   suffices (fun x : 𝕜 => x ^ m * x ^ p) =o[𝓝 0] fun x => x ^ m * 1 ^ p by
     simpa only [pow_add, one_pow, mul_one]
   exact is_O.mul_is_o (is_O_refl _ _) (is_o.pow ((is_o_one_iff _).2 tendsto_id) hp0)
-#align asymptotics.is_o_pow_pow Asymptotics.isOCat_pow_pow
-
-theorem isOCat_norm_pow_norm_pow {m n : ℕ} (h : m < n) :
+#align asymptotics.is_o_pow_pow Asymptotics.isLittleO_pow_pow
+
+/- warning: asymptotics.is_o_norm_pow_norm_pow -> Asymptotics.isLittleO_norm_pow_norm_pow is a dubious translation:
+lean 3 declaration is
+  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {m : Nat} {n : Nat}, (LT.lt.{0} Nat Nat.hasLt m n) -> (Asymptotics.IsLittleO.{u1, 0, 0} E' Real Real Real.hasNorm Real.hasNorm (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) (OfNat.ofNat.{u1} E' 0 (OfNat.mk.{u1} E' 0 (Zero.zero.{u1} E' (AddZeroClass.toHasZero.{u1} E' (AddMonoid.toAddZeroClass.{u1} E' (SubNegMonoid.toAddMonoid.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4)))))))))) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) x) n) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) x) m))
+but is expected to have type
+  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {m : Nat} {n : Nat}, (LT.lt.{0} Nat instLTNat m n) -> (Asymptotics.IsLittleO.{u1, 0, 0} E' Real Real Real.norm Real.norm (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) (OfNat.ofNat.{u1} E' 0 (Zero.toOfNat0.{u1} E' (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4))))))))) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) x) n) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) x) m))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_pow_norm_pow Asymptotics.isLittleO_norm_pow_norm_powₓ'. -/
+theorem isLittleO_norm_pow_norm_pow {m n : ℕ} (h : m < n) :
     (fun x : E' => ‖x‖ ^ n) =o[𝓝 0] fun x => ‖x‖ ^ m :=
-  (isOCat_pow_pow h).comp_tendsto tendsto_norm_zero
-#align asymptotics.is_o_norm_pow_norm_pow Asymptotics.isOCat_norm_pow_norm_pow
-
-theorem isOCat_pow_id {n : ℕ} (h : 1 < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x :=
+  (isLittleO_pow_pow h).comp_tendsto tendsto_norm_zero
+#align asymptotics.is_o_norm_pow_norm_pow Asymptotics.isLittleO_norm_pow_norm_pow
+
+/- warning: asymptotics.is_o_pow_id -> Asymptotics.isLittleO_pow_id is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) n) -> (Asymptotics.IsLittleO.{u1, u1, u1} 𝕜 𝕜 𝕜 (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (NormedField.toHasNorm.{u1} 𝕜 _inst_12) (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSemiNormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))))))))) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) x n) (fun (x : 𝕜) => x))
+but is expected to have type
+  forall {𝕜 : Type.{u1}} [_inst_12 : NormedField.{u1} 𝕜] {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) n) -> (Asymptotics.IsLittleO.{u1, u1, u1} 𝕜 𝕜 𝕜 (NormedField.toNorm.{u1} 𝕜 _inst_12) (NormedField.toNorm.{u1} 𝕜 _inst_12) (nhds.{u1} 𝕜 (UniformSpace.toTopologicalSpace.{u1} 𝕜 (PseudoMetricSpace.toUniformSpace.{u1} 𝕜 (SeminormedRing.toPseudoMetricSpace.{u1} 𝕜 (SeminormedCommRing.toSeminormedRing.{u1} 𝕜 (NormedCommRing.toSeminormedCommRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_12)))))) (OfNat.ofNat.{u1} 𝕜 0 (Zero.toOfNat0.{u1} 𝕜 (CommMonoidWithZero.toZero.{u1} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u1} 𝕜 (Semifield.toCommGroupWithZero.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) (fun (x : 𝕜) => HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_12)))))))) x n) (fun (x : 𝕜) => x))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pow_id Asymptotics.isLittleO_pow_idₓ'. -/
+theorem isLittleO_pow_id {n : ℕ} (h : 1 < n) : (fun x : 𝕜 => x ^ n) =o[𝓝 0] fun x => x :=
   by
   convert is_o_pow_pow h
   simp only [pow_one]
-#align asymptotics.is_o_pow_id Asymptotics.isOCat_pow_id
-
-theorem isOCat_norm_pow_id {n : ℕ} (h : 1 < n) : (fun x : E' => ‖x‖ ^ n) =o[𝓝 0] fun x => x := by
+#align asymptotics.is_o_pow_id Asymptotics.isLittleO_pow_id
+
+/- warning: asymptotics.is_o_norm_pow_id -> Asymptotics.isLittleO_norm_pow_id is a dubious translation:
+lean 3 declaration is
+  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) n) -> (Asymptotics.IsLittleO.{u1, 0, u1} E' Real E' Real.hasNorm (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) (OfNat.ofNat.{u1} E' 0 (OfNat.mk.{u1} E' 0 (Zero.zero.{u1} E' (AddZeroClass.toHasZero.{u1} E' (AddMonoid.toAddZeroClass.{u1} E' (SubNegMonoid.toAddMonoid.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4)))))))))) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) x) n) (fun (x : E') => x))
+but is expected to have type
+  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) n) -> (Asymptotics.IsLittleO.{u1, 0, u1} E' Real E' Real.norm (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) (OfNat.ofNat.{u1} E' 0 (Zero.toOfNat0.{u1} E' (NegZeroClass.toZero.{u1} E' (SubNegZeroMonoid.toNegZeroClass.{u1} E' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E' (AddCommGroup.toDivisionAddCommMonoid.{u1} E' (SeminormedAddCommGroup.toAddCommGroup.{u1} E' _inst_4))))))))) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) x) n) (fun (x : E') => x))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_norm_pow_id Asymptotics.isLittleO_norm_pow_idₓ'. -/
+theorem isLittleO_norm_pow_id {n : ℕ} (h : 1 < n) : (fun x : E' => ‖x‖ ^ n) =o[𝓝 0] fun x => x := by
   simpa only [pow_one, is_o_norm_right] using @is_o_norm_pow_norm_pow E' _ _ _ h
-#align asymptotics.is_o_norm_pow_id Asymptotics.isOCat_norm_pow_id
-
-theorem IsO.eq_zero_of_norm_pow_within {f : E'' → F''} {s : Set E''} {x₀ : E''} {n : ℕ}
+#align asymptotics.is_o_norm_pow_id Asymptotics.isLittleO_norm_pow_id
+
+/- warning: asymptotics.is_O.eq_zero_of_norm_pow_within -> Asymptotics.IsBigO.eq_zero_of_norm_pow_within is a dubious translation:
+lean 3 declaration is
+  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : E'' -> F''} {s : Set.{u1} E''} {x₀ : E''} {n : Nat}, (Asymptotics.IsBigO.{u1, u2, 0} E'' F'' Real (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) Real.hasNorm (nhdsWithin.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) x₀ s) f (fun (x : E'') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (HSub.hSub.{u1, u1, u1} E'' E'' E'' (instHSub.{u1} E'' (SubNegMonoid.toHasSub.{u1} E'' (AddGroup.toSubNegMonoid.{u1} E'' (NormedAddGroup.toAddGroup.{u1} E'' (NormedAddCommGroup.toNormedAddGroup.{u1} E'' _inst_7))))) x x₀)) n)) -> (Membership.Mem.{u1, u1} E'' (Set.{u1} E'') (Set.hasMem.{u1} E'') x₀ s) -> (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u2} F'' (f x₀) (OfNat.ofNat.{u2} F'' 0 (OfNat.mk.{u2} F'' 0 (Zero.zero.{u2} F'' (AddZeroClass.toHasZero.{u2} F'' (AddMonoid.toAddZeroClass.{u2} F'' (SubNegMonoid.toAddMonoid.{u2} F'' (AddGroup.toSubNegMonoid.{u2} F'' (NormedAddGroup.toAddGroup.{u2} F'' (NormedAddCommGroup.toNormedAddGroup.{u2} F'' _inst_8))))))))))
+but is expected to have type
+  forall {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : E'' -> F''} {s : Set.{u2} E''} {x₀ : E''} {n : Nat}, (Asymptotics.IsBigO.{u2, u1, 0} E'' F'' Real (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) Real.norm (nhdsWithin.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) x₀ s) f (fun (x : E'') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (HSub.hSub.{u2, u2, u2} E'' E'' E'' (instHSub.{u2} E'' (SubNegMonoid.toSub.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))) x x₀)) n)) -> (Membership.mem.{u2, u2} E'' (Set.{u2} E'') (Set.instMembershipSet.{u2} E'') x₀ s) -> (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u1} F'' (f x₀) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8)))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.eq_zero_of_norm_pow_within Asymptotics.IsBigO.eq_zero_of_norm_pow_withinₓ'. -/
+theorem IsBigO.eq_zero_of_norm_pow_within {f : E'' → F''} {s : Set E''} {x₀ : E''} {n : ℕ}
     (h : f =O[𝓝[s] x₀] fun x => ‖x - x₀‖ ^ n) (hx₀ : x₀ ∈ s) (hn : 0 < n) : f x₀ = 0 :=
   mem_of_mem_nhdsWithin hx₀ h.eq_zero_imp <| by simp_rw [sub_self, norm_zero, zero_pow hn]
-#align asymptotics.is_O.eq_zero_of_norm_pow_within Asymptotics.IsO.eq_zero_of_norm_pow_within
-
-theorem IsO.eq_zero_of_norm_pow {f : E'' → F''} {x₀ : E''} {n : ℕ}
+#align asymptotics.is_O.eq_zero_of_norm_pow_within Asymptotics.IsBigO.eq_zero_of_norm_pow_within
+
+/- warning: asymptotics.is_O.eq_zero_of_norm_pow -> Asymptotics.IsBigO.eq_zero_of_norm_pow is a dubious translation:
+lean 3 declaration is
+  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : E'' -> F''} {x₀ : E''} {n : Nat}, (Asymptotics.IsBigO.{u1, u2, 0} E'' F'' Real (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) Real.hasNorm (nhds.{u1} E'' (UniformSpace.toTopologicalSpace.{u1} E'' (PseudoMetricSpace.toUniformSpace.{u1} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E'' _inst_7)))) x₀) f (fun (x : E'') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (HSub.hSub.{u1, u1, u1} E'' E'' E'' (instHSub.{u1} E'' (SubNegMonoid.toHasSub.{u1} E'' (AddGroup.toSubNegMonoid.{u1} E'' (NormedAddGroup.toAddGroup.{u1} E'' (NormedAddCommGroup.toNormedAddGroup.{u1} E'' _inst_7))))) x x₀)) n)) -> (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u2} F'' (f x₀) (OfNat.ofNat.{u2} F'' 0 (OfNat.mk.{u2} F'' 0 (Zero.zero.{u2} F'' (AddZeroClass.toHasZero.{u2} F'' (AddMonoid.toAddZeroClass.{u2} F'' (SubNegMonoid.toAddMonoid.{u2} F'' (AddGroup.toSubNegMonoid.{u2} F'' (NormedAddGroup.toAddGroup.{u2} F'' (NormedAddCommGroup.toNormedAddGroup.{u2} F'' _inst_8))))))))))
+but is expected to have type
+  forall {E'' : Type.{u2}} {F'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : E'' -> F''} {x₀ : E''} {n : Nat}, (Asymptotics.IsBigO.{u2, u1, 0} E'' F'' Real (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) Real.norm (nhds.{u2} E'' (UniformSpace.toTopologicalSpace.{u2} E'' (PseudoMetricSpace.toUniformSpace.{u2} E'' (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E'' (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E'' _inst_7)))) x₀) f (fun (x : E'') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (HSub.hSub.{u2, u2, u2} E'' E'' E'' (instHSub.{u2} E'' (SubNegMonoid.toSub.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))) x x₀)) n)) -> (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u1} F'' (f x₀) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8)))))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_powₓ'. -/
+theorem IsBigO.eq_zero_of_norm_pow {f : E'' → F''} {x₀ : E''} {n : ℕ}
     (h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n) (hn : 0 < n) : f x₀ = 0 :=
   by
   rw [← nhdsWithin_univ] at h
   exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
-#align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsO.eq_zero_of_norm_pow
-
-theorem isOCat_pow_sub_pow_sub (x₀ : E') {n m : ℕ} (h : n < m) :
+#align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_pow
+
+/- warning: asymptotics.is_o_pow_sub_pow_sub -> Asymptotics.isLittleO_pow_sub_pow_sub is a dubious translation:
+lean 3 declaration is
+  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] (x₀ : E') {n : Nat} {m : Nat}, (LT.lt.{0} Nat Nat.hasLt n m) -> (Asymptotics.IsLittleO.{u1, 0, 0} E' Real Real Real.hasNorm Real.hasNorm (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) x₀) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toHasSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) m) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toHasSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) n))
+but is expected to have type
+  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] (x₀ : E') {n : Nat} {m : Nat}, (LT.lt.{0} Nat instLTNat n m) -> (Asymptotics.IsLittleO.{u1, 0, 0} E' Real Real Real.norm Real.norm (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) x₀) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) m) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) n))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pow_sub_pow_sub Asymptotics.isLittleO_pow_sub_pow_subₓ'. -/
+theorem isLittleO_pow_sub_pow_sub (x₀ : E') {n m : ℕ} (h : n < m) :
     (fun x => ‖x - x₀‖ ^ m) =o[𝓝 x₀] fun x => ‖x - x₀‖ ^ n :=
   haveI : tendsto (fun x => ‖x - x₀‖) (𝓝 x₀) (𝓝 0) :=
     by
@@ -2040,41 +4163,79 @@ theorem isOCat_pow_sub_pow_sub (x₀ : E') {n m : ℕ} (h : n < m) :
     rw [← sub_self x₀]
     exact tendsto_id.sub tendsto_const_nhds
   (is_o_pow_pow h).comp_tendsto this
-#align asymptotics.is_o_pow_sub_pow_sub Asymptotics.isOCat_pow_sub_pow_sub
-
-theorem isOCat_pow_sub_sub (x₀ : E') {m : ℕ} (h : 1 < m) :
+#align asymptotics.is_o_pow_sub_pow_sub Asymptotics.isLittleO_pow_sub_pow_sub
+
+/- warning: asymptotics.is_o_pow_sub_sub -> Asymptotics.isLittleO_pow_sub_sub is a dubious translation:
+lean 3 declaration is
+  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] (x₀ : E') {m : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) m) -> (Asymptotics.IsLittleO.{u1, 0, u1} E' Real E' Real.hasNorm (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) x₀) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toHasNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toHasSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) m) (fun (x : E') => HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toHasSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀))
+but is expected to have type
+  forall {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] (x₀ : E') {m : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) m) -> (Asymptotics.IsLittleO.{u1, 0, u1} E' Real E' Real.norm (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (nhds.{u1} E' (UniformSpace.toTopologicalSpace.{u1} E' (PseudoMetricSpace.toUniformSpace.{u1} E' (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E' _inst_4))) x₀) (fun (x : E') => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀)) m) (fun (x : E') => HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) x x₀))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pow_sub_sub Asymptotics.isLittleO_pow_sub_subₓ'. -/
+theorem isLittleO_pow_sub_sub (x₀ : E') {m : ℕ} (h : 1 < m) :
     (fun x => ‖x - x₀‖ ^ m) =o[𝓝 x₀] fun x => x - x₀ := by
   simpa only [is_o_norm_right, pow_one] using is_o_pow_sub_pow_sub x₀ h
-#align asymptotics.is_o_pow_sub_sub Asymptotics.isOCat_pow_sub_sub
-
-theorem IsOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsOWith c l f₁ f₂) (hc : c < 1) :
-    IsOWith (1 / (1 - c)) l f₂ fun x => f₂ x - f₁ x :=
-  IsOWith.of_bound <|
+#align asymptotics.is_o_pow_sub_sub Asymptotics.isLittleO_pow_sub_sub
+
+/- warning: asymptotics.is_O_with.right_le_sub_of_lt_1 -> Asymptotics.IsBigOWith.right_le_sub_of_lt_1 is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) c l f₁ f₂) -> (LT.lt.{0} Real Real.hasLt c (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (Asymptotics.IsBigOWith.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) c)) l f₂ (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toHasSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {l : Filter.{u2} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) c l f₁ f₂) -> (LT.lt.{0} Real Real.instLTReal c (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (Asymptotics.IsBigOWith.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.instSubReal) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) c)) l f₂ (fun (x : α) => HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) (f₂ x) (f₁ x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_1ₓ'. -/
+theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
+    IsBigOWith (1 / (1 - c)) l f₂ fun x => f₂ x - f₁ x :=
+  IsBigOWith.of_bound <|
     mem_of_superset h.bound fun x hx =>
       by
       simp only [mem_set_of_eq] at hx⊢
       rw [mul_comm, one_div, ← div_eq_mul_inv, le_div_iff, mul_sub, mul_one, mul_comm]
       · exact le_trans (sub_le_sub_left hx _) (norm_sub_norm_le _ _)
       · exact sub_pos.2 hc
-#align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsOWith.right_le_sub_of_lt_1
-
-theorem IsOWith.right_le_add_of_lt_1 {f₁ f₂ : α → E'} (h : IsOWith c l f₁ f₂) (hc : c < 1) :
-    IsOWith (1 / (1 - c)) l f₂ fun x => f₁ x + f₂ x :=
+#align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_1
+
+/- warning: asymptotics.is_O_with.right_le_add_of_lt_1 -> Asymptotics.IsBigOWith.right_le_add_of_lt_1 is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {c : Real} {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) c l f₁ f₂) -> (LT.lt.{0} Real Real.hasLt c (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (Asymptotics.IsBigOWith.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) c)) l f₂ (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toHasAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {c : Real} {l : Filter.{u2} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsBigOWith.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) c l f₁ f₂) -> (LT.lt.{0} Real Real.instLTReal c (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (Asymptotics.IsBigOWith.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.instSubReal) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) c)) l f₂ (fun (x : α) => HAdd.hAdd.{u1, u1, u1} E' E' E' (instHAdd.{u1} E' (AddZeroClass.toAdd.{u1} E' (AddMonoid.toAddZeroClass.{u1} E' (SubNegMonoid.toAddMonoid.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))))) (f₁ x) (f₂ x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_1ₓ'. -/
+theorem IsBigOWith.right_le_add_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
+    IsBigOWith (1 / (1 - c)) l f₂ fun x => f₁ x + f₂ x :=
   (h.neg_right.right_le_sub_of_lt_1 hc).neg_right.of_neg_left.congr rfl (fun x => rfl) fun x => by
     rw [neg_sub, sub_neg_eq_add]
-#align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsOWith.right_le_add_of_lt_1
-
-theorem IsOCat.right_isO_sub {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) : f₂ =O[l] fun x => f₂ x - f₁ x :=
-  ((h.def' one_half_pos).right_le_sub_of_lt_1 one_half_lt_one).IsO
-#align asymptotics.is_o.right_is_O_sub Asymptotics.IsOCat.right_isO_sub
-
-theorem IsOCat.right_isO_add {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) : f₂ =O[l] fun x => f₁ x + f₂ x :=
-  ((h.def' one_half_pos).right_le_add_of_lt_1 one_half_lt_one).IsO
-#align asymptotics.is_o.right_is_O_add Asymptotics.IsOCat.right_isO_add
-
+#align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_1
+
+/- warning: asymptotics.is_o.right_is_O_sub -> Asymptotics.IsLittleO.right_isBigO_sub is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f₁ f₂) -> (Asymptotics.IsBigO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f₂ (fun (x : α) => HSub.hSub.{u2, u2, u2} E' E' E' (instHSub.{u2} E' (SubNegMonoid.toHasSub.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))) (f₂ x) (f₁ x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {l : Filter.{u2} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f₁ f₂) -> (Asymptotics.IsBigO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f₂ (fun (x : α) => HSub.hSub.{u1, u1, u1} E' E' E' (instHSub.{u1} E' (SubNegMonoid.toSub.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))) (f₂ x) (f₁ x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.right_is_O_sub Asymptotics.IsLittleO.right_isBigO_subₓ'. -/
+theorem IsLittleO.right_isBigO_sub {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
+    f₂ =O[l] fun x => f₂ x - f₁ x :=
+  ((h.def' one_half_pos).right_le_sub_of_lt_1 one_half_lt_one).IsBigO
+#align asymptotics.is_o.right_is_O_sub Asymptotics.IsLittleO.right_isBigO_sub
+
+/- warning: asymptotics.is_o.right_is_O_add -> Asymptotics.IsLittleO.right_isBigO_add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E' : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} E'] {l : Filter.{u1} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f₁ f₂) -> (Asymptotics.IsBigO.{u1, u2, u2} α E' E' (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) (SeminormedAddCommGroup.toHasNorm.{u2} E' _inst_4) l f₂ (fun (x : α) => HAdd.hAdd.{u2, u2, u2} E' E' E' (instHAdd.{u2} E' (AddZeroClass.toHasAdd.{u2} E' (AddMonoid.toAddZeroClass.{u2} E' (SubNegMonoid.toAddMonoid.{u2} E' (AddGroup.toSubNegMonoid.{u2} E' (SeminormedAddGroup.toAddGroup.{u2} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} E' _inst_4))))))) (f₁ x) (f₂ x)))
+but is expected to have type
+  forall {α : Type.{u2}} {E' : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} E'] {l : Filter.{u2} α} {f₁ : α -> E'} {f₂ : α -> E'}, (Asymptotics.IsLittleO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f₁ f₂) -> (Asymptotics.IsBigO.{u2, u1, u1} α E' E' (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) (SeminormedAddCommGroup.toNorm.{u1} E' _inst_4) l f₂ (fun (x : α) => HAdd.hAdd.{u1, u1, u1} E' E' E' (instHAdd.{u1} E' (AddZeroClass.toAdd.{u1} E' (AddMonoid.toAddZeroClass.{u1} E' (SubNegMonoid.toAddMonoid.{u1} E' (AddGroup.toSubNegMonoid.{u1} E' (SeminormedAddGroup.toAddGroup.{u1} E' (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} E' _inst_4))))))) (f₁ x) (f₂ x)))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o.right_is_O_add Asymptotics.IsLittleO.right_isBigO_addₓ'. -/
+theorem IsLittleO.right_isBigO_add {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
+    f₂ =O[l] fun x => f₁ x + f₂ x :=
+  ((h.def' one_half_pos).right_le_add_of_lt_1 one_half_lt_one).IsBigO
+#align asymptotics.is_o.right_is_O_add Asymptotics.IsLittleO.right_isBigO_add
+
+/- warning: asymptotics.bound_of_is_O_cofinite -> Asymptotics.bound_of_isBigO_cofinite is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E : Type.{u2}} {F'' : Type.{u3}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u3} F''] {f : α -> E} {g'' : α -> F''}, (Asymptotics.IsBigO.{u1, u2, u3} α E F'' _inst_1 (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Filter.cofinite.{u1} α) f g'') -> (Exists.{1} Real (fun (C : Real) => Exists.{0} (GT.gt.{0} Real Real.hasLt C (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (fun (H : GT.gt.{0} Real Real.hasLt C (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) => forall {{x : α}}, (Ne.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (g'' x)))))))
+but is expected to have type
+  forall {α : Type.{u3}} {E : Type.{u2}} {F'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_8 : NormedAddCommGroup.{u1} F''] {f : α -> E} {g'' : α -> F''}, (Asymptotics.IsBigO.{u3, u2, u1} α E F'' _inst_1 (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (Filter.cofinite.{u3} α) f g'') -> (Exists.{1} Real (fun (C : Real) => And (GT.gt.{0} Real Real.instLTReal C (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (forall {{x : α}}, (Ne.{succ u1} F'' (g'' x) (OfNat.ofNat.{u1} F'' 0 (Zero.toOfNat0.{u1} F'' (NegZeroClass.toZero.{u1} F'' (SubNegZeroMonoid.toNegZeroClass.{u1} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} F'' (AddCommGroup.toDivisionAddCommMonoid.{u1} F'' (NormedAddCommGroup.toAddCommGroup.{u1} F'' _inst_8))))))))) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} F'' (NormedAddCommGroup.toNorm.{u1} F'' _inst_8) (g'' x)))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.bound_of_is_O_cofinite Asymptotics.bound_of_isBigO_cofiniteₓ'. -/
 /-- If `f x = O(g x)` along `cofinite`, then there exists a positive constant `C` such that
 `‖f x‖ ≤ C * ‖g x‖` whenever `g x ≠ 0`. -/
-theorem bound_of_isO_cofinite (h : f =O[cofinite] g'') :
+theorem bound_of_isBigO_cofinite (h : f =O[cofinite] g'') :
     ∃ C > 0, ∀ ⦃x⦄, g'' x ≠ 0 → ‖f x‖ ≤ C * ‖g'' x‖ :=
   by
   rcases h.exists_pos with ⟨C, C₀, hC⟩
@@ -2084,69 +4245,124 @@ theorem bound_of_isO_cofinite (h : f =O[cofinite] g'') :
   refine' ⟨max C C', lt_max_iff.2 (Or.inl C₀), fun x h₀ => _⟩
   rw [max_mul_of_nonneg _ _ (norm_nonneg _), le_max_iff, or_iff_not_imp_left, not_le]
   exact fun hx => (div_le_iff (norm_pos_iff.2 h₀)).1 (this _ hx)
-#align asymptotics.bound_of_is_O_cofinite Asymptotics.bound_of_isO_cofinite
-
-theorem isO_cofinite_iff (h : ∀ x, g'' x = 0 → f'' x = 0) :
+#align asymptotics.bound_of_is_O_cofinite Asymptotics.bound_of_isBigO_cofinite
+
+/- warning: asymptotics.is_O_cofinite_iff -> Asymptotics.isBigO_cofinite_iff is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''}, (forall (x : α), (Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (OfNat.mk.{u3} F'' 0 (Zero.zero.{u3} F'' (AddZeroClass.toHasZero.{u3} F'' (AddMonoid.toAddZeroClass.{u3} F'' (SubNegMonoid.toAddMonoid.{u3} F'' (AddGroup.toSubNegMonoid.{u3} F'' (NormedAddGroup.toAddGroup.{u3} F'' (NormedAddCommGroup.toNormedAddGroup.{u3} F'' _inst_8)))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7))))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (Filter.cofinite.{u1} α) f'' g'') (Exists.{1} Real (fun (C : Real) => forall (x : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (f'' x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u3} F'' (NormedAddCommGroup.toHasNorm.{u3} F'' _inst_8) (g'' x))))))
+but is expected to have type
+  forall {α : Type.{u1}} {E'' : Type.{u2}} {F'' : Type.{u3}} [_inst_7 : NormedAddCommGroup.{u2} E''] [_inst_8 : NormedAddCommGroup.{u3} F''] {f'' : α -> E''} {g'' : α -> F''}, (forall (x : α), (Eq.{succ u3} F'' (g'' x) (OfNat.ofNat.{u3} F'' 0 (Zero.toOfNat0.{u3} F'' (NegZeroClass.toZero.{u3} F'' (SubNegZeroMonoid.toNegZeroClass.{u3} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u3} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u3} F'' (AddCommGroup.toDivisionAddCommMonoid.{u3} F'' (NormedAddCommGroup.toAddCommGroup.{u3} F'' _inst_8))))))))) -> (Eq.{succ u2} E'' (f'' x) (OfNat.ofNat.{u2} E'' 0 (Zero.toOfNat0.{u2} E'' (NegZeroClass.toZero.{u2} E'' (SubNegZeroMonoid.toNegZeroClass.{u2} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} E'' (AddCommGroup.toDivisionAddCommMonoid.{u2} E'' (NormedAddCommGroup.toAddCommGroup.{u2} E'' _inst_7)))))))))) -> (Iff (Asymptotics.IsBigO.{u1, u2, u3} α E'' F'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) (Filter.cofinite.{u1} α) f'' g'') (Exists.{1} Real (fun (C : Real) => forall (x : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E'' (NormedAddCommGroup.toNorm.{u2} E'' _inst_7) (f'' x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u3} F'' (NormedAddCommGroup.toNorm.{u3} F'' _inst_8) (g'' x))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_cofinite_iff Asymptotics.isBigO_cofinite_iffₓ'. -/
+theorem isBigO_cofinite_iff (h : ∀ x, g'' x = 0 → f'' x = 0) :
     f'' =O[cofinite] g'' ↔ ∃ C, ∀ x, ‖f'' x‖ ≤ C * ‖g'' x‖ :=
   ⟨fun h' =>
-    let ⟨C, C₀, hC⟩ := bound_of_isO_cofinite h'
+    let ⟨C, C₀, hC⟩ := bound_of_isBigO_cofinite h'
     ⟨C, fun x => if hx : g'' x = 0 then by simp [h _ hx, hx] else hC hx⟩,
-    fun h => (isO_top.2 h).mono le_top⟩
-#align asymptotics.is_O_cofinite_iff Asymptotics.isO_cofinite_iff
-
-theorem bound_of_isO_nat_atTop {f : ℕ → E} {g'' : ℕ → E''} (h : f =O[atTop] g'') :
+    fun h => (isBigO_top.2 h).mono le_top⟩
+#align asymptotics.is_O_cofinite_iff Asymptotics.isBigO_cofinite_iff
+
+/- warning: asymptotics.bound_of_is_O_nat_at_top -> Asymptotics.bound_of_isBigO_nat_atTop is a dubious translation:
+lean 3 declaration is
+  forall {E : Type.{u1}} {E'' : Type.{u2}} [_inst_1 : Norm.{u1} E] [_inst_7 : NormedAddCommGroup.{u2} E''] {f : Nat -> E} {g'' : Nat -> E''}, (Asymptotics.IsBigO.{0, u1, u2} Nat E E'' _inst_1 (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) f g'') -> (Exists.{1} Real (fun (C : Real) => Exists.{0} (GT.gt.{0} Real Real.hasLt C (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (fun (H : GT.gt.{0} Real Real.hasLt C (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) => forall {{x : Nat}}, (Ne.{succ u2} E'' (g'' x) (OfNat.ofNat.{u2} E'' 0 (OfNat.mk.{u2} E'' 0 (Zero.zero.{u2} E'' (AddZeroClass.toHasZero.{u2} E'' (AddMonoid.toAddZeroClass.{u2} E'' (SubNegMonoid.toAddMonoid.{u2} E'' (AddGroup.toSubNegMonoid.{u2} E'' (NormedAddGroup.toAddGroup.{u2} E'' (NormedAddCommGroup.toNormedAddGroup.{u2} E'' _inst_7)))))))))) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u2} E'' (NormedAddCommGroup.toHasNorm.{u2} E'' _inst_7) (g'' x)))))))
+but is expected to have type
+  forall {E : Type.{u2}} {E'' : Type.{u1}} [_inst_1 : Norm.{u2} E] [_inst_7 : NormedAddCommGroup.{u1} E''] {f : Nat -> E} {g'' : Nat -> E''}, (Asymptotics.IsBigO.{0, u2, u1} Nat E E'' _inst_1 (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) f g'') -> (Exists.{1} Real (fun (C : Real) => And (GT.gt.{0} Real Real.instLTReal C (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (forall {{x : Nat}}, (Ne.{succ u1} E'' (g'' x) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7))))))))) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} E _inst_1 (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u1} E'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (g'' x)))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.bound_of_is_O_nat_at_top Asymptotics.bound_of_isBigO_nat_atTopₓ'. -/
+theorem bound_of_isBigO_nat_atTop {f : ℕ → E} {g'' : ℕ → E''} (h : f =O[atTop] g'') :
     ∃ C > 0, ∀ ⦃x⦄, g'' x ≠ 0 → ‖f x‖ ≤ C * ‖g'' x‖ :=
-  bound_of_isO_cofinite <| by rwa [Nat.cofinite_eq_atTop]
-#align asymptotics.bound_of_is_O_nat_at_top Asymptotics.bound_of_isO_nat_atTop
-
-theorem isO_nat_atTop_iff {f : ℕ → E''} {g : ℕ → F''} (h : ∀ x, g x = 0 → f x = 0) :
+  bound_of_isBigO_cofinite <| by rwa [Nat.cofinite_eq_atTop]
+#align asymptotics.bound_of_is_O_nat_at_top Asymptotics.bound_of_isBigO_nat_atTop
+
+/- warning: asymptotics.is_O_nat_at_top_iff -> Asymptotics.isBigO_nat_atTop_iff is a dubious translation:
+lean 3 declaration is
+  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : Nat -> E''} {g : Nat -> F''}, (forall (x : Nat), (Eq.{succ u2} F'' (g x) (OfNat.ofNat.{u2} F'' 0 (OfNat.mk.{u2} F'' 0 (Zero.zero.{u2} F'' (AddZeroClass.toHasZero.{u2} F'' (AddMonoid.toAddZeroClass.{u2} F'' (SubNegMonoid.toAddMonoid.{u2} F'' (AddGroup.toSubNegMonoid.{u2} F'' (NormedAddGroup.toAddGroup.{u2} F'' (NormedAddCommGroup.toNormedAddGroup.{u2} F'' _inst_8)))))))))) -> (Eq.{succ u1} E'' (f x) (OfNat.ofNat.{u1} E'' 0 (OfNat.mk.{u1} E'' 0 (Zero.zero.{u1} E'' (AddZeroClass.toHasZero.{u1} E'' (AddMonoid.toAddZeroClass.{u1} E'' (SubNegMonoid.toAddMonoid.{u1} E'' (AddGroup.toSubNegMonoid.{u1} E'' (NormedAddGroup.toAddGroup.{u1} E'' (NormedAddCommGroup.toNormedAddGroup.{u1} E'' _inst_7))))))))))) -> (Iff (Asymptotics.IsBigO.{0, u1, u2} Nat E'' F'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) f g) (Exists.{1} Real (fun (C : Real) => forall (x : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) C (Norm.norm.{u2} F'' (NormedAddCommGroup.toHasNorm.{u2} F'' _inst_8) (g x))))))
+but is expected to have type
+  forall {E'' : Type.{u1}} {F'' : Type.{u2}} [_inst_7 : NormedAddCommGroup.{u1} E''] [_inst_8 : NormedAddCommGroup.{u2} F''] {f : Nat -> E''} {g : Nat -> F''}, (forall (x : Nat), (Eq.{succ u2} F'' (g x) (OfNat.ofNat.{u2} F'' 0 (Zero.toOfNat0.{u2} F'' (NegZeroClass.toZero.{u2} F'' (SubNegZeroMonoid.toNegZeroClass.{u2} F'' (SubtractionMonoid.toSubNegZeroMonoid.{u2} F'' (SubtractionCommMonoid.toSubtractionMonoid.{u2} F'' (AddCommGroup.toDivisionAddCommMonoid.{u2} F'' (NormedAddCommGroup.toAddCommGroup.{u2} F'' _inst_8))))))))) -> (Eq.{succ u1} E'' (f x) (OfNat.ofNat.{u1} E'' 0 (Zero.toOfNat0.{u1} E'' (NegZeroClass.toZero.{u1} E'' (SubNegZeroMonoid.toNegZeroClass.{u1} E'' (SubtractionMonoid.toSubNegZeroMonoid.{u1} E'' (SubtractionCommMonoid.toSubtractionMonoid.{u1} E'' (AddCommGroup.toDivisionAddCommMonoid.{u1} E'' (NormedAddCommGroup.toAddCommGroup.{u1} E'' _inst_7)))))))))) -> (Iff (Asymptotics.IsBigO.{0, u1, u2} Nat E'' F'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) f g) (Exists.{1} Real (fun (C : Real) => forall (x : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} E'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (f x)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) C (Norm.norm.{u2} F'' (NormedAddCommGroup.toNorm.{u2} F'' _inst_8) (g x))))))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_nat_at_top_iff Asymptotics.isBigO_nat_atTop_iffₓ'. -/
+theorem isBigO_nat_atTop_iff {f : ℕ → E''} {g : ℕ → F''} (h : ∀ x, g x = 0 → f x = 0) :
     f =O[atTop] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ := by
   rw [← Nat.cofinite_eq_atTop, is_O_cofinite_iff h]
-#align asymptotics.is_O_nat_at_top_iff Asymptotics.isO_nat_atTop_iff
-
-theorem isO_one_nat_atTop_iff {f : ℕ → E''} :
+#align asymptotics.is_O_nat_at_top_iff Asymptotics.isBigO_nat_atTop_iff
+
+/- warning: asymptotics.is_O_one_nat_at_top_iff -> Asymptotics.isBigO_one_nat_atTop_iff is a dubious translation:
+lean 3 declaration is
+  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] {f : Nat -> E''}, Iff (Asymptotics.IsBigO.{0, u1, 0} Nat E'' Real (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) Real.hasNorm (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) f (fun (n : Nat) => OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) (Exists.{1} Real (fun (C : Real) => forall (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} E'' (NormedAddCommGroup.toHasNorm.{u1} E'' _inst_7) (f n)) C))
+but is expected to have type
+  forall {E'' : Type.{u1}} [_inst_7 : NormedAddCommGroup.{u1} E''] {f : Nat -> E''}, Iff (Asymptotics.IsBigO.{0, u1, 0} Nat E'' Real (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) Real.norm (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) f (fun (n : Nat) => OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (Exists.{1} Real (fun (C : Real) => forall (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} E'' (NormedAddCommGroup.toNorm.{u1} E'' _inst_7) (f n)) C))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_one_nat_at_top_iff Asymptotics.isBigO_one_nat_atTop_iffₓ'. -/
+theorem isBigO_one_nat_atTop_iff {f : ℕ → E''} :
     f =O[atTop] (fun n => 1 : ℕ → ℝ) ↔ ∃ C, ∀ n, ‖f n‖ ≤ C :=
-  Iff.trans (isO_nat_atTop_iff fun n h => (one_ne_zero h).elim) <| by simp only [norm_one, mul_one]
-#align asymptotics.is_O_one_nat_at_top_iff Asymptotics.isO_one_nat_atTop_iff
-
-theorem isOWith_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
+  Iff.trans (isBigO_nat_atTop_iff fun n h => (one_ne_zero h).elim) <| by
+    simp only [norm_one, mul_one]
+#align asymptotics.is_O_one_nat_at_top_iff Asymptotics.isBigO_one_nat_atTop_iff
+
+/- warning: asymptotics.is_O_with_pi -> Asymptotics.isBigOWith_pi is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] {g' : α -> F'} {l : Filter.{u1} α} {ι : Type.{u3}} [_inst_14 : Fintype.{u3} ι] {E' : ι -> Type.{u4}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u4} (E' i)] {f : α -> (forall (i : ι), E' i)} {C : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) C) -> (Iff (Asymptotics.IsBigOWith.{u1, max u3 u4, u2} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toHasNorm.{max u3 u4} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u3, u4} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) C l f g') (forall (i : ι), Asymptotics.IsBigOWith.{u1, u4, u2} α (E' i) F' (NormedAddCommGroup.toHasNorm.{u4} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) C l (fun (x : α) => f x i) g'))
+but is expected to have type
+  forall {α : Type.{u2}} {F' : Type.{u1}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] {g' : α -> F'} {l : Filter.{u2} α} {ι : Type.{u4}} [_inst_14 : Fintype.{u4} ι] {E' : ι -> Type.{u3}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u3} (E' i)] {f : α -> (forall (i : ι), E' i)} {C : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) C) -> (Iff (Asymptotics.IsBigOWith.{u2, max u4 u3, u1} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toNorm.{max u4 u3} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u4, u3} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) C l f g') (forall (i : ι), Asymptotics.IsBigOWith.{u2, u3, u1} α (E' i) F' (NormedAddCommGroup.toNorm.{u3} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) C l (fun (x : α) => f x i) g'))
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_with_pi Asymptotics.isBigOWith_piₓ'. -/
+theorem isBigOWith_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} {C : ℝ} (hC : 0 ≤ C) :
-    IsOWith C l f g' ↔ ∀ i, IsOWith C l (fun x => f x i) g' :=
+    IsBigOWith C l f g' ↔ ∀ i, IsBigOWith C l (fun x => f x i) g' :=
   by
   have : ∀ x, 0 ≤ C * ‖g' x‖ := fun x => mul_nonneg hC (norm_nonneg _)
   simp only [is_O_with_iff, pi_norm_le_iff_of_nonneg (this _), eventually_all]
-#align asymptotics.is_O_with_pi Asymptotics.isOWith_pi
-
+#align asymptotics.is_O_with_pi Asymptotics.isBigOWith_pi
+
+/- warning: asymptotics.is_O_pi -> Asymptotics.isBigO_pi is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] {g' : α -> F'} {l : Filter.{u1} α} {ι : Type.{u3}} [_inst_14 : Fintype.{u3} ι] {E' : ι -> Type.{u4}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u4} (E' i)] {f : α -> (forall (i : ι), E' i)}, Iff (Asymptotics.IsBigO.{u1, max u3 u4, u2} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toHasNorm.{max u3 u4} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u3, u4} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f g') (forall (i : ι), Asymptotics.IsBigO.{u1, u4, u2} α (E' i) F' (NormedAddCommGroup.toHasNorm.{u4} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l (fun (x : α) => f x i) g')
+but is expected to have type
+  forall {α : Type.{u2}} {F' : Type.{u1}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] {g' : α -> F'} {l : Filter.{u2} α} {ι : Type.{u4}} [_inst_14 : Fintype.{u4} ι] {E' : ι -> Type.{u3}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u3} (E' i)] {f : α -> (forall (i : ι), E' i)}, Iff (Asymptotics.IsBigO.{u2, max u4 u3, u1} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toNorm.{max u4 u3} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u4, u3} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (forall (i : ι), Asymptotics.IsBigO.{u2, u3, u1} α (E' i) F' (NormedAddCommGroup.toNorm.{u3} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => f x i) g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_O_pi Asymptotics.isBigO_piₓ'. -/
 @[simp]
-theorem isO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
+theorem isBigO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} : f =O[l] g' ↔ ∀ i, (fun x => f x i) =O[l] g' :=
   by
   simp only [is_O_iff_eventually_is_O_with, ← eventually_all]
   exact eventually_congr (eventually_at_top.2 ⟨0, fun c => is_O_with_pi⟩)
-#align asymptotics.is_O_pi Asymptotics.isO_pi
-
+#align asymptotics.is_O_pi Asymptotics.isBigO_pi
+
+/- warning: asymptotics.is_o_pi -> Asymptotics.isLittleO_pi is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {F' : Type.{u2}} [_inst_5 : SeminormedAddCommGroup.{u2} F'] {g' : α -> F'} {l : Filter.{u1} α} {ι : Type.{u3}} [_inst_14 : Fintype.{u3} ι] {E' : ι -> Type.{u4}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u4} (E' i)] {f : α -> (forall (i : ι), E' i)}, Iff (Asymptotics.IsLittleO.{u1, max u3 u4, u2} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toHasNorm.{max u3 u4} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u3, u4} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l f g') (forall (i : ι), Asymptotics.IsLittleO.{u1, u4, u2} α (E' i) F' (NormedAddCommGroup.toHasNorm.{u4} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toHasNorm.{u2} F' _inst_5) l (fun (x : α) => f x i) g')
+but is expected to have type
+  forall {α : Type.{u2}} {F' : Type.{u1}} [_inst_5 : SeminormedAddCommGroup.{u1} F'] {g' : α -> F'} {l : Filter.{u2} α} {ι : Type.{u4}} [_inst_14 : Fintype.{u4} ι] {E' : ι -> Type.{u3}} [_inst_15 : forall (i : ι), NormedAddCommGroup.{u3} (E' i)] {f : α -> (forall (i : ι), E' i)}, Iff (Asymptotics.IsLittleO.{u2, max u4 u3, u1} α (forall (i : ι), E' i) F' (NormedAddCommGroup.toNorm.{max u4 u3} (forall (i : ι), E' i) (Pi.normedAddCommGroup.{u4, u3} ι (fun (i : ι) => E' i) _inst_14 (fun (i : ι) => _inst_15 i))) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l f g') (forall (i : ι), Asymptotics.IsLittleO.{u2, u3, u1} α (E' i) F' (NormedAddCommGroup.toNorm.{u3} (E' i) (_inst_15 i)) (SeminormedAddCommGroup.toNorm.{u1} F' _inst_5) l (fun (x : α) => f x i) g')
+Case conversion may be inaccurate. Consider using '#align asymptotics.is_o_pi Asymptotics.isLittleO_piₓ'. -/
 @[simp]
-theorem isOCat_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
+theorem isLittleO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} : f =o[l] g' ↔ ∀ i, (fun x => f x i) =o[l] g' :=
   by
   simp (config := { contextual := true }) only [is_o, is_O_with_pi, le_of_lt]
   exact ⟨fun h i c hc => h hc i, fun h c hc i => h i hc⟩
-#align asymptotics.is_o_pi Asymptotics.isOCat_pi
+#align asymptotics.is_o_pi Asymptotics.isLittleO_pi
 
 end Asymptotics
 
 open Asymptotics
 
-theorem summable_of_isO {ι E} [NormedAddCommGroup E] [CompleteSpace E] {f : ι → E} {g : ι → ℝ}
+/- warning: summable_of_is_O -> summable_of_isBigO is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : CompleteSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))] {f : ι -> E} {g : ι -> Real}, (Summable.{0, u1} Real ι Real.addCommMonoid (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) g) -> (Asymptotics.IsBigO.{u1, u2, 0} ι E Real (NormedAddCommGroup.toHasNorm.{u2} E _inst_1) Real.hasNorm (Filter.cofinite.{u1} ι) f g) -> (Summable.{u2, u1} E ι (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1)) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) f)
+but is expected to have type
+  forall {ι : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : CompleteSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))] {f : ι -> E} {g : ι -> Real}, (Summable.{0, u2} Real ι Real.instAddCommMonoidReal (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) g) -> (Asymptotics.IsBigO.{u2, u1, 0} ι E Real (NormedAddCommGroup.toNorm.{u1} E _inst_1) Real.norm (Filter.cofinite.{u2} ι) f g) -> (Summable.{u1, u2} E ι (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1)) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) f)
+Case conversion may be inaccurate. Consider using '#align summable_of_is_O summable_of_isBigOₓ'. -/
+theorem summable_of_isBigO {ι E} [NormedAddCommGroup E] [CompleteSpace E] {f : ι → E} {g : ι → ℝ}
     (hg : Summable g) (h : f =O[cofinite] g) : Summable f :=
-  let ⟨C, hC⟩ := h.IsOWith
+  let ⟨C, hC⟩ := h.IsBigOWith
   summable_of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.mul_left _) hC.bound
-#align summable_of_is_O summable_of_isO
-
-theorem summable_of_isO_nat {E} [NormedAddCommGroup E] [CompleteSpace E] {f : ℕ → E} {g : ℕ → ℝ}
+#align summable_of_is_O summable_of_isBigO
+
+/- warning: summable_of_is_O_nat -> summable_of_isBigO_nat is a dubious translation:
+lean 3 declaration is
+  forall {E : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : CompleteSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))] {f : Nat -> E} {g : Nat -> Real}, (Summable.{0, 0} Real Nat Real.addCommMonoid (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) g) -> (Asymptotics.IsBigO.{0, u1, 0} Nat E Real (NormedAddCommGroup.toHasNorm.{u1} E _inst_1) Real.hasNorm (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) f g) -> (Summable.{u1, 0} E Nat (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1)) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) f)
+but is expected to have type
+  forall {E : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : CompleteSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))] {f : Nat -> E} {g : Nat -> Real}, (Summable.{0, 0} Real Nat Real.instAddCommMonoidReal (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) g) -> (Asymptotics.IsBigO.{0, u1, 0} Nat E Real (NormedAddCommGroup.toNorm.{u1} E _inst_1) Real.norm (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) f g) -> (Summable.{u1, 0} E Nat (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1)) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) f)
+Case conversion may be inaccurate. Consider using '#align summable_of_is_O_nat summable_of_isBigO_natₓ'. -/
+theorem summable_of_isBigO_nat {E} [NormedAddCommGroup E] [CompleteSpace E] {f : ℕ → E} {g : ℕ → ℝ}
     (hg : Summable g) (h : f =O[atTop] g) : Summable f :=
-  summable_of_isO hg <| Nat.cofinite_eq_atTop.symm ▸ h
-#align summable_of_is_O_nat summable_of_isO_nat
+  summable_of_isBigO hg <| Nat.cofinite_eq_atTop.symm ▸ h
+#align summable_of_is_O_nat summable_of_isBigO_nat
 
 namespace LocalHomeomorph
 
@@ -2154,9 +4370,15 @@ variable {α : Type _} {β : Type _} [TopologicalSpace α] [TopologicalSpace β]
 
 variable {E : Type _} [Norm E] {F : Type _} [Norm F]
 
+/- warning: local_homeomorph.is_O_with_congr -> LocalHomeomorph.isBigOWith_congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β}, (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) b (LocalEquiv.target.{u1, u2} α β (LocalHomeomorph.toLocalEquiv.{u1, u2} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F} {C : Real}, Iff (Asymptotics.IsBigOWith.{u2, u3, u4} β E F _inst_3 _inst_4 C (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsBigOWith.{u1, u3, u4} α E F _inst_3 _inst_4 C (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (LocalHomeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (LocalHomeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e))))
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : LocalHomeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β}, (Membership.mem.{u3, u3} β (Set.{u3} β) (Set.instMembershipSet.{u3} β) b (LocalEquiv.target.{u4, u3} α β (LocalHomeomorph.toLocalEquiv.{u4, u3} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F} {C : Real}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} β E F _inst_3 _inst_4 C (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsBigOWith.{u4, u2, u1} α E F _inst_3 _inst_4 C (nhds.{u4} α _inst_1 (LocalHomeomorph.toFun'.{u3, u4} β α _inst_2 _inst_1 (LocalHomeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e))))
+Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_O_with_congr LocalHomeomorph.isBigOWith_congrₓ'. -/
 /-- Transfer `is_O_with` over a `local_homeomorph`. -/
-theorem isOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F}
-    {C : ℝ} : IsOWith C (𝓝 b) f g ↔ IsOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
+theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
+    {g : β → F} {C : ℝ} : IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
   ⟨fun h =>
     h.comp_tendsto <| by
       convert e.continuous_at (e.map_target hb)
@@ -2165,23 +4387,35 @@ theorem isOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target)
     (h.comp_tendsto (e.continuousAt_symm hb)).congr' rfl
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg f hx)
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg g hx)⟩
-#align local_homeomorph.is_O_with_congr LocalHomeomorph.isOWith_congr
-
+#align local_homeomorph.is_O_with_congr LocalHomeomorph.isBigOWith_congr
+
+/- warning: local_homeomorph.is_O_congr -> LocalHomeomorph.isBigO_congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β}, (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) b (LocalEquiv.target.{u1, u2} α β (LocalHomeomorph.toLocalEquiv.{u1, u2} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsBigO.{u2, u3, u4} β E F _inst_3 _inst_4 (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsBigO.{u1, u3, u4} α E F _inst_3 _inst_4 (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (LocalHomeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (LocalHomeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e))))
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : LocalHomeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β}, (Membership.mem.{u3, u3} β (Set.{u3} β) (Set.instMembershipSet.{u3} β) b (LocalEquiv.target.{u4, u3} α β (LocalHomeomorph.toLocalEquiv.{u4, u3} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsBigO.{u3, u2, u1} β E F _inst_3 _inst_4 (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsBigO.{u4, u2, u1} α E F _inst_3 _inst_4 (nhds.{u4} α _inst_1 (LocalHomeomorph.toFun'.{u3, u4} β α _inst_2 _inst_1 (LocalHomeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e))))
+Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_O_congr LocalHomeomorph.isBigO_congrₓ'. -/
 /-- Transfer `is_O` over a `local_homeomorph`. -/
-theorem isO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F} :
+theorem isBigO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F} :
     f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) :=
   by
   unfold is_O
   exact exists_congr fun C => e.is_O_with_congr hb
-#align local_homeomorph.is_O_congr LocalHomeomorph.isO_congr
-
+#align local_homeomorph.is_O_congr LocalHomeomorph.isBigO_congr
+
+/- warning: local_homeomorph.is_o_congr -> LocalHomeomorph.isLittleO_congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β}, (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) b (LocalEquiv.target.{u1, u2} α β (LocalHomeomorph.toLocalEquiv.{u1, u2} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsLittleO.{u2, u3, u4} β E F _inst_3 _inst_4 (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsLittleO.{u1, u3, u4} α E F _inst_3 _inst_4 (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (LocalHomeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (LocalHomeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (LocalHomeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e))))
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : LocalHomeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β}, (Membership.mem.{u3, u3} β (Set.{u3} β) (Set.instMembershipSet.{u3} β) b (LocalEquiv.target.{u4, u3} α β (LocalHomeomorph.toLocalEquiv.{u4, u3} α β _inst_1 _inst_2 e))) -> (forall {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} β E F _inst_3 _inst_4 (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsLittleO.{u4, u2, u1} α E F _inst_3 _inst_4 (nhds.{u4} α _inst_1 (LocalHomeomorph.toFun'.{u3, u4} β α _inst_2 _inst_1 (LocalHomeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (LocalHomeomorph.toFun'.{u4, u3} α β _inst_1 _inst_2 e))))
+Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_o_congr LocalHomeomorph.isLittleO_congrₓ'. -/
 /-- Transfer `is_o` over a `local_homeomorph`. -/
-theorem isOCat_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F} :
-    f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) :=
+theorem isLittleO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
+    {g : β → F} : f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) :=
   by
   unfold is_o
   exact forall₂_congr fun c hc => e.is_O_with_congr hb
-#align local_homeomorph.is_o_congr LocalHomeomorph.isOCat_congr
+#align local_homeomorph.is_o_congr LocalHomeomorph.isLittleO_congr
 
 end LocalHomeomorph
 
@@ -2193,27 +4427,45 @@ variable {E : Type _} [Norm E] {F : Type _} [Norm F]
 
 open Asymptotics
 
+/- warning: homeomorph.is_O_with_congr -> Homeomorph.isBigOWith_congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : Homeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F} {C : Real}, Iff (Asymptotics.IsBigOWith.{u2, u3, u4} β E F _inst_3 _inst_4 C (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsBigOWith.{u1, u3, u4} α E F _inst_3 _inst_4 C (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Homeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : Homeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (Homeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (Homeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)))
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : Homeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F} {C : Real}, Iff (Asymptotics.IsBigOWith.{u3, u2, u1} β E F _inst_3 _inst_4 C (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsBigOWith.{u4, u2, u1} α E F _inst_3 _inst_4 C (nhds.{u4} α _inst_1 (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β (fun (_x : β) => α) (EmbeddingLike.toFunLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (EquivLike.toEmbeddingLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (Homeomorph.instEquivLikeHomeomorph.{u3, u4} β α _inst_2 _inst_1))) (Homeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)))
+Case conversion may be inaccurate. Consider using '#align homeomorph.is_O_with_congr Homeomorph.isBigOWith_congrₓ'. -/
 /-- Transfer `is_O_with` over a `homeomorph`. -/
-theorem isOWith_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} {C : ℝ} :
-    IsOWith C (𝓝 b) f g ↔ IsOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
-  e.toLocalHomeomorph.isOWith_congr trivial
-#align homeomorph.is_O_with_congr Homeomorph.isOWith_congr
-
+theorem isBigOWith_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} {C : ℝ} :
+    IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
+  e.toLocalHomeomorph.isBigOWith_congr trivial
+#align homeomorph.is_O_with_congr Homeomorph.isBigOWith_congr
+
+/- warning: homeomorph.is_O_congr -> Homeomorph.isBigO_congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : Homeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsBigO.{u2, u3, u4} β E F _inst_3 _inst_4 (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsBigO.{u1, u3, u4} α E F _inst_3 _inst_4 (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Homeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : Homeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (Homeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (Homeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)))
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : Homeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsBigO.{u3, u2, u1} β E F _inst_3 _inst_4 (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsBigO.{u4, u2, u1} α E F _inst_3 _inst_4 (nhds.{u4} α _inst_1 (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β (fun (_x : β) => α) (EmbeddingLike.toFunLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (EquivLike.toEmbeddingLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (Homeomorph.instEquivLikeHomeomorph.{u3, u4} β α _inst_2 _inst_1))) (Homeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)))
+Case conversion may be inaccurate. Consider using '#align homeomorph.is_O_congr Homeomorph.isBigO_congrₓ'. -/
 /-- Transfer `is_O` over a `homeomorph`. -/
-theorem isO_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
+theorem isBigO_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
     f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) :=
   by
   unfold is_O
   exact exists_congr fun C => e.is_O_with_congr
-#align homeomorph.is_O_congr Homeomorph.isO_congr
-
+#align homeomorph.is_O_congr Homeomorph.isBigO_congr
+
+/- warning: homeomorph.is_o_congr -> Homeomorph.isLittleO_congr is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {E : Type.{u3}} [_inst_3 : Norm.{u3} E] {F : Type.{u4}} [_inst_4 : Norm.{u4} F] (e : Homeomorph.{u1, u2} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsLittleO.{u2, u3, u4} β E F _inst_3 _inst_4 (nhds.{u2} β _inst_2 b) f g) (Asymptotics.IsLittleO.{u1, u3, u4} α E F _inst_3 _inst_4 (nhds.{u1} α _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Homeomorph.{u2, u1} β α _inst_2 _inst_1) (fun (_x : Homeomorph.{u2, u1} β α _inst_2 _inst_1) => β -> α) (Homeomorph.hasCoeToFun.{u2, u1} β α _inst_2 _inst_1) (Homeomorph.symm.{u1, u2} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u1, succ u2, succ u3} α β E f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)) (Function.comp.{succ u1, succ u2, succ u4} α β F g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Homeomorph.{u1, u2} α β _inst_1 _inst_2) (fun (_x : Homeomorph.{u1, u2} α β _inst_1 _inst_2) => α -> β) (Homeomorph.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) e)))
+but is expected to have type
+  forall {α : Type.{u4}} {β : Type.{u3}} [_inst_1 : TopologicalSpace.{u4} α] [_inst_2 : TopologicalSpace.{u3} β] {E : Type.{u2}} [_inst_3 : Norm.{u2} E] {F : Type.{u1}} [_inst_4 : Norm.{u1} F] (e : Homeomorph.{u4, u3} α β _inst_1 _inst_2) {b : β} {f : β -> E} {g : β -> F}, Iff (Asymptotics.IsLittleO.{u3, u2, u1} β E F _inst_3 _inst_4 (nhds.{u3} β _inst_2 b) f g) (Asymptotics.IsLittleO.{u4, u2, u1} α E F _inst_3 _inst_4 (nhds.{u4} α _inst_1 (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β (fun (_x : β) => α) (EmbeddingLike.toFunLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (EquivLike.toEmbeddingLike.{max (succ u3) (succ u4), succ u3, succ u4} (Homeomorph.{u3, u4} β α _inst_2 _inst_1) β α (Homeomorph.instEquivLikeHomeomorph.{u3, u4} β α _inst_2 _inst_1))) (Homeomorph.symm.{u4, u3} α β _inst_1 _inst_2 e) b)) (Function.comp.{succ u4, succ u3, succ u2} α β E f (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)) (Function.comp.{succ u4, succ u3, succ u1} α β F g (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α (fun (_x : α) => β) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} α β _inst_1 _inst_2) α β (Homeomorph.instEquivLikeHomeomorph.{u4, u3} α β _inst_1 _inst_2))) e)))
+Case conversion may be inaccurate. Consider using '#align homeomorph.is_o_congr Homeomorph.isLittleO_congrₓ'. -/
 /-- Transfer `is_o` over a `homeomorph`. -/
-theorem isOCat_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
+theorem isLittleO_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} :
     f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) :=
   by
   unfold is_o
   exact forall₂_congr fun c hc => e.is_O_with_congr
-#align homeomorph.is_o_congr Homeomorph.isOCat_congr
+#align homeomorph.is_o_congr Homeomorph.isLittleO_congr
 
 end Homeomorph
 
Diff
@@ -63,8 +63,8 @@ variable {α : Type _} {β : Type _} {E : Type _} {F : Type _} {G : Type _} {E'
 variable [Norm E] [Norm F] [Norm G]
 
 variable [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] [SeminormedAddCommGroup G']
-  [NormedAddCommGroup E''] [NormedAddCommGroup F''] [NormedAddCommGroup G''] [SemiNormedRing R]
-  [SemiNormedRing R']
+  [NormedAddCommGroup E''] [NormedAddCommGroup F''] [NormedAddCommGroup G''] [SeminormedRing R]
+  [SeminormedRing R']
 
 variable [NormedField 𝕜] [NormedField 𝕜']
 
Diff
@@ -247,7 +247,7 @@ theorem isOCat_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x, 0
   constructor
   · rintro H (_ | n)
     · refine' (H.def one_pos).mono fun x h₀' => _
-      rw [Nat.cast_zero, zero_mul]
+      rw [Nat.cast_zero, MulZeroClass.zero_mul]
       refine' h₀.elim (fun hf => (hf x).trans _) fun hg => hg x
       rwa [one_mul] at h₀'
     · have : (0 : ℝ) < n.succ := Nat.cast_pos.2 n.succ_pos
@@ -1186,8 +1186,8 @@ variable {g g' l}
 
 @[simp]
 theorem isOWith_zero_right_iff : (IsOWith c l f'' fun x => (0 : F')) ↔ f'' =ᶠ[l] 0 := by
-  simp only [is_O_with, exists_prop, true_and_iff, norm_zero, mul_zero, norm_le_zero_iff,
-    eventually_eq, Pi.zero_apply]
+  simp only [is_O_with, exists_prop, true_and_iff, norm_zero, MulZeroClass.mul_zero,
+    norm_le_zero_iff, eventually_eq, Pi.zero_apply]
 #align asymptotics.is_O_with_zero_right_iff Asymptotics.isOWith_zero_right_iff
 
 @[simp]
@@ -1253,7 +1253,8 @@ theorem isOCat_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 :=
   simp only [is_o_iff, eventually_top]
   refine' fun h x => norm_le_zero_iff.1 _
   have : tendsto (fun c : ℝ => c * ‖g'' x‖) (𝓝[>] 0) (𝓝 0) :=
-    ((continuous_id.mul continuous_const).tendsto' _ _ (zero_mul _)).mono_left inf_le_left
+    ((continuous_id.mul continuous_const).tendsto' _ _ (MulZeroClass.zero_mul _)).mono_left
+      inf_le_left
   exact
     le_of_tendsto_of_tendsto tendsto_const_nhds this
       (eventually_nhdsWithin_iff.2 <| eventually_of_forall fun c hc => h hc x)
@@ -1639,7 +1640,7 @@ theorem IsOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsOWith c l f
   by
   refine' is_O_with.of_bound (h.bound.mp (h₀.mono fun x h₀ hle => _))
   cases' eq_or_ne (f x) 0 with hx hx
-  · simp only [hx, h₀ hx, inv_zero, norm_zero, mul_zero]
+  · simp only [hx, h₀ hx, inv_zero, norm_zero, MulZeroClass.mul_zero]
   · have hc : 0 < c := pos_of_mul_pos_left ((norm_pos_iff.2 hx).trans_le hle) (norm_nonneg _)
     replace hle := inv_le_inv_of_le (norm_pos_iff.2 hx) hle
     simpa only [norm_inv, mul_inv, ← div_eq_inv_mul, div_le_iff hc] using hle
Diff
@@ -60,7 +60,7 @@ variable {α : Type _} {β : Type _} {E : Type _} {F : Type _} {G : Type _} {E'
   {F' : Type _} {G' : Type _} {E'' : Type _} {F'' : Type _} {G'' : Type _} {R : Type _}
   {R' : Type _} {𝕜 : Type _} {𝕜' : Type _}
 
-variable [HasNorm E] [HasNorm F] [HasNorm G]
+variable [Norm E] [Norm F] [Norm G]
 
 variable [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] [SeminormedAddCommGroup G']
   [NormedAddCommGroup E''] [NormedAddCommGroup F''] [NormedAddCommGroup G''] [SemiNormedRing R]
@@ -2151,7 +2151,7 @@ namespace LocalHomeomorph
 
 variable {α : Type _} {β : Type _} [TopologicalSpace α] [TopologicalSpace β]
 
-variable {E : Type _} [HasNorm E] {F : Type _} [HasNorm F]
+variable {E : Type _} [Norm E] {F : Type _} [Norm F]
 
 /-- Transfer `is_O_with` over a `local_homeomorph`. -/
 theorem isOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F}
@@ -2188,7 +2188,7 @@ namespace Homeomorph
 
 variable {α : Type _} {β : Type _} [TopologicalSpace α] [TopologicalSpace β]
 
-variable {E : Type _} [HasNorm E] {F : Type _} [HasNorm F]
+variable {E : Type _} [Norm E] {F : Type _} [Norm F]
 
 open Asymptotics
 
Diff
@@ -446,7 +446,7 @@ theorem IsOWith.trans (hfg : IsOWith c l f g) (hgk : IsOWith c' l g k) (hc : 0 
   filter_upwards [hfg, hgk]with x hx hx'
   calc
     ‖f x‖ ≤ c * ‖g x‖ := hx
-    _ ≤ c * (c' * ‖k x‖) := mul_le_mul_of_nonneg_left hx' hc
+    _ ≤ c * (c' * ‖k x‖) := (mul_le_mul_of_nonneg_left hx' hc)
     _ = c * c' * ‖k x‖ := (mul_assoc _ _ _).symm
     
 #align asymptotics.is_O_with.trans Asymptotics.IsOWith.trans
@@ -1599,7 +1599,7 @@ theorem IsOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsOWith c
           ‖f x‖ ^ n = ‖f x ^ n‖ := (norm_pow _ _).symm
           _ ≤ c' ^ n * ‖g x ^ n‖ := hx
           _ ≤ c' ^ n * ‖g x‖ ^ n :=
-            mul_le_mul_of_nonneg_left (norm_pow_le' _ hn.bot_lt) (pow_nonneg hc' _)
+            (mul_le_mul_of_nonneg_left (norm_pow_le' _ hn.bot_lt) (pow_nonneg hc' _))
           _ = (c' * ‖g x‖) ^ n := (mul_pow _ _ _).symm
           
 #align asymptotics.is_O_with.of_pow Asymptotics.IsOWith.of_pow

Changes in mathlib4

mathlib3
mathlib4
chore(Analysis): add missing deprecation dates (#12336)
Diff
@@ -2136,13 +2136,15 @@ theorem IsBigOWith.right_le_sub_of_lt_one {f₁ f₂ : α → E'} (h : IsBigOWit
       · exact le_trans (sub_le_sub_left hx _) (norm_sub_norm_le _ _)
       · exact sub_pos.2 hc
 #align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_one
-@[deprecated] alias IsBigOWith.right_le_sub_of_lt_1 := IsBigOWith.right_le_sub_of_lt_one
 
 theorem IsBigOWith.right_le_add_of_lt_one {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₁ x + f₂ x :=
   (h.neg_right.right_le_sub_of_lt_one hc).neg_right.of_neg_left.congr rfl (fun x ↦ rfl) fun x ↦ by
     rw [neg_sub, sub_neg_eq_add]
 #align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_one
+
+-- 2024-01-31
+@[deprecated] alias IsBigOWith.right_le_sub_of_lt_1 := IsBigOWith.right_le_sub_of_lt_one
 @[deprecated] alias IsBigOWith.right_le_add_of_lt_1 := IsBigOWith.right_le_add_of_lt_one
 
 theorem IsLittleO.right_isBigO_sub {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
feat(NumberTheory/Harmonic): asymptotics of Riemann zeta as s → 1 (#11794)

Show that the constant term of the Laurent series of Riemann zeta at s = 1 is the Euler-Mascheroni γ.

Diff
@@ -1394,6 +1394,18 @@ theorem IsBigO.trans_tendsto_nhds (hfg : f =O[l] g') {y : F'} (hg : Tendsto g' l
   hfg.trans <| hg.isBigO_one F
 #align asymptotics.is_O.trans_tendsto_nhds Asymptotics.IsBigO.trans_tendsto_nhds
 
+/-- The condition `f = O[𝓝[≠] a] 1` is equivalent to `f = O[𝓝 a] 1`. -/
+lemma isBigO_one_nhds_ne_iff [TopologicalSpace α] {a : α} :
+    f =O[𝓝[≠] a] (fun _ ↦ 1 : α → F) ↔ f =O[𝓝 a] (fun _ ↦ 1 : α → F) := by
+  refine ⟨fun h ↦ ?_, fun h ↦ h.mono nhdsWithin_le_nhds⟩
+  simp only [isBigO_one_iff, IsBoundedUnder, IsBounded, eventually_map] at h ⊢
+  obtain ⟨c, hc⟩ := h
+  use max c ‖f a‖
+  filter_upwards [eventually_nhdsWithin_iff.mp hc] with b hb
+  rcases eq_or_ne b a with rfl | hb'
+  · apply le_max_right
+  · exact (hb hb').trans (le_max_left ..)
+
 end
 
 theorem isLittleO_const_iff {c : F''} (hc : c ≠ 0) :
chore: Rename nat_cast/int_cast/rat_cast to natCast/intCast/ratCast (#11486)

Now that I am defining NNRat.cast, I want a definitive answer to this naming issue. Plenty of lemmas in mathlib already use natCast/intCast/ratCast over nat_cast/int_cast/rat_cast, and this matches with the general expectation that underscore-separated name parts correspond to a single declaration.

Diff
@@ -2205,15 +2205,15 @@ theorem isLittleO_pi {ι : Type*} [Fintype ι] {E' : ι → Type*} [∀ i, Norme
   exact ⟨fun h i c hc => h hc i, fun h c hc i => h i hc⟩
 #align asymptotics.is_o_pi Asymptotics.isLittleO_pi
 
-theorem IsBigO.nat_cast_atTop {R : Type*} [StrictOrderedSemiring R] [Archimedean R]
+theorem IsBigO.natCast_atTop {R : Type*} [StrictOrderedSemiring R] [Archimedean R]
     {f : R → E} {g : R → F} (h : f =O[atTop] g) :
     (fun (n : ℕ) => f n) =O[atTop] (fun n => g n) :=
-  IsBigO.comp_tendsto h tendsto_nat_cast_atTop_atTop
+  IsBigO.comp_tendsto h tendsto_natCast_atTop_atTop
 
-theorem IsLittleO.nat_cast_atTop {R : Type*} [StrictOrderedSemiring R] [Archimedean R]
+theorem IsLittleO.natCast_atTop {R : Type*} [StrictOrderedSemiring R] [Archimedean R]
     {f : R → E} {g : R → F} (h : f =o[atTop] g) :
     (fun (n : ℕ) => f n) =o[atTop] (fun n => g n) :=
-  IsLittleO.comp_tendsto h tendsto_nat_cast_atTop_atTop
+  IsLittleO.comp_tendsto h tendsto_natCast_atTop_atTop
 
 theorem isBigO_atTop_iff_eventually_exists {α : Type*} [SemilatticeSup α] [Nonempty α]
     {f : α → E} {g : α → F} : f =O[atTop] g ↔ ∀ᶠ n₀ in atTop, ∃ c, ∀ n ≥ n₀, ‖f n‖ ≤ c * ‖g n‖ := by
chore: rename IsRoot.definition back to IsRoot.def (#11999)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -191,18 +191,16 @@ alias ⟨IsLittleO.bound, IsLittleO.of_bound⟩ := isLittleO_iff
 #align asymptotics.is_o.bound Asymptotics.IsLittleO.bound
 #align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_bound
 
--- Adaptation note: 2024-03-15: this was called `def`.
--- Should lean be changed to allow that as a name again?
-theorem IsLittleO.definition (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
+theorem IsLittleO.def (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
   isLittleO_iff.1 h hc
-#align asymptotics.is_o.def Asymptotics.IsLittleO.definition
+#align asymptotics.is_o.def Asymptotics.IsLittleO.def
 
 theorem IsLittleO.def' (h : f =o[l] g) (hc : 0 < c) : IsBigOWith c l f g :=
   isBigOWith_iff.2 <| isLittleO_iff.1 h hc
 #align asymptotics.is_o.def' Asymptotics.IsLittleO.def'
 
 theorem IsLittleO.eventuallyLE (h : f =o[l] g) : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖ := by
-  simpa using h.definition zero_lt_one
+  simpa using h.def zero_lt_one
 
 end Defs
 
@@ -280,7 +278,7 @@ theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x,
     f =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f x‖ ≤ ‖g x‖ := by
   constructor
   · rintro H (_ | n)
-    · refine' (H.definition one_pos).mono fun x h₀' => _
+    · refine' (H.def one_pos).mono fun x h₀' => _
       rw [Nat.cast_zero, zero_mul]
       refine' h₀.elim (fun hf => (hf x).trans _) fun hg => hg x
       rwa [one_mul] at h₀'
change the order of operation in zsmulRec and nsmulRec (#11451)

We change the following field in the definition of an additive commutative monoid:

 nsmul_succ : ∀ (n : ℕ) (x : G),
-  AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+  AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x

where the latter is more natural

We adjust the definitions of ^ in monoids, groups, etc. Originally there was a warning comment about why this natural order was preferred

use x * npowRec n x and not npowRec n x * x in the definition to make sure that definitional unfolding of npowRec is blocked, to avoid deep recursion issues.

but it seems to no longer apply.

Remarks on the PR :

  • pow_succ and pow_succ' have switched their meanings.
  • Most of the time, the proofs were adjusted by priming/unpriming one lemma, or exchanging left and right; a few proofs were more complicated to adjust.
  • In particular, [Mathlib/NumberTheory/RamificationInertia.lean] used Ideal.IsPrime.mul_mem_pow which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul.
  • the docstring for Cauchy condensation test in [Mathlib/Analysis/PSeries.lean] was mathematically incorrect, I added the mention that the function is antitone.
Diff
@@ -1648,7 +1648,7 @@ theorem IsBigOWith.pow' {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g
       l (fun x => f x ^ n) fun x => g x ^ n
   | 0 => by simpa using isBigOWith_const_const (1 : R) (one_ne_zero' 𝕜) l
   | 1 => by simpa
-  | n + 2 => by simpa [pow_succ] using h.mul (IsBigOWith.pow' h (n + 1))
+  | n + 2 => by simpa [pow_succ] using (IsBigOWith.pow' h (n + 1)).mul h
 #align asymptotics.is_O_with.pow' Asymptotics.IsBigOWith.pow'
 
 theorem IsBigOWith.pow [NormOneClass R] {f : α → R} {g : α → 𝕜} (h : IsBigOWith c l f g) :
@@ -1687,7 +1687,7 @@ theorem IsLittleO.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ}
   obtain ⟨n, rfl⟩ := Nat.exists_eq_succ_of_ne_zero hn.ne'; clear hn
   induction' n with n ihn
   · simpa only [Nat.zero_eq, ← Nat.one_eq_succ_zero, pow_one]
-  · convert h.mul ihn <;> simp [pow_succ]
+  · convert ihn.mul h <;> simp [pow_succ]
 #align asymptotics.is_o.pow Asymptotics.IsLittleO.pow
 
 theorem IsLittleO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (h : (f ^ n) =o[l] (g ^ n)) (hn : n ≠ 0) :
chore: Rename mul-div cancellation lemmas (#11530)

Lemma names around cancellation of multiplication and division are a mess.

This PR renames a handful of them according to the following table (each big row contains the multiplicative statement, then the three rows contain the GroupWithZero lemma name, the Group lemma, the AddGroup lemma name).

| Statement | New name | Old name | |

Diff
@@ -516,7 +516,7 @@ theorem IsLittleO.trans_isBigOWith (hfg : f =o[l] g) (hgk : IsBigOWith c l g k)
   simp only [IsLittleO_def] at *
   intro c' c'pos
   have : 0 < c' / c := div_pos c'pos hc
-  exact ((hfg this).trans hgk this.le).congr_const (div_mul_cancel _ hc.ne')
+  exact ((hfg this).trans hgk this.le).congr_const (div_mul_cancel₀ _ hc.ne')
 #align asymptotics.is_o.trans_is_O_with Asymptotics.IsLittleO.trans_isBigOWith
 
 @[trans]
@@ -535,7 +535,7 @@ theorem IsBigOWith.trans_isLittleO (hfg : IsBigOWith c l f g) (hgk : g =o[l] k)
   simp only [IsLittleO_def] at *
   intro c' c'pos
   have : 0 < c' / c := div_pos c'pos hc
-  exact (hfg.trans (hgk this) hc.le).congr_const (mul_div_cancel' _ hc.ne')
+  exact (hfg.trans (hgk this) hc.le).congr_const (mul_div_cancel₀ _ hc.ne')
 #align asymptotics.is_O_with.trans_is_o Asymptotics.IsBigOWith.trans_isLittleO
 
 @[trans]
@@ -1129,7 +1129,7 @@ theorem IsLittleO.add_isBigO (h₁ : f₁ =o[l] g) (h₂ : f₂ =O[l] g) : (fun
 
 theorem IsBigOWith.add_isLittleO (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : f₂ =o[l] g) (hc : c₁ < c₂) :
     IsBigOWith c₂ l (fun x => f₁ x + f₂ x) g :=
-  (h₁.add (h₂.forall_isBigOWith (sub_pos.2 hc))).congr_const (add_sub_cancel'_right _ _)
+  (h₁.add (h₂.forall_isBigOWith (sub_pos.2 hc))).congr_const (add_sub_cancel _ _)
 #align asymptotics.is_O_with.add_is_o Asymptotics.IsBigOWith.add_isLittleO
 
 theorem IsLittleO.add_isBigOWith (h₁ : f₁ =o[l] g) (h₂ : IsBigOWith c₁ l f₂ g) (hc : c₁ < c₂) :
@@ -1279,7 +1279,7 @@ theorem isBigOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter 
   simp only [IsBigOWith_def]
   apply univ_mem'
   intro x
-  rw [mem_setOf, div_mul_cancel _ (norm_ne_zero_iff.mpr hc')]
+  rw [mem_setOf, div_mul_cancel₀ _ (norm_ne_zero_iff.mpr hc')]
 #align asymptotics.is_O_with_const_const Asymptotics.isBigOWith_const_const
 
 theorem isBigO_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
@@ -1627,7 +1627,7 @@ theorem IsBigO.mul_isLittleO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h
   simp only [IsLittleO_def] at *
   intro c cpos
   rcases h₁.exists_pos with ⟨c', c'pos, hc'⟩
-  exact (hc'.mul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel' _ (ne_of_gt c'pos))
+  exact (hc'.mul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel₀ _ (ne_of_gt c'pos))
 #align asymptotics.is_O.mul_is_o Asymptotics.IsBigO.mul_isLittleO
 
 theorem IsLittleO.mul_isBigO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =O[l] g₂) :
@@ -1635,7 +1635,7 @@ theorem IsLittleO.mul_isBigO {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h
   simp only [IsLittleO_def] at *
   intro c cpos
   rcases h₂.exists_pos with ⟨c', c'pos, hc'⟩
-  exact ((h₁ (div_pos cpos c'pos)).mul hc').congr_const (div_mul_cancel _ (ne_of_gt c'pos))
+  exact ((h₁ (div_pos cpos c'pos)).mul hc').congr_const (div_mul_cancel₀ _ (ne_of_gt c'pos))
 #align asymptotics.is_o.mul_is_O Asymptotics.IsLittleO.mul_isBigO
 
 theorem IsLittleO.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} (h₁ : f₁ =o[l] g₁) (h₂ : f₂ =o[l] g₂) :
@@ -1807,7 +1807,7 @@ theorem IsBigO.smul_isLittleO (h₁ : k₁ =O[l] k₂) (h₂ : f' =o[l] g') :
   simp only [IsLittleO_def] at *
   intro c cpos
   rcases h₁.exists_pos with ⟨c', c'pos, hc'⟩
-  exact (hc'.smul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel' _ (ne_of_gt c'pos))
+  exact (hc'.smul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel₀ _ (ne_of_gt c'pos))
 #align asymptotics.is_O.smul_is_o Asymptotics.IsBigO.smul_isLittleO
 
 theorem IsLittleO.smul_isBigO (h₁ : k₁ =o[l] k₂) (h₂ : f' =O[l] g') :
@@ -1815,7 +1815,7 @@ theorem IsLittleO.smul_isBigO (h₁ : k₁ =o[l] k₂) (h₂ : f' =O[l] g') :
   simp only [IsLittleO_def] at *
   intro c cpos
   rcases h₂.exists_pos with ⟨c', c'pos, hc'⟩
-  exact ((h₁ (div_pos cpos c'pos)).smul hc').congr_const (div_mul_cancel _ (ne_of_gt c'pos))
+  exact ((h₁ (div_pos cpos c'pos)).smul hc').congr_const (div_mul_cancel₀ _ (ne_of_gt c'pos))
 #align asymptotics.is_o.smul_is_O Asymptotics.IsLittleO.smul_isBigO
 
 theorem IsLittleO.smul (h₁ : k₁ =o[l] k₂) (h₂ : f' =o[l] g') :
chore: rename away from 'def' (#11548)

This will become an error in 2024-03-16 nightly, possibly not permanently.

Co-authored-by: Scott Morrison <scott@tqft.net>

Diff
@@ -191,16 +191,18 @@ alias ⟨IsLittleO.bound, IsLittleO.of_bound⟩ := isLittleO_iff
 #align asymptotics.is_o.bound Asymptotics.IsLittleO.bound
 #align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_bound
 
-theorem IsLittleO.def (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
+-- Adaptation note: 2024-03-15: this was called `def`.
+-- Should lean be changed to allow that as a name again?
+theorem IsLittleO.definition (h : f =o[l] g) (hc : 0 < c) : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ :=
   isLittleO_iff.1 h hc
-#align asymptotics.is_o.def Asymptotics.IsLittleO.def
+#align asymptotics.is_o.def Asymptotics.IsLittleO.definition
 
 theorem IsLittleO.def' (h : f =o[l] g) (hc : 0 < c) : IsBigOWith c l f g :=
   isBigOWith_iff.2 <| isLittleO_iff.1 h hc
 #align asymptotics.is_o.def' Asymptotics.IsLittleO.def'
 
 theorem IsLittleO.eventuallyLE (h : f =o[l] g) : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖ := by
-  simpa using h.def zero_lt_one
+  simpa using h.definition zero_lt_one
 
 end Defs
 
@@ -278,7 +280,7 @@ theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x,
     f =o[l] g ↔ ∀ n : ℕ, ∀ᶠ x in l, ↑n * ‖f x‖ ≤ ‖g x‖ := by
   constructor
   · rintro H (_ | n)
-    · refine' (H.def one_pos).mono fun x h₀' => _
+    · refine' (H.definition one_pos).mono fun x h₀' => _
       rw [Nat.cast_zero, zero_mul]
       refine' h₀.elim (fun hf => (hf x).trans _) fun hg => hg x
       rwa [one_mul] at h₀'
chore: tidy various files (#11490)
Diff
@@ -1984,7 +1984,7 @@ theorem isBigOWith_of_eq_mul {u v : α → R} (φ : α → R) (hφ : ∀ᶠ x in
 #align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mul
 
 theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
-    IsBigOWith c l u v ↔ ∃ (φ : α → 𝕜) (_hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v := by
+    IsBigOWith c l u v ↔ ∃ φ : α → 𝕜, (∀ᶠ x in l, ‖φ x‖ ≤ c) ∧ u =ᶠ[l] φ * v := by
   constructor
   · intro h
     use fun x => u x / v x
@@ -1995,12 +1995,12 @@ theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
 #align asymptotics.is_O_with_iff_exists_eq_mul Asymptotics.isBigOWith_iff_exists_eq_mul
 
 theorem IsBigOWith.exists_eq_mul (h : IsBigOWith c l u v) (hc : 0 ≤ c) :
-    ∃ (φ : α → 𝕜) (_hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
+    ∃ φ : α → 𝕜, (∀ᶠ x in l, ‖φ x‖ ≤ c) ∧ u =ᶠ[l] φ * v :=
   (isBigOWith_iff_exists_eq_mul hc).mp h
 #align asymptotics.is_O_with.exists_eq_mul Asymptotics.IsBigOWith.exists_eq_mul
 
 theorem isBigO_iff_exists_eq_mul :
-    u =O[l] v ↔ ∃ (φ : α → 𝕜) (_hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v := by
+    u =O[l] v ↔ ∃ φ : α → 𝕜, l.IsBoundedUnder (· ≤ ·) (norm ∘ φ) ∧ u =ᶠ[l] φ * v := by
   constructor
   · rintro h
     rcases h.exists_nonneg with ⟨c, hnnc, hc⟩
@@ -2014,7 +2014,7 @@ alias ⟨IsBigO.exists_eq_mul, _⟩ := isBigO_iff_exists_eq_mul
 #align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
 
 theorem isLittleO_iff_exists_eq_mul :
-    u =o[l] v ↔ ∃ (φ : α → 𝕜) (_hφ : Tendsto φ l (𝓝 0)), u =ᶠ[l] φ * v := by
+    u =o[l] v ↔ ∃ φ : α → 𝕜, Tendsto φ l (𝓝 0) ∧ u =ᶠ[l] φ * v := by
   constructor
   · exact fun h => ⟨fun x => u x / v x, h.tendsto_div_nhds_zero, h.eventually_mul_div_cancel.symm⟩
   · simp only [IsLittleO_def]
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -61,20 +61,15 @@ variable {α : Type*} {β : Type*} {E : Type*} {F : Type*} {G : Type*} {E' : Typ
   {R : Type*} {R' : Type*} {𝕜 : Type*} {𝕜' : Type*}
 
 variable [Norm E] [Norm F] [Norm G]
-
 variable [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] [SeminormedAddCommGroup G']
   [NormedAddCommGroup E''] [NormedAddCommGroup F''] [NormedAddCommGroup G''] [SeminormedRing R]
   [SeminormedAddGroup E''']
   [SeminormedRing R']
 
 variable [NormedDivisionRing 𝕜] [NormedDivisionRing 𝕜']
-
 variable {c c' c₁ c₂ : ℝ} {f : α → E} {g : α → F} {k : α → G}
-
 variable {f' : α → E'} {g' : α → F'} {k' : α → G'}
-
 variable {f'' : α → E''} {g'' : α → F''} {k'' : α → G''}
-
 variable {l l' : Filter α}
 
 section Defs
@@ -2255,7 +2250,6 @@ lemma Asymptotics.IsBigO.comp_summable_norm {ι E F : Type*}
 namespace PartialHomeomorph
 
 variable {α : Type*} {β : Type*} [TopologicalSpace α] [TopologicalSpace β]
-
 variable {E : Type*} [Norm E] {F : Type*} [Norm F]
 
 /-- Transfer `IsBigOWith` over a `PartialHomeomorph`. -/
@@ -2293,7 +2287,6 @@ end PartialHomeomorph
 namespace Homeomorph
 
 variable {α : Type*} {β : Type*} [TopologicalSpace α] [TopologicalSpace β]
-
 variable {E : Type*} [Norm E] {F : Type*} [Norm F]
 
 open Asymptotics
chore: scope open Classical (#11199)

We remove all but one open Classicals, instead preferring to use open scoped Classical. The only real side-effect this led to is moving a couple declarations to use Exists.choose instead of Classical.choose.

The first few commits are explicitly labelled regex replaces for ease of review.

Diff
@@ -49,7 +49,8 @@ the Fréchet derivative.)
 
 open Filter Set
 
-open Topology BigOperators Classical Filter NNReal
+open scoped Classical
+open Topology BigOperators Filter NNReal
 
 namespace Asymptotics
 
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -1496,7 +1496,7 @@ theorem isBigOWith_self_const_mul' (u : Rˣ) (f : α → R) (l : Filter α) :
     IsBigOWith ‖(↑u⁻¹ : R)‖ l f fun x => ↑u * f x := by
   refine' (isBigOWith_const_mul_self ↑u⁻¹ _ l).congr_left _
   exact fun x => u.inv_mul_cancel_left (f x)
-  -- porting note: Lean just had trouble elaborating correctly, but this fixes it.
+  -- Porting note: Lean just had trouble elaborating correctly, but this fixes it.
 #align asymptotics.is_O_with_self_const_mul' Asymptotics.isBigOWith_self_const_mul'
 
 theorem isBigOWith_self_const_mul (c : 𝕜) (hc : c ≠ 0) (f : α → 𝕜) (l : Filter α) :
@@ -1909,7 +1909,7 @@ theorem isLittleO_const_left {c : E''} :
   · simp only [hc, false_or_iff, isLittleO_const_left_of_ne hc]; rfl
 #align asymptotics.is_o_const_left Asymptotics.isLittleO_const_left
 
-@[simp 1001] -- porting note: increase priority so that this triggers before `isLittleO_const_left`
+@[simp 1001] -- Porting note: increase priority so that this triggers before `isLittleO_const_left`
 theorem isLittleO_const_const_iff [NeBot l] {d : E''} {c : F''} :
     ((fun _x => d) =o[l] fun _x => c) ↔ d = 0 := by
   have : ¬Tendsto (Function.const α ‖c‖) l atTop :=
feat: dot notation for IsTheta.add_isLittleO, and add_commed variants (#10386)

BREAKING CHANGE: Change IsTheta.add_isLittleO into a dot-notation statement, in line with the existing IsBigO.add_isLittleO. Move the current IsTheta.add_isLittleO statement to IsLittleO.right_isTheta_add', in line with the existing IsLittleO.right_isBigO_add.

feat: Add add_commed variants of related lemmas.

These changes smoothen the flow when proving e.g. a + b + c + d + e + f =Θ[l] d.

Co-authored-by: L Lllvvuu <git@llllvvuu.dev>

Diff
@@ -2147,6 +2147,10 @@ theorem IsLittleO.right_isBigO_add {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂)
   ((h.def' one_half_pos).right_le_add_of_lt_one one_half_lt_one).isBigO
 #align asymptotics.is_o.right_is_O_add Asymptotics.IsLittleO.right_isBigO_add
 
+theorem IsLittleO.right_isBigO_add' {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
+    f₂ =O[l] (f₂ + f₁) :=
+  add_comm f₁ f₂ ▸ h.right_isBigO_add
+
 /-- If `f x = O(g x)` along `cofinite`, then there exists a positive constant `C` such that
 `‖f x‖ ≤ C * ‖g x‖` whenever `g x ≠ 0`. -/
 theorem bound_of_isBigO_cofinite (h : f =O[cofinite] g'') :
feat(Analysis/Asymptotics/Asymptotics): generalize smul lemmas to normed rings (#9811)

Using BoundedSMul instead of NormedSpace makes these true more generally. The old proofs do not generalize, so are replaced with copies of the mul proofs.

The const_smul_self lemmas match the existing const_mul_self ones.

shake then reports that the imports can be reduced.

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jeremy Avigad, Yury Kudryashov
 -/
 import Mathlib.Analysis.Normed.Group.InfiniteSum
-import Mathlib.Analysis.NormedSpace.Basic
+import Mathlib.Analysis.Normed.MulAction
 import Mathlib.Topology.Algebra.Order.LiminfLimsup
 import Mathlib.Topology.PartialHomeomorph
 
@@ -66,7 +66,7 @@ variable [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] [SeminormedAddC
   [SeminormedAddGroup E''']
   [SeminormedRing R']
 
-variable [NormedField 𝕜] [NormedField 𝕜']
+variable [NormedDivisionRing 𝕜] [NormedDivisionRing 𝕜']
 
 variable {c c' c₁ c₂ : ℝ} {f : α → E} {g : α → F} {k : α → G}
 
@@ -1460,12 +1460,6 @@ theorem isBigO_const_left_iff_pos_le_norm {c : E''} (hc : c ≠ 0) :
     exact le_mul_of_one_le_right (norm_nonneg _) ((one_le_div hb₀).2 hx)
 #align asymptotics.is_O_const_left_iff_pos_le_norm Asymptotics.isBigO_const_left_iff_pos_le_norm
 
-section
-
-variable (𝕜)
-
-end
-
 theorem IsBigO.trans_tendsto (hfg : f'' =O[l] g'') (hg : Tendsto g'' l (𝓝 0)) :
     Tendsto f'' l (𝓝 0) :=
   (isLittleO_one_iff ℝ).1 <| hfg.trans_isLittleO <| (isLittleO_one_iff ℝ).2 hg
@@ -1732,25 +1726,30 @@ theorem IsLittleO.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =o[l] g)
 
 section SMulConst
 
-variable [NormedSpace 𝕜 E']
+variable [Module R E'] [BoundedSMul R E']
 
-theorem IsBigOWith.const_smul_left (h : IsBigOWith c l f' g) (c' : 𝕜) :
+theorem IsBigOWith.const_smul_self (c' : R) :
+    IsBigOWith (‖c'‖) l (fun x => c' • f' x) f' :=
+  isBigOWith_of_le' _ fun _ => norm_smul_le _ _
+
+theorem IsBigO.const_smul_self (c' : R) : (fun x => c' • f' x) =O[l] f' :=
+  (IsBigOWith.const_smul_self _).isBigO
+
+theorem IsBigOWith.const_smul_left (h : IsBigOWith c l f' g) (c' : R) :
     IsBigOWith (‖c'‖ * c) l (fun x => c' • f' x) g :=
-  IsBigOWith.of_norm_left <| by
-    simpa only [norm_smul, _root_.norm_norm] using h.norm_left.const_mul_left ‖c'‖
-    -- porting note: probably `Asymptotics.IsBigO.norm_norm` and `Asymptotics.IsLittleO.norm_norm`
-    -- should be protected.
-#align asymptotics.is_O_with.const_smul_left Asymptotics.IsBigOWith.const_smul_left
+  .trans (.const_smul_self _) h (norm_nonneg _)
 
-theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : 𝕜) : (c • f') =O[l] g :=
+theorem IsBigO.const_smul_left (h : f' =O[l] g) (c : R) : (c • f') =O[l] g :=
   let ⟨_b, hb⟩ := h.isBigOWith
   (hb.const_smul_left _).isBigO
 #align asymptotics.is_O.const_smul_left Asymptotics.IsBigO.const_smul_left
 
-theorem IsLittleO.const_smul_left (h : f' =o[l] g) (c : 𝕜) : (c • f') =o[l] g :=
-  IsLittleO.of_norm_left <| by simpa only [← norm_smul] using h.norm_left.const_mul_left ‖c‖
+theorem IsLittleO.const_smul_left (h : f' =o[l] g) (c : R) : (c • f') =o[l] g :=
+  (IsBigO.const_smul_self _).trans_isLittleO h
 #align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_left
 
+variable [Module 𝕜 E'] [BoundedSMul 𝕜 E']
+
 theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =O[l] g ↔ f' =O[l] g := by
   have cne0 : ‖c‖ ≠ 0 := norm_ne_zero_iff.mpr hc
   rw [← isBigO_norm_left]
@@ -1786,36 +1785,44 @@ end SMulConst
 
 section SMul
 
-variable [NormedSpace 𝕜 E'] [NormedSpace 𝕜' F'] {k₁ : α → 𝕜} {k₂ : α → 𝕜'}
+variable [Module R E'] [BoundedSMul R E'] [Module 𝕜' F'] [BoundedSMul 𝕜' F']
+variable {k₁ : α → R} {k₂ : α → 𝕜'}
 
 theorem IsBigOWith.smul (h₁ : IsBigOWith c l k₁ k₂) (h₂ : IsBigOWith c' l f' g') :
     IsBigOWith (c * c') l (fun x => k₁ x • f' x) fun x => k₂ x • g' x := by
-  refine' ((h₁.norm_norm.mul h₂.norm_norm).congr rfl _ _).of_norm_norm <;>
-    · intros; simp only [norm_smul]
+  simp only [IsBigOWith_def] at *
+  filter_upwards [h₁, h₂] with _ hx₁ hx₂
+  apply le_trans (norm_smul_le _ _)
+  convert mul_le_mul hx₁ hx₂ (norm_nonneg _) (le_trans (norm_nonneg _) hx₁) using 1
+  rw [norm_smul, mul_mul_mul_comm]
 #align asymptotics.is_O_with.smul Asymptotics.IsBigOWith.smul
 
 theorem IsBigO.smul (h₁ : k₁ =O[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =O[l] fun x => k₂ x • g' x := by
-  refine' ((h₁.norm_norm.mul h₂.norm_norm).congr _ _).of_norm_norm <;>
-    · intros; simp only [norm_smul]
+  obtain ⟨c₁, h₁⟩ := h₁.isBigOWith
+  obtain ⟨c₂, h₂⟩ := h₂.isBigOWith
+  exact (h₁.smul h₂).isBigO
 #align asymptotics.is_O.smul Asymptotics.IsBigO.smul
 
 theorem IsBigO.smul_isLittleO (h₁ : k₁ =O[l] k₂) (h₂ : f' =o[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
-  refine' ((h₁.norm_norm.mul_isLittleO h₂.norm_norm).congr _ _).of_norm_norm <;>
-    · intros; simp only [norm_smul]
+  simp only [IsLittleO_def] at *
+  intro c cpos
+  rcases h₁.exists_pos with ⟨c', c'pos, hc'⟩
+  exact (hc'.smul (h₂ (div_pos cpos c'pos))).congr_const (mul_div_cancel' _ (ne_of_gt c'pos))
 #align asymptotics.is_O.smul_is_o Asymptotics.IsBigO.smul_isLittleO
 
 theorem IsLittleO.smul_isBigO (h₁ : k₁ =o[l] k₂) (h₂ : f' =O[l] g') :
     (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
-  refine' ((h₁.norm_norm.mul_isBigO h₂.norm_norm).congr _ _).of_norm_norm <;>
-    · intros; simp only [norm_smul]
+  simp only [IsLittleO_def] at *
+  intro c cpos
+  rcases h₂.exists_pos with ⟨c', c'pos, hc'⟩
+  exact ((h₁ (div_pos cpos c'pos)).smul hc').congr_const (div_mul_cancel _ (ne_of_gt c'pos))
 #align asymptotics.is_o.smul_is_O Asymptotics.IsLittleO.smul_isBigO
 
 theorem IsLittleO.smul (h₁ : k₁ =o[l] k₂) (h₂ : f' =o[l] g') :
-    (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x := by
-  refine' ((h₁.norm_norm.mul h₂.norm_norm).congr _ _).of_norm_norm <;>
-    · intros; simp only [norm_smul]
+    (fun x => k₁ x • f' x) =o[l] fun x => k₂ x • g' x :=
+  h₁.smul_isBigO h₂.isBigO
 #align asymptotics.is_o.smul Asymptotics.IsLittleO.smul
 
 end SMul
@@ -1862,7 +1869,8 @@ theorem IsLittleO.tendsto_div_nhds_zero {f g : α → 𝕜} (h : f =o[l] g) :
       _ =O[l] fun _x => (1 : 𝕜) := isBigO_of_le _ fun x => by simp [div_self_le_one]
 #align asymptotics.is_o.tendsto_div_nhds_zero Asymptotics.IsLittleO.tendsto_div_nhds_zero
 
-theorem IsLittleO.tendsto_inv_smul_nhds_zero [NormedSpace 𝕜 E'] {f : α → E'} {g : α → 𝕜}
+theorem IsLittleO.tendsto_inv_smul_nhds_zero [Module 𝕜 E'] [BoundedSMul 𝕜 E']
+    {f : α → E'} {g : α → 𝕜}
     {l : Filter α} (h : f =o[l] g) : Tendsto (fun x => (g x)⁻¹ • f x) l (𝓝 0) := by
   simpa only [div_eq_inv_mul, ← norm_inv, ← norm_smul, ← tendsto_zero_iff_norm_tendsto_zero] using
     h.norm_norm.tendsto_div_nhds_zero
@@ -1969,11 +1977,13 @@ variable {u v : α → 𝕜}
 /-- If `‖φ‖` is eventually bounded by `c`, and `u =ᶠ[l] φ * v`, then we have `IsBigOWith c u v l`.
     This does not require any assumptions on `c`, which is why we keep this version along with
     `IsBigOWith_iff_exists_eq_mul`. -/
-theorem isBigOWith_of_eq_mul (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c) (h : u =ᶠ[l] φ * v) :
+theorem isBigOWith_of_eq_mul {u v : α → R} (φ : α → R) (hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c)
+    (h : u =ᶠ[l] φ * v) :
     IsBigOWith c l u v := by
   simp only [IsBigOWith_def]
   refine' h.symm.rw (fun x a => ‖a‖ ≤ c * ‖v x‖) (hφ.mono fun x hx => _)
-  simp only [norm_mul, Pi.mul_apply]
+  simp only [Pi.mul_apply]
+  refine (norm_mul_le _ _).trans ?_
   gcongr
 #align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mul
 
chore(Analysis/SpecificLimits/* and others): rename _0 -> _zero, _1 -> _one (#10077)

See here on Zulip.

This PR changes a bunch of names containing nhds_0 or/and lt_1 to nhds_zero or/and lt_one.

Diff
@@ -2109,7 +2109,7 @@ theorem isLittleO_pow_sub_sub (x₀ : E') {m : ℕ} (h : 1 < m) :
   simpa only [isLittleO_norm_right, pow_one] using isLittleO_pow_sub_pow_sub x₀ h
 #align asymptotics.is_o_pow_sub_sub Asymptotics.isLittleO_pow_sub_sub
 
-theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
+theorem IsBigOWith.right_le_sub_of_lt_one {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₂ x - f₁ x :=
   IsBigOWith.of_bound <|
     mem_of_superset h.bound fun x hx => by
@@ -2117,22 +2117,24 @@ theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith
       rw [mul_comm, one_div, ← div_eq_mul_inv, _root_.le_div_iff, mul_sub, mul_one, mul_comm]
       · exact le_trans (sub_le_sub_left hx _) (norm_sub_norm_le _ _)
       · exact sub_pos.2 hc
-#align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_1
+#align asymptotics.is_O_with.right_le_sub_of_lt_1 Asymptotics.IsBigOWith.right_le_sub_of_lt_one
+@[deprecated] alias IsBigOWith.right_le_sub_of_lt_1 := IsBigOWith.right_le_sub_of_lt_one
 
-theorem IsBigOWith.right_le_add_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
+theorem IsBigOWith.right_le_add_of_lt_one {f₁ f₂ : α → E'} (h : IsBigOWith c l f₁ f₂) (hc : c < 1) :
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₁ x + f₂ x :=
-  (h.neg_right.right_le_sub_of_lt_1 hc).neg_right.of_neg_left.congr rfl (fun x => rfl) fun x => by
+  (h.neg_right.right_le_sub_of_lt_one hc).neg_right.of_neg_left.congr rfl (fun x ↦ rfl) fun x ↦ by
     rw [neg_sub, sub_neg_eq_add]
-#align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_1
+#align asymptotics.is_O_with.right_le_add_of_lt_1 Asymptotics.IsBigOWith.right_le_add_of_lt_one
+@[deprecated] alias IsBigOWith.right_le_add_of_lt_1 := IsBigOWith.right_le_add_of_lt_one
 
 theorem IsLittleO.right_isBigO_sub {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
     f₂ =O[l] fun x => f₂ x - f₁ x :=
-  ((h.def' one_half_pos).right_le_sub_of_lt_1 one_half_lt_one).isBigO
+  ((h.def' one_half_pos).right_le_sub_of_lt_one one_half_lt_one).isBigO
 #align asymptotics.is_o.right_is_O_sub Asymptotics.IsLittleO.right_isBigO_sub
 
 theorem IsLittleO.right_isBigO_add {f₁ f₂ : α → E'} (h : f₁ =o[l] f₂) :
     f₂ =O[l] fun x => f₁ x + f₂ x :=
-  ((h.def' one_half_pos).right_le_add_of_lt_1 one_half_lt_one).isBigO
+  ((h.def' one_half_pos).right_le_add_of_lt_one one_half_lt_one).isBigO
 #align asymptotics.is_o.right_is_O_add Asymptotics.IsLittleO.right_isBigO_add
 
 /-- If `f x = O(g x)` along `cofinite`, then there exists a positive constant `C` such that
feat: The support of f ^ n (#9617)

This involves moving lemmas from Algebra.GroupPower.Ring to Algebra.GroupWithZero.Basic and changing some 0 < n assumptions to n ≠ 0.

From LeanAPAP

Diff
@@ -2085,12 +2085,12 @@ theorem isLittleO_norm_pow_id {n : ℕ} (h : 1 < n) :
 #align asymptotics.is_o_norm_pow_id Asymptotics.isLittleO_norm_pow_id
 
 theorem IsBigO.eq_zero_of_norm_pow_within {f : E'' → F''} {s : Set E''} {x₀ : E''} {n : ℕ}
-    (h : f =O[𝓝[s] x₀] fun x => ‖x - x₀‖ ^ n) (hx₀ : x₀ ∈ s) (hn : 0 < n) : f x₀ = 0 :=
+    (h : f =O[𝓝[s] x₀] fun x => ‖x - x₀‖ ^ n) (hx₀ : x₀ ∈ s) (hn : n ≠ 0) : f x₀ = 0 :=
   mem_of_mem_nhdsWithin hx₀ h.eq_zero_imp <| by simp_rw [sub_self, norm_zero, zero_pow hn]
 #align asymptotics.is_O.eq_zero_of_norm_pow_within Asymptotics.IsBigO.eq_zero_of_norm_pow_within
 
 theorem IsBigO.eq_zero_of_norm_pow {f : E'' → F''} {x₀ : E''} {n : ℕ}
-    (h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n) (hn : 0 < n) : f x₀ = 0 := by
+    (h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n) (hn : n ≠ 0) : f x₀ = 0 := by
   rw [← nhdsWithin_univ] at h
   exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
 #align asymptotics.is_O.eq_zero_of_norm_pow Asymptotics.IsBigO.eq_zero_of_norm_pow
chore: remove uses of cases' (#9171)

I literally went through and regex'd some uses of cases', replacing them with rcases; this is meant to be a low effort PR as I hope that tools can do this in the future.

rcases is an easier replacement than cases, though with better tools we could in future do a second pass converting simple rcases added here (and existing ones) to cases.

Diff
@@ -1709,7 +1709,7 @@ theorem IsLittleO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (h : (f ^ n)
 theorem IsBigOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsBigOWith c l f g)
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : IsBigOWith c l (fun x => (g x)⁻¹) fun x => (f x)⁻¹ := by
   refine' IsBigOWith.of_bound (h.bound.mp (h₀.mono fun x h₀ hle => _))
-  cases' eq_or_ne (f x) 0 with hx hx
+  rcases eq_or_ne (f x) 0 with hx | hx
   · simp only [hx, h₀ hx, inv_zero, norm_zero, mul_zero, le_rfl]
   · have hc : 0 < c := pos_of_mul_pos_left ((norm_pos_iff.2 hx).trans_le hle) (norm_nonneg _)
     replace hle := inv_le_inv_of_le (norm_pos_iff.2 hx) hle
feat: non-integrability results of derivatives on [a, +oo) (#8712)

We have in the library the lemma not_intervalIntegrable_of_tendsto_norm_atTop_of_deriv_isBigO_filter, saying that if a function tends to infinity at a point in an interval [a, b], then its derivative is not interval-integrable on [a, b]. We generalize this result to allow for any set instead of [a, b], and apply it to half-infinite intervals.

In particular, we characterize integrability of x^s on [a, +oo), and deduce that x^s is never integrable on [0, +oo). This makes it possible to remove one assumption in Lemma mellin_comp_rpow on the Mellin transform.

Diff
@@ -603,6 +603,9 @@ theorem isBigO_refl (f : α → E) (l : Filter α) : f =O[l] f :=
   (isBigOWith_refl f l).isBigO
 #align asymptotics.is_O_refl Asymptotics.isBigO_refl
 
+theorem _root_.Filter.EventuallyEq.isBigO {f₁ f₂ : α → E} (hf : f₁ =ᶠ[l] f₂) : f₁ =O[l] f₂ :=
+  hf.trans_isBigO (isBigO_refl _ _)
+
 theorem IsBigOWith.trans_le (hfg : IsBigOWith c l f g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x‖) (hc : 0 ≤ c) :
     IsBigOWith c l f k :=
   (hfg.trans (isBigOWith_of_le l hgk) hc).congr_const <| mul_one c
chore: Rename pow monotonicity lemmas (#9095)

The names for lemmas about monotonicity of (a ^ ·) and (· ^ n) were a mess. This PR tidies up everything related by following the naming convention for (a * ·) and (· * b). Namely, (a ^ ·) is pow_right and (· ^ n) is pow_left in lemma names. All lemma renames follow the corresponding multiplication lemma names closely.

Renames

Algebra.GroupPower.Order

  • pow_monopow_right_mono
  • pow_le_powpow_le_pow_right
  • pow_le_pow_of_le_leftpow_le_pow_left
  • pow_lt_pow_of_lt_leftpow_lt_pow_left
  • strictMonoOn_powpow_left_strictMonoOn
  • pow_strictMono_rightpow_right_strictMono
  • pow_lt_powpow_lt_pow_right
  • pow_lt_pow_iffpow_lt_pow_iff_right
  • pow_le_pow_iffpow_le_pow_iff_right
  • self_lt_powlt_self_pow
  • strictAnti_powpow_right_strictAnti
  • pow_lt_pow_iff_of_lt_onepow_lt_pow_iff_right_of_lt_one
  • pow_lt_pow_of_lt_onepow_lt_pow_right_of_lt_one
  • lt_of_pow_lt_powlt_of_pow_lt_pow_left
  • le_of_pow_le_powle_of_pow_le_pow_left
  • pow_lt_pow₀pow_lt_pow_right₀

Algebra.GroupPower.CovariantClass

  • pow_le_pow_of_le_left'pow_le_pow_left'
  • nsmul_le_nsmul_of_le_rightnsmul_le_nsmul_right
  • pow_lt_pow'pow_lt_pow_right'
  • nsmul_lt_nsmulnsmul_lt_nsmul_left
  • pow_strictMono_leftpow_right_strictMono'
  • nsmul_strictMono_rightnsmul_left_strictMono
  • StrictMono.pow_right'StrictMono.pow_const
  • StrictMono.nsmul_leftStrictMono.const_nsmul
  • pow_strictMono_right'pow_left_strictMono
  • nsmul_strictMono_leftnsmul_right_strictMono
  • Monotone.pow_rightMonotone.pow_const
  • Monotone.nsmul_leftMonotone.const_nsmul
  • lt_of_pow_lt_pow'lt_of_pow_lt_pow_left'
  • lt_of_nsmul_lt_nsmullt_of_nsmul_lt_nsmul_right
  • pow_le_pow'pow_le_pow_right'
  • nsmul_le_nsmulnsmul_le_nsmul_left
  • pow_le_pow_of_le_one'pow_le_pow_right_of_le_one'
  • nsmul_le_nsmul_of_nonposnsmul_le_nsmul_left_of_nonpos
  • le_of_pow_le_pow'le_of_pow_le_pow_left'
  • le_of_nsmul_le_nsmul'le_of_nsmul_le_nsmul_right'
  • pow_le_pow_iff'pow_le_pow_iff_right'
  • nsmul_le_nsmul_iffnsmul_le_nsmul_iff_left
  • pow_lt_pow_iff'pow_lt_pow_iff_right'
  • nsmul_lt_nsmul_iffnsmul_lt_nsmul_iff_left

Data.Nat.Pow

  • Nat.pow_lt_pow_of_lt_leftNat.pow_lt_pow_left
  • Nat.pow_le_iff_le_leftNat.pow_le_pow_iff_left
  • Nat.pow_lt_iff_lt_leftNat.pow_lt_pow_iff_left

Lemmas added

  • pow_le_pow_iff_left
  • pow_lt_pow_iff_left
  • pow_right_injective
  • pow_right_inj
  • Nat.pow_le_pow_left to have the correct name since Nat.pow_le_pow_of_le_left is in Std.
  • Nat.pow_le_pow_right to have the correct name since Nat.pow_le_pow_of_le_right is in Std.

Lemmas removed

  • self_le_pow was a duplicate of le_self_pow.
  • Nat.pow_lt_pow_of_lt_right is defeq to pow_lt_pow_right.
  • Nat.pow_right_strictMono is defeq to pow_right_strictMono.
  • Nat.pow_le_iff_le_right is defeq to pow_le_pow_iff_right.
  • Nat.pow_lt_iff_lt_right is defeq to pow_lt_pow_iff_right.

Other changes

  • A bunch of proofs have been golfed.
  • Some lemma assumptions have been turned from 0 < n or 1 ≤ n to n ≠ 0.
  • A few Nat lemmas have been protected.
  • One docstring has been fixed.
Diff
@@ -1664,14 +1664,13 @@ theorem IsBigOWith.pow [NormOneClass R] {f : α → R} {g : α → 𝕜} (h : Is
 
 theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigOWith c l (f ^ n) (g ^ n))
     (hn : n ≠ 0) (hc : c ≤ c' ^ n) (hc' : 0 ≤ c') : IsBigOWith c' l f g :=
-  IsBigOWith.of_bound <|
-    (h.weaken hc).bound.mono fun x hx =>
-      le_of_pow_le_pow n (mul_nonneg hc' <| norm_nonneg _) hn.bot_lt <|
-        calc
-          ‖f x‖ ^ n = ‖f x ^ n‖ := (norm_pow _ _).symm
-          _ ≤ c' ^ n * ‖g x ^ n‖ := hx
-          _ ≤ c' ^ n * ‖g x‖ ^ n := by gcongr; exact norm_pow_le' _ hn.bot_lt
-          _ = (c' * ‖g x‖) ^ n := (mul_pow _ _ _).symm
+  IsBigOWith.of_bound <| (h.weaken hc).bound.mono fun x hx ↦
+    le_of_pow_le_pow_left hn (by positivity) <|
+      calc
+        ‖f x‖ ^ n = ‖f x ^ n‖ := (norm_pow _ _).symm
+        _ ≤ c' ^ n * ‖g x ^ n‖ := hx
+        _ ≤ c' ^ n * ‖g x‖ ^ n := by gcongr; exact norm_pow_le' _ hn.bot_lt
+        _ = (c' * ‖g x‖) ^ n := (mul_pow _ _ _).symm
 #align asymptotics.is_O_with.of_pow Asymptotics.IsBigOWith.of_pow
 
 theorem IsBigO.pow {f : α → R} {g : α → 𝕜} (h : f =O[l] g) (n : ℕ) :
chore: rename LocalHomeomorph to PartialHomeomorph (#8982)

LocalHomeomorph evokes a "local homeomorphism": this is not what this means. Instead, this is a homeomorphism on an open set of the domain (extended to the whole space, by the junk value pattern). Hence, partial homeomorphism is more appropriate, and avoids confusion with IsLocallyHomeomorph.

A future PR will rename LocalEquiv to PartialEquiv.

Zulip discussion

Diff
@@ -6,7 +6,7 @@ Authors: Jeremy Avigad, Yury Kudryashov
 import Mathlib.Analysis.Normed.Group.InfiniteSum
 import Mathlib.Analysis.NormedSpace.Basic
 import Mathlib.Topology.Algebra.Order.LiminfLimsup
-import Mathlib.Topology.LocalHomeomorph
+import Mathlib.Topology.PartialHomeomorph
 
 #align_import analysis.asymptotics.asymptotics from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
 
@@ -2233,14 +2233,14 @@ lemma Asymptotics.IsBigO.comp_summable_norm {ι E F : Type*}
   summable_of_isBigO hg <| hf.norm_norm.comp_tendsto <|
     tendsto_zero_iff_norm_tendsto_zero.2 hg.tendsto_cofinite_zero
 
-namespace LocalHomeomorph
+namespace PartialHomeomorph
 
 variable {α : Type*} {β : Type*} [TopologicalSpace α] [TopologicalSpace β]
 
 variable {E : Type*} [Norm E] {F : Type*} [Norm F]
 
-/-- Transfer `IsBigOWith` over a `LocalHomeomorph`. -/
-theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
+/-- Transfer `IsBigOWith` over a `PartialHomeomorph`. -/
+theorem isBigOWith_congr (e : PartialHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
     {g : β → F} {C : ℝ} : IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
   ⟨fun h =>
     h.comp_tendsto <| by
@@ -2251,25 +2251,25 @@ theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.targ
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg f hx)
       ((e.eventually_right_inverse hb).mono fun x hx => congr_arg g hx)⟩
 set_option linter.uppercaseLean3 false in
-#align local_homeomorph.is_O_with_congr LocalHomeomorph.isBigOWith_congr
+#align local_homeomorph.is_O_with_congr PartialHomeomorph.isBigOWith_congr
 
-/-- Transfer `IsBigO` over a `LocalHomeomorph`. -/
-theorem isBigO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E} {g : β → F} :
-    f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by
+/-- Transfer `IsBigO` over a `PartialHomeomorph`. -/
+theorem isBigO_congr (e : PartialHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
+    {g : β → F} : f =O[𝓝 b] g ↔ (f ∘ e) =O[𝓝 (e.symm b)] (g ∘ e) := by
   simp only [IsBigO_def]
   exact exists_congr fun C => e.isBigOWith_congr hb
 set_option linter.uppercaseLean3 false in
-#align local_homeomorph.is_O_congr LocalHomeomorph.isBigO_congr
+#align local_homeomorph.is_O_congr PartialHomeomorph.isBigO_congr
 
-/-- Transfer `IsLittleO` over a `LocalHomeomorph`. -/
-theorem isLittleO_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
+/-- Transfer `IsLittleO` over a `PartialHomeomorph`. -/
+theorem isLittleO_congr (e : PartialHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
     {g : β → F} : f =o[𝓝 b] g ↔ (f ∘ e) =o[𝓝 (e.symm b)] (g ∘ e) := by
   simp only [IsLittleO_def]
   exact forall₂_congr fun c _hc => e.isBigOWith_congr hb
 set_option linter.uppercaseLean3 false in
-#align local_homeomorph.is_o_congr LocalHomeomorph.isLittleO_congr
+#align local_homeomorph.is_o_congr PartialHomeomorph.isLittleO_congr
 
-end LocalHomeomorph
+end PartialHomeomorph
 
 namespace Homeomorph
 
@@ -2282,7 +2282,7 @@ open Asymptotics
 /-- Transfer `IsBigOWith` over a `Homeomorph`. -/
 theorem isBigOWith_congr (e : α ≃ₜ β) {b : β} {f : β → E} {g : β → F} {C : ℝ} :
     IsBigOWith C (𝓝 b) f g ↔ IsBigOWith C (𝓝 (e.symm b)) (f ∘ e) (g ∘ e) :=
-  e.toLocalHomeomorph.isBigOWith_congr trivial
+  e.toPartialHomeomorph.isBigOWith_congr trivial
 set_option linter.uppercaseLean3 false in
 #align homeomorph.is_O_with_congr Homeomorph.isBigOWith_congr
 
chore: space after (#8178)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -150,7 +150,7 @@ theorem isBigO_iff'' {g : α → E'''} :
     obtain ⟨c, ⟨hc_pos, hc⟩⟩ := h
     refine ⟨c⁻¹, ⟨by positivity, ?_⟩⟩
     filter_upwards [hc] with x hx
-    rwa [←inv_inv c, inv_mul_le_iff (by positivity)] at hx
+    rwa [← inv_inv c, inv_mul_le_iff (by positivity)] at hx
 
 theorem IsBigO.of_bound (c : ℝ) (h : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
   isBigO_iff.2 ⟨c, h⟩
@@ -1692,7 +1692,7 @@ theorem IsLittleO.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ}
     (fun x => f x ^ n) =o[l] fun x => g x ^ n := by
   obtain ⟨n, rfl⟩ := Nat.exists_eq_succ_of_ne_zero hn.ne'; clear hn
   induction' n with n ihn
-  · simpa only [Nat.zero_eq, ←Nat.one_eq_succ_zero, pow_one]
+  · simpa only [Nat.zero_eq, ← Nat.one_eq_succ_zero, pow_one]
   · convert h.mul ihn <;> simp [pow_succ]
 #align asymptotics.is_o.pow Asymptotics.IsLittleO.pow
 
refactor: get rid of comap norm atTop (#8262)

Co-authored-by: Jireh Loreaux <loreaujy@gmail.com>

Diff
@@ -1915,10 +1915,10 @@ theorem isLittleO_pure {x} : f'' =o[pure x] g'' ↔ f'' x = 0 :=
     _ ↔ f'' x = 0 := isLittleO_const_const_iff
 #align asymptotics.is_o_pure Asymptotics.isLittleO_pure
 
-theorem isLittleO_const_id_comap_norm_atTop (c : F'') :
-    (fun _x : E'' => c) =o[comap norm atTop] id :=
-  isLittleO_const_left.2 <| Or.inr tendsto_comap
-#align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isLittleO_const_id_comap_norm_atTop
+theorem isLittleO_const_id_cobounded (c : F'') :
+    (fun _ => c) =o[Bornology.cobounded E''] id :=
+  isLittleO_const_left.2 <| .inr tendsto_norm_cobounded_atTop
+#align asymptotics.is_o_const_id_comap_norm_at_top Asymptotics.isLittleO_const_id_cobounded
 
 theorem isLittleO_const_id_atTop (c : E'') : (fun _x : ℝ => c) =o[atTop] id :=
   isLittleO_const_left.2 <| Or.inr tendsto_abs_atTop_atTop
feat(NormedSpace/FiniteDimension): add IsBigO.comp_summable (#8359)

Add Asymptotics.IsBigO.comp_summable.

Diff
@@ -2214,19 +2214,25 @@ end Asymptotics
 
 open Asymptotics
 
-theorem summable_of_isBigO {ι E} [NormedAddCommGroup E] [CompleteSpace E] {f : ι → E} {g : ι → ℝ}
-    (hg : Summable g) (h : f =O[cofinite] g) : Summable f :=
+theorem summable_of_isBigO {ι E} [SeminormedAddCommGroup E] [CompleteSpace E]
+    {f : ι → E} {g : ι → ℝ} (hg : Summable g) (h : f =O[cofinite] g) : Summable f :=
   let ⟨C, hC⟩ := h.isBigOWith
   .of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.mul_left _) hC.bound
 set_option linter.uppercaseLean3 false in
 #align summable_of_is_O summable_of_isBigO
 
-theorem summable_of_isBigO_nat {E} [NormedAddCommGroup E] [CompleteSpace E] {f : ℕ → E} {g : ℕ → ℝ}
-    (hg : Summable g) (h : f =O[atTop] g) : Summable f :=
+theorem summable_of_isBigO_nat {E} [SeminormedAddCommGroup E] [CompleteSpace E]
+    {f : ℕ → E} {g : ℕ → ℝ} (hg : Summable g) (h : f =O[atTop] g) : Summable f :=
   summable_of_isBigO hg <| Nat.cofinite_eq_atTop.symm ▸ h
 set_option linter.uppercaseLean3 false in
 #align summable_of_is_O_nat summable_of_isBigO_nat
 
+lemma Asymptotics.IsBigO.comp_summable_norm {ι E F : Type*}
+    [SeminormedAddCommGroup E] [SeminormedAddCommGroup F] {f : E → F} {g : ι → E}
+    (hf : f =O[𝓝 0] id) (hg : Summable (‖g ·‖)) : Summable (‖f <| g ·‖) :=
+  summable_of_isBigO hg <| hf.norm_norm.comp_tendsto <|
+    tendsto_zero_iff_norm_tendsto_zero.2 hg.tendsto_cofinite_zero
+
 namespace LocalHomeomorph
 
 variable {α : Type*} {β : Type*} [TopologicalSpace α] [TopologicalSpace β]
chore: tidy various files (#8398)
Diff
@@ -235,22 +235,22 @@ theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith
 #align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weaken
 
 theorem IsBigOWith.exists_pos (h : IsBigOWith c l f g') :
-    ∃ (c' : _) (_H : 0 < c'), IsBigOWith c' l f g' :=
+    ∃ c' > 0, IsBigOWith c' l f g' :=
   ⟨max c 1, lt_of_lt_of_le zero_lt_one (le_max_right c 1), h.weaken <| le_max_left c 1⟩
 #align asymptotics.is_O_with.exists_pos Asymptotics.IsBigOWith.exists_pos
 
-theorem IsBigO.exists_pos (h : f =O[l] g') : ∃ (c : _) (_H : 0 < c), IsBigOWith c l f g' :=
+theorem IsBigO.exists_pos (h : f =O[l] g') : ∃ c > 0, IsBigOWith c l f g' :=
   let ⟨_c, hc⟩ := h.isBigOWith
   hc.exists_pos
 #align asymptotics.is_O.exists_pos Asymptotics.IsBigO.exists_pos
 
 theorem IsBigOWith.exists_nonneg (h : IsBigOWith c l f g') :
-    ∃ (c' : _) (_H : 0 ≤ c'), IsBigOWith c' l f g' :=
+    ∃ c' ≥ 0, IsBigOWith c' l f g' :=
   let ⟨c, cpos, hc⟩ := h.exists_pos
   ⟨c, le_of_lt cpos, hc⟩
 #align asymptotics.is_O_with.exists_nonneg Asymptotics.IsBigOWith.exists_nonneg
 
-theorem IsBigO.exists_nonneg (h : f =O[l] g') : ∃ (c : _) (_H : 0 ≤ c), IsBigOWith c l f g' :=
+theorem IsBigO.exists_nonneg (h : f =O[l] g') : ∃ c ≥ 0, IsBigOWith c l f g' :=
   let ⟨_c, hc⟩ := h.isBigOWith
   hc.exists_nonneg
 #align asymptotics.is_O.exists_nonneg Asymptotics.IsBigO.exists_nonneg
@@ -268,8 +268,8 @@ theorem isBigO_iff_eventually : f =O[l] g' ↔ ∀ᶠ c in atTop, ∀ᶠ x in l,
 
 theorem IsBigO.exists_mem_basis {ι} {p : ι → Prop} {s : ι → Set α} (h : f =O[l] g')
     (hb : l.HasBasis p s) :
-    ∃ (c : ℝ) (_hc : 0 < c) (i : ι) (_hi : p i), ∀ x ∈ s i, ‖f x‖ ≤ c * ‖g' x‖ :=
-  flip Exists₂.imp h.exists_pos fun c _hc h => by
+    ∃ c > 0, ∃ i : ι, p i ∧ ∀ x ∈ s i, ‖f x‖ ≤ c * ‖g' x‖ :=
+  flip Exists.imp h.exists_pos fun c h => by
     simpa only [isBigOWith_iff, hb.eventually_iff, exists_prop] using h
 #align asymptotics.is_O.exists_mem_basis Asymptotics.IsBigO.exists_mem_basis
 
@@ -1094,11 +1094,11 @@ variable {f₁ f₂ : α → E'} {g₁ g₂ : α → F'}
 
 theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂ l f₂ g) :
     IsBigOWith (c₁ + c₂) l (fun x => f₁ x + f₂ x) g := by
-  rw [IsBigOWith_def] at *;
-    filter_upwards [h₁,
-      h₂] with x hx₁ hx₂ using calc
-        ‖f₁ x + f₂ x‖ ≤ c₁ * ‖g x‖ + c₂ * ‖g x‖ := norm_add_le_of_le hx₁ hx₂
-        _ = (c₁ + c₂) * ‖g x‖ := (add_mul _ _ _).symm
+  rw [IsBigOWith_def] at *
+  filter_upwards [h₁, h₂] with x hx₁ hx₂ using
+    calc
+      ‖f₁ x + f₂ x‖ ≤ c₁ * ‖g x‖ + c₂ * ‖g x‖ := norm_add_le_of_le hx₁ hx₂
+      _ = (c₁ + c₂) * ‖g x‖ := (add_mul _ _ _).symm
 #align asymptotics.is_O_with.add Asymptotics.IsBigOWith.add
 
 theorem IsBigO.add (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
@@ -1269,8 +1269,8 @@ theorem isBigO_zero_right_iff : (f'' =O[l] fun _x => (0 : F')) ↔ f'' =ᶠ[l] 0
 
 @[simp]
 theorem isLittleO_zero_right_iff : (f'' =o[l] fun _x => (0 : F')) ↔ f'' =ᶠ[l] 0 :=
-  ⟨fun h => isBigO_zero_right_iff.1 h.isBigO, fun h =>
-    IsLittleO.of_isBigOWith fun _c _hc => isBigOWith_zero_right_iff.2 h⟩
+  ⟨fun h => isBigO_zero_right_iff.1 h.isBigO,
+   fun h => IsLittleO.of_isBigOWith fun _c _hc => isBigOWith_zero_right_iff.2 h⟩
 #align asymptotics.is_o_zero_right_iff Asymptotics.isLittleO_zero_right_iff
 
 theorem isBigOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
@@ -1278,9 +1278,7 @@ theorem isBigOWith_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter 
   simp only [IsBigOWith_def]
   apply univ_mem'
   intro x
-  simp only [mem_setOf_eq]
-  rw [div_mul_cancel]
-  rwa [Ne.def, norm_eq_zero]
+  rw [mem_setOf, div_mul_cancel _ (norm_ne_zero_iff.mpr hc')]
 #align asymptotics.is_O_with_const_const Asymptotics.isBigOWith_const_const
 
 theorem isBigO_const_const (c : E) {c' : F''} (hc' : c' ≠ 0) (l : Filter α) :
@@ -1306,12 +1304,12 @@ theorem isBigO_pure {x} : f'' =O[pure x] g'' ↔ g'' x = 0 → f'' x = 0 :=
 end ZeroConst
 
 @[simp]
-theorem isBigOWith_principal {s : Set α} : IsBigOWith c (𝓟 s) f g ↔ ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ :=
-  by rw [IsBigOWith_def]; rfl
+theorem isBigOWith_principal {s : Set α} : IsBigOWith c (𝓟 s) f g ↔ ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
+  rw [IsBigOWith_def, eventually_principal]
 #align asymptotics.is_O_with_principal Asymptotics.isBigOWith_principal
 
 theorem isBigO_principal {s : Set α} : f =O[𝓟 s] g ↔ ∃ c, ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
-  rw [isBigO_iff]; rfl
+  simp_rw [isBigO_iff, eventually_principal]
 #align asymptotics.is_O_principal Asymptotics.isBigO_principal
 
 @[simp]
@@ -1319,8 +1317,8 @@ theorem isLittleO_principal {s : Set α} : f'' =o[𝓟 s] g' ↔ ∀ x ∈ s, f'
   refine ⟨fun h x hx ↦ norm_le_zero_iff.1 ?_, fun h ↦ ?_⟩
   · simp only [isLittleO_iff, isBigOWith_principal] at h
     have : Tendsto (fun c : ℝ => c * ‖g' x‖) (𝓝[>] 0) (𝓝 0) :=
-    ((continuous_id.mul continuous_const).tendsto' _ _ (zero_mul _)).mono_left
-      inf_le_left
+      ((continuous_id.mul continuous_const).tendsto' _ _ (zero_mul _)).mono_left
+        inf_le_left
     apply le_of_tendsto_of_tendsto tendsto_const_nhds this
     apply eventually_nhdsWithin_iff.2 (eventually_of_forall (fun c hc ↦ ?_))
     exact eventually_principal.1 (h hc) x hx
@@ -1328,11 +1326,13 @@ theorem isLittleO_principal {s : Set α} : f'' =o[𝓟 s] g' ↔ ∀ x ∈ s, f'
     exact fun x hx ↦ (h x hx).symm
 
 @[simp]
-theorem isBigOWith_top : IsBigOWith c ⊤ f g ↔ ∀ x, ‖f x‖ ≤ c * ‖g x‖ := by rw [IsBigOWith_def]; rfl
+theorem isBigOWith_top : IsBigOWith c ⊤ f g ↔ ∀ x, ‖f x‖ ≤ c * ‖g x‖ := by
+  rw [IsBigOWith_def, eventually_top]
 #align asymptotics.is_O_with_top Asymptotics.isBigOWith_top
 
 @[simp]
-theorem isBigO_top : f =O[⊤] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ := by rw [isBigO_iff]; rfl
+theorem isBigO_top : f =O[⊤] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ := by
+  simp_rw [isBigO_iff, eventually_top]
 #align asymptotics.is_O_top Asymptotics.isBigO_top
 
 @[simp]
@@ -1355,8 +1355,8 @@ theorem isBigO_const_one (c : E) (l : Filter α) : (fun _x : α => c) =O[l] fun
 
 theorem isLittleO_const_iff_isLittleO_one {c : F''} (hc : c ≠ 0) :
     (f =o[l] fun _x => c) ↔ f =o[l] fun _x => (1 : F) :=
-  ⟨fun h => h.trans_isBigOWith (isBigOWith_const_one _ _ _) (norm_pos_iff.2 hc), fun h =>
-    h.trans_isBigO <| isBigO_const_const _ hc _⟩
+  ⟨fun h => h.trans_isBigOWith (isBigOWith_const_one _ _ _) (norm_pos_iff.2 hc),
+   fun h => h.trans_isBigO <| isBigO_const_const _ hc _⟩
 #align asymptotics.is_o_const_iff_is_o_one Asymptotics.isLittleO_const_iff_isLittleO_one
 
 @[simp]
@@ -1368,8 +1368,7 @@ theorem isLittleO_one_iff : f' =o[l] (fun _x => 1 : α → F) ↔ Tendsto f' l (
 @[simp]
 theorem isBigO_one_iff : f =O[l] (fun _x => 1 : α → F) ↔
     IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ := by
-  simp only [isBigO_iff, norm_one, mul_one]
-  rfl
+  simp only [isBigO_iff, norm_one, mul_one, IsBoundedUnder, IsBounded, eventually_map]
 #align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iff
 
 alias ⟨_, _root_.Filter.IsBoundedUnder.isBigO_one⟩ := isBigO_one_iff
@@ -1684,14 +1683,14 @@ theorem IsBigO.pow {f : α → R} {g : α → 𝕜} (h : f =O[l] g) (n : ℕ) :
 theorem IsBigO.of_pow {f : α → 𝕜} {g : α → R} {n : ℕ} (hn : n ≠ 0) (h : (f ^ n) =O[l] (g ^ n)) :
     f =O[l] g := by
   rcases h.exists_pos with ⟨C, _hC₀, hC⟩
-  obtain ⟨c, hc₀, hc⟩ : ∃ c : ℝ, 0 ≤ c ∧ C ≤ c ^ n
-  exact ((eventually_ge_atTop _).and <| (tendsto_pow_atTop hn).eventually_ge_atTop C).exists
+  obtain ⟨c : ℝ, hc₀ : 0 ≤ c, hc : C ≤ c ^ n⟩ :=
+    ((eventually_ge_atTop _).and <| (tendsto_pow_atTop hn).eventually_ge_atTop C).exists
   exact (hC.of_pow hn hc hc₀).isBigO
 #align asymptotics.is_O.of_pow Asymptotics.IsBigO.of_pow
 
 theorem IsLittleO.pow {f : α → R} {g : α → 𝕜} (h : f =o[l] g) {n : ℕ} (hn : 0 < n) :
     (fun x => f x ^ n) =o[l] fun x => g x ^ n := by
-  cases' n with n; exact hn.false.elim; clear hn
+  obtain ⟨n, rfl⟩ := Nat.exists_eq_succ_of_ne_zero hn.ne'; clear hn
   induction' n with n ihn
   · simpa only [Nat.zero_eq, ←Nat.one_eq_succ_zero, pow_one]
   · convert h.mul ihn <;> simp [pow_succ]
@@ -1709,7 +1708,7 @@ theorem IsBigOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsBigOWith
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : IsBigOWith c l (fun x => (g x)⁻¹) fun x => (f x)⁻¹ := by
   refine' IsBigOWith.of_bound (h.bound.mp (h₀.mono fun x h₀ hle => _))
   cases' eq_or_ne (f x) 0 with hx hx
-  · simp only [hx, h₀ hx, inv_zero, norm_zero, mul_zero]; rfl
+  · simp only [hx, h₀ hx, inv_zero, norm_zero, mul_zero, le_rfl]
   · have hc : 0 < c := pos_of_mul_pos_left ((norm_pos_iff.2 hx).trans_le hle) (norm_nonneg _)
     replace hle := inv_le_inv_of_le (norm_pos_iff.2 hx) hle
     simpa only [norm_inv, mul_inv, ← div_eq_inv_mul, div_le_iff hc] using hle
@@ -1729,7 +1728,7 @@ theorem IsLittleO.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : f =o[l] g)
 /-! ### Scalar multiplication -/
 
 
-section SmulConst
+section SMulConst
 
 variable [NormedSpace 𝕜 E']
 
@@ -1751,7 +1750,7 @@ theorem IsLittleO.const_smul_left (h : f' =o[l] g) (c : 𝕜) : (c • f') =o[l]
 #align asymptotics.is_o.const_smul_left Asymptotics.IsLittleO.const_smul_left
 
 theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x) =O[l] g ↔ f' =O[l] g := by
-  have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
+  have cne0 : ‖c‖ ≠ 0 := norm_ne_zero_iff.mpr hc
   rw [← isBigO_norm_left]
   simp only [norm_smul]
   rw [isBigO_const_mul_left_iff cne0, isBigO_norm_left]
@@ -1759,7 +1758,7 @@ theorem isBigO_const_smul_left {c : 𝕜} (hc : c ≠ 0) : (fun x => c • f' x)
 
 theorem isLittleO_const_smul_left {c : 𝕜} (hc : c ≠ 0) :
     (fun x => c • f' x) =o[l] g ↔ f' =o[l] g := by
-  have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
+  have cne0 : ‖c‖ ≠ 0 := norm_ne_zero_iff.mpr hc
   rw [← isLittleO_norm_left]
   simp only [norm_smul]
   rw [isLittleO_const_mul_left_iff cne0, isLittleO_norm_left]
@@ -1767,7 +1766,7 @@ theorem isLittleO_const_smul_left {c : 𝕜} (hc : c ≠ 0) :
 
 theorem isBigO_const_smul_right {c : 𝕜} (hc : c ≠ 0) :
     (f =O[l] fun x => c • f' x) ↔ f =O[l] f' := by
-  have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
+  have cne0 : ‖c‖ ≠ 0 := norm_ne_zero_iff.mpr hc
   rw [← isBigO_norm_right]
   simp only [norm_smul]
   rw [isBigO_const_mul_right_iff cne0, isBigO_norm_right]
@@ -1775,15 +1774,15 @@ theorem isBigO_const_smul_right {c : 𝕜} (hc : c ≠ 0) :
 
 theorem isLittleO_const_smul_right {c : 𝕜} (hc : c ≠ 0) :
     (f =o[l] fun x => c • f' x) ↔ f =o[l] f' := by
-  have cne0 : ‖c‖ ≠ 0 := mt norm_eq_zero.mp hc
+  have cne0 : ‖c‖ ≠ 0 := norm_ne_zero_iff.mpr hc
   rw [← isLittleO_norm_right]
   simp only [norm_smul]
   rw [isLittleO_const_mul_right_iff cne0, isLittleO_norm_right]
 #align asymptotics.is_o_const_smul_right Asymptotics.isLittleO_const_smul_right
 
-end SmulConst
+end SMulConst
 
-section Smul
+section SMul
 
 variable [NormedSpace 𝕜 E'] [NormedSpace 𝕜' F'] {k₁ : α → 𝕜} {k₂ : α → 𝕜'}
 
@@ -1817,7 +1816,7 @@ theorem IsLittleO.smul (h₁ : k₁ =o[l] k₂) (h₂ : f' =o[l] g') :
     · intros; simp only [norm_smul]
 #align asymptotics.is_o.smul Asymptotics.IsLittleO.smul
 
-end Smul
+end SMul
 
 /-! ### Sum -/
 
@@ -2053,8 +2052,8 @@ theorem isBigO_of_div_tendsto_nhds {α : Type*} {l : Filter α} {f g : α → 
 theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type*} [NormedAddCommGroup E] [NormedField 𝕜]
     {u : α → E} {v : α → 𝕜} {l : Filter α} {y : 𝕜} (huv : u =o[l] v) (hv : Tendsto v l (𝓝 y)) :
     Tendsto u l (𝓝 0) := by
-  suffices h : u =o[l] fun _x => (1 : 𝕜)
-  · rwa [isLittleO_one_iff] at h
+  suffices h : u =o[l] fun _x => (1 : 𝕜) by
+    rwa [isLittleO_one_iff] at h
   exact huv.trans_isBigO (hv.isBigO_one 𝕜)
 #align asymptotics.is_o.tendsto_zero_of_tendsto Asymptotics.IsLittleO.tendsto_zero_of_tendsto
 
@@ -2194,12 +2193,12 @@ theorem isLittleO_pi {ι : Type*} [Fintype ι] {E' : ι → Type*} [∀ i, Norme
 
 theorem IsBigO.nat_cast_atTop {R : Type*} [StrictOrderedSemiring R] [Archimedean R]
     {f : R → E} {g : R → F} (h : f =O[atTop] g) :
-    (fun (n:ℕ) => f n) =O[atTop] (fun n => g n) :=
+    (fun (n : ℕ) => f n) =O[atTop] (fun n => g n) :=
   IsBigO.comp_tendsto h tendsto_nat_cast_atTop_atTop
 
 theorem IsLittleO.nat_cast_atTop {R : Type*} [StrictOrderedSemiring R] [Archimedean R]
     {f : R → E} {g : R → F} (h : f =o[atTop] g) :
-    (fun (n:ℕ) => f n) =o[atTop] (fun n => g n) :=
+    (fun (n : ℕ) => f n) =o[atTop] (fun n => g n) :=
   IsLittleO.comp_tendsto h tendsto_nat_cast_atTop_atTop
 
 theorem isBigO_atTop_iff_eventually_exists {α : Type*} [SemilatticeSup α] [Nonempty α]
chore(InfiniteSum): use dot notation (#8358)

Rename

  • summable_of_norm_bounded -> Summable.of_norm_bounded;
  • summable_of_norm_bounded_eventually -> Summable.of_norm_bounded_eventually;
  • summable_of_nnnorm_bounded -> Summable.of_nnnorm_bounded;
  • summable_of_summable_norm -> Summable.of_norm;
  • summable_of_summable_nnnorm -> Summable.of_nnnorm;

New lemmas

  • Summable.of_norm_bounded_eventually_nat
  • Summable.norm

Misc changes

  • Golf a few proofs.
Diff
@@ -2218,7 +2218,7 @@ open Asymptotics
 theorem summable_of_isBigO {ι E} [NormedAddCommGroup E] [CompleteSpace E] {f : ι → E} {g : ι → ℝ}
     (hg : Summable g) (h : f =O[cofinite] g) : Summable f :=
   let ⟨C, hC⟩ := h.isBigOWith
-  summable_of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.mul_left _) hC.bound
+  .of_norm_bounded_eventually (fun x => C * ‖g x‖) (hg.abs.mul_left _) hC.bound
 set_option linter.uppercaseLean3 false in
 #align summable_of_is_O summable_of_isBigO
 
chore: missing spaces after rcases, convert and congrm (#7725)

Replace rcases( with rcases (. Same thing for convert( and congrm(. No other change.

Diff
@@ -618,7 +618,7 @@ theorem IsLittleO.trans_le (hfg : f =o[l] g) (hgk : ∀ x, ‖g x‖ ≤ ‖k x
 
 theorem isLittleO_irrefl' (h : ∃ᶠ x in l, ‖f' x‖ ≠ 0) : ¬f' =o[l] f' := by
   intro ho
-  rcases((ho.bound one_half_pos).and_frequently h).exists with ⟨x, hle, hne⟩
+  rcases ((ho.bound one_half_pos).and_frequently h).exists with ⟨x, hle, hne⟩
   rw [one_div, ← div_eq_inv_mul] at hle
   exact (half_lt_self (lt_of_le_of_ne (norm_nonneg _) hne.symm)).not_le hle
 #align asymptotics.is_o_irrefl' Asymptotics.isLittleO_irrefl'
chore: cleanup typo in filter_upwards (#7719)

mathport was forgetting a space in filter_upwards [...]with instead of filter_upwards [...] with.

Diff
@@ -330,7 +330,7 @@ theorem isBigOWith_congr (hc : c₁ = c₂) (hf : f₁ =ᶠ[l] f₂) (hg : g₁
   simp only [IsBigOWith_def]
   subst c₂
   apply Filter.eventually_congr
-  filter_upwards [hf, hg]with _ e₁ e₂
+  filter_upwards [hf, hg] with _ e₁ e₂
   rw [e₁, e₂]
 #align asymptotics.is_O_with_congr Asymptotics.isBigOWith_congr
 
@@ -494,7 +494,7 @@ theorem IsLittleO.mono (h : f =o[l'] g) (hl : l ≤ l') : f =o[l] g :=
 theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k) (hc : 0 ≤ c) :
     IsBigOWith (c * c') l f k := by
   simp only [IsBigOWith_def] at *
-  filter_upwards [hfg, hgk]with x hx hx'
+  filter_upwards [hfg, hgk] with x hx hx'
   calc
     ‖f x‖ ≤ c * ‖g x‖ := hx
     _ ≤ c * (c' * ‖k x‖) := by gcongr
@@ -1015,7 +1015,7 @@ end
 
 theorem IsBigOWith.prod_left_same (hf : IsBigOWith c l f' k') (hg : IsBigOWith c l g' k') :
     IsBigOWith c l (fun x => (f' x, g' x)) k' := by
-  rw [isBigOWith_iff] at *; filter_upwards [hf, hg]with x using max_le
+  rw [isBigOWith_iff] at *; filter_upwards [hf, hg] with x using max_le
 #align asymptotics.is_O_with.prod_left_same Asymptotics.IsBigOWith.prod_left_same
 
 theorem IsBigOWith.prod_left (hf : IsBigOWith c l f' k') (hg : IsBigOWith c' l g' k') :
@@ -1096,7 +1096,7 @@ theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂
     IsBigOWith (c₁ + c₂) l (fun x => f₁ x + f₂ x) g := by
   rw [IsBigOWith_def] at *;
     filter_upwards [h₁,
-      h₂]with x hx₁ hx₂ using calc
+      h₂] with x hx₁ hx₂ using calc
         ‖f₁ x + f₂ x‖ ≤ c₁ * ‖g x‖ + c₂ * ‖g x‖ := norm_add_le_of_le hx₁ hx₂
         _ = (c₁ + c₂) * ‖g x‖ := (add_mul _ _ _).symm
 #align asymptotics.is_O_with.add Asymptotics.IsBigOWith.add
@@ -1615,7 +1615,7 @@ theorem IsBigOWith.mul {f₁ f₂ : α → R} {g₁ g₂ : α → 𝕜} {c₁ c
     (h₂ : IsBigOWith c₂ l f₂ g₂) :
     IsBigOWith (c₁ * c₂) l (fun x => f₁ x * f₂ x) fun x => g₁ x * g₂ x := by
   simp only [IsBigOWith_def] at *
-  filter_upwards [h₁, h₂]with _ hx₁ hx₂
+  filter_upwards [h₁, h₂] with _ hx₁ hx₂
   apply le_trans (norm_mul_le _ _)
   convert mul_le_mul hx₁ hx₂ (norm_nonneg _) (le_trans (norm_nonneg _) hx₁) using 1
   rw [norm_mul, mul_mul_mul_comm]
feat: characterize isLittleO on principal filters (#7008)

And use this to golf isLittleO_top.

Diff
@@ -1305,6 +1305,28 @@ theorem isBigO_pure {x} : f'' =O[pure x] g'' ↔ g'' x = 0 → f'' x = 0 :=
 
 end ZeroConst
 
+@[simp]
+theorem isBigOWith_principal {s : Set α} : IsBigOWith c (𝓟 s) f g ↔ ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ :=
+  by rw [IsBigOWith_def]; rfl
+#align asymptotics.is_O_with_principal Asymptotics.isBigOWith_principal
+
+theorem isBigO_principal {s : Set α} : f =O[𝓟 s] g ↔ ∃ c, ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
+  rw [isBigO_iff]; rfl
+#align asymptotics.is_O_principal Asymptotics.isBigO_principal
+
+@[simp]
+theorem isLittleO_principal {s : Set α} : f'' =o[𝓟 s] g' ↔ ∀ x ∈ s, f'' x = 0 := by
+  refine ⟨fun h x hx ↦ norm_le_zero_iff.1 ?_, fun h ↦ ?_⟩
+  · simp only [isLittleO_iff, isBigOWith_principal] at h
+    have : Tendsto (fun c : ℝ => c * ‖g' x‖) (𝓝[>] 0) (𝓝 0) :=
+    ((continuous_id.mul continuous_const).tendsto' _ _ (zero_mul _)).mono_left
+      inf_le_left
+    apply le_of_tendsto_of_tendsto tendsto_const_nhds this
+    apply eventually_nhdsWithin_iff.2 (eventually_of_forall (fun c hc ↦ ?_))
+    exact eventually_principal.1 (h hc) x hx
+  · apply (isLittleO_zero g' _).congr' ?_ EventuallyEq.rfl
+    exact fun x hx ↦ (h x hx).symm
+
 @[simp]
 theorem isBigOWith_top : IsBigOWith c ⊤ f g ↔ ∀ x, ‖f x‖ ≤ c * ‖g x‖ := by rw [IsBigOWith_def]; rfl
 #align asymptotics.is_O_with_top Asymptotics.isBigOWith_top
@@ -1314,27 +1336,10 @@ theorem isBigO_top : f =O[⊤] g ↔ ∃ C, ∀ x, ‖f x‖ ≤ C * ‖g x‖ :
 #align asymptotics.is_O_top Asymptotics.isBigO_top
 
 @[simp]
-theorem isLittleO_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 := by
-  refine' ⟨_, fun h => (isLittleO_zero g'' ⊤).congr (fun x => (h x).symm) fun x => rfl⟩
-  simp only [isLittleO_iff, eventually_top]
-  refine' fun h x => norm_le_zero_iff.1 _
-  have : Tendsto (fun c : ℝ => c * ‖g'' x‖) (𝓝[>] 0) (𝓝 0) :=
-    ((continuous_id.mul continuous_const).tendsto' _ _ (zero_mul _)).mono_left
-      inf_le_left
-  exact
-    le_of_tendsto_of_tendsto tendsto_const_nhds this
-      (eventually_nhdsWithin_iff.2 <| eventually_of_forall fun c hc => h hc x)
+theorem isLittleO_top : f'' =o[⊤] g' ↔ ∀ x, f'' x = 0 := by
+  simp only [← principal_univ, isLittleO_principal, mem_univ, forall_true_left]
 #align asymptotics.is_o_top Asymptotics.isLittleO_top
 
-@[simp]
-theorem isBigOWith_principal {s : Set α} : IsBigOWith c (𝓟 s) f g ↔ ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ :=
-  by rw [IsBigOWith_def]; rfl
-#align asymptotics.is_O_with_principal Asymptotics.isBigOWith_principal
-
-theorem isBigO_principal {s : Set α} : f =O[𝓟 s] g ↔ ∃ c, ∀ x ∈ s, ‖f x‖ ≤ c * ‖g x‖ := by
-  rw [isBigO_iff]; rfl
-#align asymptotics.is_O_principal Asymptotics.isBigO_principal
-
 section
 
 variable (F)
feat: patch for new alias command (#6172)
Diff
@@ -93,7 +93,7 @@ irreducible_def IsBigOWith (c : ℝ) (l : Filter α) (f : α → E) (g : α →
 theorem isBigOWith_iff : IsBigOWith c l f g ↔ ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by rw [IsBigOWith_def]
 #align asymptotics.is_O_with_iff Asymptotics.isBigOWith_iff
 
-alias isBigOWith_iff ↔ IsBigOWith.bound IsBigOWith.of_bound
+alias ⟨IsBigOWith.bound, IsBigOWith.of_bound⟩ := isBigOWith_iff
 #align asymptotics.is_O_with.bound Asymptotics.IsBigOWith.bound
 #align asymptotics.is_O_with.of_bound Asymptotics.IsBigOWith.of_bound
 
@@ -182,7 +182,7 @@ theorem isLittleO_iff_forall_isBigOWith : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c
   rw [IsLittleO_def]
 #align asymptotics.is_o_iff_forall_is_O_with Asymptotics.isLittleO_iff_forall_isBigOWith
 
-alias isLittleO_iff_forall_isBigOWith ↔ IsLittleO.forall_isBigOWith IsLittleO.of_isBigOWith
+alias ⟨IsLittleO.forall_isBigOWith, IsLittleO.of_isBigOWith⟩ := isLittleO_iff_forall_isBigOWith
 #align asymptotics.is_o.forall_is_O_with Asymptotics.IsLittleO.forall_isBigOWith
 #align asymptotics.is_o.of_is_O_with Asymptotics.IsLittleO.of_isBigOWith
 
@@ -191,7 +191,7 @@ theorem isLittleO_iff : f =o[l] g ↔ ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ x in l
   simp only [IsLittleO_def, IsBigOWith_def]
 #align asymptotics.is_o_iff Asymptotics.isLittleO_iff
 
-alias isLittleO_iff ↔ IsLittleO.bound IsLittleO.of_bound
+alias ⟨IsLittleO.bound, IsLittleO.of_bound⟩ := isLittleO_iff
 #align asymptotics.is_o.bound Asymptotics.IsLittleO.bound
 #align asymptotics.is_o.of_bound Asymptotics.IsLittleO.of_bound
 
@@ -737,11 +737,11 @@ theorem isBigOWith_abs_right : (IsBigOWith c l f fun x => |u x|) ↔ IsBigOWith
   @isBigOWith_norm_right _ _ _ _ _ _ f u l
 #align asymptotics.is_O_with_abs_right Asymptotics.isBigOWith_abs_right
 
-alias isBigOWith_norm_right ↔ IsBigOWith.of_norm_right IsBigOWith.norm_right
+alias ⟨IsBigOWith.of_norm_right, IsBigOWith.norm_right⟩ := isBigOWith_norm_right
 #align asymptotics.is_O_with.of_norm_right Asymptotics.IsBigOWith.of_norm_right
 #align asymptotics.is_O_with.norm_right Asymptotics.IsBigOWith.norm_right
 
-alias isBigOWith_abs_right ↔ IsBigOWith.of_abs_right IsBigOWith.abs_right
+alias ⟨IsBigOWith.of_abs_right, IsBigOWith.abs_right⟩ := isBigOWith_abs_right
 #align asymptotics.is_O_with.of_abs_right Asymptotics.IsBigOWith.of_abs_right
 #align asymptotics.is_O_with.abs_right Asymptotics.IsBigOWith.abs_right
 
@@ -756,11 +756,11 @@ theorem isBigO_abs_right : (f =O[l] fun x => |u x|) ↔ f =O[l] u :=
   @isBigO_norm_right _ _ ℝ _ _ _ _ _
 #align asymptotics.is_O_abs_right Asymptotics.isBigO_abs_right
 
-alias isBigO_norm_right ↔ IsBigO.of_norm_right IsBigO.norm_right
+alias ⟨IsBigO.of_norm_right, IsBigO.norm_right⟩ := isBigO_norm_right
 #align asymptotics.is_O.of_norm_right Asymptotics.IsBigO.of_norm_right
 #align asymptotics.is_O.norm_right Asymptotics.IsBigO.norm_right
 
-alias isBigO_abs_right ↔ IsBigO.of_abs_right IsBigO.abs_right
+alias ⟨IsBigO.of_abs_right, IsBigO.abs_right⟩ := isBigO_abs_right
 #align asymptotics.is_O.of_abs_right Asymptotics.IsBigO.of_abs_right
 #align asymptotics.is_O.abs_right Asymptotics.IsBigO.abs_right
 
@@ -775,11 +775,11 @@ theorem isLittleO_abs_right : (f =o[l] fun x => |u x|) ↔ f =o[l] u :=
   @isLittleO_norm_right _ _ ℝ _ _ _ _ _
 #align asymptotics.is_o_abs_right Asymptotics.isLittleO_abs_right
 
-alias isLittleO_norm_right ↔ IsLittleO.of_norm_right IsLittleO.norm_right
+alias ⟨IsLittleO.of_norm_right, IsLittleO.norm_right⟩ := isLittleO_norm_right
 #align asymptotics.is_o.of_norm_right Asymptotics.IsLittleO.of_norm_right
 #align asymptotics.is_o.norm_right Asymptotics.IsLittleO.norm_right
 
-alias isLittleO_abs_right ↔ IsLittleO.of_abs_right IsLittleO.abs_right
+alias ⟨IsLittleO.of_abs_right, IsLittleO.abs_right⟩ := isLittleO_abs_right
 #align asymptotics.is_o.of_abs_right Asymptotics.IsLittleO.of_abs_right
 #align asymptotics.is_o.abs_right Asymptotics.IsLittleO.abs_right
 
@@ -793,11 +793,11 @@ theorem isBigOWith_abs_left : IsBigOWith c l (fun x => |u x|) g ↔ IsBigOWith c
   @isBigOWith_norm_left _ _ _ _ _ _ g u l
 #align asymptotics.is_O_with_abs_left Asymptotics.isBigOWith_abs_left
 
-alias isBigOWith_norm_left ↔ IsBigOWith.of_norm_left IsBigOWith.norm_left
+alias ⟨IsBigOWith.of_norm_left, IsBigOWith.norm_left⟩ := isBigOWith_norm_left
 #align asymptotics.is_O_with.of_norm_left Asymptotics.IsBigOWith.of_norm_left
 #align asymptotics.is_O_with.norm_left Asymptotics.IsBigOWith.norm_left
 
-alias isBigOWith_abs_left ↔ IsBigOWith.of_abs_left IsBigOWith.abs_left
+alias ⟨IsBigOWith.of_abs_left, IsBigOWith.abs_left⟩ := isBigOWith_abs_left
 #align asymptotics.is_O_with.of_abs_left Asymptotics.IsBigOWith.of_abs_left
 #align asymptotics.is_O_with.abs_left Asymptotics.IsBigOWith.abs_left
 
@@ -812,11 +812,11 @@ theorem isBigO_abs_left : (fun x => |u x|) =O[l] g ↔ u =O[l] g :=
   @isBigO_norm_left _ _ _ _ _ g u l
 #align asymptotics.is_O_abs_left Asymptotics.isBigO_abs_left
 
-alias isBigO_norm_left ↔ IsBigO.of_norm_left IsBigO.norm_left
+alias ⟨IsBigO.of_norm_left, IsBigO.norm_left⟩ := isBigO_norm_left
 #align asymptotics.is_O.of_norm_left Asymptotics.IsBigO.of_norm_left
 #align asymptotics.is_O.norm_left Asymptotics.IsBigO.norm_left
 
-alias isBigO_abs_left ↔ IsBigO.of_abs_left IsBigO.abs_left
+alias ⟨IsBigO.of_abs_left, IsBigO.abs_left⟩ := isBigO_abs_left
 #align asymptotics.is_O.of_abs_left Asymptotics.IsBigO.of_abs_left
 #align asymptotics.is_O.abs_left Asymptotics.IsBigO.abs_left
 
@@ -831,11 +831,11 @@ theorem isLittleO_abs_left : (fun x => |u x|) =o[l] g ↔ u =o[l] g :=
   @isLittleO_norm_left _ _ _ _ _ g u l
 #align asymptotics.is_o_abs_left Asymptotics.isLittleO_abs_left
 
-alias isLittleO_norm_left ↔ IsLittleO.of_norm_left IsLittleO.norm_left
+alias ⟨IsLittleO.of_norm_left, IsLittleO.norm_left⟩ := isLittleO_norm_left
 #align asymptotics.is_o.of_norm_left Asymptotics.IsLittleO.of_norm_left
 #align asymptotics.is_o.norm_left Asymptotics.IsLittleO.norm_left
 
-alias isLittleO_abs_left ↔ IsLittleO.of_abs_left IsLittleO.abs_left
+alias ⟨IsLittleO.of_abs_left, IsLittleO.abs_left⟩ := isLittleO_abs_left
 #align asymptotics.is_o.of_abs_left Asymptotics.IsLittleO.of_abs_left
 #align asymptotics.is_o.abs_left Asymptotics.IsLittleO.abs_left
 
@@ -849,11 +849,11 @@ theorem isBigOWith_abs_abs :
   isBigOWith_abs_left.trans isBigOWith_abs_right
 #align asymptotics.is_O_with_abs_abs Asymptotics.isBigOWith_abs_abs
 
-alias isBigOWith_norm_norm ↔ IsBigOWith.of_norm_norm IsBigOWith.norm_norm
+alias ⟨IsBigOWith.of_norm_norm, IsBigOWith.norm_norm⟩ := isBigOWith_norm_norm
 #align asymptotics.is_O_with.of_norm_norm Asymptotics.IsBigOWith.of_norm_norm
 #align asymptotics.is_O_with.norm_norm Asymptotics.IsBigOWith.norm_norm
 
-alias isBigOWith_abs_abs ↔ IsBigOWith.of_abs_abs IsBigOWith.abs_abs
+alias ⟨IsBigOWith.of_abs_abs, IsBigOWith.abs_abs⟩ := isBigOWith_abs_abs
 #align asymptotics.is_O_with.of_abs_abs Asymptotics.IsBigOWith.of_abs_abs
 #align asymptotics.is_O_with.abs_abs Asymptotics.IsBigOWith.abs_abs
 
@@ -865,11 +865,11 @@ theorem isBigO_abs_abs : ((fun x => |u x|) =O[l] fun x => |v x|) ↔ u =O[l] v :
   isBigO_abs_left.trans isBigO_abs_right
 #align asymptotics.is_O_abs_abs Asymptotics.isBigO_abs_abs
 
-alias isBigO_norm_norm ↔ IsBigO.of_norm_norm IsBigO.norm_norm
+alias ⟨IsBigO.of_norm_norm, IsBigO.norm_norm⟩ := isBigO_norm_norm
 #align asymptotics.is_O.of_norm_norm Asymptotics.IsBigO.of_norm_norm
 #align asymptotics.is_O.norm_norm Asymptotics.IsBigO.norm_norm
 
-alias isBigO_abs_abs ↔ IsBigO.of_abs_abs IsBigO.abs_abs
+alias ⟨IsBigO.of_abs_abs, IsBigO.abs_abs⟩ := isBigO_abs_abs
 #align asymptotics.is_O.of_abs_abs Asymptotics.IsBigO.of_abs_abs
 #align asymptotics.is_O.abs_abs Asymptotics.IsBigO.abs_abs
 
@@ -881,11 +881,11 @@ theorem isLittleO_abs_abs : ((fun x => |u x|) =o[l] fun x => |v x|) ↔ u =o[l]
   isLittleO_abs_left.trans isLittleO_abs_right
 #align asymptotics.is_o_abs_abs Asymptotics.isLittleO_abs_abs
 
-alias isLittleO_norm_norm ↔ IsLittleO.of_norm_norm IsLittleO.norm_norm
+alias ⟨IsLittleO.of_norm_norm, IsLittleO.norm_norm⟩ := isLittleO_norm_norm
 #align asymptotics.is_o.of_norm_norm Asymptotics.IsLittleO.of_norm_norm
 #align asymptotics.is_o.norm_norm Asymptotics.IsLittleO.norm_norm
 
-alias isLittleO_abs_abs ↔ IsLittleO.of_abs_abs IsLittleO.abs_abs
+alias ⟨IsLittleO.of_abs_abs, IsLittleO.abs_abs⟩ := isLittleO_abs_abs
 #align asymptotics.is_o.of_abs_abs Asymptotics.IsLittleO.of_abs_abs
 #align asymptotics.is_o.abs_abs Asymptotics.IsLittleO.abs_abs
 
@@ -899,7 +899,7 @@ theorem isBigOWith_neg_right : (IsBigOWith c l f fun x => -g' x) ↔ IsBigOWith
   simp only [IsBigOWith_def, norm_neg]
 #align asymptotics.is_O_with_neg_right Asymptotics.isBigOWith_neg_right
 
-alias isBigOWith_neg_right ↔ IsBigOWith.of_neg_right IsBigOWith.neg_right
+alias ⟨IsBigOWith.of_neg_right, IsBigOWith.neg_right⟩ := isBigOWith_neg_right
 #align asymptotics.is_O_with.of_neg_right Asymptotics.IsBigOWith.of_neg_right
 #align asymptotics.is_O_with.neg_right Asymptotics.IsBigOWith.neg_right
 
@@ -909,7 +909,7 @@ theorem isBigO_neg_right : (f =O[l] fun x => -g' x) ↔ f =O[l] g' := by
   exact exists_congr fun _ => isBigOWith_neg_right
 #align asymptotics.is_O_neg_right Asymptotics.isBigO_neg_right
 
-alias isBigO_neg_right ↔ IsBigO.of_neg_right IsBigO.neg_right
+alias ⟨IsBigO.of_neg_right, IsBigO.neg_right⟩ := isBigO_neg_right
 #align asymptotics.is_O.of_neg_right Asymptotics.IsBigO.of_neg_right
 #align asymptotics.is_O.neg_right Asymptotics.IsBigO.neg_right
 
@@ -919,7 +919,7 @@ theorem isLittleO_neg_right : (f =o[l] fun x => -g' x) ↔ f =o[l] g' := by
   exact forall₂_congr fun _ _ => isBigOWith_neg_right
 #align asymptotics.is_o_neg_right Asymptotics.isLittleO_neg_right
 
-alias isLittleO_neg_right ↔ IsLittleO.of_neg_right IsLittleO.neg_right
+alias ⟨IsLittleO.of_neg_right, IsLittleO.neg_right⟩ := isLittleO_neg_right
 #align asymptotics.is_o.of_neg_right Asymptotics.IsLittleO.of_neg_right
 #align asymptotics.is_o.neg_right Asymptotics.IsLittleO.neg_right
 
@@ -928,7 +928,7 @@ theorem isBigOWith_neg_left : IsBigOWith c l (fun x => -f' x) g ↔ IsBigOWith c
   simp only [IsBigOWith_def, norm_neg]
 #align asymptotics.is_O_with_neg_left Asymptotics.isBigOWith_neg_left
 
-alias isBigOWith_neg_left ↔ IsBigOWith.of_neg_left IsBigOWith.neg_left
+alias ⟨IsBigOWith.of_neg_left, IsBigOWith.neg_left⟩ := isBigOWith_neg_left
 #align asymptotics.is_O_with.of_neg_left Asymptotics.IsBigOWith.of_neg_left
 #align asymptotics.is_O_with.neg_left Asymptotics.IsBigOWith.neg_left
 
@@ -938,7 +938,7 @@ theorem isBigO_neg_left : (fun x => -f' x) =O[l] g ↔ f' =O[l] g := by
   exact exists_congr fun _ => isBigOWith_neg_left
 #align asymptotics.is_O_neg_left Asymptotics.isBigO_neg_left
 
-alias isBigO_neg_left ↔ IsBigO.of_neg_left IsBigO.neg_left
+alias ⟨IsBigO.of_neg_left, IsBigO.neg_left⟩ := isBigO_neg_left
 #align asymptotics.is_O.of_neg_left Asymptotics.IsBigO.of_neg_left
 #align asymptotics.is_O.neg_left Asymptotics.IsBigO.neg_left
 
@@ -948,7 +948,7 @@ theorem isLittleO_neg_left : (fun x => -f' x) =o[l] g ↔ f' =o[l] g := by
   exact forall₂_congr fun _ _ => isBigOWith_neg_left
 #align asymptotics.is_o_neg_left Asymptotics.isLittleO_neg_left
 
-alias isLittleO_neg_left ↔ IsLittleO.of_neg_left IsLittleO.neg_left
+alias ⟨IsLittleO.of_neg_left, IsLittleO.neg_left⟩ := isLittleO_neg_left
 #align asymptotics.is_o.of_neg_left Asymptotics.IsLittleO.of_neg_left
 #align asymptotics.is_o.neg_left Asymptotics.IsLittleO.neg_left
 
@@ -1367,7 +1367,7 @@ theorem isBigO_one_iff : f =O[l] (fun _x => 1 : α → F) ↔
   rfl
 #align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iff
 
-alias isBigO_one_iff ↔ _ _root_.Filter.IsBoundedUnder.isBigO_one
+alias ⟨_, _root_.Filter.IsBoundedUnder.isBigO_one⟩ := isBigO_one_iff
 #align filter.is_bounded_under.is_O_one Filter.IsBoundedUnder.isBigO_one
 
 @[simp]
@@ -1874,10 +1874,10 @@ theorem isLittleO_iff_tendsto {f g : α → 𝕜} (hgf : ∀ x, g x = 0 → f x
   isLittleO_iff_tendsto' (eventually_of_forall hgf)
 #align asymptotics.is_o_iff_tendsto Asymptotics.isLittleO_iff_tendsto
 
-alias isLittleO_iff_tendsto' ↔ _ isLittleO_of_tendsto'
+alias ⟨_, isLittleO_of_tendsto'⟩ := isLittleO_iff_tendsto'
 #align asymptotics.is_o_of_tendsto' Asymptotics.isLittleO_of_tendsto'
 
-alias isLittleO_iff_tendsto ↔ _ isLittleO_of_tendsto
+alias ⟨_, isLittleO_of_tendsto⟩ := isLittleO_iff_tendsto
 #align asymptotics.is_o_of_tendsto Asymptotics.isLittleO_of_tendsto
 
 theorem isLittleO_const_left_of_ne {c : E''} (hc : c ≠ 0) :
@@ -1998,7 +1998,7 @@ theorem isBigO_iff_exists_eq_mul :
     exact isBigO_iff_isBigOWith.2 ⟨c, isBigOWith_of_eq_mul φ hφ huvφ⟩
 #align asymptotics.is_O_iff_exists_eq_mul Asymptotics.isBigO_iff_exists_eq_mul
 
-alias isBigO_iff_exists_eq_mul ↔ IsBigO.exists_eq_mul _
+alias ⟨IsBigO.exists_eq_mul, _⟩ := isBigO_iff_exists_eq_mul
 #align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
 
 theorem isLittleO_iff_exists_eq_mul :
@@ -2011,7 +2011,7 @@ theorem isLittleO_iff_exists_eq_mul :
     exact isBigOWith_of_eq_mul _ ((hφ c hpos).mono fun x => le_of_lt) huvφ
 #align asymptotics.is_o_iff_exists_eq_mul Asymptotics.isLittleO_iff_exists_eq_mul
 
-alias isLittleO_iff_exists_eq_mul ↔ IsLittleO.exists_eq_mul _
+alias ⟨IsLittleO.exists_eq_mul, _⟩ := isLittleO_iff_exists_eq_mul
 #align asymptotics.is_o.exists_eq_mul Asymptotics.IsLittleO.exists_eq_mul
 
 end ExistsMulEq
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

Search&replace MulZeroClass.mul_zero -> mul_zero, MulZeroClass.zero_mul -> zero_mul.

These were introduced by Mathport, as the full name of mul_zero is actually MulZeroClass.mul_zero (it's exported with the short name).

Diff
@@ -283,7 +283,7 @@ theorem isLittleO_iff_nat_mul_le_aux (h₀ : (∀ x, 0 ≤ ‖f x‖) ∨ ∀ x,
   constructor
   · rintro H (_ | n)
     · refine' (H.def one_pos).mono fun x h₀' => _
-      rw [Nat.cast_zero, MulZeroClass.zero_mul]
+      rw [Nat.cast_zero, zero_mul]
       refine' h₀.elim (fun hf => (hf x).trans _) fun hg => hg x
       rwa [one_mul] at h₀'
     · have : (0 : ℝ) < n.succ := Nat.cast_pos.2 n.succ_pos
@@ -1255,7 +1255,7 @@ variable {g g' l}
 
 @[simp]
 theorem isBigOWith_zero_right_iff : (IsBigOWith c l f'' fun _x => (0 : F')) ↔ f'' =ᶠ[l] 0 := by
-  simp only [IsBigOWith_def, exists_prop, true_and_iff, norm_zero, MulZeroClass.mul_zero,
+  simp only [IsBigOWith_def, exists_prop, true_and_iff, norm_zero, mul_zero,
     norm_le_zero_iff, EventuallyEq, Pi.zero_apply]
 #align asymptotics.is_O_with_zero_right_iff Asymptotics.isBigOWith_zero_right_iff
 
@@ -1319,7 +1319,7 @@ theorem isLittleO_top : f'' =o[⊤] g'' ↔ ∀ x, f'' x = 0 := by
   simp only [isLittleO_iff, eventually_top]
   refine' fun h x => norm_le_zero_iff.1 _
   have : Tendsto (fun c : ℝ => c * ‖g'' x‖) (𝓝[>] 0) (𝓝 0) :=
-    ((continuous_id.mul continuous_const).tendsto' _ _ (MulZeroClass.zero_mul _)).mono_left
+    ((continuous_id.mul continuous_const).tendsto' _ _ (zero_mul _)).mono_left
       inf_le_left
   exact
     le_of_tendsto_of_tendsto tendsto_const_nhds this
@@ -1704,7 +1704,7 @@ theorem IsBigOWith.inv_rev {f : α → 𝕜} {g : α → 𝕜'} (h : IsBigOWith
     (h₀ : ∀ᶠ x in l, f x = 0 → g x = 0) : IsBigOWith c l (fun x => (g x)⁻¹) fun x => (f x)⁻¹ := by
   refine' IsBigOWith.of_bound (h.bound.mp (h₀.mono fun x h₀ hle => _))
   cases' eq_or_ne (f x) 0 with hx hx
-  · simp only [hx, h₀ hx, inv_zero, norm_zero, MulZeroClass.mul_zero]; rfl
+  · simp only [hx, h₀ hx, inv_zero, norm_zero, mul_zero]; rfl
   · have hc : 0 < c := pos_of_mul_pos_left ((norm_pos_iff.2 hx).trans_le hle) (norm_nonneg _)
     replace hle := inv_le_inv_of_le (norm_pos_iff.2 hx) hle
     simpa only [norm_inv, mul_inv, ← div_eq_inv_mul, div_le_iff hc] using hle
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -55,9 +55,9 @@ namespace Asymptotics
 
 set_option linter.uppercaseLean3 false
 
-variable {α : Type _} {β : Type _} {E : Type _} {F : Type _} {G : Type _} {E' : Type _}
-  {F' : Type _} {G' : Type _} {E'' : Type _} {F'' : Type _} {G'' : Type _} {E''' : Type _}
-  {R : Type _} {R' : Type _} {𝕜 : Type _} {𝕜' : Type _}
+variable {α : Type*} {β : Type*} {E : Type*} {F : Type*} {G : Type*} {E' : Type*}
+  {F' : Type*} {G' : Type*} {E'' : Type*} {F'' : Type*} {G'' : Type*} {E''' : Type*}
+  {R : Type*} {R' : Type*} {𝕜 : Type*} {𝕜' : Type*}
 
 variable [Norm E] [Norm F] [Norm G]
 
@@ -1819,7 +1819,7 @@ end Smul
 
 section Sum
 
-variable {ι : Type _} {A : ι → α → E'} {C : ι → ℝ} {s : Finset ι}
+variable {ι : Type*} {A : ι → α → E'} {C : ι → ℝ} {s : Finset ι}
 
 theorem IsBigOWith.sum (h : ∀ 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 := by
@@ -2019,7 +2019,7 @@ end ExistsMulEq
 /-! ### Miscellaneous lemmas -/
 
 
-theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α → 𝕜} (h : f =O[l] g) :
+theorem div_isBoundedUnder_of_isBigO {α : Type*} {l : Filter α} {f g : α → 𝕜} (h : f =O[l] g) :
     IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ := by
   obtain ⟨c, h₀, hc⟩ := h.exists_nonneg
   refine' ⟨c, eventually_map.2 (hc.bound.mono fun x hx => _)⟩
@@ -2027,7 +2027,7 @@ theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α →
   exact div_le_of_nonneg_of_le_mul (norm_nonneg _) h₀ hx
 #align asymptotics.div_is_bounded_under_of_is_O Asymptotics.div_isBoundedUnder_of_isBigO
 
-theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α → 𝕜}
+theorem isBigO_iff_div_isBoundedUnder {α : Type*} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) :
     f =O[l] g ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x / g x‖ := by
   refine' ⟨div_isBoundedUnder_of_isBigO, fun h => _⟩
@@ -2039,13 +2039,13 @@ theorem isBigO_iff_div_isBoundedUnder {α : Type _} {l : Filter α} {f g : α 
   · exact (div_le_iff (norm_pos_iff.2 hgx)).mp hx₂
 #align asymptotics.is_O_iff_div_is_bounded_under Asymptotics.isBigO_iff_div_isBoundedUnder
 
-theorem isBigO_of_div_tendsto_nhds {α : Type _} {l : Filter α} {f g : α → 𝕜}
+theorem isBigO_of_div_tendsto_nhds {α : Type*} {l : Filter α} {f g : α → 𝕜}
     (hgf : ∀ᶠ x in l, g x = 0 → f x = 0) (c : 𝕜) (H : Filter.Tendsto (f / g) l (𝓝 c)) :
     f =O[l] g :=
   (isBigO_iff_div_isBoundedUnder hgf).2 <| H.norm.isBoundedUnder_le
 #align asymptotics.is_O_of_div_tendsto_nhds Asymptotics.isBigO_of_div_tendsto_nhds
 
-theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type _} [NormedAddCommGroup E] [NormedField 𝕜]
+theorem IsLittleO.tendsto_zero_of_tendsto {α E 𝕜 : Type*} [NormedAddCommGroup E] [NormedField 𝕜]
     {u : α → E} {v : α → 𝕜} {l : Filter α} {y : 𝕜} (huv : u =o[l] v) (hv : Tendsto v l (𝓝 y)) :
     Tendsto u l (𝓝 0) := by
   suffices h : u =o[l] fun _x => (1 : 𝕜)
@@ -2166,7 +2166,7 @@ theorem isBigO_one_nat_atTop_iff {f : ℕ → E''} :
     simp only [norm_one, mul_one]
 #align asymptotics.is_O_one_nat_at_top_iff Asymptotics.isBigO_one_nat_atTop_iff
 
-theorem isBigOWith_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
+theorem isBigOWith_pi {ι : Type*} [Fintype ι] {E' : ι → Type*} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} {C : ℝ} (hC : 0 ≤ C) :
     IsBigOWith C l f g' ↔ ∀ i, IsBigOWith C l (fun x => f x i) g' := by
   have : ∀ x, 0 ≤ C * ‖g' x‖ := fun x => mul_nonneg hC (norm_nonneg _)
@@ -2174,34 +2174,34 @@ theorem isBigOWith_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, No
 #align asymptotics.is_O_with_pi Asymptotics.isBigOWith_pi
 
 @[simp]
-theorem isBigO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
+theorem isBigO_pi {ι : Type*} [Fintype ι] {E' : ι → Type*} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} : f =O[l] g' ↔ ∀ i, (fun x => f x i) =O[l] g' := by
   simp only [isBigO_iff_eventually_isBigOWith, ← eventually_all]
   exact eventually_congr (eventually_atTop.2 ⟨0, fun c => isBigOWith_pi⟩)
 #align asymptotics.is_O_pi Asymptotics.isBigO_pi
 
 @[simp]
-theorem isLittleO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, NormedAddCommGroup (E' i)]
+theorem isLittleO_pi {ι : Type*} [Fintype ι] {E' : ι → Type*} [∀ i, NormedAddCommGroup (E' i)]
     {f : α → ∀ i, E' i} : f =o[l] g' ↔ ∀ i, (fun x => f x i) =o[l] g' := by
   simp (config := { contextual := true }) only [IsLittleO_def, isBigOWith_pi, le_of_lt]
   exact ⟨fun h i c hc => h hc i, fun h c hc i => h i hc⟩
 #align asymptotics.is_o_pi Asymptotics.isLittleO_pi
 
-theorem IsBigO.nat_cast_atTop {R : Type _} [StrictOrderedSemiring R] [Archimedean R]
+theorem IsBigO.nat_cast_atTop {R : Type*} [StrictOrderedSemiring R] [Archimedean R]
     {f : R → E} {g : R → F} (h : f =O[atTop] g) :
     (fun (n:ℕ) => f n) =O[atTop] (fun n => g n) :=
   IsBigO.comp_tendsto h tendsto_nat_cast_atTop_atTop
 
-theorem IsLittleO.nat_cast_atTop {R : Type _} [StrictOrderedSemiring R] [Archimedean R]
+theorem IsLittleO.nat_cast_atTop {R : Type*} [StrictOrderedSemiring R] [Archimedean R]
     {f : R → E} {g : R → F} (h : f =o[atTop] g) :
     (fun (n:ℕ) => f n) =o[atTop] (fun n => g n) :=
   IsLittleO.comp_tendsto h tendsto_nat_cast_atTop_atTop
 
-theorem isBigO_atTop_iff_eventually_exists {α : Type _} [SemilatticeSup α] [Nonempty α]
+theorem isBigO_atTop_iff_eventually_exists {α : Type*} [SemilatticeSup α] [Nonempty α]
     {f : α → E} {g : α → F} : f =O[atTop] g ↔ ∀ᶠ n₀ in atTop, ∃ c, ∀ n ≥ n₀, ‖f n‖ ≤ c * ‖g n‖ := by
   rw [isBigO_iff, exists_eventually_atTop]
 
-theorem isBigO_atTop_iff_eventually_exists_pos {α : Type _}
+theorem isBigO_atTop_iff_eventually_exists_pos {α : Type*}
     [SemilatticeSup α] [Nonempty α] {f : α → G} {g : α → G'} :
     f =O[atTop] g ↔ ∀ᶠ n₀ in atTop, ∃ c > 0, ∀ n ≥ n₀, c * ‖f n‖ ≤ ‖g n‖ := by
   simp_rw [isBigO_iff'', ← exists_prop, Subtype.exists', exists_eventually_atTop]
@@ -2225,9 +2225,9 @@ set_option linter.uppercaseLean3 false in
 
 namespace LocalHomeomorph
 
-variable {α : Type _} {β : Type _} [TopologicalSpace α] [TopologicalSpace β]
+variable {α : Type*} {β : Type*} [TopologicalSpace α] [TopologicalSpace β]
 
-variable {E : Type _} [Norm E] {F : Type _} [Norm F]
+variable {E : Type*} [Norm E] {F : Type*} [Norm F]
 
 /-- Transfer `IsBigOWith` over a `LocalHomeomorph`. -/
 theorem isBigOWith_congr (e : LocalHomeomorph α β) {b : β} (hb : b ∈ e.target) {f : β → E}
@@ -2263,9 +2263,9 @@ end LocalHomeomorph
 
 namespace Homeomorph
 
-variable {α : Type _} {β : Type _} [TopologicalSpace α] [TopologicalSpace β]
+variable {α : Type*} {β : Type*} [TopologicalSpace α] [TopologicalSpace β]
 
-variable {E : Type _} [Norm E] {F : Type _} [Norm F]
+variable {E : Type*} [Norm E] {F : Type*} [Norm F]
 
 open Asymptotics
 
feat: characterizations of IsBigO along atTop (#6198)

This PR adds a way to characterize IsBigO along the atTop filter, for cases where we want the constant to depend on a "starting point" n₀.

It also adds the lemma tendsto_nhds_of_eventually_eq.

Diff
@@ -2197,6 +2197,15 @@ theorem IsLittleO.nat_cast_atTop {R : Type _} [StrictOrderedSemiring R] [Archime
     (fun (n:ℕ) => f n) =o[atTop] (fun n => g n) :=
   IsLittleO.comp_tendsto h tendsto_nat_cast_atTop_atTop
 
+theorem isBigO_atTop_iff_eventually_exists {α : Type _} [SemilatticeSup α] [Nonempty α]
+    {f : α → E} {g : α → F} : f =O[atTop] g ↔ ∀ᶠ n₀ in atTop, ∃ c, ∀ n ≥ n₀, ‖f n‖ ≤ c * ‖g n‖ := by
+  rw [isBigO_iff, exists_eventually_atTop]
+
+theorem isBigO_atTop_iff_eventually_exists_pos {α : Type _}
+    [SemilatticeSup α] [Nonempty α] {f : α → G} {g : α → G'} :
+    f =O[atTop] g ↔ ∀ᶠ n₀ in atTop, ∃ c > 0, ∀ n ≥ n₀, c * ‖f n‖ ≤ ‖g n‖ := by
+  simp_rw [isBigO_iff'', ← exists_prop, Subtype.exists', exists_eventually_atTop]
+
 end Asymptotics
 
 open Asymptotics
chore(*): add protected to *.insert theorems (#6142)

Otherwise code like

theorem ContMDiffWithinAt.mythm (h : x ∈ insert y s) : _ = _

interprets insert as ContMDiffWithinAt.insert, not Insert.insert.

Diff
@@ -700,8 +700,8 @@ theorem isBigOWith_insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ}
   simp_rw [IsBigOWith_def, nhdsWithin_insert, eventually_sup, eventually_pure, h, true_and_iff]
 #align asymptotics.is_O_with_insert Asymptotics.isBigOWith_insert
 
-theorem IsBigOWith.insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
-    (h1 : IsBigOWith C (𝓝[s] x) g g') (h2 : ‖g x‖ ≤ C * ‖g' x‖) :
+protected theorem IsBigOWith.insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E}
+    {g' : α → F} (h1 : IsBigOWith C (𝓝[s] x) g g') (h2 : ‖g x‖ ≤ C * ‖g' x‖) :
     IsBigOWith C (𝓝[insert x s] x) g g' :=
   (isBigOWith_insert h2).mpr h1
 #align asymptotics.is_O_with.insert Asymptotics.IsBigOWith.insert
@@ -715,8 +715,8 @@ theorem isLittleO_insert [TopologicalSpace α] {x : α} {s : Set α} {g : α →
   exact mul_nonneg hc.le (norm_nonneg _)
 #align asymptotics.is_o_insert Asymptotics.isLittleO_insert
 
-theorem IsLittleO.insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'} {g' : α → F'}
-    (h1 : g =o[𝓝[s] x] g') (h2 : g x = 0) : g =o[𝓝[insert x s] x] g' :=
+protected theorem IsLittleO.insert [TopologicalSpace α] {x : α} {s : Set α} {g : α → E'}
+    {g' : α → F'} (h1 : g =o[𝓝[s] x] g') (h2 : g x = 0) : g =o[𝓝[insert x s] x] g' :=
   (isLittleO_insert h2).mpr h1
 #align asymptotics.is_o.insert Asymptotics.IsLittleO.insert
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2019 Jeremy Avigad. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jeremy Avigad, Yury Kudryashov
-
-! This file was ported from Lean 3 source module analysis.asymptotics.asymptotics
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Normed.Group.InfiniteSum
 import Mathlib.Analysis.NormedSpace.Basic
 import Mathlib.Topology.Algebra.Order.LiminfLimsup
 import Mathlib.Topology.LocalHomeomorph
 
+#align_import analysis.asymptotics.asymptotics from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
 /-!
 # Asymptotics
 
feat: miscellaneous lemmas about asymptotics (#5680)

Co-authored-by: Frédéric Dupuis <31101893+dupuisf@users.noreply.github.com>

Diff
@@ -59,13 +59,14 @@ namespace Asymptotics
 set_option linter.uppercaseLean3 false
 
 variable {α : Type _} {β : Type _} {E : Type _} {F : Type _} {G : Type _} {E' : Type _}
-  {F' : Type _} {G' : Type _} {E'' : Type _} {F'' : Type _} {G'' : Type _} {R : Type _}
-  {R' : Type _} {𝕜 : Type _} {𝕜' : Type _}
+  {F' : Type _} {G' : Type _} {E'' : Type _} {F'' : Type _} {G'' : Type _} {E''' : Type _}
+  {R : Type _} {R' : Type _} {𝕜 : Type _} {𝕜' : Type _}
 
 variable [Norm E] [Norm F] [Norm G]
 
 variable [SeminormedAddCommGroup E'] [SeminormedAddCommGroup F'] [SeminormedAddCommGroup G']
   [NormedAddCommGroup E''] [NormedAddCommGroup F''] [NormedAddCommGroup G''] [SeminormedRing R]
+  [SeminormedAddGroup E''']
   [SeminormedRing R']
 
 variable [NormedField 𝕜] [NormedField 𝕜']
@@ -120,6 +121,40 @@ theorem isBigO_iff : f =O[l] g ↔ ∃ c : ℝ, ∀ᶠ x in l, ‖f x‖ ≤ c *
   simp only [IsBigO_def, IsBigOWith_def]
 #align asymptotics.is_O_iff Asymptotics.isBigO_iff
 
+/-- Definition of `IsBigO` in terms of filters, with a positive constant. -/
+theorem isBigO_iff' {g : α → E'''} :
+    f =O[l] g ↔ ∃ c > 0, ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ := by
+  refine ⟨fun h => ?mp, fun h => ?mpr⟩
+  case mp =>
+    rw [isBigO_iff] at h
+    obtain ⟨c, hc⟩ := h
+    refine' ⟨max c 1, zero_lt_one.trans_le (le_max_right _ _), _⟩
+    filter_upwards [hc] with x hx
+    apply hx.trans
+    gcongr
+    exact le_max_left _ _
+  case mpr =>
+    rw [isBigO_iff]
+    obtain ⟨c, ⟨_, hc⟩⟩ := h
+    exact ⟨c, hc⟩
+
+/-- Definition of `IsBigO` in terms of filters, with the constant in the lower bound. -/
+theorem isBigO_iff'' {g : α → E'''} :
+    f =O[l] g ↔ ∃ c > 0, ∀ᶠ x in l, c * ‖f x‖ ≤ ‖g x‖ := by
+  refine ⟨fun h => ?mp, fun h => ?mpr⟩
+  case mp =>
+    rw [isBigO_iff'] at h
+    obtain ⟨c, ⟨hc_pos, hc⟩⟩ := h
+    refine ⟨c⁻¹, ⟨by positivity, ?_⟩⟩
+    filter_upwards [hc] with x hx
+    rwa [inv_mul_le_iff (by positivity)]
+  case mpr =>
+    rw [isBigO_iff']
+    obtain ⟨c, ⟨hc_pos, hc⟩⟩ := h
+    refine ⟨c⁻¹, ⟨by positivity, ?_⟩⟩
+    filter_upwards [hc] with x hx
+    rwa [←inv_inv c, inv_mul_le_iff (by positivity)] at hx
+
 theorem IsBigO.of_bound (c : ℝ) (h : ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖) : f =O[l] g :=
   isBigO_iff.2 ⟨c, h⟩
 #align asymptotics.is_O.of_bound Asymptotics.IsBigO.of_bound
@@ -171,6 +206,9 @@ theorem IsLittleO.def' (h : f =o[l] g) (hc : 0 < c) : IsBigOWith c l f g :=
   isBigOWith_iff.2 <| isLittleO_iff.1 h hc
 #align asymptotics.is_o.def' Asymptotics.IsLittleO.def'
 
+theorem IsLittleO.eventuallyLE (h : f =o[l] g) : ∀ᶠ x in l, ‖f x‖ ≤ ‖g x‖ := by
+  simpa using h.def zero_lt_one
+
 end Defs
 
 /-! ### Conversions -/
@@ -2152,6 +2190,16 @@ theorem isLittleO_pi {ι : Type _} [Fintype ι] {E' : ι → Type _} [∀ i, Nor
   exact ⟨fun h i c hc => h hc i, fun h c hc i => h i hc⟩
 #align asymptotics.is_o_pi Asymptotics.isLittleO_pi
 
+theorem IsBigO.nat_cast_atTop {R : Type _} [StrictOrderedSemiring R] [Archimedean R]
+    {f : R → E} {g : R → F} (h : f =O[atTop] g) :
+    (fun (n:ℕ) => f n) =O[atTop] (fun n => g n) :=
+  IsBigO.comp_tendsto h tendsto_nat_cast_atTop_atTop
+
+theorem IsLittleO.nat_cast_atTop {R : Type _} [StrictOrderedSemiring R] [Archimedean R]
+    {f : R → E} {g : R → F} (h : f =o[atTop] g) :
+    (fun (n:ℕ) => f n) =o[atTop] (fun n => g n) :=
+  IsLittleO.comp_tendsto h tendsto_nat_cast_atTop_atTop
+
 end Asymptotics
 
 open Asymptotics
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -2072,7 +2072,7 @@ theorem IsBigOWith.right_le_sub_of_lt_1 {f₁ f₂ : α → E'} (h : IsBigOWith
     IsBigOWith (1 / (1 - c)) l f₂ fun x => f₂ x - f₁ x :=
   IsBigOWith.of_bound <|
     mem_of_superset h.bound fun x hx => by
-      simp only [mem_setOf_eq] at hx⊢
+      simp only [mem_setOf_eq] at hx ⊢
       rw [mul_comm, one_div, ← div_eq_mul_inv, _root_.le_div_iff, mul_sub, mul_one, mul_comm]
       · exact le_trans (sub_le_sub_left hx _) (norm_sub_norm_le _ _)
       · exact sub_pos.2 hc
chore: convert lambda in docs to fun (#5045)

Found with git grep -n "λ [a-zA-Z_ ]*,"

Diff
@@ -1404,7 +1404,7 @@ theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
       eventually_congr <| h.mono fun x hx => (div_le_iff <| norm_pos_iff.2 hx).symm
 #align asymptotics.is_O_iff_is_bounded_under_le_div Asymptotics.isBigO_iff_isBoundedUnder_le_div
 
-/-- `(λ x, c) =O[l] f` if and only if `f` is bounded away from zero. -/
+/-- `(fun x ↦ c) =O[l] f` if and only if `f` is bounded away from zero. -/
 theorem isBigO_const_left_iff_pos_le_norm {c : E''} (hc : c ≠ 0) :
     (fun _x => c) =O[l] f' ↔ ∃ b, 0 < b ∧ ∀ᶠ x in l, b ≤ ‖f' x‖ := by
   constructor
chore: formatting issues (#4947)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -1937,7 +1937,7 @@ theorem isBigOWith_of_eq_mul (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖
 #align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mul
 
 theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
-    IsBigOWith c l u v ↔ ∃ (φ : α → 𝕜)(_hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v := by
+    IsBigOWith c l u v ↔ ∃ (φ : α → 𝕜) (_hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v := by
   constructor
   · intro h
     use fun x => u x / v x
@@ -1948,12 +1948,12 @@ theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
 #align asymptotics.is_O_with_iff_exists_eq_mul Asymptotics.isBigOWith_iff_exists_eq_mul
 
 theorem IsBigOWith.exists_eq_mul (h : IsBigOWith c l u v) (hc : 0 ≤ c) :
-    ∃ (φ : α → 𝕜)(_hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
+    ∃ (φ : α → 𝕜) (_hφ : ∀ᶠ x in l, ‖φ x‖ ≤ c), u =ᶠ[l] φ * v :=
   (isBigOWith_iff_exists_eq_mul hc).mp h
 #align asymptotics.is_O_with.exists_eq_mul Asymptotics.IsBigOWith.exists_eq_mul
 
 theorem isBigO_iff_exists_eq_mul :
-    u =O[l] v ↔ ∃ (φ : α → 𝕜)(_hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v := by
+    u =O[l] v ↔ ∃ (φ : α → 𝕜) (_hφ : l.IsBoundedUnder (· ≤ ·) (norm ∘ φ)), u =ᶠ[l] φ * v := by
   constructor
   · rintro h
     rcases h.exists_nonneg with ⟨c, hnnc, hc⟩
@@ -1967,7 +1967,7 @@ alias isBigO_iff_exists_eq_mul ↔ IsBigO.exists_eq_mul _
 #align asymptotics.is_O.exists_eq_mul Asymptotics.IsBigO.exists_eq_mul
 
 theorem isLittleO_iff_exists_eq_mul :
-    u =o[l] v ↔ ∃ (φ : α → 𝕜)(_hφ : Tendsto φ l (𝓝 0)), u =ᶠ[l] φ * v := by
+    u =o[l] v ↔ ∃ (φ : α → 𝕜) (_hφ : Tendsto φ l (𝓝 0)), u =ᶠ[l] φ * v := by
   constructor
   · exact fun h => ⟨fun x => u x / v x, h.tendsto_div_nhds_zero, h.eventually_mul_div_cancel.symm⟩
   · simp only [IsLittleO_def]
chore: add space after exacts (#4945)

Too often tempted to change these during other PRs, so doing a mass edit here.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -1393,7 +1393,7 @@ theorem isBigO_const_iff {c : F''} : (f'' =O[l] fun _x => c) ↔
   refine' ⟨fun h => ⟨fun hc => isBigO_zero_right_iff.1 (by rwa [← hc]), h.isBoundedUnder_le⟩, _⟩
   rintro ⟨hcf, hf⟩
   rcases eq_or_ne c 0 with (hc | hc)
-  exacts[(hcf hc).trans_isBigO (isBigO_zero _ _), hf.isBigO_const hc]
+  exacts [(hcf hc).trans_isBigO (isBigO_zero _ _), hf.isBigO_const hc]
 #align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iff
 
 theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
feat: golf using gcongr throughout the library (#4702)

100 sample uses of the new tactic gcongr, added in #3965.

Diff
@@ -196,7 +196,7 @@ theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith
     mem_of_superset h.bound fun x hx =>
       calc
         ‖f x‖ ≤ c * ‖g' x‖ := hx
-        _ ≤ _ := mul_le_mul_of_nonneg_right hc (norm_nonneg _)
+        _ ≤ _ := by gcongr
 #align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weaken
 
 theorem IsBigOWith.exists_pos (h : IsBigOWith c l f g') :
@@ -462,7 +462,7 @@ theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k)
   filter_upwards [hfg, hgk]with x hx hx'
   calc
     ‖f x‖ ≤ c * ‖g x‖ := hx
-    _ ≤ c * (c' * ‖k x‖) := (mul_le_mul_of_nonneg_left hx' hc)
+    _ ≤ c * (c' * ‖k x‖) := by gcongr
     _ = c * c' * ‖k x‖ := (mul_assoc _ _ _).symm
 #align asymptotics.is_O_with.trans Asymptotics.IsBigOWith.trans
 
@@ -1631,8 +1631,7 @@ theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigO
         calc
           ‖f x‖ ^ n = ‖f x ^ n‖ := (norm_pow _ _).symm
           _ ≤ c' ^ n * ‖g x ^ n‖ := hx
-          _ ≤ c' ^ n * ‖g x‖ ^ n :=
-            (mul_le_mul_of_nonneg_left (norm_pow_le' _ hn.bot_lt) (pow_nonneg hc' _))
+          _ ≤ c' ^ n * ‖g x‖ ^ n := by gcongr; exact norm_pow_le' _ hn.bot_lt
           _ = (c' * ‖g x‖) ^ n := (mul_pow _ _ _).symm
 #align asymptotics.is_O_with.of_pow Asymptotics.IsBigOWith.of_pow
 
@@ -1934,7 +1933,7 @@ theorem isBigOWith_of_eq_mul (φ : α → 𝕜) (hφ : ∀ᶠ x in l, ‖φ x‖
   simp only [IsBigOWith_def]
   refine' h.symm.rw (fun x a => ‖a‖ ≤ c * ‖v x‖) (hφ.mono fun x hx => _)
   simp only [norm_mul, Pi.mul_apply]
-  exact mul_le_mul_of_nonneg_right hx (norm_nonneg _)
+  gcongr
 #align asymptotics.is_O_with_of_eq_mul Asymptotics.isBigOWith_of_eq_mul
 
 theorem isBigOWith_iff_exists_eq_mul (hc : 0 ≤ c) :
chore: fix typos (#4518)

I ran codespell Mathlib and got tired halfway through the suggestions.

Diff
@@ -1982,7 +1982,7 @@ alias isLittleO_iff_exists_eq_mul ↔ IsLittleO.exists_eq_mul _
 
 end ExistsMulEq
 
-/-! ### Miscellanous lemmas -/
+/-! ### Miscellaneous lemmas -/
 
 
 theorem div_isBoundedUnder_of_isBigO {α : Type _} {l : Filter α} {f g : α → 𝕜} (h : f =O[l] g) :
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -660,8 +660,8 @@ theorem isLittleO_sup : f =o[l ⊔ l'] g ↔ f =o[l] g ∧ f =o[l'] g :=
 #align asymptotics.is_o_sup Asymptotics.isLittleO_sup
 
 theorem isBigOWith_insert [TopologicalSpace α] {x : α} {s : Set α} {C : ℝ} {g : α → E} {g' : α → F}
-    (h : ‖g x‖ ≤ C * ‖g' x‖) : IsBigOWith C (𝓝[insert x s] x) g g' ↔ IsBigOWith C (𝓝[s] x) g g' :=
-  by
+    (h : ‖g x‖ ≤ C * ‖g' x‖) : IsBigOWith C (𝓝[insert x s] x) g g' ↔
+    IsBigOWith C (𝓝[s] x) g g' := by
   simp_rw [IsBigOWith_def, nhdsWithin_insert, eventually_sup, eventually_pure, h, true_and_iff]
 #align asymptotics.is_O_with_insert Asymptotics.isBigOWith_insert
 
@@ -1326,8 +1326,8 @@ theorem isLittleO_one_iff : f' =o[l] (fun _x => 1 : α → F) ↔ Tendsto f' l (
 #align asymptotics.is_o_one_iff Asymptotics.isLittleO_one_iff
 
 @[simp]
-theorem isBigO_one_iff : f =O[l] (fun _x => 1 : α → F) ↔ IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ :=
-  by
+theorem isBigO_one_iff : f =O[l] (fun _x => 1 : α → F) ↔
+    IsBoundedUnder (· ≤ ·) l fun x => ‖f x‖ := by
   simp only [isBigO_iff, norm_one, mul_one]
   rfl
 #align asymptotics.is_O_one_iff Asymptotics.isBigO_one_iff
@@ -1388,9 +1388,8 @@ theorem isBigO_const_of_ne {c : F''} (hc : c ≠ 0) :
   ⟨fun h => h.isBoundedUnder_le, fun h => h.isBigO_const hc⟩
 #align asymptotics.is_O_const_of_ne Asymptotics.isBigO_const_of_ne
 
-theorem isBigO_const_iff {c : F''} :
-    (f'' =O[l] fun _x => c) ↔ (c = 0 → f'' =ᶠ[l] 0) ∧ IsBoundedUnder (· ≤ ·) l fun x => ‖f'' x‖ :=
-  by
+theorem isBigO_const_iff {c : F''} : (f'' =O[l] fun _x => c) ↔
+    (c = 0 → f'' =ᶠ[l] 0) ∧ IsBoundedUnder (· ≤ ·) l fun x => ‖f'' x‖ := by
   refine' ⟨fun h => ⟨fun hc => isBigO_zero_right_iff.1 (by rwa [← hc]), h.isBoundedUnder_le⟩, _⟩
   rintro ⟨hcf, hf⟩
   rcases eq_or_ne c 0 with (hc | hc)
chore: fix #align lines (#3640)

This PR fixes two things:

  • Most align statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align). This is often seen in the mathport output after ending calc blocks.
  • All remaining more-than-one-line #align statements. (This was needed for a script I wrote for #3630.)
Diff
@@ -197,7 +197,6 @@ theorem IsBigOWith.weaken (h : IsBigOWith c l f g') (hc : c ≤ c') : IsBigOWith
       calc
         ‖f x‖ ≤ c * ‖g' x‖ := hx
         _ ≤ _ := mul_le_mul_of_nonneg_right hc (norm_nonneg _)
-
 #align asymptotics.is_O_with.weaken Asymptotics.IsBigOWith.weaken
 
 theorem IsBigOWith.exists_pos (h : IsBigOWith c l f g') :
@@ -465,7 +464,6 @@ theorem IsBigOWith.trans (hfg : IsBigOWith c l f g) (hgk : IsBigOWith c' l g k)
     ‖f x‖ ≤ c * ‖g x‖ := hx
     _ ≤ c * (c' * ‖k x‖) := (mul_le_mul_of_nonneg_left hx' hc)
     _ = c * c' * ‖k x‖ := (mul_assoc _ _ _).symm
-
 #align asymptotics.is_O_with.trans Asymptotics.IsBigOWith.trans
 
 @[trans]
@@ -1066,7 +1064,6 @@ theorem IsBigOWith.add (h₁ : IsBigOWith c₁ l f₁ g) (h₂ : IsBigOWith c₂
       h₂]with x hx₁ hx₂ using calc
         ‖f₁ x + f₂ x‖ ≤ c₁ * ‖g x‖ + c₂ * ‖g x‖ := norm_add_le_of_le hx₁ hx₂
         _ = (c₁ + c₂) * ‖g x‖ := (add_mul _ _ _).symm
-
 #align asymptotics.is_O_with.add Asymptotics.IsBigOWith.add
 
 theorem IsBigO.add (h₁ : f₁ =O[l] g) (h₂ : f₂ =O[l] g) : (fun x => f₁ x + f₂ x) =O[l] g :=
@@ -1269,7 +1266,6 @@ theorem isBigO_pure {x} : f'' =O[pure x] g'' ↔ g'' x = 0 → f'' x = 0 :=
   calc
     f'' =O[pure x] g'' ↔ (fun _y : α => f'' x) =O[pure x] fun _ => g'' x := isBigO_congr rfl rfl
     _ ↔ g'' x = 0 → f'' x = 0 := isBigO_const_const_iff _
-
 #align asymptotics.is_O_pure Asymptotics.isBigO_pure
 
 end ZeroConst
@@ -1348,7 +1344,6 @@ theorem isLittleO_one_left_iff : (fun _x => 1 : α → F) =o[l] f ↔ Tendsto (f
       simp only [norm_one, mul_one, true_imp_iff, mem_Ici]
     _ ↔ Tendsto (fun x => ‖f x‖) l atTop :=
       atTop_hasCountableBasis_of_archimedean.1.tendsto_right_iff.symm
-
 #align asymptotics.is_o_one_left_iff Asymptotics.isLittleO_one_left_iff
 
 theorem _root_.Filter.Tendsto.isBigO_one {c : E'} (h : Tendsto f' l (𝓝 c)) :
@@ -1640,7 +1635,6 @@ theorem IsBigOWith.of_pow {n : ℕ} {f : α → 𝕜} {g : α → R} (h : IsBigO
           _ ≤ c' ^ n * ‖g x‖ ^ n :=
             (mul_le_mul_of_nonneg_left (norm_pow_le' _ hn.bot_lt) (pow_nonneg hc' _))
           _ = (c' * ‖g x‖) ^ n := (mul_pow _ _ _).symm
-
 #align asymptotics.is_O_with.of_pow Asymptotics.IsBigOWith.of_pow
 
 theorem IsBigO.pow {f : α → R} {g : α → 𝕜} (h : f =O[l] g) (n : ℕ) :
@@ -1882,7 +1876,6 @@ theorem isLittleO_pure {x} : f'' =o[pure x] g'' ↔ f'' x = 0 :=
   calc
     f'' =o[pure x] g'' ↔ (fun _y : α => f'' x) =o[pure x] fun _ => g'' x := isLittleO_congr rfl rfl
     _ ↔ f'' x = 0 := isLittleO_const_const_iff
-
 #align asymptotics.is_o_pure Asymptotics.isLittleO_pure
 
 theorem isLittleO_const_id_comap_norm_atTop (c : F'') :
feat: port Analysis.Asymptotics.Asymptotics (#3393)

Because is_O_with, is_O and is_o don't play well with the Lean 4 casing conventions for naming, we have opted for IsBigOWith, IsBigO and IsLittleO in accordance with the Zulip poll

Dependencies 10 + 613

614 files ported (98.4%)
270742 lines ported (98.1%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file