order.filter.archimedeanMathlib.Order.Filter.Archimedean

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -33,18 +33,18 @@ theorem Nat.comap_cast_atTop [StrictOrderedSemiring R] [Archimedean R] :
 #align nat.comap_coe_at_top Nat.comap_cast_atTop
 -/
 
-#print tendsto_nat_cast_atTop_iff /-
-theorem tendsto_nat_cast_atTop_iff [StrictOrderedSemiring R] [Archimedean R] {f : α → ℕ}
+#print tendsto_natCast_atTop_iff /-
+theorem tendsto_natCast_atTop_iff [StrictOrderedSemiring R] [Archimedean R] {f : α → ℕ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop :=
   tendsto_atTop_embedding (fun a₁ a₂ => Nat.cast_le) exists_nat_ge
-#align tendsto_coe_nat_at_top_iff tendsto_nat_cast_atTop_iff
+#align tendsto_coe_nat_at_top_iff tendsto_natCast_atTop_iff
 -/
 
-#print tendsto_nat_cast_atTop_atTop /-
-theorem tendsto_nat_cast_atTop_atTop [StrictOrderedSemiring R] [Archimedean R] :
+#print tendsto_natCast_atTop_atTop /-
+theorem tendsto_natCast_atTop_atTop [StrictOrderedSemiring R] [Archimedean R] :
     Tendsto (coe : ℕ → R) atTop atTop :=
   Nat.mono_cast.tendsto_atTop_atTop exists_nat_ge
-#align tendsto_coe_nat_at_top_at_top tendsto_nat_cast_atTop_atTop
+#align tendsto_coe_nat_at_top_at_top tendsto_natCast_atTop_atTop
 -/
 
 #print Int.comap_cast_atTop /-
@@ -67,27 +67,27 @@ theorem Int.comap_cast_atBot [StrictOrderedRing R] [Archimedean R] :
 #align int.comap_coe_at_bot Int.comap_cast_atBot
 -/
 
-#print tendsto_int_cast_atTop_iff /-
-theorem tendsto_int_cast_atTop_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
-    {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
+#print tendsto_intCast_atTop_iff /-
+theorem tendsto_intCast_atTop_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ} {l : Filter α} :
+    Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
   rw [← tendsto_comap_iff, Int.comap_cast_atTop]
-#align tendsto_coe_int_at_top_iff tendsto_int_cast_atTop_iff
+#align tendsto_coe_int_at_top_iff tendsto_intCast_atTop_iff
 -/
 
-#print tendsto_int_cast_atBot_iff /-
-theorem tendsto_int_cast_atBot_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
-    {l : Filter α} : Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
+#print tendsto_intCast_atBot_iff /-
+theorem tendsto_intCast_atBot_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ} {l : Filter α} :
+    Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
   rw [← tendsto_comap_iff, Int.comap_cast_atBot]
-#align tendsto_coe_int_at_bot_iff tendsto_int_cast_atBot_iff
+#align tendsto_coe_int_at_bot_iff tendsto_intCast_atBot_iff
 -/
 
-#print tendsto_int_cast_atTop_atTop /-
-theorem tendsto_int_cast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
+#print tendsto_intCast_atTop_atTop /-
+theorem tendsto_intCast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
     Tendsto (coe : ℤ → R) atTop atTop :=
   Int.cast_mono.tendsto_atTop_atTop fun b =>
     let ⟨n, hn⟩ := exists_nat_ge b
     ⟨n, by exact_mod_cast hn⟩
-#align tendsto_coe_int_at_top_at_top tendsto_int_cast_atTop_atTop
+#align tendsto_coe_int_at_top_at_top tendsto_intCast_atTop_atTop
 -/
 
 #print Rat.comap_cast_atTop /-
@@ -110,18 +110,18 @@ theorem Rat.comap_cast_atBot [LinearOrderedField R] [Archimedean R] :
 #align rat.comap_coe_at_bot Rat.comap_cast_atBot
 -/
 
-#print tendsto_rat_cast_atTop_iff /-
-theorem tendsto_rat_cast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
+#print tendsto_ratCast_atTop_iff /-
+theorem tendsto_ratCast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
   rw [← tendsto_comap_iff, Rat.comap_cast_atTop]
-#align tendsto_coe_rat_at_top_iff tendsto_rat_cast_atTop_iff
+#align tendsto_coe_rat_at_top_iff tendsto_ratCast_atTop_iff
 -/
 
-#print tendsto_rat_cast_atBot_iff /-
-theorem tendsto_rat_cast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
+#print tendsto_ratCast_atBot_iff /-
+theorem tendsto_ratCast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
   rw [← tendsto_comap_iff, Rat.comap_cast_atBot]
-#align tendsto_coe_rat_at_bot_iff tendsto_rat_cast_atBot_iff
+#align tendsto_coe_rat_at_bot_iff tendsto_ratCast_atBot_iff
 -/
 
 #print atTop_hasCountableBasis_of_archimedean /-
Diff
@@ -182,7 +182,7 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
   by
   apply tendsto_at_top.2 fun b => _
   obtain ⟨n : ℕ, hn : 1 ≤ n • r⟩ := Archimedean.arch 1 hr
