topology.algebra.order.monotone_convergenceMathlib.Topology.Algebra.Order.MonotoneConvergence

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -222,7 +222,7 @@ instance [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β]
   by
   constructor
   rintro ⟨a, b⟩ s h
-  rw [isLUB_prod, ← range_restrict, ← range_restrict] at h 
+  rw [isLUB_prod, ← range_restrict, ← range_restrict] at h
   have A : tendsto (fun x : s => (x : α × β).1) at_top (𝓝 a) :=
     tendsto_atTop_isLUB (monotone_fst.restrict s) h.1
   have B : tendsto (fun x : s => (x : α × β).2) at_top (𝓝 b) :=
@@ -238,7 +238,7 @@ instance {ι : Type _} {α : ι → Type _} [∀ i, Preorder (α i)] [∀ i, Top
     [∀ i, SupConvergenceClass (α i)] : SupConvergenceClass (∀ i, α i) :=
   by
   refine' ⟨fun f s h => _⟩
-  simp only [isLUB_pi, ← range_restrict] at h 
+  simp only [isLUB_pi, ← range_restrict] at h
   exact tendsto_pi_nhds.2 fun i => tendsto_atTop_isLUB ((monotone_eval _).restrict _) (h i)
 
 instance {ι : Type _} {α : ι → Type _} [∀ i, Preorder (α i)] [∀ i, TopologicalSpace (α i)]
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Heather Macbeth, Yury Kudryashov
 -/
-import Mathbin.Topology.Order.Basic
+import Topology.Order.Basic
 
 #align_import topology.algebra.order.monotone_convergence from "leanprover-community/mathlib"@"50832daea47b195a48b5b33b1c8b2162c48c3afc"
 
Diff
@@ -245,18 +245,18 @@ instance {ι : Type _} {α : ι → Type _} [∀ i, Preorder (α i)] [∀ i, Top
     [∀ i, InfConvergenceClass (α i)] : InfConvergenceClass (∀ i, α i) :=
   show InfConvergenceClass (∀ i, (α i)ᵒᵈ)ᵒᵈ from OrderDual.infConvergenceClass
 
-#print Pi.Sup_convergence_class' /-
-instance Pi.Sup_convergence_class' {ι : Type _} [Preorder α] [TopologicalSpace α]
+#print Pi.supConvergenceClass' /-
+instance Pi.supConvergenceClass' {ι : Type _} [Preorder α] [TopologicalSpace α]
     [SupConvergenceClass α] : SupConvergenceClass (ι → α) :=
   Pi.supConvergenceClass
-#align pi.Sup_convergence_class' Pi.Sup_convergence_class'
+#align pi.Sup_convergence_class' Pi.supConvergenceClass'
 -/
 
-#print Pi.Inf_convergence_class' /-
-instance Pi.Inf_convergence_class' {ι : Type _} [Preorder α] [TopologicalSpace α]
+#print Pi.infConvergenceClass' /-
+instance Pi.infConvergenceClass' {ι : Type _} [Preorder α] [TopologicalSpace α]
     [InfConvergenceClass α] : InfConvergenceClass (ι → α) :=
   Pi.infConvergenceClass
-#align pi.Inf_convergence_class' Pi.Inf_convergence_class'
+#align pi.Inf_convergence_class' Pi.infConvergenceClass'
 -/
 
 #print tendsto_of_monotone /-
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2021 Heather Macbeth. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Heather Macbeth, Yury Kudryashov
-
-! This file was ported from Lean 3 source module topology.algebra.order.monotone_convergence
-! leanprover-community/mathlib commit 50832daea47b195a48b5b33b1c8b2162c48c3afc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.Order.Basic
 
+#align_import topology.algebra.order.monotone_convergence from "leanprover-community/mathlib"@"50832daea47b195a48b5b33b1c8b2162c48c3afc"
+
 /-!
 # Bounded monotone sequences converge
 
Diff
@@ -147,16 +147,20 @@ section Csupr
 
 variable [ConditionallyCompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
+#print tendsto_atTop_ciSup /-
 theorem tendsto_atTop_ciSup (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
     Tendsto f atTop (𝓝 (⨆ i, f i)) :=
   by
   cases isEmpty_or_nonempty ι
   exacts [tendsto_of_is_empty, tendsto_atTop_isLUB h_mono (isLUB_ciSup hbdd)]
 #align tendsto_at_top_csupr tendsto_atTop_ciSup
+-/
 
+#print tendsto_atBot_ciSup /-
 theorem tendsto_atBot_ciSup (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
     Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_ciSup h_anti.dual hbdd.dual
 #align tendsto_at_bot_csupr tendsto_atBot_ciSup
+-/
 
 end Csupr
 
@@ -164,13 +168,17 @@ section Cinfi
 
 variable [ConditionallyCompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
+#print tendsto_atBot_ciInf /-
 theorem tendsto_atBot_ciInf (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
     Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_ciSup h_mono.dual hbdd.dual
 #align tendsto_at_bot_cinfi tendsto_atBot_ciInf
+-/
 
+#print tendsto_atTop_ciInf /-
 theorem tendsto_atTop_ciInf (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
     Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_ciSup h_anti.dual hbdd.dual
 #align tendsto_at_top_cinfi tendsto_atTop_ciInf
+-/
 
 end Cinfi
 
@@ -178,13 +186,17 @@ section iSup
 
 variable [CompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
+#print tendsto_atTop_iSup /-
 theorem tendsto_atTop_iSup (h_mono : Monotone f) : Tendsto f atTop (𝓝 (⨆ i, f i)) :=
   tendsto_atTop_ciSup h_mono (OrderTop.bddAbove _)
 #align tendsto_at_top_supr tendsto_atTop_iSup
+-/
 
+#print tendsto_atBot_iSup /-
 theorem tendsto_atBot_iSup (h_anti : Antitone f) : Tendsto f atBot (𝓝 (⨆ i, f i)) :=
   tendsto_atBot_ciSup h_anti (OrderTop.bddAbove _)
 #align tendsto_at_bot_supr tendsto_atBot_iSup
+-/
 
 end iSup
 
@@ -192,13 +204,17 @@ section iInf
 
 variable [CompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
+#print tendsto_atBot_iInf /-
 theorem tendsto_atBot_iInf (h_mono : Monotone f) : Tendsto f atBot (𝓝 (⨅ i, f i)) :=
   tendsto_atBot_ciInf h_mono (OrderBot.bddBelow _)
 #align tendsto_at_bot_infi tendsto_atBot_iInf
+-/
 
+#print tendsto_atTop_iInf /-
 theorem tendsto_atTop_iInf (h_anti : Antitone f) : Tendsto f atTop (𝓝 (⨅ i, f i)) :=
   tendsto_atTop_ciInf h_anti (OrderBot.bddBelow _)
 #align tendsto_at_top_infi tendsto_atTop_iInf
+-/
 
 end iInf
 
@@ -246,13 +262,16 @@ instance Pi.Inf_convergence_class' {ι : Type _} [Preorder α] [TopologicalSpace
 #align pi.Inf_convergence_class' Pi.Inf_convergence_class'
 -/
 
+#print tendsto_of_monotone /-
 theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
     [ConditionallyCompleteLinearOrder α] [OrderTopology α] {f : ι → α} (h_mono : Monotone f) :
     Tendsto f atTop atTop ∨ ∃ l, Tendsto f atTop (𝓝 l) :=
   if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_ciSup h_mono H⟩
   else Or.inl <| tendsto_atTop_atTop_of_monotone' h_mono H
 #align tendsto_of_monotone tendsto_of_monotone
+-/
 
+#print tendsto_iff_tendsto_subseq_of_monotone /-
 theorem tendsto_iff_tendsto_subseq_of_monotone {ι₁ ι₂ α : Type _} [SemilatticeSup ι₁] [Preorder ι₂]
     [Nonempty ι₁] [TopologicalSpace α] [ConditionallyCompleteLinearOrder α] [OrderTopology α]
     [NoMaxOrder α] {f : ι₂ → α} {φ : ι₁ → ι₂} {l : α} (hf : Monotone f)
@@ -264,6 +283,7 @@ theorem tendsto_iff_tendsto_subseq_of_monotone {ι₁ ι₂ α : Type _} [Semila
     · exact (not_tendsto_atTop_of_tendsto_nhds h (h'.comp hg)).elim
     · rwa [tendsto_nhds_unique h (hl'.comp hg)]
 #align tendsto_iff_tendsto_subseq_of_monotone tendsto_iff_tendsto_subseq_of_monotone
+-/
 
 /-! The next family of results, such as `is_lub_of_tendsto_at_top` and `supr_eq_of_tendsto`, are
 converses to the standard fact that bounded monotone functions converge. They state, that if a
@@ -274,31 +294,40 @@ Related theorems above (`is_lub.is_lub_of_tendsto`, `is_glb.is_glb_of_tendsto` e
 when `f x` tends to `a` as `x` tends to some point `b` in the domain. -/
 
 
+#print Monotone.ge_of_tendsto /-
 theorem Monotone.ge_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [SemilatticeSup β] {f : β → α} {a : α} (hf : Monotone f) (ha : Tendsto f atTop (𝓝 a)) (b : β) :
     f b ≤ a :=
   haveI : Nonempty β := Nonempty.intro b
   ge_of_tendsto ha ((eventually_ge_at_top b).mono fun _ hxy => hf hxy)
 #align monotone.ge_of_tendsto Monotone.ge_of_tendsto
+-/
 
+#print Monotone.le_of_tendsto /-
 theorem Monotone.le_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [SemilatticeInf β] {f : β → α} {a : α} (hf : Monotone f) (ha : Tendsto f atBot (𝓝 a)) (b : β) :
     a ≤ f b :=
   hf.dual.ge_of_tendsto ha b
 #align monotone.le_of_tendsto Monotone.le_of_tendsto
+-/
 
+#print Antitone.le_of_tendsto /-
 theorem Antitone.le_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [SemilatticeSup β] {f : β → α} {a : α} (hf : Antitone f) (ha : Tendsto f atTop (𝓝 a)) (b : β) :
     a ≤ f b :=
   hf.dual_right.ge_of_tendsto ha b
 #align antitone.le_of_tendsto Antitone.le_of_tendsto
+-/
 
+#print Antitone.ge_of_tendsto /-
 theorem Antitone.ge_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [SemilatticeInf β] {f : β → α} {a : α} (hf : Antitone f) (ha : Tendsto f atBot (𝓝 a)) (b : β) :
     f b ≤ a :=
   hf.dual_right.le_of_tendsto ha b
 #align antitone.ge_of_tendsto Antitone.ge_of_tendsto
+-/
 
+#print isLUB_of_tendsto_atTop /-
 theorem isLUB_of_tendsto_atTop [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Monotone f)
     (ha : Tendsto f atTop (𝓝 a)) : IsLUB (Set.range f) a :=
@@ -308,37 +337,49 @@ theorem isLUB_of_tendsto_atTop [TopologicalSpace α] [Preorder α] [OrderClosedT
     exact hf.ge_of_tendsto ha b
   · exact fun _ hb => le_of_tendsto' ha fun x => hb (Set.mem_range_self x)
 #align is_lub_of_tendsto_at_top isLUB_of_tendsto_atTop
+-/
 
+#print isGLB_of_tendsto_atBot /-
 theorem isGLB_of_tendsto_atBot [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [Nonempty β] [SemilatticeInf β] {f : β → α} {a : α} (hf : Monotone f)
     (ha : Tendsto f atBot (𝓝 a)) : IsGLB (Set.range f) a :=
   @isLUB_of_tendsto_atTop αᵒᵈ βᵒᵈ _ _ _ _ _ _ _ hf.dual ha
 #align is_glb_of_tendsto_at_bot isGLB_of_tendsto_atBot
+-/
 
+#print isLUB_of_tendsto_atBot /-
 theorem isLUB_of_tendsto_atBot [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [Nonempty β] [SemilatticeInf β] {f : β → α} {a : α} (hf : Antitone f)
     (ha : Tendsto f atBot (𝓝 a)) : IsLUB (Set.range f) a :=
   @isLUB_of_tendsto_atTop α βᵒᵈ _ _ _ _ _ _ _ hf.dual_left ha
 #align is_lub_of_tendsto_at_bot isLUB_of_tendsto_atBot
+-/
 
+#print isGLB_of_tendsto_atTop /-
 theorem isGLB_of_tendsto_atTop [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Antitone f)
     (ha : Tendsto f atTop (𝓝 a)) : IsGLB (Set.range f) a :=
   @isGLB_of_tendsto_atBot α βᵒᵈ _ _ _ _ _ _ _ hf.dual_left ha
 #align is_glb_of_tendsto_at_top isGLB_of_tendsto_atTop
+-/
 
+#print iSup_eq_of_tendsto /-
 theorem iSup_eq_of_tendsto {α β} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Monotone f) :
     Tendsto f atTop (𝓝 a) → iSup f = a :=
   tendsto_nhds_unique (tendsto_atTop_iSup hf)
 #align supr_eq_of_tendsto iSup_eq_of_tendsto
+-/
 
+#print iInf_eq_of_tendsto /-
 theorem iInf_eq_of_tendsto {α} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Antitone f) :
     Tendsto f atTop (𝓝 a) → iInf f = a :=
   tendsto_nhds_unique (tendsto_atTop_iInf hf)
 #align infi_eq_of_tendsto iInf_eq_of_tendsto
+-/
 
+#print iSup_eq_iSup_subseq_of_monotone /-
 theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.ne_bot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atTop) : (⨆ i, f i) = ⨆ i, f (φ i) :=
@@ -347,10 +388,13 @@ theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι
       Exists.imp (fun j (hj : i ≤ φ j) => hf hj) (hφ.Eventually <| eventually_ge_atTop i).exists)
     (iSup_mono' fun i => ⟨φ i, le_rfl⟩)
 #align supr_eq_supr_subseq_of_monotone iSup_eq_iSup_subseq_of_monotone
+-/
 
+#print iInf_eq_iInf_subseq_of_monotone /-
 theorem iInf_eq_iInf_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.ne_bot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atBot) : (⨅ i, f i) = ⨅ i, f (φ i) :=
   iSup_eq_iSup_subseq_of_monotone hf.dual hφ
 #align infi_eq_infi_subseq_of_monotone iInf_eq_iInf_subseq_of_monotone
+-/
 
Diff
@@ -151,7 +151,7 @@ theorem tendsto_atTop_ciSup (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
     Tendsto f atTop (𝓝 (⨆ i, f i)) :=
   by
   cases isEmpty_or_nonempty ι
-  exacts[tendsto_of_is_empty, tendsto_atTop_isLUB h_mono (isLUB_ciSup hbdd)]
+  exacts [tendsto_of_is_empty, tendsto_atTop_isLUB h_mono (isLUB_ciSup hbdd)]
 #align tendsto_at_top_csupr tendsto_atTop_ciSup
 
 theorem tendsto_atBot_ciSup (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
@@ -209,7 +209,7 @@ instance [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β]
   by
   constructor
   rintro ⟨a, b⟩ s h
-  rw [isLUB_prod, ← range_restrict, ← range_restrict] at h
+  rw [isLUB_prod, ← range_restrict, ← range_restrict] at h 
   have A : tendsto (fun x : s => (x : α × β).1) at_top (𝓝 a) :=
     tendsto_atTop_isLUB (monotone_fst.restrict s) h.1
   have B : tendsto (fun x : s => (x : α × β).2) at_top (𝓝 b) :=
@@ -225,7 +225,7 @@ instance {ι : Type _} {α : ι → Type _} [∀ i, Preorder (α i)] [∀ i, Top
     [∀ i, SupConvergenceClass (α i)] : SupConvergenceClass (∀ i, α i) :=
   by
   refine' ⟨fun f s h => _⟩
-  simp only [isLUB_pi, ← range_restrict] at h
+  simp only [isLUB_pi, ← range_restrict] at h 
   exact tendsto_pi_nhds.2 fun i => tendsto_atTop_isLUB ((monotone_eval _).restrict _) (h i)
 
 instance {ι : Type _} {α : ι → Type _} [∀ i, Preorder (α i)] [∀ i, TopologicalSpace (α i)]
Diff
@@ -36,7 +36,7 @@ monotone convergence
 
 open Filter Set Function
 
-open Filter Topology Classical
+open scoped Filter Topology Classical
 
 variable {α β : Type _}
 
Diff
@@ -147,12 +147,6 @@ section Csupr
 
 variable [ConditionallyCompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_top_csupr -> tendsto_atTop_ciSup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_csupr tendsto_atTop_ciSupₓ'. -/
 theorem tendsto_atTop_ciSup (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
     Tendsto f atTop (𝓝 (⨆ i, f i)) :=
   by
@@ -160,12 +154,6 @@ theorem tendsto_atTop_ciSup (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
   exacts[tendsto_of_is_empty, tendsto_atTop_isLUB h_mono (isLUB_ciSup hbdd)]
 #align tendsto_at_top_csupr tendsto_atTop_ciSup
 
-/- warning: tendsto_at_bot_csupr -> tendsto_atBot_ciSup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_csupr tendsto_atBot_ciSupₓ'. -/
 theorem tendsto_atBot_ciSup (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
     Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_ciSup h_anti.dual hbdd.dual
 #align tendsto_at_bot_csupr tendsto_atBot_ciSup
@@ -176,22 +164,10 @@ section Cinfi
 
 variable [ConditionallyCompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_bot_cinfi -> tendsto_atBot_ciInf is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_cinfi tendsto_atBot_ciInfₓ'. -/
 theorem tendsto_atBot_ciInf (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
     Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_ciSup h_mono.dual hbdd.dual
 #align tendsto_at_bot_cinfi tendsto_atBot_ciInf
 
-/- warning: tendsto_at_top_cinfi -> tendsto_atTop_ciInf is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_cinfi tendsto_atTop_ciInfₓ'. -/
 theorem tendsto_atTop_ciInf (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
     Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_ciSup h_anti.dual hbdd.dual
 #align tendsto_at_top_cinfi tendsto_atTop_ciInf
@@ -202,22 +178,10 @@ section iSup
 
 variable [CompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_top_supr -> tendsto_atTop_iSup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_supr tendsto_atTop_iSupₓ'. -/
 theorem tendsto_atTop_iSup (h_mono : Monotone f) : Tendsto f atTop (𝓝 (⨆ i, f i)) :=
   tendsto_atTop_ciSup h_mono (OrderTop.bddAbove _)
 #align tendsto_at_top_supr tendsto_atTop_iSup
 
-/- warning: tendsto_at_bot_supr -> tendsto_atBot_iSup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_supr tendsto_atBot_iSupₓ'. -/
 theorem tendsto_atBot_iSup (h_anti : Antitone f) : Tendsto f atBot (𝓝 (⨆ i, f i)) :=
   tendsto_atBot_ciSup h_anti (OrderTop.bddAbove _)
 #align tendsto_at_bot_supr tendsto_atBot_iSup
@@ -228,22 +192,10 @@ section iInf
 
 variable [CompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_bot_infi -> tendsto_atBot_iInf is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_infi tendsto_atBot_iInfₓ'. -/
 theorem tendsto_atBot_iInf (h_mono : Monotone f) : Tendsto f atBot (𝓝 (⨅ i, f i)) :=
   tendsto_atBot_ciInf h_mono (OrderBot.bddBelow _)
 #align tendsto_at_bot_infi tendsto_atBot_iInf
 
-/- warning: tendsto_at_top_infi -> tendsto_atTop_iInf is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_infi tendsto_atTop_iInfₓ'. -/
 theorem tendsto_atTop_iInf (h_anti : Antitone f) : Tendsto f atTop (𝓝 (⨅ i, f i)) :=
   tendsto_atTop_ciInf h_anti (OrderBot.bddBelow _)
 #align tendsto_at_top_infi tendsto_atTop_iInf
@@ -294,12 +246,6 @@ instance Pi.Inf_convergence_class' {ι : Type _} [Preorder α] [TopologicalSpace
 #align pi.Inf_convergence_class' Pi.Inf_convergence_class'
 -/
 
-/- warning: tendsto_of_monotone -> tendsto_of_monotone is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Preorder.{u1} ι] [_inst_2 : TopologicalSpace.{u2} α] [_inst_3 : ConditionallyCompleteLinearOrder.{u2} α] [_inst_4 : OrderTopology.{u2} α _inst_2 (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α (Lattice.toSemilatticeInf.{u2} α (ConditionallyCompleteLattice.toLattice.{u2} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u2} α _inst_3)))))] {f : ι -> α}, (Monotone.{u1, u2} ι α _inst_1 (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α (Lattice.toSemilatticeInf.{u2} α (ConditionallyCompleteLattice.toLattice.{u2} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u2} α _inst_3))))) f) -> (Or (Filter.Tendsto.{u1, u2} ι α f (Filter.atTop.{u1} ι _inst_1) (Filter.atTop.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α (Lattice.toSemilatticeInf.{u2} α (ConditionallyCompleteLattice.toLattice.{u2} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u2} α _inst_3))))))) (Exists.{succ u2} α (fun (l : α) => Filter.Tendsto.{u1, u2} ι α f (Filter.atTop.{u1} ι _inst_1) (nhds.{u2} α _inst_2 l))))
-but is expected to have type
-  forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLinearOrder.{u1} α] [_inst_4 : OrderTopology.{u1} α _inst_2 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} α _inst_3)))))] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} α _inst_3))))) f) -> (Or (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (Filter.atTop.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} α _inst_3))))))) (Exists.{succ u1} α (fun (l : α) => Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 l))))
-Case conversion may be inaccurate. Consider using '#align tendsto_of_monotone tendsto_of_monotoneₓ'. -/
 theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
     [ConditionallyCompleteLinearOrder α] [OrderTopology α] {f : ι → α} (h_mono : Monotone f) :
     Tendsto f atTop atTop ∨ ∃ l, Tendsto f atTop (𝓝 l) :=