-  rw [nsmul_eq_mul'] at hn 
+  rw [nsmul_eq_mul'] at hn
   filter_upwards [tendsto_at_top.1 hf (n * max b 0)] with x hx
   calc
     b ≤ 1 * max b 0 := by rw [one_mul]; exact le_max_left _ _
@@ -202,7 +202,7 @@ theorem Tendsto.atTop_mul_const' (hr : 0 < r) (hf : Tendsto f l atTop) :
   by
   apply tendsto_at_top.2 fun b => _
   obtain ⟨n : ℕ, hn : 1 ≤ n • r⟩ := Archimedean.arch 1 hr
-  have hn' : 1 ≤ (n : R) * r := by rwa [nsmul_eq_mul] at hn 
+  have hn' : 1 ≤ (n : R) * r := by rwa [nsmul_eq_mul] at hn
   filter_upwards [tendsto_at_top.1 hf (max b 0 * n)] with x hx
   calc
     b ≤ max b 0 * 1 := by rw [mul_one]; exact le_max_left _ _
Diff
@@ -259,7 +259,7 @@ theorem Tendsto.atTop_nsmul_const {f : α → ℕ} (hr : 0 < r) (hf : Tendsto f
   by
   refine' tendsto_at_top.mpr fun s => _
   obtain ⟨n : ℕ, hn : s ≤ n • r⟩ := Archimedean.arch s hr
-  exact (tendsto_at_top.mp hf n).mono fun a ha => hn.trans (nsmul_le_nsmul hr.le ha)
+  exact (tendsto_at_top.mp hf n).mono fun a ha => hn.trans (nsmul_le_nsmul_left hr.le ha)
 #align filter.tendsto.at_top_nsmul_const Filter.Tendsto.atTop_nsmul_const
 -/
 
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Yury Kudryashov
 -/
-import Mathbin.Algebra.Order.Archimedean
-import Mathbin.Order.Filter.AtTopBot
+import Algebra.Order.Archimedean
+import Order.Filter.AtTopBot
 
 #align_import order.filter.archimedean from "leanprover-community/mathlib"@"4d392a6c9c4539cbeca399b3ee0afea398fbd2eb"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Yury Kudryashov
-
-! This file was ported from Lean 3 source module order.filter.archimedean
-! leanprover-community/mathlib commit 4d392a6c9c4539cbeca399b3ee0afea398fbd2eb
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Order.Archimedean
 import Mathbin.Order.Filter.AtTopBot
 
+#align_import order.filter.archimedean from "leanprover-community/mathlib"@"4d392a6c9c4539cbeca399b3ee0afea398fbd2eb"
+
 /-!
 # `at_top` filter and archimedean (semi)rings/fields
 
Diff
@@ -50,6 +50,7 @@ theorem tendsto_nat_cast_atTop_atTop [StrictOrderedSemiring R] [Archimedean R] :
 #align tendsto_coe_nat_at_top_at_top tendsto_nat_cast_atTop_atTop
 -/
 
+#print Int.comap_cast_atTop /-
 @[simp]
 theorem Int.comap_cast_atTop [StrictOrderedRing R] [Archimedean R] :
     comap (coe : ℤ → R) atTop = atTop :=
@@ -57,7 +58,9 @@ theorem Int.comap_cast_atTop [StrictOrderedRing R] [Archimedean R] :
     let ⟨n, hn⟩ := exists_nat_ge r
     ⟨n, by exact_mod_cast hn⟩
 #align int.comap_coe_at_top Int.comap_cast_atTop
+-/
 
+#print Int.comap_cast_atBot /-
 @[simp]
 theorem Int.comap_cast_atBot [StrictOrderedRing R] [Archimedean R] :
     comap (coe : ℤ → R) atBot = atBot :=
@@ -65,24 +68,32 @@ theorem Int.comap_cast_atBot [StrictOrderedRing R] [Archimedean R] :
     let ⟨n, hn⟩ := exists_nat_ge (-r)
     ⟨-n, by simpa [neg_le] using hn⟩
 #align int.comap_coe_at_bot Int.comap_cast_atBot
+-/
 
+#print tendsto_int_cast_atTop_iff /-
 theorem tendsto_int_cast_atTop_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
   rw [← tendsto_comap_iff, Int.comap_cast_atTop]
 #align tendsto_coe_int_at_top_iff tendsto_int_cast_atTop_iff
+-/
 
+#print tendsto_int_cast_atBot_iff /-
 theorem tendsto_int_cast_atBot_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
   rw [← tendsto_comap_iff, Int.comap_cast_atBot]
 #align tendsto_coe_int_at_bot_iff tendsto_int_cast_atBot_iff
+-/
 
+#print tendsto_int_cast_atTop_atTop /-
 theorem tendsto_int_cast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
     Tendsto (coe : ℤ → R) atTop atTop :=
   Int.cast_mono.tendsto_atTop_atTop fun b =>
     let ⟨n, hn⟩ := exists_nat_ge b
     ⟨n, by exact_mod_cast hn⟩
 #align tendsto_coe_int_at_top_at_top tendsto_int_cast_atTop_atTop
+-/
 
+#print Rat.comap_cast_atTop /-
 @[simp]
 theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
     comap (coe : ℚ → R) atTop = atTop :=
@@ -90,7 +101,9 @@ theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
     let ⟨n, hn⟩ := exists_nat_ge r
     ⟨n, by simpa⟩
 #align rat.comap_coe_at_top Rat.comap_cast_atTop
+-/
 
+#print Rat.comap_cast_atBot /-
 @[simp]
 theorem Rat.comap_cast_atBot [LinearOrderedField R] [Archimedean R] :
     comap (coe : ℚ → R) atBot = atBot :=
@@ -98,17 +111,23 @@ theorem Rat.comap_cast_atBot [LinearOrderedField R] [Archimedean R] :
     let ⟨n, hn⟩ := exists_nat_ge (-r)
     ⟨-n, by simpa [neg_le]⟩
 #align rat.comap_coe_at_bot Rat.comap_cast_atBot
+-/
 
+#print tendsto_rat_cast_atTop_iff /-
 theorem tendsto_rat_cast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
   rw [← tendsto_comap_iff, Rat.comap_cast_atTop]
 #align tendsto_coe_rat_at_top_iff tendsto_rat_cast_atTop_iff
+-/
 
+#print tendsto_rat_cast_atBot_iff /-
 theorem tendsto_rat_cast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
   rw [← tendsto_comap_iff, Rat.comap_cast_atBot]
 #align tendsto_coe_rat_at_bot_iff tendsto_rat_cast_atBot_iff
+-/
 
+#print atTop_hasCountableBasis_of_archimedean /-
 theorem atTop_hasCountableBasis_of_archimedean [LinearOrderedSemiring R] [Archimedean R] :
     (atTop : Filter R).HasCountableBasis (fun n : ℕ => True) fun n => Ici n :=
   { Countable := to_countable _
@@ -119,7 +138,9 @@ theorem atTop_hasCountableBasis_of_archimedean [LinearOrderedSemiring R] [Archim
           ⟨n, trivial, Ici_subset_Ici.2 hn⟩)
         fun n hn => ⟨n, trivial, Subset.rfl⟩ }
 #align at_top_countable_basis_of_archimedean atTop_hasCountableBasis_of_archimedean
+-/
 
+#print atBot_hasCountableBasis_of_archimedean /-
 theorem atBot_hasCountableBasis_of_archimedean [LinearOrderedRing R] [Archimedean R] :
     (atBot : Filter R).HasCountableBasis (fun m : ℤ => True) fun m => Iic m :=
   { Countable := to_countable _
@@ -130,11 +151,14 @@ theorem atBot_hasCountableBasis_of_archimedean [LinearOrderedRing R] [Archimedea
           ⟨m, trivial, Iic_subset_Iic.2 hm.le⟩)
         fun m hm => ⟨m, trivial, Subset.rfl⟩ }
 #align at_bot_countable_basis_of_archimedean atBot_hasCountableBasis_of_archimedean
+-/
 
+#print atTop_isCountablyGenerated_of_archimedean /-
 instance (priority := 100) atTop_isCountablyGenerated_of_archimedean [LinearOrderedSemiring R]
     [Archimedean R] : (atTop : Filter R).IsCountablyGenerated :=
   atTop_hasCountableBasis_of_archimedean.IsCountablyGenerated
 #align at_top_countably_generated_of_archimedean atTop_isCountablyGenerated_of_archimedean
+-/
 
 #print atBot_isCountablyGenerated_of_archimedean /-
 instance (priority := 100) atBot_isCountablyGenerated_of_archimedean [LinearOrderedRing R]
@@ -151,6 +175,7 @@ section LinearOrderedSemiring
 
 variable [LinearOrderedSemiring R] [Archimedean R]
 
+#print Filter.Tendsto.const_mul_atTop' /-
 /-- If a function tends to infinity along a filter, then this function multiplied by a positive
 constant (on the left) also tends to infinity. The archimedean assumption is convenient to get a
 statement that works on `ℕ`, `ℤ` and `ℝ`, although not necessary (a version in ordered fields is
@@ -168,7 +193,9 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
     _ = r * (n * max b 0) := by rw [mul_assoc]
     _ ≤ r * f x := mul_le_mul_of_nonneg_left hx (le_of_lt hr)
 #align filter.tendsto.const_mul_at_top' Filter.Tendsto.const_mul_atTop'
+-/
 
+#print Filter.Tendsto.atTop_mul_const' /-
 /-- If a function tends to infinity along a filter, then this function multiplied by a positive
 constant (on the right) also tends to infinity. The archimedean assumption is convenient to get a
 statement that works on `ℕ`, `ℤ` and `ℝ`, although not necessary (a version in ordered fields is
@@ -186,6 +213,7 @@ theorem Tendsto.atTop_mul_const' (hr : 0 < r) (hf : Tendsto f l atTop) :
     _ = max b 0 * n * r := by rw [mul_assoc]
     _ ≤ f x * r := mul_le_mul_of_nonneg_right hx (le_of_lt hr)
 #align filter.tendsto.at_top_mul_const' Filter.Tendsto.atTop_mul_const'
+-/
 
 end LinearOrderedSemiring
 
@@ -193,13 +221,16 @@ section LinearOrderedRing
 
 variable [LinearOrderedRing R] [Archimedean R]
 
+#print Filter.Tendsto.atTop_mul_neg_const' /-
 /-- See also `filter.tendsto.at_top_mul_neg_const` for a version of this lemma for
 `linear_ordered_field`s which does not require the `archimedean` assumption. -/
 theorem Tendsto.atTop_mul_neg_const' (hr : r < 0) (hf : Tendsto f l atTop) :
     Tendsto (fun x => f x * r) l atBot := by
   simpa only [tendsto_neg_at_top_iff, mul_neg] using hf.at_top_mul_const' (neg_pos.mpr hr)
 #align filter.tendsto.at_top_mul_neg_const' Filter.Tendsto.atTop_mul_neg_const'
+-/
 
+#print Filter.Tendsto.atBot_mul_const' /-
 /-- See also `filter.tendsto.at_bot_mul_const` for a version of this lemma for
 `linear_ordered_field`s which does not require the `archimedean` assumption. -/
 theorem Tendsto.atBot_mul_const' (hr : 0 < r) (hf : Tendsto f l atBot) :
@@ -208,13 +239,16 @@ theorem Tendsto.atBot_mul_const' (hr : 0 < r) (hf : Tendsto f l atBot) :
   simp only [← tendsto_neg_at_top_iff, ← neg_mul] at hf ⊢
   exact hf.at_top_mul_const' hr
 #align filter.tendsto.at_bot_mul_const' Filter.Tendsto.atBot_mul_const'
+-/
 
+#print Filter.Tendsto.atBot_mul_neg_const' /-
 /-- See also `filter.tendsto.at_bot_mul_neg_const` for a version of this lemma for
 `linear_ordered_field`s which does not require the `archimedean` assumption. -/
 theorem Tendsto.atBot_mul_neg_const' (hr : r < 0) (hf : Tendsto f l atBot) :
     Tendsto (fun x => f x * r) l atTop := by
   simpa only [mul_neg, tendsto_neg_at_bot_iff] using hf.at_bot_mul_const' (neg_pos.2 hr)
 #align filter.tendsto.at_bot_mul_neg_const' Filter.Tendsto.atBot_mul_neg_const'
+-/
 
 end LinearOrderedRing
 
@@ -222,6 +256,7 @@ section LinearOrderedCancelAddCommMonoid
 
 variable [LinearOrderedCancelAddCommMonoid R] [Archimedean R]
 
+#print Filter.Tendsto.atTop_nsmul_const /-
 theorem Tendsto.atTop_nsmul_const {f : α → ℕ} (hr : 0 < r) (hf : Tendsto f l atTop) :
     Tendsto (fun x => f x • r) l atTop :=
   by
@@ -229,6 +264,7 @@ theorem Tendsto.atTop_nsmul_const {f : α → ℕ} (hr : 0 < r) (hf : Tendsto f
   obtain ⟨n : ℕ, hn : s ≤ n • r⟩ := Archimedean.arch s hr
   exact (tendsto_at_top.mp hf n).mono fun a ha => hn.trans (nsmul_le_nsmul hr.le ha)
 #align filter.tendsto.at_top_nsmul_const Filter.Tendsto.atTop_nsmul_const
+-/
 
 end LinearOrderedCancelAddCommMonoid
 
@@ -236,10 +272,13 @@ section LinearOrderedAddCommGroup
 
 variable [LinearOrderedAddCommGroup R] [Archimedean R]
 
+#print Filter.Tendsto.atTop_nsmul_neg_const /-
 theorem Tendsto.atTop_nsmul_neg_const {f : α → ℕ} (hr : r < 0) (hf : Tendsto f l atTop) :
     Tendsto (fun x => f x • r) l atBot := by simpa using hf.at_top_nsmul_const (neg_pos.2 hr)
 #align filter.tendsto.at_top_nsmul_neg_const Filter.Tendsto.atTop_nsmul_neg_const
+-/
 
+#print Filter.Tendsto.atTop_zsmul_const /-
 theorem Tendsto.atTop_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f l atTop) :
     Tendsto (fun x => f x • r) l atTop :=
   by
@@ -248,21 +287,28 @@ theorem Tendsto.atTop_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f
   replace hn : s ≤ (n : ℤ) • r; · simpa
   exact (tendsto_at_top.mp hf n).mono fun a ha => hn.trans (zsmul_le_zsmul hr.le ha)
 #align filter.tendsto.at_top_zsmul_const Filter.Tendsto.atTop_zsmul_const
+-/
 
+#print Filter.Tendsto.atTop_zsmul_neg_const /-
 theorem Tendsto.atTop_zsmul_neg_const {f : α → ℤ} (hr : r < 0) (hf : Tendsto f l atTop) :
     Tendsto (fun x => f x • r) l atBot := by simpa using hf.at_top_zsmul_const (neg_pos.2 hr)
 #align filter.tendsto.at_top_zsmul_neg_const Filter.Tendsto.atTop_zsmul_neg_const
+-/
 
+#print Filter.Tendsto.atBot_zsmul_const /-
 theorem Tendsto.atBot_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f l atBot) :
     Tendsto (fun x => f x • r) l atBot :=
   by
   simp only [← tendsto_neg_at_top_iff, ← neg_zsmul] at hf ⊢
   exact hf.at_top_zsmul_const hr
 #align filter.tendsto.at_bot_zsmul_const Filter.Tendsto.atBot_zsmul_const
+-/
 
+#print Filter.Tendsto.atBot_zsmul_neg_const /-
 theorem Tendsto.atBot_zsmul_neg_const {f : α → ℤ} (hr : r < 0) (hf : Tendsto f l atBot) :
     Tendsto (fun x => f x • r) l atTop := by simpa using hf.at_bot_zsmul_const (neg_pos.2 hr)
 #align filter.tendsto.at_bot_zsmul_neg_const Filter.Tendsto.atBot_zsmul_neg_const
+-/
 
 end LinearOrderedAddCommGroup
 
Diff
@@ -167,7 +167,6 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
     _ ≤ r * n * max b 0 := (mul_le_mul_of_nonneg_right hn (le_max_right _ _))
     _ = r * (n * max b 0) := by rw [mul_assoc]
     _ ≤ r * f x := mul_le_mul_of_nonneg_left hx (le_of_lt hr)
-    
 #align filter.tendsto.const_mul_at_top' Filter.Tendsto.const_mul_atTop'
 
 /-- If a function tends to infinity along a filter, then this function multiplied by a positive
@@ -186,7 +185,6 @@ theorem Tendsto.atTop_mul_const' (hr : 0 < r) (hf : Tendsto f l atTop) :
     _ ≤ max b 0 * (n * r) := (mul_le_mul_of_nonneg_left hn' (le_max_right _ _))
     _ = max b 0 * n * r := by rw [mul_assoc]
     _ ≤ f x * r := mul_le_mul_of_nonneg_right hx (le_of_lt hr)
-    
 #align filter.tendsto.at_top_mul_const' Filter.Tendsto.atTop_mul_const'
 
 end LinearOrderedSemiring
Diff
@@ -161,7 +161,7 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
   apply tendsto_at_top.2 fun b => _
   obtain ⟨n : ℕ, hn : 1 ≤ n • r⟩ := Archimedean.arch 1 hr
   rw [nsmul_eq_mul'] at hn 
-  filter_upwards [tendsto_at_top.1 hf (n * max b 0)]with x hx
+  filter_upwards [tendsto_at_top.1 hf (n * max b 0)] with x hx
   calc
     b ≤ 1 * max b 0 := by rw [one_mul]; exact le_max_left _ _
     _ ≤ r * n * max b 0 := (mul_le_mul_of_nonneg_right hn (le_max_right _ _))
@@ -180,7 +180,7 @@ theorem Tendsto.atTop_mul_const' (hr : 0 < r) (hf : Tendsto f l atTop) :
   apply tendsto_at_top.2 fun b => _
   obtain ⟨n : ℕ, hn : 1 ≤ n • r⟩ := Archimedean.arch 1 hr
   have hn' : 1 ≤ (n : R) * r := by rwa [nsmul_eq_mul] at hn 
-  filter_upwards [tendsto_at_top.1 hf (max b 0 * n)]with x hx
+  filter_upwards [tendsto_at_top.1 hf (max b 0 * n)] with x hx
   calc
     b ≤ max b 0 * 1 := by rw [mul_one]; exact le_max_left _ _
     _ ≤ max b 0 * (n * r) := (mul_le_mul_of_nonneg_left hn' (le_max_right _ _))
Diff
@@ -96,7 +96,7 @@ theorem Rat.comap_cast_atBot [LinearOrderedField R] [Archimedean R] :
     comap (coe : ℚ → R) atBot = atBot :=
   comap_embedding_atBot (fun _ _ => Rat.cast_le) fun r =>
     let ⟨n, hn⟩ := exists_nat_ge (-r)
-    ⟨-n, by simpa [neg_le] ⟩
+    ⟨-n, by simpa [neg_le]⟩
 #align rat.comap_coe_at_bot Rat.comap_cast_atBot
 
 theorem tendsto_rat_cast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
@@ -160,7 +160,7 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
   by
   apply tendsto_at_top.2 fun b => _
   obtain ⟨n : ℕ, hn : 1 ≤ n • r⟩ := Archimedean.arch 1 hr
-  rw [nsmul_eq_mul'] at hn
+  rw [nsmul_eq_mul'] at hn 
   filter_upwards [tendsto_at_top.1 hf (n * max b 0)]with x hx
   calc
     b ≤ 1 * max b 0 := by rw [one_mul]; exact le_max_left _ _
@@ -179,7 +179,7 @@ theorem Tendsto.atTop_mul_const' (hr : 0 < r) (hf : Tendsto f l atTop) :
   by
   apply tendsto_at_top.2 fun b => _
   obtain ⟨n : ℕ, hn : 1 ≤ n • r⟩ := Archimedean.arch 1 hr
-  have hn' : 1 ≤ (n : R) * r := by rwa [nsmul_eq_mul] at hn
+  have hn' : 1 ≤ (n : R) * r := by rwa [nsmul_eq_mul] at hn 
   filter_upwards [tendsto_at_top.1 hf (max b 0 * n)]with x hx
   calc
     b ≤ max b 0 * 1 := by rw [mul_one]; exact le_max_left _ _
@@ -207,7 +207,7 @@ theorem Tendsto.atTop_mul_neg_const' (hr : r < 0) (hf : Tendsto f l atTop) :
 theorem Tendsto.atBot_mul_const' (hr : 0 < r) (hf : Tendsto f l atBot) :
     Tendsto (fun x => f x * r) l atBot :=
   by
-  simp only [← tendsto_neg_at_top_iff, ← neg_mul] at hf⊢
+  simp only [← tendsto_neg_at_top_iff, ← neg_mul] at hf ⊢
   exact hf.at_top_mul_const' hr
 #align filter.tendsto.at_bot_mul_const' Filter.Tendsto.atBot_mul_const'
 
@@ -258,7 +258,7 @@ theorem Tendsto.atTop_zsmul_neg_const {f : α → ℤ} (hr : r < 0) (hf : Tendst
 theorem Tendsto.atBot_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f l atBot) :
     Tendsto (fun x => f x • r) l atBot :=
   by
-  simp only [← tendsto_neg_at_top_iff, ← neg_zsmul] at hf⊢
+  simp only [← tendsto_neg_at_top_iff, ← neg_zsmul] at hf ⊢
   exact hf.at_top_zsmul_const hr
 #align filter.tendsto.at_bot_zsmul_const Filter.Tendsto.atBot_zsmul_const
 
Diff
@@ -50,12 +50,6 @@ theorem tendsto_nat_cast_atTop_atTop [StrictOrderedSemiring R] [Archimedean R] :
 #align tendsto_coe_nat_at_top_at_top tendsto_nat_cast_atTop_atTop
 -/
 
-/- warning: int.comap_coe_at_top -> Int.comap_cast_atTop is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1)))))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R (Int.cast.{u1} R (Ring.toIntCast.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R _inst_1)))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))
-Case conversion may be inaccurate. Consider using '#align int.comap_coe_at_top Int.comap_cast_atTopₓ'. -/
 @[simp]
 theorem Int.comap_cast_atTop [StrictOrderedRing R] [Archimedean R] :
     comap (coe : ℤ → R) atTop = atTop :=
@@ -64,12 +58,6 @@ theorem Int.comap_cast_atTop [StrictOrderedRing R] [Archimedean R] :
     ⟨n, by exact_mod_cast hn⟩
 #align int.comap_coe_at_top Int.comap_cast_atTop
 
-/- warning: int.comap_coe_at_bot -> Int.comap_cast_atBot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1)))))))) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))))) (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R (Int.cast.{u1} R (Ring.toIntCast.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1))) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R _inst_1)))) (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))
-Case conversion may be inaccurate. Consider using '#align int.comap_coe_at_bot Int.comap_cast_atBotₓ'. -/
 @[simp]
 theorem Int.comap_cast_atBot [StrictOrderedRing R] [Archimedean R] :
     comap (coe : ℤ → R) atBot = atBot :=
@@ -78,34 +66,16 @@ theorem Int.comap_cast_atBot [StrictOrderedRing R] [Archimedean R] :
     ⟨-n, by simpa [neg_le] using hn⟩
 #align int.comap_coe_at_bot Int.comap_cast_atBot
 
-/- warning: tendsto_coe_int_at_top_iff -> tendsto_int_cast_atTop_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int R (HasLiftT.mk.{1, succ u2} Int R (CoeTCₓ.coe.{1, succ u2} Int R (Int.castCoe.{u2} R (AddGroupWithOne.toHasIntCast.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1))))))) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R _inst_1))))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => Int.cast.{u2} R (Ring.toIntCast.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1)) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R _inst_1)))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
-Case conversion may be inaccurate. Consider using '#align tendsto_coe_int_at_top_iff tendsto_int_cast_atTop_iffₓ'. -/
 theorem tendsto_int_cast_atTop_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
   rw [← tendsto_comap_iff, Int.comap_cast_atTop]
 #align tendsto_coe_int_at_top_iff tendsto_int_cast_atTop_iff
 
-/- warning: tendsto_coe_int_at_bot_iff -> tendsto_int_cast_atBot_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int R (HasLiftT.mk.{1, succ u2} Int R (CoeTCₓ.coe.{1, succ u2} Int R (Int.castCoe.{u2} R (AddGroupWithOne.toHasIntCast.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1))))))) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R _inst_1))))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => Int.cast.{u2} R (Ring.toIntCast.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1)) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R _inst_1)))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
-Case conversion may be inaccurate. Consider using '#align tendsto_coe_int_at_bot_iff tendsto_int_cast_atBot_iffₓ'. -/
 theorem tendsto_int_cast_atBot_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
   rw [← tendsto_comap_iff, Int.comap_cast_atBot]
 #align tendsto_coe_int_at_bot_iff tendsto_int_cast_atBot_iff
 
-/- warning: tendsto_coe_int_at_top_at_top -> tendsto_int_cast_atTop_atTop is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Filter.Tendsto.{0, u1} Int R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1)))))))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Filter.Tendsto.{0, u1} Int R (Int.cast.{u1} R (Ring.toIntCast.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align tendsto_coe_int_at_top_at_top tendsto_int_cast_atTop_atTopₓ'. -/
 theorem tendsto_int_cast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
     Tendsto (coe : ℤ → R) atTop atTop :=
   Int.cast_mono.tendsto_atTop_atTop fun b =>
@@ -113,12 +83,6 @@ theorem tendsto_int_cast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
     ⟨n, by exact_mod_cast hn⟩
 #align tendsto_coe_int_at_top_at_top tendsto_int_cast_atTop_atTop
 
-/- warning: rat.comap_coe_at_top -> Rat.comap_cast_atTop is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Rat R (HasLiftT.mk.{1, succ u1} Rat R (CoeTCₓ.coe.{1, succ u1} Rat R (Rat.castCoe.{u1} R (DivisionRing.toHasRatCast.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))))) (Filter.atTop.{0} Rat Rat.preorder)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (OrderedCommSemiring.toOrderedSemiring.{u1} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R (Rat.cast.{u1} R (LinearOrderedField.toRatCast.{u1} R _inst_1)) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (Filter.atTop.{0} Rat Rat.instPreorderRat)
-Case conversion may be inaccurate. Consider using '#align rat.comap_coe_at_top Rat.comap_cast_atTopₓ'. -/
 @[simp]
 theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
     comap (coe : ℚ → R) atTop = atTop :=
@@ -127,12 +91,6 @@ theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
     ⟨n, by simpa⟩
 #align rat.comap_coe_at_top Rat.comap_cast_atTop
 
-/- warning: rat.comap_coe_at_bot -> Rat.comap_cast_atBot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Rat R (HasLiftT.mk.{1, succ u1} Rat R (CoeTCₓ.coe.{1, succ u1} Rat R (Rat.castCoe.{u1} R (DivisionRing.toHasRatCast.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))))) (Filter.atBot.{0} Rat Rat.preorder)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (OrderedCommSemiring.toOrderedSemiring.{u1} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R (Rat.cast.{u1} R (LinearOrderedField.toRatCast.{u1} R _inst_1)) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (Filter.atBot.{0} Rat Rat.instPreorderRat)
-Case conversion may be inaccurate. Consider using '#align rat.comap_coe_at_bot Rat.comap_cast_atBotₓ'. -/
 @[simp]
 theorem Rat.comap_cast_atBot [LinearOrderedField R] [Archimedean R] :
     comap (coe : ℚ → R) atBot = atBot :=
@@ -141,34 +99,16 @@ theorem Rat.comap_cast_atBot [LinearOrderedField R] [Archimedean R] :
     ⟨-n, by simpa [neg_le] ⟩
 #align rat.comap_coe_at_bot Rat.comap_cast_atBot
 
-/- warning: tendsto_coe_rat_at_top_iff -> tendsto_rat_cast_atTop_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Rat R (HasLiftT.mk.{1, succ u2} Rat R (CoeTCₓ.coe.{1, succ u2} Rat R (Rat.castCoe.{u2} R (DivisionRing.toHasRatCast.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1)))))) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1)))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atTop.{0} Rat Rat.preorder))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (OrderedCommSemiring.toOrderedSemiring.{u2} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => Rat.cast.{u2} R (LinearOrderedField.toRatCast.{u2} R _inst_1) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atTop.{0} Rat Rat.instPreorderRat))
-Case conversion may be inaccurate. Consider using '#align tendsto_coe_rat_at_top_iff tendsto_rat_cast_atTop_iffₓ'. -/
 theorem tendsto_rat_cast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
   rw [← tendsto_comap_iff, Rat.comap_cast_atTop]
 #align tendsto_coe_rat_at_top_iff tendsto_rat_cast_atTop_iff
 
-/- warning: tendsto_coe_rat_at_bot_iff -> tendsto_rat_cast_atBot_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Rat R (HasLiftT.mk.{1, succ u2} Rat R (CoeTCₓ.coe.{1, succ u2} Rat R (Rat.castCoe.{u2} R (DivisionRing.toHasRatCast.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1)))))) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1)))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atBot.{0} Rat Rat.preorder))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (OrderedCommSemiring.toOrderedSemiring.{u2} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => Rat.cast.{u2} R (LinearOrderedField.toRatCast.{u2} R _inst_1) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atBot.{0} Rat Rat.instPreorderRat))
-Case conversion may be inaccurate. Consider using '#align tendsto_coe_rat_at_bot_iff tendsto_rat_cast_atBot_iffₓ'. -/
 theorem tendsto_rat_cast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
   rw [← tendsto_comap_iff, Rat.comap_cast_atBot]
 #align tendsto_coe_rat_at_bot_iff tendsto_rat_cast_atBot_iff
 