@@ -307,12 +253,6 @@ theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
   else Or.inl <| tendsto_atTop_atTop_of_monotone' h_mono H
 #align tendsto_of_monotone tendsto_of_monotone
 
-/- warning: tendsto_iff_tendsto_subseq_of_monotone -> tendsto_iff_tendsto_subseq_of_monotone is a dubious translation:
-lean 3 declaration is
-  forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {α : Type.{u3}} [_inst_1 : SemilatticeSup.{u1} ι₁] [_inst_2 : Preorder.{u2} ι₂] [_inst_3 : Nonempty.{succ u1} ι₁] [_inst_4 : TopologicalSpace.{u3} α] [_inst_5 : ConditionallyCompleteLinearOrder.{u3} α] [_inst_6 : OrderTopology.{u3} α _inst_4 (PartialOrder.toPreorder.{u3} α (SemilatticeInf.toPartialOrder.{u3} α (Lattice.toSemilatticeInf.{u3} α (ConditionallyCompleteLattice.toLattice.{u3} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} α _inst_5)))))] [_inst_7 : NoMaxOrder.{u3} α (Preorder.toHasLt.{u3} α (PartialOrder.toPreorder.{u3} α (SemilatticeInf.toPartialOrder.{u3} α (Lattice.toSemilatticeInf.{u3} α (ConditionallyCompleteLattice.toLattice.{u3} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} α _inst_5))))))] {f : ι₂ -> α} {φ : ι₁ -> ι₂} {l : α}, (Monotone.{u2, u3} ι₂ α _inst_2 (PartialOrder.toPreorder.{u3} α (SemilatticeInf.toPartialOrder.{u3} α (Lattice.toSemilatticeInf.{u3} α (ConditionallyCompleteLattice.toLattice.{u3} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} α _inst_5))))) f) -> (Filter.Tendsto.{u1, u2} ι₁ ι₂ φ (Filter.atTop.{u1} ι₁ (PartialOrder.toPreorder.{u1} ι₁ (SemilatticeSup.toPartialOrder.{u1} ι₁ _inst_1))) (Filter.atTop.{u2} ι₂ _inst_2)) -> (Iff (Filter.Tendsto.{u2, u3} ι₂ α f (Filter.atTop.{u2} ι₂ _inst_2) (nhds.{u3} α _inst_4 l)) (Filter.Tendsto.{u1, u3} ι₁ α (Function.comp.{succ u1, succ u2, succ u3} ι₁ ι₂ α f φ) (Filter.atTop.{u1} ι₁ (PartialOrder.toPreorder.{u1} ι₁ (SemilatticeSup.toPartialOrder.{u1} ι₁ _inst_1))) (nhds.{u3} α _inst_4 l)))
-but is expected to have type
-  forall {ι₁ : Type.{u3}} {ι₂ : Type.{u2}} {α : Type.{u1}} [_inst_1 : SemilatticeSup.{u3} ι₁] [_inst_2 : Preorder.{u2} ι₂] [_inst_3 : Nonempty.{succ u3} ι₁] [_inst_4 : TopologicalSpace.{u1} α] [_inst_5 : ConditionallyCompleteLinearOrder.{u1} α] [_inst_6 : OrderTopology.{u1} α _inst_4 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} α _inst_5)))))] [_inst_7 : NoMaxOrder.{u1} α (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} α _inst_5))))))] {f : ι₂ -> α} {φ : ι₁ -> ι₂} {l : α}, (Monotone.{u2, u1} ι₂ α _inst_2 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} α _inst_5))))) f) -> (Filter.Tendsto.{u3, u2} ι₁ ι₂ φ (Filter.atTop.{u3} ι₁ (PartialOrder.toPreorder.{u3} ι₁ (SemilatticeSup.toPartialOrder.{u3} ι₁ _inst_1))) (Filter.atTop.{u2} ι₂ _inst_2)) -> (Iff (Filter.Tendsto.{u2, u1} ι₂ α f (Filter.atTop.{u2} ι₂ _inst_2) (nhds.{u1} α _inst_4 l)) (Filter.Tendsto.{u3, u1} ι₁ α (Function.comp.{succ u3, succ u2, succ u1} ι₁ ι₂ α f φ) (Filter.atTop.{u3} ι₁ (PartialOrder.toPreorder.{u3} ι₁ (SemilatticeSup.toPartialOrder.{u3} ι₁ _inst_1))) (nhds.{u1} α _inst_4 l)))
-Case conversion may be inaccurate. Consider using '#align tendsto_iff_tendsto_subseq_of_monotone tendsto_iff_tendsto_subseq_of_monotoneₓ'. -/
 theorem tendsto_iff_tendsto_subseq_of_monotone {ι₁ ι₂ α : Type _} [SemilatticeSup ι₁] [Preorder ι₂]
     [Nonempty ι₁] [TopologicalSpace α] [ConditionallyCompleteLinearOrder α] [OrderTopology α]
     [NoMaxOrder α] {f : ι₂ → α} {φ : ι₁ → ι₂} {l : α} (hf : Monotone f)
@@ -334,12 +274,6 @@ Related theorems above (`is_lub.is_lub_of_tendsto`, `is_glb.is_glb_of_tendsto` e
 when `f x` tends to `a` as `x` tends to some point `b` in the domain. -/
 
 
-/- warning: monotone.ge_of_tendsto -> Monotone.ge_of_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toHasLe.{u1} α _inst_2) (f b) a)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Monotone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_4))) (nhds.{u2} α _inst_1 a)) -> (forall (b : β), LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) (f b) a)
-Case conversion may be inaccurate. Consider using '#align monotone.ge_of_tendsto Monotone.ge_of_tendstoₓ'. -/
 theorem Monotone.ge_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [SemilatticeSup β] {f : β → α} {a : α} (hf : Monotone f) (ha : Tendsto f atTop (𝓝 a)) (b : β) :
     f b ≤ a :=
@@ -347,48 +281,24 @@ theorem Monotone.ge_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedT
   ge_of_tendsto ha ((eventually_ge_at_top b).mono fun _ hxy => hf hxy)
 #align monotone.ge_of_tendsto Monotone.ge_of_tendsto
 
-/- warning: monotone.le_of_tendsto -> Monotone.le_of_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atBot.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toHasLe.{u1} α _inst_2) a (f b))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u1} β] {f : β -> α} {a : α}, (Monotone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atBot.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_4))) (nhds.{u2} α _inst_1 a)) -> (forall (b : β), LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) a (f b))
-Case conversion may be inaccurate. Consider using '#align monotone.le_of_tendsto Monotone.le_of_tendstoₓ'. -/
 theorem Monotone.le_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [SemilatticeInf β] {f : β → α} {a : α} (hf : Monotone f) (ha : Tendsto f atBot (𝓝 a)) (b : β) :
     a ≤ f b :=
   hf.dual.ge_of_tendsto ha b
 #align monotone.le_of_tendsto Monotone.le_of_tendsto
 
-/- warning: antitone.le_of_tendsto -> Antitone.le_of_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Antitone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toHasLe.{u1} α _inst_2) a (f b))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_4))) (nhds.{u2} α _inst_1 a)) -> (forall (b : β), LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) a (f b))
-Case conversion may be inaccurate. Consider using '#align antitone.le_of_tendsto Antitone.le_of_tendstoₓ'. -/
 theorem Antitone.le_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [SemilatticeSup β] {f : β → α} {a : α} (hf : Antitone f) (ha : Tendsto f atTop (𝓝 a)) (b : β) :
     a ≤ f b :=
   hf.dual_right.ge_of_tendsto ha b
 #align antitone.le_of_tendsto Antitone.le_of_tendsto
 
-/- warning: antitone.ge_of_tendsto -> Antitone.ge_of_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u2} β] {f : β -> α} {a : α}, (Antitone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atBot.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toHasLe.{u1} α _inst_2) (f b) a)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atBot.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_4))) (nhds.{u2} α _inst_1 a)) -> (forall (b : β), LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) (f b) a)
-Case conversion may be inaccurate. Consider using '#align antitone.ge_of_tendsto Antitone.ge_of_tendstoₓ'. -/
 theorem Antitone.ge_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [SemilatticeInf β] {f : β → α} {a : α} (hf : Antitone f) (ha : Tendsto f atBot (𝓝 a)) (b : β) :
     f b ≤ a :=
   hf.dual_right.le_of_tendsto ha b
 #align antitone.ge_of_tendsto Antitone.ge_of_tendsto
 
-/- warning: is_lub_of_tendsto_at_top -> isLUB_of_tendsto_atTop is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : Nonempty.{succ u2} β] [_inst_5 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5))) (nhds.{u1} α _inst_1 a)) -> (IsLUB.{u1} α _inst_2 (Set.range.{u1, succ u2} α β f) a)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Monotone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (IsLUB.{u2} α _inst_2 (Set.range.{u2, succ u1} α β f) a)
-Case conversion may be inaccurate. Consider using '#align is_lub_of_tendsto_at_top isLUB_of_tendsto_atTopₓ'. -/
 theorem isLUB_of_tendsto_atTop [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Monotone f)
     (ha : Tendsto f atTop (𝓝 a)) : IsLUB (Set.range f) a :=