-/- warning: at_top_countable_basis_of_archimedean -> atTop_hasCountableBasis_of_archimedean is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedSemiring.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R _inst_1)))], Filter.HasCountableBasis.{u1, 0} R Nat (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedCancelAddCommMonoid.toPartialOrder.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R _inst_1))))) (fun (n : Nat) => True) (fun (n : Nat) => Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedCancelAddCommMonoid.toPartialOrder.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R _inst_1)))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat R (HasLiftT.mk.{1, succ u1} Nat R (CoeTCₓ.coe.{1, succ u1} Nat R (Nat.castCoe.{u1} R (AddMonoidWithOne.toNatCast.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (StrictOrderedSemiring.toSemiring.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R _inst_1))))))))) n))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedSemiring.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R _inst_1))], Filter.HasCountableBasis.{u1, 0} R Nat (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedSemiring.toPartialOrder.{u1} R _inst_1))) (fun (n : Nat) => True) (fun (n : Nat) => Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedSemiring.toPartialOrder.{u1} R _inst_1)) (Nat.cast.{u1} R (Semiring.toNatCast.{u1} R (StrictOrderedSemiring.toSemiring.{u1} R _inst_1)) n))
-Case conversion may be inaccurate. Consider using '#align at_top_countable_basis_of_archimedean atTop_hasCountableBasis_of_archimedeanₓ'. -/
 theorem atTop_hasCountableBasis_of_archimedean [LinearOrderedSemiring R] [Archimedean R] :
     (atTop : Filter R).HasCountableBasis (fun n : ℕ => True) fun n => Ici n :=
   { Countable := to_countable _
@@ -180,12 +120,6 @@ theorem atTop_hasCountableBasis_of_archimedean [LinearOrderedSemiring R] [Archim
         fun n hn => ⟨n, trivial, Subset.rfl⟩ }
 #align at_top_countable_basis_of_archimedean atTop_hasCountableBasis_of_archimedean
 
-/- warning: at_bot_countable_basis_of_archimedean -> atBot_hasCountableBasis_of_archimedean is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))], Filter.HasCountableBasis.{u1, 0} R Int (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))) (fun (m : Int) => True) (fun (m : Int) => Set.Iic.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))))))) m))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toLinearOrderedSemiring.{u1} R _inst_1))))], Filter.HasCountableBasis.{u1, 0} R Int (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))) (fun (m : Int) => True) (fun (m : Int) => Set.Iic.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))) (Int.cast.{u1} R (Ring.toIntCast.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))) m))
-Case conversion may be inaccurate. Consider using '#align at_bot_countable_basis_of_archimedean atBot_hasCountableBasis_of_archimedeanₓ'. -/
 theorem atBot_hasCountableBasis_of_archimedean [LinearOrderedRing R] [Archimedean R] :
     (atBot : Filter R).HasCountableBasis (fun m : ℤ => True) fun m => Iic m :=
   { Countable := to_countable _
@@ -197,12 +131,6 @@ theorem atBot_hasCountableBasis_of_archimedean [LinearOrderedRing R] [Archimedea
         fun m hm => ⟨m, trivial, Subset.rfl⟩ }
 #align at_bot_countable_basis_of_archimedean atBot_hasCountableBasis_of_archimedean
 
-/- warning: at_top_countably_generated_of_archimedean -> atTop_isCountablyGenerated_of_archimedean is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedSemiring.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R _inst_1)))], Filter.IsCountablyGenerated.{u1} R (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedCancelAddCommMonoid.toPartialOrder.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R _inst_1)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedSemiring.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R _inst_1))], Filter.IsCountablyGenerated.{u1} R (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedSemiring.toPartialOrder.{u1} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align at_top_countably_generated_of_archimedean atTop_isCountablyGenerated_of_archimedeanₓ'. -/
 instance (priority := 100) atTop_isCountablyGenerated_of_archimedean [LinearOrderedSemiring R]
     [Archimedean R] : (atTop : Filter R).IsCountablyGenerated :=
   atTop_hasCountableBasis_of_archimedean.IsCountablyGenerated
@@ -223,12 +151,6 @@ section LinearOrderedSemiring
 
 variable [LinearOrderedSemiring R] [Archimedean R]
 
-/- warning: filter.tendsto.const_mul_at_top' -> Filter.Tendsto.const_mul_atTop' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))) r (f x)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) r (f x)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.const_mul_at_top' Filter.Tendsto.const_mul_atTop'ₓ'. -/
 /-- If a function tends to infinity along a filter, then this function multiplied by a positive
 constant (on the left) also tends to infinity. The archimedean assumption is convenient to get a
 statement that works on `ℕ`, `ℤ` and `ℝ`, although not necessary (a version in ordered fields is
@@ -248,12 +170,6 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
     
 #align filter.tendsto.const_mul_at_top' Filter.Tendsto.const_mul_atTop'
 
-/- warning: filter.tendsto.at_top_mul_const' -> Filter.Tendsto.atTop_mul_const' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_mul_const' Filter.Tendsto.atTop_mul_const'ₓ'. -/
 /-- If a function tends to infinity along a filter, then this function multiplied by a positive
 constant (on the right) also tends to infinity. The archimedean assumption is convenient to get a
 statement that works on `ℕ`, `ℤ` and `ℝ`, although not necessary (a version in ordered fields is
@@ -279,12 +195,6 @@ section LinearOrderedRing
 
 variable [LinearOrderedRing R] [Archimedean R]
 
-/- warning: filter.tendsto.at_top_mul_neg_const' -> Filter.Tendsto.atTop_mul_neg_const' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_mul_neg_const' Filter.Tendsto.atTop_mul_neg_const'ₓ'. -/
 /-- See also `filter.tendsto.at_top_mul_neg_const` for a version of this lemma for
 `linear_ordered_field`s which does not require the `archimedean` assumption. -/
 theorem Tendsto.atTop_mul_neg_const' (hr : r < 0) (hf : Tendsto f l atTop) :
@@ -292,12 +202,6 @@ theorem Tendsto.atTop_mul_neg_const' (hr : r < 0) (hf : Tendsto f l atTop) :
   simpa only [tendsto_neg_at_top_iff, mul_neg] using hf.at_top_mul_const' (neg_pos.mpr hr)
 #align filter.tendsto.at_top_mul_neg_const' Filter.Tendsto.atTop_mul_neg_const'
 
-/- warning: filter.tendsto.at_bot_mul_const' -> Filter.Tendsto.atBot_mul_const' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_bot_mul_const' Filter.Tendsto.atBot_mul_const'ₓ'. -/
 /-- See also `filter.tendsto.at_bot_mul_const` for a version of this lemma for
 `linear_ordered_field`s which does not require the `archimedean` assumption. -/
 theorem Tendsto.atBot_mul_const' (hr : 0 < r) (hf : Tendsto f l atBot) :
@@ -307,12 +211,6 @@ theorem Tendsto.atBot_mul_const' (hr : 0 < r) (hf : Tendsto f l atBot) :
   exact hf.at_top_mul_const' hr
 #align filter.tendsto.at_bot_mul_const' Filter.Tendsto.atBot_mul_const'
 
-/- warning: filter.tendsto.at_bot_mul_neg_const' -> Filter.Tendsto.atBot_mul_neg_const' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_bot_mul_neg_const' Filter.Tendsto.atBot_mul_neg_const'ₓ'. -/
 /-- See also `filter.tendsto.at_bot_mul_neg_const` for a version of this lemma for
 `linear_ordered_field`s which does not require the `archimedean` assumption. -/
 theorem Tendsto.atBot_mul_neg_const' (hr : r < 0) (hf : Tendsto f l atBot) :
@@ -326,12 +224,6 @@ section LinearOrderedCancelAddCommMonoid
 
 variable [LinearOrderedCancelAddCommMonoid R] [Archimedean R]
 
-/- warning: filter.tendsto.at_top_nsmul_const -> Filter.Tendsto.atTop_nsmul_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedCancelAddCommMonoid.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddRightCancelMonoid.toAddMonoid.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (AddRightCancelMonoid.toAddMonoid.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedCancelAddCommMonoid.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R _inst_1))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (AddRightCancelMonoid.toZero.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1))))))) r) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Nat R R (instHSMul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (AddRightCancelMonoid.toAddMonoid.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1))))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_nsmul_const Filter.Tendsto.atTop_nsmul_constₓ'. -/
 theorem Tendsto.atTop_nsmul_const {f : α → ℕ} (hr : 0 < r) (hf : Tendsto f l atTop) :
     Tendsto (fun x => f x • r) l atTop :=
   by
@@ -346,22 +238,10 @@ section LinearOrderedAddCommGroup
 
 variable [LinearOrderedAddCommGroup R] [Archimedean R]
 
-/- warning: filter.tendsto.at_top_nsmul_neg_const -> Filter.Tendsto.atTop_nsmul_neg_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Nat R R (instHSMul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_nsmul_neg_const Filter.Tendsto.atTop_nsmul_neg_constₓ'. -/
 theorem Tendsto.atTop_nsmul_neg_const {f : α → ℕ} (hr : r < 0) (hf : Tendsto f l atTop) :
     Tendsto (fun x => f x • r) l atBot := by simpa using hf.at_top_nsmul_const (neg_pos.2 hr)
 #align filter.tendsto.at_top_nsmul_neg_const Filter.Tendsto.atTop_nsmul_neg_const
 
-/- warning: filter.tendsto.at_top_zsmul_const -> Filter.Tendsto.atTop_zsmul_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Int R R (instHSMul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_zsmul_const Filter.Tendsto.atTop_zsmul_constₓ'. -/
 theorem Tendsto.atTop_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f l atTop) :
     Tendsto (fun x => f x • r) l atTop :=
   by
@@ -371,22 +251,10 @@ theorem Tendsto.atTop_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f
   exact (tendsto_at_top.mp hf n).mono fun a ha => hn.trans (zsmul_le_zsmul hr.le ha)
 #align filter.tendsto.at_top_zsmul_const Filter.Tendsto.atTop_zsmul_const
 
-/- warning: filter.tendsto.at_top_zsmul_neg_const -> Filter.Tendsto.atTop_zsmul_neg_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Int R R (instHSMul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_zsmul_neg_const Filter.Tendsto.atTop_zsmul_neg_constₓ'. -/
 theorem Tendsto.atTop_zsmul_neg_const {f : α → ℤ} (hr : r < 0) (hf : Tendsto f l atTop) :
     Tendsto (fun x => f x • r) l atBot := by simpa using hf.at_top_zsmul_const (neg_pos.2 hr)
 #align filter.tendsto.at_top_zsmul_neg_const Filter.Tendsto.atTop_zsmul_neg_const
 
-/- warning: filter.tendsto.at_bot_zsmul_const -> Filter.Tendsto.atBot_zsmul_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Int R R (instHSMul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_bot_zsmul_const Filter.Tendsto.atBot_zsmul_constₓ'. -/
 theorem Tendsto.atBot_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f l atBot) :
     Tendsto (fun x => f x • r) l atBot :=
   by
@@ -394,12 +262,6 @@ theorem Tendsto.atBot_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f
   exact hf.at_top_zsmul_const hr
 #align filter.tendsto.at_bot_zsmul_const Filter.Tendsto.atBot_zsmul_const
 
-/- warning: filter.tendsto.at_bot_zsmul_neg_const -> Filter.Tendsto.atBot_zsmul_neg_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Int R R (instHSMul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_bot_zsmul_neg_const Filter.Tendsto.atBot_zsmul_neg_constₓ'. -/
 theorem Tendsto.atBot_zsmul_neg_const {f : α → ℤ} (hr : r < 0) (hf : Tendsto f l atBot) :
     Tendsto (fun x => f x • r) l atTop := by simpa using hf.at_bot_zsmul_const (neg_pos.2 hr)
 #align filter.tendsto.at_bot_zsmul_neg_const Filter.Tendsto.atBot_zsmul_neg_const
Diff
@@ -241,9 +241,7 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
   rw [nsmul_eq_mul'] at hn
   filter_upwards [tendsto_at_top.1 hf (n * max b 0)]with x hx
   calc
-    b ≤ 1 * max b 0 := by
-      rw [one_mul]
-      exact le_max_left _ _
+    b ≤ 1 * max b 0 := by rw [one_mul]; exact le_max_left _ _
     _ ≤ r * n * max b 0 := (mul_le_mul_of_nonneg_right hn (le_max_right _ _))
     _ = r * (n * max b 0) := by rw [mul_assoc]
     _ ≤ r * f x := mul_le_mul_of_nonneg_left hx (le_of_lt hr)
@@ -268,9 +266,7 @@ theorem Tendsto.atTop_mul_const' (hr : 0 < r) (hf : Tendsto f l atTop) :
   have hn' : 1 ≤ (n : R) * r := by rwa [nsmul_eq_mul] at hn
   filter_upwards [tendsto_at_top.1 hf (max b 0 * n)]with x hx
   calc
-    b ≤ max b 0 * 1 := by
-      rw [mul_one]
-      exact le_max_left _ _
+    b ≤ max b 0 * 1 := by rw [mul_one]; exact le_max_left _ _
     _ ≤ max b 0 * (n * r) := (mul_le_mul_of_nonneg_left hn' (le_max_right _ _))
     _ = max b 0 * n * r := by rw [mul_assoc]
     _ ≤ f x * r := mul_le_mul_of_nonneg_right hx (le_of_lt hr)
Diff
@@ -225,7 +225,7 @@ variable [LinearOrderedSemiring R] [Archimedean R]
 
 /- warning: filter.tendsto.const_mul_at_top' -> Filter.Tendsto.const_mul_atTop' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))) r (f x)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))) r (f x)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) r (f x)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.const_mul_at_top' Filter.Tendsto.const_mul_atTop'ₓ'. -/