@@ -399,72 +309,36 @@ theorem isLUB_of_tendsto_atTop [TopologicalSpace α] [Preorder α] [OrderClosedT
   · exact fun _ hb => le_of_tendsto' ha fun x => hb (Set.mem_range_self x)
 #align is_lub_of_tendsto_at_top isLUB_of_tendsto_atTop
 
-/- warning: is_glb_of_tendsto_at_bot -> isGLB_of_tendsto_atBot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : Nonempty.{succ u2} β] [_inst_5 : SemilatticeInf.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_5)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atBot.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_5))) (nhds.{u1} α _inst_1 a)) -> (IsGLB.{u1} α _inst_2 (Set.range.{u1, succ u2} α β f) a)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeInf.{u1} β] {f : β -> α} {a : α}, (Monotone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_5)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atBot.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (IsGLB.{u2} α _inst_2 (Set.range.{u2, succ u1} α β f) a)
-Case conversion may be inaccurate. Consider using '#align is_glb_of_tendsto_at_bot isGLB_of_tendsto_atBotₓ'. -/
 theorem isGLB_of_tendsto_atBot [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [Nonempty β] [SemilatticeInf β] {f : β → α} {a : α} (hf : Monotone f)
     (ha : Tendsto f atBot (𝓝 a)) : IsGLB (Set.range f) a :=
   @isLUB_of_tendsto_atTop αᵒᵈ βᵒᵈ _ _ _ _ _ _ _ hf.dual ha
 #align is_glb_of_tendsto_at_bot isGLB_of_tendsto_atBot
 
-/- warning: is_lub_of_tendsto_at_bot -> isLUB_of_tendsto_atBot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : Nonempty.{succ u2} β] [_inst_5 : SemilatticeInf.{u2} β] {f : β -> α} {a : α}, (Antitone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_5)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atBot.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_5))) (nhds.{u1} α _inst_1 a)) -> (IsLUB.{u1} α _inst_2 (Set.range.{u1, succ u2} α β f) a)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeInf.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_5)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atBot.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (IsLUB.{u2} α _inst_2 (Set.range.{u2, succ u1} α β f) a)
-Case conversion may be inaccurate. Consider using '#align is_lub_of_tendsto_at_bot isLUB_of_tendsto_atBotₓ'. -/
 theorem isLUB_of_tendsto_atBot [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [Nonempty β] [SemilatticeInf β] {f : β → α} {a : α} (hf : Antitone f)
     (ha : Tendsto f atBot (𝓝 a)) : IsLUB (Set.range f) a :=
   @isLUB_of_tendsto_atTop α βᵒᵈ _ _ _ _ _ _ _ hf.dual_left ha
 #align is_lub_of_tendsto_at_bot isLUB_of_tendsto_atBot
 
-/- warning: is_glb_of_tendsto_at_top -> isGLB_of_tendsto_atTop is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : Nonempty.{succ u2} β] [_inst_5 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Antitone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5))) (nhds.{u1} α _inst_1 a)) -> (IsGLB.{u1} α _inst_2 (Set.range.{u1, succ u2} α β f) a)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (IsGLB.{u2} α _inst_2 (Set.range.{u2, succ u1} α β f) a)
-Case conversion may be inaccurate. Consider using '#align is_glb_of_tendsto_at_top isGLB_of_tendsto_atTopₓ'. -/
 theorem isGLB_of_tendsto_atTop [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Antitone f)
     (ha : Tendsto f atTop (𝓝 a)) : IsGLB (Set.range f) a :=
   @isGLB_of_tendsto_atBot α βᵒᵈ _ _ _ _ _ _ _ hf.dual_left ha
 #align is_glb_of_tendsto_at_top isGLB_of_tendsto_atTop
 
-/- warning: supr_eq_of_tendsto -> iSup_eq_of_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : CompleteLinearOrder.{u1} α] [_inst_3 : OrderTopology.{u1} α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α (CompleteLinearOrder.toCompleteLattice.{u1} α _inst_2))))] [_inst_4 : Nonempty.{succ u2} β] [_inst_5 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5)) (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α (CompleteLinearOrder.toCompleteLattice.{u1} α _inst_2)))) f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5))) (nhds.{u1} α _inst_1 a)) -> (Eq.{succ u1} α (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α (CompleteLinearOrder.toCompleteLattice.{u1} α _inst_2))) β f) a)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : CompleteLinearOrder.{u2} α] [_inst_3 : OrderTopology.{u2} α _inst_1 (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))))] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Monotone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2)))) f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (Eq.{succ u2} α (iSup.{u2, succ u1} α (ConditionallyCompleteLattice.toSupSet.{u2} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u2} α (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{u2} α (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{u2} α _inst_2)))) β f) a)
-Case conversion may be inaccurate. Consider using '#align supr_eq_of_tendsto iSup_eq_of_tendstoₓ'. -/
 theorem iSup_eq_of_tendsto {α β} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Monotone f) :
     Tendsto f atTop (𝓝 a) → iSup f = a :=
   tendsto_nhds_unique (tendsto_atTop_iSup hf)
 #align supr_eq_of_tendsto iSup_eq_of_tendsto
 
-/- warning: infi_eq_of_tendsto -> iInf_eq_of_tendsto is a dubious translation:
-lean 3 declaration is
-  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : CompleteLinearOrder.{u2} α] [_inst_3 : OrderTopology.{u2} α _inst_1 (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))))] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2)))) f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (Eq.{succ u2} α (iInf.{u2, succ u1} α (ConditionallyCompleteLattice.toHasInf.{u2} α (CompleteLattice.toConditionallyCompleteLattice.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))) β f) a)
-but is expected to have type
-  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : CompleteLinearOrder.{u2} α] [_inst_3 : OrderTopology.{u2} α _inst_1 (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))))] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2)))) f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (Eq.{succ u2} α (iInf.{u2, succ u1} α (ConditionallyCompleteLattice.toInfSet.{u2} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u2} α (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{u2} α (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{u2} α _inst_2)))) β f) a)
-Case conversion may be inaccurate. Consider using '#align infi_eq_of_tendsto iInf_eq_of_tendstoₓ'. -/
 theorem iInf_eq_of_tendsto {α} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Antitone f) :
     Tendsto f atTop (𝓝 a) → iInf f = a :=
   tendsto_nhds_unique (tendsto_atTop_iInf hf)
 #align infi_eq_of_tendsto iInf_eq_of_tendsto
 
-/- warning: supr_eq_supr_subseq_of_monotone -> iSup_eq_iSup_subseq_of_monotone is a dubious translation:
-lean 3 declaration is
-  forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {α : Type.{u3}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u3} α] {l : Filter.{u1} ι₁} [_inst_3 : Filter.NeBot.{u1} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u3} ι₂ α _inst_1 (PartialOrder.toPreorder.{u3} α (CompleteSemilatticeInf.toPartialOrder.{u3} α (CompleteLattice.toCompleteSemilatticeInf.{u3} α _inst_2))) f) -> (Filter.Tendsto.{u1, u2} ι₁ ι₂ φ l (Filter.atTop.{u2} ι₂ _inst_1)) -> (Eq.{succ u3} α (iSup.{u3, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (iSup.{u3, succ u1} α (ConditionallyCompleteLattice.toHasSup.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
-but is expected to have type
-  forall {ι₁ : Type.{u3}} {ι₂ : Type.{u2}} {α : Type.{u1}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u1} α] {l : Filter.{u3} ι₁} [_inst_3 : Filter.NeBot.{u3} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u1} ι₂ α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_2))) f) -> (Filter.Tendsto.{u3, u2} ι₁ ι₂ φ l (Filter.atTop.{u2} ι₂ _inst_1)) -> (Eq.{succ u1} α (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (iSup.{u1, succ u3} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
-Case conversion may be inaccurate. Consider using '#align supr_eq_supr_subseq_of_monotone iSup_eq_iSup_subseq_of_monotoneₓ'. -/
 theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.ne_bot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atTop) : (⨆ i, f i) = ⨆ i, f (φ i) :=
@@ -474,12 +348,6 @@ theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι
     (iSup_mono' fun i => ⟨φ i, le_rfl⟩)
 #align supr_eq_supr_subseq_of_monotone iSup_eq_iSup_subseq_of_monotone
 
-/- warning: infi_eq_infi_subseq_of_monotone -> iInf_eq_iInf_subseq_of_monotone is a dubious translation:
-lean 3 declaration is
-  forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {α : Type.{u3}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u3} α] {l : Filter.{u1} ι₁} [_inst_3 : Filter.NeBot.{u1} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u3} ι₂ α _inst_1 (PartialOrder.toPreorder.{u3} α (CompleteSemilatticeInf.toPartialOrder.{u3} α (CompleteLattice.toCompleteSemilatticeInf.{u3} α _inst_2))) f) -> (Filter.Tendsto.{u1, u2} ι₁ ι₂ φ l (Filter.atBot.{u2} ι₂ _inst_1)) -> (Eq.{succ u3} α (iInf.{u3, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (iInf.{u3, succ u1} α (ConditionallyCompleteLattice.toHasInf.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
-but is expected to have type
-  forall {ι₁ : Type.{u3}} {ι₂ : Type.{u2}} {α : Type.{u1}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u1} α] {l : Filter.{u3} ι₁} [_inst_3 : Filter.NeBot.{u3} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u1} ι₂ α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_2))) f) -> (Filter.Tendsto.{u3, u2} ι₁ ι₂ φ l (Filter.atBot.{u2} ι₂ _inst_1)) -> (Eq.{succ u1} α (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (iInf.{u1, succ u3} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
-Case conversion may be inaccurate. Consider using '#align infi_eq_infi_subseq_of_monotone iInf_eq_iInf_subseq_of_monotoneₓ'. -/
 theorem iInf_eq_iInf_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.ne_bot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atBot) : (⨅ i, f i) = ⨅ i, f (φ i) :=
Diff
@@ -263,8 +263,7 @@ instance [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β]
   have B : tendsto (fun x : s => (x : α × β).2) at_top (𝓝 b) :=
     tendsto_atTop_isLUB (monotone_snd.restrict s) h.2
   convert A.prod_mk_nhds B
-  ext1 ⟨⟨x, y⟩, h⟩
-  rfl
+  ext1 ⟨⟨x, y⟩, h⟩; rfl
 
 instance [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β] [InfConvergenceClass α]
     [InfConvergenceClass β] : InfConvergenceClass (α × β) :=
Diff
@@ -310,7 +310,7 @@ theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
 
 /- warning: tendsto_iff_tendsto_subseq_of_monotone -> tendsto_iff_tendsto_subseq_of_monotone is a dubious translation:
 lean 3 declaration is
-  forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {α : Type.{u3}} [_inst_1 : SemilatticeSup.{u1} ι₁] [_inst_2 : Preorder.{u2} ι₂] [_inst_3 : Nonempty.{succ u1} ι₁] [_inst_4 : TopologicalSpace.{u3} α] [_inst_5 : ConditionallyCompleteLinearOrder.{u3} α] [_inst_6 : OrderTopology.{u3} α _inst_4 (PartialOrder.toPreorder.{u3} α (SemilatticeInf.toPartialOrder.{u3} α (Lattice.toSemilatticeInf.{u3} α (ConditionallyCompleteLattice.toLattice.{u3} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} α _inst_5)))))] [_inst_7 : NoMaxOrder.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (SemilatticeInf.toPartialOrder.{u3} α (Lattice.toSemilatticeInf.{u3} α (ConditionallyCompleteLattice.toLattice.{u3} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} α _inst_5))))))] {f : ι₂ -> α} {φ : ι₁ -> ι₂} {l : α}, (Monotone.{u2, u3} ι₂ α _inst_2 (PartialOrder.toPreorder.{u3} α (SemilatticeInf.toPartialOrder.{u3} α (Lattice.toSemilatticeInf.{u3} α (ConditionallyCompleteLattice.toLattice.{u3} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} α _inst_5))))) f) -> (Filter.Tendsto.{u1, u2} ι₁ ι₂ φ (Filter.atTop.{u1} ι₁ (PartialOrder.toPreorder.{u1} ι₁ (SemilatticeSup.toPartialOrder.{u1} ι₁ _inst_1))) (Filter.atTop.{u2} ι₂ _inst_2)) -> (Iff (Filter.Tendsto.{u2, u3} ι₂ α f (Filter.atTop.{u2} ι₂ _inst_2) (nhds.{u3} α _inst_4 l)) (Filter.Tendsto.{u1, u3} ι₁ α (Function.comp.{succ u1, succ u2, succ u3} ι₁ ι₂ α f φ) (Filter.atTop.{u1} ι₁ (PartialOrder.toPreorder.{u1} ι₁ (SemilatticeSup.toPartialOrder.{u1} ι₁ _inst_1))) (nhds.{u3} α _inst_4 l)))
+  forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {α : Type.{u3}} [_inst_1 : SemilatticeSup.{u1} ι₁] [_inst_2 : Preorder.{u2} ι₂] [_inst_3 : Nonempty.{succ u1} ι₁] [_inst_4 : TopologicalSpace.{u3} α] [_inst_5 : ConditionallyCompleteLinearOrder.{u3} α] [_inst_6 : OrderTopology.{u3} α _inst_4 (PartialOrder.toPreorder.{u3} α (SemilatticeInf.toPartialOrder.{u3} α (Lattice.toSemilatticeInf.{u3} α (ConditionallyCompleteLattice.toLattice.{u3} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} α _inst_5)))))] [_inst_7 : NoMaxOrder.{u3} α (Preorder.toHasLt.{u3} α (PartialOrder.toPreorder.{u3} α (SemilatticeInf.toPartialOrder.{u3} α (Lattice.toSemilatticeInf.{u3} α (ConditionallyCompleteLattice.toLattice.{u3} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} α _inst_5))))))] {f : ι₂ -> α} {φ : ι₁ -> ι₂} {l : α}, (Monotone.{u2, u3} ι₂ α _inst_2 (PartialOrder.toPreorder.{u3} α (SemilatticeInf.toPartialOrder.{u3} α (Lattice.toSemilatticeInf.{u3} α (ConditionallyCompleteLattice.toLattice.{u3} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} α _inst_5))))) f) -> (Filter.Tendsto.{u1, u2} ι₁ ι₂ φ (Filter.atTop.{u1} ι₁ (PartialOrder.toPreorder.{u1} ι₁ (SemilatticeSup.toPartialOrder.{u1} ι₁ _inst_1))) (Filter.atTop.{u2} ι₂ _inst_2)) -> (Iff (Filter.Tendsto.{u2, u3} ι₂ α f (Filter.atTop.{u2} ι₂ _inst_2) (nhds.{u3} α _inst_4 l)) (Filter.Tendsto.{u1, u3} ι₁ α (Function.comp.{succ u1, succ u2, succ u3} ι₁ ι₂ α f φ) (Filter.atTop.{u1} ι₁ (PartialOrder.toPreorder.{u1} ι₁ (SemilatticeSup.toPartialOrder.{u1} ι₁ _inst_1))) (nhds.{u3} α _inst_4 l)))
 but is expected to have type
   forall {ι₁ : Type.{u3}} {ι₂ : Type.{u2}} {α : Type.{u1}} [_inst_1 : SemilatticeSup.{u3} ι₁] [_inst_2 : Preorder.{u2} ι₂] [_inst_3 : Nonempty.{succ u3} ι₁] [_inst_4 : TopologicalSpace.{u1} α] [_inst_5 : ConditionallyCompleteLinearOrder.{u1} α] [_inst_6 : OrderTopology.{u1} α _inst_4 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} α _inst_5)))))] [_inst_7 : NoMaxOrder.{u1} α (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} α _inst_5))))))] {f : ι₂ -> α} {φ : ι₁ -> ι₂} {l : α}, (Monotone.{u2, u1} ι₂ α _inst_2 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} α _inst_5))))) f) -> (Filter.Tendsto.{u3, u2} ι₁ ι₂ φ (Filter.atTop.{u3} ι₁ (PartialOrder.toPreorder.{u3} ι₁ (SemilatticeSup.toPartialOrder.{u3} ι₁ _inst_1))) (Filter.atTop.{u2} ι₂ _inst_2)) -> (Iff (Filter.Tendsto.{u2, u1} ι₂ α f (Filter.atTop.{u2} ι₂ _inst_2) (nhds.{u1} α _inst_4 l)) (Filter.Tendsto.{u3, u1} ι₁ α (Function.comp.{succ u3, succ u2, succ u1} ι₁ ι₂ α f φ) (Filter.atTop.{u3} ι₁ (PartialOrder.toPreorder.{u3} ι₁ (SemilatticeSup.toPartialOrder.{u3} ι₁ _inst_1))) (nhds.{u1} α _inst_4 l)))
 Case conversion may be inaccurate. Consider using '#align tendsto_iff_tendsto_subseq_of_monotone tendsto_iff_tendsto_subseq_of_monotoneₓ'. -/