@@ -252,7 +252,7 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
 
 /- warning: filter.tendsto.at_top_mul_const' -> Filter.Tendsto.atTop_mul_const' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedSemiring.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedSemiring.toPartialOrder.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_mul_const' Filter.Tendsto.atTop_mul_const'ₓ'. -/
@@ -285,7 +285,7 @@ variable [LinearOrderedRing R] [Archimedean R]
 
 /- warning: filter.tendsto.at_top_mul_neg_const' -> Filter.Tendsto.atTop_mul_neg_const' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_mul_neg_const' Filter.Tendsto.atTop_mul_neg_const'ₓ'. -/
@@ -298,7 +298,7 @@ theorem Tendsto.atTop_mul_neg_const' (hr : r < 0) (hf : Tendsto f l atTop) :
 
 /- warning: filter.tendsto.at_bot_mul_const' -> Filter.Tendsto.atBot_mul_const' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1))))))) r) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_bot_mul_const' Filter.Tendsto.atBot_mul_const'ₓ'. -/
@@ -313,7 +313,7 @@ theorem Tendsto.atBot_mul_const' (hr : 0 < r) (hf : Tendsto f l atBot) :
 
 /- warning: filter.tendsto.at_bot_mul_neg_const' -> Filter.Tendsto.atBot_mul_neg_const' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {f : α -> R} {r : R} [_inst_1 : LinearOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1))))], (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (StrictOrderedSemiring.toSemiring.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toLinearOrderedSemiring.{u2} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u2} α R f l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1))))) -> (Filter.Tendsto.{u1, u2} α R (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_bot_mul_neg_const' Filter.Tendsto.atBot_mul_neg_const'ₓ'. -/
@@ -332,7 +332,7 @@ variable [LinearOrderedCancelAddCommMonoid R] [Archimedean R]
 
 /- warning: filter.tendsto.at_top_nsmul_const -> Filter.Tendsto.atTop_nsmul_const is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedCancelAddCommMonoid.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddRightCancelMonoid.toAddMonoid.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (AddRightCancelMonoid.toAddMonoid.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedCancelAddCommMonoid.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddRightCancelMonoid.toAddMonoid.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (AddRightCancelMonoid.toAddMonoid.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedCancelAddCommMonoid.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R _inst_1))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (AddRightCancelMonoid.toZero.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1))))))) r) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Nat R R (instHSMul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (AddRightCancelMonoid.toAddMonoid.{u2} R (AddCancelMonoid.toAddRightCancelMonoid.{u2} R (AddCancelCommMonoid.toAddCancelMonoid.{u2} R (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1))))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedCancelAddCommMonoid.toPartialOrder.{u2} R (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_nsmul_const Filter.Tendsto.atTop_nsmul_constₓ'. -/
@@ -352,7 +352,7 @@ variable [LinearOrderedAddCommGroup R] [Archimedean R]
 
 /- warning: filter.tendsto.at_top_nsmul_neg_const -> Filter.Tendsto.atTop_nsmul_neg_const is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Nat}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) -> (Filter.Tendsto.{u1, 0} α Nat f l (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Nat R R (instHSMul.{0, u2} Nat R (AddMonoid.SMul.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_nsmul_neg_const Filter.Tendsto.atTop_nsmul_neg_constₓ'. -/
@@ -362,7 +362,7 @@ theorem Tendsto.atTop_nsmul_neg_const {f : α → ℕ} (hr : r < 0) (hf : Tendst
 
 /- warning: filter.tendsto.at_top_zsmul_const -> Filter.Tendsto.atTop_zsmul_const is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Int R R (instHSMul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_zsmul_const Filter.Tendsto.atTop_zsmul_constₓ'. -/
@@ -377,7 +377,7 @@ theorem Tendsto.atTop_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f
 
 /- warning: filter.tendsto.at_top_zsmul_neg_const -> Filter.Tendsto.atTop_zsmul_neg_const is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Int R R (instHSMul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_top_zsmul_neg_const Filter.Tendsto.atTop_zsmul_neg_constₓ'. -/
@@ -387,7 +387,7 @@ theorem Tendsto.atTop_zsmul_neg_const {f : α → ℤ} (hr : r < 0) (hf : Tendst
 
 /- warning: filter.tendsto.at_bot_zsmul_const -> Filter.Tendsto.atBot_zsmul_const is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))) r) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Int R R (instHSMul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_bot_zsmul_const Filter.Tendsto.atBot_zsmul_constₓ'. -/
@@ -400,7 +400,7 @@ theorem Tendsto.atBot_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f
 
 /- warning: filter.tendsto.at_bot_zsmul_neg_const -> Filter.Tendsto.atBot_zsmul_neg_const is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
+  forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (SubNegMonoid.toAddMonoid.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => SMul.smul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} {l : Filter.{u1} α} {r : R} [_inst_1 : LinearOrderedAddCommGroup.{u2} R] [_inst_2 : Archimedean.{u2} R (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} R (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} R (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} R _inst_1)))] {f : α -> Int}, (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (NegZeroClass.toZero.{u2} R (SubNegZeroMonoid.toNegZeroClass.{u2} R (SubtractionMonoid.toSubNegZeroMonoid.{u2} R (SubtractionCommMonoid.toSubtractionMonoid.{u2} R (AddCommGroup.toDivisionAddCommMonoid.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))))))) -> (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => HSMul.hSMul.{0, u2, u2} Int R R (instHSMul.{0, u2} Int R (SubNegMonoid.SMulInt.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddCommGroup.toAddGroup.{u2} R (OrderedAddCommGroup.toAddCommGroup.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))) (f x) r) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto.at_bot_zsmul_neg_const Filter.Tendsto.atBot_zsmul_neg_constₓ'. -/
Diff
@@ -52,7 +52,7 @@ theorem tendsto_nat_cast_atTop_atTop [StrictOrderedSemiring R] [Archimedean R] :
 
 /- warning: int.comap_coe_at_top -> Int.comap_cast_atTop is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1)))))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
+  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1)))))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R (Int.cast.{u1} R (Ring.toIntCast.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R _inst_1)))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))
 Case conversion may be inaccurate. Consider using '#align int.comap_coe_at_top Int.comap_cast_atTopₓ'. -/
@@ -66,7 +66,7 @@ theorem Int.comap_cast_atTop [StrictOrderedRing R] [Archimedean R] :
 
 /- warning: int.comap_coe_at_bot -> Int.comap_cast_atBot is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1)))))))) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))))) (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
+  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1)))))))) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))))) (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Eq.{1} (Filter.{0} Int) (Filter.comap.{0, u1} Int R (Int.cast.{u1} R (Ring.toIntCast.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1))) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R _inst_1)))) (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))
 Case conversion may be inaccurate. Consider using '#align int.comap_coe_at_bot Int.comap_cast_atBotₓ'. -/
@@ -80,7 +80,7 @@ theorem Int.comap_cast_atBot [StrictOrderedRing R] [Archimedean R] :
 
 /- warning: tendsto_coe_int_at_top_iff -> tendsto_int_cast_atTop_iff is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int R (HasLiftT.mk.{1, succ u2} Int R (CoeTCₓ.coe.{1, succ u2} Int R (Int.castCoe.{u2} R (AddGroupWithOne.toHasIntCast.{u2} R (NonAssocRing.toAddGroupWithOne.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1))))))) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R _inst_1))))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))))
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int R (HasLiftT.mk.{1, succ u2} Int R (CoeTCₓ.coe.{1, succ u2} Int R (Int.castCoe.{u2} R (AddGroupWithOne.toHasIntCast.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1))))))) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R _inst_1))))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => Int.cast.{u2} R (Ring.toIntCast.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1)) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R _inst_1)))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
 Case conversion may be inaccurate. Consider using '#align tendsto_coe_int_at_top_iff tendsto_int_cast_atTop_iffₓ'. -/
@@ -91,7 +91,7 @@ theorem tendsto_int_cast_atTop_iff [StrictOrderedRing R] [Archimedean R] {f : α
 
 /- warning: tendsto_coe_int_at_bot_iff -> tendsto_int_cast_atBot_iff is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int R (HasLiftT.mk.{1, succ u2} Int R (CoeTCₓ.coe.{1, succ u2} Int R (Int.castCoe.{u2} R (AddGroupWithOne.toHasIntCast.{u2} R (NonAssocRing.toAddGroupWithOne.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1))))))) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R _inst_1))))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))))
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int R (HasLiftT.mk.{1, succ u2} Int R (CoeTCₓ.coe.{1, succ u2} Int R (Int.castCoe.{u2} R (AddGroupWithOne.toHasIntCast.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1))))))) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R _inst_1))))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))))
 but is expected to have type
   forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : StrictOrderedRing.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R _inst_1)))] {f : α -> Int} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => Int.cast.{u2} R (Ring.toIntCast.{u2} R (StrictOrderedRing.toRing.{u2} R _inst_1)) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R _inst_1)))) (Filter.Tendsto.{u1, 0} α Int f l (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))
 Case conversion may be inaccurate. Consider using '#align tendsto_coe_int_at_bot_iff tendsto_int_cast_atBot_iffₓ'. -/
@@ -102,7 +102,7 @@ theorem tendsto_int_cast_atBot_iff [StrictOrderedRing R] [Archimedean R] {f : α
 
 /- warning: tendsto_coe_int_at_top_at_top -> tendsto_int_cast_atTop_atTop is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Filter.Tendsto.{0, u1} Int R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1)))))))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))))
+  forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Filter.Tendsto.{0, u1} Int R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1)))))))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : StrictOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R _inst_1)))], Filter.Tendsto.{0, u1} Int R (Int.cast.{u1} R (Ring.toIntCast.{u1} R (StrictOrderedRing.toRing.{u1} R _inst_1))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R _inst_1)))
 Case conversion may be inaccurate. Consider using '#align tendsto_coe_int_at_top_at_top tendsto_int_cast_atTop_atTopₓ'. -/
@@ -182,7 +182,7 @@ theorem atTop_hasCountableBasis_of_archimedean [LinearOrderedSemiring R] [Archim
 
 /- warning: at_bot_countable_basis_of_archimedean -> atBot_hasCountableBasis_of_archimedean is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))], Filter.HasCountableBasis.{u1, 0} R Int (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))) (fun (m : Int) => True) (fun (m : Int) => Set.Iic.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))))))) m))
+  forall {R : Type.{u1}} [_inst_1 : LinearOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))], Filter.HasCountableBasis.{u1, 0} R Int (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))) (fun (m : Int) => True) (fun (m : Int) => Set.Iic.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))))))) m))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : LinearOrderedRing.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toLinearOrderedSemiring.{u1} R _inst_1))))], Filter.HasCountableBasis.{u1, 0} R Int (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))) (fun (m : Int) => True) (fun (m : Int) => Set.Iic.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))) (Int.cast.{u1} R (Ring.toIntCast.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))) m))
 Case conversion may be inaccurate. Consider using '#align at_bot_countable_basis_of_archimedean atBot_hasCountableBasis_of_archimedeanₓ'. -/
Diff
@@ -117,7 +117,7 @@ theorem tendsto_int_cast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Rat R (HasLiftT.mk.{1, succ u1} Rat R (CoeTCₓ.coe.{1, succ u1} Rat R (Rat.castCoe.{u1} R (DivisionRing.toHasRatCast.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))))) (Filter.atTop.{0} Rat Rat.preorder)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (OrderedCommSemiring.toOrderedSemiring.{u1} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R (RatCast.ratCast.{u1} R (LinearOrderedField.toRatCast.{u1} R _inst_1)) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (Filter.atTop.{0} Rat Rat.instPreorderRat)
+  forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (OrderedCommSemiring.toOrderedSemiring.{u1} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R (Rat.cast.{u1} R (LinearOrderedField.toRatCast.{u1} R _inst_1)) (Filter.atTop.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (Filter.atTop.{0} Rat Rat.instPreorderRat)
 Case conversion may be inaccurate. Consider using '#align rat.comap_coe_at_top Rat.comap_cast_atTopₓ'. -/
 @[simp]
 theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
@@ -131,7 +131,7 @@ theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedSemiring.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Rat R (HasLiftT.mk.{1, succ u1} Rat R (CoeTCₓ.coe.{1, succ u1} Rat R (Rat.castCoe.{u1} R (DivisionRing.toHasRatCast.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))))) (Filter.atBot.{0} Rat Rat.preorder)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (OrderedCommSemiring.toOrderedSemiring.{u1} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R (RatCast.ratCast.{u1} R (LinearOrderedField.toRatCast.{u1} R _inst_1)) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (Filter.atBot.{0} Rat Rat.instPreorderRat)
+  forall {R : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : Archimedean.{u1} R (OrderedSemiring.toOrderedAddCommMonoid.{u1} R (OrderedCommSemiring.toOrderedSemiring.{u1} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_1))))))], Eq.{1} (Filter.{0} Rat) (Filter.comap.{0, u1} Rat R (Rat.cast.{u1} R (LinearOrderedField.toRatCast.{u1} R _inst_1)) (Filter.atBot.{u1} R (PartialOrder.toPreorder.{u1} R (StrictOrderedRing.toPartialOrder.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (Filter.atBot.{0} Rat Rat.instPreorderRat)
 Case conversion may be inaccurate. Consider using '#align rat.comap_coe_at_bot Rat.comap_cast_atBotₓ'. -/
 @[simp]
 theorem Rat.comap_cast_atBot [LinearOrderedField R] [Archimedean R] :
@@ -145,7 +145,7 @@ theorem Rat.comap_cast_atBot [LinearOrderedField R] [Archimedean R] :
 lean 3 declaration is
   forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Rat R (HasLiftT.mk.{1, succ u2} Rat R (CoeTCₓ.coe.{1, succ u2} Rat R (Rat.castCoe.{u2} R (DivisionRing.toHasRatCast.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1)))))) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1)))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atTop.{0} Rat Rat.preorder))
 but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (OrderedCommSemiring.toOrderedSemiring.{u2} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => RatCast.ratCast.{u2} R (LinearOrderedField.toRatCast.{u2} R _inst_1) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atTop.{0} Rat Rat.instPreorderRat))
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (OrderedCommSemiring.toOrderedSemiring.{u2} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => Rat.cast.{u2} R (LinearOrderedField.toRatCast.{u2} R _inst_1) (f n)) l (Filter.atTop.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atTop.{0} Rat Rat.instPreorderRat))
 Case conversion may be inaccurate. Consider using '#align tendsto_coe_rat_at_top_iff tendsto_rat_cast_atTop_iffₓ'. -/
 theorem tendsto_rat_cast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
@@ -156,7 +156,7 @@ theorem tendsto_rat_cast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : 
 lean 3 declaration is
   forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (StrictOrderedSemiring.toOrderedSemiring.{u2} R (StrictOrderedRing.toStrictOrderedSemiring.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Rat R (HasLiftT.mk.{1, succ u2} Rat R (CoeTCₓ.coe.{1, succ u2} Rat R (Rat.castCoe.{u2} R (DivisionRing.toHasRatCast.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1)))))) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1)))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atBot.{0} Rat Rat.preorder))
 but is expected to have type
-  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (OrderedCommSemiring.toOrderedSemiring.{u2} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => RatCast.ratCast.{u2} R (LinearOrderedField.toRatCast.{u2} R _inst_1) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atBot.{0} Rat Rat.instPreorderRat))
+  forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : Archimedean.{u2} R (OrderedSemiring.toOrderedAddCommMonoid.{u2} R (OrderedCommSemiring.toOrderedSemiring.{u2} R (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1))))))] {f : α -> Rat} {l : Filter.{u1} α}, Iff (Filter.Tendsto.{u1, u2} α R (fun (n : α) => Rat.cast.{u2} R (LinearOrderedField.toRatCast.{u2} R _inst_1) (f n)) l (Filter.atBot.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1))))))) (Filter.Tendsto.{u1, 0} α Rat f l (Filter.atBot.{0} Rat Rat.instPreorderRat))
 Case conversion may be inaccurate. Consider using '#align tendsto_coe_rat_at_bot_iff tendsto_rat_cast_atBot_iffₓ'. -/
 theorem tendsto_rat_cast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
Diff
@@ -244,7 +244,7 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
     b ≤ 1 * max b 0 := by
       rw [one_mul]
       exact le_max_left _ _
-    _ ≤ r * n * max b 0 := mul_le_mul_of_nonneg_right hn (le_max_right _ _)
+    _ ≤ r * n * max b 0 := (mul_le_mul_of_nonneg_right hn (le_max_right _ _))
     _ = r * (n * max b 0) := by rw [mul_assoc]
     _ ≤ r * f x := mul_le_mul_of_nonneg_left hx (le_of_lt hr)
     
@@ -271,7 +271,7 @@ theorem Tendsto.atTop_mul_const' (hr : 0 < r) (hf : Tendsto f l atTop) :
     b ≤ max b 0 * 1 := by
       rw [mul_one]
       exact le_max_left _ _