@@ -337,7 +337,7 @@ when `f x` tends to `a` as `x` tends to some point `b` in the domain. -/
 
 /- warning: monotone.ge_of_tendsto -> Monotone.ge_of_tendsto is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) (f b) a)
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toHasLe.{u1} α _inst_2) (f b) a)
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Monotone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_4))) (nhds.{u2} α _inst_1 a)) -> (forall (b : β), LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) (f b) a)
 Case conversion may be inaccurate. Consider using '#align monotone.ge_of_tendsto Monotone.ge_of_tendstoₓ'. -/
@@ -350,7 +350,7 @@ theorem Monotone.ge_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedT
 
 /- warning: monotone.le_of_tendsto -> Monotone.le_of_tendsto is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atBot.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) a (f b))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atBot.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toHasLe.{u1} α _inst_2) a (f b))
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u1} β] {f : β -> α} {a : α}, (Monotone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atBot.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_4))) (nhds.{u2} α _inst_1 a)) -> (forall (b : β), LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) a (f b))
 Case conversion may be inaccurate. Consider using '#align monotone.le_of_tendsto Monotone.le_of_tendstoₓ'. -/
@@ -362,7 +362,7 @@ theorem Monotone.le_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedT
 
 /- warning: antitone.le_of_tendsto -> Antitone.le_of_tendsto is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Antitone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) a (f b))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Antitone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toHasLe.{u1} α _inst_2) a (f b))
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_4))) (nhds.{u2} α _inst_1 a)) -> (forall (b : β), LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) a (f b))
 Case conversion may be inaccurate. Consider using '#align antitone.le_of_tendsto Antitone.le_of_tendstoₓ'. -/
@@ -374,7 +374,7 @@ theorem Antitone.le_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedT
 
 /- warning: antitone.ge_of_tendsto -> Antitone.ge_of_tendsto is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u2} β] {f : β -> α} {a : α}, (Antitone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atBot.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) (f b) a)
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : OrderClosedTopology.{u1} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u2} β] {f : β -> α} {a : α}, (Antitone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atBot.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeInf.toPartialOrder.{u2} β _inst_4))) (nhds.{u1} α _inst_1 a)) -> (forall (b : β), LE.le.{u1} α (Preorder.toHasLe.{u1} α _inst_2) (f b) a)
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : OrderClosedTopology.{u2} α _inst_1 _inst_2] [_inst_4 : SemilatticeInf.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_4)) _inst_2 f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atBot.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeInf.toPartialOrder.{u1} β _inst_4))) (nhds.{u2} α _inst_1 a)) -> (forall (b : β), LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) (f b) a)
 Case conversion may be inaccurate. Consider using '#align antitone.ge_of_tendsto Antitone.ge_of_tendstoₓ'. -/
Diff
@@ -147,28 +147,28 @@ section Csupr
 
 variable [ConditionallyCompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_top_csupr -> tendsto_atTop_csupᵢ is a dubious translation:
+/- warning: tendsto_at_top_csupr -> tendsto_atTop_ciSup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α _inst_3) ι (fun (i : ι) => f i))))
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α _inst_3) ι (fun (i : ι) => f i))))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_csupr tendsto_atTop_csupᵢₓ'. -/
-theorem tendsto_atTop_csupᵢ (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
+Case conversion may be inaccurate. Consider using '#align tendsto_at_top_csupr tendsto_atTop_ciSupₓ'. -/
+theorem tendsto_atTop_ciSup (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
     Tendsto f atTop (𝓝 (⨆ i, f i)) :=
   by
   cases isEmpty_or_nonempty ι
-  exacts[tendsto_of_is_empty, tendsto_atTop_isLUB h_mono (isLUB_csupᵢ hbdd)]
-#align tendsto_at_top_csupr tendsto_atTop_csupᵢ
+  exacts[tendsto_of_is_empty, tendsto_atTop_isLUB h_mono (isLUB_ciSup hbdd)]
+#align tendsto_at_top_csupr tendsto_atTop_ciSup
 
-/- warning: tendsto_at_bot_csupr -> tendsto_atBot_csupᵢ is a dubious translation:
+/- warning: tendsto_at_bot_csupr -> tendsto_atBot_ciSup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α _inst_3) ι (fun (i : ι) => f i))))
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α _inst_3) ι (fun (i : ι) => f i))))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_csupr tendsto_atBot_csupᵢₓ'. -/
-theorem tendsto_atBot_csupᵢ (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
-    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_csupᵢ h_anti.dual hbdd.dual
-#align tendsto_at_bot_csupr tendsto_atBot_csupᵢ
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
+Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_csupr tendsto_atBot_ciSupₓ'. -/
+theorem tendsto_atBot_ciSup (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
+    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_ciSup h_anti.dual hbdd.dual
+#align tendsto_at_bot_csupr tendsto_atBot_ciSup
 
 end Csupr
 
@@ -176,79 +176,79 @@ section Cinfi
 
 variable [ConditionallyCompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_bot_cinfi -> tendsto_atBot_cinfᵢ is a dubious translation:
+/- warning: tendsto_at_bot_cinfi -> tendsto_atBot_ciInf is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α _inst_3) ι (fun (i : ι) => f i))))
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α _inst_3) ι (fun (i : ι) => f i))))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_cinfi tendsto_atBot_cinfᵢₓ'. -/
-theorem tendsto_atBot_cinfᵢ (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_csupᵢ h_mono.dual hbdd.dual
-#align tendsto_at_bot_cinfi tendsto_atBot_cinfᵢ
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
+Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_cinfi tendsto_atBot_ciInfₓ'. -/
+theorem tendsto_atBot_ciInf (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
+    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_ciSup h_mono.dual hbdd.dual
+#align tendsto_at_bot_cinfi tendsto_atBot_ciInf
 
-/- warning: tendsto_at_top_cinfi -> tendsto_atTop_cinfᵢ is a dubious translation:
+/- warning: tendsto_at_top_cinfi -> tendsto_atTop_ciInf is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α _inst_3) ι (fun (i : ι) => f i))))
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α _inst_3) ι (fun (i : ι) => f i))))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_cinfi tendsto_atTop_cinfᵢₓ'. -/
-theorem tendsto_atTop_cinfᵢ (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_csupᵢ h_anti.dual hbdd.dual
-#align tendsto_at_top_cinfi tendsto_atTop_cinfᵢ
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
+Case conversion may be inaccurate. Consider using '#align tendsto_at_top_cinfi tendsto_atTop_ciInfₓ'. -/
+theorem tendsto_atTop_ciInf (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
+    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_ciSup h_anti.dual hbdd.dual
+#align tendsto_at_top_cinfi tendsto_atTop_ciInf
 
 end Cinfi
 
-section supᵢ
+section iSup
 
 variable [CompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_top_supr -> tendsto_atTop_supᵢ is a dubious translation:
+/- warning: tendsto_at_top_supr -> tendsto_atTop_iSup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_supr tendsto_atTop_supᵢₓ'. -/
-theorem tendsto_atTop_supᵢ (h_mono : Monotone f) : Tendsto f atTop (𝓝 (⨆ i, f i)) :=
-  tendsto_atTop_csupᵢ h_mono (OrderTop.bddAbove _)
-#align tendsto_at_top_supr tendsto_atTop_supᵢ
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
+Case conversion may be inaccurate. Consider using '#align tendsto_at_top_supr tendsto_atTop_iSupₓ'. -/
+theorem tendsto_atTop_iSup (h_mono : Monotone f) : Tendsto f atTop (𝓝 (⨆ i, f i)) :=
+  tendsto_atTop_ciSup h_mono (OrderTop.bddAbove _)
+#align tendsto_at_top_supr tendsto_atTop_iSup
 
-/- warning: tendsto_at_bot_supr -> tendsto_atBot_supᵢ is a dubious translation:
+/- warning: tendsto_at_bot_supr -> tendsto_atBot_iSup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_supr tendsto_atBot_supᵢₓ'. -/
-theorem tendsto_atBot_supᵢ (h_anti : Antitone f) : Tendsto f atBot (𝓝 (⨆ i, f i)) :=
-  tendsto_atBot_csupᵢ h_anti (OrderTop.bddAbove _)
-#align tendsto_at_bot_supr tendsto_atBot_supᵢ
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
+Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_supr tendsto_atBot_iSupₓ'. -/
+theorem tendsto_atBot_iSup (h_anti : Antitone f) : Tendsto f atBot (𝓝 (⨆ i, f i)) :=
+  tendsto_atBot_ciSup h_anti (OrderTop.bddAbove _)
+#align tendsto_at_bot_supr tendsto_atBot_iSup
 
-end supᵢ
+end iSup
 
-section infᵢ
+section iInf
 
 variable [CompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_bot_infi -> tendsto_atBot_infᵢ is a dubious translation:
+/- warning: tendsto_at_bot_infi -> tendsto_atBot_iInf is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_infi tendsto_atBot_infᵢₓ'. -/
-theorem tendsto_atBot_infᵢ (h_mono : Monotone f) : Tendsto f atBot (𝓝 (⨅ i, f i)) :=
-  tendsto_atBot_cinfᵢ h_mono (OrderBot.bddBelow _)
-#align tendsto_at_bot_infi tendsto_atBot_infᵢ
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
+Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_infi tendsto_atBot_iInfₓ'. -/
+theorem tendsto_atBot_iInf (h_mono : Monotone f) : Tendsto f atBot (𝓝 (⨅ i, f i)) :=
+  tendsto_atBot_ciInf h_mono (OrderBot.bddBelow _)
+#align tendsto_at_bot_infi tendsto_atBot_iInf
 
-/- warning: tendsto_at_top_infi -> tendsto_atTop_infᵢ is a dubious translation:
+/- warning: tendsto_at_top_infi -> tendsto_atTop_iInf is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_infi tendsto_atTop_infᵢₓ'. -/
-theorem tendsto_atTop_infᵢ (h_anti : Antitone f) : Tendsto f atTop (𝓝 (⨅ i, f i)) :=
-  tendsto_atTop_cinfᵢ h_anti (OrderBot.bddBelow _)
-#align tendsto_at_top_infi tendsto_atTop_infᵢ
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
+Case conversion may be inaccurate. Consider using '#align tendsto_at_top_infi tendsto_atTop_iInfₓ'. -/
+theorem tendsto_atTop_iInf (h_anti : Antitone f) : Tendsto f atTop (𝓝 (⨅ i, f i)) :=
+  tendsto_atTop_ciInf h_anti (OrderBot.bddBelow _)
+#align tendsto_at_top_infi tendsto_atTop_iInf
 
-end infᵢ
+end iInf
 
 end
 
@@ -304,7 +304,7 @@ Case conversion may be inaccurate. Consider using '#align tendsto_of_monotone te
 theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
     [ConditionallyCompleteLinearOrder α] [OrderTopology α] {f : ι → α} (h_mono : Monotone f) :
     Tendsto f atTop atTop ∨ ∃ l, Tendsto f atTop (𝓝 l) :=
-  if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_csupᵢ h_mono H⟩
+  if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_ciSup h_mono H⟩
   else Or.inl <| tendsto_atTop_atTop_of_monotone' h_mono H
 #align tendsto_of_monotone tendsto_of_monotone
 
@@ -436,54 +436,54 @@ theorem isGLB_of_tendsto_atTop [TopologicalSpace α] [Preorder α] [OrderClosedT
   @isGLB_of_tendsto_atBot α βᵒᵈ _ _ _ _ _ _ _ hf.dual_left ha
 #align is_glb_of_tendsto_at_top isGLB_of_tendsto_atTop
 
-/- warning: supr_eq_of_tendsto -> supᵢ_eq_of_tendsto is a dubious translation:
+/- warning: supr_eq_of_tendsto -> iSup_eq_of_tendsto is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : CompleteLinearOrder.{u1} α] [_inst_3 : OrderTopology.{u1} α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α (CompleteLinearOrder.toCompleteLattice.{u1} α _inst_2))))] [_inst_4 : Nonempty.{succ u2} β] [_inst_5 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5)) (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α (CompleteLinearOrder.toCompleteLattice.{u1} α _inst_2)))) f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5))) (nhds.{u1} α _inst_1 a)) -> (Eq.{succ u1} α (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α (CompleteLinearOrder.toCompleteLattice.{u1} α _inst_2))) β f) a)
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : CompleteLinearOrder.{u1} α] [_inst_3 : OrderTopology.{u1} α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α (CompleteLinearOrder.toCompleteLattice.{u1} α _inst_2))))] [_inst_4 : Nonempty.{succ u2} β] [_inst_5 : SemilatticeSup.{u2} β] {f : β -> α} {a : α}, (Monotone.{u2, u1} β α (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5)) (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α (CompleteLinearOrder.toCompleteLattice.{u1} α _inst_2)))) f) -> (Filter.Tendsto.{u2, u1} β α f (Filter.atTop.{u2} β (PartialOrder.toPreorder.{u2} β (SemilatticeSup.toPartialOrder.{u2} β _inst_5))) (nhds.{u1} α _inst_1 a)) -> (Eq.{succ u1} α (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α (CompleteLinearOrder.toCompleteLattice.{u1} α _inst_2))) β f) a)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : CompleteLinearOrder.{u2} α] [_inst_3 : OrderTopology.{u2} α _inst_1 (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))))] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Monotone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2)))) f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (Eq.{succ u2} α (supᵢ.{u2, succ u1} α (ConditionallyCompleteLattice.toSupSet.{u2} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u2} α (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{u2} α (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{u2} α _inst_2)))) β f) a)
-Case conversion may be inaccurate. Consider using '#align supr_eq_of_tendsto supᵢ_eq_of_tendstoₓ'. -/
-theorem supᵢ_eq_of_tendsto {α β} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : CompleteLinearOrder.{u2} α] [_inst_3 : OrderTopology.{u2} α _inst_1 (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))))] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Monotone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2)))) f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (Eq.{succ u2} α (iSup.{u2, succ u1} α (ConditionallyCompleteLattice.toSupSet.{u2} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u2} α (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{u2} α (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{u2} α _inst_2)))) β f) a)
+Case conversion may be inaccurate. Consider using '#align supr_eq_of_tendsto iSup_eq_of_tendstoₓ'. -/
+theorem iSup_eq_of_tendsto {α β} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Monotone f) :
-    Tendsto f atTop (𝓝 a) → supᵢ f = a :=
-  tendsto_nhds_unique (tendsto_atTop_supᵢ hf)
-#align supr_eq_of_tendsto supᵢ_eq_of_tendsto
+    Tendsto f atTop (𝓝 a) → iSup f = a :=
+  tendsto_nhds_unique (tendsto_atTop_iSup hf)
+#align supr_eq_of_tendsto iSup_eq_of_tendsto
 