-    _ ≤ max b 0 * (n * r) := mul_le_mul_of_nonneg_left hn' (le_max_right _ _)
+    _ ≤ max b 0 * (n * r) := (mul_le_mul_of_nonneg_left hn' (le_max_right _ _))
     _ = max b 0 * n * r := by rw [mul_assoc]
     _ ≤ f x * r := mul_le_mul_of_nonneg_right hx (le_of_lt hr)
     

Changes in mathlib4

mathlib3
mathlib4
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
@@ -29,19 +29,19 @@ theorem Nat.comap_cast_atTop [StrictOrderedSemiring R] [Archimedean R] :
   comap_embedding_atTop (fun _ _ => Nat.cast_le) exists_nat_ge
 #align nat.comap_coe_at_top Nat.comap_cast_atTop
 
-theorem tendsto_nat_cast_atTop_iff [StrictOrderedSemiring R] [Archimedean R] {f : α → ℕ}
+theorem tendsto_natCast_atTop_iff [StrictOrderedSemiring R] [Archimedean R] {f : α → ℕ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop :=
   tendsto_atTop_embedding (fun _ _ => Nat.cast_le) exists_nat_ge
-#align tendsto_coe_nat_at_top_iff tendsto_nat_cast_atTop_iff
+#align tendsto_coe_nat_at_top_iff tendsto_natCast_atTop_iff
 
-theorem tendsto_nat_cast_atTop_atTop [OrderedSemiring R] [Archimedean R] :
+theorem tendsto_natCast_atTop_atTop [OrderedSemiring R] [Archimedean R] :
     Tendsto ((↑) : ℕ → R) atTop atTop :=
   Nat.mono_cast.tendsto_atTop_atTop exists_nat_ge
-#align tendsto_coe_nat_at_top_at_top tendsto_nat_cast_atTop_atTop
+#align tendsto_coe_nat_at_top_at_top tendsto_natCast_atTop_atTop
 
-theorem Filter.Eventually.nat_cast_atTop [OrderedSemiring R] [Archimedean R] {p : R → Prop}
+theorem Filter.Eventually.natCast_atTop [OrderedSemiring R] [Archimedean R] {p : R → Prop}
     (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℕ) in atTop, p n :=
-  tendsto_nat_cast_atTop_atTop.eventually h
+  tendsto_natCast_atTop_atTop.eventually h
 
 @[simp] theorem Int.comap_cast_atTop [StrictOrderedRing R] [Archimedean R] :
     comap ((↑) : ℤ → R) atTop = atTop :=
@@ -57,26 +57,26 @@ theorem Int.comap_cast_atBot [StrictOrderedRing R] [Archimedean R] :
     ⟨-n, by simpa [neg_le] using hn⟩
 #align int.comap_coe_at_bot Int.comap_cast_atBot
 
-theorem tendsto_int_cast_atTop_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
+theorem tendsto_intCast_atTop_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
   rw [← @Int.comap_cast_atTop R, tendsto_comap_iff]; rfl
-#align tendsto_coe_int_at_top_iff tendsto_int_cast_atTop_iff
+#align tendsto_coe_int_at_top_iff tendsto_intCast_atTop_iff
 
-theorem tendsto_int_cast_atBot_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
+theorem tendsto_intCast_atBot_iff [StrictOrderedRing R] [Archimedean R] {f : α → ℤ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
   rw [← @Int.comap_cast_atBot R, tendsto_comap_iff]; rfl
-#align tendsto_coe_int_at_bot_iff tendsto_int_cast_atBot_iff
+#align tendsto_coe_int_at_bot_iff tendsto_intCast_atBot_iff
 
-theorem tendsto_int_cast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
+theorem tendsto_intCast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
     Tendsto ((↑) : ℤ → R) atTop atTop :=
-  tendsto_int_cast_atTop_iff.2 tendsto_id
-#align tendsto_coe_int_at_top_at_top tendsto_int_cast_atTop_atTop
+  tendsto_intCast_atTop_iff.2 tendsto_id
+#align tendsto_coe_int_at_top_at_top tendsto_intCast_atTop_atTop
 
-theorem Filter.Eventually.int_cast_atTop [StrictOrderedRing R] [Archimedean R] {p : R → Prop}
+theorem Filter.Eventually.intCast_atTop [StrictOrderedRing R] [Archimedean R] {p : R → Prop}
     (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℤ) in atTop, p n := by
   rw [← Int.comap_cast_atTop (R := R)]; exact h.comap _
 
-theorem Filter.Eventually.int_cast_atBot [StrictOrderedRing R] [Archimedean R] {p : R → Prop}
+theorem Filter.Eventually.intCast_atBot [StrictOrderedRing R] [Archimedean R] {p : R → Prop}
     (h : ∀ᶠ (x:R) in atBot, p x) : ∀ᶠ (n:ℤ) in atBot, p n := by
   rw [← Int.comap_cast_atBot (R := R)]; exact h.comap _
 
@@ -94,28 +94,28 @@ theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
     ⟨-n, by simpa [neg_le]⟩
 #align rat.comap_coe_at_bot Rat.comap_cast_atBot
 
-theorem tendsto_rat_cast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
+theorem tendsto_ratCast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atTop ↔ Tendsto f l atTop := by
   rw [← @Rat.comap_cast_atTop R, tendsto_comap_iff]; rfl
-#align tendsto_coe_rat_at_top_iff tendsto_rat_cast_atTop_iff
+#align tendsto_coe_rat_at_top_iff tendsto_ratCast_atTop_iff
 
-theorem tendsto_rat_cast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
+theorem tendsto_ratCast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
     {l : Filter α} : Tendsto (fun n => (f n : R)) l atBot ↔ Tendsto f l atBot := by
   rw [← @Rat.comap_cast_atBot R, tendsto_comap_iff]; rfl
-#align tendsto_coe_rat_at_bot_iff tendsto_rat_cast_atBot_iff
+#align tendsto_coe_rat_at_bot_iff tendsto_ratCast_atBot_iff
 
-theorem Filter.Eventually.rat_cast_atTop [LinearOrderedField R] [Archimedean R] {p : R → Prop}
+theorem Filter.Eventually.ratCast_atTop [LinearOrderedField R] [Archimedean R] {p : R → Prop}
     (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℚ) in atTop, p n := by
   rw [← Rat.comap_cast_atTop (R := R)]; exact h.comap _
 
-theorem Filter.Eventually.rat_cast_atBot [LinearOrderedField R] [Archimedean R] {p : R → Prop}
+theorem Filter.Eventually.ratCast_atBot [LinearOrderedField R] [Archimedean R] {p : R → Prop}
     (h : ∀ᶠ (x:R) in atBot, p x) : ∀ᶠ (n:ℚ) in atBot, p n := by
   rw [← Rat.comap_cast_atBot (R := R)]; exact h.comap _
 
 -- Porting note (#10756): new lemma
 theorem atTop_hasAntitoneBasis_of_archimedean [OrderedSemiring R] [Archimedean R] :
     (atTop : Filter R).HasAntitoneBasis fun n : ℕ => Ici n :=
-  hasAntitoneBasis_atTop.comp_mono Nat.mono_cast tendsto_nat_cast_atTop_atTop
+  hasAntitoneBasis_atTop.comp_mono Nat.mono_cast tendsto_natCast_atTop_atTop
 
 theorem atTop_hasCountableBasis_of_archimedean [StrictOrderedSemiring R] [Archimedean R] :
     (atTop : Filter R).HasCountableBasis (fun _ : ℕ => True) fun n => Ici n :=
chore: classify new lemma porting notes (#11217)

Classifies by adding issue number #10756 to porting notes claiming anything semantically equivalent to:

  • "new lemma"
  • "added lemma"
Diff
@@ -112,7 +112,7 @@ theorem Filter.Eventually.rat_cast_atBot [LinearOrderedField R] [Archimedean R]
     (h : ∀ᶠ (x:R) in atBot, p x) : ∀ᶠ (n:ℚ) in atBot, p n := by
   rw [← Rat.comap_cast_atBot (R := R)]; exact h.comap _
 
--- Porting note: new lemma
+-- Porting note (#10756): new lemma
 theorem atTop_hasAntitoneBasis_of_archimedean [OrderedSemiring R] [Archimedean R] :
     (atTop : Filter R).HasAntitoneBasis fun n : ℕ => Ici n :=
   hasAntitoneBasis_atTop.comp_mono Nat.mono_cast tendsto_nat_cast_atTop_atTop
chore: classify todo porting notes (#11216)

Classifies by adding issue number #11215 to porting notes claiming "TODO".

Diff
@@ -122,7 +122,7 @@ theorem atTop_hasCountableBasis_of_archimedean [StrictOrderedSemiring R] [Archim
   ⟨atTop_hasAntitoneBasis_of_archimedean.1, to_countable _⟩
 #align at_top_countable_basis_of_archimedean atTop_hasCountableBasis_of_archimedean
 
--- Porting note: todo: generalize to a `StrictOrderedRing`
+-- Porting note (#11215): TODO: generalize to a `StrictOrderedRing`
 theorem atBot_hasCountableBasis_of_archimedean [LinearOrderedRing R] [Archimedean R] :
     (atBot : Filter R).HasCountableBasis (fun _ : ℤ => True) fun m => Iic m :=
   { countable := to_countable _
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
@@ -112,7 +112,7 @@ theorem Filter.Eventually.rat_cast_atBot [LinearOrderedField R] [Archimedean R]
     (h : ∀ᶠ (x:R) in atBot, p x) : ∀ᶠ (n:ℚ) in atBot, p n := by
   rw [← Rat.comap_cast_atBot (R := R)]; exact h.comap _
 
--- porting note: new lemma
+-- Porting note: new lemma
 theorem atTop_hasAntitoneBasis_of_archimedean [OrderedSemiring R] [Archimedean R] :
     (atTop : Filter R).HasAntitoneBasis fun n : ℕ => Ici n :=
   hasAntitoneBasis_atTop.comp_mono Nat.mono_cast tendsto_nat_cast_atTop_atTop
@@ -122,7 +122,7 @@ theorem atTop_hasCountableBasis_of_archimedean [StrictOrderedSemiring R] [Archim
   ⟨atTop_hasAntitoneBasis_of_archimedean.1, to_countable _⟩
 #align at_top_countable_basis_of_archimedean atTop_hasCountableBasis_of_archimedean
 
--- porting note: todo: generalize to a `StrictOrderedRing`
+-- Porting note: todo: generalize to a `StrictOrderedRing`
 theorem atBot_hasCountableBasis_of_archimedean [LinearOrderedRing R] [Archimedean R] :
     (atBot : Filter R).HasCountableBasis (fun _ : ℤ => True) fun m => Iic m :=
   { countable := to_countable _
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -243,7 +243,7 @@ theorem Tendsto.atTop_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f
     Tendsto (fun x => f x • r) l atTop := by
   refine' tendsto_atTop.mpr fun s => _
   obtain ⟨n : ℕ, hn : s ≤ n • r⟩ := Archimedean.arch s hr
-  replace hn : s ≤ (n : ℤ) • r; · simpa
+  replace hn : s ≤ (n : ℤ) • r := by simpa
   exact (tendsto_atTop.mp hf n).mono fun a ha => hn.trans (zsmul_le_zsmul hr.le ha)
 #align filter.tendsto.at_top_zsmul_const Filter.Tendsto.atTop_zsmul_const
 
chore: uneven spacing for ⟨ ⟩ (#10014)

This cleans up instances of

⟨ foo, bar⟩

and

⟨foo, bar ⟩

where spaces a on the inside one side, but not on the other side. Fixing this by removing the extra space.

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

Diff
@@ -91,7 +91,7 @@ theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
     comap ((↑) : ℚ → R) atBot = atBot :=
   comap_embedding_atBot (fun _ _ => Rat.cast_le) fun r =>
     let ⟨n, hn⟩ := exists_nat_ge (-r)
-    ⟨-n, by simpa [neg_le] ⟩
+    ⟨-n, by simpa [neg_le]⟩
 #align rat.comap_coe_at_bot Rat.comap_cast_atBot
 
 theorem tendsto_rat_cast_atTop_iff [LinearOrderedField R] [Archimedean R] {f : α → ℚ}
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
@@ -226,7 +226,7 @@ theorem Tendsto.atTop_nsmul_const {f : α → ℕ} (hr : 0 < r) (hf : Tendsto f
     Tendsto (fun x => f x • r) l atTop := by
   refine' tendsto_atTop.mpr fun s => _
   obtain ⟨n : ℕ, hn : s ≤ n • r⟩ := Archimedean.arch s hr
-  exact (tendsto_atTop.mp hf n).mono fun a ha => hn.trans (nsmul_le_nsmul hr.le ha)
+  exact (tendsto_atTop.mp hf n).mono fun a ha => hn.trans (nsmul_le_nsmul_left hr.le ha)
 #align filter.tendsto.at_top_nsmul_const Filter.Tendsto.atTop_nsmul_const
 
 end LinearOrderedCancelAddCommMonoid
chore: space after (#8178)

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

Diff
@@ -74,11 +74,11 @@ theorem tendsto_int_cast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
 
 theorem Filter.Eventually.int_cast_atTop [StrictOrderedRing R] [Archimedean R] {p : R → Prop}
     (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℤ) in atTop, p n := by
-  rw [←Int.comap_cast_atTop (R := R)]; exact h.comap _
+  rw [← Int.comap_cast_atTop (R := R)]; exact h.comap _
 
 theorem Filter.Eventually.int_cast_atBot [StrictOrderedRing R] [Archimedean R] {p : R → Prop}
     (h : ∀ᶠ (x:R) in atBot, p x) : ∀ᶠ (n:ℤ) in atBot, p n := by
-  rw [←Int.comap_cast_atBot (R := R)]; exact h.comap _
+  rw [← Int.comap_cast_atBot (R := R)]; exact h.comap _
 
 @[simp]
 theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
@@ -106,11 +106,11 @@ theorem tendsto_rat_cast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : 
 
 theorem Filter.Eventually.rat_cast_atTop [LinearOrderedField R] [Archimedean R] {p : R → Prop}
     (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℚ) in atTop, p n := by
-  rw [←Rat.comap_cast_atTop (R := R)]; exact h.comap _
+  rw [← Rat.comap_cast_atTop (R := R)]; exact h.comap _
 
 theorem Filter.Eventually.rat_cast_atBot [LinearOrderedField R] [Archimedean R] {p : R → Prop}
     (h : ∀ᶠ (x:R) in atBot, p x) : ∀ᶠ (n:ℚ) in atBot, p n := by
-  rw [←Rat.comap_cast_atBot (R := R)]; exact h.comap _
+  rw [← Rat.comap_cast_atBot (R := R)]; exact h.comap _
 
 -- porting note: new lemma
 theorem atTop_hasAntitoneBasis_of_archimedean [OrderedSemiring R] [Archimedean R] :
chore: replace exact_mod_cast tactic with mod_cast elaborator where possible (#8404)

We still have the exact_mod_cast tactic, used in a few places, which somehow (?) works a little bit harder to prevent the expected type influencing the elaboration of the term. I would like to get to the bottom of this, and it will be easier once the only usages of exact_mod_cast are the ones that don't work using the term elaborator by itself.

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

Diff
@@ -46,7 +46,7 @@ theorem Filter.Eventually.nat_cast_atTop [OrderedSemiring R] [Archimedean R] {p
 @[simp] theorem Int.comap_cast_atTop [StrictOrderedRing R] [Archimedean R] :
     comap ((↑) : ℤ → R) atTop = atTop :=
   comap_embedding_atTop (fun _ _ => Int.cast_le) fun r =>
-    let ⟨n, hn⟩ := exists_nat_ge r; ⟨n, by exact_mod_cast hn⟩
+    let ⟨n, hn⟩ := exists_nat_ge r; ⟨n, mod_cast hn⟩
 #align int.comap_coe_at_top Int.comap_cast_atTop
 
 @[simp]
feat: generalize some lemmas to directed types (#7852)

New lemmas / instances

  • An archimedean ordered semiring is directed upwards.
  • Filter.hasAntitoneBasis_atTop;
  • Filter.HasAntitoneBasis.iInf_principal;

Fix typos

  • Docstrings: "if the agree" -> "if they agree".
  • ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self -> ProbabilityTheory.measure_eq_zero_or_one_of_indepSet_self.

Weaken typeclass assumptions

From a semilattice to a directed type

  • MeasureTheory.tendsto_measure_iUnion;
  • MeasureTheory.tendsto_measure_iInter;
  • Monotone.directed_le, Monotone.directed_ge;
  • Antitone.directed_le, Antitone.directed_ge;
  • directed_of_sup, renamed to directed_of_isDirected_le;
  • directed_of_inf, renamed to directed_of_isDirected_ge;

From a strict ordered semiring to an ordered semiring

  • tendsto_nat_cast_atTop_atTop;
  • Filter.Eventually.nat_cast_atTop;
  • atTop_hasAntitoneBasis_of_archimedean;
Diff
@@ -34,14 +34,14 @@ theorem tendsto_nat_cast_atTop_iff [StrictOrderedSemiring R] [Archimedean R] {f
   tendsto_atTop_embedding (fun _ _ => Nat.cast_le) exists_nat_ge
 #align tendsto_coe_nat_at_top_iff tendsto_nat_cast_atTop_iff
 
-theorem tendsto_nat_cast_atTop_atTop [StrictOrderedSemiring R] [Archimedean R] :
+theorem tendsto_nat_cast_atTop_atTop [OrderedSemiring R] [Archimedean R] :
     Tendsto ((↑) : ℕ → R) atTop atTop :=
-  tendsto_nat_cast_atTop_iff.2 tendsto_id
+  Nat.mono_cast.tendsto_atTop_atTop exists_nat_ge
 #align tendsto_coe_nat_at_top_at_top tendsto_nat_cast_atTop_atTop
 
-theorem Filter.Eventually.nat_cast_atTop [StrictOrderedSemiring R] [Archimedean R] {p : R → Prop}
-    (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℕ) in atTop, p n := by
-  rw [←Nat.comap_cast_atTop (R := R)]; exact h.comap _
+theorem Filter.Eventually.nat_cast_atTop [OrderedSemiring R] [Archimedean R] {p : R → Prop}
+    (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℕ) in atTop, p n :=
+  tendsto_nat_cast_atTop_atTop.eventually h
 
 @[simp] theorem Int.comap_cast_atTop [StrictOrderedRing R] [Archimedean R] :
     comap ((↑) : ℤ → R) atTop = atTop :=
@@ -113,15 +113,9 @@ theorem Filter.Eventually.rat_cast_atBot [LinearOrderedField R] [Archimedean R]
   rw [←Rat.comap_cast_atBot (R := R)]; exact h.comap _
 
 -- porting note: new lemma
-theorem atTop_hasAntitoneBasis_of_archimedean [StrictOrderedSemiring R] [Archimedean R] :
-    (atTop : Filter R).HasAntitoneBasis fun n : ℕ => Ici n where
-  antitone := fun _ _ h => Ici_subset_Ici.2 (Nat.mono_cast h)
-  mem_iff' _t := ⟨fun ht => iInf_sets_induct ht ⟨0, trivial, subset_univ _⟩
-      fun {x _ _} h₁ ⟨n, _, hn⟩ =>
-        let ⟨m, hm⟩ := exists_nat_ge x
-        ⟨max m n, trivial, fun _y hy => ⟨h₁ (hm.trans ((Nat.cast_le.2 (le_max_left _ _)).trans hy)),
-          hn <| (Nat.cast_le.2 (le_max_right _ _)).trans hy⟩⟩,
-    fun ⟨_n, _, hn⟩ => mem_of_superset (Ici_mem_atTop _) hn⟩
+theorem atTop_hasAntitoneBasis_of_archimedean [OrderedSemiring R] [Archimedean R] :
+    (atTop : Filter R).HasAntitoneBasis fun n : ℕ => Ici n :=
+  hasAntitoneBasis_atTop.comp_mono Nat.mono_cast tendsto_nat_cast_atTop_atTop
 
 theorem atTop_hasCountableBasis_of_archimedean [StrictOrderedSemiring R] [Archimedean R] :
     (atTop : Filter R).HasCountableBasis (fun _ : ℕ => True) fun n => Ici n :=
chore: cleanup typo in filter_upwards (#7719)

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

Diff
@@ -165,7 +165,7 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
   refine' tendsto_atTop.2 fun b => _
   obtain ⟨n : ℕ, hn : 1 ≤ n • r⟩ := Archimedean.arch 1 hr
   rw [nsmul_eq_mul'] at hn
-  filter_upwards [tendsto_atTop.1 hf (n * max b 0)]with x hx
+  filter_upwards [tendsto_atTop.1 hf (n * max b 0)] with x hx
   calc
     b ≤ 1 * max b 0 := by
     { rw [one_mul]
@@ -184,7 +184,7 @@ theorem Tendsto.atTop_mul_const' (hr : 0 < r) (hf : Tendsto f l atTop) :
   refine' tendsto_atTop.2 fun b => _
   obtain ⟨n : ℕ, hn : 1 ≤ n • r⟩ := Archimedean.arch 1 hr
   have hn' : 1 ≤ (n : R) * r := by rwa [nsmul_eq_mul] at hn
-  filter_upwards [tendsto_atTop.1 hf (max b 0 * n)]with x hx
+  filter_upwards [tendsto_atTop.1 hf (max b 0 * n)] with x hx
   calc
     b ≤ max b 0 * 1 := by
     { rw [mul_one]
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
@@ -19,7 +19,7 @@ well as version of these two results for `ℤ` (and a ring `R`) and `ℚ` (and a
 -/
 
 
-variable {α R : Type _}
+variable {α R : Type*}
 
 open Filter Set Function
 
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,16 +2,13 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Yury Kudryashov
-
-! This file was ported from Lean 3 source module order.filter.archimedean
-! leanprover-community/mathlib commit 8631e2d5ea77f6c13054d9151d82b83069680cb1
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Order.Archimedean
 import Mathlib.Order.Filter.AtTopBot
 import Mathlib.Tactic.GCongr
 
+#align_import order.filter.archimedean from "leanprover-community/mathlib"@"8631e2d5ea77f6c13054d9151d82b83069680cb1"
+
 /-!
 # `Filter.atTop` filter and archimedean (semi)rings/fields
 
feat: miscellaneous lemmas about asymptotics (#5680)

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

Diff
@@ -42,6 +42,10 @@ theorem tendsto_nat_cast_atTop_atTop [StrictOrderedSemiring R] [Archimedean R] :
   tendsto_nat_cast_atTop_iff.2 tendsto_id
 #align tendsto_coe_nat_at_top_at_top tendsto_nat_cast_atTop_atTop
 
+theorem Filter.Eventually.nat_cast_atTop [StrictOrderedSemiring R] [Archimedean R] {p : R → Prop}
+    (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℕ) in atTop, p n := by
+  rw [←Nat.comap_cast_atTop (R := R)]; exact h.comap _
+
 @[simp] theorem Int.comap_cast_atTop [StrictOrderedRing R] [Archimedean R] :
     comap ((↑) : ℤ → R) atTop = atTop :=
   comap_embedding_atTop (fun _ _ => Int.cast_le) fun r =>
@@ -71,6 +75,14 @@ theorem tendsto_int_cast_atTop_atTop [StrictOrderedRing R] [Archimedean R] :
   tendsto_int_cast_atTop_iff.2 tendsto_id
 #align tendsto_coe_int_at_top_at_top tendsto_int_cast_atTop_atTop
 
+theorem Filter.Eventually.int_cast_atTop [StrictOrderedRing R] [Archimedean R] {p : R → Prop}
+    (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℤ) in atTop, p n := by
+  rw [←Int.comap_cast_atTop (R := R)]; exact h.comap _
+
+theorem Filter.Eventually.int_cast_atBot [StrictOrderedRing R] [Archimedean R] {p : R → Prop}
+    (h : ∀ᶠ (x:R) in atBot, p x) : ∀ᶠ (n:ℤ) in atBot, p n := by
+  rw [←Int.comap_cast_atBot (R := R)]; exact h.comap _
+
 @[simp]
 theorem Rat.comap_cast_atTop [LinearOrderedField R] [Archimedean R] :
     comap ((↑) : ℚ → R) atTop = atTop :=
@@ -95,6 +107,14 @@ theorem tendsto_rat_cast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : 
   rw [← @Rat.comap_cast_atBot R, tendsto_comap_iff]; rfl
 #align tendsto_coe_rat_at_bot_iff tendsto_rat_cast_atBot_iff
 
+theorem Filter.Eventually.rat_cast_atTop [LinearOrderedField R] [Archimedean R] {p : R → Prop}
+    (h : ∀ᶠ (x:R) in atTop, p x) : ∀ᶠ (n:ℚ) in atTop, p n := by
+  rw [←Rat.comap_cast_atTop (R := R)]; exact h.comap _
+
+theorem Filter.Eventually.rat_cast_atBot [LinearOrderedField R] [Archimedean R] {p : R → Prop}
+    (h : ∀ᶠ (x:R) in atBot, p x) : ∀ᶠ (n:ℚ) in atBot, p n := by
+  rw [←Rat.comap_cast_atBot (R := R)]; exact h.comap _
+
 -- porting note: new lemma
 theorem atTop_hasAntitoneBasis_of_archimedean [StrictOrderedSemiring R] [Archimedean R] :
     (atTop : Filter R).HasAntitoneBasis fun n : ℕ => Ici n where
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
@@ -194,7 +194,7 @@ theorem Tendsto.atTop_mul_neg_const' (hr : r < 0) (hf : Tendsto f l atTop) :
 `LinearOrderedField`s which does not require the `Archimedean` assumption. -/
 theorem Tendsto.atBot_mul_const' (hr : 0 < r) (hf : Tendsto f l atBot) :
     Tendsto (fun x => f x * r) l atBot := by
-  simp only [← tendsto_neg_atTop_iff, ← neg_mul] at hf⊢
+  simp only [← tendsto_neg_atTop_iff, ← neg_mul] at hf ⊢
   exact hf.atTop_mul_const' hr
 #align filter.tendsto.at_bot_mul_const' Filter.Tendsto.atBot_mul_const'
 
@@ -242,7 +242,7 @@ theorem Tendsto.atTop_zsmul_neg_const {f : α → ℤ} (hr : r < 0) (hf : Tendst
 
 theorem Tendsto.atBot_zsmul_const {f : α → ℤ} (hr : 0 < r) (hf : Tendsto f l atBot) :
     Tendsto (fun x => f x • r) l atBot := by
-  simp only [← tendsto_neg_atTop_iff, ← neg_zsmul] at hf⊢
+  simp only [← tendsto_neg_atTop_iff, ← neg_zsmul] at hf ⊢
   exact hf.atTop_zsmul_const hr
 #align filter.tendsto.at_bot_zsmul_const Filter.Tendsto.atBot_zsmul_const
 
feat: golf using gcongr throughout the library (#4702)

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

Diff
@@ -10,6 +10,7 @@ Authors: Johannes Hölzl, Yury Kudryashov
 -/
 import Mathlib.Algebra.Order.Archimedean
 import Mathlib.Order.Filter.AtTopBot
+import Mathlib.Tactic.GCongr
 
 /-!
 # `Filter.atTop` filter and archimedean (semi)rings/fields
@@ -152,9 +153,9 @@ theorem Tendsto.const_mul_atTop' (hr : 0 < r) (hf : Tendsto f l atTop) :
     b ≤ 1 * max b 0 := by
     { rw [one_mul]
       exact le_max_left _ _ }
-    _ ≤ r * n * max b 0 := mul_le_mul_of_nonneg_right hn (le_max_right _ _)
+    _ ≤ r * n * max b 0 := by gcongr
     _ = r * (n * max b 0) := by rw [mul_assoc]
-    _ ≤ r * f x := mul_le_mul_of_nonneg_left hx (le_of_lt hr)
+    _ ≤ r * f x := by gcongr
 #align filter.tendsto.const_mul_at_top' Filter.Tendsto.const_mul_atTop'
 
 /-- If a function tends to infinity along a filter, then this function multiplied by a positive
@@ -171,9 +172,9 @@ theorem Tendsto.atTop_mul_const' (hr : 0 < r) (hf : Tendsto f l atTop) :
     b ≤ max b 0 * 1 := by
     { rw [mul_one]
       exact le_max_left _ _ }
-    _ ≤ max b 0 * (n * r) := mul_le_mul_of_nonneg_left hn' (le_max_right _ _)
+    _ ≤ max b 0 * (n * r) := by gcongr
     _ = max b 0 * n * r := by rw [mul_assoc]
-    _ ≤ f x * r := mul_le_mul_of_nonneg_right hx (le_of_lt hr)
+    _ ≤ f x * r := by gcongr
 #align filter.tendsto.at_top_mul_const' Filter.Tendsto.atTop_mul_const'
 
 end LinearOrderedSemiring
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supₛsSup
  • infₛsInf
  • supᵢiSup
  • infᵢiInf
  • bsupₛbsSup
  • binfₛbsInf
  • bsupᵢbiSup
  • binfᵢbiInf
  • csupₛcsSup
  • cinfₛcsInf
  • csupᵢciSup
  • cinfᵢciInf
  • unionₛsUnion
  • interₛsInter
  • unionᵢiUnion
  • interᵢiInter
  • bunionₛbsUnion
  • binterₛbsInter
  • bunionᵢbiUnion
  • binterᵢbiInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -98,7 +98,7 @@ theorem tendsto_rat_cast_atBot_iff [LinearOrderedField R] [Archimedean R] {f : 
 theorem atTop_hasAntitoneBasis_of_archimedean [StrictOrderedSemiring R] [Archimedean R] :
     (atTop : Filter R).HasAntitoneBasis fun n : ℕ => Ici n where
   antitone := fun _ _ h => Ici_subset_Ici.2 (Nat.mono_cast h)
-  mem_iff' _t := ⟨fun ht => infᵢ_sets_induct ht ⟨0, trivial, subset_univ _⟩
+  mem_iff' _t := ⟨fun ht => iInf_sets_induct ht ⟨0, trivial, subset_univ _⟩
       fun {x _ _} h₁ ⟨n, _, hn⟩ =>
         let ⟨m, hm⟩ := exists_nat_ge x
         ⟨max m n, trivial, fun _y hy => ⟨h₁ (hm.trans ((Nat.cast_le.2 (le_max_left _ _)).trans hy)),
feat: port Order.Filter.Archimedean (#1818)

Co-authored-by: Reid Barton <rwbarton@gmail.com>

Dependencies 7 + 265

266 files ported (97.4%)
114130 lines ported (97.4%)
Show graph

The unported dependencies are