-/- warning: infi_eq_of_tendsto -> infᵢ_eq_of_tendsto is a dubious translation:
+/- warning: infi_eq_of_tendsto -> iInf_eq_of_tendsto is a dubious translation:
 lean 3 declaration is
-  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : CompleteLinearOrder.{u2} α] [_inst_3 : OrderTopology.{u2} α _inst_1 (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))))] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2)))) f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (Eq.{succ u2} α (infᵢ.{u2, succ u1} α (ConditionallyCompleteLattice.toHasInf.{u2} α (CompleteLattice.toConditionallyCompleteLattice.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))) β f) a)
+  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : CompleteLinearOrder.{u2} α] [_inst_3 : OrderTopology.{u2} α _inst_1 (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))))] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2)))) f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (Eq.{succ u2} α (iInf.{u2, succ u1} α (ConditionallyCompleteLattice.toHasInf.{u2} α (CompleteLattice.toConditionallyCompleteLattice.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))) β f) a)
 but is expected to have type
-  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : CompleteLinearOrder.{u2} α] [_inst_3 : OrderTopology.{u2} α _inst_1 (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))))] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2)))) f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (Eq.{succ u2} α (infᵢ.{u2, succ u1} α (ConditionallyCompleteLattice.toInfSet.{u2} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u2} α (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{u2} α (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{u2} α _inst_2)))) β f) a)
-Case conversion may be inaccurate. Consider using '#align infi_eq_of_tendsto infᵢ_eq_of_tendstoₓ'. -/
-theorem infᵢ_eq_of_tendsto {α} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
+  forall {β : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : CompleteLinearOrder.{u2} α] [_inst_3 : OrderTopology.{u2} α _inst_1 (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2))))] [_inst_4 : Nonempty.{succ u1} β] [_inst_5 : SemilatticeSup.{u1} β] {f : β -> α} {a : α}, (Antitone.{u1, u2} β α (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5)) (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α (CompleteLinearOrder.toCompleteLattice.{u2} α _inst_2)))) f) -> (Filter.Tendsto.{u1, u2} β α f (Filter.atTop.{u1} β (PartialOrder.toPreorder.{u1} β (SemilatticeSup.toPartialOrder.{u1} β _inst_5))) (nhds.{u2} α _inst_1 a)) -> (Eq.{succ u2} α (iInf.{u2, succ u1} α (ConditionallyCompleteLattice.toInfSet.{u2} α (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u2} α (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{u2} α (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{u2} α _inst_2)))) β f) a)
+Case conversion may be inaccurate. Consider using '#align infi_eq_of_tendsto iInf_eq_of_tendstoₓ'. -/
+theorem iInf_eq_of_tendsto {α} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Antitone f) :
-    Tendsto f atTop (𝓝 a) → infᵢ f = a :=
-  tendsto_nhds_unique (tendsto_atTop_infᵢ hf)
-#align infi_eq_of_tendsto infᵢ_eq_of_tendsto
+    Tendsto f atTop (𝓝 a) → iInf f = a :=
+  tendsto_nhds_unique (tendsto_atTop_iInf hf)
+#align infi_eq_of_tendsto iInf_eq_of_tendsto
 
-/- warning: supr_eq_supr_subseq_of_monotone -> supᵢ_eq_supᵢ_subseq_of_monotone is a dubious translation:
+/- warning: supr_eq_supr_subseq_of_monotone -> iSup_eq_iSup_subseq_of_monotone is a dubious translation:
 lean 3 declaration is
-  forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {α : Type.{u3}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u3} α] {l : Filter.{u1} ι₁} [_inst_3 : Filter.NeBot.{u1} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u3} ι₂ α _inst_1 (PartialOrder.toPreorder.{u3} α (CompleteSemilatticeInf.toPartialOrder.{u3} α (CompleteLattice.toCompleteSemilatticeInf.{u3} α _inst_2))) f) -> (Filter.Tendsto.{u1, u2} ι₁ ι₂ φ l (Filter.atTop.{u2} ι₂ _inst_1)) -> (Eq.{succ u3} α (supᵢ.{u3, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (supᵢ.{u3, succ u1} α (ConditionallyCompleteLattice.toHasSup.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
+  forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {α : Type.{u3}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u3} α] {l : Filter.{u1} ι₁} [_inst_3 : Filter.NeBot.{u1} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u3} ι₂ α _inst_1 (PartialOrder.toPreorder.{u3} α (CompleteSemilatticeInf.toPartialOrder.{u3} α (CompleteLattice.toCompleteSemilatticeInf.{u3} α _inst_2))) f) -> (Filter.Tendsto.{u1, u2} ι₁ ι₂ φ l (Filter.atTop.{u2} ι₂ _inst_1)) -> (Eq.{succ u3} α (iSup.{u3, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (iSup.{u3, succ u1} α (ConditionallyCompleteLattice.toHasSup.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
 but is expected to have type
-  forall {ι₁ : Type.{u3}} {ι₂ : Type.{u2}} {α : Type.{u1}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u1} α] {l : Filter.{u3} ι₁} [_inst_3 : Filter.NeBot.{u3} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u1} ι₂ α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_2))) f) -> (Filter.Tendsto.{u3, u2} ι₁ ι₂ φ l (Filter.atTop.{u2} ι₂ _inst_1)) -> (Eq.{succ u1} α (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (supᵢ.{u1, succ u3} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
-Case conversion may be inaccurate. Consider using '#align supr_eq_supr_subseq_of_monotone supᵢ_eq_supᵢ_subseq_of_monotoneₓ'. -/
-theorem supᵢ_eq_supᵢ_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
+  forall {ι₁ : Type.{u3}} {ι₂ : Type.{u2}} {α : Type.{u1}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u1} α] {l : Filter.{u3} ι₁} [_inst_3 : Filter.NeBot.{u3} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u1} ι₂ α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_2))) f) -> (Filter.Tendsto.{u3, u2} ι₁ ι₂ φ l (Filter.atTop.{u2} ι₂ _inst_1)) -> (Eq.{succ u1} α (iSup.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (iSup.{u1, succ u3} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
+Case conversion may be inaccurate. Consider using '#align supr_eq_supr_subseq_of_monotone iSup_eq_iSup_subseq_of_monotoneₓ'. -/
+theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.ne_bot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atTop) : (⨆ i, f i) = ⨆ i, f (φ i) :=
   le_antisymm
-    (supᵢ_mono' fun i =>
+    (iSup_mono' fun i =>
       Exists.imp (fun j (hj : i ≤ φ j) => hf hj) (hφ.Eventually <| eventually_ge_atTop i).exists)
-    (supᵢ_mono' fun i => ⟨φ i, le_rfl⟩)
-#align supr_eq_supr_subseq_of_monotone supᵢ_eq_supᵢ_subseq_of_monotone
+    (iSup_mono' fun i => ⟨φ i, le_rfl⟩)
+#align supr_eq_supr_subseq_of_monotone iSup_eq_iSup_subseq_of_monotone
 
-/- warning: infi_eq_infi_subseq_of_monotone -> infᵢ_eq_infᵢ_subseq_of_monotone is a dubious translation:
+/- warning: infi_eq_infi_subseq_of_monotone -> iInf_eq_iInf_subseq_of_monotone is a dubious translation:
 lean 3 declaration is
-  forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {α : Type.{u3}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u3} α] {l : Filter.{u1} ι₁} [_inst_3 : Filter.NeBot.{u1} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u3} ι₂ α _inst_1 (PartialOrder.toPreorder.{u3} α (CompleteSemilatticeInf.toPartialOrder.{u3} α (CompleteLattice.toCompleteSemilatticeInf.{u3} α _inst_2))) f) -> (Filter.Tendsto.{u1, u2} ι₁ ι₂ φ l (Filter.atBot.{u2} ι₂ _inst_1)) -> (Eq.{succ u3} α (infᵢ.{u3, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (infᵢ.{u3, succ u1} α (ConditionallyCompleteLattice.toHasInf.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
+  forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {α : Type.{u3}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u3} α] {l : Filter.{u1} ι₁} [_inst_3 : Filter.NeBot.{u1} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u3} ι₂ α _inst_1 (PartialOrder.toPreorder.{u3} α (CompleteSemilatticeInf.toPartialOrder.{u3} α (CompleteLattice.toCompleteSemilatticeInf.{u3} α _inst_2))) f) -> (Filter.Tendsto.{u1, u2} ι₁ ι₂ φ l (Filter.atBot.{u2} ι₂ _inst_1)) -> (Eq.{succ u3} α (iInf.{u3, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (iInf.{u3, succ u1} α (ConditionallyCompleteLattice.toHasInf.{u3} α (CompleteLattice.toConditionallyCompleteLattice.{u3} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
 but is expected to have type
-  forall {ι₁ : Type.{u3}} {ι₂ : Type.{u2}} {α : Type.{u1}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u1} α] {l : Filter.{u3} ι₁} [_inst_3 : Filter.NeBot.{u3} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u1} ι₂ α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_2))) f) -> (Filter.Tendsto.{u3, u2} ι₁ ι₂ φ l (Filter.atBot.{u2} ι₂ _inst_1)) -> (Eq.{succ u1} α (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (infᵢ.{u1, succ u3} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
-Case conversion may be inaccurate. Consider using '#align infi_eq_infi_subseq_of_monotone infᵢ_eq_infᵢ_subseq_of_monotoneₓ'. -/
-theorem infᵢ_eq_infᵢ_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
+  forall {ι₁ : Type.{u3}} {ι₂ : Type.{u2}} {α : Type.{u1}} [_inst_1 : Preorder.{u2} ι₂] [_inst_2 : CompleteLattice.{u1} α] {l : Filter.{u3} ι₁} [_inst_3 : Filter.NeBot.{u3} ι₁ l] {f : ι₂ -> α} {φ : ι₁ -> ι₂}, (Monotone.{u2, u1} ι₂ α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_2))) f) -> (Filter.Tendsto.{u3, u2} ι₁ ι₂ φ l (Filter.atBot.{u2} ι₂ _inst_1)) -> (Eq.{succ u1} α (iInf.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₂ (fun (i : ι₂) => f i)) (iInf.{u1, succ u3} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_2)) ι₁ (fun (i : ι₁) => f (φ i))))
+Case conversion may be inaccurate. Consider using '#align infi_eq_infi_subseq_of_monotone iInf_eq_iInf_subseq_of_monotoneₓ'. -/
+theorem iInf_eq_iInf_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.ne_bot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atBot) : (⨅ i, f i) = ⨅ i, f (φ i) :=
-  supᵢ_eq_supᵢ_subseq_of_monotone hf.dual hφ
-#align infi_eq_infi_subseq_of_monotone infᵢ_eq_infᵢ_subseq_of_monotone
+  iSup_eq_iSup_subseq_of_monotone hf.dual hφ
+#align infi_eq_infi_subseq_of_monotone iInf_eq_iInf_subseq_of_monotone
 
Diff
@@ -147,28 +147,28 @@ section Csupr
 
 variable [ConditionallyCompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_top_csupr -> tendsto_atTop_csupr is a dubious translation:
+/- warning: tendsto_at_top_csupr -> tendsto_atTop_csupᵢ is a dubious translation:
 lean 3 declaration is
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α _inst_3) ι (fun (i : ι) => f i))))
 but is expected to have type
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_csupr tendsto_atTop_csuprₓ'. -/
-theorem tendsto_atTop_csupr (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
+Case conversion may be inaccurate. Consider using '#align tendsto_at_top_csupr tendsto_atTop_csupᵢₓ'. -/
+theorem tendsto_atTop_csupᵢ (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
     Tendsto f atTop (𝓝 (⨆ i, f i)) :=
   by
   cases isEmpty_or_nonempty ι
   exacts[tendsto_of_is_empty, tendsto_atTop_isLUB h_mono (isLUB_csupᵢ hbdd)]
-#align tendsto_at_top_csupr tendsto_atTop_csupr
+#align tendsto_at_top_csupr tendsto_atTop_csupᵢ
 
-/- warning: tendsto_at_bot_csupr -> tendsto_atBot_csupr is a dubious translation:
+/- warning: tendsto_at_bot_csupr -> tendsto_atBot_csupᵢ is a dubious translation:
 lean 3 declaration is
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasSup.{u1} α _inst_3) ι (fun (i : ι) => f i))))
 but is expected to have type
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddAbove.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_csupr tendsto_atBot_csuprₓ'. -/
-theorem tendsto_atBot_csupr (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
-    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_csupr h_anti.dual hbdd.dual
-#align tendsto_at_bot_csupr tendsto_atBot_csupr
+Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_csupr tendsto_atBot_csupᵢₓ'. -/
+theorem tendsto_atBot_csupᵢ (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
+    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_csupᵢ h_anti.dual hbdd.dual
+#align tendsto_at_bot_csupr tendsto_atBot_csupᵢ
 
 end Csupr
 
@@ -176,25 +176,25 @@ section Cinfi
 
 variable [ConditionallyCompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
-/- warning: tendsto_at_bot_cinfi -> tendsto_atBot_cinfi is a dubious translation:
+/- warning: tendsto_at_bot_cinfi -> tendsto_atBot_cinfᵢ is a dubious translation:
 lean 3 declaration is
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α _inst_3) ι (fun (i : ι) => f i))))
 but is expected to have type
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_cinfi tendsto_atBot_cinfiₓ'. -/
-theorem tendsto_atBot_cinfi (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_csupr h_mono.dual hbdd.dual
-#align tendsto_at_bot_cinfi tendsto_atBot_cinfi
+Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_cinfi tendsto_atBot_cinfᵢₓ'. -/
+theorem tendsto_atBot_cinfᵢ (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
+    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_csupᵢ h_mono.dual hbdd.dual
+#align tendsto_at_bot_cinfi tendsto_atBot_cinfᵢ
 
-/- warning: tendsto_at_top_cinfi -> tendsto_atTop_cinfi is a dubious translation:
+/- warning: tendsto_at_top_cinfi -> tendsto_atTop_cinfᵢ is a dubious translation:
 lean 3 declaration is
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toHasInf.{u1} α _inst_3) ι (fun (i : ι) => f i))))
 but is expected to have type
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : ConditionallyCompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) f) -> (BddBelow.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (ConditionallyCompleteLattice.toLattice.{u1} α _inst_3)))) (Set.range.{u1, succ u2} α ι f)) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α _inst_3) ι (fun (i : ι) => f i))))
-Case conversion may be inaccurate. Consider using '#align tendsto_at_top_cinfi tendsto_atTop_cinfiₓ'. -/
-theorem tendsto_atTop_cinfi (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_csupr h_anti.dual hbdd.dual
-#align tendsto_at_top_cinfi tendsto_atTop_cinfi
+Case conversion may be inaccurate. Consider using '#align tendsto_at_top_cinfi tendsto_atTop_cinfᵢₓ'. -/
+theorem tendsto_atTop_cinfᵢ (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
+    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_csupᵢ h_anti.dual hbdd.dual
+#align tendsto_at_top_cinfi tendsto_atTop_cinfᵢ
 
 end Cinfi
 
@@ -209,7 +209,7 @@ but is expected to have type
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
 Case conversion may be inaccurate. Consider using '#align tendsto_at_top_supr tendsto_atTop_supᵢₓ'. -/
 theorem tendsto_atTop_supᵢ (h_mono : Monotone f) : Tendsto f atTop (𝓝 (⨆ i, f i)) :=
-  tendsto_atTop_csupr h_mono (OrderTop.bddAbove _)
+  tendsto_atTop_csupᵢ h_mono (OrderTop.bddAbove _)
 #align tendsto_at_top_supr tendsto_atTop_supᵢ
 
 /- warning: tendsto_at_bot_supr -> tendsto_atBot_supᵢ is a dubious translation:
@@ -219,7 +219,7 @@ but is expected to have type
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : SupConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (supᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toSupSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
 Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_supr tendsto_atBot_supᵢₓ'. -/
 theorem tendsto_atBot_supᵢ (h_anti : Antitone f) : Tendsto f atBot (𝓝 (⨆ i, f i)) :=
-  tendsto_atBot_csupr h_anti (OrderTop.bddAbove _)
+  tendsto_atBot_csupᵢ h_anti (OrderTop.bddAbove _)
 #align tendsto_at_bot_supr tendsto_atBot_supᵢ
 
 end supᵢ
@@ -235,7 +235,7 @@ but is expected to have type
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Monotone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atBot.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
 Case conversion may be inaccurate. Consider using '#align tendsto_at_bot_infi tendsto_atBot_infᵢₓ'. -/
 theorem tendsto_atBot_infᵢ (h_mono : Monotone f) : Tendsto f atBot (𝓝 (⨅ i, f i)) :=
-  tendsto_atBot_cinfi h_mono (OrderBot.bddBelow _)
+  tendsto_atBot_cinfᵢ h_mono (OrderBot.bddBelow _)
 #align tendsto_at_bot_infi tendsto_atBot_infᵢ
 
 /- warning: tendsto_at_top_infi -> tendsto_atTop_infᵢ is a dubious translation:
@@ -245,7 +245,7 @@ but is expected to have type
   forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Preorder.{u2} ι] [_inst_2 : TopologicalSpace.{u1} α] [_inst_3 : CompleteLattice.{u1} α] [_inst_4 : InfConvergenceClass.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) _inst_2] {f : ι -> α}, (Antitone.{u2, u1} ι α _inst_1 (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_3))) f) -> (Filter.Tendsto.{u2, u1} ι α f (Filter.atTop.{u2} ι _inst_1) (nhds.{u1} α _inst_2 (infᵢ.{u1, succ u2} α (ConditionallyCompleteLattice.toInfSet.{u1} α (CompleteLattice.toConditionallyCompleteLattice.{u1} α _inst_3)) ι (fun (i : ι) => f i))))
 Case conversion may be inaccurate. Consider using '#align tendsto_at_top_infi tendsto_atTop_infᵢₓ'. -/
 theorem tendsto_atTop_infᵢ (h_anti : Antitone f) : Tendsto f atTop (𝓝 (⨅ i, f i)) :=
-  tendsto_atTop_cinfi h_anti (OrderBot.bddBelow _)
+  tendsto_atTop_cinfᵢ h_anti (OrderBot.bddBelow _)
 #align tendsto_at_top_infi tendsto_atTop_infᵢ
 
 end infᵢ
@@ -304,7 +304,7 @@ Case conversion may be inaccurate. Consider using '#align tendsto_of_monotone te
 theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
     [ConditionallyCompleteLinearOrder α] [OrderTopology α] {f : ι → α} (h_mono : Monotone f) :
     Tendsto f atTop atTop ∨ ∃ l, Tendsto f atTop (𝓝 l) :=
-  if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_csupr h_mono H⟩
+  if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_csupᵢ h_mono H⟩
   else Or.inl <| tendsto_atTop_atTop_of_monotone' h_mono H
 #align tendsto_of_monotone tendsto_of_monotone
 

Changes in mathlib4

mathlib3
mathlib4
chore: scope open Classical (#11199)

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

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

Diff
@@ -30,7 +30,8 @@ monotone convergence
 
 open Filter Set Function
 
-open Filter Topology Classical
+open scoped Classical
+open Filter Topology
 
 variable {α β : Type*}
 
feat: add tendsto_iff_tendsto_subseq_of_antitone (#11200)

Add tendsto_iff_tendsto_subseq_of_antitone, next to tendsto_iff_tendsto_subseq_of_monotone.

Co-authored-by: Rémy Degenne <remydegenne@gmail.com>

Diff
@@ -244,6 +244,12 @@ theorem tendsto_iff_tendsto_subseq_of_monotone {ι₁ ι₂ α : Type*} [Semilat
     · rwa [tendsto_nhds_unique h (hl'.comp hg)]
 #align tendsto_iff_tendsto_subseq_of_monotone tendsto_iff_tendsto_subseq_of_monotone
 
+theorem tendsto_iff_tendsto_subseq_of_antitone {ι₁ ι₂ α : Type*} [SemilatticeSup ι₁] [Preorder ι₂]
+    [Nonempty ι₁] [TopologicalSpace α] [ConditionallyCompleteLinearOrder α] [OrderTopology α]
+    [NoMinOrder α] {f : ι₂ → α} {φ : ι₁ → ι₂} {l : α} (hf : Antitone f)
+    (hg : Tendsto φ atTop atTop) : Tendsto f atTop (𝓝 l) ↔ Tendsto (f ∘ φ) atTop (𝓝 l) :=
+  tendsto_iff_tendsto_subseq_of_monotone (α := αᵒᵈ) hf hg
+
 /-! The next family of results, such as `isLUB_of_tendsto_atTop` and `iSup_eq_of_tendsto`, are
 converses to the standard fact that bounded monotone functions converge. They state, that if a
 monotone function `f` tends to `a` along `Filter.atTop`, then that value `a` is a least upper bound
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
@@ -190,7 +190,7 @@ instance Prod.supConvergenceClass
   have B : Tendsto (fun x : s => (x : α × β).2) atTop (𝓝 b) :=
     tendsto_atTop_isLUB (monotone_snd.restrict s) h.2
   convert A.prod_mk_nhds B
-  -- porting note: previously required below to close
+  -- Porting note: previously required below to close
   -- ext1 ⟨⟨x, y⟩, h⟩
   -- rfl
 
chore: remove terminal, terminal refines (#10762)

I replaced a few "terminal" refine/refine's with exact.

The strategy was very simple-minded: essentially any refine whose following line had smaller indentation got replaced by exact and then I cleaned up the mess.

This PR certainly leaves some further terminal refines, but maybe the current change is beneficial.

Diff
@@ -74,7 +74,7 @@ instance (priority := 100) LinearOrder.supConvergenceClass [TopologicalSpace α]
   refine' ⟨fun a s ha => tendsto_order.2 ⟨fun b hb => _, fun b hb => _⟩⟩
   · rcases ha.exists_between hb with ⟨c, hcs, bc, bca⟩
     lift c to s using hcs
-    refine' (eventually_ge_atTop c).mono fun x hx => bc.trans_le hx
+    exact (eventually_ge_atTop c).mono fun x hx => bc.trans_le hx
   · exact eventually_of_forall fun x => (ha.1 x.2).trans_lt hb
 #align linear_order.Sup_convergence_class LinearOrder.supConvergenceClass
 
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
@@ -94,8 +94,8 @@ variable [Preorder α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
 theorem tendsto_atTop_isLUB (h_mono : Monotone f) (ha : IsLUB (Set.range f) a) :
     Tendsto f atTop (𝓝 a) := by
-  suffices : Tendsto (rangeFactorization f) atTop atTop
-  exact (SupConvergenceClass.tendsto_coe_atTop_isLUB _ _ ha).comp this
+  suffices Tendsto (rangeFactorization f) atTop atTop from
+    (SupConvergenceClass.tendsto_coe_atTop_isLUB _ _ ha).comp this
   exact h_mono.rangeFactorization.tendsto_atTop_atTop fun b => b.2.imp fun a ha => ha.ge
 #align tendsto_at_top_is_lub tendsto_atTop_isLUB
 
refactor(Probability/Kernel/CondCdf): mv tendsto_of_antitone (#10046)

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

Diff
@@ -227,6 +227,12 @@ theorem tendsto_of_monotone {ι α : Type*} [Preorder ι] [TopologicalSpace α]
   else Or.inl <| tendsto_atTop_atTop_of_monotone' h_mono H
 #align tendsto_of_monotone tendsto_of_monotone
 
+theorem tendsto_of_antitone {ι α : Type*} [Preorder ι] [TopologicalSpace α]
+    [ConditionallyCompleteLinearOrder α] [OrderTopology α] {f : ι → α} (h_mono : Antitone f) :
+    Tendsto f atTop atBot ∨ ∃ l, Tendsto f atTop (𝓝 l) :=
+  @tendsto_of_monotone ι αᵒᵈ _ _ _ _ _ h_mono
+#align tendsto_of_antitone tendsto_of_antitone
+
 theorem tendsto_iff_tendsto_subseq_of_monotone {ι₁ ι₂ α : Type*} [SemilatticeSup ι₁] [Preorder ι₂]
     [Nonempty ι₁] [TopologicalSpace α] [ConditionallyCompleteLinearOrder α] [OrderTopology α]
     [NoMaxOrder α] {f : ι₂ → α} {φ : ι₁ → ι₂} {l : α} (hf : Monotone f)
chore: move lemmas from Stietljes.lean to their proper afterport places (#6554)
Diff
@@ -319,8 +319,22 @@ theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type*} [Preorder ι₂
     (iSup_mono' fun i => ⟨φ i, le_rfl⟩)
 #align supr_eq_supr_subseq_of_monotone iSup_eq_iSup_subseq_of_monotone
 
+theorem iSup_eq_iSup_subseq_of_antitone {ι₁ ι₂ α : Type*} [Preorder ι₂] [CompleteLattice α]
+    {l : Filter ι₁} [l.NeBot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Antitone f)
+    (hφ : Tendsto φ l atBot) : ⨆ i, f i = ⨆ i, f (φ i) :=
+  le_antisymm
+    (iSup_mono' fun i =>
+      Exists.imp (fun j (hj : φ j ≤ i) => hf hj) (hφ.eventually <| eventually_le_atBot i).exists)
+    (iSup_mono' fun i => ⟨φ i, le_rfl⟩)
+#align supr_eq_supr_subseq_of_antitone iSup_eq_iSup_subseq_of_antitone
+
 theorem iInf_eq_iInf_subseq_of_monotone {ι₁ ι₂ α : Type*} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.NeBot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atBot) : ⨅ i, f i = ⨅ i, f (φ i) :=
   iSup_eq_iSup_subseq_of_monotone hf.dual hφ
 #align infi_eq_infi_subseq_of_monotone iInf_eq_iInf_subseq_of_monotone
+
+theorem iInf_eq_iInf_subseq_of_antitone {ι₁ ι₂ α : Type*} [Preorder ι₂] [CompleteLattice α]
+    {l : Filter ι₁} [l.NeBot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Antitone f)
+    (hφ : Tendsto φ l atTop) : ⨅ i, f i = ⨅ i, f (φ i) :=
+  iSup_eq_iSup_subseq_of_antitone hf.dual hφ
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
@@ -32,7 +32,7 @@ open Filter Set Function
 
 open Filter Topology Classical
 
-variable {α β : Type _}
+variable {α β : Type*}
 
 /-- We say that `α` is a `SupConvergenceClass` if the following holds. Let `f : ι → α` be a
 monotone function, let `a : α` be a least upper bound of `Set.range f`. Then `f x` tends to `𝓝 a`
@@ -40,7 +40,7 @@ monotone function, let `a : α` be a least upper bound of `Set.range f`. Then `f
 `f = CoeTC.coe` in the definition, then prove it for any `f` in `tendsto_atTop_isLUB`.
 
 This property holds for linear orders with order topology as well as their products. -/
-class SupConvergenceClass (α : Type _) [Preorder α] [TopologicalSpace α] : Prop where
+class SupConvergenceClass (α : Type*) [Preorder α] [TopologicalSpace α] : Prop where
   /-- proof that a monotone function tends to `𝓝 a` as `x → ∞` -/
   tendsto_coe_atTop_isLUB :
     ∀ (a : α) (s : Set α), IsLUB s a → Tendsto (CoeTC.coe : s → α) atTop (𝓝 a)
@@ -52,7 +52,7 @@ as `x → -∞` (formally, at the filter `Filter.atBot`). We require this for `
 `f = CoeTC.coe` in the definition, then prove it for any `f` in `tendsto_atBot_isGLB`.
 
 This property holds for linear orders with order topology as well as their products. -/
-class InfConvergenceClass (α : Type _) [Preorder α] [TopologicalSpace α] : Prop where
+class InfConvergenceClass (α : Type*) [Preorder α] [TopologicalSpace α] : Prop where
   /-- proof that a monotone function tends to `𝓝 a` as `x → -∞`-/
   tendsto_coe_atBot_isGLB :
     ∀ (a : α) (s : Set α), IsGLB s a → Tendsto (CoeTC.coe : s → α) atBot (𝓝 a)
@@ -86,7 +86,7 @@ instance (priority := 100) LinearOrder.infConvergenceClass [TopologicalSpace α]
 
 section
 
-variable {ι : Type _} [Preorder ι] [TopologicalSpace α]
+variable {ι : Type*} [Preorder ι] [TopologicalSpace α]
 
 section IsLUB
 
@@ -199,35 +199,35 @@ instance [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β]
   show InfConvergenceClass (αᵒᵈ × βᵒᵈ)ᵒᵈ from OrderDual.infConvergenceClass
 
 instance Pi.supConvergenceClass
-    {ι : Type _} {α : ι → Type _} [∀ i, Preorder (α i)] [∀ i, TopologicalSpace (α i)]
+    {ι : Type*} {α : ι → Type*} [∀ i, Preorder (α i)] [∀ i, TopologicalSpace (α i)]
     [∀ i, SupConvergenceClass (α i)] : SupConvergenceClass (∀ i, α i) := by
   refine' ⟨fun f s h => _⟩
   simp only [isLUB_pi, ← range_restrict] at h
   exact tendsto_pi_nhds.2 fun i => tendsto_atTop_isLUB ((monotone_eval _).restrict _) (h i)
 
 instance Pi.infConvergenceClass
-    {ι : Type _} {α : ι → Type _} [∀ i, Preorder (α i)] [∀ i, TopologicalSpace (α i)]
+    {ι : Type*} {α : ι → Type*} [∀ i, Preorder (α i)] [∀ i, TopologicalSpace (α i)]
     [∀ i, InfConvergenceClass (α i)] : InfConvergenceClass (∀ i, α i) :=
   show InfConvergenceClass (∀ i, (α i)ᵒᵈ)ᵒᵈ from OrderDual.infConvergenceClass
 
-instance Pi.supConvergenceClass' {ι : Type _} [Preorder α] [TopologicalSpace α]
+instance Pi.supConvergenceClass' {ι : Type*} [Preorder α] [TopologicalSpace α]
     [SupConvergenceClass α] : SupConvergenceClass (ι → α) :=
   supConvergenceClass
 #align pi.Sup_convergence_class' Pi.supConvergenceClass'
 
-instance Pi.infConvergenceClass' {ι : Type _} [Preorder α] [TopologicalSpace α]
+instance Pi.infConvergenceClass' {ι : Type*} [Preorder α] [TopologicalSpace α]
     [InfConvergenceClass α] : InfConvergenceClass (ι → α) :=
   Pi.infConvergenceClass
 #align pi.Inf_convergence_class' Pi.infConvergenceClass'
 
-theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
+theorem tendsto_of_monotone {ι α : Type*} [Preorder ι] [TopologicalSpace α]
     [ConditionallyCompleteLinearOrder α] [OrderTopology α] {f : ι → α} (h_mono : Monotone f) :
     Tendsto f atTop atTop ∨ ∃ l, Tendsto f atTop (𝓝 l) :=
   if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_ciSup h_mono H⟩
   else Or.inl <| tendsto_atTop_atTop_of_monotone' h_mono H
 #align tendsto_of_monotone tendsto_of_monotone
 
-theorem tendsto_iff_tendsto_subseq_of_monotone {ι₁ ι₂ α : Type _} [SemilatticeSup ι₁] [Preorder ι₂]
+theorem tendsto_iff_tendsto_subseq_of_monotone {ι₁ ι₂ α : Type*} [SemilatticeSup ι₁] [Preorder ι₂]
     [Nonempty ι₁] [TopologicalSpace α] [ConditionallyCompleteLinearOrder α] [OrderTopology α]
     [NoMaxOrder α] {f : ι₂ → α} {φ : ι₁ → ι₂} {l : α} (hf : Monotone f)
     (hg : Tendsto φ atTop atTop) : Tendsto f atTop (𝓝 l) ↔ Tendsto (f ∘ φ) atTop (𝓝 l) := by
@@ -310,7 +310,7 @@ theorem iInf_eq_of_tendsto {α} [TopologicalSpace α] [CompleteLinearOrder α] [
   tendsto_nhds_unique (tendsto_atTop_iInf hf)
 #align infi_eq_of_tendsto iInf_eq_of_tendsto
 
-theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
+theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type*} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.NeBot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atTop) : ⨆ i, f i = ⨆ i, f (φ i) :=
   le_antisymm
@@ -319,7 +319,7 @@ theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι
     (iSup_mono' fun i => ⟨φ i, le_rfl⟩)
 #align supr_eq_supr_subseq_of_monotone iSup_eq_iSup_subseq_of_monotone
 
-theorem iInf_eq_iInf_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
+theorem iInf_eq_iInf_subseq_of_monotone {ι₁ ι₂ α : Type*} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.NeBot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atBot) : ⨅ i, f i = ⨅ i, f (φ i) :=
   iSup_eq_iSup_subseq_of_monotone hf.dual hφ
chore: tidy various files (#6274)
Diff
@@ -179,8 +179,9 @@ end iInf
 
 end
 
-instance supConvergenceClassProd [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β]
-  [SupConvergenceClass α] [SupConvergenceClass β] : SupConvergenceClass (α × β) := by
+instance Prod.supConvergenceClass
+    [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β]
+    [SupConvergenceClass α] [SupConvergenceClass β] : SupConvergenceClass (α × β) := by
   constructor
   rintro ⟨a, b⟩ s h
   rw [isLUB_prod, ← range_restrict, ← range_restrict] at h
@@ -209,15 +210,15 @@ instance Pi.infConvergenceClass
     [∀ i, InfConvergenceClass (α i)] : InfConvergenceClass (∀ i, α i) :=
   show InfConvergenceClass (∀ i, (α i)ᵒᵈ)ᵒᵈ from OrderDual.infConvergenceClass
 
-instance Pi.Sup_convergence_class' {ι : Type _} [Preorder α] [TopologicalSpace α]
+instance Pi.supConvergenceClass' {ι : Type _} [Preorder α] [TopologicalSpace α]
     [SupConvergenceClass α] : SupConvergenceClass (ι → α) :=
   supConvergenceClass
-#align pi.Sup_convergence_class' Pi.Sup_convergence_class'
+#align pi.Sup_convergence_class' Pi.supConvergenceClass'
 
-instance Pi.Inf_convergence_class' {ι : Type _} [Preorder α] [TopologicalSpace α]
+instance Pi.infConvergenceClass' {ι : Type _} [Preorder α] [TopologicalSpace α]
     [InfConvergenceClass α] : InfConvergenceClass (ι → α) :=
   Pi.infConvergenceClass
-#align pi.Inf_convergence_class' Pi.Inf_convergence_class'
+#align pi.Inf_convergence_class' Pi.infConvergenceClass'
 
 theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
     [ConditionallyCompleteLinearOrder α] [OrderTopology α] {f : ι → α} (h_mono : Monotone f) :
chore: cleanup some set_option commands (#6281)

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

Diff
@@ -245,7 +245,6 @@ for the range of `f`.
 Related theorems above (`IsLUB.isLUB_of_tendsto`, `IsGLB.isGLB_of_tendsto` etc) cover the case
 when `f x` tends to `a` as `x` tends to some point `b` in the domain. -/
 
-set_option autoImplicit false
 theorem Monotone.ge_of_tendsto [TopologicalSpace α] [Preorder α] [OrderClosedTopology α]
     [SemilatticeSup β] {f : β → α} {a : α} (hf : Monotone f) (ha : Tendsto f atTop (𝓝 a)) (b : β) :
     f b ≤ a :=
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,14 +2,11 @@
 Copyright (c) 2021 Heather Macbeth. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Heather Macbeth, Yury Kudryashov
-
-! This file was ported from Lean 3 source module topology.algebra.order.monotone_convergence
-! leanprover-community/mathlib commit 4c19a16e4b705bf135cf9a80ac18fcc99c438514
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.Order.Basic
 
+#align_import topology.algebra.order.monotone_convergence from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
+
 /-!
 # Bounded monotone sequences converge
 
fix: precedences of ⨆⋃⋂⨅ (#5614)
Diff
@@ -315,7 +315,7 @@ theorem iInf_eq_of_tendsto {α} [TopologicalSpace α] [CompleteLinearOrder α] [
 
 theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.NeBot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
-    (hφ : Tendsto φ l atTop) : (⨆ i, f i) = ⨆ i, f (φ i) :=
+    (hφ : Tendsto φ l atTop) : ⨆ i, f i = ⨆ i, f (φ i) :=
   le_antisymm
     (iSup_mono' fun i =>
       Exists.imp (fun j (hj : i ≤ φ j) => hf hj) (hφ.eventually <| eventually_ge_atTop i).exists)
@@ -324,6 +324,6 @@ theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι
 
 theorem iInf_eq_iInf_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.NeBot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
-    (hφ : Tendsto φ l atBot) : (⨅ i, f i) = ⨅ i, f (φ i) :=
+    (hφ : Tendsto φ l atBot) : ⨅ i, f i = ⨅ i, f (φ i) :=
   iSup_eq_iSup_subseq_of_monotone hf.dual hφ
 #align infi_eq_infi_subseq_of_monotone iInf_eq_iInf_subseq_of_monotone
chore: add space after exacts (#4945)

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

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

Diff
@@ -129,7 +129,7 @@ variable [ConditionallyCompleteLattice α] [SupConvergenceClass α] {f : ι →
 theorem tendsto_atTop_ciSup (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
     Tendsto f atTop (𝓝 (⨆ i, f i)) := by
   cases isEmpty_or_nonempty ι
-  exacts[tendsto_of_isEmpty, tendsto_atTop_isLUB h_mono (isLUB_ciSup hbdd)]
+  exacts [tendsto_of_isEmpty, tendsto_atTop_isLUB h_mono (isLUB_ciSup hbdd)]
 #align tendsto_at_top_csupr tendsto_atTop_ciSup
 
 theorem tendsto_atBot_ciSup (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
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
@@ -122,63 +122,63 @@ theorem tendsto_atTop_isGLB (h_anti : Antitone f) (ha : IsGLB (Set.range f) a) :
 
 end IsGLB
 
-section Csupᵢ
+section CiSup
 
 variable [ConditionallyCompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
-theorem tendsto_atTop_csupᵢ (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
+theorem tendsto_atTop_ciSup (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
     Tendsto f atTop (𝓝 (⨆ i, f i)) := by
   cases isEmpty_or_nonempty ι
-  exacts[tendsto_of_isEmpty, tendsto_atTop_isLUB h_mono (isLUB_csupᵢ hbdd)]
-#align tendsto_at_top_csupr tendsto_atTop_csupᵢ
+  exacts[tendsto_of_isEmpty, tendsto_atTop_isLUB h_mono (isLUB_ciSup hbdd)]
+#align tendsto_at_top_csupr tendsto_atTop_ciSup
 
-theorem tendsto_atBot_csupᵢ (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
-    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_csupᵢ h_anti.dual hbdd.dual using 1
-#align tendsto_at_bot_csupr tendsto_atBot_csupᵢ
+theorem tendsto_atBot_ciSup (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
+    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_ciSup h_anti.dual hbdd.dual using 1
+#align tendsto_at_bot_csupr tendsto_atBot_ciSup
 
-end Csupᵢ
+end CiSup
 
-section Cinfᵢ
+section CiInf
 
 variable [ConditionallyCompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
-theorem tendsto_atBot_cinfᵢ (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_csupᵢ h_mono.dual hbdd.dual using 1
-#align tendsto_at_bot_cinfi tendsto_atBot_cinfᵢ
+theorem tendsto_atBot_ciInf (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
+    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_ciSup h_mono.dual hbdd.dual using 1
+#align tendsto_at_bot_cinfi tendsto_atBot_ciInf
 
-theorem tendsto_atTop_cinfᵢ (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_csupᵢ h_anti.dual hbdd.dual using 1
-#align tendsto_at_top_cinfi tendsto_atTop_cinfᵢ
+theorem tendsto_atTop_ciInf (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
+    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_ciSup h_anti.dual hbdd.dual using 1
+#align tendsto_at_top_cinfi tendsto_atTop_ciInf
 
-end Cinfᵢ
+end CiInf
 
-section supᵢ
+section iSup
 
 variable [CompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
-theorem tendsto_atTop_supᵢ (h_mono : Monotone f) : Tendsto f atTop (𝓝 (⨆ i, f i)) :=
-  tendsto_atTop_csupᵢ h_mono (OrderTop.bddAbove _)
-#align tendsto_at_top_supr tendsto_atTop_supᵢ
+theorem tendsto_atTop_iSup (h_mono : Monotone f) : Tendsto f atTop (𝓝 (⨆ i, f i)) :=
+  tendsto_atTop_ciSup h_mono (OrderTop.bddAbove _)
+#align tendsto_at_top_supr tendsto_atTop_iSup
 
-theorem tendsto_atBot_supᵢ (h_anti : Antitone f) : Tendsto f atBot (𝓝 (⨆ i, f i)) :=
-  tendsto_atBot_csupᵢ h_anti (OrderTop.bddAbove _)
-#align tendsto_at_bot_supr tendsto_atBot_supᵢ
+theorem tendsto_atBot_iSup (h_anti : Antitone f) : Tendsto f atBot (𝓝 (⨆ i, f i)) :=
+  tendsto_atBot_ciSup h_anti (OrderTop.bddAbove _)
+#align tendsto_at_bot_supr tendsto_atBot_iSup
 
-end supᵢ
+end iSup
 
-section infᵢ
+section iInf
 
 variable [CompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
-theorem tendsto_atBot_infᵢ (h_mono : Monotone f) : Tendsto f atBot (𝓝 (⨅ i, f i)) :=
-  tendsto_atBot_cinfᵢ h_mono (OrderBot.bddBelow _)
-#align tendsto_at_bot_infi tendsto_atBot_infᵢ
+theorem tendsto_atBot_iInf (h_mono : Monotone f) : Tendsto f atBot (𝓝 (⨅ i, f i)) :=
+  tendsto_atBot_ciInf h_mono (OrderBot.bddBelow _)
+#align tendsto_at_bot_infi tendsto_atBot_iInf
 
-theorem tendsto_atTop_infᵢ (h_anti : Antitone f) : Tendsto f atTop (𝓝 (⨅ i, f i)) :=
-  tendsto_atTop_cinfᵢ h_anti (OrderBot.bddBelow _)
-#align tendsto_at_top_infi tendsto_atTop_infᵢ
+theorem tendsto_atTop_iInf (h_anti : Antitone f) : Tendsto f atTop (𝓝 (⨅ i, f i)) :=
+  tendsto_atTop_ciInf h_anti (OrderBot.bddBelow _)
+#align tendsto_at_top_infi tendsto_atTop_iInf
 
-end infᵢ
+end iInf
 
 end
 
@@ -225,7 +225,7 @@ instance Pi.Inf_convergence_class' {ι : Type _} [Preorder α] [TopologicalSpace
 theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
     [ConditionallyCompleteLinearOrder α] [OrderTopology α] {f : ι → α} (h_mono : Monotone f) :
     Tendsto f atTop atTop ∨ ∃ l, Tendsto f atTop (𝓝 l) :=
-  if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_csupᵢ h_mono H⟩
+  if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_ciSup h_mono H⟩
   else Or.inl <| tendsto_atTop_atTop_of_monotone' h_mono H
 #align tendsto_of_monotone tendsto_of_monotone
 
@@ -240,7 +240,7 @@ theorem tendsto_iff_tendsto_subseq_of_monotone {ι₁ ι₂ α : Type _} [Semila
     · rwa [tendsto_nhds_unique h (hl'.comp hg)]
 #align tendsto_iff_tendsto_subseq_of_monotone tendsto_iff_tendsto_subseq_of_monotone
 
-/-! The next family of results, such as `isLUB_of_tendsto_atTop` and `supᵢ_eq_of_tendsto`, are
+/-! The next family of results, such as `isLUB_of_tendsto_atTop` and `iSup_eq_of_tendsto`, are
 converses to the standard fact that bounded monotone functions converge. They state, that if a
 monotone function `f` tends to `a` along `Filter.atTop`, then that value `a` is a least upper bound
 for the range of `f`.
@@ -301,29 +301,29 @@ theorem isGLB_of_tendsto_atTop [TopologicalSpace α] [Preorder α] [OrderClosedT
   @isGLB_of_tendsto_atBot α βᵒᵈ _ _ _ _ _ _ _ hf.dual_left ha
 #align is_glb_of_tendsto_at_top isGLB_of_tendsto_atTop
 
-theorem supᵢ_eq_of_tendsto {α β} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
+theorem iSup_eq_of_tendsto {α β} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Monotone f) :
-    Tendsto f atTop (𝓝 a) → supᵢ f = a :=
-  tendsto_nhds_unique (tendsto_atTop_supᵢ hf)
-#align supr_eq_of_tendsto supᵢ_eq_of_tendsto
+    Tendsto f atTop (𝓝 a) → iSup f = a :=
+  tendsto_nhds_unique (tendsto_atTop_iSup hf)
+#align supr_eq_of_tendsto iSup_eq_of_tendsto
 
-theorem infᵢ_eq_of_tendsto {α} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
+theorem iInf_eq_of_tendsto {α} [TopologicalSpace α] [CompleteLinearOrder α] [OrderTopology α]
     [Nonempty β] [SemilatticeSup β] {f : β → α} {a : α} (hf : Antitone f) :
-    Tendsto f atTop (𝓝 a) → infᵢ f = a :=
-  tendsto_nhds_unique (tendsto_atTop_infᵢ hf)
-#align infi_eq_of_tendsto infᵢ_eq_of_tendsto
+    Tendsto f atTop (𝓝 a) → iInf f = a :=
+  tendsto_nhds_unique (tendsto_atTop_iInf hf)
+#align infi_eq_of_tendsto iInf_eq_of_tendsto
 
-theorem supᵢ_eq_supᵢ_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
+theorem iSup_eq_iSup_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.NeBot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atTop) : (⨆ i, f i) = ⨆ i, f (φ i) :=
   le_antisymm
-    (supᵢ_mono' fun i =>
+    (iSup_mono' fun i =>
       Exists.imp (fun j (hj : i ≤ φ j) => hf hj) (hφ.eventually <| eventually_ge_atTop i).exists)
-    (supᵢ_mono' fun i => ⟨φ i, le_rfl⟩)
-#align supr_eq_supr_subseq_of_monotone supᵢ_eq_supᵢ_subseq_of_monotone
+    (iSup_mono' fun i => ⟨φ i, le_rfl⟩)
+#align supr_eq_supr_subseq_of_monotone iSup_eq_iSup_subseq_of_monotone
 
-theorem infᵢ_eq_infᵢ_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
+theorem iInf_eq_iInf_subseq_of_monotone {ι₁ ι₂ α : Type _} [Preorder ι₂] [CompleteLattice α]
     {l : Filter ι₁} [l.NeBot] {f : ι₂ → α} {φ : ι₁ → ι₂} (hf : Monotone f)
     (hφ : Tendsto φ l atBot) : (⨅ i, f i) = ⨅ i, f (φ i) :=
-  supᵢ_eq_supᵢ_subseq_of_monotone hf.dual hφ
-#align infi_eq_infi_subseq_of_monotone infᵢ_eq_infᵢ_subseq_of_monotone
+  iSup_eq_iSup_subseq_of_monotone hf.dual hφ
+#align infi_eq_infi_subseq_of_monotone iInf_eq_iInf_subseq_of_monotone
feat: improvements to congr! and convert (#2606)
  • There is now configuration for congr!, convert, and convert_to to control parts of the congruence algorithm, in particular transparency settings when applying congruence lemmas.
  • congr! now applies congruence lemmas with reducible transparency by default. This prevents it from unfolding definitions when applying congruence lemmas. It also now tries both the LHS-biased and RHS-biased simp congruence lemmas, with a configuration option to set which it should try first.
  • There is now a new HEq congruence lemma generator that gives each hypothesis access to the proofs of previous hypotheses. This means that if you have an equality ⊢ ⟨a, x⟩ = ⟨b, y⟩ of sigma types, congr! turns this into goals ⊢ a = b and ⊢ a = b → HEq x y (note that congr! will also auto-introduce a = b for you in the second goal). This congruence lemma generator applies to more cases than the simp congruence lemma generator does.
  • congr! (and hence convert) are more careful about applying lemmas that don't force definitions to unfold. There were a number of cases in mathlib where the implementation of congr was being abused to unfold definitions.
  • With set_option trace.congr! true you can see what congr! sees when it is deciding on congruence lemmas.
  • There is also a bug fix in convert_to to do using 1 when there is no using clause, to match its documentation.

Note that congr! is more capable than congr at finding a way to equate left-hand sides and right-hand sides, so you will frequently need to limit its depth with a using clause. However, there is also a new heuristic to prevent considering unlikely-to-be-provable type equalities (controlled by the typeEqs option), which can help limit the depth automatically.

There is also a predefined configuration that you can invoke with, for example, convert (config := .unfoldSameFun) h, that causes it to behave more like congr, including using default transparency when unfolding.

Diff
@@ -103,7 +103,7 @@ theorem tendsto_atTop_isLUB (h_mono : Monotone f) (ha : IsLUB (Set.range f) a) :
 #align tendsto_at_top_is_lub tendsto_atTop_isLUB
 
 theorem tendsto_atBot_isLUB (h_anti : Antitone f) (ha : IsLUB (Set.range f) a) :
-    Tendsto f atBot (𝓝 a) := by convert tendsto_atTop_isLUB h_anti.dual_left ha
+    Tendsto f atBot (𝓝 a) := by convert tendsto_atTop_isLUB h_anti.dual_left ha using 1
 #align tendsto_at_bot_is_lub tendsto_atBot_isLUB
 
 end IsLUB
@@ -113,11 +113,11 @@ section IsGLB
 variable [Preorder α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
 theorem tendsto_atBot_isGLB (h_mono : Monotone f) (ha : IsGLB (Set.range f) a) :
-    Tendsto f atBot (𝓝 a) := by convert tendsto_atTop_isLUB h_mono.dual ha.dual
+    Tendsto f atBot (𝓝 a) := by convert tendsto_atTop_isLUB h_mono.dual ha.dual using 1
 #align tendsto_at_bot_is_glb tendsto_atBot_isGLB
 
 theorem tendsto_atTop_isGLB (h_anti : Antitone f) (ha : IsGLB (Set.range f) a) :
-    Tendsto f atTop (𝓝 a) := by convert tendsto_atBot_isLUB h_anti.dual ha.dual
+    Tendsto f atTop (𝓝 a) := by convert tendsto_atBot_isLUB h_anti.dual ha.dual using 1
 #align tendsto_at_top_is_glb tendsto_atTop_isGLB
 
 end IsGLB
@@ -133,7 +133,7 @@ theorem tendsto_atTop_csupᵢ (h_mono : Monotone f) (hbdd : BddAbove <| range f)
 #align tendsto_at_top_csupr tendsto_atTop_csupᵢ
 
 theorem tendsto_atBot_csupᵢ (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
-    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_csupᵢ h_anti.dual hbdd.dual
+    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_csupᵢ h_anti.dual hbdd.dual using 1
 #align tendsto_at_bot_csupr tendsto_atBot_csupᵢ
 
 end Csupᵢ
@@ -143,11 +143,11 @@ section Cinfᵢ
 variable [ConditionallyCompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
 theorem tendsto_atBot_cinfᵢ (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_csupᵢ h_mono.dual hbdd.dual
+    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_csupᵢ h_mono.dual hbdd.dual using 1
 #align tendsto_at_bot_cinfi tendsto_atBot_cinfᵢ
 
 theorem tendsto_atTop_cinfᵢ (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_csupᵢ h_anti.dual hbdd.dual
+    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_csupᵢ h_anti.dual hbdd.dual using 1
 #align tendsto_at_top_cinfi tendsto_atTop_cinfᵢ
 
 end Cinfᵢ
feat: port Topology.Instances.ENNReal (#2734)

API changes:

  • Add HasSum.sum_range_add, sum_add_tsum_nat_add', and tsum_eq_zero_add'. We had these (or stronger) results for topological groups. These versions works for monoids.
  • Rename tendsto_atTop_csupr to tendsto_atTop_csupᵢ, tendsto_atBot_csupr to tendsto_atBot_csupᵢ, tendsto_atBot_cinfi to tendsto_atBot_cinfᵢ, and tendsto_atTop_cinfi to tendsto_atTop_cinfᵢ.
  • Add a shortcut instance for T5Space ENNReal.
  • Add ENNReal.nhdsWithin_Ioi_one_neBot, ENNReal.nhdsWithin_Ioi_nat_neBot, ENNReal.nhdsWithin_Ioi_ofNat_nebot, and ENNReal.nhdsWithin_Iio_neBot.
  • Add ENNReal.hasBasis_nhds_of_ne_top and ENNReal.hasBasis_nhds_of_ne_top'.
  • Add ENNReal.binfᵢ_le_nhds and ENNReal.tendsto_nhds_of_Icc.
  • Use Real.nnabs instead of nnnorm to avoid dependency on analysis.normed.group.basic (forward-port of leanprover-community/mathlib#18562).
  • Add ENNReal.tsum_eq_limsup_sum_nat.
  • Add ENNReal.tsum_comp_le_tsum_of_injective, ENNReal.tsum_le_tsum_comp_of_surjective, use them to golf some proofs.
  • Add ENNReal.tsum_bunionᵢ_le_tsum, ENNReal.tsum_unionᵢ_le_tsum. We had versions of these lemmas for finite collections. The proofs for infinite collections are simpler.

Most of these changes were done to fix some long proofs: it was easier for me (@urkud) to add supporting lemmas and golf the proof than to fix the original code.

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: Yury Kudryashov <urkud@urkud.name>

Diff
@@ -122,46 +122,46 @@ theorem tendsto_atTop_isGLB (h_anti : Antitone f) (ha : IsGLB (Set.range f) a) :
 
 end IsGLB
 
-section Csupr
+section Csupᵢ
 
 variable [ConditionallyCompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
-theorem tendsto_atTop_csupr (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
+theorem tendsto_atTop_csupᵢ (h_mono : Monotone f) (hbdd : BddAbove <| range f) :
     Tendsto f atTop (𝓝 (⨆ i, f i)) := by
   cases isEmpty_or_nonempty ι
   exacts[tendsto_of_isEmpty, tendsto_atTop_isLUB h_mono (isLUB_csupᵢ hbdd)]
-#align tendsto_at_top_csupr tendsto_atTop_csupr
+#align tendsto_at_top_csupr tendsto_atTop_csupᵢ
 
-theorem tendsto_atBot_csupr (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
-    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_csupr h_anti.dual hbdd.dual
-#align tendsto_at_bot_csupr tendsto_atBot_csupr
+theorem tendsto_atBot_csupᵢ (h_anti : Antitone f) (hbdd : BddAbove <| range f) :
+    Tendsto f atBot (𝓝 (⨆ i, f i)) := by convert tendsto_atTop_csupᵢ h_anti.dual hbdd.dual
+#align tendsto_at_bot_csupr tendsto_atBot_csupᵢ
 
-end Csupr
+end Csupᵢ
 
-section Cinfi
+section Cinfᵢ
 
 variable [ConditionallyCompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
-theorem tendsto_atBot_cinfi (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_csupr h_mono.dual hbdd.dual
-#align tendsto_at_bot_cinfi tendsto_atBot_cinfi
+theorem tendsto_atBot_cinfᵢ (h_mono : Monotone f) (hbdd : BddBelow <| range f) :
+    Tendsto f atBot (𝓝 (⨅ i, f i)) := by convert tendsto_atTop_csupᵢ h_mono.dual hbdd.dual
+#align tendsto_at_bot_cinfi tendsto_atBot_cinfᵢ
 
-theorem tendsto_atTop_cinfi (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
-    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_csupr h_anti.dual hbdd.dual
-#align tendsto_at_top_cinfi tendsto_atTop_cinfi
+theorem tendsto_atTop_cinfᵢ (h_anti : Antitone f) (hbdd : BddBelow <| range f) :
+    Tendsto f atTop (𝓝 (⨅ i, f i)) := by convert tendsto_atBot_csupᵢ h_anti.dual hbdd.dual
+#align tendsto_at_top_cinfi tendsto_atTop_cinfᵢ
 
-end Cinfi
+end Cinfᵢ
 
 section supᵢ
 
 variable [CompleteLattice α] [SupConvergenceClass α] {f : ι → α} {a : α}
 
 theorem tendsto_atTop_supᵢ (h_mono : Monotone f) : Tendsto f atTop (𝓝 (⨆ i, f i)) :=
-  tendsto_atTop_csupr h_mono (OrderTop.bddAbove _)
+  tendsto_atTop_csupᵢ h_mono (OrderTop.bddAbove _)
 #align tendsto_at_top_supr tendsto_atTop_supᵢ
 
 theorem tendsto_atBot_supᵢ (h_anti : Antitone f) : Tendsto f atBot (𝓝 (⨆ i, f i)) :=
-  tendsto_atBot_csupr h_anti (OrderTop.bddAbove _)
+  tendsto_atBot_csupᵢ h_anti (OrderTop.bddAbove _)
 #align tendsto_at_bot_supr tendsto_atBot_supᵢ
 
 end supᵢ
@@ -171,11 +171,11 @@ section infᵢ
 variable [CompleteLattice α] [InfConvergenceClass α] {f : ι → α} {a : α}
 
 theorem tendsto_atBot_infᵢ (h_mono : Monotone f) : Tendsto f atBot (𝓝 (⨅ i, f i)) :=
-  tendsto_atBot_cinfi h_mono (OrderBot.bddBelow _)
+  tendsto_atBot_cinfᵢ h_mono (OrderBot.bddBelow _)
 #align tendsto_at_bot_infi tendsto_atBot_infᵢ
 
 theorem tendsto_atTop_infᵢ (h_anti : Antitone f) : Tendsto f atTop (𝓝 (⨅ i, f i)) :=
-  tendsto_atTop_cinfi h_anti (OrderBot.bddBelow _)
+  tendsto_atTop_cinfᵢ h_anti (OrderBot.bddBelow _)
 #align tendsto_at_top_infi tendsto_atTop_infᵢ
 
 end infᵢ
@@ -225,7 +225,7 @@ instance Pi.Inf_convergence_class' {ι : Type _} [Preorder α] [TopologicalSpace
 theorem tendsto_of_monotone {ι α : Type _} [Preorder ι] [TopologicalSpace α]
     [ConditionallyCompleteLinearOrder α] [OrderTopology α] {f : ι → α} (h_mono : Monotone f) :
     Tendsto f atTop atTop ∨ ∃ l, Tendsto f atTop (𝓝 l) :=
-  if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_csupr h_mono H⟩
+  if H : BddAbove (range f) then Or.inr ⟨_, tendsto_atTop_csupᵢ h_mono H⟩
   else Or.inl <| tendsto_atTop_atTop_of_monotone' h_mono H
 #align tendsto_of_monotone tendsto_of_monotone
 
fix: remove stray LibrarySearch imports (#2275)

import Mathlib.Tactic.LibrarySearch is often useful to include while porting a theory file, but should be deleted before committing. This PR cleans up some cases where it did not get deleted:

Diff
@@ -9,7 +9,6 @@ Authors: Heather Macbeth, Yury Kudryashov
 ! if you have ported upstream changes.
 -/
 import Mathlib.Topology.Order.Basic
-import Mathlib.Tactic.LibrarySearch
 
 /-!
 # Bounded monotone sequences converge
feat: port/Topology.Algebra.Order.MonotoneConvergence (#2097)

port of topology.algebra.order.monotone_convergence

Co-authored-by: Moritz Doll <moritz.doll@googlemail.com> Co-authored-by: Johan Commelin <johan@commelin.net>

Dependencies 8 + 317

318 files ported (97.5%)
139864 lines ported (96.5%)
Show graph

The unported dependencies are