topology.orderMathlib.Topology.Order

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -1174,7 +1174,7 @@ theorem map_nhds_induced_of_mem {a : α} (h : range f ∈ 𝓝 (f a)) :
 #print closure_induced /-
 theorem closure_induced [t : TopologicalSpace β] {f : α → β} {a : α} {s : Set α} :
     a ∈ @closure α (TopologicalSpace.induced f t) s ↔ f a ∈ closure (f '' s) := by
-  simp only [mem_closure_iff_frequently, nhds_induced, frequently_comap, mem_image, and_comm']
+  simp only [mem_closure_iff_frequently, nhds_induced, frequently_comap, mem_image, and_comm]
 #align closure_induced closure_induced
 -/
 
Diff
@@ -836,7 +836,7 @@ theorem isOpen_singleton_nhdsAdjoint {α : Type _} {a b : α} (f : Filter α) (h
 #align is_open_singleton_nhds_adjoint isOpen_singleton_nhdsAdjoint
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (b «expr ≠ » a) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (b «expr ≠ » a) -/
 #print le_nhdsAdjoint_iff' /-
 theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ (b) (_ : b ≠ a), @nhds α t b = pure b :=
Diff
@@ -387,12 +387,12 @@ theorem le_of_nhds_le_nhds {t₁ t₂ : TopologicalSpace α} (h : ∀ x, @nhds 
 #align le_of_nhds_le_nhds le_of_nhds_le_nhds
 -/
 
-#print eq_of_nhds_eq_nhds /-
-theorem eq_of_nhds_eq_nhds {t₁ t₂ : TopologicalSpace α} (h : ∀ x, @nhds α t₁ x = @nhds α t₂ x) :
-    t₁ = t₂ :=
+#print TopologicalSpace.ext_nhds /-
+theorem TopologicalSpace.ext_nhds {t₁ t₂ : TopologicalSpace α}
+    (h : ∀ x, @nhds α t₁ x = @nhds α t₂ x) : t₁ = t₂ :=
   le_antisymm (le_of_nhds_le_nhds fun x => le_of_eq <| h x)
     (le_of_nhds_le_nhds fun x => le_of_eq <| (h x).symm)
-#align eq_of_nhds_eq_nhds eq_of_nhds_eq_nhds
+#align eq_of_nhds_eq_nhds TopologicalSpace.ext_nhds
 -/
 
 #print eq_bot_of_singletons_open /-
@@ -1126,7 +1126,7 @@ theorem nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) :
 theorem induced_iff_nhds_eq [tα : TopologicalSpace α] [tβ : TopologicalSpace β] (f : β → α) :
     tβ = tα.induced f ↔ ∀ b, 𝓝 b = comap f (𝓝 <| f b) :=
   ⟨fun h a => h.symm ▸ nhds_induced f a, fun h =>
-    eq_of_nhds_eq_nhds fun x => by rw [h, nhds_induced]⟩
+    TopologicalSpace.ext_nhds fun x => by rw [h, nhds_induced]⟩
 #align induced_iff_nhds_eq induced_iff_nhds_eq
 -/
 
Diff
@@ -321,7 +321,7 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
     · cases h; · exact Or.inr rfl
     · obtain ⟨rfl | rfl, rfl | rfl⟩ := ih₁, ih₂ <;> simp
     · rw [sUnion_eq_empty, Classical.or_iff_not_imp_left]
-      intro h; push_neg at h ; obtain ⟨U, hU, hne⟩ := h
+      intro h; push_neg at h; obtain ⟨U, hU, hne⟩ := h
       have := (ih U hU).resolve_left hne; subst this
       refine' sUnion_eq_univ_iff.2 fun a => ⟨_, hU, trivial⟩, by rintro (rfl | rfl);
     exacts [@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
@@ -456,7 +456,7 @@ def TopologicalSpace.induced {α : Type u} {β : Type v} (f : α → β) (t : To
     rintro s₁ s₂ ⟨s'₁, hs₁, rfl⟩ ⟨s'₂, hs₂, rfl⟩ <;>
       exact ⟨s'₁ ∩ s'₂, hs₁.inter hs₂, preimage_inter⟩
   isOpen_sUnion s h := by
-    simp only [Classical.skolem] at h 
+    simp only [Classical.skolem] at h
     cases' h with f hf
     apply Exists.intro (⋃ (x : Set α) (h : x ∈ s), f x h)
     simp only [sUnion_eq_bUnion, preimage_Union, fun x h => (hf x h).right]; refine' ⟨_, rfl⟩
@@ -750,7 +750,7 @@ theorem le_generateFrom {t : TopologicalSpace α} {g : Set (Set α)} (h : ∀ s
 #print induced_generateFrom_eq /-
 theorem induced_generateFrom_eq {α β} {b : Set (Set β)} {f : α → β} :
     (generateFrom b).induced f = TopologicalSpace.generateFrom (preimage f '' b) :=
-  le_antisymm (le_generateFrom <| ball_image_iff.2 fun s hs => ⟨s, GenerateOpen.basic _ hs, rfl⟩)
+  le_antisymm (le_generateFrom <| forall_mem_image.2 fun s hs => ⟨s, GenerateOpen.basic _ hs, rfl⟩)
     (coinduced_le_iff_le_induced.1 <|
       le_generateFrom fun s hs => GenerateOpen.basic _ <| mem_image_of_mem _ hs)
 #align induced_generate_from_eq induced_generateFrom_eq
@@ -846,11 +846,11 @@ theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : Topologi
   · intro h
     constructor
     · specialize h a
-      rwa [nhdsAdjoint_nhds] at h 
+      rwa [nhdsAdjoint_nhds] at h
     · intro b hb
       apply le_antisymm _ (pure_le_nhds b)
       specialize h b
-      rwa [nhdsAdjoint_nhds_of_ne a f hb] at h 
+      rwa [nhdsAdjoint_nhds_of_ne a f hb] at h
   · rintro ⟨h, h'⟩ b
     by_cases hb : b = a
     · rwa [hb, nhdsAdjoint_nhds]
@@ -1109,7 +1109,7 @@ theorem mem_nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) (s :
   simp only [mem_nhds_iff, isOpen_induced_iff, exists_prop, Set.mem_setOf_eq]
   constructor
   · rintro ⟨u, usub, ⟨v, openv, ueq⟩, au⟩
-    exact ⟨v, ⟨v, Set.Subset.refl v, openv, by rwa [← ueq] at au ⟩, by rw [ueq] <;> exact usub⟩
+    exact ⟨v, ⟨v, Set.Subset.refl v, openv, by rwa [← ueq] at au⟩, by rw [ueq] <;> exact usub⟩
   rintro ⟨u, ⟨v, vsubu, openv, amem⟩, finvsub⟩
   exact ⟨f ⁻¹' v, Set.Subset.trans (Set.preimage_mono vsubu) finvsub, ⟨⟨v, openv, rfl⟩, amem⟩⟩
 #align mem_nhds_induced mem_nhds_induced
Diff
@@ -329,7 +329,7 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
 -/
 
 #print DiscreteTopology /-
-/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:400:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
 /-- A topological space is discrete if every set is open, that is,
   its topology equals the discrete topology `⊥`. -/
 class DiscreteTopology (α : Type _) [t : TopologicalSpace α] : Prop where
Diff
@@ -329,7 +329,7 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
 -/
 
 #print DiscreteTopology /-
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
 /-- A topological space is discrete if every set is open, that is,
   its topology equals the discrete topology `⊥`. -/
 class DiscreteTopology (α : Type _) [t : TopologicalSpace α] : Prop where
Diff
@@ -320,7 +320,7 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
     induction' h with V h _ _ _ _ ih₁ ih₂ _ _ ih
     · cases h; · exact Or.inr rfl
     · obtain ⟨rfl | rfl, rfl | rfl⟩ := ih₁, ih₂ <;> simp
-    · rw [sUnion_eq_empty, or_iff_not_imp_left]
+    · rw [sUnion_eq_empty, Classical.or_iff_not_imp_left]
       intro h; push_neg at h ; obtain ⟨U, hU, hne⟩ := h
       have := (ih U hU).resolve_left hne; subst this
       refine' sUnion_eq_univ_iff.2 fun a => ⟨_, hU, trivial⟩, by rintro (rfl | rfl);
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro
 -/
-import Mathbin.Topology.Tactic
+import Topology.Tactic
 
 #align_import topology.order from "leanprover-community/mathlib"@"e46da4e335b8671848ac711ccb34b42538c0d800"
 
@@ -329,7 +329,7 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
 -/
 
 #print DiscreteTopology /-
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
 /-- A topological space is discrete if every set is open, that is,
   its topology equals the discrete topology `⊥`. -/
 class DiscreteTopology (α : Type _) [t : TopologicalSpace α] : Prop where
@@ -836,7 +836,7 @@ theorem isOpen_singleton_nhdsAdjoint {α : Type _} {a b : α} (f : Filter α) (h
 #align is_open_singleton_nhds_adjoint isOpen_singleton_nhdsAdjoint
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (b «expr ≠ » a) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (b «expr ≠ » a) -/
 #print le_nhdsAdjoint_iff' /-
 theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ (b) (_ : b ≠ a), @nhds α t b = pure b :=
Diff
@@ -180,7 +180,7 @@ section Lattice
 /-- The ordering on topologies on the type `α`. `t ≤ s` if every set open in `s` is also open in `t`
 (`t` is finer than `s`). -/
 instance : PartialOrder (TopologicalSpace α) :=
-  { PartialOrder.lift (fun s => OrderDual.toDual is_open[s]) fun _ _ => topologicalSpace_eq with
+  { PartialOrder.lift (fun s => OrderDual.toDual is_open[s]) fun _ _ => TopologicalSpace.ext with
     le := fun s t => ∀ U, is_open[t] U → is_open[s] U }
 
 #print TopologicalSpace.le_def /-
@@ -213,7 +213,7 @@ protected def mkOfClosure (s : Set (Set α)) (hs : {u | GenerateOpen s u} = s) :
 #print TopologicalSpace.mkOfClosure_sets /-
 theorem mkOfClosure_sets {s : Set (Set α)} {hs : {u | GenerateOpen s u} = s} :
     TopologicalSpace.mkOfClosure s hs = TopologicalSpace.generateFrom s :=
-  topologicalSpace_eq hs.symm
+  TopologicalSpace.ext hs.symm
 #align topological_space.mk_of_closure_sets TopologicalSpace.mkOfClosure_sets
 -/
 
@@ -598,7 +598,7 @@ theorem coinduced_iSup {ι : Sort w} {t : ι → TopologicalSpace α} :
 
 #print induced_id /-
 theorem induced_id [t : TopologicalSpace α] : t.induced id = t :=
-  topologicalSpace_eq <|
+  TopologicalSpace.ext <|
     funext fun s => propext <| ⟨fun ⟨s', hs, h⟩ => h ▸ hs, fun hs => ⟨s, hs, rfl⟩⟩
 #align induced_id induced_id
 -/
@@ -606,7 +606,7 @@ theorem induced_id [t : TopologicalSpace α] : t.induced id = t :=
 #print induced_compose /-
 theorem induced_compose [tγ : TopologicalSpace γ] {f : α → β} {g : β → γ} :
     (tγ.induced g).induced f = tγ.induced (g ∘ f) :=
-  topologicalSpace_eq <|
+  TopologicalSpace.ext <|
     funext fun s =>
       propext <|
         ⟨fun ⟨s', ⟨s, hs, h₂⟩, h₁⟩ => h₁ ▸ h₂ ▸ ⟨s, hs, rfl⟩, fun ⟨s, hs, h⟩ =>
@@ -622,14 +622,14 @@ theorem induced_const [t : TopologicalSpace α] {x : α} : (t.induced fun y : β
 
 #print coinduced_id /-
 theorem coinduced_id [t : TopologicalSpace α] : t.coinduced id = t :=
-  topologicalSpace_eq rfl
+  TopologicalSpace.ext rfl
 #align coinduced_id coinduced_id
 -/
 
 #print coinduced_compose /-
 theorem coinduced_compose [tα : TopologicalSpace α] {f : α → β} {g : β → γ} :
     (tα.coinduced f).coinduced g = tα.coinduced (g ∘ f) :=
-  topologicalSpace_eq rfl
+  TopologicalSpace.ext rfl
 #align coinduced_compose coinduced_compose
 -/
 
Diff
@@ -820,7 +820,7 @@ theorem nhdsAdjoint_nhds_of_ne {α : Type _} (a : α) (f : Filter α) {b : α} (
   apply le_antisymm
   · intro U hU
     rw [mem_nhds_iff]
-    use {b}
+    use{b}
     simp only [and_true_iff, singleton_subset_iff, mem_singleton]
     refine' ⟨hU, fun ha => (h.symm ha).elim⟩
   · exact @pure_le_nhds α (nhdsAdjoint a f) b
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2017 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro
-
-! This file was ported from Lean 3 source module topology.order
-! leanprover-community/mathlib commit e46da4e335b8671848ac711ccb34b42538c0d800
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.Tactic
 
+#align_import topology.order from "leanprover-community/mathlib"@"e46da4e335b8671848ac711ccb34b42538c0d800"
+
 /-!
 # Ordering on topologies and (co)induced topologies
 
@@ -839,7 +836,7 @@ theorem isOpen_singleton_nhdsAdjoint {α : Type _} {a b : α} (f : Filter α) (h
 #align is_open_singleton_nhds_adjoint isOpen_singleton_nhdsAdjoint
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (b «expr ≠ » a) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (b «expr ≠ » a) -/
 #print le_nhdsAdjoint_iff' /-
 theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ (b) (_ : b ≠ a), @nhds α t b = pure b :=
Diff
@@ -640,7 +640,7 @@ theorem coinduced_compose [tα : TopologicalSpace α] {f : α → β} {g : β 
 theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
     TopologicalSpace.induced e.symm = TopologicalSpace.coinduced e :=
   by
-  ext (t U)
+  ext t U
   constructor
   · rintro ⟨V, hV, rfl⟩
     rwa [isOpen_coinduced, e.preimage_symm_preimage]
Diff
@@ -88,6 +88,7 @@ theorem isOpen_generateFrom_of_mem {g : Set (Set α)} {s : Set α} (hs : s ∈ g
 #align topological_space.is_open_generate_from_of_mem TopologicalSpace.isOpen_generateFrom_of_mem
 -/
 
+#print TopologicalSpace.nhds_generateFrom /-
 theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
     @nhds α (generateFrom g) a = ⨅ s ∈ {s | a ∈ s ∧ s ∈ g}, 𝓟 s :=
   by
@@ -102,13 +103,16 @@ theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
     rcases ha with ⟨t, htS, hat⟩
     exact (hS t htS hat).trans (principal_mono.2 <| subset_sUnion_of_mem htS)
 #align topological_space.nhds_generate_from TopologicalSpace.nhds_generateFrom
+-/
 
+#print TopologicalSpace.tendsto_nhds_generateFrom /-
 theorem tendsto_nhds_generateFrom {β : Type _} {m : α → β} {f : Filter α} {g : Set (Set β)} {b : β}
     (h : ∀ s ∈ g, b ∈ s → m ⁻¹' s ∈ f) : Tendsto m f (@nhds β (generateFrom g) b) := by
   rw [nhds_generate_from] <;>
     exact
       tendsto_infi.2 fun s => tendsto_infi.2 fun ⟨hbs, hsg⟩ => tendsto_principal.2 <| h s hsg hbs
 #align topological_space.tendsto_nhds_generate_from TopologicalSpace.tendsto_nhds_generateFrom
+-/
 
 #print TopologicalSpace.mkOfNhds /-
 /-- Construct a topology on α given the filter of neighborhoods of each point of α. -/
@@ -122,6 +126,7 @@ protected def mkOfNhds (n : α → Filter α) : TopologicalSpace α
 #align topological_space.mk_of_nhds TopologicalSpace.mkOfNhds
 -/
 
+#print TopologicalSpace.nhds_mkOfNhds /-
 theorem nhds_mkOfNhds (n : α → Filter α) (a : α) (h₀ : pure ≤ n)
     (h₁ : ∀ a s, s ∈ n a → ∃ t ∈ n a, t ⊆ s ∧ ∀ a' ∈ t, s ∈ n a') :
     @nhds α (TopologicalSpace.mkOfNhds n) a = n a :=
@@ -138,7 +143,9 @@ theorem nhds_mkOfNhds (n : α → Filter α) (a : α) (h₀ : pure ≤ n)
   · rcases(@mem_nhds_iff α (TopologicalSpace.mkOfNhds n) _ _).1 hs with ⟨t, hts, ht, hat⟩
     exact (n a).sets_of_superset (ht _ hat) hts
 #align topological_space.nhds_mk_of_nhds TopologicalSpace.nhds_mkOfNhds
+-/
 
+#print TopologicalSpace.nhds_mkOfNhds_single /-
 theorem nhds_mkOfNhds_single [DecidableEq α] {a₀ : α} {l : Filter α} (h : pure a₀ ≤ l) (b : α) :
     @nhds α (TopologicalSpace.mkOfNhds <| update pure a₀ l) b =
       (update pure a₀ l : α → Filter α) b :=
@@ -153,7 +160,9 @@ theorem nhds_mkOfNhds_single [DecidableEq α] {a₀ : α} {l : Filter α} (h : p
     rw [update_noteq ha] at hs ⊢
     exact ⟨{a}, rfl, singleton_subset_iff.mpr hs, forall_eq.2 hs'⟩
 #align topological_space.nhds_mk_of_nhds_single TopologicalSpace.nhds_mkOfNhds_single
+-/
 
+#print TopologicalSpace.nhds_mkOfNhds_filterBasis /-
 theorem nhds_mkOfNhds_filterBasis (B : α → FilterBasis α) (a : α) (h₀ : ∀ (x), ∀ n ∈ B x, x ∈ n)
     (h₁ : ∀ (x), ∀ n ∈ B x, ∃ n₁ ∈ B x, n₁ ⊆ n ∧ ∀ x' ∈ n₁, ∃ n₂ ∈ B x', n₂ ⊆ n) :
     @nhds α (TopologicalSpace.mkOfNhds fun x => (B x).filterₓ) a = (B a).filterₓ :=
@@ -167,6 +176,7 @@ theorem nhds_mkOfNhds_filterBasis (B : α → FilterBasis α) (a : α) (h₀ : 
     obtain ⟨n₂, hn₄, hn₅⟩ := hn₃ x' hx'
     exact ⟨n₂, hn₄, hn₅.trans hm₂⟩
 #align topological_space.nhds_mk_of_nhds_filter_basis TopologicalSpace.nhds_mkOfNhds_filterBasis
+-/
 
 section Lattice
 
@@ -176,16 +186,20 @@ instance : PartialOrder (TopologicalSpace α) :=
   { PartialOrder.lift (fun s => OrderDual.toDual is_open[s]) fun _ _ => topologicalSpace_eq with
     le := fun s t => ∀ U, is_open[t] U → is_open[s] U }
 
+#print TopologicalSpace.le_def /-
 protected theorem le_def {α} {t s : TopologicalSpace α} : t ≤ s ↔ is_open[s] ≤ is_open[t] :=
   Iff.rfl
 #align topological_space.le_def TopologicalSpace.le_def
+-/
 
+#print TopologicalSpace.le_generateFrom_iff_subset_isOpen /-
 theorem le_generateFrom_iff_subset_isOpen {g : Set (Set α)} {t : TopologicalSpace α} :
     t ≤ TopologicalSpace.generateFrom g ↔ g ⊆ {s | is_open[t] s} :=
   ⟨fun ht s hs => ht _ <| GenerateOpen.basic s hs, fun hg s hs =>
     hs.recOn (fun v hv => hg hv) t.isOpen_univ (fun u v _ _ => t.isOpen_inter u v) fun k _ =>
       t.isOpen_sUnion k⟩
 #align topological_space.le_generate_from_iff_subset_is_open TopologicalSpace.le_generateFrom_iff_subset_isOpen
+-/
 
 #print TopologicalSpace.mkOfClosure /-
 /-- If `s` equals the collection of open sets in the topology it generates, then `s` defines a
@@ -216,6 +230,7 @@ theorem gc_generateFrom (α) :
 
 /- warning: topological_space.gci_generate_from clashes with gi_generate_from -> TopologicalSpace.gciGenerateFrom
 Case conversion may be inaccurate. Consider using '#align topological_space.gci_generate_from TopologicalSpace.gciGenerateFromₓ'. -/
+#print TopologicalSpace.gciGenerateFrom /-
 /-- The Galois coinsertion between `topological_space α` and `(set (set α))ᵒᵈ` whose lower part
   sends a topology to its collection of open subsets, and whose upper part sends a collection of
   subsets of α to the topology they generate. -/
@@ -230,6 +245,7 @@ def gciGenerateFrom (α : Type _) :
       (Subset.antisymm hg <| le_generateFrom_iff_subset_isOpen.1 <| le_rfl)
   choice_eq s hs := mkOfClosure_sets
 #align topological_space.gci_generate_from TopologicalSpace.gciGenerateFrom
+-/
 
 /-- Topologies on `α` form a complete lattice, with `⊥` the discrete topology
   and `⊤` the indiscrete topology. The infimum of a collection of topologies
@@ -238,11 +254,13 @@ def gciGenerateFrom (α : Type _) :
 instance : CompleteLattice (TopologicalSpace α) :=
   (gciGenerateFrom α).liftCompleteLattice
 
+#print TopologicalSpace.generateFrom_anti /-
 @[mono]
 theorem generateFrom_anti {α} {g₁ g₂ : Set (Set α)} (h : g₁ ⊆ g₂) :
     generateFrom g₂ ≤ generateFrom g₁ :=
   (gc_generateFrom _).monotone_u h
 #align topological_space.generate_from_anti TopologicalSpace.generateFrom_anti
+-/
 
 #print TopologicalSpace.generateFrom_setOf_isOpen /-
 theorem generateFrom_setOf_isOpen (t : TopologicalSpace α) : generateFrom {s | is_open[t] s} = t :=
@@ -277,21 +295,28 @@ section Lattice
 
 variable {α : Type u} {β : Type v}
 
+#print IsOpen.mono /-
 theorem IsOpen.mono {α} {t₁ t₂ : TopologicalSpace α} {s : Set α} (hs : is_open[t₂] s)
     (h : t₁ ≤ t₂) : is_open[t₁] s :=
   h s hs
 #align is_open.mono IsOpen.mono
+-/
 
+#print IsClosed.mono /-
 theorem IsClosed.mono {α} {t₁ t₂ : TopologicalSpace α} {s : Set α} (hs : is_closed[t₂] s)
     (h : t₁ ≤ t₂) : is_closed[t₁] s :=
   (@isOpen_compl_iff α t₁ s).mp <| hs.isOpen_compl.mono h
 #align is_closed.mono IsClosed.mono
+-/
 
+#print isOpen_implies_isOpen_iff /-
 theorem isOpen_implies_isOpen_iff {a b : TopologicalSpace α} :
     (∀ s, is_open[a] s → is_open[b] s) ↔ b ≤ a :=
   Iff.rfl
 #align is_open_implies_is_open_iff isOpen_implies_isOpen_iff
+-/
 
+#print TopologicalSpace.isOpen_top_iff /-
 /-- The only open sets in the indiscrete topology are the empty set and the whole space. -/
 theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U = ∅ ∨ U = univ :=
   ⟨fun h => by
@@ -304,9 +329,10 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
       refine' sUnion_eq_univ_iff.2 fun a => ⟨_, hU, trivial⟩, by rintro (rfl | rfl);
     exacts [@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
 #align topological_space.is_open_top_iff TopologicalSpace.isOpen_top_iff
+-/
 
 #print DiscreteTopology /-
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
 /-- A topological space is discrete if every set is open, that is,
   its topology equals the discrete topology `⊥`. -/
 class DiscreteTopology (α : Type _) [t : TopologicalSpace α] : Prop where
@@ -314,9 +340,11 @@ class DiscreteTopology (α : Type _) [t : TopologicalSpace α] : Prop where
 #align discrete_topology DiscreteTopology
 -/
 
+#print discreteTopology_bot /-
 theorem discreteTopology_bot (α : Type _) : @DiscreteTopology α ⊥ :=
   @DiscreteTopology.mk α ⊥ rfl
 #align discrete_topology_bot discreteTopology_bot
+-/
 
 #print isOpen_discrete /-
 @[simp]
@@ -353,12 +381,14 @@ theorem mem_nhds_discrete [TopologicalSpace α] [DiscreteTopology α] {x : α} {
 #align mem_nhds_discrete mem_nhds_discrete
 -/
 
+#print le_of_nhds_le_nhds /-
 theorem le_of_nhds_le_nhds {t₁ t₂ : TopologicalSpace α} (h : ∀ x, @nhds α t₁ x ≤ @nhds α t₂ x) :
     t₁ ≤ t₂ := by
   intro s
   rw [@isOpen_iff_mem_nhds _ t₁, @isOpen_iff_mem_nhds α t₂]
   exact fun hs a ha => h _ (hs _ ha)
 #align le_of_nhds_le_nhds le_of_nhds_le_nhds
+-/
 
 #print eq_of_nhds_eq_nhds /-
 theorem eq_of_nhds_eq_nhds {t₁ t₂ : TopologicalSpace α} (h : ∀ x, @nhds α t₁ x = @nhds α t₂ x) :
@@ -368,9 +398,11 @@ theorem eq_of_nhds_eq_nhds {t₁ t₂ : TopologicalSpace α} (h : ∀ x, @nhds 
 #align eq_of_nhds_eq_nhds eq_of_nhds_eq_nhds
 -/
 
+#print eq_bot_of_singletons_open /-
 theorem eq_bot_of_singletons_open {t : TopologicalSpace α} (h : ∀ x, is_open[t] {x}) : t = ⊥ :=
   bot_unique fun s hs => biUnion_of_singleton s ▸ isOpen_biUnion fun x _ => h x
 #align eq_bot_of_singletons_open eq_bot_of_singletons_open
+-/
 
 #print forall_open_iff_discrete /-
 theorem forall_open_iff_discrete {X : Type _} [TopologicalSpace X] :
@@ -402,10 +434,12 @@ theorem discreteTopology_iff_nhds [TopologicalSpace α] :
 #align discrete_topology_iff_nhds discreteTopology_iff_nhds
 -/
 
+#print discreteTopology_iff_nhds_ne /-
 theorem discreteTopology_iff_nhds_ne [TopologicalSpace α] :
     DiscreteTopology α ↔ ∀ x : α, 𝓝[≠] x = ⊥ := by
   simp only [discreteTopology_iff_singleton_mem_nhds, nhdsWithin, inf_principal_eq_bot, compl_compl]
 #align discrete_topology_iff_nhds_ne discreteTopology_iff_nhds_ne
+-/
 
 end Lattice
 
@@ -464,11 +498,14 @@ def TopologicalSpace.coinduced {α : Type u} {β : Type v} (f : α → β) (t :
 #align topological_space.coinduced TopologicalSpace.coinduced
 -/
 
+#print isOpen_coinduced /-
 theorem isOpen_coinduced {t : TopologicalSpace α} {s : Set β} {f : α → β} :
     is_open[t.coinduced f] s ↔ IsOpen (f ⁻¹' s) :=
   Iff.rfl
 #align is_open_coinduced isOpen_coinduced
+-/
 
+#print preimage_nhds_coinduced /-
 theorem preimage_nhds_coinduced [TopologicalSpace α] {π : α → β} {s : Set β} {a : α}
     (hs : s ∈ @nhds β (TopologicalSpace.coinduced π ‹_›) (π a)) : π ⁻¹' s ∈ 𝓝 a :=
   by
@@ -476,66 +513,91 @@ theorem preimage_nhds_coinduced [TopologicalSpace α] {π : α → β} {s : Set
   rcases mem_nhds_iff.mp hs with ⟨V, hVs, V_op, mem_V⟩
   exact mem_nhds_iff.mpr ⟨π ⁻¹' V, Set.preimage_mono hVs, V_op, mem_V⟩
 #align preimage_nhds_coinduced preimage_nhds_coinduced
+-/
 
 variable {t t₁ t₂ : TopologicalSpace α} {t' : TopologicalSpace β} {f : α → β} {g : β → α}
 
+#print Continuous.coinduced_le /-
 theorem Continuous.coinduced_le (h : @Continuous α β t t' f) : t.coinduced f ≤ t' := fun s hs =>
   (continuous_def.1 h s hs : _)
 #align continuous.coinduced_le Continuous.coinduced_le
+-/
 
+#print coinduced_le_iff_le_induced /-
 theorem coinduced_le_iff_le_induced {f : α → β} {tα : TopologicalSpace α}
     {tβ : TopologicalSpace β} : tα.coinduced f ≤ tβ ↔ tα ≤ tβ.induced f :=
   ⟨fun h s ⟨t, ht, hst⟩ => hst ▸ h _ ht, fun h s hs => h _ ⟨s, hs, rfl⟩⟩
 #align coinduced_le_iff_le_induced coinduced_le_iff_le_induced
+-/
 
+#print Continuous.le_induced /-
 theorem Continuous.le_induced (h : @Continuous α β t t' f) : t ≤ t'.induced f :=
   coinduced_le_iff_le_induced.1 h.coinduced_le
 #align continuous.le_induced Continuous.le_induced
+-/
 
+#print gc_coinduced_induced /-
 theorem gc_coinduced_induced (f : α → β) :
     GaloisConnection (TopologicalSpace.coinduced f) (TopologicalSpace.induced f) := fun f g =>
   coinduced_le_iff_le_induced
 #align gc_coinduced_induced gc_coinduced_induced
+-/
 
+#print induced_mono /-
 theorem induced_mono (h : t₁ ≤ t₂) : t₁.induced g ≤ t₂.induced g :=
   (gc_coinduced_induced g).monotone_u h
 #align induced_mono induced_mono
+-/
 
+#print coinduced_mono /-
 theorem coinduced_mono (h : t₁ ≤ t₂) : t₁.coinduced f ≤ t₂.coinduced f :=
   (gc_coinduced_induced f).monotone_l h
 #align coinduced_mono coinduced_mono
+-/
 
+#print induced_top /-
 @[simp]
 theorem induced_top : (⊤ : TopologicalSpace α).induced g = ⊤ :=
   (gc_coinduced_induced g).u_top
 #align induced_top induced_top
+-/
 
+#print induced_inf /-
 @[simp]
 theorem induced_inf : (t₁ ⊓ t₂).induced g = t₁.induced g ⊓ t₂.induced g :=
   (gc_coinduced_induced g).u_inf
 #align induced_inf induced_inf
+-/
 
+#print induced_iInf /-
 @[simp]
 theorem induced_iInf {ι : Sort w} {t : ι → TopologicalSpace α} :
     (⨅ i, t i).induced g = ⨅ i, (t i).induced g :=
   (gc_coinduced_induced g).u_iInf
 #align induced_infi induced_iInf
+-/
 
+#print coinduced_bot /-
 @[simp]
 theorem coinduced_bot : (⊥ : TopologicalSpace α).coinduced f = ⊥ :=
   (gc_coinduced_induced f).l_bot
 #align coinduced_bot coinduced_bot
+-/
 
+#print coinduced_sup /-
 @[simp]
 theorem coinduced_sup : (t₁ ⊔ t₂).coinduced f = t₁.coinduced f ⊔ t₂.coinduced f :=
   (gc_coinduced_induced f).l_sup
 #align coinduced_sup coinduced_sup
+-/
 
+#print coinduced_iSup /-
 @[simp]
 theorem coinduced_iSup {ι : Sort w} {t : ι → TopologicalSpace α} :
     (⨆ i, t i).coinduced f = ⨆ i, (t i).coinduced f :=
   (gc_coinduced_induced f).l_iSup
 #align coinduced_supr coinduced_iSup
+-/
 
 #print induced_id /-
 theorem induced_id [t : TopologicalSpace α] : t.induced id = t :=
@@ -544,6 +606,7 @@ theorem induced_id [t : TopologicalSpace α] : t.induced id = t :=
 #align induced_id induced_id
 -/
 
+#print induced_compose /-
 theorem induced_compose [tγ : TopologicalSpace γ] {f : α → β} {g : β → γ} :
     (tγ.induced g).induced f = tγ.induced (g ∘ f) :=
   topologicalSpace_eq <|
@@ -552,10 +615,13 @@ theorem induced_compose [tγ : TopologicalSpace γ] {f : α → β} {g : β →
         ⟨fun ⟨s', ⟨s, hs, h₂⟩, h₁⟩ => h₁ ▸ h₂ ▸ ⟨s, hs, rfl⟩, fun ⟨s, hs, h⟩ =>
           ⟨preimage g s, ⟨s, hs, rfl⟩, h ▸ rfl⟩⟩
 #align induced_compose induced_compose
+-/
 
+#print induced_const /-
 theorem induced_const [t : TopologicalSpace α] {x : α} : (t.induced fun y : β => x) = ⊤ :=
   le_antisymm le_top (@continuous_const β α ⊤ t x).le_induced
 #align induced_const induced_const
+-/
 
 #print coinduced_id /-
 theorem coinduced_id [t : TopologicalSpace α] : t.coinduced id = t :=
@@ -563,11 +629,14 @@ theorem coinduced_id [t : TopologicalSpace α] : t.coinduced id = t :=
 #align coinduced_id coinduced_id
 -/
 
+#print coinduced_compose /-
 theorem coinduced_compose [tα : TopologicalSpace α] {f : α → β} {g : β → γ} :
     (tα.coinduced f).coinduced g = tα.coinduced (g ∘ f) :=
   topologicalSpace_eq rfl
 #align coinduced_compose coinduced_compose
+-/
 
+#print Equiv.induced_symm /-
 theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
     TopologicalSpace.induced e.symm = TopologicalSpace.coinduced e :=
   by
@@ -577,11 +646,14 @@ theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
     rwa [isOpen_coinduced, e.preimage_symm_preimage]
   · exact fun hU => ⟨e ⁻¹' U, hU, e.symm_preimage_preimage _⟩
 #align equiv.induced_symm Equiv.induced_symm
+-/
 
+#print Equiv.coinduced_symm /-
 theorem Equiv.coinduced_symm {α β : Type _} (e : α ≃ β) :
     TopologicalSpace.coinduced e.symm = TopologicalSpace.induced e := by
   rw [← e.symm.induced_symm, e.symm_symm]
 #align equiv.coinduced_symm Equiv.coinduced_symm
+-/
 
 end GaloisConnection
 
@@ -671,18 +743,23 @@ theorem continuous_empty_function [TopologicalSpace α] [TopologicalSpace β] [I
 #align continuous_empty_function continuous_empty_function
 -/
 
+#print le_generateFrom /-
 theorem le_generateFrom {t : TopologicalSpace α} {g : Set (Set α)} (h : ∀ s ∈ g, IsOpen s) :
     t ≤ generateFrom g :=
   le_generateFrom_iff_subset_isOpen.2 h
 #align le_generate_from le_generateFrom
+-/
 
+#print induced_generateFrom_eq /-
 theorem induced_generateFrom_eq {α β} {b : Set (Set β)} {f : α → β} :
     (generateFrom b).induced f = TopologicalSpace.generateFrom (preimage f '' b) :=
   le_antisymm (le_generateFrom <| ball_image_iff.2 fun s hs => ⟨s, GenerateOpen.basic _ hs, rfl⟩)
     (coinduced_le_iff_le_induced.1 <|
       le_generateFrom fun s hs => GenerateOpen.basic _ <| mem_image_of_mem _ hs)
 #align induced_generate_from_eq induced_generateFrom_eq
+-/
 
+#print le_induced_generateFrom /-
 theorem le_induced_generateFrom {α β} [t : TopologicalSpace α] {b : Set (Set β)} {f : α → β}
     (h : ∀ a : Set β, a ∈ b → IsOpen (f ⁻¹' a)) : t ≤ induced f (generateFrom b) :=
   by
@@ -691,6 +768,7 @@ theorem le_induced_generateFrom {α β} [t : TopologicalSpace α] {b : Set (Set
   simp only [mem_image, and_imp, forall_apply_eq_imp_iff₂, exists_imp]
   exact h
 #align le_induced_generate_from le_induced_generateFrom
+-/
 
 #print nhdsAdjoint /-
 /-- This construction is left adjoint to the operation sending a topology on `α`
@@ -704,20 +782,27 @@ def nhdsAdjoint (a : α) (f : Filter α) : TopologicalSpace α
 #align nhds_adjoint nhdsAdjoint
 -/
 
+#print gc_nhds /-
 theorem gc_nhds (a : α) : GaloisConnection (nhdsAdjoint a) fun t => @nhds α t a := fun f t => by
   rw [le_nhds_iff]; exact ⟨fun H s hs has => H _ has hs, fun H s has hs => H _ hs has⟩
 #align gc_nhds gc_nhds
+-/
 
+#print nhds_mono /-
 theorem nhds_mono {t₁ t₂ : TopologicalSpace α} {a : α} (h : t₁ ≤ t₂) :
     @nhds α t₁ a ≤ @nhds α t₂ a :=
   (gc_nhds a).monotone_u h
 #align nhds_mono nhds_mono
+-/
 
+#print le_iff_nhds /-
 theorem le_iff_nhds {α : Type _} (t t' : TopologicalSpace α) :
     t ≤ t' ↔ ∀ x, @nhds α t x ≤ @nhds α t' x :=
   ⟨fun h x => nhds_mono h, le_of_nhds_le_nhds⟩
 #align le_iff_nhds le_iff_nhds
+-/
 
+#print nhdsAdjoint_nhds /-
 theorem nhdsAdjoint_nhds {α : Type _} (a : α) (f : Filter α) :
     @nhds α (nhdsAdjoint a f) a = pure a ⊔ f :=
   by
@@ -729,6 +814,7 @@ theorem nhdsAdjoint_nhds {α : Type _} (a : α) (f : Filter α) :
   · rintro ⟨haU, hU⟩
     exact ⟨U, subset.rfl, fun h => hU, haU⟩
 #align nhds_adjoint_nhds nhdsAdjoint_nhds
+-/
 
 #print nhdsAdjoint_nhds_of_ne /-
 theorem nhdsAdjoint_nhds_of_ne {α : Type _} (a : α) (f : Filter α) {b : α} (h : b ≠ a) :
@@ -754,6 +840,7 @@ theorem isOpen_singleton_nhdsAdjoint {α : Type _} {a b : α} (f : Filter α) (h
 -/
 
 /- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (b «expr ≠ » a) -/
+#print le_nhdsAdjoint_iff' /-
 theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ (b) (_ : b ≠ a), @nhds α t b = pure b :=
   by
@@ -772,7 +859,9 @@ theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : Topologi
     · rwa [hb, nhdsAdjoint_nhds]
     · simp [nhdsAdjoint_nhds_of_ne a f hb, h' b hb]
 #align le_nhds_adjoint_iff' le_nhdsAdjoint_iff'
+-/
 
+#print le_nhdsAdjoint_iff /-
 theorem le_nhdsAdjoint_iff {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ b, b ≠ a → is_open[t] {b} :=
   by
@@ -781,50 +870,63 @@ theorem le_nhdsAdjoint_iff {α : Type _} (a : α) (f : Filter α) (t : Topologic
   apply fun h => forall_congr' fun b => _
   rw [@isOpen_singleton_iff_nhds_eq_pure α t b]
 #align le_nhds_adjoint_iff le_nhdsAdjoint_iff
+-/
 
+#print nhds_iInf /-
 theorem nhds_iInf {ι : Sort _} {t : ι → TopologicalSpace α} {a : α} :
     @nhds α (iInf t) a = ⨅ i, @nhds α (t i) a :=
   (gc_nhds a).u_iInf
 #align nhds_infi nhds_iInf
+-/
 
+#print nhds_sInf /-
 theorem nhds_sInf {s : Set (TopologicalSpace α)} {a : α} :
     @nhds α (sInf s) a = ⨅ t ∈ s, @nhds α t a :=
   (gc_nhds a).u_sInf
 #align nhds_Inf nhds_sInf
+-/
 
+#print nhds_inf /-
 theorem nhds_inf {t₁ t₂ : TopologicalSpace α} {a : α} :
     @nhds α (t₁ ⊓ t₂) a = @nhds α t₁ a ⊓ @nhds α t₂ a :=
   (gc_nhds a).u_inf
 #align nhds_inf nhds_inf
+-/
 
+#print nhds_top /-
 theorem nhds_top {a : α} : @nhds α ⊤ a = ⊤ :=
   (gc_nhds a).u_top
 #align nhds_top nhds_top
+-/
 
+#print isOpen_sup /-
 theorem isOpen_sup {t₁ t₂ : TopologicalSpace α} {s : Set α} :
     is_open[t₁ ⊔ t₂] s ↔ is_open[t₁] s ∧ is_open[t₂] s :=
   Iff.rfl
 #align is_open_sup isOpen_sup
+-/
 
--- mathport name: exprcont
 local notation "cont" => @Continuous _ _
 
--- mathport name: exprtspace
 local notation "tspace" => TopologicalSpace
 
 open TopologicalSpace
 
 variable {γ : Type _} {f : α → β} {ι : Sort _}
 
+#print continuous_iff_coinduced_le /-
 theorem continuous_iff_coinduced_le {t₁ : tspace α} {t₂ : tspace β} :
     cont t₁ t₂ f ↔ coinduced f t₁ ≤ t₂ :=
   continuous_def.trans Iff.rfl
 #align continuous_iff_coinduced_le continuous_iff_coinduced_le
+-/
 
+#print continuous_iff_le_induced /-
 theorem continuous_iff_le_induced {t₁ : tspace α} {t₂ : tspace β} :
     cont t₁ t₂ f ↔ t₁ ≤ induced f t₂ :=
   Iff.trans continuous_iff_coinduced_le (gc_coinduced_induced f _ _)
 #align continuous_iff_le_induced continuous_iff_le_induced
+-/
 
 #print continuous_generateFrom /-
 theorem continuous_generateFrom {t : tspace α} {b : Set (Set β)} (h : ∀ s ∈ b, IsOpen (f ⁻¹' s)) :
@@ -840,10 +942,12 @@ theorem continuous_induced_dom {t : tspace β} : cont (induced f t) t f := by rw
 #align continuous_induced_dom continuous_induced_dom
 -/
 
+#print continuous_induced_rng /-
 theorem continuous_induced_rng {g : γ → α} {t₂ : tspace β} {t₁ : tspace γ} :
     cont t₁ (induced f t₂) g ↔ cont t₁ t₂ (f ∘ g) := by
   simp only [continuous_iff_le_induced, induced_compose]
 #align continuous_induced_rng continuous_induced_rng
+-/
 
 #print continuous_coinduced_rng /-
 theorem continuous_coinduced_rng {t : tspace α} : cont t (coinduced f t) f := by
@@ -851,113 +955,156 @@ theorem continuous_coinduced_rng {t : tspace α} : cont t (coinduced f t) f := b
 #align continuous_coinduced_rng continuous_coinduced_rng
 -/
 
+#print continuous_coinduced_dom /-
 theorem continuous_coinduced_dom {g : β → γ} {t₁ : tspace α} {t₂ : tspace γ} :
     cont (coinduced f t₁) t₂ g ↔ cont t₁ t₂ (g ∘ f) := by
   simp only [continuous_iff_coinduced_le, coinduced_compose]
 #align continuous_coinduced_dom continuous_coinduced_dom
+-/
 
+#print continuous_le_dom /-
 theorem continuous_le_dom {t₁ t₂ : tspace α} {t₃ : tspace β} (h₁ : t₂ ≤ t₁) (h₂ : cont t₁ t₃ f) :
     cont t₂ t₃ f := by
   rw [continuous_def] at h₂ ⊢
   intro s h
   exact h₁ _ (h₂ s h)
 #align continuous_le_dom continuous_le_dom
+-/
 
+#print continuous_le_rng /-
 theorem continuous_le_rng {t₁ : tspace α} {t₂ t₃ : tspace β} (h₁ : t₂ ≤ t₃) (h₂ : cont t₁ t₂ f) :
     cont t₁ t₃ f := by
   rw [continuous_def] at h₂ ⊢
   intro s h
   exact h₂ s (h₁ s h)
 #align continuous_le_rng continuous_le_rng
+-/
 
+#print continuous_sup_dom /-
 theorem continuous_sup_dom {t₁ t₂ : tspace α} {t₃ : tspace β} :
     cont (t₁ ⊔ t₂) t₃ f ↔ cont t₁ t₃ f ∧ cont t₂ t₃ f := by
   simp only [continuous_iff_le_induced, sup_le_iff]
 #align continuous_sup_dom continuous_sup_dom
+-/
 
+#print continuous_sup_rng_left /-
 theorem continuous_sup_rng_left {t₁ : tspace α} {t₃ t₂ : tspace β} :
     cont t₁ t₂ f → cont t₁ (t₂ ⊔ t₃) f :=
   continuous_le_rng le_sup_left
 #align continuous_sup_rng_left continuous_sup_rng_left
+-/
 
+#print continuous_sup_rng_right /-
 theorem continuous_sup_rng_right {t₁ : tspace α} {t₃ t₂ : tspace β} :
     cont t₁ t₃ f → cont t₁ (t₂ ⊔ t₃) f :=
   continuous_le_rng le_sup_right
 #align continuous_sup_rng_right continuous_sup_rng_right
+-/
 
+#print continuous_sSup_dom /-
 theorem continuous_sSup_dom {T : Set (tspace α)} {t₂ : tspace β} :
     cont (sSup T) t₂ f ↔ ∀ t ∈ T, cont t t₂ f := by
   simp only [continuous_iff_le_induced, sSup_le_iff]
 #align continuous_Sup_dom continuous_sSup_dom
+-/
 
+#print continuous_sSup_rng /-
 theorem continuous_sSup_rng {t₁ : tspace α} {t₂ : Set (tspace β)} {t : tspace β} (h₁ : t ∈ t₂)
     (hf : cont t₁ t f) : cont t₁ (sSup t₂) f :=
   continuous_iff_coinduced_le.2 <| le_sSup_of_le h₁ <| continuous_iff_coinduced_le.1 hf
 #align continuous_Sup_rng continuous_sSup_rng
+-/
 
+#print continuous_iSup_dom /-
 theorem continuous_iSup_dom {t₁ : ι → tspace α} {t₂ : tspace β} :
     cont (iSup t₁) t₂ f ↔ ∀ i, cont (t₁ i) t₂ f := by
   simp only [continuous_iff_le_induced, iSup_le_iff]
 #align continuous_supr_dom continuous_iSup_dom
+-/
 
+#print continuous_iSup_rng /-
 theorem continuous_iSup_rng {t₁ : tspace α} {t₂ : ι → tspace β} {i : ι} (h : cont t₁ (t₂ i) f) :
     cont t₁ (iSup t₂) f :=
   continuous_sSup_rng ⟨i, rfl⟩ h
 #align continuous_supr_rng continuous_iSup_rng
+-/
 
+#print continuous_inf_rng /-
 theorem continuous_inf_rng {t₁ : tspace α} {t₂ t₃ : tspace β} :
     cont t₁ (t₂ ⊓ t₃) f ↔ cont t₁ t₂ f ∧ cont t₁ t₃ f := by
   simp only [continuous_iff_coinduced_le, le_inf_iff]
 #align continuous_inf_rng continuous_inf_rng
+-/
 
+#print continuous_inf_dom_left /-
 theorem continuous_inf_dom_left {t₁ t₂ : tspace α} {t₃ : tspace β} :
     cont t₁ t₃ f → cont (t₁ ⊓ t₂) t₃ f :=
   continuous_le_dom inf_le_left
 #align continuous_inf_dom_left continuous_inf_dom_left
+-/
 
+#print continuous_inf_dom_right /-
 theorem continuous_inf_dom_right {t₁ t₂ : tspace α} {t₃ : tspace β} :
     cont t₂ t₃ f → cont (t₁ ⊓ t₂) t₃ f :=
   continuous_le_dom inf_le_right
 #align continuous_inf_dom_right continuous_inf_dom_right
+-/
 
+#print continuous_sInf_dom /-
 theorem continuous_sInf_dom {t₁ : Set (tspace α)} {t₂ : tspace β} {t : tspace α} (h₁ : t ∈ t₁) :
     cont t t₂ f → cont (sInf t₁) t₂ f :=
   continuous_le_dom <| sInf_le h₁
 #align continuous_Inf_dom continuous_sInf_dom
+-/
 
+#print continuous_sInf_rng /-
 theorem continuous_sInf_rng {t₁ : tspace α} {T : Set (tspace β)} :
     cont t₁ (sInf T) f ↔ ∀ t ∈ T, cont t₁ t f := by
   simp only [continuous_iff_coinduced_le, le_sInf_iff]
 #align continuous_Inf_rng continuous_sInf_rng
+-/
 
+#print continuous_iInf_dom /-
 theorem continuous_iInf_dom {t₁ : ι → tspace α} {t₂ : tspace β} {i : ι} :
     cont (t₁ i) t₂ f → cont (iInf t₁) t₂ f :=
   continuous_le_dom <| iInf_le _ _
 #align continuous_infi_dom continuous_iInf_dom
+-/
 
+#print continuous_iInf_rng /-
 theorem continuous_iInf_rng {t₁ : tspace α} {t₂ : ι → tspace β} :
     cont t₁ (iInf t₂) f ↔ ∀ i, cont t₁ (t₂ i) f := by
   simp only [continuous_iff_coinduced_le, le_iInf_iff]
 #align continuous_infi_rng continuous_iInf_rng
+-/
 
+#print continuous_bot /-
 @[continuity]
 theorem continuous_bot {t : tspace β} : cont ⊥ t f :=
   continuous_iff_le_induced.2 <| bot_le
 #align continuous_bot continuous_bot
+-/
 
+#print continuous_top /-
 @[continuity]
 theorem continuous_top {t : tspace α} : cont t ⊤ f :=
   continuous_iff_coinduced_le.2 <| le_top
 #align continuous_top continuous_top
+-/
 
+#print continuous_id_iff_le /-
 theorem continuous_id_iff_le {t t' : tspace α} : cont t t' id ↔ t ≤ t' :=
   @continuous_def _ _ t t' id
 #align continuous_id_iff_le continuous_id_iff_le
+-/
 
+#print continuous_id_of_le /-
 theorem continuous_id_of_le {t t' : tspace α} (h : t ≤ t') : cont t t' id :=
   continuous_id_iff_le.2 h
 #align continuous_id_of_le continuous_id_of_le
+-/
 
+#print mem_nhds_induced /-
 -- 𝓝 in the induced topology
 theorem mem_nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) (s : Set β) :
     s ∈ @nhds β (TopologicalSpace.induced f T) a ↔ ∃ u ∈ 𝓝 (f a), f ⁻¹' u ⊆ s :=
@@ -969,6 +1116,7 @@ theorem mem_nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) (s :
   rintro ⟨u, ⟨v, vsubu, openv, amem⟩, finvsub⟩
   exact ⟨f ⁻¹' v, Set.Subset.trans (Set.preimage_mono vsubu) finvsub, ⟨⟨v, openv, rfl⟩, amem⟩⟩
 #align mem_nhds_induced mem_nhds_induced
+-/
 
 #print nhds_induced /-
 theorem nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) :
@@ -1002,9 +1150,11 @@ variable {α : Type _} {β : Type _}
 
 variable [t : TopologicalSpace β] {f : α → β}
 
+#print isOpen_induced_eq /-
 theorem isOpen_induced_eq {s : Set α} : is_open[induced f t] s ↔ s ∈ preimage f '' {s | IsOpen s} :=
   Iff.rfl
 #align is_open_induced_eq isOpen_induced_eq
+-/
 
 #print isOpen_induced /-
 theorem isOpen_induced {s : Set β} (h : IsOpen s) : is_open[induced f t] (f ⁻¹' s) :=
@@ -1058,10 +1208,12 @@ theorem nhds_true : 𝓝 True = pure True :=
 #align nhds_true nhds_true
 -/
 
+#print nhds_false /-
 @[simp]
 theorem nhds_false : 𝓝 False = ⊤ :=
   TopologicalSpace.nhds_generateFrom.trans <| by simp [@and_comm (_ ∈ _)]
 #align nhds_false nhds_false
+-/
 
 #print continuous_Prop /-
 theorem continuous_Prop {p : α → Prop} : Continuous p ↔ IsOpen {x | p x} :=
@@ -1085,73 +1237,99 @@ section iInf
 
 variable {α : Type u} {ι : Sort v}
 
+#print generateFrom_union /-
 theorem generateFrom_union (a₁ a₂ : Set (Set α)) :
     TopologicalSpace.generateFrom (a₁ ∪ a₂) =
       TopologicalSpace.generateFrom a₁ ⊓ TopologicalSpace.generateFrom a₂ :=
   (TopologicalSpace.gc_generateFrom α).u_inf
 #align generate_from_union generateFrom_union
+-/
 
+#print setOf_isOpen_sup /-
 theorem setOf_isOpen_sup (t₁ t₂ : TopologicalSpace α) :
     {s | is_open[t₁ ⊔ t₂] s} = {s | is_open[t₁] s} ∩ {s | is_open[t₂] s} :=
   rfl
 #align set_of_is_open_sup setOf_isOpen_sup
+-/
 
+#print generateFrom_iUnion /-
 theorem generateFrom_iUnion {f : ι → Set (Set α)} :
     TopologicalSpace.generateFrom (⋃ i, f i) = ⨅ i, TopologicalSpace.generateFrom (f i) :=
   (TopologicalSpace.gc_generateFrom α).u_iInf
 #align generate_from_Union generateFrom_iUnion
+-/
 
+#print setOf_isOpen_iSup /-
 theorem setOf_isOpen_iSup {t : ι → TopologicalSpace α} :
     {s | is_open[⨆ i, t i] s} = ⋂ i, {s | is_open[t i] s} :=
   (TopologicalSpace.gc_generateFrom α).l_iSup
 #align set_of_is_open_supr setOf_isOpen_iSup
+-/
 
+#print generateFrom_sUnion /-
 theorem generateFrom_sUnion {S : Set (Set (Set α))} :
     TopologicalSpace.generateFrom (⋃₀ S) = ⨅ s ∈ S, TopologicalSpace.generateFrom s :=
   (TopologicalSpace.gc_generateFrom α).u_sInf
 #align generate_from_sUnion generateFrom_sUnion
+-/
 
+#print setOf_isOpen_sSup /-
 theorem setOf_isOpen_sSup {T : Set (TopologicalSpace α)} :
     {s | is_open[sSup T] s} = ⋂ t ∈ T, {s | is_open[t] s} :=
   (TopologicalSpace.gc_generateFrom α).l_sSup
 #align set_of_is_open_Sup setOf_isOpen_sSup
+-/
 
+#print generateFrom_union_isOpen /-
 theorem generateFrom_union_isOpen (a b : TopologicalSpace α) :
     TopologicalSpace.generateFrom ({s | is_open[a] s} ∪ {s | is_open[b] s}) = a ⊓ b :=
   (TopologicalSpace.gciGenerateFrom α).u_inf_l a b
 #align generate_from_union_is_open generateFrom_union_isOpen
+-/
 
+#print generateFrom_iUnion_isOpen /-
 theorem generateFrom_iUnion_isOpen (f : ι → TopologicalSpace α) :
     TopologicalSpace.generateFrom (⋃ i, {s | is_open[f i] s}) = ⨅ i, f i :=
   (TopologicalSpace.gciGenerateFrom α).u_iInf_l f
 #align generate_from_Union_is_open generateFrom_iUnion_isOpen
+-/
 
+#print generateFrom_inter /-
 theorem generateFrom_inter (a b : TopologicalSpace α) :
     TopologicalSpace.generateFrom ({s | is_open[a] s} ∩ {s | is_open[b] s}) = a ⊔ b :=
   (TopologicalSpace.gciGenerateFrom α).u_sup_l a b
 #align generate_from_inter generateFrom_inter
+-/
 
+#print generateFrom_iInter /-
 theorem generateFrom_iInter (f : ι → TopologicalSpace α) :
     TopologicalSpace.generateFrom (⋂ i, {s | is_open[f i] s}) = ⨆ i, f i :=
   (TopologicalSpace.gciGenerateFrom α).u_iSup_l f
 #align generate_from_Inter generateFrom_iInter
+-/
 
+#print generateFrom_iInter_of_generateFrom_eq_self /-
 theorem generateFrom_iInter_of_generateFrom_eq_self (f : ι → Set (Set α))
     (hf : ∀ i, {s | is_open[TopologicalSpace.generateFrom (f i)] s} = f i) :
     TopologicalSpace.generateFrom (⋂ i, f i) = ⨆ i, TopologicalSpace.generateFrom (f i) :=
   (TopologicalSpace.gciGenerateFrom α).u_iSup_of_lu_eq_self f hf
 #align generate_from_Inter_of_generate_from_eq_self generateFrom_iInter_of_generateFrom_eq_self
+-/
 
 variable {t : ι → TopologicalSpace α}
 
+#print isOpen_iSup_iff /-
 theorem isOpen_iSup_iff {s : Set α} : is_open[⨆ i, t i] s ↔ ∀ i, is_open[t i] s :=
   show s ∈ setOf is_open[iSup t] ↔ s ∈ {x : Set α | ∀ i : ι, is_open[t i] x} by
     simp [setOf_isOpen_iSup]
 #align is_open_supr_iff isOpen_iSup_iff
+-/
 
+#print isClosed_iSup_iff /-
 theorem isClosed_iSup_iff {s : Set α} : is_closed[⨆ i, t i] s ↔ ∀ i, is_closed[t i] s := by
   simp [← isOpen_compl_iff, isOpen_iSup_iff]
 #align is_closed_supr_iff isClosed_iSup_iff
+-/
 
 end iInf
 
Diff
@@ -753,7 +753,7 @@ theorem isOpen_singleton_nhdsAdjoint {α : Type _} {a b : α} (f : Filter α) (h
 #align is_open_singleton_nhds_adjoint isOpen_singleton_nhdsAdjoint
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (b «expr ≠ » a) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (b «expr ≠ » a) -/
 theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ (b) (_ : b ≠ a), @nhds α t b = pure b :=
   by
Diff
@@ -89,7 +89,7 @@ theorem isOpen_generateFrom_of_mem {g : Set (Set α)} {s : Set α} (hs : s ∈ g
 -/
 
 theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
-    @nhds α (generateFrom g) a = ⨅ s ∈ { s | a ∈ s ∧ s ∈ g }, 𝓟 s :=
+    @nhds α (generateFrom g) a = ⨅ s ∈ {s | a ∈ s ∧ s ∈ g}, 𝓟 s :=
   by
   rw [nhds_def]
   refine' le_antisymm (biInf_mono fun s ⟨as, sg⟩ => ⟨as, generate_open.basic _ sg⟩) _
@@ -128,8 +128,8 @@ theorem nhds_mkOfNhds (n : α → Filter α) (a : α) (h₀ : pure ≤ n)
   by
   letI := TopologicalSpace.mkOfNhds n
   refine' le_antisymm (fun s hs => _) fun s hs => _
-  · have h₀ : { b | s ∈ n b } ⊆ s := fun b hb => mem_pure.1 <| h₀ b hb
-    have h₁ : { b | s ∈ n b } ∈ 𝓝 a :=
+  · have h₀ : {b | s ∈ n b} ⊆ s := fun b hb => mem_pure.1 <| h₀ b hb
+    have h₁ : {b | s ∈ n b} ∈ 𝓝 a :=
       by
       refine' IsOpen.mem_nhds (fun b (hb : s ∈ n b) => _) hs
       rcases h₁ _ _ hb with ⟨t, ht, hts, h⟩
@@ -181,7 +181,7 @@ protected theorem le_def {α} {t s : TopologicalSpace α} : t ≤ s ↔ is_open[
 #align topological_space.le_def TopologicalSpace.le_def
 
 theorem le_generateFrom_iff_subset_isOpen {g : Set (Set α)} {t : TopologicalSpace α} :
-    t ≤ TopologicalSpace.generateFrom g ↔ g ⊆ { s | is_open[t] s } :=
+    t ≤ TopologicalSpace.generateFrom g ↔ g ⊆ {s | is_open[t] s} :=
   ⟨fun ht s hs => ht _ <| GenerateOpen.basic s hs, fun hg s hs =>
     hs.recOn (fun v hv => hg hv) t.isOpen_univ (fun u v _ _ => t.isOpen_inter u v) fun k _ =>
       t.isOpen_sUnion k⟩
@@ -190,7 +190,7 @@ theorem le_generateFrom_iff_subset_isOpen {g : Set (Set α)} {t : TopologicalSpa
 #print TopologicalSpace.mkOfClosure /-
 /-- If `s` equals the collection of open sets in the topology it generates, then `s` defines a
 topology. -/
-protected def mkOfClosure (s : Set (Set α)) (hs : { u | GenerateOpen s u } = s) : TopologicalSpace α
+protected def mkOfClosure (s : Set (Set α)) (hs : {u | GenerateOpen s u} = s) : TopologicalSpace α
     where
   IsOpen u := u ∈ s
   isOpen_univ := hs ▸ TopologicalSpace.GenerateOpen.univ
@@ -200,7 +200,7 @@ protected def mkOfClosure (s : Set (Set α)) (hs : { u | GenerateOpen s u } = s)
 -/
 
 #print TopologicalSpace.mkOfClosure_sets /-
-theorem mkOfClosure_sets {s : Set (Set α)} {hs : { u | GenerateOpen s u } = s} :
+theorem mkOfClosure_sets {s : Set (Set α)} {hs : {u | GenerateOpen s u} = s} :
     TopologicalSpace.mkOfClosure s hs = TopologicalSpace.generateFrom s :=
   topologicalSpace_eq hs.symm
 #align topological_space.mk_of_closure_sets TopologicalSpace.mkOfClosure_sets
@@ -208,7 +208,7 @@ theorem mkOfClosure_sets {s : Set (Set α)} {hs : { u | GenerateOpen s u } = s}
 
 #print TopologicalSpace.gc_generateFrom /-
 theorem gc_generateFrom (α) :
-    GaloisConnection (fun t : TopologicalSpace α => OrderDual.toDual { s | is_open[t] s })
+    GaloisConnection (fun t : TopologicalSpace α => OrderDual.toDual {s | is_open[t] s})
       (generateFrom ∘ OrderDual.ofDual) :=
   fun _ _ => le_generateFrom_iff_subset_isOpen.symm
 #align topological_space.gc_generate_from TopologicalSpace.gc_generateFrom
@@ -220,7 +220,7 @@ Case conversion may be inaccurate. Consider using '#align topological_space.gci_
   sends a topology to its collection of open subsets, and whose upper part sends a collection of
   subsets of α to the topology they generate. -/
 def gciGenerateFrom (α : Type _) :
-    GaloisCoinsertion (fun t : TopologicalSpace α => OrderDual.toDual { s | is_open[t] s })
+    GaloisCoinsertion (fun t : TopologicalSpace α => OrderDual.toDual {s | is_open[t] s})
       (generateFrom ∘ OrderDual.ofDual)
     where
   gc := gc_generateFrom α
@@ -245,15 +245,14 @@ theorem generateFrom_anti {α} {g₁ g₂ : Set (Set α)} (h : g₁ ⊆ g₂) :
 #align topological_space.generate_from_anti TopologicalSpace.generateFrom_anti
 
 #print TopologicalSpace.generateFrom_setOf_isOpen /-
-theorem generateFrom_setOf_isOpen (t : TopologicalSpace α) :
-    generateFrom { s | is_open[t] s } = t :=
+theorem generateFrom_setOf_isOpen (t : TopologicalSpace α) : generateFrom {s | is_open[t] s} = t :=
   (gciGenerateFrom α).u_l_eq t
 #align topological_space.generate_from_set_of_is_open TopologicalSpace.generateFrom_setOf_isOpen
 -/
 
 #print TopologicalSpace.leftInverse_generateFrom /-
 theorem leftInverse_generateFrom :
-    LeftInverse generateFrom fun t : TopologicalSpace α => { s | is_open[t] s } :=
+    LeftInverse generateFrom fun t : TopologicalSpace α => {s | is_open[t] s} :=
   (gciGenerateFrom α).u_l_leftInverse
 #align topological_space.left_inverse_generate_from TopologicalSpace.leftInverse_generateFrom
 -/
@@ -265,7 +264,7 @@ theorem generateFrom_surjective : Surjective (generateFrom : Set (Set α) → To
 -/
 
 #print TopologicalSpace.setOf_isOpen_injective /-
-theorem setOf_isOpen_injective : Injective fun t : TopologicalSpace α => { s | is_open[t] s } :=
+theorem setOf_isOpen_injective : Injective fun t : TopologicalSpace α => {s | is_open[t] s} :=
   (gciGenerateFrom α).l_injective
 #align topological_space.set_of_is_open_injective TopologicalSpace.setOf_isOpen_injective
 -/
@@ -300,14 +299,14 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
     · cases h; · exact Or.inr rfl
     · obtain ⟨rfl | rfl, rfl | rfl⟩ := ih₁, ih₂ <;> simp
     · rw [sUnion_eq_empty, or_iff_not_imp_left]
-      intro h; push_neg  at h ; obtain ⟨U, hU, hne⟩ := h
+      intro h; push_neg at h ; obtain ⟨U, hU, hne⟩ := h
       have := (ih U hU).resolve_left hne; subst this
       refine' sUnion_eq_univ_iff.2 fun a => ⟨_, hU, trivial⟩, by rintro (rfl | rfl);
     exacts [@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
 #align topological_space.is_open_top_iff TopologicalSpace.isOpen_top_iff
 
 #print DiscreteTopology /-
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
 /-- A topological space is discrete if every set is open, that is,
   its topology equals the discrete topology `⊥`. -/
 class DiscreteTopology (α : Type _) [t : TopologicalSpace α] : Prop where
@@ -1003,8 +1002,7 @@ variable {α : Type _} {β : Type _}
 
 variable [t : TopologicalSpace β] {f : α → β}
 
-theorem isOpen_induced_eq {s : Set α} :
-    is_open[induced f t] s ↔ s ∈ preimage f '' { s | IsOpen s } :=
+theorem isOpen_induced_eq {s : Set α} : is_open[induced f t] s ↔ s ∈ preimage f '' {s | IsOpen s} :=
   Iff.rfl
 #align is_open_induced_eq isOpen_induced_eq
 
@@ -1066,11 +1064,11 @@ theorem nhds_false : 𝓝 False = ⊤ :=
 #align nhds_false nhds_false
 
 #print continuous_Prop /-
-theorem continuous_Prop {p : α → Prop} : Continuous p ↔ IsOpen { x | p x } :=
+theorem continuous_Prop {p : α → Prop} : Continuous p ↔ IsOpen {x | p x} :=
   ⟨fun h : Continuous p =>
     by
     have : IsOpen (p ⁻¹' {True}) := isOpen_singleton_true.Preimage h
-    simpa [preimage, eq_true_iff] using this, fun h : IsOpen { x | p x } =>
+    simpa [preimage, eq_true_iff] using this, fun h : IsOpen {x | p x} =>
     continuous_generateFrom fun s (hs : s = {True}) => by simp [hs, preimage, eq_true_iff, h]⟩
 #align continuous_Prop continuous_Prop
 -/
@@ -1094,7 +1092,7 @@ theorem generateFrom_union (a₁ a₂ : Set (Set α)) :
 #align generate_from_union generateFrom_union
 
 theorem setOf_isOpen_sup (t₁ t₂ : TopologicalSpace α) :
-    { s | is_open[t₁ ⊔ t₂] s } = { s | is_open[t₁] s } ∩ { s | is_open[t₂] s } :=
+    {s | is_open[t₁ ⊔ t₂] s} = {s | is_open[t₁] s} ∩ {s | is_open[t₂] s} :=
   rfl
 #align set_of_is_open_sup setOf_isOpen_sup
 
@@ -1104,7 +1102,7 @@ theorem generateFrom_iUnion {f : ι → Set (Set α)} :
 #align generate_from_Union generateFrom_iUnion
 
 theorem setOf_isOpen_iSup {t : ι → TopologicalSpace α} :
-    { s | is_open[⨆ i, t i] s } = ⋂ i, { s | is_open[t i] s } :=
+    {s | is_open[⨆ i, t i] s} = ⋂ i, {s | is_open[t i] s} :=
   (TopologicalSpace.gc_generateFrom α).l_iSup
 #align set_of_is_open_supr setOf_isOpen_iSup
 
@@ -1114,32 +1112,32 @@ theorem generateFrom_sUnion {S : Set (Set (Set α))} :
 #align generate_from_sUnion generateFrom_sUnion
 
 theorem setOf_isOpen_sSup {T : Set (TopologicalSpace α)} :
-    { s | is_open[sSup T] s } = ⋂ t ∈ T, { s | is_open[t] s } :=
+    {s | is_open[sSup T] s} = ⋂ t ∈ T, {s | is_open[t] s} :=
   (TopologicalSpace.gc_generateFrom α).l_sSup
 #align set_of_is_open_Sup setOf_isOpen_sSup
 
 theorem generateFrom_union_isOpen (a b : TopologicalSpace α) :
-    TopologicalSpace.generateFrom ({ s | is_open[a] s } ∪ { s | is_open[b] s }) = a ⊓ b :=
+    TopologicalSpace.generateFrom ({s | is_open[a] s} ∪ {s | is_open[b] s}) = a ⊓ b :=
   (TopologicalSpace.gciGenerateFrom α).u_inf_l a b
 #align generate_from_union_is_open generateFrom_union_isOpen
 
 theorem generateFrom_iUnion_isOpen (f : ι → TopologicalSpace α) :
-    TopologicalSpace.generateFrom (⋃ i, { s | is_open[f i] s }) = ⨅ i, f i :=
+    TopologicalSpace.generateFrom (⋃ i, {s | is_open[f i] s}) = ⨅ i, f i :=
   (TopologicalSpace.gciGenerateFrom α).u_iInf_l f
 #align generate_from_Union_is_open generateFrom_iUnion_isOpen
 
 theorem generateFrom_inter (a b : TopologicalSpace α) :
-    TopologicalSpace.generateFrom ({ s | is_open[a] s } ∩ { s | is_open[b] s }) = a ⊔ b :=
+    TopologicalSpace.generateFrom ({s | is_open[a] s} ∩ {s | is_open[b] s}) = a ⊔ b :=
   (TopologicalSpace.gciGenerateFrom α).u_sup_l a b
 #align generate_from_inter generateFrom_inter
 
 theorem generateFrom_iInter (f : ι → TopologicalSpace α) :
-    TopologicalSpace.generateFrom (⋂ i, { s | is_open[f i] s }) = ⨆ i, f i :=
+    TopologicalSpace.generateFrom (⋂ i, {s | is_open[f i] s}) = ⨆ i, f i :=
   (TopologicalSpace.gciGenerateFrom α).u_iSup_l f
 #align generate_from_Inter generateFrom_iInter
 
 theorem generateFrom_iInter_of_generateFrom_eq_self (f : ι → Set (Set α))
-    (hf : ∀ i, { s | is_open[TopologicalSpace.generateFrom (f i)] s } = f i) :
+    (hf : ∀ i, {s | is_open[TopologicalSpace.generateFrom (f i)] s} = f i) :
     TopologicalSpace.generateFrom (⋂ i, f i) = ⨆ i, TopologicalSpace.generateFrom (f i) :=
   (TopologicalSpace.gciGenerateFrom α).u_iSup_of_lu_eq_self f hf
 #align generate_from_Inter_of_generate_from_eq_self generateFrom_iInter_of_generateFrom_eq_self
@@ -1147,7 +1145,7 @@ theorem generateFrom_iInter_of_generateFrom_eq_self (f : ι → Set (Set α))
 variable {t : ι → TopologicalSpace α}
 
 theorem isOpen_iSup_iff {s : Set α} : is_open[⨆ i, t i] s ↔ ∀ i, is_open[t i] s :=
-  show s ∈ setOf is_open[iSup t] ↔ s ∈ { x : Set α | ∀ i : ι, is_open[t i] x } by
+  show s ∈ setOf is_open[iSup t] ↔ s ∈ {x : Set α | ∀ i : ι, is_open[t i] x} by
     simp [setOf_isOpen_iSup]
 #align is_open_supr_iff isOpen_iSup_iff
 
Diff
@@ -150,7 +150,7 @@ theorem nhds_mkOfNhds_single [DecidableEq α] {a₀ : α} {l : Filter α} (h : p
     · exact hs
     · rwa [update_noteq hb]
   · have hs' := hs
-    rw [update_noteq ha] at hs⊢
+    rw [update_noteq ha] at hs ⊢
     exact ⟨{a}, rfl, singleton_subset_iff.mpr hs, forall_eq.2 hs'⟩
 #align topological_space.nhds_mk_of_nhds_single TopologicalSpace.nhds_mkOfNhds_single
 
@@ -300,10 +300,10 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
     · cases h; · exact Or.inr rfl
     · obtain ⟨rfl | rfl, rfl | rfl⟩ := ih₁, ih₂ <;> simp
     · rw [sUnion_eq_empty, or_iff_not_imp_left]
-      intro h; push_neg  at h; obtain ⟨U, hU, hne⟩ := h
+      intro h; push_neg  at h ; obtain ⟨U, hU, hne⟩ := h
       have := (ih U hU).resolve_left hne; subst this
       refine' sUnion_eq_univ_iff.2 fun a => ⟨_, hU, trivial⟩, by rintro (rfl | rfl);
-    exacts[@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
+    exacts [@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
 #align topological_space.is_open_top_iff TopologicalSpace.isOpen_top_iff
 
 #print DiscreteTopology /-
@@ -426,7 +426,7 @@ def TopologicalSpace.induced {α : Type u} {β : Type v} (f : α → β) (t : To
     rintro s₁ s₂ ⟨s'₁, hs₁, rfl⟩ ⟨s'₂, hs₂, rfl⟩ <;>
       exact ⟨s'₁ ∩ s'₂, hs₁.inter hs₂, preimage_inter⟩
   isOpen_sUnion s h := by
-    simp only [Classical.skolem] at h
+    simp only [Classical.skolem] at h 
     cases' h with f hf
     apply Exists.intro (⋃ (x : Set α) (h : x ∈ s), f x h)
     simp only [sUnion_eq_bUnion, preimage_Union, fun x h => (hf x h).right]; refine' ⟨_, rfl⟩
@@ -763,11 +763,11 @@ theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : Topologi
   · intro h
     constructor
     · specialize h a
-      rwa [nhdsAdjoint_nhds] at h
+      rwa [nhdsAdjoint_nhds] at h 
     · intro b hb
       apply le_antisymm _ (pure_le_nhds b)
       specialize h b
-      rwa [nhdsAdjoint_nhds_of_ne a f hb] at h
+      rwa [nhdsAdjoint_nhds_of_ne a f hb] at h 
   · rintro ⟨h, h'⟩ b
     by_cases hb : b = a
     · rwa [hb, nhdsAdjoint_nhds]
@@ -859,14 +859,14 @@ theorem continuous_coinduced_dom {g : β → γ} {t₁ : tspace α} {t₂ : tspa
 
 theorem continuous_le_dom {t₁ t₂ : tspace α} {t₃ : tspace β} (h₁ : t₂ ≤ t₁) (h₂ : cont t₁ t₃ f) :
     cont t₂ t₃ f := by
-  rw [continuous_def] at h₂⊢
+  rw [continuous_def] at h₂ ⊢
   intro s h
   exact h₁ _ (h₂ s h)
 #align continuous_le_dom continuous_le_dom
 
 theorem continuous_le_rng {t₁ : tspace α} {t₂ t₃ : tspace β} (h₁ : t₂ ≤ t₃) (h₂ : cont t₁ t₂ f) :
     cont t₁ t₃ f := by
-  rw [continuous_def] at h₂⊢
+  rw [continuous_def] at h₂ ⊢
   intro s h
   exact h₂ s (h₁ s h)
 #align continuous_le_rng continuous_le_rng
@@ -966,7 +966,7 @@ theorem mem_nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) (s :
   simp only [mem_nhds_iff, isOpen_induced_iff, exists_prop, Set.mem_setOf_eq]
   constructor
   · rintro ⟨u, usub, ⟨v, openv, ueq⟩, au⟩
-    exact ⟨v, ⟨v, Set.Subset.refl v, openv, by rwa [← ueq] at au⟩, by rw [ueq] <;> exact usub⟩
+    exact ⟨v, ⟨v, Set.Subset.refl v, openv, by rwa [← ueq] at au ⟩, by rw [ueq] <;> exact usub⟩
   rintro ⟨u, ⟨v, vsubu, openv, amem⟩, finvsub⟩
   exact ⟨f ⁻¹' v, Set.Subset.trans (Set.preimage_mono vsubu) finvsub, ⟨⟨v, openv, rfl⟩, amem⟩⟩
 #align mem_nhds_induced mem_nhds_induced
Diff
@@ -52,7 +52,7 @@ finer, coarser, induced topology, coinduced topology
 
 open Function Set Filter
 
-open Topology Filter
+open scoped Topology Filter
 
 universe u v w
 
Diff
@@ -88,12 +88,6 @@ theorem isOpen_generateFrom_of_mem {g : Set (Set α)} {s : Set α} (hs : s ∈ g
 #align topological_space.is_open_generate_from_of_mem TopologicalSpace.isOpen_generateFrom_of_mem
 -/
 
-/- warning: topological_space.nhds_generate_from -> TopologicalSpace.nhds_generateFrom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.generateFrom.{u1} α g) a) (iInf.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (Set.{u1} α) (fun (s : Set.{u1} α) => iInf.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s g)))) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s g)))) => Filter.principal.{u1} α s)))
-but is expected to have type
-  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.generateFrom.{u1} α g) a) (iInf.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (Set.{u1} α) (fun (s : Set.{u1} α) => iInf.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a s) (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s g)))) (fun (H : Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a s) (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s g)))) => Filter.principal.{u1} α s)))
-Case conversion may be inaccurate. Consider using '#align topological_space.nhds_generate_from TopologicalSpace.nhds_generateFromₓ'. -/
 theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
     @nhds α (generateFrom g) a = ⨅ s ∈ { s | a ∈ s ∧ s ∈ g }, 𝓟 s :=
   by
@@ -109,12 +103,6 @@ theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
     exact (hS t htS hat).trans (principal_mono.2 <| subset_sUnion_of_mem htS)
 #align topological_space.nhds_generate_from TopologicalSpace.nhds_generateFrom
 
-/- warning: topological_space.tendsto_nhds_generate_from -> TopologicalSpace.tendsto_nhds_generateFrom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {m : α -> β} {f : Filter.{u1} α} {g : Set.{u2} (Set.{u2} β)} {b : β}, (forall (s : Set.{u2} β), (Membership.Mem.{u2, u2} (Set.{u2} β) (Set.{u2} (Set.{u2} β)) (Set.hasMem.{u2} (Set.{u2} β)) s g) -> (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) b s) -> (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) (Set.preimage.{u1, u2} α β m s) f)) -> (Filter.Tendsto.{u1, u2} α β m f (nhds.{u2} β (TopologicalSpace.generateFrom.{u2} β g) b))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {m : α -> β} {f : Filter.{u2} α} {g : Set.{u1} (Set.{u1} β)} {b : β}, (forall (s : Set.{u1} β), (Membership.mem.{u1, u1} (Set.{u1} β) (Set.{u1} (Set.{u1} β)) (Set.instMembershipSet.{u1} (Set.{u1} β)) s g) -> (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) b s) -> (Membership.mem.{u2, u2} (Set.{u2} α) (Filter.{u2} α) (instMembershipSetFilter.{u2} α) (Set.preimage.{u2, u1} α β m s) f)) -> (Filter.Tendsto.{u2, u1} α β m f (nhds.{u1} β (TopologicalSpace.generateFrom.{u1} β g) b))
-Case conversion may be inaccurate. Consider using '#align topological_space.tendsto_nhds_generate_from TopologicalSpace.tendsto_nhds_generateFromₓ'. -/
 theorem tendsto_nhds_generateFrom {β : Type _} {m : α → β} {f : Filter α} {g : Set (Set β)} {b : β}
     (h : ∀ s ∈ g, b ∈ s → m ⁻¹' s ∈ f) : Tendsto m f (@nhds β (generateFrom g) b) := by
   rw [nhds_generate_from] <;>
@@ -134,12 +122,6 @@ protected def mkOfNhds (n : α → Filter α) : TopologicalSpace α
 #align topological_space.mk_of_nhds TopologicalSpace.mkOfNhds
 -/
 
-/- warning: topological_space.nhds_mk_of_nhds -> TopologicalSpace.nhds_mkOfNhds is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (n : α -> (Filter.{u1} α)) (a : α), (LE.le.{u1} (α -> (Filter.{u1} α)) (Pi.hasLe.{u1, u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (i : α) => Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α)))) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α) n) -> (forall (a : α) (s : Set.{u1} α), (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (n a)) -> (Exists.{succ u1} (Set.{u1} α) (fun (t : Set.{u1} α) => Exists.{0} (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) t (n a)) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) t (n a)) => And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) t s) (forall (a' : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a' t) -> (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (n a'))))))) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α n) a) (n a))
-but is expected to have type
-  forall {α : Type.{u1}} (n : α -> (Filter.{u1} α)) (a : α), (LE.le.{u1} (α -> (Filter.{u1} α)) (Pi.hasLe.{u1, u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (i : α) => Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α)))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α) n) -> (forall (a : α) (s : Set.{u1} α), (Membership.mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (instMembershipSetFilter.{u1} α) s (n a)) -> (Exists.{succ u1} (Set.{u1} α) (fun (t : Set.{u1} α) => And (Membership.mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (instMembershipSetFilter.{u1} α) t (n a)) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) t s) (forall (a' : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a' t) -> (Membership.mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (instMembershipSetFilter.{u1} α) s (n a'))))))) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α n) a) (n a))
-Case conversion may be inaccurate. Consider using '#align topological_space.nhds_mk_of_nhds TopologicalSpace.nhds_mkOfNhdsₓ'. -/
 theorem nhds_mkOfNhds (n : α → Filter α) (a : α) (h₀ : pure ≤ n)
     (h₁ : ∀ a s, s ∈ n a → ∃ t ∈ n a, t ⊆ s ∧ ∀ a' ∈ t, s ∈ n a') :
     @nhds α (TopologicalSpace.mkOfNhds n) a = n a :=
@@ -157,12 +139,6 @@ theorem nhds_mkOfNhds (n : α → Filter α) (a : α) (h₀ : pure ≤ n)
     exact (n a).sets_of_superset (ht _ hat) hts
 #align topological_space.nhds_mk_of_nhds TopologicalSpace.nhds_mkOfNhds
 
-/- warning: topological_space.nhds_mk_of_nhds_single -> TopologicalSpace.nhds_mkOfNhds_single is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] {a₀ : α} {l : Filter.{u1} α}, (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α a₀) l) -> (forall (b : α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α) a₀ l)) b) (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α) a₀ l b))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] {a₀ : α} {l : Filter.{u1} α}, (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a₀) l) -> (forall (b : α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α) a₀ l)) b) (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α) a₀ l b))
-Case conversion may be inaccurate. Consider using '#align topological_space.nhds_mk_of_nhds_single TopologicalSpace.nhds_mkOfNhds_singleₓ'. -/
 theorem nhds_mkOfNhds_single [DecidableEq α] {a₀ : α} {l : Filter α} (h : pure a₀ ≤ l) (b : α) :
     @nhds α (TopologicalSpace.mkOfNhds <| update pure a₀ l) b =
       (update pure a₀ l : α → Filter α) b :=
@@ -178,12 +154,6 @@ theorem nhds_mkOfNhds_single [DecidableEq α] {a₀ : α} {l : Filter α} (h : p
     exact ⟨{a}, rfl, singleton_subset_iff.mpr hs, forall_eq.2 hs'⟩
 #align topological_space.nhds_mk_of_nhds_single TopologicalSpace.nhds_mkOfNhds_single
 
-/- warning: topological_space.nhds_mk_of_nhds_filter_basis -> TopologicalSpace.nhds_mkOfNhds_filterBasis is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (B : α -> (FilterBasis.{u1} α)) (a : α), (forall (x : α) (n : Set.{u1} α), (Membership.Mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (FilterBasis.hasMem.{u1} α) n (B x)) -> (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x n)) -> (forall (x : α) (n : Set.{u1} α), (Membership.Mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (FilterBasis.hasMem.{u1} α) n (B x)) -> (Exists.{succ u1} (Set.{u1} α) (fun (n₁ : Set.{u1} α) => Exists.{0} (Membership.Mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (FilterBasis.hasMem.{u1} α) n₁ (B x)) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (FilterBasis.hasMem.{u1} α) n₁ (B x)) => And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) n₁ n) (forall (x' : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x' n₁) -> (Exists.{succ u1} (Set.{u1} α) (fun (n₂ : Set.{u1} α) => Exists.{0} (Membership.Mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (FilterBasis.hasMem.{u1} α) n₂ (B x')) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (FilterBasis.hasMem.{u1} α) n₂ (B x')) => HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) n₂ n)))))))) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α (fun (x : α) => FilterBasis.filter.{u1} α (B x))) a) (FilterBasis.filter.{u1} α (B a)))
-but is expected to have type
-  forall {α : Type.{u1}} (B : α -> (FilterBasis.{u1} α)) (a : α), (forall (x : α) (n : Set.{u1} α), (Membership.mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (instMembershipSetFilterBasis.{u1} α) n (B x)) -> (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x n)) -> (forall (x : α) (n : Set.{u1} α), (Membership.mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (instMembershipSetFilterBasis.{u1} α) n (B x)) -> (Exists.{succ u1} (Set.{u1} α) (fun (n₁ : Set.{u1} α) => And (Membership.mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (instMembershipSetFilterBasis.{u1} α) n₁ (B x)) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) n₁ n) (forall (x' : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x' n₁) -> (Exists.{succ u1} (Set.{u1} α) (fun (n₂ : Set.{u1} α) => And (Membership.mem.{u1, u1} (Set.{u1} α) (FilterBasis.{u1} α) (instMembershipSetFilterBasis.{u1} α) n₂ (B x')) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) n₂ n)))))))) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α (fun (x : α) => FilterBasis.filter.{u1} α (B x))) a) (FilterBasis.filter.{u1} α (B a)))
-Case conversion may be inaccurate. Consider using '#align topological_space.nhds_mk_of_nhds_filter_basis TopologicalSpace.nhds_mkOfNhds_filterBasisₓ'. -/
 theorem nhds_mkOfNhds_filterBasis (B : α → FilterBasis α) (a : α) (h₀ : ∀ (x), ∀ n ∈ B x, x ∈ n)
     (h₁ : ∀ (x), ∀ n ∈ B x, ∃ n₁ ∈ B x, n₁ ⊆ n ∧ ∀ x' ∈ n₁, ∃ n₂ ∈ B x', n₂ ⊆ n) :
     @nhds α (TopologicalSpace.mkOfNhds fun x => (B x).filterₓ) a = (B a).filterₓ :=
@@ -206,22 +176,10 @@ instance : PartialOrder (TopologicalSpace α) :=
   { PartialOrder.lift (fun s => OrderDual.toDual is_open[s]) fun _ _ => topologicalSpace_eq with
     le := fun s t => ∀ U, is_open[t] U → is_open[s] U }
 
-/- warning: topological_space.le_def -> TopologicalSpace.le_def is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {s : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t s) (LE.le.{u1} ((Set.{u1} α) -> Prop) (Pi.hasLe.{u1, 0} (Set.{u1} α) (fun (s : Set.{u1} α) => Prop) (fun (i : Set.{u1} α) => Prop.le)) (IsOpen.{u1} α s) (IsOpen.{u1} α t))
-but is expected to have type
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {s : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t s) (LE.le.{u1} ((Set.{u1} α) -> Prop) (Pi.hasLe.{u1, 0} (Set.{u1} α) (fun (s : Set.{u1} α) => Prop) (fun (i : Set.{u1} α) => Prop.le)) (IsOpen.{u1} α s) (IsOpen.{u1} α t))
-Case conversion may be inaccurate. Consider using '#align topological_space.le_def TopologicalSpace.le_defₓ'. -/
 protected theorem le_def {α} {t s : TopologicalSpace α} : t ≤ s ↔ is_open[s] ≤ is_open[t] :=
   Iff.rfl
 #align topological_space.le_def TopologicalSpace.le_def
 
-/- warning: topological_space.le_generate_from_iff_subset_is_open -> TopologicalSpace.le_generateFrom_iff_subset_isOpen is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {t : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g)) (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasSubset.{u1} (Set.{u1} α)) g (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s)))
-but is expected to have type
-  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {t : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g)) (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.instHasSubsetSet.{u1} (Set.{u1} α)) g (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s)))
-Case conversion may be inaccurate. Consider using '#align topological_space.le_generate_from_iff_subset_is_open TopologicalSpace.le_generateFrom_iff_subset_isOpenₓ'. -/
 theorem le_generateFrom_iff_subset_isOpen {g : Set (Set α)} {t : TopologicalSpace α} :
     t ≤ TopologicalSpace.generateFrom g ↔ g ⊆ { s | is_open[t] s } :=
   ⟨fun ht s hs => ht _ <| GenerateOpen.basic s hs, fun hg s hs =>
@@ -257,11 +215,6 @@ theorem gc_generateFrom (α) :
 -/
 
 /- warning: topological_space.gci_generate_from clashes with gi_generate_from -> TopologicalSpace.gciGenerateFrom
-warning: topological_space.gci_generate_from -> TopologicalSpace.gciGenerateFrom is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}), GaloisCoinsertion.{u1, u1} (TopologicalSpace.{u1} α) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α)) (OrderDual.preorder.{u1} (Set.{u1} (Set.{u1} α)) (PartialOrder.toPreorder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (Set.{u1} α)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (Set.{u1} α)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (Set.{u1} α)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (Set.{u1} α)) (Set.completeBooleanAlgebra.{u1} (Set.{u1} α))))))))) (fun (t : TopologicalSpace.{u1} α) => coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (fun (_x : Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) => (Set.{u1} (Set.{u1} α)) -> (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (Equiv.hasCoeToFun.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (OrderDual.toDual.{u1} (Set.{u1} (Set.{u1} α))) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))) (Function.comp.{succ u1, succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α)) (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (fun (_x : Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) => (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) -> (Set.{u1} (Set.{u1} α))) (Equiv.hasCoeToFun.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.ofDual.{u1} (Set.{u1} (Set.{u1} α)))))
-but is expected to have type
-  forall (α : Type.{u1}), GaloisCoinsertion.{u1, u1} (TopologicalSpace.{u1} α) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α)) (OrderDual.preorder.{u1} (Set.{u1} (Set.{u1} α)) (PartialOrder.toPreorder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (Set.{u1} α)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (Set.{u1} α)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (Set.{u1} α)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (Set.{u1} α)) (Set.instCompleteBooleanAlgebraSet.{u1} (Set.{u1} α))))))))) (fun (t : TopologicalSpace.{u1} α) => FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (Set.{u1} (Set.{u1} α)) (fun (_x : Set.{u1} (Set.{u1} α)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Set.{u1} (Set.{u1} α)) => OrderDual.{u1} (Set.{u1} (Set.{u1} α))) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (OrderDual.toDual.{u1} (Set.{u1} (Set.{u1} α))) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))) (Function.comp.{succ u1, succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α)) (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (fun (_x : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => Set.{u1} (Set.{u1} α)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.ofDual.{u1} (Set.{u1} (Set.{u1} α)))))
 Case conversion may be inaccurate. Consider using '#align topological_space.gci_generate_from TopologicalSpace.gciGenerateFromₓ'. -/
 /-- The Galois coinsertion between `topological_space α` and `(set (set α))ᵒᵈ` whose lower part
   sends a topology to its collection of open subsets, and whose upper part sends a collection of
@@ -285,12 +238,6 @@ def gciGenerateFrom (α : Type _) :
 instance : CompleteLattice (TopologicalSpace α) :=
   (gciGenerateFrom α).liftCompleteLattice
 
-/- warning: topological_space.generate_from_anti -> TopologicalSpace.generateFrom_anti is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {g₁ : Set.{u1} (Set.{u1} α)} {g₂ : Set.{u1} (Set.{u1} α)}, (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasSubset.{u1} (Set.{u1} α)) g₁ g₂) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) (TopologicalSpace.generateFrom.{u1} α g₂) (TopologicalSpace.generateFrom.{u1} α g₁))
-but is expected to have type
-  forall {α : Type.{u1}} {g₁ : Set.{u1} (Set.{u1} α)} {g₂ : Set.{u1} (Set.{u1} α)}, (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.instHasSubsetSet.{u1} (Set.{u1} α)) g₁ g₂) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) (TopologicalSpace.generateFrom.{u1} α g₂) (TopologicalSpace.generateFrom.{u1} α g₁))
-Case conversion may be inaccurate. Consider using '#align topological_space.generate_from_anti TopologicalSpace.generateFrom_antiₓ'. -/
 @[mono]
 theorem generateFrom_anti {α} {g₁ g₂ : Set (Set α)} (h : g₁ ⊆ g₂) :
     generateFrom g₂ ≤ generateFrom g₁ :=
@@ -331,45 +278,21 @@ section Lattice
 
 variable {α : Type u} {β : Type v}
 
-/- warning: is_open.mono -> IsOpen.mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsOpen.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (IsOpen.{u1} α t₁ s)
-but is expected to have type
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsOpen.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ t₂) -> (IsOpen.{u1} α t₁ s)
-Case conversion may be inaccurate. Consider using '#align is_open.mono IsOpen.monoₓ'. -/
 theorem IsOpen.mono {α} {t₁ t₂ : TopologicalSpace α} {s : Set α} (hs : is_open[t₂] s)
     (h : t₁ ≤ t₂) : is_open[t₁] s :=
   h s hs
 #align is_open.mono IsOpen.mono
 
-/- warning: is_closed.mono -> IsClosed.mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsClosed.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (IsClosed.{u1} α t₁ s)
-but is expected to have type
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsClosed.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ t₂) -> (IsClosed.{u1} α t₁ s)
-Case conversion may be inaccurate. Consider using '#align is_closed.mono IsClosed.monoₓ'. -/
 theorem IsClosed.mono {α} {t₁ t₂ : TopologicalSpace α} {s : Set α} (hs : is_closed[t₂] s)
     (h : t₁ ≤ t₂) : is_closed[t₁] s :=
   (@isOpen_compl_iff α t₁ s).mp <| hs.isOpen_compl.mono h
 #align is_closed.mono IsClosed.mono
 
-/- warning: is_open_implies_is_open_iff -> isOpen_implies_isOpen_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {a : TopologicalSpace.{u1} α} {b : TopologicalSpace.{u1} α}, Iff (forall (s : Set.{u1} α), (IsOpen.{u1} α a s) -> (IsOpen.{u1} α b s)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) b a)
-but is expected to have type
-  forall {α : Type.{u1}} {a : TopologicalSpace.{u1} α} {b : TopologicalSpace.{u1} α}, Iff (forall (s : Set.{u1} α), (IsOpen.{u1} α a s) -> (IsOpen.{u1} α b s)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) b a)
-Case conversion may be inaccurate. Consider using '#align is_open_implies_is_open_iff isOpen_implies_isOpen_iffₓ'. -/
 theorem isOpen_implies_isOpen_iff {a b : TopologicalSpace α} :
     (∀ s, is_open[a] s → is_open[b] s) ↔ b ≤ a :=
   Iff.rfl
 #align is_open_implies_is_open_iff isOpen_implies_isOpen_iff
 
-/- warning: topological_space.is_open_top_iff -> TopologicalSpace.isOpen_top_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (U : Set.{u1} α), Iff (IsOpen.{u1} α (Top.top.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) U) (Or (Eq.{succ u1} (Set.{u1} α) U (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))) (Eq.{succ u1} (Set.{u1} α) U (Set.univ.{u1} α)))
-but is expected to have type
-  forall {α : Type.{u1}} (U : Set.{u1} α), Iff (IsOpen.{u1} α (Top.top.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toTop.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) U) (Or (Eq.{succ u1} (Set.{u1} α) U (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.instEmptyCollectionSet.{u1} α))) (Eq.{succ u1} (Set.{u1} α) U (Set.univ.{u1} α)))
-Case conversion may be inaccurate. Consider using '#align topological_space.is_open_top_iff TopologicalSpace.isOpen_top_iffₓ'. -/
 /-- The only open sets in the indiscrete topology are the empty set and the whole space. -/
 theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U = ∅ ∨ U = univ :=
   ⟨fun h => by
@@ -392,12 +315,6 @@ class DiscreteTopology (α : Type _) [t : TopologicalSpace α] : Prop where
 #align discrete_topology DiscreteTopology
 -/
 
-/- warning: discrete_topology_bot -> discreteTopology_bot is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}), DiscreteTopology.{u1} α (Bot.bot.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α)))
-but is expected to have type
-  forall (α : Type.{u1}), DiscreteTopology.{u1} α (Bot.bot.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toBot.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))
-Case conversion may be inaccurate. Consider using '#align discrete_topology_bot discreteTopology_botₓ'. -/
 theorem discreteTopology_bot (α : Type _) : @DiscreteTopology α ⊥ :=
   @DiscreteTopology.mk α ⊥ rfl
 #align discrete_topology_bot discreteTopology_bot
@@ -437,12 +354,6 @@ theorem mem_nhds_discrete [TopologicalSpace α] [DiscreteTopology α] {x : α} {
 #align mem_nhds_discrete mem_nhds_discrete
 -/
 
-/- warning: le_of_nhds_le_nhds -> le_of_nhds_le_nhds is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α}, (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t₁ x) (nhds.{u1} α t₂ x)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂)
-but is expected to have type
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α}, (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t₁ x) (nhds.{u1} α t₂ x)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ t₂)
-Case conversion may be inaccurate. Consider using '#align le_of_nhds_le_nhds le_of_nhds_le_nhdsₓ'. -/
 theorem le_of_nhds_le_nhds {t₁ t₂ : TopologicalSpace α} (h : ∀ x, @nhds α t₁ x ≤ @nhds α t₂ x) :
     t₁ ≤ t₂ := by
   intro s
@@ -458,12 +369,6 @@ theorem eq_of_nhds_eq_nhds {t₁ t₂ : TopologicalSpace α} (h : ∀ x, @nhds 
 #align eq_of_nhds_eq_nhds eq_of_nhds_eq_nhds
 -/
 
-/- warning: eq_bot_of_singletons_open -> eq_bot_of_singletons_open is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α}, (forall (x : α), IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) t (Bot.bot.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))
-but is expected to have type
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α}, (forall (x : α), IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) t (Bot.bot.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toBot.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))
-Case conversion may be inaccurate. Consider using '#align eq_bot_of_singletons_open eq_bot_of_singletons_openₓ'. -/
 theorem eq_bot_of_singletons_open {t : TopologicalSpace α} (h : ∀ x, is_open[t] {x}) : t = ⊥ :=
   bot_unique fun s hs => biUnion_of_singleton s ▸ isOpen_biUnion fun x _ => h x
 #align eq_bot_of_singletons_open eq_bot_of_singletons_open
@@ -498,12 +403,6 @@ theorem discreteTopology_iff_nhds [TopologicalSpace α] :
 #align discrete_topology_iff_nhds discreteTopology_iff_nhds
 -/
 
-/- warning: discrete_topology_iff_nhds_ne -> discreteTopology_iff_nhds_ne is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], Iff (DiscreteTopology.{u1} α _inst_1) (forall (x : α), Eq.{succ u1} (Filter.{u1} α) (nhdsWithin.{u1} α _inst_1 x (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x))) (Bot.bot.{u1} (Filter.{u1} α) (CompleteLattice.toHasBot.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], Iff (DiscreteTopology.{u1} α _inst_1) (forall (x : α), Eq.{succ u1} (Filter.{u1} α) (nhdsWithin.{u1} α _inst_1 x (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.instBooleanAlgebraSet.{u1} α)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x))) (Bot.bot.{u1} (Filter.{u1} α) (CompleteLattice.toBot.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))
-Case conversion may be inaccurate. Consider using '#align discrete_topology_iff_nhds_ne discreteTopology_iff_nhds_neₓ'. -/
 theorem discreteTopology_iff_nhds_ne [TopologicalSpace α] :
     DiscreteTopology α ↔ ∀ x : α, 𝓝[≠] x = ⊥ := by
   simp only [discreteTopology_iff_singleton_mem_nhds, nhdsWithin, inf_principal_eq_bot, compl_compl]
@@ -566,23 +465,11 @@ def TopologicalSpace.coinduced {α : Type u} {β : Type v} (f : α → β) (t :
 #align topological_space.coinduced TopologicalSpace.coinduced
 -/
 
-/- warning: is_open_coinduced -> isOpen_coinduced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t : TopologicalSpace.{u1} α} {s : Set.{u2} β} {f : α -> β}, Iff (IsOpen.{u2} β (TopologicalSpace.coinduced.{u1, u2} α β f t) s) (IsOpen.{u1} α t (Set.preimage.{u1, u2} α β f s))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {t : TopologicalSpace.{u2} α} {s : Set.{u1} β} {f : α -> β}, Iff (IsOpen.{u1} β (TopologicalSpace.coinduced.{u2, u1} α β f t) s) (IsOpen.{u2} α t (Set.preimage.{u2, u1} α β f s))
-Case conversion may be inaccurate. Consider using '#align is_open_coinduced isOpen_coinducedₓ'. -/
 theorem isOpen_coinduced {t : TopologicalSpace α} {s : Set β} {f : α → β} :
     is_open[t.coinduced f] s ↔ IsOpen (f ⁻¹' s) :=
   Iff.rfl
 #align is_open_coinduced isOpen_coinduced
 
-/- warning: preimage_nhds_coinduced -> preimage_nhds_coinduced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] {π : α -> β} {s : Set.{u2} β} {a : α}, (Membership.Mem.{u2, u2} (Set.{u2} β) (Filter.{u2} β) (Filter.hasMem.{u2} β) s (nhds.{u2} β (TopologicalSpace.coinduced.{u1, u2} α β π _inst_1) (π a))) -> (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) (Set.preimage.{u1, u2} α β π s) (nhds.{u1} α _inst_1 a))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] {π : α -> β} {s : Set.{u1} β} {a : α}, (Membership.mem.{u1, u1} (Set.{u1} β) (Filter.{u1} β) (instMembershipSetFilter.{u1} β) s (nhds.{u1} β (TopologicalSpace.coinduced.{u2, u1} α β π _inst_1) (π a))) -> (Membership.mem.{u2, u2} (Set.{u2} α) (Filter.{u2} α) (instMembershipSetFilter.{u2} α) (Set.preimage.{u2, u1} α β π s) (nhds.{u2} α _inst_1 a))
-Case conversion may be inaccurate. Consider using '#align preimage_nhds_coinduced preimage_nhds_coinducedₓ'. -/
 theorem preimage_nhds_coinduced [TopologicalSpace α] {π : α → β} {s : Set β} {a : α}
     (hs : s ∈ @nhds β (TopologicalSpace.coinduced π ‹_›) (π a)) : π ⁻¹' s ∈ 𝓝 a :=
   by
@@ -593,130 +480,58 @@ theorem preimage_nhds_coinduced [TopologicalSpace α] {π : α → β} {s : Set
 
 variable {t t₁ t₂ : TopologicalSpace α} {t' : TopologicalSpace β} {f : α → β} {g : β → α}
 
-/- warning: continuous.coinduced_le -> Continuous.coinduced_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u2} β} {f : α -> β}, (Continuous.{u1, u2} α β t t' f) -> (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t) t')
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {t : TopologicalSpace.{u2} α} {t' : TopologicalSpace.{u1} β} {f : α -> β}, (Continuous.{u2, u1} α β t t' f) -> (LE.le.{u1} (TopologicalSpace.{u1} β) (Preorder.toLE.{u1} (TopologicalSpace.{u1} β) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} β))) (TopologicalSpace.coinduced.{u2, u1} α β f t) t')
-Case conversion may be inaccurate. Consider using '#align continuous.coinduced_le Continuous.coinduced_leₓ'. -/
 theorem Continuous.coinduced_le (h : @Continuous α β t t' f) : t.coinduced f ≤ t' := fun s hs =>
   (continuous_def.1 h s hs : _)
 #align continuous.coinduced_le Continuous.coinduced_le
 
-/- warning: coinduced_le_iff_le_induced -> coinduced_le_iff_le_induced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {tα : TopologicalSpace.{u1} α} {tβ : TopologicalSpace.{u2} β}, Iff (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f tα) tβ) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) tα (TopologicalSpace.induced.{u1, u2} α β f tβ))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {f : α -> β} {tα : TopologicalSpace.{u2} α} {tβ : TopologicalSpace.{u1} β}, Iff (LE.le.{u1} (TopologicalSpace.{u1} β) (Preorder.toLE.{u1} (TopologicalSpace.{u1} β) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} β))) (TopologicalSpace.coinduced.{u2, u1} α β f tα) tβ) (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) tα (TopologicalSpace.induced.{u2, u1} α β f tβ))
-Case conversion may be inaccurate. Consider using '#align coinduced_le_iff_le_induced coinduced_le_iff_le_inducedₓ'. -/
 theorem coinduced_le_iff_le_induced {f : α → β} {tα : TopologicalSpace α}
     {tβ : TopologicalSpace β} : tα.coinduced f ≤ tβ ↔ tα ≤ tβ.induced f :=
   ⟨fun h s ⟨t, ht, hst⟩ => hst ▸ h _ ht, fun h s hs => h _ ⟨s, hs, rfl⟩⟩
 #align coinduced_le_iff_le_induced coinduced_le_iff_le_induced
 
-/- warning: continuous.le_induced -> Continuous.le_induced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u2} β} {f : α -> β}, (Continuous.{u1, u2} α β t t' f) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.induced.{u1, u2} α β f t'))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {t : TopologicalSpace.{u2} α} {t' : TopologicalSpace.{u1} β} {f : α -> β}, (Continuous.{u2, u1} α β t t' f) -> (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) t (TopologicalSpace.induced.{u2, u1} α β f t'))
-Case conversion may be inaccurate. Consider using '#align continuous.le_induced Continuous.le_inducedₓ'. -/
 theorem Continuous.le_induced (h : @Continuous α β t t' f) : t ≤ t'.induced f :=
   coinduced_le_iff_le_induced.1 h.coinduced_le
 #align continuous.le_induced Continuous.le_induced
 
-/- warning: gc_coinduced_induced -> gc_coinduced_induced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β), GaloisConnection.{u1, u2} (TopologicalSpace.{u1} α) (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β)) (TopologicalSpace.coinduced.{u1, u2} α β f) (TopologicalSpace.induced.{u1, u2} α β f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} (f : α -> β), GaloisConnection.{u2, u1} (TopologicalSpace.{u2} α) (TopologicalSpace.{u1} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} β)) (TopologicalSpace.coinduced.{u2, u1} α β f) (TopologicalSpace.induced.{u2, u1} α β f)
-Case conversion may be inaccurate. Consider using '#align gc_coinduced_induced gc_coinduced_inducedₓ'. -/
 theorem gc_coinduced_induced (f : α → β) :
     GaloisConnection (TopologicalSpace.coinduced f) (TopologicalSpace.induced f) := fun f g =>
   coinduced_le_iff_le_induced
 #align gc_coinduced_induced gc_coinduced_induced
 
-/- warning: induced_mono -> induced_mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {g : β -> α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.induced.{u2, u1} β α g t₁) (TopologicalSpace.induced.{u2, u1} β α g t₂))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : TopologicalSpace.{u2} α} {g : β -> α}, (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) t₁ t₂) -> (LE.le.{u1} (TopologicalSpace.{u1} β) (Preorder.toLE.{u1} (TopologicalSpace.{u1} β) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} β))) (TopologicalSpace.induced.{u1, u2} β α g t₁) (TopologicalSpace.induced.{u1, u2} β α g t₂))
-Case conversion may be inaccurate. Consider using '#align induced_mono induced_monoₓ'. -/
 theorem induced_mono (h : t₁ ≤ t₂) : t₁.induced g ≤ t₂.induced g :=
   (gc_coinduced_induced g).monotone_u h
 #align induced_mono induced_mono
 
-/- warning: coinduced_mono -> coinduced_mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {f : α -> β}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) (TopologicalSpace.coinduced.{u1, u2} α β f t₂))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : TopologicalSpace.{u2} α} {f : α -> β}, (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) t₁ t₂) -> (LE.le.{u1} (TopologicalSpace.{u1} β) (Preorder.toLE.{u1} (TopologicalSpace.{u1} β) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} β))) (TopologicalSpace.coinduced.{u2, u1} α β f t₁) (TopologicalSpace.coinduced.{u2, u1} α β f t₂))
-Case conversion may be inaccurate. Consider using '#align coinduced_mono coinduced_monoₓ'. -/
 theorem coinduced_mono (h : t₁ ≤ t₂) : t₁.coinduced f ≤ t₂.coinduced f :=
   (gc_coinduced_induced f).monotone_l h
 #align coinduced_mono coinduced_mono
 
-/- warning: induced_top -> induced_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {g : β -> α}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.induced.{u2, u1} β α g (Top.top.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α)))) (Top.top.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toHasTop.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β)))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {g : β -> α}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.induced.{u2, u1} β α g (Top.top.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toTop.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) (Top.top.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toTop.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β)))
-Case conversion may be inaccurate. Consider using '#align induced_top induced_topₓ'. -/
 @[simp]
 theorem induced_top : (⊤ : TopologicalSpace α).induced g = ⊤ :=
   (gc_coinduced_induced g).u_top
 #align induced_top induced_top
 
-/- warning: induced_inf -> induced_inf is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {g : β -> α}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.induced.{u2, u1} β α g (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂)) (Inf.inf.{u2} (TopologicalSpace.{u2} β) (SemilatticeInf.toHasInf.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) (TopologicalSpace.induced.{u2, u1} β α g t₁) (TopologicalSpace.induced.{u2, u1} β α g t₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {g : β -> α}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.induced.{u2, u1} β α g (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂)) (Inf.inf.{u2} (TopologicalSpace.{u2} β) (Lattice.toInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β)))) (TopologicalSpace.induced.{u2, u1} β α g t₁) (TopologicalSpace.induced.{u2, u1} β α g t₂))
-Case conversion may be inaccurate. Consider using '#align induced_inf induced_infₓ'. -/
 @[simp]
 theorem induced_inf : (t₁ ⊓ t₂).induced g = t₁.induced g ⊓ t₂.induced g :=
   (gc_coinduced_induced g).u_inf
 #align induced_inf induced_inf
 
-/- warning: induced_infi -> induced_iInf is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u2}} {β : Type.{u3}} {g : β -> α} {ι : Sort.{u1}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u3} (TopologicalSpace.{u3} β) (TopologicalSpace.induced.{u3, u2} β α g (iInf.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toHasInf.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.completeLattice.{u2} α))) ι (fun (i : ι) => t i))) (iInf.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toHasInf.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.completeLattice.{u3} β))) ι (fun (i : ι) => TopologicalSpace.induced.{u3, u2} β α g (t i)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {g : β -> α} {ι : Sort.{u3}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u1} (TopologicalSpace.{u1} β) (TopologicalSpace.induced.{u1, u2} β α g (iInf.{u2, u3} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι (fun (i : ι) => t i))) (iInf.{u1, u3} (TopologicalSpace.{u1} β) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} β) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} β))) ι (fun (i : ι) => TopologicalSpace.induced.{u1, u2} β α g (t i)))
-Case conversion may be inaccurate. Consider using '#align induced_infi induced_iInfₓ'. -/
 @[simp]
 theorem induced_iInf {ι : Sort w} {t : ι → TopologicalSpace α} :
     (⨅ i, t i).induced g = ⨅ i, (t i).induced g :=
   (gc_coinduced_induced g).u_iInf
 #align induced_infi induced_iInf
 
-/- warning: coinduced_bot -> coinduced_bot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.coinduced.{u1, u2} α β f (Bot.bot.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α)))) (Bot.bot.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toHasBot.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β)))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.coinduced.{u1, u2} α β f (Bot.bot.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toBot.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) (Bot.bot.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toBot.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β)))
-Case conversion may be inaccurate. Consider using '#align coinduced_bot coinduced_botₓ'. -/
 @[simp]
 theorem coinduced_bot : (⊥ : TopologicalSpace α).coinduced f = ⊥ :=
   (gc_coinduced_induced f).l_bot
 #align coinduced_bot coinduced_bot
 
-/- warning: coinduced_sup -> coinduced_sup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {f : α -> β}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.coinduced.{u1, u2} α β f (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂)) (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) (TopologicalSpace.coinduced.{u1, u2} α β f t₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {f : α -> β}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.coinduced.{u1, u2} α β f (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂)) (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) (TopologicalSpace.coinduced.{u1, u2} α β f t₂))
-Case conversion may be inaccurate. Consider using '#align coinduced_sup coinduced_supₓ'. -/
 @[simp]
 theorem coinduced_sup : (t₁ ⊔ t₂).coinduced f = t₁.coinduced f ⊔ t₂.coinduced f :=
   (gc_coinduced_induced f).l_sup
 #align coinduced_sup coinduced_sup
 
-/- warning: coinduced_supr -> coinduced_iSup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u3} (TopologicalSpace.{u3} β) (TopologicalSpace.coinduced.{u2, u3} α β f (iSup.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.completeLattice.{u2} α))) ι (fun (i : ι) => t i))) (iSup.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toHasSup.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.completeLattice.{u3} β))) ι (fun (i : ι) => TopologicalSpace.coinduced.{u2, u3} α β f (t i)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {f : α -> β} {ι : Sort.{u3}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u1} (TopologicalSpace.{u1} β) (TopologicalSpace.coinduced.{u2, u1} α β f (iSup.{u2, u3} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι (fun (i : ι) => t i))) (iSup.{u1, u3} (TopologicalSpace.{u1} β) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} β) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} β))) ι (fun (i : ι) => TopologicalSpace.coinduced.{u2, u1} α β f (t i)))
-Case conversion may be inaccurate. Consider using '#align coinduced_supr coinduced_iSupₓ'. -/
 @[simp]
 theorem coinduced_iSup {ι : Sort w} {t : ι → TopologicalSpace α} :
     (⨆ i, t i).coinduced f = ⨆ i, (t i).coinduced f :=
@@ -730,12 +545,6 @@ theorem induced_id [t : TopologicalSpace α] : t.induced id = t :=
 #align induced_id induced_id
 -/
 
-/- warning: induced_compose -> induced_compose is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [tγ : TopologicalSpace.{u3} γ] {f : α -> β} {g : β -> γ}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.induced.{u1, u2} α β f (TopologicalSpace.induced.{u2, u3} β γ g tγ)) (TopologicalSpace.induced.{u1, u3} α γ (Function.comp.{succ u1, succ u2, succ u3} α β γ g f) tγ)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {γ : Type.{u3}} [tγ : TopologicalSpace.{u3} γ] {f : α -> β} {g : β -> γ}, Eq.{succ u2} (TopologicalSpace.{u2} α) (TopologicalSpace.induced.{u2, u1} α β f (TopologicalSpace.induced.{u1, u3} β γ g tγ)) (TopologicalSpace.induced.{u2, u3} α γ (Function.comp.{succ u2, succ u1, succ u3} α β γ g f) tγ)
-Case conversion may be inaccurate. Consider using '#align induced_compose induced_composeₓ'. -/
 theorem induced_compose [tγ : TopologicalSpace γ] {f : α → β} {g : β → γ} :
     (tγ.induced g).induced f = tγ.induced (g ∘ f) :=
   topologicalSpace_eq <|
@@ -745,12 +554,6 @@ theorem induced_compose [tγ : TopologicalSpace γ] {f : α → β} {g : β →
           ⟨preimage g s, ⟨s, hs, rfl⟩, h ▸ rfl⟩⟩
 #align induced_compose induced_compose
 
-/- warning: induced_const -> induced_const is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [t : TopologicalSpace.{u1} α] {x : α}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.induced.{u2, u1} β α (fun (y : β) => x) t) (Top.top.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toHasTop.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [t : TopologicalSpace.{u2} α] {x : α}, Eq.{succ u1} (TopologicalSpace.{u1} β) (TopologicalSpace.induced.{u1, u2} β α (fun (y : β) => x) t) (Top.top.{u1} (TopologicalSpace.{u1} β) (CompleteLattice.toTop.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} β)))
-Case conversion may be inaccurate. Consider using '#align induced_const induced_constₓ'. -/
 theorem induced_const [t : TopologicalSpace α] {x : α} : (t.induced fun y : β => x) = ⊤ :=
   le_antisymm le_top (@continuous_const β α ⊤ t x).le_induced
 #align induced_const induced_const
@@ -761,23 +564,11 @@ theorem coinduced_id [t : TopologicalSpace α] : t.coinduced id = t :=
 #align coinduced_id coinduced_id
 -/
 
-/- warning: coinduced_compose -> coinduced_compose is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [tα : TopologicalSpace.{u1} α] {f : α -> β} {g : β -> γ}, Eq.{succ u3} (TopologicalSpace.{u3} γ) (TopologicalSpace.coinduced.{u2, u3} β γ g (TopologicalSpace.coinduced.{u1, u2} α β f tα)) (TopologicalSpace.coinduced.{u1, u3} α γ (Function.comp.{succ u1, succ u2, succ u3} α β γ g f) tα)
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u1}} {γ : Type.{u2}} [tα : TopologicalSpace.{u3} α] {f : α -> β} {g : β -> γ}, Eq.{succ u2} (TopologicalSpace.{u2} γ) (TopologicalSpace.coinduced.{u1, u2} β γ g (TopologicalSpace.coinduced.{u3, u1} α β f tα)) (TopologicalSpace.coinduced.{u3, u2} α γ (Function.comp.{succ u3, succ u1, succ u2} α β γ g f) tα)
-Case conversion may be inaccurate. Consider using '#align coinduced_compose coinduced_composeₓ'. -/
 theorem coinduced_compose [tα : TopologicalSpace α] {f : α → β} {g : β → γ} :
     (tα.coinduced f).coinduced g = tα.coinduced (g ∘ f) :=
   topologicalSpace_eq rfl
 #align coinduced_compose coinduced_compose
 
-/- warning: equiv.induced_symm -> Equiv.induced_symm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} (e : Equiv.{succ u1, succ u2} α β), Eq.{max (succ u1) (succ u2)} ((TopologicalSpace.{u1} α) -> (TopologicalSpace.{u2} β)) (TopologicalSpace.induced.{u2, u1} β α (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β e))) (TopologicalSpace.coinduced.{u1, u2} α β (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) e))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u2} α) -> (TopologicalSpace.{u1} β)) (TopologicalSpace.induced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.coinduced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
-Case conversion may be inaccurate. Consider using '#align equiv.induced_symm Equiv.induced_symmₓ'. -/
 theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
     TopologicalSpace.induced e.symm = TopologicalSpace.coinduced e :=
   by
@@ -788,12 +579,6 @@ theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
   · exact fun hU => ⟨e ⁻¹' U, hU, e.symm_preimage_preimage _⟩
 #align equiv.induced_symm Equiv.induced_symm
 
-/- warning: equiv.coinduced_symm -> Equiv.coinduced_symm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} (e : Equiv.{succ u1, succ u2} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u2} β) -> (TopologicalSpace.{u1} α)) (TopologicalSpace.coinduced.{u2, u1} β α (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β e))) (TopologicalSpace.induced.{u1, u2} α β (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) e))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u1} β) -> (TopologicalSpace.{u2} α)) (TopologicalSpace.coinduced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.induced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
-Case conversion may be inaccurate. Consider using '#align equiv.coinduced_symm Equiv.coinduced_symmₓ'. -/
 theorem Equiv.coinduced_symm {α β : Type _} (e : α ≃ β) :
     TopologicalSpace.coinduced e.symm = TopologicalSpace.induced e := by
   rw [← e.symm.induced_symm, e.symm_symm]
@@ -887,23 +672,11 @@ theorem continuous_empty_function [TopologicalSpace α] [TopologicalSpace β] [I
 #align continuous_empty_function continuous_empty_function
 -/
 
-/- warning: le_generate_from -> le_generateFrom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {g : Set.{u1} (Set.{u1} α)}, (forall (s : Set.{u1} α), (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s g) -> (IsOpen.{u1} α t s)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g))
-but is expected to have type
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {g : Set.{u1} (Set.{u1} α)}, (forall (s : Set.{u1} α), (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s g) -> (IsOpen.{u1} α t s)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g))
-Case conversion may be inaccurate. Consider using '#align le_generate_from le_generateFromₓ'. -/
 theorem le_generateFrom {t : TopologicalSpace α} {g : Set (Set α)} (h : ∀ s ∈ g, IsOpen s) :
     t ≤ generateFrom g :=
   le_generateFrom_iff_subset_isOpen.2 h
 #align le_generate_from le_generateFrom
 
-/- warning: induced_generate_from_eq -> induced_generateFrom_eq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {b : Set.{u2} (Set.{u2} β)} {f : α -> β}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.induced.{u1, u2} α β f (TopologicalSpace.generateFrom.{u2} β b)) (TopologicalSpace.generateFrom.{u1} α (Set.image.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Set.preimage.{u1, u2} α β f) b))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {b : Set.{u1} (Set.{u1} β)} {f : α -> β}, Eq.{succ u2} (TopologicalSpace.{u2} α) (TopologicalSpace.induced.{u2, u1} α β f (TopologicalSpace.generateFrom.{u1} β b)) (TopologicalSpace.generateFrom.{u2} α (Set.image.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Set.preimage.{u2, u1} α β f) b))
-Case conversion may be inaccurate. Consider using '#align induced_generate_from_eq induced_generateFrom_eqₓ'. -/
 theorem induced_generateFrom_eq {α β} {b : Set (Set β)} {f : α → β} :
     (generateFrom b).induced f = TopologicalSpace.generateFrom (preimage f '' b) :=
   le_antisymm (le_generateFrom <| ball_image_iff.2 fun s hs => ⟨s, GenerateOpen.basic _ hs, rfl⟩)
@@ -911,12 +684,6 @@ theorem induced_generateFrom_eq {α β} {b : Set (Set β)} {f : α → β} :
       le_generateFrom fun s hs => GenerateOpen.basic _ <| mem_image_of_mem _ hs)
 #align induced_generate_from_eq induced_generateFrom_eq
 
-/- warning: le_induced_generate_from -> le_induced_generateFrom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [t : TopologicalSpace.{u1} α] {b : Set.{u2} (Set.{u2} β)} {f : α -> β}, (forall (a : Set.{u2} β), (Membership.Mem.{u2, u2} (Set.{u2} β) (Set.{u2} (Set.{u2} β)) (Set.hasMem.{u2} (Set.{u2} β)) a b) -> (IsOpen.{u1} α t (Set.preimage.{u1, u2} α β f a))) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.induced.{u1, u2} α β f (TopologicalSpace.generateFrom.{u2} β b)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [t : TopologicalSpace.{u2} α] {b : Set.{u1} (Set.{u1} β)} {f : α -> β}, (forall (a : Set.{u1} β), (Membership.mem.{u1, u1} (Set.{u1} β) (Set.{u1} (Set.{u1} β)) (Set.instMembershipSet.{u1} (Set.{u1} β)) a b) -> (IsOpen.{u2} α t (Set.preimage.{u2, u1} α β f a))) -> (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) t (TopologicalSpace.induced.{u2, u1} α β f (TopologicalSpace.generateFrom.{u1} β b)))
-Case conversion may be inaccurate. Consider using '#align le_induced_generate_from le_induced_generateFromₓ'. -/
 theorem le_induced_generateFrom {α β} [t : TopologicalSpace α] {b : Set (Set β)} {f : α → β}
     (h : ∀ a : Set β, a ∈ b → IsOpen (f ⁻¹' a)) : t ≤ induced f (generateFrom b) :=
   by
@@ -938,44 +705,20 @@ def nhdsAdjoint (a : α) (f : Filter α) : TopologicalSpace α
 #align nhds_adjoint nhdsAdjoint
 -/
 
-/- warning: gc_nhds -> gc_nhds is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (a : α), GaloisConnection.{u1, u1} (Filter.{u1} α) (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α)) (nhdsAdjoint.{u1} α a) (fun (t : TopologicalSpace.{u1} α) => nhds.{u1} α t a)
-but is expected to have type
-  forall {α : Type.{u1}} (a : α), GaloisConnection.{u1, u1} (Filter.{u1} α) (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α)) (nhdsAdjoint.{u1} α a) (fun (t : TopologicalSpace.{u1} α) => nhds.{u1} α t a)
-Case conversion may be inaccurate. Consider using '#align gc_nhds gc_nhdsₓ'. -/
 theorem gc_nhds (a : α) : GaloisConnection (nhdsAdjoint a) fun t => @nhds α t a := fun f t => by
   rw [le_nhds_iff]; exact ⟨fun H s hs has => H _ has hs, fun H s has hs => H _ hs has⟩
 #align gc_nhds gc_nhds
 
-/- warning: nhds_mono -> nhds_mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
-but is expected to have type
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ t₂) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
-Case conversion may be inaccurate. Consider using '#align nhds_mono nhds_monoₓ'. -/
 theorem nhds_mono {t₁ t₂ : TopologicalSpace α} {a : α} (h : t₁ ≤ t₂) :
     @nhds α t₁ a ≤ @nhds α t₂ a :=
   (gc_nhds a).monotone_u h
 #align nhds_mono nhds_mono
 
-/- warning: le_iff_nhds -> le_iff_nhds is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (t : TopologicalSpace.{u1} α) (t' : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t t') (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t x) (nhds.{u1} α t' x))
-but is expected to have type
-  forall {α : Type.{u1}} (t : TopologicalSpace.{u1} α) (t' : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t t') (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t x) (nhds.{u1} α t' x))
-Case conversion may be inaccurate. Consider using '#align le_iff_nhds le_iff_nhdsₓ'. -/
 theorem le_iff_nhds {α : Type _} (t t' : TopologicalSpace α) :
     t ≤ t' ↔ ∀ x, @nhds α t x ≤ @nhds α t' x :=
   ⟨fun h x => nhds_mono h, le_of_nhds_le_nhds⟩
 #align le_iff_nhds le_iff_nhds
 
-/- warning: nhds_adjoint_nhds -> nhdsAdjoint_nhds is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (nhdsAdjoint.{u1} α a f) a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)
-but is expected to have type
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (nhdsAdjoint.{u1} α a f) a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)
-Case conversion may be inaccurate. Consider using '#align nhds_adjoint_nhds nhdsAdjoint_nhdsₓ'. -/
 theorem nhdsAdjoint_nhds {α : Type _} (a : α) (f : Filter α) :
     @nhds α (nhdsAdjoint a f) a = pure a ⊔ f :=
   by
@@ -1011,12 +754,6 @@ theorem isOpen_singleton_nhdsAdjoint {α : Type _} {a b : α} (f : Filter α) (h
 #align is_open_singleton_nhds_adjoint isOpen_singleton_nhdsAdjoint
 -/
 
-/- warning: le_nhds_adjoint_iff' -> le_nhdsAdjoint_iff' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α b))))
-but is expected to have type
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α b))))
-Case conversion may be inaccurate. Consider using '#align le_nhds_adjoint_iff' le_nhdsAdjoint_iff'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (b «expr ≠ » a) -/
 theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ (b) (_ : b ≠ a), @nhds α t b = pure b :=
@@ -1037,12 +774,6 @@ theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : Topologi
     · simp [nhdsAdjoint_nhds_of_ne a f hb, h' b hb]
 #align le_nhds_adjoint_iff' le_nhdsAdjoint_iff'
 
-/- warning: le_nhds_adjoint_iff -> le_nhdsAdjoint_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) b))))
-but is expected to have type
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) b))))
-Case conversion may be inaccurate. Consider using '#align le_nhds_adjoint_iff le_nhdsAdjoint_iffₓ'. -/
 theorem le_nhdsAdjoint_iff {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ b, b ≠ a → is_open[t] {b} :=
   by
@@ -1052,55 +783,25 @@ theorem le_nhdsAdjoint_iff {α : Type _} (a : α) (f : Filter α) (t : Topologic
   rw [@isOpen_singleton_iff_nhds_eq_pure α t b]
 #align le_nhds_adjoint_iff le_nhdsAdjoint_iff
 
-/- warning: nhds_infi -> nhds_iInf is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι t) a) (iInf.{u1, u2} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) ι (fun (i : ι) => nhds.{u1} α (t i) a))
-but is expected to have type
-  forall {α : Type.{u2}} {ι : Sort.{u1}} {t : ι -> (TopologicalSpace.{u2} α)} {a : α}, Eq.{succ u2} (Filter.{u2} α) (nhds.{u2} α (iInf.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι t) a) (iInf.{u2, u1} (Filter.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (Filter.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Filter.{u2} α) (Filter.instCompleteLatticeFilter.{u2} α))) ι (fun (i : ι) => nhds.{u2} α (t i) a))
-Case conversion may be inaccurate. Consider using '#align nhds_infi nhds_iInfₓ'. -/
 theorem nhds_iInf {ι : Sort _} {t : ι → TopologicalSpace α} {a : α} :
     @nhds α (iInf t) a = ⨅ i, @nhds α (t i) a :=
   (gc_nhds a).u_iInf
 #align nhds_infi nhds_iInf
 
-/- warning: nhds_Inf -> nhds_sInf is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {s : Set.{u1} (TopologicalSpace.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (InfSet.sInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) s) a) (iInf.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => iInf.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t s) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t s) => nhds.{u1} α t a)))
-but is expected to have type
-  forall {α : Type.{u1}} {s : Set.{u1} (TopologicalSpace.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (InfSet.sInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) s) a) (iInf.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => iInf.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t s) (fun (H : Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t s) => nhds.{u1} α t a)))
-Case conversion may be inaccurate. Consider using '#align nhds_Inf nhds_sInfₓ'. -/
 theorem nhds_sInf {s : Set (TopologicalSpace α)} {a : α} :
     @nhds α (sInf s) a = ⨅ t ∈ s, @nhds α t a :=
   (gc_nhds a).u_sInf
 #align nhds_Inf nhds_sInf
 
-/- warning: nhds_inf -> nhds_inf is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) a) (Inf.inf.{u1} (Filter.{u1} α) (Filter.hasInf.{u1} α) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
-but is expected to have type
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂) a) (Inf.inf.{u1} (Filter.{u1} α) (Filter.instInfFilter.{u1} α) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
-Case conversion may be inaccurate. Consider using '#align nhds_inf nhds_infₓ'. -/
 theorem nhds_inf {t₁ t₂ : TopologicalSpace α} {a : α} :
     @nhds α (t₁ ⊓ t₂) a = @nhds α t₁ a ⊓ @nhds α t₂ a :=
   (gc_nhds a).u_inf
 #align nhds_inf nhds_inf
 
-/- warning: nhds_top -> nhds_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (Top.top.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) a) (Top.top.{u1} (Filter.{u1} α) (Filter.hasTop.{u1} α))
-but is expected to have type
-  forall {α : Type.{u1}} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (Top.top.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toTop.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) a) (Top.top.{u1} (Filter.{u1} α) (Filter.instTopFilter.{u1} α))
-Case conversion may be inaccurate. Consider using '#align nhds_top nhds_topₓ'. -/
 theorem nhds_top {a : α} : @nhds α ⊤ a = ⊤ :=
   (gc_nhds a).u_top
 #align nhds_top nhds_top
 
-/- warning: is_open_sup -> isOpen_sup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) s) (And (IsOpen.{u1} α t₁ s) (IsOpen.{u1} α t₂ s))
-but is expected to have type
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂) s) (And (IsOpen.{u1} α t₁ s) (IsOpen.{u1} α t₂ s))
-Case conversion may be inaccurate. Consider using '#align is_open_sup isOpen_supₓ'. -/
 theorem isOpen_sup {t₁ t₂ : TopologicalSpace α} {s : Set α} :
     is_open[t₁ ⊔ t₂] s ↔ is_open[t₁] s ∧ is_open[t₂] s :=
   Iff.rfl
@@ -1116,23 +817,11 @@ open TopologicalSpace
 
 variable {γ : Type _} {f : α → β} {ι : Sort _}
 
-/- warning: continuous_iff_coinduced_le -> continuous_iff_coinduced_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) t₂)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) t₂)
-Case conversion may be inaccurate. Consider using '#align continuous_iff_coinduced_le continuous_iff_coinduced_leₓ'. -/
 theorem continuous_iff_coinduced_le {t₁ : tspace α} {t₂ : tspace β} :
     cont t₁ t₂ f ↔ coinduced f t₁ ≤ t₂ :=
   continuous_def.trans Iff.rfl
 #align continuous_iff_coinduced_le continuous_iff_coinduced_le
 
-/- warning: continuous_iff_le_induced -> continuous_iff_le_induced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ (TopologicalSpace.induced.{u1, u2} α β f t₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ (TopologicalSpace.induced.{u1, u2} α β f t₂))
-Case conversion may be inaccurate. Consider using '#align continuous_iff_le_induced continuous_iff_le_inducedₓ'. -/
 theorem continuous_iff_le_induced {t₁ : tspace α} {t₂ : tspace β} :
     cont t₁ t₂ f ↔ t₁ ≤ induced f t₂ :=
   Iff.trans continuous_iff_coinduced_le (gc_coinduced_induced f _ _)
@@ -1152,12 +841,6 @@ theorem continuous_induced_dom {t : tspace β} : cont (induced f t) t f := by rw
 #align continuous_induced_dom continuous_induced_dom
 -/
 
-/- warning: continuous_induced_rng -> continuous_induced_rng is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {f : α -> β} {g : γ -> α} {t₂ : TopologicalSpace.{u2} β} {t₁ : TopologicalSpace.{u3} γ}, Iff (Continuous.{u3, u1} γ α t₁ (TopologicalSpace.induced.{u1, u2} α β f t₂) g) (Continuous.{u3, u2} γ β t₁ t₂ (Function.comp.{succ u3, succ u1, succ u2} γ α β f g))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} {f : α -> β} {g : γ -> α} {t₂ : TopologicalSpace.{u3} β} {t₁ : TopologicalSpace.{u1} γ}, Iff (Continuous.{u1, u2} γ α t₁ (TopologicalSpace.induced.{u2, u3} α β f t₂) g) (Continuous.{u1, u3} γ β t₁ t₂ (Function.comp.{succ u1, succ u2, succ u3} γ α β f g))
-Case conversion may be inaccurate. Consider using '#align continuous_induced_rng continuous_induced_rngₓ'. -/
 theorem continuous_induced_rng {g : γ → α} {t₂ : tspace β} {t₁ : tspace γ} :
     cont t₁ (induced f t₂) g ↔ cont t₁ t₂ (f ∘ g) := by
   simp only [continuous_iff_le_induced, induced_compose]
@@ -1169,23 +852,11 @@ theorem continuous_coinduced_rng {t : tspace α} : cont t (coinduced f t) f := b
 #align continuous_coinduced_rng continuous_coinduced_rng
 -/
 
-/- warning: continuous_coinduced_dom -> continuous_coinduced_dom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {f : α -> β} {g : β -> γ} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u3} γ}, Iff (Continuous.{u2, u3} β γ (TopologicalSpace.coinduced.{u1, u2} α β f t₁) t₂ g) (Continuous.{u1, u3} α γ t₁ t₂ (Function.comp.{succ u1, succ u2, succ u3} α β γ g f))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} {f : α -> β} {g : β -> γ} {t₁ : TopologicalSpace.{u2} α} {t₂ : TopologicalSpace.{u1} γ}, Iff (Continuous.{u3, u1} β γ (TopologicalSpace.coinduced.{u2, u3} α β f t₁) t₂ g) (Continuous.{u2, u1} α γ t₁ t₂ (Function.comp.{succ u2, succ u3, succ u1} α β γ g f))
-Case conversion may be inaccurate. Consider using '#align continuous_coinduced_dom continuous_coinduced_domₓ'. -/
 theorem continuous_coinduced_dom {g : β → γ} {t₁ : tspace α} {t₂ : tspace γ} :
     cont (coinduced f t₁) t₂ g ↔ cont t₁ t₂ (g ∘ f) := by
   simp only [continuous_iff_coinduced_le, coinduced_compose]
 #align continuous_coinduced_dom continuous_coinduced_dom
 
-/- warning: continuous_le_dom -> continuous_le_dom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₂ t₁) -> (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₂ t₃ f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₂ t₁) -> (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₂ t₃ f)
-Case conversion may be inaccurate. Consider using '#align continuous_le_dom continuous_le_domₓ'. -/
 theorem continuous_le_dom {t₁ t₂ : tspace α} {t₃ : tspace β} (h₁ : t₂ ≤ t₁) (h₂ : cont t₁ t₃ f) :
     cont t₂ t₃ f := by
   rw [continuous_def] at h₂⊢
@@ -1193,12 +864,6 @@ theorem continuous_le_dom {t₁ t₂ : tspace α} {t₃ : tspace β} (h₁ : t
   exact h₁ _ (h₂ s h)
 #align continuous_le_dom continuous_le_dom
 
-/- warning: continuous_le_rng -> continuous_le_rng is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) t₂ t₃) -> (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ t₃ f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} β))) t₂ t₃) -> (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ t₃ f)
-Case conversion may be inaccurate. Consider using '#align continuous_le_rng continuous_le_rngₓ'. -/
 theorem continuous_le_rng {t₁ : tspace α} {t₂ t₃ : tspace β} (h₁ : t₂ ≤ t₃) (h₂ : cont t₁ t₂ f) :
     cont t₁ t₃ f := by
   rw [continuous_def] at h₂⊢
@@ -1206,208 +871,94 @@ theorem continuous_le_rng {t₁ : tspace α} {t₂ t₃ : tspace β} (h₁ : t
   exact h₂ s (h₁ s h)
 #align continuous_le_rng continuous_le_rng
 
-/- warning: continuous_sup_dom -> continuous_sup_dom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) t₃ f) (And (Continuous.{u1, u2} α β t₁ t₃ f) (Continuous.{u1, u2} α β t₂ t₃ f))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂) t₃ f) (And (Continuous.{u1, u2} α β t₁ t₃ f) (Continuous.{u1, u2} α β t₂ t₃ f))
-Case conversion may be inaccurate. Consider using '#align continuous_sup_dom continuous_sup_domₓ'. -/
 theorem continuous_sup_dom {t₁ t₂ : tspace α} {t₃ : tspace β} :
     cont (t₁ ⊔ t₂) t₃ f ↔ cont t₁ t₃ f ∧ cont t₂ t₃ f := by
   simp only [continuous_iff_le_induced, sup_le_iff]
 #align continuous_sup_dom continuous_sup_dom
 
-/- warning: continuous_sup_rng_left -> continuous_sup_rng_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) t₂ t₃) f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))))) t₂ t₃) f)
-Case conversion may be inaccurate. Consider using '#align continuous_sup_rng_left continuous_sup_rng_leftₓ'. -/
 theorem continuous_sup_rng_left {t₁ : tspace α} {t₃ t₂ : tspace β} :
     cont t₁ t₂ f → cont t₁ (t₂ ⊔ t₃) f :=
   continuous_le_rng le_sup_left
 #align continuous_sup_rng_left continuous_sup_rng_left
 
-/- warning: continuous_sup_rng_right -> continuous_sup_rng_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₁ (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) t₂ t₃) f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₁ (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))))) t₂ t₃) f)
-Case conversion may be inaccurate. Consider using '#align continuous_sup_rng_right continuous_sup_rng_rightₓ'. -/
 theorem continuous_sup_rng_right {t₁ : tspace α} {t₃ t₂ : tspace β} :
     cont t₁ t₃ f → cont t₁ (t₂ ⊔ t₃) f :=
   continuous_le_rng le_sup_right
 #align continuous_sup_rng_right continuous_sup_rng_right
 
-/- warning: continuous_Sup_dom -> continuous_sSup_dom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {T : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (SupSet.sSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) T) t₂ f) (forall (t : TopologicalSpace.{u1} α), (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t T) -> (Continuous.{u1, u2} α β t t₂ f))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {T : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (SupSet.sSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) T) t₂ f) (forall (t : TopologicalSpace.{u1} α), (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t T) -> (Continuous.{u1, u2} α β t t₂ f))
-Case conversion may be inaccurate. Consider using '#align continuous_Sup_dom continuous_sSup_domₓ'. -/
 theorem continuous_sSup_dom {T : Set (tspace α)} {t₂ : tspace β} :
     cont (sSup T) t₂ f ↔ ∀ t ∈ T, cont t t₂ f := by
   simp only [continuous_iff_le_induced, sSup_le_iff]
 #align continuous_Sup_dom continuous_sSup_dom
 
-/- warning: continuous_Sup_rng -> continuous_sSup_rng is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : Set.{u2} (TopologicalSpace.{u2} β)} {t : TopologicalSpace.{u2} β}, (Membership.Mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.hasMem.{u2} (TopologicalSpace.{u2} β)) t t₂) -> (Continuous.{u1, u2} α β t₁ t f) -> (Continuous.{u1, u2} α β t₁ (SupSet.sSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) t₂) f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : Set.{u2} (TopologicalSpace.{u2} β)} {t : TopologicalSpace.{u2} β}, (Membership.mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.instMembershipSet.{u2} (TopologicalSpace.{u2} β)) t t₂) -> (Continuous.{u1, u2} α β t₁ t f) -> (Continuous.{u1, u2} α β t₁ (SupSet.sSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))) t₂) f)
-Case conversion may be inaccurate. Consider using '#align continuous_Sup_rng continuous_sSup_rngₓ'. -/
 theorem continuous_sSup_rng {t₁ : tspace α} {t₂ : Set (tspace β)} {t : tspace β} (h₁ : t ∈ t₂)
     (hf : cont t₁ t f) : cont t₁ (sSup t₂) f :=
   continuous_iff_coinduced_le.2 <| le_sSup_of_le h₁ <| continuous_iff_coinduced_le.1 hf
 #align continuous_Sup_rng continuous_sSup_rng
 
-/- warning: continuous_supr_dom -> continuous_iSup_dom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : ι -> (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (iSup.{u1, u3} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι t₁) t₂ f) (forall (i : ι), Continuous.{u1, u2} α β (t₁ i) t₂ f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : ι -> (TopologicalSpace.{u2} α)} {t₂ : TopologicalSpace.{u3} β}, Iff (Continuous.{u2, u3} α β (iSup.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι t₁) t₂ f) (forall (i : ι), Continuous.{u2, u3} α β (t₁ i) t₂ f)
-Case conversion may be inaccurate. Consider using '#align continuous_supr_dom continuous_iSup_domₓ'. -/
 theorem continuous_iSup_dom {t₁ : ι → tspace α} {t₂ : tspace β} :
     cont (iSup t₁) t₂ f ↔ ∀ i, cont (t₁ i) t₂ f := by
   simp only [continuous_iff_le_induced, iSup_le_iff]
 #align continuous_supr_dom continuous_iSup_dom
 
-/- warning: continuous_supr_rng -> continuous_iSup_rng is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : TopologicalSpace.{u1} α} {t₂ : ι -> (TopologicalSpace.{u2} β)} {i : ι}, (Continuous.{u1, u2} α β t₁ (t₂ i) f) -> (Continuous.{u1, u2} α β t₁ (iSup.{u2, u3} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) ι t₂) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : ι -> (TopologicalSpace.{u3} β)} {i : ι}, (Continuous.{u2, u3} α β t₁ (t₂ i) f) -> (Continuous.{u2, u3} α β t₁ (iSup.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toSupSet.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u3} β))) ι t₂) f)
-Case conversion may be inaccurate. Consider using '#align continuous_supr_rng continuous_iSup_rngₓ'. -/
 theorem continuous_iSup_rng {t₁ : tspace α} {t₂ : ι → tspace β} {i : ι} (h : cont t₁ (t₂ i) f) :
     cont t₁ (iSup t₂) f :=
   continuous_sSup_rng ⟨i, rfl⟩ h
 #align continuous_supr_rng continuous_iSup_rng
 
-/- warning: continuous_inf_rng -> continuous_inf_rng is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ (Inf.inf.{u2} (TopologicalSpace.{u2} β) (SemilatticeInf.toHasInf.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) t₂ t₃) f) (And (Continuous.{u1, u2} α β t₁ t₂ f) (Continuous.{u1, u2} α β t₁ t₃ f))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ (Inf.inf.{u2} (TopologicalSpace.{u2} β) (Lattice.toInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β)))) t₂ t₃) f) (And (Continuous.{u1, u2} α β t₁ t₂ f) (Continuous.{u1, u2} α β t₁ t₃ f))
-Case conversion may be inaccurate. Consider using '#align continuous_inf_rng continuous_inf_rngₓ'. -/
 theorem continuous_inf_rng {t₁ : tspace α} {t₂ t₃ : tspace β} :
     cont t₁ (t₂ ⊓ t₃) f ↔ cont t₁ t₂ f ∧ cont t₁ t₃ f := by
   simp only [continuous_iff_coinduced_le, le_inf_iff]
 #align continuous_inf_rng continuous_inf_rng
 
-/- warning: continuous_inf_dom_left -> continuous_inf_dom_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) t₃ f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂) t₃ f)
-Case conversion may be inaccurate. Consider using '#align continuous_inf_dom_left continuous_inf_dom_leftₓ'. -/
 theorem continuous_inf_dom_left {t₁ t₂ : tspace α} {t₃ : tspace β} :
     cont t₁ t₃ f → cont (t₁ ⊓ t₂) t₃ f :=
   continuous_le_dom inf_le_left
 #align continuous_inf_dom_left continuous_inf_dom_left
 
-/- warning: continuous_inf_dom_right -> continuous_inf_dom_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₂ t₃ f) -> (Continuous.{u1, u2} α β (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) t₃ f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₂ t₃ f) -> (Continuous.{u1, u2} α β (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂) t₃ f)
-Case conversion may be inaccurate. Consider using '#align continuous_inf_dom_right continuous_inf_dom_rightₓ'. -/
 theorem continuous_inf_dom_right {t₁ t₂ : tspace α} {t₃ : tspace β} :
     cont t₂ t₃ f → cont (t₁ ⊓ t₂) t₃ f :=
   continuous_le_dom inf_le_right
 #align continuous_inf_dom_right continuous_inf_dom_right
 
-/- warning: continuous_Inf_dom -> continuous_sInf_dom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β} {t : TopologicalSpace.{u1} α}, (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t t₁) -> (Continuous.{u1, u2} α β t t₂ f) -> (Continuous.{u1, u2} α β (InfSet.sInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) t₁) t₂ f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β} {t : TopologicalSpace.{u1} α}, (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t t₁) -> (Continuous.{u1, u2} α β t t₂ f) -> (Continuous.{u1, u2} α β (InfSet.sInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) t₁) t₂ f)
-Case conversion may be inaccurate. Consider using '#align continuous_Inf_dom continuous_sInf_domₓ'. -/
 theorem continuous_sInf_dom {t₁ : Set (tspace α)} {t₂ : tspace β} {t : tspace α} (h₁ : t ∈ t₁) :
     cont t t₂ f → cont (sInf t₁) t₂ f :=
   continuous_le_dom <| sInf_le h₁
 #align continuous_Inf_dom continuous_sInf_dom
 
-/- warning: continuous_Inf_rng -> continuous_sInf_rng is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {T : Set.{u2} (TopologicalSpace.{u2} β)}, Iff (Continuous.{u1, u2} α β t₁ (InfSet.sInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasInf.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) T) f) (forall (t : TopologicalSpace.{u2} β), (Membership.Mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.hasMem.{u2} (TopologicalSpace.{u2} β)) t T) -> (Continuous.{u1, u2} α β t₁ t f))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {T : Set.{u2} (TopologicalSpace.{u2} β)}, Iff (Continuous.{u1, u2} α β t₁ (InfSet.sInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))) T) f) (forall (t : TopologicalSpace.{u2} β), (Membership.mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.instMembershipSet.{u2} (TopologicalSpace.{u2} β)) t T) -> (Continuous.{u1, u2} α β t₁ t f))
-Case conversion may be inaccurate. Consider using '#align continuous_Inf_rng continuous_sInf_rngₓ'. -/
 theorem continuous_sInf_rng {t₁ : tspace α} {T : Set (tspace β)} :
     cont t₁ (sInf T) f ↔ ∀ t ∈ T, cont t₁ t f := by
   simp only [continuous_iff_coinduced_le, le_sInf_iff]
 #align continuous_Inf_rng continuous_sInf_rng
 
-/- warning: continuous_infi_dom -> continuous_iInf_dom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : ι -> (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β} {i : ι}, (Continuous.{u1, u2} α β (t₁ i) t₂ f) -> (Continuous.{u1, u2} α β (iInf.{u1, u3} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι t₁) t₂ f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : ι -> (TopologicalSpace.{u2} α)} {t₂ : TopologicalSpace.{u3} β} {i : ι}, (Continuous.{u2, u3} α β (t₁ i) t₂ f) -> (Continuous.{u2, u3} α β (iInf.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι t₁) t₂ f)
-Case conversion may be inaccurate. Consider using '#align continuous_infi_dom continuous_iInf_domₓ'. -/
 theorem continuous_iInf_dom {t₁ : ι → tspace α} {t₂ : tspace β} {i : ι} :
     cont (t₁ i) t₂ f → cont (iInf t₁) t₂ f :=
   continuous_le_dom <| iInf_le _ _
 #align continuous_infi_dom continuous_iInf_dom
 
-/- warning: continuous_infi_rng -> continuous_iInf_rng is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : TopologicalSpace.{u1} α} {t₂ : ι -> (TopologicalSpace.{u2} β)}, Iff (Continuous.{u1, u2} α β t₁ (iInf.{u2, u3} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasInf.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) ι t₂) f) (forall (i : ι), Continuous.{u1, u2} α β t₁ (t₂ i) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : ι -> (TopologicalSpace.{u3} β)}, Iff (Continuous.{u2, u3} α β t₁ (iInf.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toInfSet.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u3} β))) ι t₂) f) (forall (i : ι), Continuous.{u2, u3} α β t₁ (t₂ i) f)
-Case conversion may be inaccurate. Consider using '#align continuous_infi_rng continuous_iInf_rngₓ'. -/
 theorem continuous_iInf_rng {t₁ : tspace α} {t₂ : ι → tspace β} :
     cont t₁ (iInf t₂) f ↔ ∀ i, cont t₁ (t₂ i) f := by
   simp only [continuous_iff_coinduced_le, le_iInf_iff]
 #align continuous_infi_rng continuous_iInf_rng
 
-/- warning: continuous_bot -> continuous_bot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t : TopologicalSpace.{u2} β}, Continuous.{u1, u2} α β (Bot.bot.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) t f
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t : TopologicalSpace.{u2} β}, Continuous.{u1, u2} α β (Bot.bot.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toBot.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) t f
-Case conversion may be inaccurate. Consider using '#align continuous_bot continuous_botₓ'. -/
 @[continuity]
 theorem continuous_bot {t : tspace β} : cont ⊥ t f :=
   continuous_iff_le_induced.2 <| bot_le
 #align continuous_bot continuous_bot
 
-/- warning: continuous_top -> continuous_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t : TopologicalSpace.{u1} α}, Continuous.{u1, u2} α β t (Top.top.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toHasTop.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) f
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t : TopologicalSpace.{u1} α}, Continuous.{u1, u2} α β t (Top.top.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toTop.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))) f
-Case conversion may be inaccurate. Consider using '#align continuous_top continuous_topₓ'. -/
 @[continuity]
 theorem continuous_top {t : tspace α} : cont t ⊤ f :=
   continuous_iff_coinduced_le.2 <| le_top
 #align continuous_top continuous_top
 
-/- warning: continuous_id_iff_le -> continuous_id_iff_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, Iff (Continuous.{u1, u1} α α t t' (id.{succ u1} α)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t t')
-but is expected to have type
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, Iff (Continuous.{u1, u1} α α t t' (id.{succ u1} α)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t t')
-Case conversion may be inaccurate. Consider using '#align continuous_id_iff_le continuous_id_iff_leₓ'. -/
 theorem continuous_id_iff_le {t t' : tspace α} : cont t t' id ↔ t ≤ t' :=
   @continuous_def _ _ t t' id
 #align continuous_id_iff_le continuous_id_iff_le
 
-/- warning: continuous_id_of_le -> continuous_id_of_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t t') -> (Continuous.{u1, u1} α α t t' (id.{succ u1} α))
-but is expected to have type
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t t') -> (Continuous.{u1, u1} α α t t' (id.{succ u1} α))
-Case conversion may be inaccurate. Consider using '#align continuous_id_of_le continuous_id_of_leₓ'. -/
 theorem continuous_id_of_le {t t' : tspace α} (h : t ≤ t') : cont t t' id :=
   continuous_id_iff_le.2 h
 #align continuous_id_of_le continuous_id_of_le
 
-/- warning: mem_nhds_induced -> mem_nhds_induced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [T : TopologicalSpace.{u1} α] (f : β -> α) (a : β) (s : Set.{u2} β), Iff (Membership.Mem.{u2, u2} (Set.{u2} β) (Filter.{u2} β) (Filter.hasMem.{u2} β) s (nhds.{u2} β (TopologicalSpace.induced.{u2, u1} β α f T) a)) (Exists.{succ u1} (Set.{u1} α) (fun (u : Set.{u1} α) => Exists.{0} (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) u (nhds.{u1} α T (f a))) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) u (nhds.{u1} α T (f a))) => HasSubset.Subset.{u2} (Set.{u2} β) (Set.hasSubset.{u2} β) (Set.preimage.{u2, u1} β α f u) s)))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [T : TopologicalSpace.{u1} α] (f : β -> α) (a : β) (s : Set.{u2} β), Iff (Membership.mem.{u2, u2} (Set.{u2} β) (Filter.{u2} β) (instMembershipSetFilter.{u2} β) s (nhds.{u2} β (TopologicalSpace.induced.{u2, u1} β α f T) a)) (Exists.{succ u1} (Set.{u1} α) (fun (u : Set.{u1} α) => And (Membership.mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (instMembershipSetFilter.{u1} α) u (nhds.{u1} α T (f a))) (HasSubset.Subset.{u2} (Set.{u2} β) (Set.instHasSubsetSet.{u2} β) (Set.preimage.{u2, u1} β α f u) s)))
-Case conversion may be inaccurate. Consider using '#align mem_nhds_induced mem_nhds_inducedₓ'. -/
 -- 𝓝 in the induced topology
 theorem mem_nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) (s : Set β) :
     s ∈ @nhds β (TopologicalSpace.induced f T) a ↔ ∃ u ∈ 𝓝 (f a), f ⁻¹' u ⊆ s :=
@@ -1452,12 +1003,6 @@ variable {α : Type _} {β : Type _}
 
 variable [t : TopologicalSpace β] {f : α → β}
 
-/- warning: is_open_induced_eq -> isOpen_induced_eq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [t : TopologicalSpace.{u2} β] {f : α -> β} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (TopologicalSpace.induced.{u1, u2} α β f t) s) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s (Set.image.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Set.preimage.{u1, u2} α β f) (setOf.{u2} (Set.{u2} β) (fun (s : Set.{u2} β) => IsOpen.{u2} β t s))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [t : TopologicalSpace.{u1} β] {f : α -> β} {s : Set.{u2} α}, Iff (IsOpen.{u2} α (TopologicalSpace.induced.{u2, u1} α β f t) s) (Membership.mem.{u2, u2} (Set.{u2} α) (Set.{u2} (Set.{u2} α)) (Set.instMembershipSet.{u2} (Set.{u2} α)) s (Set.image.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Set.preimage.{u2, u1} α β f) (setOf.{u1} (Set.{u1} β) (fun (s : Set.{u1} β) => IsOpen.{u1} β t s))))
-Case conversion may be inaccurate. Consider using '#align is_open_induced_eq isOpen_induced_eqₓ'. -/
 theorem isOpen_induced_eq {s : Set α} :
     is_open[induced f t] s ↔ s ∈ preimage f '' { s | IsOpen s } :=
   Iff.rfl
@@ -1515,12 +1060,6 @@ theorem nhds_true : 𝓝 True = pure True :=
 #align nhds_true nhds_true
 -/
 
-/- warning: nhds_false -> nhds_false is a dubious translation:
-lean 3 declaration is
-  Eq.{1} (Filter.{0} Prop) (nhds.{0} Prop sierpinskiSpace False) (Top.top.{0} (Filter.{0} Prop) (Filter.hasTop.{0} Prop))
-but is expected to have type
-  Eq.{1} (Filter.{0} Prop) (nhds.{0} Prop sierpinskiSpace False) (Top.top.{0} (Filter.{0} Prop) (Filter.instTopFilter.{0} Prop))
-Case conversion may be inaccurate. Consider using '#align nhds_false nhds_falseₓ'. -/
 @[simp]
 theorem nhds_false : 𝓝 False = ⊤ :=
   TopologicalSpace.nhds_generateFrom.trans <| by simp [@and_comm (_ ∈ _)]
@@ -1548,123 +1087,57 @@ section iInf
 
 variable {α : Type u} {ι : Sort v}
 
-/- warning: generate_from_union -> generateFrom_union is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (a₁ : Set.{u1} (Set.{u1} α)) (a₂ : Set.{u1} (Set.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasUnion.{u1} (Set.{u1} α)) a₁ a₂)) (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) (TopologicalSpace.generateFrom.{u1} α a₁) (TopologicalSpace.generateFrom.{u1} α a₂))
-but is expected to have type
-  forall {α : Type.{u1}} (a₁ : Set.{u1} (Set.{u1} α)) (a₂ : Set.{u1} (Set.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.instUnionSet.{u1} (Set.{u1} α)) a₁ a₂)) (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) (TopologicalSpace.generateFrom.{u1} α a₁) (TopologicalSpace.generateFrom.{u1} α a₂))
-Case conversion may be inaccurate. Consider using '#align generate_from_union generateFrom_unionₓ'. -/
 theorem generateFrom_union (a₁ a₂ : Set (Set α)) :
     TopologicalSpace.generateFrom (a₁ ∪ a₂) =
       TopologicalSpace.generateFrom a₁ ⊓ TopologicalSpace.generateFrom a₂ :=
   (TopologicalSpace.gc_generateFrom α).u_inf
 #align generate_from_union generateFrom_union
 
-/- warning: set_of_is_open_sup -> setOf_isOpen_sup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (t₁ : TopologicalSpace.{u1} α) (t₂ : TopologicalSpace.{u1} α), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) s)) (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasInter.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₁ s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₂ s)))
-but is expected to have type
-  forall {α : Type.{u1}} (t₁ : TopologicalSpace.{u1} α) (t₂ : TopologicalSpace.{u1} α), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂) s)) (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.instInterSet.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₁ s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₂ s)))
-Case conversion may be inaccurate. Consider using '#align set_of_is_open_sup setOf_isOpen_supₓ'. -/
 theorem setOf_isOpen_sup (t₁ t₂ : TopologicalSpace α) :
     { s | is_open[t₁ ⊔ t₂] s } = { s | is_open[t₁] s } ∩ { s | is_open[t₂] s } :=
   rfl
 #align set_of_is_open_sup setOf_isOpen_sup
 
-/- warning: generate_from_Union -> generateFrom_iUnion is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {f : ι -> (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iUnion.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i)))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {f : ι -> (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iUnion.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i)))
-Case conversion may be inaccurate. Consider using '#align generate_from_Union generateFrom_iUnionₓ'. -/
 theorem generateFrom_iUnion {f : ι → Set (Set α)} :
     TopologicalSpace.generateFrom (⋃ i, f i) = ⨅ i, TopologicalSpace.generateFrom (f i) :=
   (TopologicalSpace.gc_generateFrom α).u_iInf
 #align generate_from_Union generateFrom_iUnion
 
-/- warning: set_of_is_open_supr -> setOf_isOpen_iSup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => t i)) s)) (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (t i) s)))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => t i)) s)) (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (t i) s)))
-Case conversion may be inaccurate. Consider using '#align set_of_is_open_supr setOf_isOpen_iSupₓ'. -/
 theorem setOf_isOpen_iSup {t : ι → TopologicalSpace α} :
     { s | is_open[⨆ i, t i] s } = ⋂ i, { s | is_open[t i] s } :=
   (TopologicalSpace.gc_generateFrom α).l_iSup
 #align set_of_is_open_supr setOf_isOpen_iSup
 
-/- warning: generate_from_sUnion -> generateFrom_sUnion is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {S : Set.{u1} (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.sUnion.{u1} (Set.{u1} α) S)) (iInf.{u1, succ u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) (Set.{u1} (Set.{u1} α)) (fun (s : Set.{u1} (Set.{u1} α)) => iInf.{u1, 0} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) (Membership.Mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.hasMem.{u1} (Set.{u1} (Set.{u1} α))) s S) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.hasMem.{u1} (Set.{u1} (Set.{u1} α))) s S) => TopologicalSpace.generateFrom.{u1} α s)))
-but is expected to have type
-  forall {α : Type.{u1}} {S : Set.{u1} (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.sUnion.{u1} (Set.{u1} α) S)) (iInf.{u1, succ u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) (Set.{u1} (Set.{u1} α)) (fun (s : Set.{u1} (Set.{u1} α)) => iInf.{u1, 0} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) (Membership.mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.instMembershipSet.{u1} (Set.{u1} (Set.{u1} α))) s S) (fun (H : Membership.mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.instMembershipSet.{u1} (Set.{u1} (Set.{u1} α))) s S) => TopologicalSpace.generateFrom.{u1} α s)))
-Case conversion may be inaccurate. Consider using '#align generate_from_sUnion generateFrom_sUnionₓ'. -/
 theorem generateFrom_sUnion {S : Set (Set (Set α))} :
     TopologicalSpace.generateFrom (⋃₀ S) = ⨅ s ∈ S, TopologicalSpace.generateFrom s :=
   (TopologicalSpace.gc_generateFrom α).u_sInf
 #align generate_from_sUnion generateFrom_sUnion
 
-/- warning: set_of_is_open_Sup -> setOf_isOpen_sSup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {T : Set.{u1} (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (SupSet.sSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) T) s)) (Set.iInter.{u1, succ u1} (Set.{u1} α) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => Set.iInter.{u1, 0} (Set.{u1} α) (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t T) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t T) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))))
-but is expected to have type
-  forall {α : Type.{u1}} {T : Set.{u1} (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (SupSet.sSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) T) s)) (Set.iInter.{u1, succ u1} (Set.{u1} α) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => Set.iInter.{u1, 0} (Set.{u1} α) (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t T) (fun (H : Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t T) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))))
-Case conversion may be inaccurate. Consider using '#align set_of_is_open_Sup setOf_isOpen_sSupₓ'. -/
 theorem setOf_isOpen_sSup {T : Set (TopologicalSpace α)} :
     { s | is_open[sSup T] s } = ⋂ t ∈ T, { s | is_open[t] s } :=
   (TopologicalSpace.gc_generateFrom α).l_sSup
 #align set_of_is_open_Sup setOf_isOpen_sSup
 
-/- warning: generate_from_union_is_open -> generateFrom_union_isOpen is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasUnion.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) a b)
-but is expected to have type
-  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.instUnionSet.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) a b)
-Case conversion may be inaccurate. Consider using '#align generate_from_union_is_open generateFrom_union_isOpenₓ'. -/
 theorem generateFrom_union_isOpen (a b : TopologicalSpace α) :
     TopologicalSpace.generateFrom ({ s | is_open[a] s } ∪ { s | is_open[b] s }) = a ⊓ b :=
   (TopologicalSpace.gciGenerateFrom α).u_inf_l a b
 #align generate_from_union_is_open generateFrom_union_isOpen
 
-/- warning: generate_from_Union_is_open -> generateFrom_iUnion_isOpen is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iUnion.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => f i))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iUnion.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => f i))
-Case conversion may be inaccurate. Consider using '#align generate_from_Union_is_open generateFrom_iUnion_isOpenₓ'. -/
 theorem generateFrom_iUnion_isOpen (f : ι → TopologicalSpace α) :
     TopologicalSpace.generateFrom (⋃ i, { s | is_open[f i] s }) = ⨅ i, f i :=
   (TopologicalSpace.gciGenerateFrom α).u_iInf_l f
 #align generate_from_Union_is_open generateFrom_iUnion_isOpen
 
-/- warning: generate_from_inter -> generateFrom_inter is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasInter.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) a b)
-but is expected to have type
-  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.instInterSet.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) a b)
-Case conversion may be inaccurate. Consider using '#align generate_from_inter generateFrom_interₓ'. -/
 theorem generateFrom_inter (a b : TopologicalSpace α) :
     TopologicalSpace.generateFrom ({ s | is_open[a] s } ∩ { s | is_open[b] s }) = a ⊔ b :=
   (TopologicalSpace.gciGenerateFrom α).u_sup_l a b
 #align generate_from_inter generateFrom_inter
 
-/- warning: generate_from_Inter -> generateFrom_iInter is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => f i))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => f i))
-Case conversion may be inaccurate. Consider using '#align generate_from_Inter generateFrom_iInterₓ'. -/
 theorem generateFrom_iInter (f : ι → TopologicalSpace α) :
     TopologicalSpace.generateFrom (⋂ i, { s | is_open[f i] s }) = ⨆ i, f i :=
   (TopologicalSpace.gciGenerateFrom α).u_iSup_l f
 #align generate_from_Inter generateFrom_iInter
 
-/- warning: generate_from_Inter_of_generate_from_eq_self -> generateFrom_iInter_of_generateFrom_eq_self is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (Set.{u1} (Set.{u1} α))), (forall (i : ι), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (TopologicalSpace.generateFrom.{u1} α (f i)) s)) (f i)) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (Set.{u1} (Set.{u1} α))), (forall (i : ι), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (TopologicalSpace.generateFrom.{u1} α (f i)) s)) (f i)) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i))))
-Case conversion may be inaccurate. Consider using '#align generate_from_Inter_of_generate_from_eq_self generateFrom_iInter_of_generateFrom_eq_selfₓ'. -/
 theorem generateFrom_iInter_of_generateFrom_eq_self (f : ι → Set (Set α))
     (hf : ∀ i, { s | is_open[TopologicalSpace.generateFrom (f i)] s } = f i) :
     TopologicalSpace.generateFrom (⋂ i, f i) = ⨆ i, TopologicalSpace.generateFrom (f i) :=
@@ -1673,23 +1146,11 @@ theorem generateFrom_iInter_of_generateFrom_eq_self (f : ι → Set (Set α))
 
 variable {t : ι → TopologicalSpace α}
 
-/- warning: is_open_supr_iff -> isOpen_iSup_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsOpen.{u1} α (t i) s)
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsOpen.{u1} α (t i) s)
-Case conversion may be inaccurate. Consider using '#align is_open_supr_iff isOpen_iSup_iffₓ'. -/
 theorem isOpen_iSup_iff {s : Set α} : is_open[⨆ i, t i] s ↔ ∀ i, is_open[t i] s :=
   show s ∈ setOf is_open[iSup t] ↔ s ∈ { x : Set α | ∀ i : ι, is_open[t i] x } by
     simp [setOf_isOpen_iSup]
 #align is_open_supr_iff isOpen_iSup_iff
 
-/- warning: is_closed_supr_iff -> isClosed_iSup_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsClosed.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsClosed.{u1} α (t i) s)
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsClosed.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsClosed.{u1} α (t i) s)
-Case conversion may be inaccurate. Consider using '#align is_closed_supr_iff isClosed_iSup_iffₓ'. -/
 theorem isClosed_iSup_iff {s : Set α} : is_closed[⨆ i, t i] s ↔ ∀ i, is_closed[t i] s := by
   simp [← isOpen_compl_iff, isOpen_iSup_iff]
 #align is_closed_supr_iff isClosed_iSup_iff
Diff
@@ -377,14 +377,9 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
     · cases h; · exact Or.inr rfl
     · obtain ⟨rfl | rfl, rfl | rfl⟩ := ih₁, ih₂ <;> simp
     · rw [sUnion_eq_empty, or_iff_not_imp_left]
-      intro h
-      push_neg  at h
-      obtain ⟨U, hU, hne⟩ := h
-      have := (ih U hU).resolve_left hne
-      subst this
-      refine' sUnion_eq_univ_iff.2 fun a => ⟨_, hU, trivial⟩,
-    by
-    rintro (rfl | rfl)
+      intro h; push_neg  at h; obtain ⟨U, hU, hne⟩ := h
+      have := (ih U hU).resolve_left hne; subst this
+      refine' sUnion_eq_univ_iff.2 fun a => ⟨_, hU, trivial⟩, by rintro (rfl | rfl);
     exacts[@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
 #align topological_space.is_open_top_iff TopologicalSpace.isOpen_top_iff
 
@@ -949,10 +944,8 @@ lean 3 declaration is
 but is expected to have type
   forall {α : Type.{u1}} (a : α), GaloisConnection.{u1, u1} (Filter.{u1} α) (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α)) (nhdsAdjoint.{u1} α a) (fun (t : TopologicalSpace.{u1} α) => nhds.{u1} α t a)
 Case conversion may be inaccurate. Consider using '#align gc_nhds gc_nhdsₓ'. -/
-theorem gc_nhds (a : α) : GaloisConnection (nhdsAdjoint a) fun t => @nhds α t a := fun f t =>
-  by
-  rw [le_nhds_iff]
-  exact ⟨fun H s hs has => H _ has hs, fun H s has hs => H _ hs has⟩
+theorem gc_nhds (a : α) : GaloisConnection (nhdsAdjoint a) fun t => @nhds α t a := fun f t => by
+  rw [le_nhds_iff]; exact ⟨fun H s hs has => H _ has hs, fun H s has hs => H _ hs has⟩
 #align gc_nhds gc_nhds
 
 /- warning: nhds_mono -> nhds_mono is a dubious translation:
@@ -1154,11 +1147,8 @@ theorem continuous_generateFrom {t : tspace α} {b : Set (Set β)} (h : ∀ s 
 
 #print continuous_induced_dom /-
 @[continuity]
-theorem continuous_induced_dom {t : tspace β} : cont (induced f t) t f :=
-  by
-  rw [continuous_def]
-  intro s h
-  exact ⟨_, h, rfl⟩
+theorem continuous_induced_dom {t : tspace β} : cont (induced f t) t f := by rw [continuous_def];
+  intro s h; exact ⟨_, h, rfl⟩
 #align continuous_induced_dom continuous_induced_dom
 -/
 
@@ -1174,11 +1164,8 @@ theorem continuous_induced_rng {g : γ → α} {t₂ : tspace β} {t₁ : tspace
 #align continuous_induced_rng continuous_induced_rng
 
 #print continuous_coinduced_rng /-
-theorem continuous_coinduced_rng {t : tspace α} : cont t (coinduced f t) f :=
-  by
-  rw [continuous_def]
-  intro s h
-  exact h
+theorem continuous_coinduced_rng {t : tspace α} : cont t (coinduced f t) f := by
+  rw [continuous_def]; intro s h; exact h
 #align continuous_coinduced_rng continuous_coinduced_rng
 -/
 
@@ -1435,9 +1422,7 @@ theorem mem_nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) (s :
 
 #print nhds_induced /-
 theorem nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) :
-    @nhds β (TopologicalSpace.induced f T) a = comap f (𝓝 (f a)) :=
-  by
-  ext s
+    @nhds β (TopologicalSpace.induced f T) a = comap f (𝓝 (f a)) := by ext s;
   rw [mem_nhds_induced, mem_comap]
 #align nhds_induced nhds_induced
 -/
Diff
@@ -261,7 +261,7 @@ warning: topological_space.gci_generate_from -> TopologicalSpace.gciGenerateFrom
 lean 3 declaration is
   forall (α : Type.{u1}), GaloisCoinsertion.{u1, u1} (TopologicalSpace.{u1} α) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α)) (OrderDual.preorder.{u1} (Set.{u1} (Set.{u1} α)) (PartialOrder.toPreorder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (Set.{u1} α)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (Set.{u1} α)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (Set.{u1} α)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (Set.{u1} α)) (Set.completeBooleanAlgebra.{u1} (Set.{u1} α))))))))) (fun (t : TopologicalSpace.{u1} α) => coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (fun (_x : Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) => (Set.{u1} (Set.{u1} α)) -> (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (Equiv.hasCoeToFun.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (OrderDual.toDual.{u1} (Set.{u1} (Set.{u1} α))) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))) (Function.comp.{succ u1, succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α)) (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (fun (_x : Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) => (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) -> (Set.{u1} (Set.{u1} α))) (Equiv.hasCoeToFun.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.ofDual.{u1} (Set.{u1} (Set.{u1} α)))))
 but is expected to have type
-  forall (α : Type.{u1}), GaloisCoinsertion.{u1, u1} (TopologicalSpace.{u1} α) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α)) (OrderDual.preorder.{u1} (Set.{u1} (Set.{u1} α)) (PartialOrder.toPreorder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (Set.{u1} α)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (Set.{u1} α)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (Set.{u1} α)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (Set.{u1} α)) (Set.instCompleteBooleanAlgebraSet.{u1} (Set.{u1} α))))))))) (fun (t : TopologicalSpace.{u1} α) => FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (Set.{u1} (Set.{u1} α)) (fun (_x : Set.{u1} (Set.{u1} α)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Set.{u1} (Set.{u1} α)) => OrderDual.{u1} (Set.{u1} (Set.{u1} α))) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (OrderDual.toDual.{u1} (Set.{u1} (Set.{u1} α))) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))) (Function.comp.{succ u1, succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α)) (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (fun (_x : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => Set.{u1} (Set.{u1} α)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.ofDual.{u1} (Set.{u1} (Set.{u1} α)))))
+  forall (α : Type.{u1}), GaloisCoinsertion.{u1, u1} (TopologicalSpace.{u1} α) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α)) (OrderDual.preorder.{u1} (Set.{u1} (Set.{u1} α)) (PartialOrder.toPreorder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (Set.{u1} α)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (Set.{u1} α)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (Set.{u1} α)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (Set.{u1} α)) (Set.instCompleteBooleanAlgebraSet.{u1} (Set.{u1} α))))))))) (fun (t : TopologicalSpace.{u1} α) => FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (Set.{u1} (Set.{u1} α)) (fun (_x : Set.{u1} (Set.{u1} α)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Set.{u1} (Set.{u1} α)) => OrderDual.{u1} (Set.{u1} (Set.{u1} α))) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (OrderDual.toDual.{u1} (Set.{u1} (Set.{u1} α))) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))) (Function.comp.{succ u1, succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α)) (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (fun (_x : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => Set.{u1} (Set.{u1} α)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.ofDual.{u1} (Set.{u1} (Set.{u1} α)))))
 Case conversion may be inaccurate. Consider using '#align topological_space.gci_generate_from TopologicalSpace.gciGenerateFromₓ'. -/
 /-- The Galois coinsertion between `topological_space α` and `(set (set α))ᵒᵈ` whose lower part
   sends a topology to its collection of open subsets, and whose upper part sends a collection of
@@ -781,7 +781,7 @@ theorem coinduced_compose [tα : TopologicalSpace α] {f : α → β} {g : β 
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} (e : Equiv.{succ u1, succ u2} α β), Eq.{max (succ u1) (succ u2)} ((TopologicalSpace.{u1} α) -> (TopologicalSpace.{u2} β)) (TopologicalSpace.induced.{u2, u1} β α (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β e))) (TopologicalSpace.coinduced.{u1, u2} α β (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) e))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u2} α) -> (TopologicalSpace.{u1} β)) (TopologicalSpace.induced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.coinduced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
+  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u2} α) -> (TopologicalSpace.{u1} β)) (TopologicalSpace.induced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.coinduced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
 Case conversion may be inaccurate. Consider using '#align equiv.induced_symm Equiv.induced_symmₓ'. -/
 theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
     TopologicalSpace.induced e.symm = TopologicalSpace.coinduced e :=
@@ -797,7 +797,7 @@ theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} (e : Equiv.{succ u1, succ u2} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u2} β) -> (TopologicalSpace.{u1} α)) (TopologicalSpace.coinduced.{u2, u1} β α (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β e))) (TopologicalSpace.induced.{u1, u2} α β (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) e))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u1} β) -> (TopologicalSpace.{u2} α)) (TopologicalSpace.coinduced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.induced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
+  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u1} β) -> (TopologicalSpace.{u2} α)) (TopologicalSpace.coinduced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.induced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
 Case conversion may be inaccurate. Consider using '#align equiv.coinduced_symm Equiv.coinduced_symmₓ'. -/
 theorem Equiv.coinduced_symm {α β : Type _} (e : α ≃ β) :
     TopologicalSpace.coinduced e.symm = TopologicalSpace.induced e := by
Diff
@@ -136,7 +136,7 @@ protected def mkOfNhds (n : α → Filter α) : TopologicalSpace α
 
 /- warning: topological_space.nhds_mk_of_nhds -> TopologicalSpace.nhds_mkOfNhds is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (n : α -> (Filter.{u1} α)) (a : α), (LE.le.{u1} (α -> (Filter.{u1} α)) (Pi.hasLe.{u1, u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (i : α) => Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α)))) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α) n) -> (forall (a : α) (s : Set.{u1} α), (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (n a)) -> (Exists.{succ u1} (Set.{u1} α) (fun (t : Set.{u1} α) => Exists.{0} (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) t (n a)) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) t (n a)) => And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) t s) (forall (a' : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a' t) -> (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (n a'))))))) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α n) a) (n a))
+  forall {α : Type.{u1}} (n : α -> (Filter.{u1} α)) (a : α), (LE.le.{u1} (α -> (Filter.{u1} α)) (Pi.hasLe.{u1, u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (i : α) => Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α)))) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α) n) -> (forall (a : α) (s : Set.{u1} α), (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (n a)) -> (Exists.{succ u1} (Set.{u1} α) (fun (t : Set.{u1} α) => Exists.{0} (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) t (n a)) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) t (n a)) => And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) t s) (forall (a' : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a' t) -> (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (n a'))))))) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α n) a) (n a))
 but is expected to have type
   forall {α : Type.{u1}} (n : α -> (Filter.{u1} α)) (a : α), (LE.le.{u1} (α -> (Filter.{u1} α)) (Pi.hasLe.{u1, u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (i : α) => Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α)))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α) n) -> (forall (a : α) (s : Set.{u1} α), (Membership.mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (instMembershipSetFilter.{u1} α) s (n a)) -> (Exists.{succ u1} (Set.{u1} α) (fun (t : Set.{u1} α) => And (Membership.mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (instMembershipSetFilter.{u1} α) t (n a)) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) t s) (forall (a' : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a' t) -> (Membership.mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (instMembershipSetFilter.{u1} α) s (n a'))))))) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α n) a) (n a))
 Case conversion may be inaccurate. Consider using '#align topological_space.nhds_mk_of_nhds TopologicalSpace.nhds_mkOfNhdsₓ'. -/
@@ -159,7 +159,7 @@ theorem nhds_mkOfNhds (n : α → Filter α) (a : α) (h₀ : pure ≤ n)
 
 /- warning: topological_space.nhds_mk_of_nhds_single -> TopologicalSpace.nhds_mkOfNhds_single is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] {a₀ : α} {l : Filter.{u1} α}, (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α a₀) l) -> (forall (b : α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α) a₀ l)) b) (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α) a₀ l b))
+  forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] {a₀ : α} {l : Filter.{u1} α}, (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α a₀) l) -> (forall (b : α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α) a₀ l)) b) (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} (fun {α : Type.{u1}} => Filter.{u1} α) Filter.hasPure.{u1} α) a₀ l b))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] {a₀ : α} {l : Filter.{u1} α}, (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a₀) l) -> (forall (b : α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.mkOfNhds.{u1} α (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α) a₀ l)) b) (Function.update.{succ u1, succ u1} α (fun (ᾰ : α) => Filter.{u1} α) (fun (a : α) (b : α) => _inst_1 a b) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α) a₀ l b))
 Case conversion may be inaccurate. Consider using '#align topological_space.nhds_mk_of_nhds_single TopologicalSpace.nhds_mkOfNhds_singleₓ'. -/
@@ -208,7 +208,7 @@ instance : PartialOrder (TopologicalSpace α) :=
 
 /- warning: topological_space.le_def -> TopologicalSpace.le_def is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {s : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t s) (LE.le.{u1} ((Set.{u1} α) -> Prop) (Pi.hasLe.{u1, 0} (Set.{u1} α) (fun (s : Set.{u1} α) => Prop) (fun (i : Set.{u1} α) => Prop.le)) (IsOpen.{u1} α s) (IsOpen.{u1} α t))
+  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {s : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t s) (LE.le.{u1} ((Set.{u1} α) -> Prop) (Pi.hasLe.{u1, 0} (Set.{u1} α) (fun (s : Set.{u1} α) => Prop) (fun (i : Set.{u1} α) => Prop.le)) (IsOpen.{u1} α s) (IsOpen.{u1} α t))
 but is expected to have type
   forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {s : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t s) (LE.le.{u1} ((Set.{u1} α) -> Prop) (Pi.hasLe.{u1, 0} (Set.{u1} α) (fun (s : Set.{u1} α) => Prop) (fun (i : Set.{u1} α) => Prop.le)) (IsOpen.{u1} α s) (IsOpen.{u1} α t))
 Case conversion may be inaccurate. Consider using '#align topological_space.le_def TopologicalSpace.le_defₓ'. -/
@@ -218,7 +218,7 @@ protected theorem le_def {α} {t s : TopologicalSpace α} : t ≤ s ↔ is_open[
 
 /- warning: topological_space.le_generate_from_iff_subset_is_open -> TopologicalSpace.le_generateFrom_iff_subset_isOpen is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {t : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g)) (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasSubset.{u1} (Set.{u1} α)) g (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s)))
+  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {t : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g)) (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasSubset.{u1} (Set.{u1} α)) g (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s)))
 but is expected to have type
   forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {t : TopologicalSpace.{u1} α}, Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g)) (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.instHasSubsetSet.{u1} (Set.{u1} α)) g (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s)))
 Case conversion may be inaccurate. Consider using '#align topological_space.le_generate_from_iff_subset_is_open TopologicalSpace.le_generateFrom_iff_subset_isOpenₓ'. -/
@@ -287,7 +287,7 @@ instance : CompleteLattice (TopologicalSpace α) :=
 
 /- warning: topological_space.generate_from_anti -> TopologicalSpace.generateFrom_anti is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {g₁ : Set.{u1} (Set.{u1} α)} {g₂ : Set.{u1} (Set.{u1} α)}, (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasSubset.{u1} (Set.{u1} α)) g₁ g₂) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) (TopologicalSpace.generateFrom.{u1} α g₂) (TopologicalSpace.generateFrom.{u1} α g₁))
+  forall {α : Type.{u1}} {g₁ : Set.{u1} (Set.{u1} α)} {g₂ : Set.{u1} (Set.{u1} α)}, (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasSubset.{u1} (Set.{u1} α)) g₁ g₂) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) (TopologicalSpace.generateFrom.{u1} α g₂) (TopologicalSpace.generateFrom.{u1} α g₁))
 but is expected to have type
   forall {α : Type.{u1}} {g₁ : Set.{u1} (Set.{u1} α)} {g₂ : Set.{u1} (Set.{u1} α)}, (HasSubset.Subset.{u1} (Set.{u1} (Set.{u1} α)) (Set.instHasSubsetSet.{u1} (Set.{u1} α)) g₁ g₂) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) (TopologicalSpace.generateFrom.{u1} α g₂) (TopologicalSpace.generateFrom.{u1} α g₁))
 Case conversion may be inaccurate. Consider using '#align topological_space.generate_from_anti TopologicalSpace.generateFrom_antiₓ'. -/
@@ -333,7 +333,7 @@ variable {α : Type u} {β : Type v}
 
 /- warning: is_open.mono -> IsOpen.mono is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsOpen.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (IsOpen.{u1} α t₁ s)
+  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsOpen.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (IsOpen.{u1} α t₁ s)
 but is expected to have type
   forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsOpen.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ t₂) -> (IsOpen.{u1} α t₁ s)
 Case conversion may be inaccurate. Consider using '#align is_open.mono IsOpen.monoₓ'. -/
@@ -344,7 +344,7 @@ theorem IsOpen.mono {α} {t₁ t₂ : TopologicalSpace α} {s : Set α} (hs : is
 
 /- warning: is_closed.mono -> IsClosed.mono is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsClosed.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (IsClosed.{u1} α t₁ s)
+  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsClosed.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (IsClosed.{u1} α t₁ s)
 but is expected to have type
   forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, (IsClosed.{u1} α t₂ s) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ t₂) -> (IsClosed.{u1} α t₁ s)
 Case conversion may be inaccurate. Consider using '#align is_closed.mono IsClosed.monoₓ'. -/
@@ -355,7 +355,7 @@ theorem IsClosed.mono {α} {t₁ t₂ : TopologicalSpace α} {s : Set α} (hs :
 
 /- warning: is_open_implies_is_open_iff -> isOpen_implies_isOpen_iff is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {a : TopologicalSpace.{u1} α} {b : TopologicalSpace.{u1} α}, Iff (forall (s : Set.{u1} α), (IsOpen.{u1} α a s) -> (IsOpen.{u1} α b s)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) b a)
+  forall {α : Type.{u1}} {a : TopologicalSpace.{u1} α} {b : TopologicalSpace.{u1} α}, Iff (forall (s : Set.{u1} α), (IsOpen.{u1} α a s) -> (IsOpen.{u1} α b s)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) b a)
 but is expected to have type
   forall {α : Type.{u1}} {a : TopologicalSpace.{u1} α} {b : TopologicalSpace.{u1} α}, Iff (forall (s : Set.{u1} α), (IsOpen.{u1} α a s) -> (IsOpen.{u1} α b s)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) b a)
 Case conversion may be inaccurate. Consider using '#align is_open_implies_is_open_iff isOpen_implies_isOpen_iffₓ'. -/
@@ -444,7 +444,7 @@ theorem mem_nhds_discrete [TopologicalSpace α] [DiscreteTopology α] {x : α} {
 
 /- warning: le_of_nhds_le_nhds -> le_of_nhds_le_nhds is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α}, (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t₁ x) (nhds.{u1} α t₂ x)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂)
+  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α}, (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t₁ x) (nhds.{u1} α t₂ x)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂)
 but is expected to have type
   forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α}, (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t₁ x) (nhds.{u1} α t₂ x)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ t₂)
 Case conversion may be inaccurate. Consider using '#align le_of_nhds_le_nhds le_of_nhds_le_nhdsₓ'. -/
@@ -600,7 +600,7 @@ variable {t t₁ t₂ : TopologicalSpace α} {t' : TopologicalSpace β} {f : α
 
 /- warning: continuous.coinduced_le -> Continuous.coinduced_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u2} β} {f : α -> β}, (Continuous.{u1, u2} α β t t' f) -> (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t) t')
+  forall {α : Type.{u1}} {β : Type.{u2}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u2} β} {f : α -> β}, (Continuous.{u1, u2} α β t t' f) -> (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t) t')
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} {t : TopologicalSpace.{u2} α} {t' : TopologicalSpace.{u1} β} {f : α -> β}, (Continuous.{u2, u1} α β t t' f) -> (LE.le.{u1} (TopologicalSpace.{u1} β) (Preorder.toLE.{u1} (TopologicalSpace.{u1} β) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} β))) (TopologicalSpace.coinduced.{u2, u1} α β f t) t')
 Case conversion may be inaccurate. Consider using '#align continuous.coinduced_le Continuous.coinduced_leₓ'. -/
@@ -610,7 +610,7 @@ theorem Continuous.coinduced_le (h : @Continuous α β t t' f) : t.coinduced f 
 
 /- warning: coinduced_le_iff_le_induced -> coinduced_le_iff_le_induced is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {tα : TopologicalSpace.{u1} α} {tβ : TopologicalSpace.{u2} β}, Iff (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f tα) tβ) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) tα (TopologicalSpace.induced.{u1, u2} α β f tβ))
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {tα : TopologicalSpace.{u1} α} {tβ : TopologicalSpace.{u2} β}, Iff (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f tα) tβ) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) tα (TopologicalSpace.induced.{u1, u2} α β f tβ))
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} {f : α -> β} {tα : TopologicalSpace.{u2} α} {tβ : TopologicalSpace.{u1} β}, Iff (LE.le.{u1} (TopologicalSpace.{u1} β) (Preorder.toLE.{u1} (TopologicalSpace.{u1} β) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} β))) (TopologicalSpace.coinduced.{u2, u1} α β f tα) tβ) (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) tα (TopologicalSpace.induced.{u2, u1} α β f tβ))
 Case conversion may be inaccurate. Consider using '#align coinduced_le_iff_le_induced coinduced_le_iff_le_inducedₓ'. -/
@@ -621,7 +621,7 @@ theorem coinduced_le_iff_le_induced {f : α → β} {tα : TopologicalSpace α}
 
 /- warning: continuous.le_induced -> Continuous.le_induced is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u2} β} {f : α -> β}, (Continuous.{u1, u2} α β t t' f) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.induced.{u1, u2} α β f t'))
+  forall {α : Type.{u1}} {β : Type.{u2}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u2} β} {f : α -> β}, (Continuous.{u1, u2} α β t t' f) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.induced.{u1, u2} α β f t'))
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} {t : TopologicalSpace.{u2} α} {t' : TopologicalSpace.{u1} β} {f : α -> β}, (Continuous.{u2, u1} α β t t' f) -> (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) t (TopologicalSpace.induced.{u2, u1} α β f t'))
 Case conversion may be inaccurate. Consider using '#align continuous.le_induced Continuous.le_inducedₓ'. -/
@@ -642,7 +642,7 @@ theorem gc_coinduced_induced (f : α → β) :
 
 /- warning: induced_mono -> induced_mono is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {g : β -> α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.induced.{u2, u1} β α g t₁) (TopologicalSpace.induced.{u2, u1} β α g t₂))
+  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {g : β -> α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.induced.{u2, u1} β α g t₁) (TopologicalSpace.induced.{u2, u1} β α g t₂))
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : TopologicalSpace.{u2} α} {g : β -> α}, (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) t₁ t₂) -> (LE.le.{u1} (TopologicalSpace.{u1} β) (Preorder.toLE.{u1} (TopologicalSpace.{u1} β) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} β))) (TopologicalSpace.induced.{u1, u2} β α g t₁) (TopologicalSpace.induced.{u1, u2} β α g t₂))
 Case conversion may be inaccurate. Consider using '#align induced_mono induced_monoₓ'. -/
@@ -652,7 +652,7 @@ theorem induced_mono (h : t₁ ≤ t₂) : t₁.induced g ≤ t₂.induced g :=
 
 /- warning: coinduced_mono -> coinduced_mono is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {f : α -> β}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) (TopologicalSpace.coinduced.{u1, u2} α β f t₂))
+  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {f : α -> β}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) (TopologicalSpace.coinduced.{u1, u2} α β f t₂))
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : TopologicalSpace.{u2} α} {f : α -> β}, (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) t₁ t₂) -> (LE.le.{u1} (TopologicalSpace.{u1} β) (Preorder.toLE.{u1} (TopologicalSpace.{u1} β) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} β))) (TopologicalSpace.coinduced.{u2, u1} α β f t₁) (TopologicalSpace.coinduced.{u2, u1} α β f t₂))
 Case conversion may be inaccurate. Consider using '#align coinduced_mono coinduced_monoₓ'. -/
@@ -894,7 +894,7 @@ theorem continuous_empty_function [TopologicalSpace α] [TopologicalSpace β] [I
 
 /- warning: le_generate_from -> le_generateFrom is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {g : Set.{u1} (Set.{u1} α)}, (forall (s : Set.{u1} α), (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s g) -> (IsOpen.{u1} α t s)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g))
+  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {g : Set.{u1} (Set.{u1} α)}, (forall (s : Set.{u1} α), (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s g) -> (IsOpen.{u1} α t s)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g))
 but is expected to have type
   forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {g : Set.{u1} (Set.{u1} α)}, (forall (s : Set.{u1} α), (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s g) -> (IsOpen.{u1} α t s)) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (TopologicalSpace.generateFrom.{u1} α g))
 Case conversion may be inaccurate. Consider using '#align le_generate_from le_generateFromₓ'. -/
@@ -918,7 +918,7 @@ theorem induced_generateFrom_eq {α β} {b : Set (Set β)} {f : α → β} :
 
 /- warning: le_induced_generate_from -> le_induced_generateFrom is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [t : TopologicalSpace.{u1} α] {b : Set.{u2} (Set.{u2} β)} {f : α -> β}, (forall (a : Set.{u2} β), (Membership.Mem.{u2, u2} (Set.{u2} β) (Set.{u2} (Set.{u2} β)) (Set.hasMem.{u2} (Set.{u2} β)) a b) -> (IsOpen.{u1} α t (Set.preimage.{u1, u2} α β f a))) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.induced.{u1, u2} α β f (TopologicalSpace.generateFrom.{u2} β b)))
+  forall {α : Type.{u1}} {β : Type.{u2}} [t : TopologicalSpace.{u1} α] {b : Set.{u2} (Set.{u2} β)} {f : α -> β}, (forall (a : Set.{u2} β), (Membership.Mem.{u2, u2} (Set.{u2} β) (Set.{u2} (Set.{u2} β)) (Set.hasMem.{u2} (Set.{u2} β)) a b) -> (IsOpen.{u1} α t (Set.preimage.{u1, u2} α β f a))) -> (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (TopologicalSpace.induced.{u1, u2} α β f (TopologicalSpace.generateFrom.{u2} β b)))
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} [t : TopologicalSpace.{u2} α] {b : Set.{u1} (Set.{u1} β)} {f : α -> β}, (forall (a : Set.{u1} β), (Membership.mem.{u1, u1} (Set.{u1} β) (Set.{u1} (Set.{u1} β)) (Set.instMembershipSet.{u1} (Set.{u1} β)) a b) -> (IsOpen.{u2} α t (Set.preimage.{u2, u1} α β f a))) -> (LE.le.{u2} (TopologicalSpace.{u2} α) (Preorder.toLE.{u2} (TopologicalSpace.{u2} α) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} α))) t (TopologicalSpace.induced.{u2, u1} α β f (TopologicalSpace.generateFrom.{u1} β b)))
 Case conversion may be inaccurate. Consider using '#align le_induced_generate_from le_induced_generateFromₓ'. -/
@@ -957,7 +957,7 @@ theorem gc_nhds (a : α) : GaloisConnection (nhdsAdjoint a) fun t => @nhds α t
 
 /- warning: nhds_mono -> nhds_mono is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
+  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ t₂) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
 but is expected to have type
   forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ t₂) -> (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
 Case conversion may be inaccurate. Consider using '#align nhds_mono nhds_monoₓ'. -/
@@ -968,7 +968,7 @@ theorem nhds_mono {t₁ t₂ : TopologicalSpace α} {a : α} (h : t₁ ≤ t₂)
 
 /- warning: le_iff_nhds -> le_iff_nhds is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (t : TopologicalSpace.{u1} α) (t' : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t t') (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t x) (nhds.{u1} α t' x))
+  forall {α : Type.{u1}} (t : TopologicalSpace.{u1} α) (t' : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t t') (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t x) (nhds.{u1} α t' x))
 but is expected to have type
   forall {α : Type.{u1}} (t : TopologicalSpace.{u1} α) (t' : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t t') (forall (x : α), LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t x) (nhds.{u1} α t' x))
 Case conversion may be inaccurate. Consider using '#align le_iff_nhds le_iff_nhdsₓ'. -/
@@ -1020,7 +1020,7 @@ theorem isOpen_singleton_nhdsAdjoint {α : Type _} {a b : α} (f : Filter α) (h
 
 /- warning: le_nhds_adjoint_iff' -> le_nhdsAdjoint_iff' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α b))))
+  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α b))))
 but is expected to have type
   forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α b))))
 Case conversion may be inaccurate. Consider using '#align le_nhds_adjoint_iff' le_nhdsAdjoint_iff'ₓ'. -/
@@ -1046,7 +1046,7 @@ theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : Topologi
 
 /- warning: le_nhds_adjoint_iff -> le_nhdsAdjoint_iff is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) b))))
+  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toHasLe.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) b))))
 but is expected to have type
   forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) b))))
 Case conversion may be inaccurate. Consider using '#align le_nhds_adjoint_iff le_nhdsAdjoint_iffₓ'. -/
@@ -1125,7 +1125,7 @@ variable {γ : Type _} {f : α → β} {ι : Sort _}
 
 /- warning: continuous_iff_coinduced_le -> continuous_iff_coinduced_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) t₂)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) t₂)
 but is expected to have type
   forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} β))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) t₂)
 Case conversion may be inaccurate. Consider using '#align continuous_iff_coinduced_le continuous_iff_coinduced_leₓ'. -/
@@ -1136,7 +1136,7 @@ theorem continuous_iff_coinduced_le {t₁ : tspace α} {t₂ : tspace β} :
 
 /- warning: continuous_iff_le_induced -> continuous_iff_le_induced is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ (TopologicalSpace.induced.{u1, u2} α β f t₂))
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₁ (TopologicalSpace.induced.{u1, u2} α β f t₂))
 but is expected to have type
   forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ t₂ f) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₁ (TopologicalSpace.induced.{u1, u2} α β f t₂))
 Case conversion may be inaccurate. Consider using '#align continuous_iff_le_induced continuous_iff_le_inducedₓ'. -/
@@ -1195,7 +1195,7 @@ theorem continuous_coinduced_dom {g : β → γ} {t₁ : tspace α} {t₂ : tspa
 
 /- warning: continuous_le_dom -> continuous_le_dom is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₂ t₁) -> (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₂ t₃ f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t₂ t₁) -> (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₂ t₃ f)
 but is expected to have type
   forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t₂ t₁) -> (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₂ t₃ f)
 Case conversion may be inaccurate. Consider using '#align continuous_le_dom continuous_le_domₓ'. -/
@@ -1208,7 +1208,7 @@ theorem continuous_le_dom {t₁ t₂ : tspace α} {t₃ : tspace β} (h₁ : t
 
 /- warning: continuous_le_rng -> continuous_le_rng is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) t₂ t₃) -> (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ t₃ f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toHasLe.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.partialOrder.{u2} β))) t₂ t₃) -> (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ t₃ f)
 but is expected to have type
   forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, (LE.le.{u2} (TopologicalSpace.{u2} β) (Preorder.toLE.{u2} (TopologicalSpace.{u2} β) (PartialOrder.toPreorder.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instPartialOrderTopologicalSpace.{u2} β))) t₂ t₃) -> (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ t₃ f)
 Case conversion may be inaccurate. Consider using '#align continuous_le_rng continuous_le_rngₓ'. -/
@@ -1397,7 +1397,7 @@ theorem continuous_top {t : tspace α} : cont t ⊤ f :=
 
 /- warning: continuous_id_iff_le -> continuous_id_iff_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, Iff (Continuous.{u1, u1} α α t t' (id.{succ u1} α)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t t')
+  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, Iff (Continuous.{u1, u1} α α t t' (id.{succ u1} α)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t t')
 but is expected to have type
   forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, Iff (Continuous.{u1, u1} α α t t' (id.{succ u1} α)) (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t t')
 Case conversion may be inaccurate. Consider using '#align continuous_id_iff_le continuous_id_iff_leₓ'. -/
@@ -1407,7 +1407,7 @@ theorem continuous_id_iff_le {t t' : tspace α} : cont t t' id ↔ t ≤ t' :=
 
 /- warning: continuous_id_of_le -> continuous_id_of_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t t') -> (Continuous.{u1, u1} α α t t' (id.{succ u1} α))
+  forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toHasLe.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t t') -> (Continuous.{u1, u1} α α t t' (id.{succ u1} α))
 but is expected to have type
   forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α} {t' : TopologicalSpace.{u1} α}, (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t t') -> (Continuous.{u1, u1} α α t t' (id.{succ u1} α))
 Case conversion may be inaccurate. Consider using '#align continuous_id_of_le continuous_id_of_leₓ'. -/
Diff
@@ -77,7 +77,7 @@ def generateFrom (g : Set (Set α)) : TopologicalSpace α
   IsOpen := GenerateOpen g
   isOpen_univ := GenerateOpen.univ
   isOpen_inter := GenerateOpen.inter
-  isOpen_unionₛ := GenerateOpen.unionₛ
+  isOpen_sUnion := GenerateOpen.sUnion
 #align topological_space.generate_from TopologicalSpace.generateFrom
 -/
 
@@ -90,18 +90,18 @@ theorem isOpen_generateFrom_of_mem {g : Set (Set α)} {s : Set α} (hs : s ∈ g
 
 /- warning: topological_space.nhds_generate_from -> TopologicalSpace.nhds_generateFrom is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.generateFrom.{u1} α g) a) (infᵢ.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (Set.{u1} α) (fun (s : Set.{u1} α) => infᵢ.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s g)))) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s g)))) => Filter.principal.{u1} α s)))
+  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.generateFrom.{u1} α g) a) (iInf.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (Set.{u1} α) (fun (s : Set.{u1} α) => iInf.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s g)))) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (Membership.Mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.hasMem.{u1} (Set.{u1} α)) s g)))) => Filter.principal.{u1} α s)))
 but is expected to have type
-  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.generateFrom.{u1} α g) a) (infᵢ.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (Set.{u1} α) (fun (s : Set.{u1} α) => infᵢ.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a s) (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s g)))) (fun (H : Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a s) (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s g)))) => Filter.principal.{u1} α s)))
+  forall {α : Type.{u1}} {g : Set.{u1} (Set.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (TopologicalSpace.generateFrom.{u1} α g) a) (iInf.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (Set.{u1} α) (fun (s : Set.{u1} α) => iInf.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a s) (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s g)))) (fun (H : Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => And (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a s) (Membership.mem.{u1, u1} (Set.{u1} α) (Set.{u1} (Set.{u1} α)) (Set.instMembershipSet.{u1} (Set.{u1} α)) s g)))) => Filter.principal.{u1} α s)))
 Case conversion may be inaccurate. Consider using '#align topological_space.nhds_generate_from TopologicalSpace.nhds_generateFromₓ'. -/
 theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
     @nhds α (generateFrom g) a = ⨅ s ∈ { s | a ∈ s ∧ s ∈ g }, 𝓟 s :=
   by
   rw [nhds_def]
-  refine' le_antisymm (binfᵢ_mono fun s ⟨as, sg⟩ => ⟨as, generate_open.basic _ sg⟩) _
-  refine' le_infᵢ₂ fun s hs => _; cases' hs with ha hs
+  refine' le_antisymm (biInf_mono fun s ⟨as, sg⟩ => ⟨as, generate_open.basic _ sg⟩) _
+  refine' le_iInf₂ fun s hs => _; cases' hs with ha hs
   induction hs
-  case basic s hs => exact infᵢ₂_le _ ⟨ha, hs⟩
+  case basic s hs => exact iInf₂_le _ ⟨ha, hs⟩
   case univ => exact le_top.trans_eq principal_univ.symm
   case inter s t hs' ht' hs ht => exact (le_inf (hs ha.1) (ht ha.2)).trans_eq inf_principal
   case sUnion S hS' hS =>
@@ -129,8 +129,8 @@ protected def mkOfNhds (n : α → Filter α) : TopologicalSpace α
   IsOpen s := ∀ a ∈ s, s ∈ n a
   isOpen_univ x h := univ_mem
   isOpen_inter := fun s t hs ht x ⟨hxs, hxt⟩ => inter_mem (hs x hxs) (ht x hxt)
-  isOpen_unionₛ := fun s hs a ⟨x, hx, hxa⟩ =>
-    mem_of_superset (hs x hx _ hxa) (Set.subset_unionₛ_of_mem hx)
+  isOpen_sUnion := fun s hs a ⟨x, hx, hxa⟩ =>
+    mem_of_superset (hs x hx _ hxa) (Set.subset_sUnion_of_mem hx)
 #align topological_space.mk_of_nhds TopologicalSpace.mkOfNhds
 -/
 
@@ -226,7 +226,7 @@ theorem le_generateFrom_iff_subset_isOpen {g : Set (Set α)} {t : TopologicalSpa
     t ≤ TopologicalSpace.generateFrom g ↔ g ⊆ { s | is_open[t] s } :=
   ⟨fun ht s hs => ht _ <| GenerateOpen.basic s hs, fun hg s hs =>
     hs.recOn (fun v hv => hg hv) t.isOpen_univ (fun u v _ _ => t.isOpen_inter u v) fun k _ =>
-      t.isOpen_unionₛ k⟩
+      t.isOpen_sUnion k⟩
 #align topological_space.le_generate_from_iff_subset_is_open TopologicalSpace.le_generateFrom_iff_subset_isOpen
 
 #print TopologicalSpace.mkOfClosure /-
@@ -237,7 +237,7 @@ protected def mkOfClosure (s : Set (Set α)) (hs : { u | GenerateOpen s u } = s)
   IsOpen u := u ∈ s
   isOpen_univ := hs ▸ TopologicalSpace.GenerateOpen.univ
   isOpen_inter := hs ▸ TopologicalSpace.GenerateOpen.inter
-  isOpen_unionₛ := hs ▸ TopologicalSpace.GenerateOpen.unionₛ
+  isOpen_sUnion := hs ▸ TopologicalSpace.GenerateOpen.sUnion
 #align topological_space.mk_of_closure TopologicalSpace.mkOfClosure
 -/
 
@@ -470,7 +470,7 @@ but is expected to have type
   forall {α : Type.{u1}} {t : TopologicalSpace.{u1} α}, (forall (x : α), IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) t (Bot.bot.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toBot.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))
 Case conversion may be inaccurate. Consider using '#align eq_bot_of_singletons_open eq_bot_of_singletons_openₓ'. -/
 theorem eq_bot_of_singletons_open {t : TopologicalSpace α} (h : ∀ x, is_open[t] {x}) : t = ⊥ :=
-  bot_unique fun s hs => bunionᵢ_of_singleton s ▸ isOpen_bunionᵢ fun x _ => h x
+  bot_unique fun s hs => biUnion_of_singleton s ▸ isOpen_biUnion fun x _ => h x
 #align eq_bot_of_singletons_open eq_bot_of_singletons_open
 
 #print forall_open_iff_discrete /-
@@ -531,14 +531,14 @@ def TopologicalSpace.induced {α : Type u} {β : Type v} (f : α → β) (t : To
   isOpen_inter := by
     rintro s₁ s₂ ⟨s'₁, hs₁, rfl⟩ ⟨s'₂, hs₂, rfl⟩ <;>
       exact ⟨s'₁ ∩ s'₂, hs₁.inter hs₂, preimage_inter⟩
-  isOpen_unionₛ s h := by
+  isOpen_sUnion s h := by
     simp only [Classical.skolem] at h
     cases' h with f hf
     apply Exists.intro (⋃ (x : Set α) (h : x ∈ s), f x h)
     simp only [sUnion_eq_bUnion, preimage_Union, fun x h => (hf x h).right]; refine' ⟨_, rfl⟩
     exact
-      @isOpen_unionᵢ β _ t _ fun i =>
-        show IsOpen (⋃ h, f i h) from @isOpen_unionᵢ β _ t _ fun h => (hf i h).left
+      @isOpen_iUnion β _ t _ fun i =>
+        show IsOpen (⋃ h, f i h) from @isOpen_iUnion β _ t _ fun h => (hf i h).left
 #align topological_space.induced TopologicalSpace.induced
 -/
 
@@ -567,7 +567,7 @@ def TopologicalSpace.coinduced {α : Type u} {β : Type v} (f : α → β) (t :
   IsOpen s := is_open[t] (f ⁻¹' s)
   isOpen_univ := t.isOpen_univ
   isOpen_inter _ _ h₁ h₂ := h₁.inter h₂
-  isOpen_unionₛ s h := by simpa only [preimage_sUnion] using isOpen_bunionᵢ h
+  isOpen_sUnion s h := by simpa only [preimage_sUnion] using isOpen_biUnion h
 #align topological_space.coinduced TopologicalSpace.coinduced
 -/
 
@@ -682,17 +682,17 @@ theorem induced_inf : (t₁ ⊓ t₂).induced g = t₁.induced g ⊓ t₂.induce
   (gc_coinduced_induced g).u_inf
 #align induced_inf induced_inf
 
-/- warning: induced_infi -> induced_infᵢ is a dubious translation:
+/- warning: induced_infi -> induced_iInf is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u2}} {β : Type.{u3}} {g : β -> α} {ι : Sort.{u1}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u3} (TopologicalSpace.{u3} β) (TopologicalSpace.induced.{u3, u2} β α g (infᵢ.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toHasInf.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.completeLattice.{u2} α))) ι (fun (i : ι) => t i))) (infᵢ.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toHasInf.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.completeLattice.{u3} β))) ι (fun (i : ι) => TopologicalSpace.induced.{u3, u2} β α g (t i)))
+  forall {α : Type.{u2}} {β : Type.{u3}} {g : β -> α} {ι : Sort.{u1}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u3} (TopologicalSpace.{u3} β) (TopologicalSpace.induced.{u3, u2} β α g (iInf.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toHasInf.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.completeLattice.{u2} α))) ι (fun (i : ι) => t i))) (iInf.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toHasInf.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.completeLattice.{u3} β))) ι (fun (i : ι) => TopologicalSpace.induced.{u3, u2} β α g (t i)))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {g : β -> α} {ι : Sort.{u3}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u1} (TopologicalSpace.{u1} β) (TopologicalSpace.induced.{u1, u2} β α g (infᵢ.{u2, u3} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι (fun (i : ι) => t i))) (infᵢ.{u1, u3} (TopologicalSpace.{u1} β) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} β) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} β))) ι (fun (i : ι) => TopologicalSpace.induced.{u1, u2} β α g (t i)))
-Case conversion may be inaccurate. Consider using '#align induced_infi induced_infᵢₓ'. -/
+  forall {α : Type.{u2}} {β : Type.{u1}} {g : β -> α} {ι : Sort.{u3}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u1} (TopologicalSpace.{u1} β) (TopologicalSpace.induced.{u1, u2} β α g (iInf.{u2, u3} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι (fun (i : ι) => t i))) (iInf.{u1, u3} (TopologicalSpace.{u1} β) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} β) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} β))) ι (fun (i : ι) => TopologicalSpace.induced.{u1, u2} β α g (t i)))
+Case conversion may be inaccurate. Consider using '#align induced_infi induced_iInfₓ'. -/
 @[simp]
-theorem induced_infᵢ {ι : Sort w} {t : ι → TopologicalSpace α} :
+theorem induced_iInf {ι : Sort w} {t : ι → TopologicalSpace α} :
     (⨅ i, t i).induced g = ⨅ i, (t i).induced g :=
-  (gc_coinduced_induced g).u_infᵢ
-#align induced_infi induced_infᵢ
+  (gc_coinduced_induced g).u_iInf
+#align induced_infi induced_iInf
 
 /- warning: coinduced_bot -> coinduced_bot is a dubious translation:
 lean 3 declaration is
@@ -716,17 +716,17 @@ theorem coinduced_sup : (t₁ ⊔ t₂).coinduced f = t₁.coinduced f ⊔ t₂.
   (gc_coinduced_induced f).l_sup
 #align coinduced_sup coinduced_sup
 
-/- warning: coinduced_supr -> coinduced_supᵢ is a dubious translation:
+/- warning: coinduced_supr -> coinduced_iSup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u3} (TopologicalSpace.{u3} β) (TopologicalSpace.coinduced.{u2, u3} α β f (supᵢ.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.completeLattice.{u2} α))) ι (fun (i : ι) => t i))) (supᵢ.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toHasSup.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.completeLattice.{u3} β))) ι (fun (i : ι) => TopologicalSpace.coinduced.{u2, u3} α β f (t i)))
+  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u3} (TopologicalSpace.{u3} β) (TopologicalSpace.coinduced.{u2, u3} α β f (iSup.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.completeLattice.{u2} α))) ι (fun (i : ι) => t i))) (iSup.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toHasSup.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.completeLattice.{u3} β))) ι (fun (i : ι) => TopologicalSpace.coinduced.{u2, u3} α β f (t i)))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {f : α -> β} {ι : Sort.{u3}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u1} (TopologicalSpace.{u1} β) (TopologicalSpace.coinduced.{u2, u1} α β f (supᵢ.{u2, u3} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι (fun (i : ι) => t i))) (supᵢ.{u1, u3} (TopologicalSpace.{u1} β) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} β) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} β))) ι (fun (i : ι) => TopologicalSpace.coinduced.{u2, u1} α β f (t i)))
-Case conversion may be inaccurate. Consider using '#align coinduced_supr coinduced_supᵢₓ'. -/
+  forall {α : Type.{u2}} {β : Type.{u1}} {f : α -> β} {ι : Sort.{u3}} {t : ι -> (TopologicalSpace.{u2} α)}, Eq.{succ u1} (TopologicalSpace.{u1} β) (TopologicalSpace.coinduced.{u2, u1} α β f (iSup.{u2, u3} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι (fun (i : ι) => t i))) (iSup.{u1, u3} (TopologicalSpace.{u1} β) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} β) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} β))) ι (fun (i : ι) => TopologicalSpace.coinduced.{u2, u1} α β f (t i)))
+Case conversion may be inaccurate. Consider using '#align coinduced_supr coinduced_iSupₓ'. -/
 @[simp]
-theorem coinduced_supᵢ {ι : Sort w} {t : ι → TopologicalSpace α} :
+theorem coinduced_iSup {ι : Sort w} {t : ι → TopologicalSpace α} :
     (⨆ i, t i).coinduced f = ⨆ i, (t i).coinduced f :=
-  (gc_coinduced_induced f).l_supᵢ
-#align coinduced_supr coinduced_supᵢ
+  (gc_coinduced_induced f).l_iSup
+#align coinduced_supr coinduced_iSup
 
 #print induced_id /-
 theorem induced_id [t : TopologicalSpace α] : t.induced id = t :=
@@ -939,7 +939,7 @@ def nhdsAdjoint (a : α) (f : Filter α) : TopologicalSpace α
   IsOpen s := a ∈ s → s ∈ f
   isOpen_univ s := univ_mem
   isOpen_inter := fun s t hs ht ⟨has, hat⟩ => inter_mem (hs has) (ht hat)
-  isOpen_unionₛ := fun k hk ⟨u, hu, hau⟩ => mem_of_superset (hk u hu hau) (subset_unionₛ_of_mem hu)
+  isOpen_sUnion := fun k hk ⟨u, hu, hau⟩ => mem_of_superset (hk u hu hau) (subset_sUnion_of_mem hu)
 #align nhds_adjoint nhdsAdjoint
 -/
 
@@ -1059,27 +1059,27 @@ theorem le_nhdsAdjoint_iff {α : Type _} (a : α) (f : Filter α) (t : Topologic
   rw [@isOpen_singleton_iff_nhds_eq_pure α t b]
 #align le_nhds_adjoint_iff le_nhdsAdjoint_iff
 
-/- warning: nhds_infi -> nhds_infᵢ is a dubious translation:
+/- warning: nhds_infi -> nhds_iInf is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (infᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι t) a) (infᵢ.{u1, u2} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) ι (fun (i : ι) => nhds.{u1} α (t i) a))
+  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι t) a) (iInf.{u1, u2} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) ι (fun (i : ι) => nhds.{u1} α (t i) a))
 but is expected to have type
-  forall {α : Type.{u2}} {ι : Sort.{u1}} {t : ι -> (TopologicalSpace.{u2} α)} {a : α}, Eq.{succ u2} (Filter.{u2} α) (nhds.{u2} α (infᵢ.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι t) a) (infᵢ.{u2, u1} (Filter.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (Filter.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Filter.{u2} α) (Filter.instCompleteLatticeFilter.{u2} α))) ι (fun (i : ι) => nhds.{u2} α (t i) a))
-Case conversion may be inaccurate. Consider using '#align nhds_infi nhds_infᵢₓ'. -/
-theorem nhds_infᵢ {ι : Sort _} {t : ι → TopologicalSpace α} {a : α} :
-    @nhds α (infᵢ t) a = ⨅ i, @nhds α (t i) a :=
-  (gc_nhds a).u_infᵢ
-#align nhds_infi nhds_infᵢ
+  forall {α : Type.{u2}} {ι : Sort.{u1}} {t : ι -> (TopologicalSpace.{u2} α)} {a : α}, Eq.{succ u2} (Filter.{u2} α) (nhds.{u2} α (iInf.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι t) a) (iInf.{u2, u1} (Filter.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (Filter.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Filter.{u2} α) (Filter.instCompleteLatticeFilter.{u2} α))) ι (fun (i : ι) => nhds.{u2} α (t i) a))
+Case conversion may be inaccurate. Consider using '#align nhds_infi nhds_iInfₓ'. -/
+theorem nhds_iInf {ι : Sort _} {t : ι → TopologicalSpace α} {a : α} :
+    @nhds α (iInf t) a = ⨅ i, @nhds α (t i) a :=
+  (gc_nhds a).u_iInf
+#align nhds_infi nhds_iInf
 
-/- warning: nhds_Inf -> nhds_infₛ is a dubious translation:
+/- warning: nhds_Inf -> nhds_sInf is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {s : Set.{u1} (TopologicalSpace.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (InfSet.infₛ.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) s) a) (infᵢ.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => infᵢ.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t s) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t s) => nhds.{u1} α t a)))
+  forall {α : Type.{u1}} {s : Set.{u1} (TopologicalSpace.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (InfSet.sInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) s) a) (iInf.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => iInf.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))) (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t s) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t s) => nhds.{u1} α t a)))
 but is expected to have type
-  forall {α : Type.{u1}} {s : Set.{u1} (TopologicalSpace.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (InfSet.infₛ.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) s) a) (infᵢ.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => infᵢ.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t s) (fun (H : Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t s) => nhds.{u1} α t a)))
-Case conversion may be inaccurate. Consider using '#align nhds_Inf nhds_infₛₓ'. -/
-theorem nhds_infₛ {s : Set (TopologicalSpace α)} {a : α} :
-    @nhds α (infₛ s) a = ⨅ t ∈ s, @nhds α t a :=
-  (gc_nhds a).u_infₛ
-#align nhds_Inf nhds_infₛ
+  forall {α : Type.{u1}} {s : Set.{u1} (TopologicalSpace.{u1} α)} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (InfSet.sInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) s) a) (iInf.{u1, succ u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => iInf.{u1, 0} (Filter.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))) (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t s) (fun (H : Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t s) => nhds.{u1} α t a)))
+Case conversion may be inaccurate. Consider using '#align nhds_Inf nhds_sInfₓ'. -/
+theorem nhds_sInf {s : Set (TopologicalSpace α)} {a : α} :
+    @nhds α (sInf s) a = ⨅ t ∈ s, @nhds α t a :=
+  (gc_nhds a).u_sInf
+#align nhds_Inf nhds_sInf
 
 /- warning: nhds_inf -> nhds_inf is a dubious translation:
 lean 3 declaration is
@@ -1252,49 +1252,49 @@ theorem continuous_sup_rng_right {t₁ : tspace α} {t₃ t₂ : tspace β} :
   continuous_le_rng le_sup_right
 #align continuous_sup_rng_right continuous_sup_rng_right
 
-/- warning: continuous_Sup_dom -> continuous_supₛ_dom is a dubious translation:
+/- warning: continuous_Sup_dom -> continuous_sSup_dom is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {T : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (SupSet.supₛ.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) T) t₂ f) (forall (t : TopologicalSpace.{u1} α), (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t T) -> (Continuous.{u1, u2} α β t t₂ f))
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {T : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (SupSet.sSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) T) t₂ f) (forall (t : TopologicalSpace.{u1} α), (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t T) -> (Continuous.{u1, u2} α β t t₂ f))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {T : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (SupSet.supₛ.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) T) t₂ f) (forall (t : TopologicalSpace.{u1} α), (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t T) -> (Continuous.{u1, u2} α β t t₂ f))
-Case conversion may be inaccurate. Consider using '#align continuous_Sup_dom continuous_supₛ_domₓ'. -/
-theorem continuous_supₛ_dom {T : Set (tspace α)} {t₂ : tspace β} :
-    cont (supₛ T) t₂ f ↔ ∀ t ∈ T, cont t t₂ f := by
-  simp only [continuous_iff_le_induced, supₛ_le_iff]
-#align continuous_Sup_dom continuous_supₛ_dom
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {T : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (SupSet.sSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) T) t₂ f) (forall (t : TopologicalSpace.{u1} α), (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t T) -> (Continuous.{u1, u2} α β t t₂ f))
+Case conversion may be inaccurate. Consider using '#align continuous_Sup_dom continuous_sSup_domₓ'. -/
+theorem continuous_sSup_dom {T : Set (tspace α)} {t₂ : tspace β} :
+    cont (sSup T) t₂ f ↔ ∀ t ∈ T, cont t t₂ f := by
+  simp only [continuous_iff_le_induced, sSup_le_iff]
+#align continuous_Sup_dom continuous_sSup_dom
 
-/- warning: continuous_Sup_rng -> continuous_supₛ_rng is a dubious translation:
+/- warning: continuous_Sup_rng -> continuous_sSup_rng is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : Set.{u2} (TopologicalSpace.{u2} β)} {t : TopologicalSpace.{u2} β}, (Membership.Mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.hasMem.{u2} (TopologicalSpace.{u2} β)) t t₂) -> (Continuous.{u1, u2} α β t₁ t f) -> (Continuous.{u1, u2} α β t₁ (SupSet.supₛ.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) t₂) f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : Set.{u2} (TopologicalSpace.{u2} β)} {t : TopologicalSpace.{u2} β}, (Membership.Mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.hasMem.{u2} (TopologicalSpace.{u2} β)) t t₂) -> (Continuous.{u1, u2} α β t₁ t f) -> (Continuous.{u1, u2} α β t₁ (SupSet.sSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) t₂) f)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : Set.{u2} (TopologicalSpace.{u2} β)} {t : TopologicalSpace.{u2} β}, (Membership.mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.instMembershipSet.{u2} (TopologicalSpace.{u2} β)) t t₂) -> (Continuous.{u1, u2} α β t₁ t f) -> (Continuous.{u1, u2} α β t₁ (SupSet.supₛ.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))) t₂) f)
-Case conversion may be inaccurate. Consider using '#align continuous_Sup_rng continuous_supₛ_rngₓ'. -/
-theorem continuous_supₛ_rng {t₁ : tspace α} {t₂ : Set (tspace β)} {t : tspace β} (h₁ : t ∈ t₂)
-    (hf : cont t₁ t f) : cont t₁ (supₛ t₂) f :=
-  continuous_iff_coinduced_le.2 <| le_supₛ_of_le h₁ <| continuous_iff_coinduced_le.1 hf
-#align continuous_Sup_rng continuous_supₛ_rng
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : Set.{u2} (TopologicalSpace.{u2} β)} {t : TopologicalSpace.{u2} β}, (Membership.mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.instMembershipSet.{u2} (TopologicalSpace.{u2} β)) t t₂) -> (Continuous.{u1, u2} α β t₁ t f) -> (Continuous.{u1, u2} α β t₁ (SupSet.sSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))) t₂) f)
+Case conversion may be inaccurate. Consider using '#align continuous_Sup_rng continuous_sSup_rngₓ'. -/
+theorem continuous_sSup_rng {t₁ : tspace α} {t₂ : Set (tspace β)} {t : tspace β} (h₁ : t ∈ t₂)
+    (hf : cont t₁ t f) : cont t₁ (sSup t₂) f :=
+  continuous_iff_coinduced_le.2 <| le_sSup_of_le h₁ <| continuous_iff_coinduced_le.1 hf
+#align continuous_Sup_rng continuous_sSup_rng
 
-/- warning: continuous_supr_dom -> continuous_supᵢ_dom is a dubious translation:
+/- warning: continuous_supr_dom -> continuous_iSup_dom is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : ι -> (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (supᵢ.{u1, u3} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι t₁) t₂ f) (forall (i : ι), Continuous.{u1, u2} α β (t₁ i) t₂ f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : ι -> (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (iSup.{u1, u3} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι t₁) t₂ f) (forall (i : ι), Continuous.{u1, u2} α β (t₁ i) t₂ f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : ι -> (TopologicalSpace.{u2} α)} {t₂ : TopologicalSpace.{u3} β}, Iff (Continuous.{u2, u3} α β (supᵢ.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι t₁) t₂ f) (forall (i : ι), Continuous.{u2, u3} α β (t₁ i) t₂ f)
-Case conversion may be inaccurate. Consider using '#align continuous_supr_dom continuous_supᵢ_domₓ'. -/
-theorem continuous_supᵢ_dom {t₁ : ι → tspace α} {t₂ : tspace β} :
-    cont (supᵢ t₁) t₂ f ↔ ∀ i, cont (t₁ i) t₂ f := by
-  simp only [continuous_iff_le_induced, supᵢ_le_iff]
-#align continuous_supr_dom continuous_supᵢ_dom
+  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : ι -> (TopologicalSpace.{u2} α)} {t₂ : TopologicalSpace.{u3} β}, Iff (Continuous.{u2, u3} α β (iSup.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι t₁) t₂ f) (forall (i : ι), Continuous.{u2, u3} α β (t₁ i) t₂ f)
+Case conversion may be inaccurate. Consider using '#align continuous_supr_dom continuous_iSup_domₓ'. -/
+theorem continuous_iSup_dom {t₁ : ι → tspace α} {t₂ : tspace β} :
+    cont (iSup t₁) t₂ f ↔ ∀ i, cont (t₁ i) t₂ f := by
+  simp only [continuous_iff_le_induced, iSup_le_iff]
+#align continuous_supr_dom continuous_iSup_dom
 
-/- warning: continuous_supr_rng -> continuous_supᵢ_rng is a dubious translation:
+/- warning: continuous_supr_rng -> continuous_iSup_rng is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : TopologicalSpace.{u1} α} {t₂ : ι -> (TopologicalSpace.{u2} β)} {i : ι}, (Continuous.{u1, u2} α β t₁ (t₂ i) f) -> (Continuous.{u1, u2} α β t₁ (supᵢ.{u2, u3} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) ι t₂) f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : TopologicalSpace.{u1} α} {t₂ : ι -> (TopologicalSpace.{u2} β)} {i : ι}, (Continuous.{u1, u2} α β t₁ (t₂ i) f) -> (Continuous.{u1, u2} α β t₁ (iSup.{u2, u3} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) ι t₂) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : ι -> (TopologicalSpace.{u3} β)} {i : ι}, (Continuous.{u2, u3} α β t₁ (t₂ i) f) -> (Continuous.{u2, u3} α β t₁ (supᵢ.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toSupSet.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u3} β))) ι t₂) f)
-Case conversion may be inaccurate. Consider using '#align continuous_supr_rng continuous_supᵢ_rngₓ'. -/
-theorem continuous_supᵢ_rng {t₁ : tspace α} {t₂ : ι → tspace β} {i : ι} (h : cont t₁ (t₂ i) f) :
-    cont t₁ (supᵢ t₂) f :=
-  continuous_supₛ_rng ⟨i, rfl⟩ h
-#align continuous_supr_rng continuous_supᵢ_rng
+  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : ι -> (TopologicalSpace.{u3} β)} {i : ι}, (Continuous.{u2, u3} α β t₁ (t₂ i) f) -> (Continuous.{u2, u3} α β t₁ (iSup.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toSupSet.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u3} β))) ι t₂) f)
+Case conversion may be inaccurate. Consider using '#align continuous_supr_rng continuous_iSup_rngₓ'. -/
+theorem continuous_iSup_rng {t₁ : tspace α} {t₂ : ι → tspace β} {i : ι} (h : cont t₁ (t₂ i) f) :
+    cont t₁ (iSup t₂) f :=
+  continuous_sSup_rng ⟨i, rfl⟩ h
+#align continuous_supr_rng continuous_iSup_rng
 
 /- warning: continuous_inf_rng -> continuous_inf_rng is a dubious translation:
 lean 3 declaration is
@@ -1329,49 +1329,49 @@ theorem continuous_inf_dom_right {t₁ t₂ : tspace α} {t₃ : tspace β} :
   continuous_le_dom inf_le_right
 #align continuous_inf_dom_right continuous_inf_dom_right
 
-/- warning: continuous_Inf_dom -> continuous_infₛ_dom is a dubious translation:
+/- warning: continuous_Inf_dom -> continuous_sInf_dom is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β} {t : TopologicalSpace.{u1} α}, (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t t₁) -> (Continuous.{u1, u2} α β t t₂ f) -> (Continuous.{u1, u2} α β (InfSet.infₛ.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) t₁) t₂ f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β} {t : TopologicalSpace.{u1} α}, (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t t₁) -> (Continuous.{u1, u2} α β t t₂ f) -> (Continuous.{u1, u2} α β (InfSet.sInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) t₁) t₂ f)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β} {t : TopologicalSpace.{u1} α}, (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t t₁) -> (Continuous.{u1, u2} α β t t₂ f) -> (Continuous.{u1, u2} α β (InfSet.infₛ.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) t₁) t₂ f)
-Case conversion may be inaccurate. Consider using '#align continuous_Inf_dom continuous_infₛ_domₓ'. -/
-theorem continuous_infₛ_dom {t₁ : Set (tspace α)} {t₂ : tspace β} {t : tspace α} (h₁ : t ∈ t₁) :
-    cont t t₂ f → cont (infₛ t₁) t₂ f :=
-  continuous_le_dom <| infₛ_le h₁
-#align continuous_Inf_dom continuous_infₛ_dom
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : Set.{u1} (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β} {t : TopologicalSpace.{u1} α}, (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t t₁) -> (Continuous.{u1, u2} α β t t₂ f) -> (Continuous.{u1, u2} α β (InfSet.sInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) t₁) t₂ f)
+Case conversion may be inaccurate. Consider using '#align continuous_Inf_dom continuous_sInf_domₓ'. -/
+theorem continuous_sInf_dom {t₁ : Set (tspace α)} {t₂ : tspace β} {t : tspace α} (h₁ : t ∈ t₁) :
+    cont t t₂ f → cont (sInf t₁) t₂ f :=
+  continuous_le_dom <| sInf_le h₁
+#align continuous_Inf_dom continuous_sInf_dom
 
-/- warning: continuous_Inf_rng -> continuous_infₛ_rng is a dubious translation:
+/- warning: continuous_Inf_rng -> continuous_sInf_rng is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {T : Set.{u2} (TopologicalSpace.{u2} β)}, Iff (Continuous.{u1, u2} α β t₁ (InfSet.infₛ.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasInf.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) T) f) (forall (t : TopologicalSpace.{u2} β), (Membership.Mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.hasMem.{u2} (TopologicalSpace.{u2} β)) t T) -> (Continuous.{u1, u2} α β t₁ t f))
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {T : Set.{u2} (TopologicalSpace.{u2} β)}, Iff (Continuous.{u1, u2} α β t₁ (InfSet.sInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasInf.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) T) f) (forall (t : TopologicalSpace.{u2} β), (Membership.Mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.hasMem.{u2} (TopologicalSpace.{u2} β)) t T) -> (Continuous.{u1, u2} α β t₁ t f))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {T : Set.{u2} (TopologicalSpace.{u2} β)}, Iff (Continuous.{u1, u2} α β t₁ (InfSet.infₛ.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))) T) f) (forall (t : TopologicalSpace.{u2} β), (Membership.mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.instMembershipSet.{u2} (TopologicalSpace.{u2} β)) t T) -> (Continuous.{u1, u2} α β t₁ t f))
-Case conversion may be inaccurate. Consider using '#align continuous_Inf_rng continuous_infₛ_rngₓ'. -/
-theorem continuous_infₛ_rng {t₁ : tspace α} {T : Set (tspace β)} :
-    cont t₁ (infₛ T) f ↔ ∀ t ∈ T, cont t₁ t f := by
-  simp only [continuous_iff_coinduced_le, le_infₛ_iff]
-#align continuous_Inf_rng continuous_infₛ_rng
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {T : Set.{u2} (TopologicalSpace.{u2} β)}, Iff (Continuous.{u1, u2} α β t₁ (InfSet.sInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))) T) f) (forall (t : TopologicalSpace.{u2} β), (Membership.mem.{u2, u2} (TopologicalSpace.{u2} β) (Set.{u2} (TopologicalSpace.{u2} β)) (Set.instMembershipSet.{u2} (TopologicalSpace.{u2} β)) t T) -> (Continuous.{u1, u2} α β t₁ t f))
+Case conversion may be inaccurate. Consider using '#align continuous_Inf_rng continuous_sInf_rngₓ'. -/
+theorem continuous_sInf_rng {t₁ : tspace α} {T : Set (tspace β)} :
+    cont t₁ (sInf T) f ↔ ∀ t ∈ T, cont t₁ t f := by
+  simp only [continuous_iff_coinduced_le, le_sInf_iff]
+#align continuous_Inf_rng continuous_sInf_rng
 
-/- warning: continuous_infi_dom -> continuous_infᵢ_dom is a dubious translation:
+/- warning: continuous_infi_dom -> continuous_iInf_dom is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : ι -> (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β} {i : ι}, (Continuous.{u1, u2} α β (t₁ i) t₂ f) -> (Continuous.{u1, u2} α β (infᵢ.{u1, u3} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι t₁) t₂ f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : ι -> (TopologicalSpace.{u1} α)} {t₂ : TopologicalSpace.{u2} β} {i : ι}, (Continuous.{u1, u2} α β (t₁ i) t₂ f) -> (Continuous.{u1, u2} α β (iInf.{u1, u3} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι t₁) t₂ f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : ι -> (TopologicalSpace.{u2} α)} {t₂ : TopologicalSpace.{u3} β} {i : ι}, (Continuous.{u2, u3} α β (t₁ i) t₂ f) -> (Continuous.{u2, u3} α β (infᵢ.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι t₁) t₂ f)
-Case conversion may be inaccurate. Consider using '#align continuous_infi_dom continuous_infᵢ_domₓ'. -/
-theorem continuous_infᵢ_dom {t₁ : ι → tspace α} {t₂ : tspace β} {i : ι} :
-    cont (t₁ i) t₂ f → cont (infᵢ t₁) t₂ f :=
-  continuous_le_dom <| infᵢ_le _ _
-#align continuous_infi_dom continuous_infᵢ_dom
+  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : ι -> (TopologicalSpace.{u2} α)} {t₂ : TopologicalSpace.{u3} β} {i : ι}, (Continuous.{u2, u3} α β (t₁ i) t₂ f) -> (Continuous.{u2, u3} α β (iInf.{u2, u1} (TopologicalSpace.{u2} α) (ConditionallyCompleteLattice.toInfSet.{u2} (TopologicalSpace.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} α))) ι t₁) t₂ f)
+Case conversion may be inaccurate. Consider using '#align continuous_infi_dom continuous_iInf_domₓ'. -/
+theorem continuous_iInf_dom {t₁ : ι → tspace α} {t₂ : tspace β} {i : ι} :
+    cont (t₁ i) t₂ f → cont (iInf t₁) t₂ f :=
+  continuous_le_dom <| iInf_le _ _
+#align continuous_infi_dom continuous_iInf_dom
 
-/- warning: continuous_infi_rng -> continuous_infᵢ_rng is a dubious translation:
+/- warning: continuous_infi_rng -> continuous_iInf_rng is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : TopologicalSpace.{u1} α} {t₂ : ι -> (TopologicalSpace.{u2} β)}, Iff (Continuous.{u1, u2} α β t₁ (infᵢ.{u2, u3} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasInf.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) ι t₂) f) (forall (i : ι), Continuous.{u1, u2} α β t₁ (t₂ i) f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {ι : Sort.{u3}} {t₁ : TopologicalSpace.{u1} α} {t₂ : ι -> (TopologicalSpace.{u2} β)}, Iff (Continuous.{u1, u2} α β t₁ (iInf.{u2, u3} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toHasInf.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))) ι t₂) f) (forall (i : ι), Continuous.{u1, u2} α β t₁ (t₂ i) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : ι -> (TopologicalSpace.{u3} β)}, Iff (Continuous.{u2, u3} α β t₁ (infᵢ.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toInfSet.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u3} β))) ι t₂) f) (forall (i : ι), Continuous.{u2, u3} α β t₁ (t₂ i) f)
-Case conversion may be inaccurate. Consider using '#align continuous_infi_rng continuous_infᵢ_rngₓ'. -/
-theorem continuous_infᵢ_rng {t₁ : tspace α} {t₂ : ι → tspace β} :
-    cont t₁ (infᵢ t₂) f ↔ ∀ i, cont t₁ (t₂ i) f := by
-  simp only [continuous_iff_coinduced_le, le_infᵢ_iff]
-#align continuous_infi_rng continuous_infᵢ_rng
+  forall {α : Type.{u2}} {β : Type.{u3}} {f : α -> β} {ι : Sort.{u1}} {t₁ : TopologicalSpace.{u2} α} {t₂ : ι -> (TopologicalSpace.{u3} β)}, Iff (Continuous.{u2, u3} α β t₁ (iInf.{u3, u1} (TopologicalSpace.{u3} β) (ConditionallyCompleteLattice.toInfSet.{u3} (TopologicalSpace.{u3} β) (CompleteLattice.toConditionallyCompleteLattice.{u3} (TopologicalSpace.{u3} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u3} β))) ι t₂) f) (forall (i : ι), Continuous.{u2, u3} α β t₁ (t₂ i) f)
+Case conversion may be inaccurate. Consider using '#align continuous_infi_rng continuous_iInf_rngₓ'. -/
+theorem continuous_iInf_rng {t₁ : tspace α} {t₂ : ι → tspace β} :
+    cont t₁ (iInf t₂) f ↔ ∀ i, cont t₁ (t₂ i) f := by
+  simp only [continuous_iff_coinduced_le, le_iInf_iff]
+#align continuous_infi_rng continuous_iInf_rng
 
 /- warning: continuous_bot -> continuous_bot is a dubious translation:
 lean 3 declaration is
@@ -1559,7 +1559,7 @@ theorem isOpen_iff_continuous_mem {s : Set α} : IsOpen s ↔ Continuous fun x =
 
 end Sierpinski
 
-section infᵢ
+section iInf
 
 variable {α : Type u} {ι : Sort v}
 
@@ -1586,49 +1586,49 @@ theorem setOf_isOpen_sup (t₁ t₂ : TopologicalSpace α) :
   rfl
 #align set_of_is_open_sup setOf_isOpen_sup
 
-/- warning: generate_from_Union -> generateFrom_unionᵢ is a dubious translation:
+/- warning: generate_from_Union -> generateFrom_iUnion is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {f : ι -> (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.unionᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (infᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i)))
+  forall {α : Type.{u1}} {ι : Sort.{u2}} {f : ι -> (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iUnion.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i)))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {f : ι -> (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.unionᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (infᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i)))
-Case conversion may be inaccurate. Consider using '#align generate_from_Union generateFrom_unionᵢₓ'. -/
-theorem generateFrom_unionᵢ {f : ι → Set (Set α)} :
+  forall {α : Type.{u1}} {ι : Sort.{u2}} {f : ι -> (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iUnion.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i)))
+Case conversion may be inaccurate. Consider using '#align generate_from_Union generateFrom_iUnionₓ'. -/
+theorem generateFrom_iUnion {f : ι → Set (Set α)} :
     TopologicalSpace.generateFrom (⋃ i, f i) = ⨅ i, TopologicalSpace.generateFrom (f i) :=
-  (TopologicalSpace.gc_generateFrom α).u_infᵢ
-#align generate_from_Union generateFrom_unionᵢ
+  (TopologicalSpace.gc_generateFrom α).u_iInf
+#align generate_from_Union generateFrom_iUnion
 
-/- warning: set_of_is_open_supr -> setOf_isOpen_supᵢ is a dubious translation:
+/- warning: set_of_is_open_supr -> setOf_isOpen_iSup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => t i)) s)) (Set.interᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (t i) s)))
+  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => t i)) s)) (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (t i) s)))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => t i)) s)) (Set.interᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (t i) s)))
-Case conversion may be inaccurate. Consider using '#align set_of_is_open_supr setOf_isOpen_supᵢₓ'. -/
-theorem setOf_isOpen_supᵢ {t : ι → TopologicalSpace α} :
+  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => t i)) s)) (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (t i) s)))
+Case conversion may be inaccurate. Consider using '#align set_of_is_open_supr setOf_isOpen_iSupₓ'. -/
+theorem setOf_isOpen_iSup {t : ι → TopologicalSpace α} :
     { s | is_open[⨆ i, t i] s } = ⋂ i, { s | is_open[t i] s } :=
-  (TopologicalSpace.gc_generateFrom α).l_supᵢ
-#align set_of_is_open_supr setOf_isOpen_supᵢ
+  (TopologicalSpace.gc_generateFrom α).l_iSup
+#align set_of_is_open_supr setOf_isOpen_iSup
 
-/- warning: generate_from_sUnion -> generateFrom_unionₛ is a dubious translation:
+/- warning: generate_from_sUnion -> generateFrom_sUnion is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {S : Set.{u1} (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.unionₛ.{u1} (Set.{u1} α) S)) (infᵢ.{u1, succ u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) (Set.{u1} (Set.{u1} α)) (fun (s : Set.{u1} (Set.{u1} α)) => infᵢ.{u1, 0} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) (Membership.Mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.hasMem.{u1} (Set.{u1} (Set.{u1} α))) s S) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.hasMem.{u1} (Set.{u1} (Set.{u1} α))) s S) => TopologicalSpace.generateFrom.{u1} α s)))
+  forall {α : Type.{u1}} {S : Set.{u1} (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.sUnion.{u1} (Set.{u1} α) S)) (iInf.{u1, succ u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) (Set.{u1} (Set.{u1} α)) (fun (s : Set.{u1} (Set.{u1} α)) => iInf.{u1, 0} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) (Membership.Mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.hasMem.{u1} (Set.{u1} (Set.{u1} α))) s S) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.hasMem.{u1} (Set.{u1} (Set.{u1} α))) s S) => TopologicalSpace.generateFrom.{u1} α s)))
 but is expected to have type
-  forall {α : Type.{u1}} {S : Set.{u1} (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.unionₛ.{u1} (Set.{u1} α) S)) (infᵢ.{u1, succ u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) (Set.{u1} (Set.{u1} α)) (fun (s : Set.{u1} (Set.{u1} α)) => infᵢ.{u1, 0} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) (Membership.mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.instMembershipSet.{u1} (Set.{u1} (Set.{u1} α))) s S) (fun (H : Membership.mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.instMembershipSet.{u1} (Set.{u1} (Set.{u1} α))) s S) => TopologicalSpace.generateFrom.{u1} α s)))
-Case conversion may be inaccurate. Consider using '#align generate_from_sUnion generateFrom_unionₛₓ'. -/
-theorem generateFrom_unionₛ {S : Set (Set (Set α))} :
+  forall {α : Type.{u1}} {S : Set.{u1} (Set.{u1} (Set.{u1} α))}, Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.sUnion.{u1} (Set.{u1} α) S)) (iInf.{u1, succ u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) (Set.{u1} (Set.{u1} α)) (fun (s : Set.{u1} (Set.{u1} α)) => iInf.{u1, 0} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) (Membership.mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.instMembershipSet.{u1} (Set.{u1} (Set.{u1} α))) s S) (fun (H : Membership.mem.{u1, u1} (Set.{u1} (Set.{u1} α)) (Set.{u1} (Set.{u1} (Set.{u1} α))) (Set.instMembershipSet.{u1} (Set.{u1} (Set.{u1} α))) s S) => TopologicalSpace.generateFrom.{u1} α s)))
+Case conversion may be inaccurate. Consider using '#align generate_from_sUnion generateFrom_sUnionₓ'. -/
+theorem generateFrom_sUnion {S : Set (Set (Set α))} :
     TopologicalSpace.generateFrom (⋃₀ S) = ⨅ s ∈ S, TopologicalSpace.generateFrom s :=
-  (TopologicalSpace.gc_generateFrom α).u_infₛ
-#align generate_from_sUnion generateFrom_unionₛ
+  (TopologicalSpace.gc_generateFrom α).u_sInf
+#align generate_from_sUnion generateFrom_sUnion
 
-/- warning: set_of_is_open_Sup -> setOf_isOpen_supₛ is a dubious translation:
+/- warning: set_of_is_open_Sup -> setOf_isOpen_sSup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {T : Set.{u1} (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (SupSet.supₛ.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) T) s)) (Set.interᵢ.{u1, succ u1} (Set.{u1} α) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => Set.interᵢ.{u1, 0} (Set.{u1} α) (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t T) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t T) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))))
+  forall {α : Type.{u1}} {T : Set.{u1} (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (SupSet.sSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) T) s)) (Set.iInter.{u1, succ u1} (Set.{u1} α) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => Set.iInter.{u1, 0} (Set.{u1} α) (Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t T) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.hasMem.{u1} (TopologicalSpace.{u1} α)) t T) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))))
 but is expected to have type
-  forall {α : Type.{u1}} {T : Set.{u1} (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (SupSet.supₛ.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) T) s)) (Set.interᵢ.{u1, succ u1} (Set.{u1} α) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => Set.interᵢ.{u1, 0} (Set.{u1} α) (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t T) (fun (H : Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t T) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))))
-Case conversion may be inaccurate. Consider using '#align set_of_is_open_Sup setOf_isOpen_supₛₓ'. -/
-theorem setOf_isOpen_supₛ {T : Set (TopologicalSpace α)} :
-    { s | is_open[supₛ T] s } = ⋂ t ∈ T, { s | is_open[t] s } :=
-  (TopologicalSpace.gc_generateFrom α).l_supₛ
-#align set_of_is_open_Sup setOf_isOpen_supₛ
+  forall {α : Type.{u1}} {T : Set.{u1} (TopologicalSpace.{u1} α)}, Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (SupSet.sSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) T) s)) (Set.iInter.{u1, succ u1} (Set.{u1} α) (TopologicalSpace.{u1} α) (fun (t : TopologicalSpace.{u1} α) => Set.iInter.{u1, 0} (Set.{u1} α) (Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t T) (fun (H : Membership.mem.{u1, u1} (TopologicalSpace.{u1} α) (Set.{u1} (TopologicalSpace.{u1} α)) (Set.instMembershipSet.{u1} (TopologicalSpace.{u1} α)) t T) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))))
+Case conversion may be inaccurate. Consider using '#align set_of_is_open_Sup setOf_isOpen_sSupₓ'. -/
+theorem setOf_isOpen_sSup {T : Set (TopologicalSpace α)} :
+    { s | is_open[sSup T] s } = ⋂ t ∈ T, { s | is_open[t] s } :=
+  (TopologicalSpace.gc_generateFrom α).l_sSup
+#align set_of_is_open_Sup setOf_isOpen_sSup
 
 /- warning: generate_from_union_is_open -> generateFrom_union_isOpen is a dubious translation:
 lean 3 declaration is
@@ -1641,16 +1641,16 @@ theorem generateFrom_union_isOpen (a b : TopologicalSpace α) :
   (TopologicalSpace.gciGenerateFrom α).u_inf_l a b
 #align generate_from_union_is_open generateFrom_union_isOpen
 
-/- warning: generate_from_Union_is_open -> generateFrom_unionᵢ_isOpen is a dubious translation:
+/- warning: generate_from_Union_is_open -> generateFrom_iUnion_isOpen is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.unionᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (infᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => f i))
+  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iUnion.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => f i))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.unionᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (infᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => f i))
-Case conversion may be inaccurate. Consider using '#align generate_from_Union_is_open generateFrom_unionᵢ_isOpenₓ'. -/
-theorem generateFrom_unionᵢ_isOpen (f : ι → TopologicalSpace α) :
+  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iUnion.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (iInf.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => f i))
+Case conversion may be inaccurate. Consider using '#align generate_from_Union_is_open generateFrom_iUnion_isOpenₓ'. -/
+theorem generateFrom_iUnion_isOpen (f : ι → TopologicalSpace α) :
     TopologicalSpace.generateFrom (⋃ i, { s | is_open[f i] s }) = ⨅ i, f i :=
-  (TopologicalSpace.gciGenerateFrom α).u_infᵢ_l f
-#align generate_from_Union_is_open generateFrom_unionᵢ_isOpen
+  (TopologicalSpace.gciGenerateFrom α).u_iInf_l f
+#align generate_from_Union_is_open generateFrom_iUnion_isOpen
 
 /- warning: generate_from_inter -> generateFrom_inter is a dubious translation:
 lean 3 declaration is
@@ -1663,51 +1663,51 @@ theorem generateFrom_inter (a b : TopologicalSpace α) :
   (TopologicalSpace.gciGenerateFrom α).u_sup_l a b
 #align generate_from_inter generateFrom_inter
 
-/- warning: generate_from_Inter -> generateFrom_interᵢ is a dubious translation:
+/- warning: generate_from_Inter -> generateFrom_iInter is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.interᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => f i))
+  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => f i))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.interᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => f i))
-Case conversion may be inaccurate. Consider using '#align generate_from_Inter generateFrom_interᵢₓ'. -/
-theorem generateFrom_interᵢ (f : ι → TopologicalSpace α) :
+  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (TopologicalSpace.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (f i) s)))) (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => f i))
+Case conversion may be inaccurate. Consider using '#align generate_from_Inter generateFrom_iInterₓ'. -/
+theorem generateFrom_iInter (f : ι → TopologicalSpace α) :
     TopologicalSpace.generateFrom (⋂ i, { s | is_open[f i] s }) = ⨆ i, f i :=
-  (TopologicalSpace.gciGenerateFrom α).u_supᵢ_l f
-#align generate_from_Inter generateFrom_interᵢ
+  (TopologicalSpace.gciGenerateFrom α).u_iSup_l f
+#align generate_from_Inter generateFrom_iInter
 
-/- warning: generate_from_Inter_of_generate_from_eq_self -> generateFrom_interᵢ_of_generateFrom_eq_self is a dubious translation:
+/- warning: generate_from_Inter_of_generate_from_eq_self -> generateFrom_iInter_of_generateFrom_eq_self is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (Set.{u1} (Set.{u1} α))), (forall (i : ι), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (TopologicalSpace.generateFrom.{u1} α (f i)) s)) (f i)) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.interᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i))))
+  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (Set.{u1} (Set.{u1} α))), (forall (i : ι), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (TopologicalSpace.generateFrom.{u1} α (f i)) s)) (f i)) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i))))
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (Set.{u1} (Set.{u1} α))), (forall (i : ι), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (TopologicalSpace.generateFrom.{u1} α (f i)) s)) (f i)) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.interᵢ.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i))))
-Case conversion may be inaccurate. Consider using '#align generate_from_Inter_of_generate_from_eq_self generateFrom_interᵢ_of_generateFrom_eq_selfₓ'. -/
-theorem generateFrom_interᵢ_of_generateFrom_eq_self (f : ι → Set (Set α))
+  forall {α : Type.{u1}} {ι : Sort.{u2}} (f : ι -> (Set.{u1} (Set.{u1} α))), (forall (i : ι), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (TopologicalSpace.generateFrom.{u1} α (f i)) s)) (f i)) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Set.iInter.{u1, u2} (Set.{u1} α) ι (fun (i : ι) => f i))) (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => TopologicalSpace.generateFrom.{u1} α (f i))))
+Case conversion may be inaccurate. Consider using '#align generate_from_Inter_of_generate_from_eq_self generateFrom_iInter_of_generateFrom_eq_selfₓ'. -/
+theorem generateFrom_iInter_of_generateFrom_eq_self (f : ι → Set (Set α))
     (hf : ∀ i, { s | is_open[TopologicalSpace.generateFrom (f i)] s } = f i) :
     TopologicalSpace.generateFrom (⋂ i, f i) = ⨆ i, TopologicalSpace.generateFrom (f i) :=
-  (TopologicalSpace.gciGenerateFrom α).u_supᵢ_of_lu_eq_self f hf
-#align generate_from_Inter_of_generate_from_eq_self generateFrom_interᵢ_of_generateFrom_eq_self
+  (TopologicalSpace.gciGenerateFrom α).u_iSup_of_lu_eq_self f hf
+#align generate_from_Inter_of_generate_from_eq_self generateFrom_iInter_of_generateFrom_eq_self
 
 variable {t : ι → TopologicalSpace α}
 
-/- warning: is_open_supr_iff -> isOpen_supᵢ_iff is a dubious translation:
+/- warning: is_open_supr_iff -> isOpen_iSup_iff is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsOpen.{u1} α (t i) s)
+  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsOpen.{u1} α (t i) s)
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsOpen.{u1} α (t i) s)
-Case conversion may be inaccurate. Consider using '#align is_open_supr_iff isOpen_supᵢ_iffₓ'. -/
-theorem isOpen_supᵢ_iff {s : Set α} : is_open[⨆ i, t i] s ↔ ∀ i, is_open[t i] s :=
-  show s ∈ setOf is_open[supᵢ t] ↔ s ∈ { x : Set α | ∀ i : ι, is_open[t i] x } by
-    simp [setOf_isOpen_supᵢ]
-#align is_open_supr_iff isOpen_supᵢ_iff
+  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsOpen.{u1} α (t i) s)
+Case conversion may be inaccurate. Consider using '#align is_open_supr_iff isOpen_iSup_iffₓ'. -/
+theorem isOpen_iSup_iff {s : Set α} : is_open[⨆ i, t i] s ↔ ∀ i, is_open[t i] s :=
+  show s ∈ setOf is_open[iSup t] ↔ s ∈ { x : Set α | ∀ i : ι, is_open[t i] x } by
+    simp [setOf_isOpen_iSup]
+#align is_open_supr_iff isOpen_iSup_iff
 
-/- warning: is_closed_supr_iff -> isClosed_supᵢ_iff is a dubious translation:
+/- warning: is_closed_supr_iff -> isClosed_iSup_iff is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsClosed.{u1} α (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsClosed.{u1} α (t i) s)
+  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsClosed.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsClosed.{u1} α (t i) s)
 but is expected to have type
-  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsClosed.{u1} α (supᵢ.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsClosed.{u1} α (t i) s)
-Case conversion may be inaccurate. Consider using '#align is_closed_supr_iff isClosed_supᵢ_iffₓ'. -/
-theorem isClosed_supᵢ_iff {s : Set α} : is_closed[⨆ i, t i] s ↔ ∀ i, is_closed[t i] s := by
-  simp [← isOpen_compl_iff, isOpen_supᵢ_iff]
-#align is_closed_supr_iff isClosed_supᵢ_iff
+  forall {α : Type.{u1}} {ι : Sort.{u2}} {t : ι -> (TopologicalSpace.{u1} α)} {s : Set.{u1} α}, Iff (IsClosed.{u1} α (iSup.{u1, u2} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))) ι (fun (i : ι) => t i)) s) (forall (i : ι), IsClosed.{u1} α (t i) s)
+Case conversion may be inaccurate. Consider using '#align is_closed_supr_iff isClosed_iSup_iffₓ'. -/
+theorem isClosed_iSup_iff {s : Set α} : is_closed[⨆ i, t i] s ↔ ∀ i, is_closed[t i] s := by
+  simp [← isOpen_compl_iff, isOpen_iSup_iff]
+#align is_closed_supr_iff isClosed_iSup_iff
 
-end infᵢ
+end iInf
 
Diff
@@ -389,7 +389,7 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : is_open[⊤] U ↔ U
 #align topological_space.is_open_top_iff TopologicalSpace.isOpen_top_iff
 
 #print DiscreteTopology /-
-/- ./././Mathport/Syntax/Translate/Command.lean:388:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`eq_bot] [] -/
 /-- A topological space is discrete if every set is open, that is,
   its topology equals the discrete topology `⊥`. -/
 class DiscreteTopology (α : Type _) [t : TopologicalSpace α] : Prop where
Diff
@@ -261,7 +261,7 @@ warning: topological_space.gci_generate_from -> TopologicalSpace.gciGenerateFrom
 lean 3 declaration is
   forall (α : Type.{u1}), GaloisCoinsertion.{u1, u1} (TopologicalSpace.{u1} α) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α)) (OrderDual.preorder.{u1} (Set.{u1} (Set.{u1} α)) (PartialOrder.toPreorder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (Set.{u1} α)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (Set.{u1} α)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (Set.{u1} α)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (Set.{u1} α)) (Set.completeBooleanAlgebra.{u1} (Set.{u1} α))))))))) (fun (t : TopologicalSpace.{u1} α) => coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (fun (_x : Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) => (Set.{u1} (Set.{u1} α)) -> (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (Equiv.hasCoeToFun.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (OrderDual.toDual.{u1} (Set.{u1} (Set.{u1} α))) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))) (Function.comp.{succ u1, succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α)) (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (fun (_x : Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) => (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) -> (Set.{u1} (Set.{u1} α))) (Equiv.hasCoeToFun.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.ofDual.{u1} (Set.{u1} (Set.{u1} α)))))
 but is expected to have type
-  forall (α : Type.{u1}), GaloisCoinsertion.{u1, u1} (TopologicalSpace.{u1} α) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α)) (OrderDual.preorder.{u1} (Set.{u1} (Set.{u1} α)) (PartialOrder.toPreorder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (Set.{u1} α)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (Set.{u1} α)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (Set.{u1} α)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (Set.{u1} α)) (Set.instCompleteBooleanAlgebraSet.{u1} (Set.{u1} α))))))))) (fun (t : TopologicalSpace.{u1} α) => FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (Set.{u1} (Set.{u1} α)) (fun (_x : Set.{u1} (Set.{u1} α)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Set.{u1} (Set.{u1} α)) => OrderDual.{u1} (Set.{u1} (Set.{u1} α))) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (OrderDual.toDual.{u1} (Set.{u1} (Set.{u1} α))) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))) (Function.comp.{succ u1, succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α)) (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (fun (_x : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => Set.{u1} (Set.{u1} α)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.ofDual.{u1} (Set.{u1} (Set.{u1} α)))))
+  forall (α : Type.{u1}), GaloisCoinsertion.{u1, u1} (TopologicalSpace.{u1} α) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α)) (OrderDual.preorder.{u1} (Set.{u1} (Set.{u1} α)) (PartialOrder.toPreorder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (Set.{u1} α)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (Set.{u1} α)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (Set.{u1} α)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (Set.{u1} α)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (Set.{u1} α)) (Set.instCompleteBooleanAlgebraSet.{u1} (Set.{u1} α))))))))) (fun (t : TopologicalSpace.{u1} α) => FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (Set.{u1} (Set.{u1} α)) (fun (_x : Set.{u1} (Set.{u1} α)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Set.{u1} (Set.{u1} α)) => OrderDual.{u1} (Set.{u1} (Set.{u1} α))) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Set.{u1} (Set.{u1} α)) (OrderDual.{u1} (Set.{u1} (Set.{u1} α)))) (OrderDual.toDual.{u1} (Set.{u1} (Set.{u1} α))) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t s))) (Function.comp.{succ u1, succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α)) (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (fun (_x : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : OrderDual.{u1} (Set.{u1} (Set.{u1} α))) => Set.{u1} (Set.{u1} α)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (OrderDual.{u1} (Set.{u1} (Set.{u1} α))) (Set.{u1} (Set.{u1} α))) (OrderDual.ofDual.{u1} (Set.{u1} (Set.{u1} α)))))
 Case conversion may be inaccurate. Consider using '#align topological_space.gci_generate_from TopologicalSpace.gciGenerateFromₓ'. -/
 /-- The Galois coinsertion between `topological_space α` and `(set (set α))ᵒᵈ` whose lower part
   sends a topology to its collection of open subsets, and whose upper part sends a collection of
@@ -781,7 +781,7 @@ theorem coinduced_compose [tα : TopologicalSpace α] {f : α → β} {g : β 
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} (e : Equiv.{succ u1, succ u2} α β), Eq.{max (succ u1) (succ u2)} ((TopologicalSpace.{u1} α) -> (TopologicalSpace.{u2} β)) (TopologicalSpace.induced.{u2, u1} β α (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β e))) (TopologicalSpace.coinduced.{u1, u2} α β (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) e))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u2} α) -> (TopologicalSpace.{u1} β)) (TopologicalSpace.induced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.coinduced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
+  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u2} α) -> (TopologicalSpace.{u1} β)) (TopologicalSpace.induced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.coinduced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
 Case conversion may be inaccurate. Consider using '#align equiv.induced_symm Equiv.induced_symmₓ'. -/
 theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
     TopologicalSpace.induced e.symm = TopologicalSpace.coinduced e :=
@@ -797,7 +797,7 @@ theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} (e : Equiv.{succ u1, succ u2} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u2} β) -> (TopologicalSpace.{u1} α)) (TopologicalSpace.coinduced.{u2, u1} β α (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β e))) (TopologicalSpace.induced.{u1, u2} α β (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) e))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u1} β) -> (TopologicalSpace.{u2} α)) (TopologicalSpace.coinduced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.induced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
+  forall {α : Type.{u2}} {β : Type.{u1}} (e : Equiv.{succ u2, succ u1} α β), Eq.{max (succ u2) (succ u1)} ((TopologicalSpace.{u1} β) -> (TopologicalSpace.{u2} α)) (TopologicalSpace.coinduced.{u1, u2} β α (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} β α) (Equiv.symm.{succ u2, succ u1} α β e))) (TopologicalSpace.induced.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} α β) e))
 Case conversion may be inaccurate. Consider using '#align equiv.coinduced_symm Equiv.coinduced_symmₓ'. -/
 theorem Equiv.coinduced_symm {α β : Type _} (e : α ≃ β) :
     TopologicalSpace.coinduced e.symm = TopologicalSpace.induced e := by
Diff
@@ -1024,7 +1024,7 @@ lean 3 declaration is
 but is expected to have type
   forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α b))))
 Case conversion may be inaccurate. Consider using '#align le_nhds_adjoint_iff' le_nhdsAdjoint_iff'ₓ'. -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (b «expr ≠ » a) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (b «expr ≠ » a) -/
 theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ (b) (_ : b ≠ a), @nhds α t b = pure b :=
   by
Diff
@@ -673,9 +673,9 @@ theorem induced_top : (⊤ : TopologicalSpace α).induced g = ⊤ :=
 
 /- warning: induced_inf -> induced_inf is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {g : β -> α}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.induced.{u2, u1} β α g (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂)) (HasInf.inf.{u2} (TopologicalSpace.{u2} β) (SemilatticeInf.toHasInf.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) (TopologicalSpace.induced.{u2, u1} β α g t₁) (TopologicalSpace.induced.{u2, u1} β α g t₂))
+  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {g : β -> α}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.induced.{u2, u1} β α g (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂)) (Inf.inf.{u2} (TopologicalSpace.{u2} β) (SemilatticeInf.toHasInf.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) (TopologicalSpace.induced.{u2, u1} β α g t₁) (TopologicalSpace.induced.{u2, u1} β α g t₂))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {g : β -> α}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.induced.{u2, u1} β α g (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂)) (HasInf.inf.{u2} (TopologicalSpace.{u2} β) (Lattice.toHasInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β)))) (TopologicalSpace.induced.{u2, u1} β α g t₁) (TopologicalSpace.induced.{u2, u1} β α g t₂))
+  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {g : β -> α}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.induced.{u2, u1} β α g (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂)) (Inf.inf.{u2} (TopologicalSpace.{u2} β) (Lattice.toInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β)))) (TopologicalSpace.induced.{u2, u1} β α g t₁) (TopologicalSpace.induced.{u2, u1} β α g t₂))
 Case conversion may be inaccurate. Consider using '#align induced_inf induced_infₓ'. -/
 @[simp]
 theorem induced_inf : (t₁ ⊓ t₂).induced g = t₁.induced g ⊓ t₂.induced g :=
@@ -707,9 +707,9 @@ theorem coinduced_bot : (⊥ : TopologicalSpace α).coinduced f = ⊥ :=
 
 /- warning: coinduced_sup -> coinduced_sup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {f : α -> β}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.coinduced.{u1, u2} α β f (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂)) (HasSup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) (TopologicalSpace.coinduced.{u1, u2} α β f t₂))
+  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {f : α -> β}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.coinduced.{u1, u2} α β f (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂)) (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) (TopologicalSpace.coinduced.{u1, u2} α β f t₂))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {f : α -> β}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.coinduced.{u1, u2} α β f (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂)) (HasSup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) (TopologicalSpace.coinduced.{u1, u2} α β f t₂))
+  forall {α : Type.{u1}} {β : Type.{u2}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {f : α -> β}, Eq.{succ u2} (TopologicalSpace.{u2} β) (TopologicalSpace.coinduced.{u1, u2} α β f (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂)) (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))))) (TopologicalSpace.coinduced.{u1, u2} α β f t₁) (TopologicalSpace.coinduced.{u1, u2} α β f t₂))
 Case conversion may be inaccurate. Consider using '#align coinduced_sup coinduced_supₓ'. -/
 @[simp]
 theorem coinduced_sup : (t₁ ⊔ t₂).coinduced f = t₁.coinduced f ⊔ t₂.coinduced f :=
@@ -979,9 +979,9 @@ theorem le_iff_nhds {α : Type _} (t t' : TopologicalSpace α) :
 
 /- warning: nhds_adjoint_nhds -> nhdsAdjoint_nhds is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (nhdsAdjoint.{u1} α a f) a) (HasSup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)
+  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (nhdsAdjoint.{u1} α a f) a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)
 but is expected to have type
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (nhdsAdjoint.{u1} α a f) a) (HasSup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)
+  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α), Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (nhdsAdjoint.{u1} α a f) a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)
 Case conversion may be inaccurate. Consider using '#align nhds_adjoint_nhds nhdsAdjoint_nhdsₓ'. -/
 theorem nhdsAdjoint_nhds {α : Type _} (a : α) (f : Filter α) :
     @nhds α (nhdsAdjoint a f) a = pure a ⊔ f :=
@@ -1020,9 +1020,9 @@ theorem isOpen_singleton_nhdsAdjoint {α : Type _} {a b : α} (f : Filter α) (h
 
 /- warning: le_nhds_adjoint_iff' -> le_nhdsAdjoint_iff' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (HasSup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α b))))
+  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α b))))
 but is expected to have type
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t a) (HasSup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α b))))
+  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α t b) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α b))))
 Case conversion may be inaccurate. Consider using '#align le_nhds_adjoint_iff' le_nhdsAdjoint_iff'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (b «expr ≠ » a) -/
 theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
@@ -1046,9 +1046,9 @@ theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : Topologi
 
 /- warning: le_nhds_adjoint_iff -> le_nhdsAdjoint_iff is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (HasSup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) b))))
+  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.partialOrder.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.partialOrder.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.completeLattice.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.hasPure.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) b))))
 but is expected to have type
-  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t a) (HasSup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toHasSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) b))))
+  forall {α : Type.{u1}} (a : α) (f : Filter.{u1} α) (t : TopologicalSpace.{u1} α), Iff (LE.le.{u1} (TopologicalSpace.{u1} α) (Preorder.toLE.{u1} (TopologicalSpace.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instPartialOrderTopologicalSpace.{u1} α))) t (nhdsAdjoint.{u1} α a f)) (And (LE.le.{u1} (Filter.{u1} α) (Preorder.toLE.{u1} (Filter.{u1} α) (PartialOrder.toPreorder.{u1} (Filter.{u1} α) (Filter.instPartialOrderFilter.{u1} α))) (nhds.{u1} α t a) (Sup.sup.{u1} (Filter.{u1} α) (SemilatticeSup.toSup.{u1} (Filter.{u1} α) (Lattice.toSemilatticeSup.{u1} (Filter.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Filter.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Filter.{u1} α) (Filter.instCompleteLatticeFilter.{u1} α))))) (Pure.pure.{u1, u1} Filter.{u1} Filter.instPureFilter.{u1} α a) f)) (forall (b : α), (Ne.{succ u1} α b a) -> (IsOpen.{u1} α t (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) b))))
 Case conversion may be inaccurate. Consider using '#align le_nhds_adjoint_iff le_nhdsAdjoint_iffₓ'. -/
 theorem le_nhdsAdjoint_iff {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ b, b ≠ a → is_open[t] {b} :=
@@ -1083,9 +1083,9 @@ theorem nhds_infₛ {s : Set (TopologicalSpace α)} {a : α} :
 
 /- warning: nhds_inf -> nhds_inf is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) a) (HasInf.inf.{u1} (Filter.{u1} α) (Filter.hasInf.{u1} α) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
+  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) a) (Inf.inf.{u1} (Filter.{u1} α) (Filter.hasInf.{u1} α) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
 but is expected to have type
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂) a) (HasInf.inf.{u1} (Filter.{u1} α) (Filter.instHasInfFilter.{u1} α) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
+  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {a : α}, Eq.{succ u1} (Filter.{u1} α) (nhds.{u1} α (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂) a) (Inf.inf.{u1} (Filter.{u1} α) (Filter.instInfFilter.{u1} α) (nhds.{u1} α t₁ a) (nhds.{u1} α t₂ a))
 Case conversion may be inaccurate. Consider using '#align nhds_inf nhds_infₓ'. -/
 theorem nhds_inf {t₁ t₂ : TopologicalSpace α} {a : α} :
     @nhds α (t₁ ⊓ t₂) a = @nhds α t₁ a ⊓ @nhds α t₂ a :=
@@ -1104,9 +1104,9 @@ theorem nhds_top {a : α} : @nhds α ⊤ a = ⊤ :=
 
 /- warning: is_open_sup -> isOpen_sup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) s) (And (IsOpen.{u1} α t₁ s) (IsOpen.{u1} α t₂ s))
+  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) s) (And (IsOpen.{u1} α t₁ s) (IsOpen.{u1} α t₂ s))
 but is expected to have type
-  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂) s) (And (IsOpen.{u1} α t₁ s) (IsOpen.{u1} α t₂ s))
+  forall {α : Type.{u1}} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {s : Set.{u1} α}, Iff (IsOpen.{u1} α (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂) s) (And (IsOpen.{u1} α t₁ s) (IsOpen.{u1} α t₂ s))
 Case conversion may be inaccurate. Consider using '#align is_open_sup isOpen_supₓ'. -/
 theorem isOpen_sup {t₁ t₂ : TopologicalSpace α} {s : Set α} :
     is_open[t₁ ⊔ t₂] s ↔ is_open[t₁] s ∧ is_open[t₂] s :=
@@ -1221,9 +1221,9 @@ theorem continuous_le_rng {t₁ : tspace α} {t₂ t₃ : tspace β} (h₁ : t
 
 /- warning: continuous_sup_dom -> continuous_sup_dom is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) t₃ f) (And (Continuous.{u1, u2} α β t₁ t₃ f) (Continuous.{u1, u2} α β t₂ t₃ f))
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) t₃ f) (And (Continuous.{u1, u2} α β t₁ t₃ f) (Continuous.{u1, u2} α β t₂ t₃ f))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂) t₃ f) (And (Continuous.{u1, u2} α β t₁ t₃ f) (Continuous.{u1, u2} α β t₂ t₃ f))
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂) t₃ f) (And (Continuous.{u1, u2} α β t₁ t₃ f) (Continuous.{u1, u2} α β t₂ t₃ f))
 Case conversion may be inaccurate. Consider using '#align continuous_sup_dom continuous_sup_domₓ'. -/
 theorem continuous_sup_dom {t₁ t₂ : tspace α} {t₃ : tspace β} :
     cont (t₁ ⊔ t₂) t₃ f ↔ cont t₁ t₃ f ∧ cont t₂ t₃ f := by
@@ -1232,9 +1232,9 @@ theorem continuous_sup_dom {t₁ t₂ : tspace α} {t₃ : tspace β} :
 
 /- warning: continuous_sup_rng_left -> continuous_sup_rng_left is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ (HasSup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) t₂ t₃) f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) t₂ t₃) f)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ (HasSup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))))) t₂ t₃) f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₂ f) -> (Continuous.{u1, u2} α β t₁ (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))))) t₂ t₃) f)
 Case conversion may be inaccurate. Consider using '#align continuous_sup_rng_left continuous_sup_rng_leftₓ'. -/
 theorem continuous_sup_rng_left {t₁ : tspace α} {t₃ t₂ : tspace β} :
     cont t₁ t₂ f → cont t₁ (t₂ ⊔ t₃) f :=
@@ -1243,9 +1243,9 @@ theorem continuous_sup_rng_left {t₁ : tspace α} {t₃ t₂ : tspace β} :
 
 /- warning: continuous_sup_rng_right -> continuous_sup_rng_right is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₁ (HasSup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) t₂ t₃) f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₁ (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) t₂ t₃) f)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₁ (HasSup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toHasSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))))) t₂ t₃) f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β} {t₂ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β t₁ (Sup.sup.{u2} (TopologicalSpace.{u2} β) (SemilatticeSup.toSup.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β))))) t₂ t₃) f)
 Case conversion may be inaccurate. Consider using '#align continuous_sup_rng_right continuous_sup_rng_rightₓ'. -/
 theorem continuous_sup_rng_right {t₁ : tspace α} {t₃ t₂ : tspace β} :
     cont t₁ t₃ f → cont t₁ (t₂ ⊔ t₃) f :=
@@ -1298,9 +1298,9 @@ theorem continuous_supᵢ_rng {t₁ : tspace α} {t₂ : ι → tspace β} {i :
 
 /- warning: continuous_inf_rng -> continuous_inf_rng is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ (HasInf.inf.{u2} (TopologicalSpace.{u2} β) (SemilatticeInf.toHasInf.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) t₂ t₃) f) (And (Continuous.{u1, u2} α β t₁ t₂ f) (Continuous.{u1, u2} α β t₁ t₃ f))
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ (Inf.inf.{u2} (TopologicalSpace.{u2} β) (SemilatticeInf.toHasInf.{u2} (TopologicalSpace.{u2} β) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.completeLattice.{u2} β))))) t₂ t₃) f) (And (Continuous.{u1, u2} α β t₁ t₂ f) (Continuous.{u1, u2} α β t₁ t₃ f))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ (HasInf.inf.{u2} (TopologicalSpace.{u2} β) (Lattice.toHasInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β)))) t₂ t₃) f) (And (Continuous.{u1, u2} α β t₁ t₂ f) (Continuous.{u1, u2} α β t₁ t₃ f))
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u2} β} {t₃ : TopologicalSpace.{u2} β}, Iff (Continuous.{u1, u2} α β t₁ (Inf.inf.{u2} (TopologicalSpace.{u2} β) (Lattice.toInf.{u2} (TopologicalSpace.{u2} β) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.{u2} β) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.{u2} β) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u2} β)))) t₂ t₃) f) (And (Continuous.{u1, u2} α β t₁ t₂ f) (Continuous.{u1, u2} α β t₁ t₃ f))
 Case conversion may be inaccurate. Consider using '#align continuous_inf_rng continuous_inf_rngₓ'. -/
 theorem continuous_inf_rng {t₁ : tspace α} {t₂ t₃ : tspace β} :
     cont t₁ (t₂ ⊓ t₃) f ↔ cont t₁ t₂ f ∧ cont t₁ t₃ f := by
@@ -1309,9 +1309,9 @@ theorem continuous_inf_rng {t₁ : tspace α} {t₂ t₃ : tspace β} :
 
 /- warning: continuous_inf_dom_left -> continuous_inf_dom_left is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) t₃ f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) t₃ f)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂) t₃ f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₁ t₃ f) -> (Continuous.{u1, u2} α β (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂) t₃ f)
 Case conversion may be inaccurate. Consider using '#align continuous_inf_dom_left continuous_inf_dom_leftₓ'. -/
 theorem continuous_inf_dom_left {t₁ t₂ : tspace α} {t₃ : tspace β} :
     cont t₁ t₃ f → cont (t₁ ⊓ t₂) t₃ f :=
@@ -1320,9 +1320,9 @@ theorem continuous_inf_dom_left {t₁ t₂ : tspace α} {t₃ : tspace β} :
 
 /- warning: continuous_inf_dom_right -> continuous_inf_dom_right is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₂ t₃ f) -> (Continuous.{u1, u2} α β (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) t₃ f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₂ t₃ f) -> (Continuous.{u1, u2} α β (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) t₃ f)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₂ t₃ f) -> (Continuous.{u1, u2} α β (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂) t₃ f)
+  forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} {t₁ : TopologicalSpace.{u1} α} {t₂ : TopologicalSpace.{u1} α} {t₃ : TopologicalSpace.{u2} β}, (Continuous.{u1, u2} α β t₂ t₃ f) -> (Continuous.{u1, u2} α β (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) t₁ t₂) t₃ f)
 Case conversion may be inaccurate. Consider using '#align continuous_inf_dom_right continuous_inf_dom_rightₓ'. -/
 theorem continuous_inf_dom_right {t₁ t₂ : tspace α} {t₃ : tspace β} :
     cont t₂ t₃ f → cont (t₁ ⊓ t₂) t₃ f :=
@@ -1565,9 +1565,9 @@ variable {α : Type u} {ι : Sort v}
 
 /- warning: generate_from_union -> generateFrom_union is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (a₁ : Set.{u1} (Set.{u1} α)) (a₂ : Set.{u1} (Set.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasUnion.{u1} (Set.{u1} α)) a₁ a₂)) (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) (TopologicalSpace.generateFrom.{u1} α a₁) (TopologicalSpace.generateFrom.{u1} α a₂))
+  forall {α : Type.{u1}} (a₁ : Set.{u1} (Set.{u1} α)) (a₂ : Set.{u1} (Set.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasUnion.{u1} (Set.{u1} α)) a₁ a₂)) (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) (TopologicalSpace.generateFrom.{u1} α a₁) (TopologicalSpace.generateFrom.{u1} α a₂))
 but is expected to have type
-  forall {α : Type.{u1}} (a₁ : Set.{u1} (Set.{u1} α)) (a₂ : Set.{u1} (Set.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.instUnionSet.{u1} (Set.{u1} α)) a₁ a₂)) (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) (TopologicalSpace.generateFrom.{u1} α a₁) (TopologicalSpace.generateFrom.{u1} α a₂))
+  forall {α : Type.{u1}} (a₁ : Set.{u1} (Set.{u1} α)) (a₂ : Set.{u1} (Set.{u1} α)), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.instUnionSet.{u1} (Set.{u1} α)) a₁ a₂)) (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) (TopologicalSpace.generateFrom.{u1} α a₁) (TopologicalSpace.generateFrom.{u1} α a₂))
 Case conversion may be inaccurate. Consider using '#align generate_from_union generateFrom_unionₓ'. -/
 theorem generateFrom_union (a₁ a₂ : Set (Set α)) :
     TopologicalSpace.generateFrom (a₁ ∪ a₂) =
@@ -1577,9 +1577,9 @@ theorem generateFrom_union (a₁ a₂ : Set (Set α)) :
 
 /- warning: set_of_is_open_sup -> setOf_isOpen_sup is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (t₁ : TopologicalSpace.{u1} α) (t₂ : TopologicalSpace.{u1} α), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) s)) (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasInter.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₁ s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₂ s)))
+  forall {α : Type.{u1}} (t₁ : TopologicalSpace.{u1} α) (t₂ : TopologicalSpace.{u1} α), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) t₁ t₂) s)) (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasInter.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₁ s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₂ s)))
 but is expected to have type
-  forall {α : Type.{u1}} (t₁ : TopologicalSpace.{u1} α) (t₂ : TopologicalSpace.{u1} α), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂) s)) (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.instInterSet.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₁ s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₂ s)))
+  forall {α : Type.{u1}} (t₁ : TopologicalSpace.{u1} α) (t₂ : TopologicalSpace.{u1} α), Eq.{succ u1} (Set.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) t₁ t₂) s)) (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.instInterSet.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₁ s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α t₂ s)))
 Case conversion may be inaccurate. Consider using '#align set_of_is_open_sup setOf_isOpen_supₓ'. -/
 theorem setOf_isOpen_sup (t₁ t₂ : TopologicalSpace α) :
     { s | is_open[t₁ ⊔ t₂] s } = { s | is_open[t₁] s } ∩ { s | is_open[t₂] s } :=
@@ -1632,9 +1632,9 @@ theorem setOf_isOpen_supₛ {T : Set (TopologicalSpace α)} :
 
 /- warning: generate_from_union_is_open -> generateFrom_union_isOpen is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasUnion.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) a b)
+  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasUnion.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (Inf.inf.{u1} (TopologicalSpace.{u1} α) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) a b)
 but is expected to have type
-  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.instUnionSet.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (HasInf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toHasInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) a b)
+  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Union.union.{u1} (Set.{u1} (Set.{u1} α)) (Set.instUnionSet.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (Inf.inf.{u1} (TopologicalSpace.{u1} α) (Lattice.toInf.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) a b)
 Case conversion may be inaccurate. Consider using '#align generate_from_union_is_open generateFrom_union_isOpenₓ'. -/
 theorem generateFrom_union_isOpen (a b : TopologicalSpace α) :
     TopologicalSpace.generateFrom ({ s | is_open[a] s } ∪ { s | is_open[b] s }) = a ⊓ b :=
@@ -1654,9 +1654,9 @@ theorem generateFrom_unionᵢ_isOpen (f : ι → TopologicalSpace α) :
 
 /- warning: generate_from_inter -> generateFrom_inter is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasInter.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) a b)
+  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.hasInter.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α))))) a b)
 but is expected to have type
-  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.instInterSet.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (HasSup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) a b)
+  forall {α : Type.{u1}} (a : TopologicalSpace.{u1} α) (b : TopologicalSpace.{u1} α), Eq.{succ u1} (TopologicalSpace.{u1} α) (TopologicalSpace.generateFrom.{u1} α (Inter.inter.{u1} (Set.{u1} (Set.{u1} α)) (Set.instInterSet.{u1} (Set.{u1} α)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α a s)) (setOf.{u1} (Set.{u1} α) (fun (s : Set.{u1} α) => IsOpen.{u1} α b s)))) (Sup.sup.{u1} (TopologicalSpace.{u1} α) (SemilatticeSup.toSup.{u1} (TopologicalSpace.{u1} α) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α))))) a b)
 Case conversion may be inaccurate. Consider using '#align generate_from_inter generateFrom_interₓ'. -/
 theorem generateFrom_inter (a b : TopologicalSpace α) :
     TopologicalSpace.generateFrom ({ s | is_open[a] s } ∩ { s | is_open[b] s }) = a ⊔ b :=

Changes in mathlib4

mathlib3
mathlib4
chore: unify date formatting in lemma deprecations (#12334)
  • consistently use the YYYY-MM-DD format
  • when easily possible, put the date on the same line as the deprecated attribute
  • when easily possible, format the entire declaration on the same line

Why these changes?

  • consistency makes it easier for tools to parse this information
  • compactness: I don't see a good reason for these declarations taking up more space than needed; as I understand it, deprecated lemmas are not supposed to be used in mathlib anyway
  • putting the date on the same line as the attribute makes it easier to discover un-dated deprecations; they also ease writing a tool to replace these by a machine-readable version using leanprover/lean4#3968
Diff
@@ -611,7 +611,7 @@ theorem nhds_nhdsAdjoint_same (a : α) (f : Filter α) :
     exact IsOpen.mem_nhds (fun _ ↦ htf) hat
   · exact sup_le (pure_le_nhds _) ((gc_nhds a).le_u_l f)
 
-@[deprecated] -- Since 2024/02/10
+@[deprecated] -- Since 2024-02-10
 alias nhdsAdjoint_nhds := nhds_nhdsAdjoint_same
 #align nhds_adjoint_nhds nhdsAdjoint_nhds
 
@@ -620,7 +620,7 @@ theorem nhds_nhdsAdjoint_of_ne {a b : α} (f : Filter α) (h : b ≠ a) :
   let _ := nhdsAdjoint a f
   (isOpen_singleton_iff_nhds_eq_pure _).1 <| isOpen_singleton_nhdsAdjoint f h
 
-@[deprecated nhds_nhdsAdjoint_of_ne] -- Since 2024/02/10
+@[deprecated nhds_nhdsAdjoint_of_ne] -- Since 2024-02-10
 theorem nhdsAdjoint_nhds_of_ne (a : α) (f : Filter α) {b : α} (h : b ≠ a) :
     @nhds α (nhdsAdjoint a f) b = pure b :=
   nhds_nhdsAdjoint_of_ne f h
fix: generalize index types of iSup to Sort (#12114)

This breaks a few simp proofs which were expecting these lemmas to apply to the data binders but not the prop binders.

Diff
@@ -894,7 +894,7 @@ theorem nhds_true : 𝓝 True = pure True :=
 
 @[simp]
 theorem nhds_false : 𝓝 False = ⊤ :=
-  TopologicalSpace.nhds_generateFrom.trans <| by simp [@and_comm (_ ∈ _)]
+  TopologicalSpace.nhds_generateFrom.trans <| by simp [@and_comm (_ ∈ _), iInter_and]
 #align nhds_false nhds_false
 
 theorem tendsto_nhds_true {l : Filter α} {p : α → Prop} :
chore: tidy various files (#12213)
Diff
@@ -682,7 +682,8 @@ theorem continuous_iff_le_induced {t₁ : TopologicalSpace α} {t₂ : Topologic
 
 lemma continuous_generateFrom_iff {t : TopologicalSpace α} {b : Set (Set β)} :
     Continuous[t, generateFrom b] f ↔ ∀ s ∈ b, IsOpen (f ⁻¹' s) := by
-  rw [continuous_iff_coinduced_le, le_generateFrom_iff_subset_isOpen]; rfl
+  rw [continuous_iff_coinduced_le, le_generateFrom_iff_subset_isOpen]
+  simp only [isOpen_coinduced, preimage_id', subset_def, mem_setOf]
 
 @[deprecated] alias ⟨_, continuous_generateFrom⟩ := continuous_generateFrom_iff
 #align continuous_generated_from continuous_generateFrom
style: remove redundant instance arguments (#11581)

I removed some redundant instance arguments throughout Mathlib. To do this, I used VS Code's regex search. See https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/repeating.20instances.20from.20variable.20command I closed the previous PR for this and reopened it.

Diff
@@ -299,7 +299,7 @@ theorem continuous_of_discreteTopology [TopologicalSpace β] {f : α → β} : C
 
 /-- A function to a discrete topological space is continuous if and only if the preimage of every
 singleton is open. -/
-theorem continuous_discrete_rng [TopologicalSpace α] [TopologicalSpace β] [DiscreteTopology β]
+theorem continuous_discrete_rng [TopologicalSpace β] [DiscreteTopology β]
     {f : α → β} : Continuous f ↔ ∀ b : β, IsOpen (f ⁻¹' {b}) :=
   ⟨fun h b => (isOpen_discrete _).preimage h, fun h => ⟨fun s _ => by
     rw [← biUnion_of_singleton s, preimage_iUnion₂]
@@ -863,13 +863,13 @@ theorem map_nhds_induced_of_mem {a : α} (h : range f ∈ 𝓝 (f a)) :
     map f (@nhds α (induced f t) a) = 𝓝 (f a) := by rw [nhds_induced, Filter.map_comap_of_mem h]
 #align map_nhds_induced_of_mem map_nhds_induced_of_mem
 
-theorem closure_induced [t : TopologicalSpace β] {f : α → β} {a : α} {s : Set α} :
+theorem closure_induced {f : α → β} {a : α} {s : Set α} :
     a ∈ @closure α (t.induced f) s ↔ f a ∈ closure (f '' s) := by
   letI := t.induced f
   simp only [mem_closure_iff_frequently, nhds_induced, frequently_comap, mem_image, and_comm]
 #align closure_induced closure_induced
 
-theorem isClosed_induced_iff' [t : TopologicalSpace β] {f : α → β} {s : Set α} :
+theorem isClosed_induced_iff' {f : α → β} {s : Set α} :
     IsClosed[t.induced f] s ↔ ∀ a, f a ∈ closure (f '' s) → a ∈ s := by
   letI := t.induced f
   simp only [← closure_subset_iff_isClosed, subset_def, closure_induced]
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -844,7 +844,6 @@ section Induced
 open TopologicalSpace
 
 variable {α : Type*} {β : Type*}
-
 variable [t : TopologicalSpace β] {f : α → β}
 
 theorem isOpen_induced_eq {s : Set α} :
feat: review and expand API on behavior of topological bases under some constructions (#10732)

The main addition is IsTopologicalBasis.inf (see https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Inf.20of.20a.20pair.20of.20topologies/near/419989448), and I also reordered things to be in the more typical order (deducing the Pi version from the iInf version rather than the converse).

Also a few extra golfs and variations.

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com> Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>

Diff
@@ -321,10 +321,9 @@ theorem le_of_nhds_le_nhds (h : ∀ x, @nhds α t₁ x ≤ @nhds α t₂ x) : t
   exact fun hs a ha => h _ (hs _ ha)
 #align le_of_nhds_le_nhds le_of_nhds_le_nhds
 
-theorem eq_of_nhds_eq_nhds (h : ∀ x, @nhds α t₁ x = @nhds α t₂ x) : t₁ = t₂ :=
-  le_antisymm (le_of_nhds_le_nhds fun x => (h x).le)
-    (le_of_nhds_le_nhds fun x => (h x).ge)
-#align eq_of_nhds_eq_nhds eq_of_nhds_eq_nhds
+@[deprecated] -- Since 2024-03-01
+alias eq_of_nhds_eq_nhds := TopologicalSpace.ext_nhds
+#align eq_of_nhds_eq_nhds TopologicalSpace.ext_nhds
 
 theorem eq_bot_of_singletons_open {t : TopologicalSpace α} (h : ∀ x, IsOpen[t] {x}) : t = ⊥ :=
   bot_unique fun s _ => biUnion_of_singleton s ▸ isOpen_biUnion fun x _ => h x
@@ -814,7 +813,7 @@ theorem continuous_id_of_le {t t' : TopologicalSpace α} (h : t ≤ t') : Contin
 theorem mem_nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) (s : Set β) :
     s ∈ @nhds β (TopologicalSpace.induced f T) a ↔ ∃ u ∈ 𝓝 (f a), f ⁻¹' u ⊆ s := by
   letI := T.induced f
-  simp only [mem_nhds_iff, isOpen_induced_iff, exists_prop, Set.mem_setOf_eq]
+  simp_rw [mem_nhds_iff, isOpen_induced_iff]
   constructor
   · rintro ⟨u, usub, ⟨v, openv, rfl⟩, au⟩
     exact ⟨v, ⟨v, Subset.rfl, openv, au⟩, usub⟩
@@ -829,9 +828,8 @@ theorem nhds_induced [T : TopologicalSpace α] (f : β → α) (a : β) :
 #align nhds_induced nhds_induced
 
 theorem induced_iff_nhds_eq [tα : TopologicalSpace α] [tβ : TopologicalSpace β] (f : β → α) :
-    tβ = tα.induced f ↔ ∀ b, 𝓝 b = comap f (𝓝 <| f b) :=
-  ⟨fun h a => h.symm ▸ nhds_induced f a, fun h =>
-    eq_of_nhds_eq_nhds fun x => by rw [h, nhds_induced]⟩
+    tβ = tα.induced f ↔ ∀ b, 𝓝 b = comap f (𝓝 <| f b) := by
+  simp only [ext_iff_nhds, nhds_induced]
 #align induced_iff_nhds_eq induced_iff_nhds_eq
 
 theorem map_nhds_induced_of_surjective [T : TopologicalSpace α] {f : β → α} (hf : Surjective f)
chore: classify todo porting notes (#11216)

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

Diff
@@ -652,7 +652,7 @@ theorem nhds_sInf {s : Set (TopologicalSpace α)} {a : α} :
   (gc_nhds a).u_sInf
 #align nhds_Inf nhds_sInf
 
--- Porting note: todo: timeouts without `b₁ := t₁`
+-- Porting note (#11215): TODO: timeouts without `b₁ := t₁`
 theorem nhds_inf {t₁ t₂ : TopologicalSpace α} {a : α} :
     @nhds α (t₁ ⊓ t₂) a = @nhds α t₁ a ⊓ @nhds α t₂ a :=
   (gc_nhds a).u_inf (b₁ := t₁)
chore: Remove ball and bex from lemma names (#10816)

ball for "bounded forall" and bex for "bounded exists" are from experience very confusing abbreviations. This PR renames them to forall_mem and exists_mem in the few Set lemma names that mention them.

Also deprecate ball_image_of_ball, mem_image_elim, mem_image_elim_on since those lemmas are duplicates of the renamed lemmas (apart from argument order and implicitness, which I am also fixing by making the binder in the RHS of forall_mem_image semi-implicit), have obscure names and are completely unused.

Diff
@@ -563,7 +563,7 @@ theorem le_generateFrom {t : TopologicalSpace α} {g : Set (Set α)} (h : ∀ s
 
 theorem induced_generateFrom_eq {α β} {b : Set (Set β)} {f : α → β} :
     (generateFrom b).induced f = generateFrom (preimage f '' b) :=
-  le_antisymm (le_generateFrom <| ball_image_iff.2 fun s hs => ⟨s, GenerateOpen.basic _ hs, rfl⟩)
+  le_antisymm (le_generateFrom <| forall_mem_image.2 fun s hs => ⟨s, GenerateOpen.basic _ hs, rfl⟩)
     (coinduced_le_iff_le_induced.1 <| le_generateFrom fun _s hs => .basic _ (mem_image_of_mem _ hs))
 #align induced_generate_from_eq induced_generateFrom_eq
 
chore: move Mathlib to v4.7.0-rc1 (#11162)

This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0 branch as we update to intermediate nightlies.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>

Diff
@@ -985,6 +985,7 @@ theorem isOpen_iSup_iff {s : Set α} : IsOpen[⨆ i, t i] s ↔ ∀ i, IsOpen[t
     simp [setOf_isOpen_iSup]
 #align is_open_supr_iff isOpen_iSup_iff
 
+set_option tactic.skipAssignedInstances false in
 theorem isClosed_iSup_iff {s : Set α} : IsClosed[⨆ i, t i] s ↔ ∀ i, IsClosed[t i] s := by
   simp [← @isOpen_compl_iff _ _ (⨆ i, t i), ← @isOpen_compl_iff _ _ (t _), isOpen_iSup_iff]
 #align is_closed_supr_iff isClosed_iSup_iff
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
@@ -652,7 +652,7 @@ theorem nhds_sInf {s : Set (TopologicalSpace α)} {a : α} :
   (gc_nhds a).u_sInf
 #align nhds_Inf nhds_sInf
 
--- porting note: todo: timeouts without `b₁ := t₁`
+-- Porting note: todo: timeouts without `b₁ := t₁`
 theorem nhds_inf {t₁ t₂ : TopologicalSpace α} {a : α} :
     @nhds α (t₁ ⊓ t₂) a = @nhds α t₁ a ⊓ @nhds α t₂ a :=
   (gc_nhds a).u_inf (b₁ := t₁)
feat(Topology/Constructions): add continuous_bool_rng (#10513)

Provide continuity criteria for functions X → Bool and, more generally, X → Y, where Y has discrete topology.

Diff
@@ -297,6 +297,14 @@ theorem continuous_of_discreteTopology [TopologicalSpace β] {f : α → β} : C
   continuous_def.2 fun _ _ => isOpen_discrete _
 #align continuous_of_discrete_topology continuous_of_discreteTopology
 
+/-- A function to a discrete topological space is continuous if and only if the preimage of every
+singleton is open. -/
+theorem continuous_discrete_rng [TopologicalSpace α] [TopologicalSpace β] [DiscreteTopology β]
+    {f : α → β} : Continuous f ↔ ∀ b : β, IsOpen (f ⁻¹' {b}) :=
+  ⟨fun h b => (isOpen_discrete _).preimage h, fun h => ⟨fun s _ => by
+    rw [← biUnion_of_singleton s, preimage_iUnion₂]
+    exact isOpen_biUnion fun _ _ => h _⟩⟩
+
 @[simp]
 theorem nhds_discrete (α : Type*) [TopologicalSpace α] [DiscreteTopology α] : @nhds α _ = pure :=
   le_antisymm (fun _ s hs => (isOpen_discrete s).mem_nhds hs) pure_le_nhds
refactor(WithZeroTopology): use nhdsAdjoint (#10411)

It's more specialized than mkOfNhds. Also golf and rename lemmas about nhdsAdjoint.

Diff
@@ -591,61 +591,47 @@ theorem le_iff_nhds {α : Type*} (t t' : TopologicalSpace α) :
   ⟨fun h _ => nhds_mono h, le_of_nhds_le_nhds⟩
 #align le_iff_nhds le_iff_nhds
 
-theorem nhdsAdjoint_nhds {α : Type*} (a : α) (f : Filter α) :
+theorem isOpen_singleton_nhdsAdjoint {α : Type*} {a b : α} (f : Filter α) (hb : b ≠ a) :
+    IsOpen[nhdsAdjoint a f] {b} := fun h ↦
+  absurd h hb.symm
+#align is_open_singleton_nhds_adjoint isOpen_singleton_nhdsAdjoint
+
+theorem nhds_nhdsAdjoint_same (a : α) (f : Filter α) :
     @nhds α (nhdsAdjoint a f) a = pure a ⊔ f := by
-  letI := nhdsAdjoint a f
-  ext U
-  rw [mem_nhds_iff]
-  constructor
-  · rintro ⟨t, htU, ht, hat⟩
-    exact ⟨htU hat, mem_of_superset (ht hat) htU⟩
-  · rintro ⟨haU, hU⟩
-    exact ⟨U, Subset.rfl, fun _ => hU, haU⟩
+  let _ := nhdsAdjoint a f
+  apply le_antisymm
+  · rintro t ⟨hat : a ∈ t, htf : t ∈ f⟩
+    exact IsOpen.mem_nhds (fun _ ↦ htf) hat
+  · exact sup_le (pure_le_nhds _) ((gc_nhds a).le_u_l f)
+
+@[deprecated] -- Since 2024/02/10
+alias nhdsAdjoint_nhds := nhds_nhdsAdjoint_same
 #align nhds_adjoint_nhds nhdsAdjoint_nhds
 
-theorem nhdsAdjoint_nhds_of_ne {α : Type*} (a : α) (f : Filter α) {b : α} (h : b ≠ a) :
-    @nhds α (nhdsAdjoint a f) b = pure b := by
-  letI := nhdsAdjoint a f
-  apply le_antisymm
-  · intro U hU
-    rw [mem_nhds_iff]
-    use {b}
-    simp only [and_true_iff, singleton_subset_iff, mem_singleton]
-    refine' ⟨hU, fun ha => (h.symm ha).elim⟩
-  · exact @pure_le_nhds α (nhdsAdjoint a f) b
+theorem nhds_nhdsAdjoint_of_ne {a b : α} (f : Filter α) (h : b ≠ a) :
+    @nhds α (nhdsAdjoint a f) b = pure b :=
+  let _ := nhdsAdjoint a f
+  (isOpen_singleton_iff_nhds_eq_pure _).1 <| isOpen_singleton_nhdsAdjoint f h
+
+@[deprecated nhds_nhdsAdjoint_of_ne] -- Since 2024/02/10
+theorem nhdsAdjoint_nhds_of_ne (a : α) (f : Filter α) {b : α} (h : b ≠ a) :
+    @nhds α (nhdsAdjoint a f) b = pure b :=
+  nhds_nhdsAdjoint_of_ne f h
 #align nhds_adjoint_nhds_of_ne nhdsAdjoint_nhds_of_ne
 
-theorem isOpen_singleton_nhdsAdjoint {α : Type*} {a b : α} (f : Filter α) (hb : b ≠ a) :
-    IsOpen[nhdsAdjoint a f] {b} := by
-  letI := nhdsAdjoint a f
-  rw [isOpen_singleton_iff_nhds_eq_pure]
-  exact nhdsAdjoint_nhds_of_ne a f hb
-#align is_open_singleton_nhds_adjoint isOpen_singleton_nhdsAdjoint
+theorem nhds_nhdsAdjoint [DecidableEq α] (a : α) (f : Filter α) :
+    @nhds α (nhdsAdjoint a f) = update pure a (pure a ⊔ f) :=
+  eq_update_iff.2 ⟨nhds_nhdsAdjoint_same .., fun _ ↦ nhds_nhdsAdjoint_of_ne _⟩
 
-theorem le_nhdsAdjoint_iff' {α : Type*} (a : α) (f : Filter α) (t : TopologicalSpace α) :
-    t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ b, b ≠ a → @nhds α t b = pure b := by
-  rw [le_iff_nhds]
-  constructor
-  · intro h
-    constructor
-    · specialize h a
-      rwa [nhdsAdjoint_nhds] at h
-    · intro b hb
-      apply le_antisymm _ (pure_le_nhds b)
-      specialize h b
-      rwa [nhdsAdjoint_nhds_of_ne a f hb] at h
-  · rintro ⟨h, h'⟩ b
-    by_cases hb : b = a
-    · rwa [hb, nhdsAdjoint_nhds]
-    · simp [nhdsAdjoint_nhds_of_ne a f hb, h' b hb]
+theorem le_nhdsAdjoint_iff' {a : α} {f : Filter α} {t : TopologicalSpace α} :
+    t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ b ≠ a, @nhds α t b = pure b := by
+  classical
+  simp_rw [le_iff_nhds, nhds_nhdsAdjoint, forall_update_iff, (pure_le_nhds _).le_iff_eq]
 #align le_nhds_adjoint_iff' le_nhdsAdjoint_iff'
 
 theorem le_nhdsAdjoint_iff {α : Type*} (a : α) (f : Filter α) (t : TopologicalSpace α) :
-    t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ b, b ≠ a → IsOpen[t] {b} := by
-  change _ ↔ _ ∧ ∀ b : α, b ≠ a → IsOpen {b}
-  rw [le_nhdsAdjoint_iff', and_congr_right_iff]
-  refine fun _ => forall_congr' fun b => ?_
-  rw [@isOpen_singleton_iff_nhds_eq_pure α t b]
+    t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ b ≠ a, IsOpen[t] {b} := by
+  simp only [le_nhdsAdjoint_iff', @isOpen_singleton_iff_nhds_eq_pure α t]
 #align le_nhds_adjoint_iff le_nhdsAdjoint_iff
 
 theorem nhds_iInf {ι : Sort*} {t : ι → TopologicalSpace α} {a : α} :
@@ -661,7 +647,7 @@ theorem nhds_sInf {s : Set (TopologicalSpace α)} {a : α} :
 -- porting note: todo: timeouts without `b₁ := t₁`
 theorem nhds_inf {t₁ t₂ : TopologicalSpace α} {a : α} :
     @nhds α (t₁ ⊓ t₂) a = @nhds α t₁ a ⊓ @nhds α t₂ a :=
-  GaloisConnection.u_inf (b₁ := t₁) (gc_nhds a)
+  (gc_nhds a).u_inf (b₁ := t₁)
 #align nhds_inf nhds_inf
 
 theorem nhds_top {a : α} : @nhds α ⊤ a = ⊤ :=
feat(Topology/Order): add nhds_mkOfNhds_of_hasBasis (#10408)
  • add TopologicalSpace.nhds_mkOfNhds_of_hasBasis
  • add Trans instance for Filter.mem_of_superset
  • change assumptions of TopologicalSpace.nhds_mkOfNhds, golf
    • the new assumption is equivalent to the old one with t ⊆ s removed
    • but is formulated in terms of Filter.Eventually
Diff
@@ -107,19 +107,23 @@ protected def mkOfNhds (n : α → Filter α) : TopologicalSpace α where
     mem_of_superset (hs x hx _ hxa) (subset_sUnion_of_mem hx)
 #align topological_space.mk_of_nhds TopologicalSpace.mkOfNhds
 
+theorem nhds_mkOfNhds_of_hasBasis {n : α → Filter α} {ι : α → Sort*} {p : ∀ a, ι a → Prop}
+    {s : ∀ a, ι a → Set α} (hb : ∀ a, (n a).HasBasis (p a) (s a))
+    (hpure : ∀ a i, p a i → a ∈ s a i) (hopen : ∀ a i, p a i → ∀ᶠ x in n a, s a i ∈ n x) (a : α) :
+    @nhds α (.mkOfNhds n) a = n a := by
+  let t : TopologicalSpace α := .mkOfNhds n
+  apply le_antisymm
+  · intro U hU
+    replace hpure : pure ≤ n := fun x ↦ (hb x).ge_iff.2 (hpure x)
+    refine mem_nhds_iff.2 ⟨{x | U ∈ n x}, fun x hx ↦ hpure x hx, fun x hx ↦ ?_, hU⟩
+    rcases (hb x).mem_iff.1 hx with ⟨i, hpi, hi⟩
+    exact (hopen x i hpi).mono fun y hy ↦ mem_of_superset hy hi
+  · exact (nhds_basis_opens a).ge_iff.2 fun U ⟨haU, hUo⟩ ↦ hUo a haU
+
 theorem nhds_mkOfNhds (n : α → Filter α) (a : α) (h₀ : pure ≤ n)
-    (h₁ : ∀ a s, s ∈ n a → ∃ t ∈ n a, t ⊆ s ∧ ∀ a' ∈ t, s ∈ n a') :
-    @nhds α (TopologicalSpace.mkOfNhds n) a = n a := by
-  letI := TopologicalSpace.mkOfNhds n
-  apply le_antisymm <;> intros s hs
-  · have h₀ : { b | s ∈ n b } ⊆ s := fun b hb => mem_pure.1 <| h₀ b hb
-    have h₁ : { b | s ∈ n b } ∈ 𝓝 a := by
-      refine' IsOpen.mem_nhds (fun b (hb : s ∈ n b) => _) hs
-      rcases h₁ _ _ hb with ⟨t, ht, -, h⟩
-      exact mem_of_superset ht h
-    exact mem_of_superset h₁ h₀
-  · rcases mem_nhds_iff.1 hs with ⟨t, hts, ht, hat⟩
-    exact (n a).sets_of_superset (ht _ hat) hts
+    (h₁ : ∀ a, ∀ s ∈ n a, ∀ᶠ y in n a, s ∈ n y) :
+    @nhds α (TopologicalSpace.mkOfNhds n) a = n a :=
+  nhds_mkOfNhds_of_hasBasis (fun a ↦ (n a).basis_sets) h₀ h₁ _
 #align topological_space.nhds_mk_of_nhds TopologicalSpace.nhds_mkOfNhds
 
 theorem nhds_mkOfNhds_single [DecidableEq α] {a₀ : α} {l : Filter α} (h : pure a₀ ≤ l) (b : α) :
@@ -127,26 +131,17 @@ theorem nhds_mkOfNhds_single [DecidableEq α] {a₀ : α} {l : Filter α} (h : p
       (update pure a₀ l : α → Filter α) b := by
   refine' nhds_mkOfNhds _ _ (le_update_iff.mpr ⟨h, fun _ _ => le_rfl⟩) fun a s hs => _
   rcases eq_or_ne a a₀ with (rfl | ha)
-  · refine' ⟨s, hs, Subset.rfl, fun b hb => _⟩
+  · filter_upwards [hs] with b hb
     rcases eq_or_ne b a with (rfl | hb)
     · exact hs
     · rwa [update_noteq hb]
-  · have hs' := hs
-    rw [update_noteq ha] at hs ⊢
-    exact ⟨{a}, rfl, singleton_subset_iff.mpr hs, forall_eq.2 hs'⟩
+  · simpa only [update_noteq ha, mem_pure, eventually_pure] using hs
 #align topological_space.nhds_mk_of_nhds_single TopologicalSpace.nhds_mkOfNhds_single
 
-theorem nhds_mkOfNhds_filterBasis (B : α → FilterBasis α) (a : α) (h₀ : ∀ (x), ∀ n ∈ B x, x ∈ n)
-    (h₁ : ∀ (x), ∀ n ∈ B x, ∃ n₁ ∈ B x, n₁ ⊆ n ∧ ∀ x' ∈ n₁, ∃ n₂ ∈ B x', n₂ ⊆ n) :
-    @nhds α (TopologicalSpace.mkOfNhds fun x => (B x).filter) a = (B a).filter := by
-  rw [TopologicalSpace.nhds_mkOfNhds] <;> intro x n hn <;>
-    obtain ⟨m, hm₁, hm₂⟩ := (B x).mem_filter_iff.mp hn
-  · exact hm₂ (h₀ _ _ hm₁)
-  · obtain ⟨n₁, hn₁, hn₂, hn₃⟩ := h₁ x m hm₁
-    refine'
-      ⟨n₁, (B x).mem_filter_of_mem hn₁, hn₂.trans hm₂, fun x' hx' => (B x').mem_filter_iff.mp _⟩
-    obtain ⟨n₂, hn₄, hn₅⟩ := hn₃ x' hx'
-    exact ⟨n₂, hn₄, hn₅.trans hm₂⟩
+theorem nhds_mkOfNhds_filterBasis (B : α → FilterBasis α) (a : α) (h₀ : ∀ x, ∀ n ∈ B x, x ∈ n)
+    (h₁ : ∀ x, ∀ n ∈ B x, ∃ n₁ ∈ B x, ∀ x' ∈ n₁, ∃ n₂ ∈ B x', n₂ ⊆ n) :
+    @nhds α (TopologicalSpace.mkOfNhds fun x => (B x).filter) a = (B a).filter :=
+  nhds_mkOfNhds_of_hasBasis (fun a ↦ (B a).hasBasis) h₀ h₁ a
 #align topological_space.nhds_mk_of_nhds_filter_basis TopologicalSpace.nhds_mkOfNhds_filterBasis
 
 section Lattice
feat(Algebra/UniformConvergence): drop unneeded assumptions (#10321)
  • Prove a version of UniformOnFun.continuousSMul_induced_of_image_bounded for UniformFuns.
  • Deal with φ : H →ₗ[𝕜] (α → E) and ofFun ∘ φ, not φ : H →ₗ[𝕜] (α →ᵤ[𝔖] E).
  • Drop unneeded assumptions (nonempty, directed).
Diff
@@ -463,7 +463,7 @@ theorem induced_id [t : TopologicalSpace α] : t.induced id = t :=
     funext fun s => propext <| ⟨fun ⟨_, hs, h⟩ => h ▸ hs, fun hs => ⟨s, hs, rfl⟩⟩
 #align induced_id induced_id
 
-theorem induced_compose [tγ : TopologicalSpace γ] {f : α → β} {g : β → γ} :
+theorem induced_compose {tγ : TopologicalSpace γ} {f : α → β} {g : β → γ} :
     (tγ.induced g).induced f = tγ.induced (g ∘ f) :=
   TopologicalSpace.ext <|
     funext fun _ => propext
chore(Topology): move some definitions to new files (#10151)

In some cases, the order of implicit arguments changed because now they appear in a different order in variables.

Also, some definitions used greek letters for topological spaces, changed to X/Y.

Diff
@@ -3,6 +3,7 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro
 -/
+import Mathlib.Topology.Defs.Induced
 import Mathlib.Topology.Basic
 
 #align_import topology.order from "leanprover-community/mathlib"@"bcfa726826abd57587355b4b5b7e78ad6527b7e4"
@@ -373,23 +374,6 @@ section GaloisConnection
 
 variable {α β γ : Type*}
 
-/-- Given `f : α → β` and a topology on `β`, the induced topology on `α` is the collection of
-  sets that are preimages of some open set in `β`. This is the coarsest topology that
-  makes `f` continuous. -/
-def TopologicalSpace.induced {α : Type u} {β : Type v} (f : α → β) (t : TopologicalSpace β) :
-    TopologicalSpace α where
-  IsOpen s := ∃ s', IsOpen s' ∧ f ⁻¹' s' = s
-  isOpen_univ := ⟨univ, isOpen_univ, preimage_univ⟩
-  isOpen_inter := by
-    rintro s₁ s₂ ⟨s'₁, hs₁, rfl⟩ ⟨s'₂, hs₂, rfl⟩
-    exact ⟨s'₁ ∩ s'₂, hs₁.inter hs₂, preimage_inter⟩
-  isOpen_sUnion S h := by
-    choose! g hgo hfg using h
-    refine ⟨⋃ s ∈ S, g s, isOpen_biUnion fun s hs => hgo s hs, ?_⟩
-    rw [preimage_iUnion₂, sUnion_eq_biUnion]
-    exact iUnion₂_congr hfg
-#align topological_space.induced TopologicalSpace.induced
-
 theorem isOpen_induced_iff [t : TopologicalSpace β] {s : Set α} {f : α → β} :
     IsOpen[t.induced f] s ↔ ∃ t, IsOpen t ∧ f ⁻¹' t = s :=
   Iff.rfl
@@ -402,17 +386,6 @@ theorem isClosed_induced_iff [t : TopologicalSpace β] {s : Set α} {f : α →
   exact compl_surjective.exists.trans (by simp only [preimage_compl, compl_inj_iff])
 #align is_closed_induced_iff isClosed_induced_iff
 
-/-- Given `f : α → β` and a topology on `α`, the coinduced topology on `β` is defined
-  such that `s : Set β` is open if the preimage of `s` is open. This is the finest topology that
-  makes `f` continuous. -/
-def TopologicalSpace.coinduced {α : Type u} {β : Type v} (f : α → β) (t : TopologicalSpace α) :
-    TopologicalSpace β where
-  IsOpen s := IsOpen[t] (f ⁻¹' s)
-  isOpen_univ := t.isOpen_univ
-  isOpen_inter s₁ s₂ h₁ h₂ := h₁.inter h₂
-  isOpen_sUnion s h := by simpa only [preimage_sUnion] using isOpen_biUnion h
-#align topological_space.coinduced TopologicalSpace.coinduced
-
 theorem isOpen_coinduced {t : TopologicalSpace α} {s : Set β} {f : α → β} :
     IsOpen[t.coinduced f] s ↔ IsOpen (f ⁻¹' s) :=
   Iff.rfl
chore(Topology/Basic): re-use variables; rename a : X to x : X (#9993)

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>

Diff
@@ -243,11 +243,11 @@ theorem IsOpen.mono (hs : IsOpen[t₂] s) (h : t₁ ≤ t₂) : IsOpen[t₁] s :
 #align is_open.mono IsOpen.mono
 
 theorem IsClosed.mono (hs : IsClosed[t₂] s) (h : t₁ ≤ t₂) : IsClosed[t₁] s :=
-  (@isOpen_compl_iff α t₁ s).mp <| hs.isOpen_compl.mono h
+  (@isOpen_compl_iff α s t₁).mp <| hs.isOpen_compl.mono h
 #align is_closed.mono IsClosed.mono
 
 theorem closure.mono (h : t₁ ≤ t₂) : closure[t₁] s ⊆ closure[t₂] s :=
-  @closure_minimal _ t₁ s (@closure _ t₂ s) subset_closure (IsClosed.mono isClosed_closure h)
+  @closure_minimal _ s (@closure _ t₂ s) t₁ subset_closure (IsClosed.mono isClosed_closure h)
 
 theorem isOpen_implies_isOpen_iff : (∀ s, IsOpen[t₁] s → IsOpen[t₂] s) ↔ t₂ ≤ t₁ :=
   Iff.rfl
@@ -313,7 +313,7 @@ theorem mem_nhds_discrete {x : α} {s : Set α} :
 end DiscreteTopology
 
 theorem le_of_nhds_le_nhds (h : ∀ x, @nhds α t₁ x ≤ @nhds α t₂ x) : t₁ ≤ t₂ := fun s => by
-  rw [@isOpen_iff_mem_nhds _ t₁, @isOpen_iff_mem_nhds α t₂]
+  rw [@isOpen_iff_mem_nhds _ _ t₁, @isOpen_iff_mem_nhds α _ t₂]
   exact fun hs a ha => h _ (hs _ ha)
 #align le_of_nhds_le_nhds le_of_nhds_le_nhds
 
@@ -1024,7 +1024,7 @@ theorem isOpen_iSup_iff {s : Set α} : IsOpen[⨆ i, t i] s ↔ ∀ i, IsOpen[t
 #align is_open_supr_iff isOpen_iSup_iff
 
 theorem isClosed_iSup_iff {s : Set α} : IsClosed[⨆ i, t i] s ↔ ∀ i, IsClosed[t i] s := by
-  simp [← @isOpen_compl_iff _ (⨆ i, t i), ← @isOpen_compl_iff _ (t _), isOpen_iSup_iff]
+  simp [← @isOpen_compl_iff _ _ (⨆ i, t i), ← @isOpen_compl_iff _ _ (t _), isOpen_iSup_iff]
 #align is_closed_supr_iff isClosed_iSup_iff
 
 end iInf
chore(Topology): remove autoImplicit from most remaining files (#9865)
Diff
@@ -45,9 +45,6 @@ of sets in `α` (with the reversed inclusion ordering).
 finer, coarser, induced topology, coinduced topology
 -/
 
-set_option autoImplicit true
-
-
 open Function Set Filter Topology
 
 universe u v w
@@ -240,7 +237,7 @@ end TopologicalSpace
 
 section Lattice
 
-variable {t t₁ t₂ : TopologicalSpace α} {s : Set α}
+variable {α : Type*} {t t₁ t₂ : TopologicalSpace α} {s : Set α}
 
 theorem IsOpen.mono (hs : IsOpen[t₂] s) (h : t₁ ≤ t₂) : IsOpen[t₁] s := h s hs
 #align is_open.mono IsOpen.mono
@@ -282,7 +279,7 @@ theorem discreteTopology_bot (α : Type*) : @DiscreteTopology α ⊥ :=
 
 section DiscreteTopology
 
-variable [TopologicalSpace α] [DiscreteTopology α]
+variable [TopologicalSpace α] [DiscreteTopology α] {β : Type*}
 
 @[simp]
 theorem isOpen_discrete (s : Set α) : IsOpen s := (@DiscreteTopology.eq_bot α _).symm ▸ trivial
@@ -296,7 +293,7 @@ theorem isOpen_discrete (s : Set α) : IsOpen s := (@DiscreteTopology.eq_bot α
 @[simp] theorem dense_discrete {s : Set α} : Dense s ↔ s = univ := by simp [dense_iff_closure_eq]
 
 @[simp]
-theorem denseRange_discrete {f : ι → α} : DenseRange f ↔ Surjective f := by
+theorem denseRange_discrete {ι : Type*} {f : ι → α} : DenseRange f ↔ Surjective f := by
   rw [DenseRange, dense_discrete, range_iff_surjective]
 
 @[nontriviality, continuity]
feat(Topology/Order): upgrade continuous_generateFrom to an iff (#9259)

Similarly, upgrade tendsto_nhds_generateFrom, IsTopologicalBasis.continuous, Topology.IsLower.continuous_of_Ici, and Topology.IsUpper.continuous_iff_Iic.

The old lemmas are now deprecated, and the new ones have _iff in their names. Once we remove the old lemmas, we can drop the _iff suffixes.

Diff
@@ -81,8 +81,8 @@ theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
     @nhds α (generateFrom g) a = ⨅ s ∈ { s | a ∈ s ∧ s ∈ g }, 𝓟 s := by
   letI := generateFrom g
   rw [nhds_def]
-  refine le_antisymm (biInf_mono fun s ⟨as, sg⟩ => ⟨as, .basic _ sg⟩) ?_
-  refine le_iInf₂ fun s ⟨ha, hs⟩ => ?_; clear ‹s ∈ { s | a ∈ s ∧ IsOpen s }›
+  refine le_antisymm (biInf_mono fun s ⟨as, sg⟩ => ⟨as, .basic _ sg⟩) <| le_iInf₂ ?_
+  rintro s ⟨ha, hs⟩
   induction hs with
   | basic _ hs => exact iInf₂_le _ ⟨ha, hs⟩
   | univ => exact le_top.trans_eq principal_univ.symm
@@ -92,10 +92,12 @@ theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
     exact (hS t htS hat).trans (principal_mono.2 <| subset_sUnion_of_mem htS)
 #align topological_space.nhds_generate_from TopologicalSpace.nhds_generateFrom
 
-theorem tendsto_nhds_generateFrom {β : Type*} {m : α → β} {f : Filter α} {g : Set (Set β)} {b : β}
-    (h : ∀ s ∈ g, b ∈ s → m ⁻¹' s ∈ f) : Tendsto m f (@nhds β (generateFrom g) b) := by
-  rw [nhds_generateFrom]
-  exact tendsto_iInf.2 fun s => tendsto_iInf.2 fun ⟨hbs, hsg⟩ => tendsto_principal.2 <| h s hsg hbs
+lemma tendsto_nhds_generateFrom_iff {β : Type*} {m : α → β} {f : Filter α} {g : Set (Set β)}
+    {b : β} : Tendsto m f (@nhds β (generateFrom g) b) ↔ ∀ s ∈ g, b ∈ s → m ⁻¹' s ∈ f := by
+  simp only [nhds_generateFrom, @forall_swap (b ∈ _), tendsto_iInf, mem_setOf_eq, and_imp,
+    tendsto_principal]; rfl
+
+@[deprecated] alias ⟨_, tendsto_nhds_generateFrom⟩ := tendsto_nhds_generateFrom_iff
 #align topological_space.tendsto_nhds_generate_from TopologicalSpace.tendsto_nhds_generateFrom
 
 /-- Construct a topology on α given the filter of neighborhoods of each point of α. -/
@@ -720,10 +722,11 @@ theorem continuous_iff_le_induced {t₁ : TopologicalSpace α} {t₂ : Topologic
   Iff.trans continuous_iff_coinduced_le (gc_coinduced_induced f _ _)
 #align continuous_iff_le_induced continuous_iff_le_induced
 
-theorem continuous_generateFrom {t : TopologicalSpace α} {b : Set (Set β)}
-    (h : ∀ s ∈ b, IsOpen (f ⁻¹' s)) :
-    Continuous[t, generateFrom b] f :=
-  continuous_iff_coinduced_le.2 <| le_generateFrom h
+lemma continuous_generateFrom_iff {t : TopologicalSpace α} {b : Set (Set β)} :
+    Continuous[t, generateFrom b] f ↔ ∀ s ∈ b, IsOpen (f ⁻¹' s) := by
+  rw [continuous_iff_coinduced_le, le_generateFrom_iff_subset_isOpen]; rfl
+
+@[deprecated] alias ⟨_, continuous_generateFrom⟩ := continuous_generateFrom_iff
 #align continuous_generated_from continuous_generateFrom
 
 @[continuity]
feat: add DiscreteTopology.of_continuous_injective (#7029)
Diff
@@ -359,6 +359,15 @@ theorem discreteTopology_iff_nhds_ne [TopologicalSpace α] :
   simp only [discreteTopology_iff_singleton_mem_nhds, nhdsWithin, inf_principal_eq_bot, compl_compl]
 #align discrete_topology_iff_nhds_ne discreteTopology_iff_nhds_ne
 
+/-- If the codomain of a continuous injective function has discrete topology,
+then so does the domain.
+
+See also `Embedding.discreteTopology` for an important special case. -/
+theorem DiscreteTopology.of_continuous_injective
+    {β : Type*} [TopologicalSpace α] [TopologicalSpace β] [DiscreteTopology β] {f : α → β}
+    (hc : Continuous f) (hinj : Injective f) : DiscreteTopology α :=
+  forall_open_iff_discrete.1 fun s ↦ hinj.preimage_image s ▸ (isOpen_discrete _).preimage hc
+
 end Lattice
 
 section GaloisConnection
chore: more predictable ext lemmas for TopologicalSpace and UniformSpace (#6705)
Diff
@@ -156,7 +156,7 @@ variable {α : Type u} {β : Type v}
 /-- The ordering on topologies on the type `α`. `t ≤ s` if every set open in `s` is also open in `t`
 (`t` is finer than `s`). -/
 instance : PartialOrder (TopologicalSpace α) :=
-  { PartialOrder.lift (fun t => OrderDual.toDual IsOpen[t]) (fun _ _ => topologicalSpace_eq) with
+  { PartialOrder.lift (fun t => OrderDual.toDual IsOpen[t]) (fun _ _ => TopologicalSpace.ext) with
     le := fun s t => ∀ U, IsOpen[t] U → IsOpen[s] U }
 
 protected theorem le_def {α} {t s : TopologicalSpace α} : t ≤ s ↔ IsOpen[s] ≤ IsOpen[t] :=
@@ -181,7 +181,7 @@ protected def mkOfClosure (s : Set (Set α)) (hs : { u | GenerateOpen s u } = s)
 
 theorem mkOfClosure_sets {s : Set (Set α)} {hs : { u | GenerateOpen s u } = s} :
     TopologicalSpace.mkOfClosure s hs = generateFrom s :=
-  topologicalSpace_eq hs.symm
+  TopologicalSpace.ext hs.symm
 #align topological_space.mk_of_closure_sets TopologicalSpace.mkOfClosure_sets
 
 theorem gc_generateFrom (α) :
@@ -478,17 +478,16 @@ theorem coinduced_iSup {ι : Sort w} {t : ι → TopologicalSpace α} :
 #align coinduced_supr coinduced_iSup
 
 theorem induced_id [t : TopologicalSpace α] : t.induced id = t :=
-  topologicalSpace_eq <|
+  TopologicalSpace.ext <|
     funext fun s => propext <| ⟨fun ⟨_, hs, h⟩ => h ▸ hs, fun hs => ⟨s, hs, rfl⟩⟩
 #align induced_id induced_id
 
 theorem induced_compose [tγ : TopologicalSpace γ] {f : α → β} {g : β → γ} :
     (tγ.induced g).induced f = tγ.induced (g ∘ f) :=
-  topologicalSpace_eq <|
-    funext fun _ =>
-      propext <|
-        ⟨fun ⟨_, ⟨s, hs, h₂⟩, h₁⟩ => h₁ ▸ h₂ ▸ ⟨s, hs, rfl⟩, fun ⟨s, hs, h⟩ =>
-          ⟨preimage g s, ⟨s, hs, rfl⟩, h ▸ rfl⟩⟩
+  TopologicalSpace.ext <|
+    funext fun _ => propext
+      ⟨fun ⟨_, ⟨s, hs, h₂⟩, h₁⟩ => h₁ ▸ h₂ ▸ ⟨s, hs, rfl⟩,
+        fun ⟨s, hs, h⟩ => ⟨preimage g s, ⟨s, hs, rfl⟩, h ▸ rfl⟩⟩
 #align induced_compose induced_compose
 
 theorem induced_const [t : TopologicalSpace α] {x : α} : (t.induced fun _ : β => x) = ⊤ :=
@@ -496,12 +495,12 @@ theorem induced_const [t : TopologicalSpace α] {x : α} : (t.induced fun _ : β
 #align induced_const induced_const
 
 theorem coinduced_id [t : TopologicalSpace α] : t.coinduced id = t :=
-  topologicalSpace_eq rfl
+  TopologicalSpace.ext rfl
 #align coinduced_id coinduced_id
 
 theorem coinduced_compose [tα : TopologicalSpace α] {f : α → β} {g : β → γ} :
     (tα.coinduced f).coinduced g = tα.coinduced (g ∘ f) :=
-  topologicalSpace_eq rfl
+  TopologicalSpace.ext rfl
 #align coinduced_compose coinduced_compose
 
 theorem Equiv.induced_symm {α β : Type*} (e : α ≃ β) :
fix: disable autoImplicit globally (#6528)

Autoimplicits are highly controversial and also defeat the performance-improving work in #6474.

The intent of this PR is to make autoImplicit opt-in on a per-file basis, by disabling it in the lakefile and enabling it again with set_option autoImplicit true in the few files that rely on it.

That also keeps this PR small, as opposed to attempting to "fix" files to not need it any more.

I claim that many of the uses of autoImplicit in these files are accidental; situations such as:

  • Assuming variables are in scope, but pasting the lemma in the wrong section
  • Pasting in a lemma from a scratch file without checking to see if the variable names are consistent with the rest of the file
  • Making a copy-paste error between lemmas and forgetting to add an explicit arguments.

Having set_option autoImplicit false as the default prevents these types of mistake being made in the 90% of files where autoImplicits are not used at all, and causes them to be caught by CI during review.

I think there were various points during the port where we encouraged porters to delete the universes u v lines; I think having autoparams for universe variables only would cover a lot of the cases we actually use them, while avoiding any real shortcomings.

A Zulip poll (after combining overlapping votes accordingly) was in favor of this change with 5:5:18 as the no:dontcare:yes vote ratio.

While this PR was being reviewed, a handful of files gained some more likely-accidental autoImplicits. In these places, set_option autoImplicit true has been placed locally within a section, rather than at the top of the file.

Diff
@@ -45,6 +45,8 @@ of sets in `α` (with the reversed inclusion ordering).
 finer, coarser, induced topology, coinduced topology
 -/
 
+set_option autoImplicit true
+
 
 open Function Set Filter Topology
 
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
@@ -90,7 +90,7 @@ theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
     exact (hS t htS hat).trans (principal_mono.2 <| subset_sUnion_of_mem htS)
 #align topological_space.nhds_generate_from TopologicalSpace.nhds_generateFrom
 
-theorem tendsto_nhds_generateFrom {β : Type _} {m : α → β} {f : Filter α} {g : Set (Set β)} {b : β}
+theorem tendsto_nhds_generateFrom {β : Type*} {m : α → β} {f : Filter α} {g : Set (Set β)} {b : β}
     (h : ∀ s ∈ g, b ∈ s → m ⁻¹' s ∈ f) : Tendsto m f (@nhds β (generateFrom g) b) := by
   rw [nhds_generateFrom]
   exact tendsto_iInf.2 fun s => tendsto_iInf.2 fun ⟨hbs, hsg⟩ => tendsto_principal.2 <| h s hsg hbs
@@ -190,7 +190,7 @@ theorem gc_generateFrom (α) :
 /-- The Galois coinsertion between `TopologicalSpace α` and `(Set (Set α))ᵒᵈ` whose lower part sends
   a topology to its collection of open subsets, and whose upper part sends a collection of subsets
   of `α` to the topology they generate. -/
-def gciGenerateFrom (α : Type _) :
+def gciGenerateFrom (α : Type*) :
     GaloisCoinsertion (fun t : TopologicalSpace α => OrderDual.toDual { s | IsOpen[t] s })
       (generateFrom ∘ OrderDual.ofDual) where
   gc := gc_generateFrom α
@@ -267,12 +267,12 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : IsOpen[⊤] U ↔ U
 
 /-- A topological space is discrete if every set is open, that is,
   its topology equals the discrete topology `⊥`. -/
-class DiscreteTopology (α : Type _) [t : TopologicalSpace α] : Prop where
+class DiscreteTopology (α : Type*) [t : TopologicalSpace α] : Prop where
   /-- The `TopologicalSpace` structure on a type with discrete topology is equal to `⊥`. -/
   eq_bot : t = ⊥
 #align discrete_topology DiscreteTopology
 
-theorem discreteTopology_bot (α : Type _) : @DiscreteTopology α ⊥ :=
+theorem discreteTopology_bot (α : Type*) : @DiscreteTopology α ⊥ :=
   @DiscreteTopology.mk α ⊥ rfl
 #align discrete_topology_bot discreteTopology_bot
 
@@ -301,7 +301,7 @@ theorem continuous_of_discreteTopology [TopologicalSpace β] {f : α → β} : C
 #align continuous_of_discrete_topology continuous_of_discreteTopology
 
 @[simp]
-theorem nhds_discrete (α : Type _) [TopologicalSpace α] [DiscreteTopology α] : @nhds α _ = pure :=
+theorem nhds_discrete (α : Type*) [TopologicalSpace α] [DiscreteTopology α] : @nhds α _ = pure :=
   le_antisymm (fun _ s hs => (isOpen_discrete s).mem_nhds hs) pure_le_nhds
 #align nhds_discrete nhds_discrete
 
@@ -325,7 +325,7 @@ theorem eq_bot_of_singletons_open {t : TopologicalSpace α} (h : ∀ x, IsOpen[t
   bot_unique fun s _ => biUnion_of_singleton s ▸ isOpen_biUnion fun x _ => h x
 #align eq_bot_of_singletons_open eq_bot_of_singletons_open
 
-theorem forall_open_iff_discrete {X : Type _} [TopologicalSpace X] :
+theorem forall_open_iff_discrete {X : Type*} [TopologicalSpace X] :
     (∀ s : Set X, IsOpen s) ↔ DiscreteTopology X :=
   ⟨fun h => ⟨eq_bot_of_singletons_open fun _ => h _⟩, @isOpen_discrete _ _⟩
 #align forall_open_iff_discrete forall_open_iff_discrete
@@ -335,7 +335,7 @@ theorem discreteTopology_iff_forall_isClosed [TopologicalSpace α] :
   forall_open_iff_discrete.symm.trans <| compl_surjective.forall.trans <| forall_congr' fun _ ↦
     isOpen_compl_iff
 
-theorem singletons_open_iff_discrete {X : Type _} [TopologicalSpace X] :
+theorem singletons_open_iff_discrete {X : Type*} [TopologicalSpace X] :
     (∀ a : X, IsOpen ({a} : Set X)) ↔ DiscreteTopology X :=
   ⟨fun h => ⟨eq_bot_of_singletons_open h⟩, fun a _ => @isOpen_discrete _ _ a _⟩
 #align singletons_open_iff_discrete singletons_open_iff_discrete
@@ -361,7 +361,7 @@ end Lattice
 
 section GaloisConnection
 
-variable {α β γ : Type _}
+variable {α β γ : Type*}
 
 /-- Given `f : α → β` and a topology on `β`, the induced topology on `α` is the collection of
   sets that are preimages of some open set in `β`. This is the coarsest topology that
@@ -502,14 +502,14 @@ theorem coinduced_compose [tα : TopologicalSpace α] {f : α → β} {g : β 
   topologicalSpace_eq rfl
 #align coinduced_compose coinduced_compose
 
-theorem Equiv.induced_symm {α β : Type _} (e : α ≃ β) :
+theorem Equiv.induced_symm {α β : Type*} (e : α ≃ β) :
     TopologicalSpace.induced e.symm = TopologicalSpace.coinduced e := by
   ext t U
   rw [isOpen_induced_iff, isOpen_coinduced]
   simp only [e.symm.preimage_eq_iff_eq_image, exists_eq_right, ← preimage_equiv_eq_image_symm]
 #align equiv.induced_symm Equiv.induced_symm
 
-theorem Equiv.coinduced_symm {α β : Type _} (e : α ≃ β) :
+theorem Equiv.coinduced_symm {α β : Type*} (e : α ≃ β) :
     TopologicalSpace.coinduced e.symm = TopologicalSpace.induced e :=
   e.symm.induced_symm.symm
 #align equiv.coinduced_symm Equiv.coinduced_symm
@@ -609,12 +609,12 @@ theorem nhds_mono {t₁ t₂ : TopologicalSpace α} {a : α} (h : t₁ ≤ t₂)
   (gc_nhds a).monotone_u h
 #align nhds_mono nhds_mono
 
-theorem le_iff_nhds {α : Type _} (t t' : TopologicalSpace α) :
+theorem le_iff_nhds {α : Type*} (t t' : TopologicalSpace α) :
     t ≤ t' ↔ ∀ x, @nhds α t x ≤ @nhds α t' x :=
   ⟨fun h _ => nhds_mono h, le_of_nhds_le_nhds⟩
 #align le_iff_nhds le_iff_nhds
 
-theorem nhdsAdjoint_nhds {α : Type _} (a : α) (f : Filter α) :
+theorem nhdsAdjoint_nhds {α : Type*} (a : α) (f : Filter α) :
     @nhds α (nhdsAdjoint a f) a = pure a ⊔ f := by
   letI := nhdsAdjoint a f
   ext U
@@ -626,7 +626,7 @@ theorem nhdsAdjoint_nhds {α : Type _} (a : α) (f : Filter α) :
     exact ⟨U, Subset.rfl, fun _ => hU, haU⟩
 #align nhds_adjoint_nhds nhdsAdjoint_nhds
 
-theorem nhdsAdjoint_nhds_of_ne {α : Type _} (a : α) (f : Filter α) {b : α} (h : b ≠ a) :
+theorem nhdsAdjoint_nhds_of_ne {α : Type*} (a : α) (f : Filter α) {b : α} (h : b ≠ a) :
     @nhds α (nhdsAdjoint a f) b = pure b := by
   letI := nhdsAdjoint a f
   apply le_antisymm
@@ -638,14 +638,14 @@ theorem nhdsAdjoint_nhds_of_ne {α : Type _} (a : α) (f : Filter α) {b : α} (
   · exact @pure_le_nhds α (nhdsAdjoint a f) b
 #align nhds_adjoint_nhds_of_ne nhdsAdjoint_nhds_of_ne
 
-theorem isOpen_singleton_nhdsAdjoint {α : Type _} {a b : α} (f : Filter α) (hb : b ≠ a) :
+theorem isOpen_singleton_nhdsAdjoint {α : Type*} {a b : α} (f : Filter α) (hb : b ≠ a) :
     IsOpen[nhdsAdjoint a f] {b} := by
   letI := nhdsAdjoint a f
   rw [isOpen_singleton_iff_nhds_eq_pure]
   exact nhdsAdjoint_nhds_of_ne a f hb
 #align is_open_singleton_nhds_adjoint isOpen_singleton_nhdsAdjoint
 
-theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
+theorem le_nhdsAdjoint_iff' {α : Type*} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ b, b ≠ a → @nhds α t b = pure b := by
   rw [le_iff_nhds]
   constructor
@@ -663,7 +663,7 @@ theorem le_nhdsAdjoint_iff' {α : Type _} (a : α) (f : Filter α) (t : Topologi
     · simp [nhdsAdjoint_nhds_of_ne a f hb, h' b hb]
 #align le_nhds_adjoint_iff' le_nhdsAdjoint_iff'
 
-theorem le_nhdsAdjoint_iff {α : Type _} (a : α) (f : Filter α) (t : TopologicalSpace α) :
+theorem le_nhdsAdjoint_iff {α : Type*} (a : α) (f : Filter α) (t : TopologicalSpace α) :
     t ≤ nhdsAdjoint a f ↔ @nhds α t a ≤ pure a ⊔ f ∧ ∀ b, b ≠ a → IsOpen[t] {b} := by
   change _ ↔ _ ∧ ∀ b : α, b ≠ a → IsOpen {b}
   rw [le_nhdsAdjoint_iff', and_congr_right_iff]
@@ -671,7 +671,7 @@ theorem le_nhdsAdjoint_iff {α : Type _} (a : α) (f : Filter α) (t : Topologic
   rw [@isOpen_singleton_iff_nhds_eq_pure α t b]
 #align le_nhds_adjoint_iff le_nhdsAdjoint_iff
 
-theorem nhds_iInf {ι : Sort _} {t : ι → TopologicalSpace α} {a : α} :
+theorem nhds_iInf {ι : Sort*} {t : ι → TopologicalSpace α} {a : α} :
     @nhds α (iInf t) a = ⨅ i, @nhds α (t i) a :=
   (gc_nhds a).u_iInf
 #align nhds_infi nhds_iInf
@@ -698,7 +698,7 @@ theorem isOpen_sup {t₁ t₂ : TopologicalSpace α} {s : Set α} :
 
 open TopologicalSpace
 
-variable {γ : Type _} {f : α → β} {ι : Sort _}
+variable {γ : Type*} {f : α → β} {ι : Sort*}
 
 theorem continuous_iff_coinduced_le {t₁ : TopologicalSpace α} {t₂ : TopologicalSpace β} :
     Continuous[t₁, t₂] f ↔ coinduced f t₁ ≤ t₂ :=
@@ -873,7 +873,7 @@ section Induced
 
 open TopologicalSpace
 
-variable {α : Type _} {β : Type _}
+variable {α : Type*} {β : Type*}
 
 variable [t : TopologicalSpace β] {f : α → β}
 
@@ -910,7 +910,7 @@ end Induced
 
 section Sierpinski
 
-variable {α : Type _} [TopologicalSpace α]
+variable {α : Type*} [TopologicalSpace α]
 
 @[simp]
 theorem isOpen_singleton_true : IsOpen ({True} : Set Prop) :=
chore: tidy various files (#6174)
Diff
@@ -81,11 +81,11 @@ theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
   rw [nhds_def]
   refine le_antisymm (biInf_mono fun s ⟨as, sg⟩ => ⟨as, .basic _ sg⟩) ?_
   refine le_iInf₂ fun s ⟨ha, hs⟩ => ?_; clear ‹s ∈ { s | a ∈ s ∧ IsOpen s }›
-  induction hs
-  case basic hs => exact iInf₂_le _ ⟨ha, hs⟩
-  case univ => exact le_top.trans_eq principal_univ.symm
-  case inter hs ht => exact (le_inf (hs ha.1) (ht ha.2)).trans_eq inf_principal
-  case sUnion _S hS =>
+  induction hs with
+  | basic _ hs => exact iInf₂_le _ ⟨ha, hs⟩
+  | univ => exact le_top.trans_eq principal_univ.symm
+  | inter _ _ _ _ hs ht => exact (le_inf (hs ha.1) (ht ha.2)).trans_eq inf_principal
+  | sUnion _ _ hS =>
     let ⟨t, htS, hat⟩ := ha
     exact (hS t htS hat).trans (principal_mono.2 <| subset_sUnion_of_mem htS)
 #align topological_space.nhds_generate_from TopologicalSpace.nhds_generateFrom
@@ -255,12 +255,12 @@ theorem isOpen_implies_isOpen_iff : (∀ s, IsOpen[t₁] s → IsOpen[t₂] s) 
 /-- The only open sets in the indiscrete topology are the empty set and the whole space. -/
 theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : IsOpen[⊤] U ↔ U = ∅ ∨ U = univ :=
   ⟨fun h => by
-    induction h
-    case basic h => exact False.elim h
-    case univ => exact .inr rfl
-    case inter h₁ h₂ =>
+    induction h with
+    | basic _ h => exact False.elim h
+    | univ => exact .inr rfl
+    | inter _ _ _ _ h₁ h₂ =>
       rcases h₁ with (rfl | rfl) <;> rcases h₂ with (rfl | rfl) <;> simp
-    case sUnion _ ih => exact sUnion_mem_empty_univ ih, by
+    | sUnion _ _ ih => exact sUnion_mem_empty_univ ih, by
       rintro (rfl | rfl)
       exacts [@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
 #align topological_space.is_open_top_iff TopologicalSpace.isOpen_top_iff
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) 2017 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro
-
-! This file was ported from Lean 3 source module topology.order
-! leanprover-community/mathlib commit bcfa726826abd57587355b4b5b7e78ad6527b7e4
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.Basic
 
+#align_import topology.order from "leanprover-community/mathlib"@"bcfa726826abd57587355b4b5b7e78ad6527b7e4"
+
 /-!
 # Ordering on topologies and (co)induced topologies
 
feat: add lemmas about discrete topology (#5777)
  • Use section variables.
  • Add closure_discrete, dense_discrete, denseRange_discrete, and discreteTopology_iff_forall_isClosed.
Diff
@@ -279,19 +279,27 @@ theorem discreteTopology_bot (α : Type _) : @DiscreteTopology α ⊥ :=
   @DiscreteTopology.mk α ⊥ rfl
 #align discrete_topology_bot discreteTopology_bot
 
+section DiscreteTopology
+
+variable [TopologicalSpace α] [DiscreteTopology α]
+
 @[simp]
-theorem isOpen_discrete [TopologicalSpace α] [DiscreteTopology α] (s : Set α) : IsOpen s :=
-  (@DiscreteTopology.eq_bot α _).symm ▸ trivial
+theorem isOpen_discrete (s : Set α) : IsOpen s := (@DiscreteTopology.eq_bot α _).symm ▸ trivial
 #align is_open_discrete isOpen_discrete
 
-@[simp]
-theorem isClosed_discrete [TopologicalSpace α] [DiscreteTopology α] (s : Set α) : IsClosed s :=
-  ⟨isOpen_discrete _⟩
+@[simp] theorem isClosed_discrete (s : Set α) : IsClosed s := ⟨isOpen_discrete _⟩
 #align is_closed_discrete isClosed_discrete
 
+@[simp] theorem closure_discrete (s : Set α) : closure s = s := (isClosed_discrete _).closure_eq
+
+@[simp] theorem dense_discrete {s : Set α} : Dense s ↔ s = univ := by simp [dense_iff_closure_eq]
+
+@[simp]
+theorem denseRange_discrete {f : ι → α} : DenseRange f ↔ Surjective f := by
+  rw [DenseRange, dense_discrete, range_iff_surjective]
+
 @[nontriviality, continuity]
-theorem continuous_of_discreteTopology [TopologicalSpace α] [DiscreteTopology α]
-    [TopologicalSpace β] {f : α → β} : Continuous f :=
+theorem continuous_of_discreteTopology [TopologicalSpace β] {f : α → β} : Continuous f :=
   continuous_def.2 fun _ _ => isOpen_discrete _
 #align continuous_of_discrete_topology continuous_of_discreteTopology
 
@@ -300,10 +308,12 @@ theorem nhds_discrete (α : Type _) [TopologicalSpace α] [DiscreteTopology α]
   le_antisymm (fun _ s hs => (isOpen_discrete s).mem_nhds hs) pure_le_nhds
 #align nhds_discrete nhds_discrete
 
-theorem mem_nhds_discrete [TopologicalSpace α] [DiscreteTopology α] {x : α} {s : Set α} :
+theorem mem_nhds_discrete {x : α} {s : Set α} :
     s ∈ 𝓝 x ↔ x ∈ s := by rw [nhds_discrete, mem_pure]
 #align mem_nhds_discrete mem_nhds_discrete
 
+end DiscreteTopology
+
 theorem le_of_nhds_le_nhds (h : ∀ x, @nhds α t₁ x ≤ @nhds α t₂ x) : t₁ ≤ t₂ := fun s => by
   rw [@isOpen_iff_mem_nhds _ t₁, @isOpen_iff_mem_nhds α t₂]
   exact fun hs a ha => h _ (hs _ ha)
@@ -323,6 +333,11 @@ theorem forall_open_iff_discrete {X : Type _} [TopologicalSpace X] :
   ⟨fun h => ⟨eq_bot_of_singletons_open fun _ => h _⟩, @isOpen_discrete _ _⟩
 #align forall_open_iff_discrete forall_open_iff_discrete
 
+theorem discreteTopology_iff_forall_isClosed [TopologicalSpace α] :
+    DiscreteTopology α ↔ ∀ s : Set α, IsClosed s :=
+  forall_open_iff_discrete.symm.trans <| compl_surjective.forall.trans <| forall_congr' fun _ ↦
+    isOpen_compl_iff
+
 theorem singletons_open_iff_discrete {X : Type _} [TopologicalSpace X] :
     (∀ a : X, IsOpen ({a} : Set X)) ↔ DiscreteTopology X :=
   ⟨fun h => ⟨eq_bot_of_singletons_open h⟩, fun a _ => @isOpen_discrete _ _ a _⟩
feat(topology/order): Add closure.mono (#5631)

Adds closure.mono which asserts that if t₁ ≤ t₂ for topologies t₁, t₂, then the closure of a set in t₁ will be a subset of the closure of the set in t₂. Analogous to IsOpen.mono and IsClosed.mono. Also adds closure[t₁] notation to specify the topology to use.

Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>

Diff
@@ -248,6 +248,9 @@ theorem IsClosed.mono (hs : IsClosed[t₂] s) (h : t₁ ≤ t₂) : IsClosed[t
   (@isOpen_compl_iff α t₁ s).mp <| hs.isOpen_compl.mono h
 #align is_closed.mono IsClosed.mono
 
+theorem closure.mono (h : t₁ ≤ t₂) : closure[t₁] s ⊆ closure[t₂] s :=
+  @closure_minimal _ t₁ s (@closure _ t₂ s) subset_closure (IsClosed.mono isClosed_closure h)
+
 theorem isOpen_implies_isOpen_iff : (∀ s, IsOpen[t₁] s → IsOpen[t₂] s) ↔ t₂ ≤ t₁ :=
   Iff.rfl
 #align is_open_implies_is_open_iff isOpen_implies_isOpen_iff
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -133,7 +133,7 @@ theorem nhds_mkOfNhds_single [DecidableEq α] {a₀ : α} {l : Filter α} (h : p
     · exact hs
     · rwa [update_noteq hb]
   · have hs' := hs
-    rw [update_noteq ha] at hs⊢
+    rw [update_noteq ha] at hs ⊢
     exact ⟨{a}, rfl, singleton_subset_iff.mpr hs, forall_eq.2 hs'⟩
 #align topological_space.nhds_mk_of_nhds_single TopologicalSpace.nhds_mkOfNhds_single
 
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
@@ -62,7 +62,7 @@ inductive GenerateOpen (g : Set (Set α)) : Set α → Prop
   | basic : ∀ s ∈ g, GenerateOpen g s
   | univ : GenerateOpen g univ
   | inter : ∀ s t, GenerateOpen g s → GenerateOpen g t → GenerateOpen g (s ∩ t)
-  | unionₛ : ∀ S : Set (Set α), (∀ s ∈ S, GenerateOpen g s) → GenerateOpen g (⋃₀ S)
+  | sUnion : ∀ S : Set (Set α), (∀ s ∈ S, GenerateOpen g s) → GenerateOpen g (⋃₀ S)
 #align topological_space.generate_open TopologicalSpace.GenerateOpen
 
 /-- The smallest topological space containing the collection `g` of basic sets -/
@@ -70,7 +70,7 @@ def generateFrom (g : Set (Set α)) : TopologicalSpace α where
   IsOpen := GenerateOpen g
   isOpen_univ := GenerateOpen.univ
   isOpen_inter := GenerateOpen.inter
-  isOpen_unionₛ := GenerateOpen.unionₛ
+  isOpen_sUnion := GenerateOpen.sUnion
 #align topological_space.generate_from TopologicalSpace.generateFrom
 
 theorem isOpen_generateFrom_of_mem {g : Set (Set α)} {s : Set α} (hs : s ∈ g) :
@@ -82,21 +82,21 @@ theorem nhds_generateFrom {g : Set (Set α)} {a : α} :
     @nhds α (generateFrom g) a = ⨅ s ∈ { s | a ∈ s ∧ s ∈ g }, 𝓟 s := by
   letI := generateFrom g
   rw [nhds_def]
-  refine le_antisymm (binfᵢ_mono fun s ⟨as, sg⟩ => ⟨as, .basic _ sg⟩) ?_
-  refine le_infᵢ₂ fun s ⟨ha, hs⟩ => ?_; clear ‹s ∈ { s | a ∈ s ∧ IsOpen s }›
+  refine le_antisymm (biInf_mono fun s ⟨as, sg⟩ => ⟨as, .basic _ sg⟩) ?_
+  refine le_iInf₂ fun s ⟨ha, hs⟩ => ?_; clear ‹s ∈ { s | a ∈ s ∧ IsOpen s }›
   induction hs
-  case basic hs => exact infᵢ₂_le _ ⟨ha, hs⟩
+  case basic hs => exact iInf₂_le _ ⟨ha, hs⟩
   case univ => exact le_top.trans_eq principal_univ.symm
   case inter hs ht => exact (le_inf (hs ha.1) (ht ha.2)).trans_eq inf_principal
-  case unionₛ _S hS =>
+  case sUnion _S hS =>
     let ⟨t, htS, hat⟩ := ha
-    exact (hS t htS hat).trans (principal_mono.2 <| subset_unionₛ_of_mem htS)
+    exact (hS t htS hat).trans (principal_mono.2 <| subset_sUnion_of_mem htS)
 #align topological_space.nhds_generate_from TopologicalSpace.nhds_generateFrom
 
 theorem tendsto_nhds_generateFrom {β : Type _} {m : α → β} {f : Filter α} {g : Set (Set β)} {b : β}
     (h : ∀ s ∈ g, b ∈ s → m ⁻¹' s ∈ f) : Tendsto m f (@nhds β (generateFrom g) b) := by
   rw [nhds_generateFrom]
-  exact tendsto_infᵢ.2 fun s => tendsto_infᵢ.2 fun ⟨hbs, hsg⟩ => tendsto_principal.2 <| h s hsg hbs
+  exact tendsto_iInf.2 fun s => tendsto_iInf.2 fun ⟨hbs, hsg⟩ => tendsto_principal.2 <| h s hsg hbs
 #align topological_space.tendsto_nhds_generate_from TopologicalSpace.tendsto_nhds_generateFrom
 
 /-- Construct a topology on α given the filter of neighborhoods of each point of α. -/
@@ -104,8 +104,8 @@ protected def mkOfNhds (n : α → Filter α) : TopologicalSpace α where
   IsOpen s := ∀ a ∈ s, s ∈ n a
   isOpen_univ _ _ := univ_mem
   isOpen_inter := fun _s _t hs ht x ⟨hxs, hxt⟩ => inter_mem (hs x hxs) (ht x hxt)
-  isOpen_unionₛ := fun _s hs _a ⟨x, hx, hxa⟩ =>
-    mem_of_superset (hs x hx _ hxa) (subset_unionₛ_of_mem hx)
+  isOpen_sUnion := fun _s hs _a ⟨x, hx, hxa⟩ =>
+    mem_of_superset (hs x hx _ hxa) (subset_sUnion_of_mem hx)
 #align topological_space.mk_of_nhds TopologicalSpace.mkOfNhds
 
 theorem nhds_mkOfNhds (n : α → Filter α) (a : α) (h₀ : pure ≤ n)
@@ -167,7 +167,7 @@ protected theorem le_def {α} {t s : TopologicalSpace α} : t ≤ s ↔ IsOpen[s
 theorem le_generateFrom_iff_subset_isOpen {g : Set (Set α)} {t : TopologicalSpace α} :
     t ≤ generateFrom g ↔ g ⊆ { s | IsOpen[t] s } :=
   ⟨fun ht s hs => ht _ <| .basic s hs, fun hg _s hs =>
-    hs.recOn (fun _ h => hg h) isOpen_univ (fun _ _ _ _ => IsOpen.inter) fun _ _ => isOpen_unionₛ⟩
+    hs.recOn (fun _ h => hg h) isOpen_univ (fun _ _ _ _ => IsOpen.inter) fun _ _ => isOpen_sUnion⟩
 #align topological_space.le_generate_from_iff_subset_is_open TopologicalSpace.le_generateFrom_iff_subset_isOpen
 
 /-- If `s` equals the collection of open sets in the topology it generates, then `s` defines a
@@ -177,7 +177,7 @@ protected def mkOfClosure (s : Set (Set α)) (hs : { u | GenerateOpen s u } = s)
   IsOpen u := u ∈ s
   isOpen_univ := hs ▸ TopologicalSpace.GenerateOpen.univ
   isOpen_inter := hs ▸ TopologicalSpace.GenerateOpen.inter
-  isOpen_unionₛ := hs ▸ TopologicalSpace.GenerateOpen.unionₛ
+  isOpen_sUnion := hs ▸ TopologicalSpace.GenerateOpen.sUnion
 #align topological_space.mk_of_closure TopologicalSpace.mkOfClosure
 
 theorem mkOfClosure_sets {s : Set (Set α)} {hs : { u | GenerateOpen s u } = s} :
@@ -260,7 +260,7 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : IsOpen[⊤] U ↔ U
     case univ => exact .inr rfl
     case inter h₁ h₂ =>
       rcases h₁ with (rfl | rfl) <;> rcases h₂ with (rfl | rfl) <;> simp
-    case unionₛ _ ih => exact unionₛ_mem_empty_univ ih, by
+    case sUnion _ ih => exact sUnion_mem_empty_univ ih, by
       rintro (rfl | rfl)
       exacts [@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
 #align topological_space.is_open_top_iff TopologicalSpace.isOpen_top_iff
@@ -312,7 +312,7 @@ theorem eq_of_nhds_eq_nhds (h : ∀ x, @nhds α t₁ x = @nhds α t₂ x) : t₁
 #align eq_of_nhds_eq_nhds eq_of_nhds_eq_nhds
 
 theorem eq_bot_of_singletons_open {t : TopologicalSpace α} (h : ∀ x, IsOpen[t] {x}) : t = ⊥ :=
-  bot_unique fun s _ => bunionᵢ_of_singleton s ▸ isOpen_bunionᵢ fun x _ => h x
+  bot_unique fun s _ => biUnion_of_singleton s ▸ isOpen_biUnion fun x _ => h x
 #align eq_bot_of_singletons_open eq_bot_of_singletons_open
 
 theorem forall_open_iff_discrete {X : Type _} [TopologicalSpace X] :
@@ -358,11 +358,11 @@ def TopologicalSpace.induced {α : Type u} {β : Type v} (f : α → β) (t : To
   isOpen_inter := by
     rintro s₁ s₂ ⟨s'₁, hs₁, rfl⟩ ⟨s'₂, hs₂, rfl⟩
     exact ⟨s'₁ ∩ s'₂, hs₁.inter hs₂, preimage_inter⟩
-  isOpen_unionₛ S h := by
+  isOpen_sUnion S h := by
     choose! g hgo hfg using h
-    refine ⟨⋃ s ∈ S, g s, isOpen_bunionᵢ fun s hs => hgo s hs, ?_⟩
-    rw [preimage_unionᵢ₂, unionₛ_eq_bunionᵢ]
-    exact unionᵢ₂_congr hfg
+    refine ⟨⋃ s ∈ S, g s, isOpen_biUnion fun s hs => hgo s hs, ?_⟩
+    rw [preimage_iUnion₂, sUnion_eq_biUnion]
+    exact iUnion₂_congr hfg
 #align topological_space.induced TopologicalSpace.induced
 
 theorem isOpen_induced_iff [t : TopologicalSpace β] {s : Set α} {f : α → β} :
@@ -385,7 +385,7 @@ def TopologicalSpace.coinduced {α : Type u} {β : Type v} (f : α → β) (t :
   IsOpen s := IsOpen[t] (f ⁻¹' s)
   isOpen_univ := t.isOpen_univ
   isOpen_inter s₁ s₂ h₁ h₂ := h₁.inter h₂
-  isOpen_unionₛ s h := by simpa only [preimage_unionₛ] using isOpen_bunionᵢ h
+  isOpen_sUnion s h := by simpa only [preimage_sUnion] using isOpen_biUnion h
 #align topological_space.coinduced TopologicalSpace.coinduced
 
 theorem isOpen_coinduced {t : TopologicalSpace α} {s : Set β} {f : α → β} :
@@ -439,10 +439,10 @@ theorem induced_inf : (t₁ ⊓ t₂).induced g = t₁.induced g ⊓ t₂.induce
 #align induced_inf induced_inf
 
 @[simp]
-theorem induced_infᵢ {ι : Sort w} {t : ι → TopologicalSpace α} :
+theorem induced_iInf {ι : Sort w} {t : ι → TopologicalSpace α} :
     (⨅ i, t i).induced g = ⨅ i, (t i).induced g :=
-  (gc_coinduced_induced g).u_infᵢ
-#align induced_infi induced_infᵢ
+  (gc_coinduced_induced g).u_iInf
+#align induced_infi induced_iInf
 
 @[simp]
 theorem coinduced_bot : (⊥ : TopologicalSpace α).coinduced f = ⊥ :=
@@ -455,10 +455,10 @@ theorem coinduced_sup : (t₁ ⊔ t₂).coinduced f = t₁.coinduced f ⊔ t₂.
 #align coinduced_sup coinduced_sup
 
 @[simp]
-theorem coinduced_supᵢ {ι : Sort w} {t : ι → TopologicalSpace α} :
+theorem coinduced_iSup {ι : Sort w} {t : ι → TopologicalSpace α} :
     (⨆ i, t i).coinduced f = ⨆ i, (t i).coinduced f :=
-  (gc_coinduced_induced f).l_supᵢ
-#align coinduced_supr coinduced_supᵢ
+  (gc_coinduced_induced f).l_iSup
+#align coinduced_supr coinduced_iSup
 
 theorem induced_id [t : TopologicalSpace α] : t.induced id = t :=
   topologicalSpace_eq <|
@@ -581,7 +581,7 @@ def nhdsAdjoint (a : α) (f : Filter α) : TopologicalSpace α where
   IsOpen s := a ∈ s → s ∈ f
   isOpen_univ _ := univ_mem
   isOpen_inter := fun _s _t hs ht ⟨has, hat⟩ => inter_mem (hs has) (ht hat)
-  isOpen_unionₛ := fun _k hk ⟨u, hu, hau⟩ => mem_of_superset (hk u hu hau) (subset_unionₛ_of_mem hu)
+  isOpen_sUnion := fun _k hk ⟨u, hu, hau⟩ => mem_of_superset (hk u hu hau) (subset_sUnion_of_mem hu)
 #align nhds_adjoint nhdsAdjoint
 
 theorem gc_nhds (a : α) : GaloisConnection (nhdsAdjoint a) fun t => @nhds α t a := fun f t => by
@@ -656,15 +656,15 @@ theorem le_nhdsAdjoint_iff {α : Type _} (a : α) (f : Filter α) (t : Topologic
   rw [@isOpen_singleton_iff_nhds_eq_pure α t b]
 #align le_nhds_adjoint_iff le_nhdsAdjoint_iff
 
-theorem nhds_infᵢ {ι : Sort _} {t : ι → TopologicalSpace α} {a : α} :
-    @nhds α (infᵢ t) a = ⨅ i, @nhds α (t i) a :=
-  (gc_nhds a).u_infᵢ
-#align nhds_infi nhds_infᵢ
+theorem nhds_iInf {ι : Sort _} {t : ι → TopologicalSpace α} {a : α} :
+    @nhds α (iInf t) a = ⨅ i, @nhds α (t i) a :=
+  (gc_nhds a).u_iInf
+#align nhds_infi nhds_iInf
 
-theorem nhds_infₛ {s : Set (TopologicalSpace α)} {a : α} :
-    @nhds α (infₛ s) a = ⨅ t ∈ s, @nhds α t a :=
-  (gc_nhds a).u_infₛ
-#align nhds_Inf nhds_infₛ
+theorem nhds_sInf {s : Set (TopologicalSpace α)} {a : α} :
+    @nhds α (sInf s) a = ⨅ t ∈ s, @nhds α t a :=
+  (gc_nhds a).u_sInf
+#align nhds_Inf nhds_sInf
 
 -- porting note: todo: timeouts without `b₁ := t₁`
 theorem nhds_inf {t₁ t₂ : TopologicalSpace α} {a : α} :
@@ -748,26 +748,26 @@ theorem continuous_sup_rng_right {t₁ : TopologicalSpace α} {t₃ t₂ : Topol
   continuous_le_rng le_sup_right
 #align continuous_sup_rng_right continuous_sup_rng_right
 
-theorem continuous_supₛ_dom {T : Set (TopologicalSpace α)} {t₂ : TopologicalSpace β} :
-    Continuous[supₛ T, t₂] f ↔ ∀ t ∈ T, Continuous[t, t₂] f := by
-  simp only [continuous_iff_le_induced, supₛ_le_iff]
-#align continuous_Sup_dom continuous_supₛ_dom
+theorem continuous_sSup_dom {T : Set (TopologicalSpace α)} {t₂ : TopologicalSpace β} :
+    Continuous[sSup T, t₂] f ↔ ∀ t ∈ T, Continuous[t, t₂] f := by
+  simp only [continuous_iff_le_induced, sSup_le_iff]
+#align continuous_Sup_dom continuous_sSup_dom
 
-theorem continuous_supₛ_rng {t₁ : TopologicalSpace α} {t₂ : Set (TopologicalSpace β)}
+theorem continuous_sSup_rng {t₁ : TopologicalSpace α} {t₂ : Set (TopologicalSpace β)}
     {t : TopologicalSpace β} (h₁ : t ∈ t₂) (hf : Continuous[t₁, t] f) :
-    Continuous[t₁, supₛ t₂] f :=
-  continuous_iff_coinduced_le.2 <| le_supₛ_of_le h₁ <| continuous_iff_coinduced_le.1 hf
-#align continuous_Sup_rng continuous_supₛ_rng
+    Continuous[t₁, sSup t₂] f :=
+  continuous_iff_coinduced_le.2 <| le_sSup_of_le h₁ <| continuous_iff_coinduced_le.1 hf
+#align continuous_Sup_rng continuous_sSup_rng
 
-theorem continuous_supᵢ_dom {t₁ : ι → TopologicalSpace α} {t₂ : TopologicalSpace β} :
-    Continuous[supᵢ t₁, t₂] f ↔ ∀ i, Continuous[t₁ i, t₂] f := by
-  simp only [continuous_iff_le_induced, supᵢ_le_iff]
-#align continuous_supr_dom continuous_supᵢ_dom
+theorem continuous_iSup_dom {t₁ : ι → TopologicalSpace α} {t₂ : TopologicalSpace β} :
+    Continuous[iSup t₁, t₂] f ↔ ∀ i, Continuous[t₁ i, t₂] f := by
+  simp only [continuous_iff_le_induced, iSup_le_iff]
+#align continuous_supr_dom continuous_iSup_dom
 
-theorem continuous_supᵢ_rng {t₁ : TopologicalSpace α} {t₂ : ι → TopologicalSpace β} {i : ι}
-    (h : Continuous[t₁, t₂ i] f) : Continuous[t₁, supᵢ t₂] f :=
-  continuous_supₛ_rng ⟨i, rfl⟩ h
-#align continuous_supr_rng continuous_supᵢ_rng
+theorem continuous_iSup_rng {t₁ : TopologicalSpace α} {t₂ : ι → TopologicalSpace β} {i : ι}
+    (h : Continuous[t₁, t₂ i] f) : Continuous[t₁, iSup t₂] f :=
+  continuous_sSup_rng ⟨i, rfl⟩ h
+#align continuous_supr_rng continuous_iSup_rng
 
 theorem continuous_inf_rng {t₁ : TopologicalSpace α} {t₂ t₃ : TopologicalSpace β} :
     Continuous[t₁, t₂ ⊓ t₃] f ↔ Continuous[t₁, t₂] f ∧ Continuous[t₁, t₃] f := by
@@ -784,26 +784,26 @@ theorem continuous_inf_dom_right {t₁ t₂ : TopologicalSpace α} {t₃ : Topol
   continuous_le_dom inf_le_right
 #align continuous_inf_dom_right continuous_inf_dom_right
 
-theorem continuous_infₛ_dom {t₁ : Set (TopologicalSpace α)} {t₂ : TopologicalSpace β}
+theorem continuous_sInf_dom {t₁ : Set (TopologicalSpace α)} {t₂ : TopologicalSpace β}
     {t : TopologicalSpace α} (h₁ : t ∈ t₁) :
-    Continuous[t, t₂] f → Continuous[infₛ t₁, t₂] f :=
-  continuous_le_dom <| infₛ_le h₁
-#align continuous_Inf_dom continuous_infₛ_dom
+    Continuous[t, t₂] f → Continuous[sInf t₁, t₂] f :=
+  continuous_le_dom <| sInf_le h₁
+#align continuous_Inf_dom continuous_sInf_dom
 
-theorem continuous_infₛ_rng {t₁ : TopologicalSpace α} {T : Set (TopologicalSpace β)} :
-    Continuous[t₁, infₛ T] f ↔ ∀ t ∈ T, Continuous[t₁, t] f := by
-  simp only [continuous_iff_coinduced_le, le_infₛ_iff]
-#align continuous_Inf_rng continuous_infₛ_rng
+theorem continuous_sInf_rng {t₁ : TopologicalSpace α} {T : Set (TopologicalSpace β)} :
+    Continuous[t₁, sInf T] f ↔ ∀ t ∈ T, Continuous[t₁, t] f := by
+  simp only [continuous_iff_coinduced_le, le_sInf_iff]
+#align continuous_Inf_rng continuous_sInf_rng
 
-theorem continuous_infᵢ_dom {t₁ : ι → TopologicalSpace α} {t₂ : TopologicalSpace β} {i : ι} :
-    Continuous[t₁ i, t₂] f → Continuous[infᵢ t₁, t₂] f :=
-  continuous_le_dom <| infᵢ_le _ _
-#align continuous_infi_dom continuous_infᵢ_dom
+theorem continuous_iInf_dom {t₁ : ι → TopologicalSpace α} {t₂ : TopologicalSpace β} {i : ι} :
+    Continuous[t₁ i, t₂] f → Continuous[iInf t₁, t₂] f :=
+  continuous_le_dom <| iInf_le _ _
+#align continuous_infi_dom continuous_iInf_dom
 
-theorem continuous_infᵢ_rng {t₁ : TopologicalSpace α} {t₂ : ι → TopologicalSpace β} :
-    Continuous[t₁, infᵢ t₂] f ↔ ∀ i, Continuous[t₁, t₂ i] f := by
-  simp only [continuous_iff_coinduced_le, le_infᵢ_iff]
-#align continuous_infi_rng continuous_infᵢ_rng
+theorem continuous_iInf_rng {t₁ : TopologicalSpace α} {t₂ : ι → TopologicalSpace β} :
+    Continuous[t₁, iInf t₂] f ↔ ∀ i, Continuous[t₁, t₂ i] f := by
+  simp only [continuous_iff_coinduced_le, le_iInf_iff]
+#align continuous_infi_rng continuous_iInf_rng
 
 @[continuity]
 theorem continuous_bot {t : TopologicalSpace β} : Continuous[⊥, t] f :=
@@ -929,7 +929,7 @@ theorem isOpen_iff_continuous_mem {s : Set α} : IsOpen s ↔ Continuous (· ∈
 
 end Sierpinski
 
-section infᵢ
+section iInf
 
 open TopologicalSpace
 
@@ -945,61 +945,61 @@ theorem setOf_isOpen_sup (t₁ t₂ : TopologicalSpace α) :
   rfl
 #align set_of_is_open_sup setOf_isOpen_sup
 
-theorem generateFrom_unionᵢ {f : ι → Set (Set α)} :
+theorem generateFrom_iUnion {f : ι → Set (Set α)} :
     generateFrom (⋃ i, f i) = ⨅ i, generateFrom (f i) :=
-  (gc_generateFrom α).u_infᵢ
-#align generate_from_Union generateFrom_unionᵢ
+  (gc_generateFrom α).u_iInf
+#align generate_from_Union generateFrom_iUnion
 
-theorem setOf_isOpen_supᵢ {t : ι → TopologicalSpace α} :
+theorem setOf_isOpen_iSup {t : ι → TopologicalSpace α} :
     { s | IsOpen[⨆ i, t i] s } = ⋂ i, { s | IsOpen[t i] s } :=
-  (gc_generateFrom α).l_supᵢ
-#align set_of_is_open_supr setOf_isOpen_supᵢ
+  (gc_generateFrom α).l_iSup
+#align set_of_is_open_supr setOf_isOpen_iSup
 
-theorem generateFrom_unionₛ {S : Set (Set (Set α))} :
+theorem generateFrom_sUnion {S : Set (Set (Set α))} :
     generateFrom (⋃₀ S) = ⨅ s ∈ S, generateFrom s :=
-  (gc_generateFrom α).u_infₛ
-#align generate_from_sUnion generateFrom_unionₛ
+  (gc_generateFrom α).u_sInf
+#align generate_from_sUnion generateFrom_sUnion
 
-theorem setOf_isOpen_supₛ {T : Set (TopologicalSpace α)} :
-    { s | IsOpen[supₛ T] s } = ⋂ t ∈ T, { s | IsOpen[t] s } :=
-  (gc_generateFrom α).l_supₛ
-#align set_of_is_open_Sup setOf_isOpen_supₛ
+theorem setOf_isOpen_sSup {T : Set (TopologicalSpace α)} :
+    { s | IsOpen[sSup T] s } = ⋂ t ∈ T, { s | IsOpen[t] s } :=
+  (gc_generateFrom α).l_sSup
+#align set_of_is_open_Sup setOf_isOpen_sSup
 
 theorem generateFrom_union_isOpen (a b : TopologicalSpace α) :
     generateFrom ({ s | IsOpen[a] s } ∪ { s | IsOpen[b] s }) = a ⊓ b :=
   (gciGenerateFrom α).u_inf_l _ _
 #align generate_from_union_is_open generateFrom_union_isOpen
 
-theorem generateFrom_unionᵢ_isOpen (f : ι → TopologicalSpace α) :
+theorem generateFrom_iUnion_isOpen (f : ι → TopologicalSpace α) :
     generateFrom (⋃ i, { s | IsOpen[f i] s }) = ⨅ i, f i :=
-  (gciGenerateFrom α).u_infᵢ_l _
-#align generate_from_Union_is_open generateFrom_unionᵢ_isOpen
+  (gciGenerateFrom α).u_iInf_l _
+#align generate_from_Union_is_open generateFrom_iUnion_isOpen
 
 theorem generateFrom_inter (a b : TopologicalSpace α) :
     generateFrom ({ s | IsOpen[a] s } ∩ { s | IsOpen[b] s }) = a ⊔ b :=
   (gciGenerateFrom α).u_sup_l _ _
 #align generate_from_inter generateFrom_inter
 
-theorem generateFrom_interᵢ (f : ι → TopologicalSpace α) :
+theorem generateFrom_iInter (f : ι → TopologicalSpace α) :
     generateFrom (⋂ i, { s | IsOpen[f i] s }) = ⨆ i, f i :=
-  (gciGenerateFrom α).u_supᵢ_l _
-#align generate_from_Inter generateFrom_interᵢ
+  (gciGenerateFrom α).u_iSup_l _
+#align generate_from_Inter generateFrom_iInter
 
-theorem generateFrom_interᵢ_of_generateFrom_eq_self (f : ι → Set (Set α))
+theorem generateFrom_iInter_of_generateFrom_eq_self (f : ι → Set (Set α))
     (hf : ∀ i, { s | IsOpen[generateFrom (f i)] s } = f i) :
     generateFrom (⋂ i, f i) = ⨆ i, generateFrom (f i) :=
-  (gciGenerateFrom α).u_supᵢ_of_lu_eq_self f hf
-#align generate_from_Inter_of_generate_from_eq_self generateFrom_interᵢ_of_generateFrom_eq_self
+  (gciGenerateFrom α).u_iSup_of_lu_eq_self f hf
+#align generate_from_Inter_of_generate_from_eq_self generateFrom_iInter_of_generateFrom_eq_self
 
 variable {t : ι → TopologicalSpace α}
 
-theorem isOpen_supᵢ_iff {s : Set α} : IsOpen[⨆ i, t i] s ↔ ∀ i, IsOpen[t i] s :=
-  show s ∈ {s | IsOpen[supᵢ t] s} ↔ s ∈ { x : Set α | ∀ i : ι, IsOpen[t i] x } by
-    simp [setOf_isOpen_supᵢ]
-#align is_open_supr_iff isOpen_supᵢ_iff
+theorem isOpen_iSup_iff {s : Set α} : IsOpen[⨆ i, t i] s ↔ ∀ i, IsOpen[t i] s :=
+  show s ∈ {s | IsOpen[iSup t] s} ↔ s ∈ { x : Set α | ∀ i : ι, IsOpen[t i] x } by
+    simp [setOf_isOpen_iSup]
+#align is_open_supr_iff isOpen_iSup_iff
 
-theorem isClosed_supᵢ_iff {s : Set α} : IsClosed[⨆ i, t i] s ↔ ∀ i, IsClosed[t i] s := by
-  simp [← @isOpen_compl_iff _ (⨆ i, t i), ← @isOpen_compl_iff _ (t _), isOpen_supᵢ_iff]
-#align is_closed_supr_iff isClosed_supᵢ_iff
+theorem isClosed_iSup_iff {s : Set α} : IsClosed[⨆ i, t i] s ↔ ∀ i, IsClosed[t i] s := by
+  simp [← @isOpen_compl_iff _ (⨆ i, t i), ← @isOpen_compl_iff _ (t _), isOpen_iSup_iff]
+#align is_closed_supr_iff isClosed_iSup_iff
 
-end infᵢ
+end iInf
chore: bye-bye, solo bys! (#3825)

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

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

Diff
@@ -260,8 +260,7 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : IsOpen[⊤] U ↔ U
     case univ => exact .inr rfl
     case inter h₁ h₂ =>
       rcases h₁ with (rfl | rfl) <;> rcases h₂ with (rfl | rfl) <;> simp
-    case unionₛ _ ih => exact unionₛ_mem_empty_univ ih,
-    by
+    case unionₛ _ ih => exact unionₛ_mem_empty_univ ih, by
       rintro (rfl | rfl)
       exacts [@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
 #align topological_space.is_open_top_iff TopologicalSpace.isOpen_top_iff
feat: port Topology.Sequences (#2604)
Diff
@@ -913,15 +913,18 @@ theorem nhds_false : 𝓝 False = ⊤ :=
   TopologicalSpace.nhds_generateFrom.trans <| by simp [@and_comm (_ ∈ _)]
 #align nhds_false nhds_false
 
-theorem continuous_Prop {p : α → Prop} : Continuous p ↔ IsOpen { x | p x } :=
-  ⟨fun h : Continuous p => by
-    have : IsOpen (p ⁻¹' {True}) := isOpen_singleton_true.preimage h
-    simpa [preimage] using this,
-   fun h : IsOpen { x | p x } =>
-    continuous_generateFrom fun s (hs : s = {True}) => by simp [hs, preimage, h]⟩
+theorem tendsto_nhds_true {l : Filter α} {p : α → Prop} :
+    Tendsto p l (𝓝 True) ↔ ∀ᶠ x in l, p x := by simp
+
+theorem tendsto_nhds_Prop {l : Filter α} {p : α → Prop} {q : Prop} :
+    Tendsto p l (𝓝 q) ↔ (q → ∀ᶠ x in l, p x) := by
+  by_cases q <;> simp [*]
+
+theorem continuous_Prop {p : α → Prop} : Continuous p ↔ IsOpen { x | p x } := by
+  simp only [continuous_iff_continuousAt, ContinuousAt, tendsto_nhds_Prop, isOpen_iff_mem_nhds]; rfl
 #align continuous_Prop continuous_Prop
 
-theorem isOpen_iff_continuous_mem {s : Set α} : IsOpen s ↔ Continuous fun x => x ∈ s :=
+theorem isOpen_iff_continuous_mem {s : Set α} : IsOpen s ↔ Continuous (· ∈ s) :=
   continuous_Prop.symm
 #align is_open_iff_continuous_mem isOpen_iff_continuous_mem
 
chore: Restore most of the mono attribute (#2491)

Restore most of the mono attribute now that #1740 is merged.

I think I got all of the monos.

Diff
@@ -209,7 +209,7 @@ def gciGenerateFrom (α : Type _) :
   topology whose open sets are those sets open in every member of the collection. -/
 instance : CompleteLattice (TopologicalSpace α) := (gciGenerateFrom α).liftCompleteLattice
 
--- porting note: todo: restore `@[mono]`
+@[mono]
 theorem generateFrom_anti {α} {g₁ g₂ : Set (Set α)} (h : g₁ ⊆ g₂) :
     generateFrom g₂ ≤ generateFrom g₁ :=
   (gc_generateFrom _).monotone_u h
chore: tidy various files (#2321)
Diff
@@ -379,7 +379,7 @@ theorem isClosed_induced_iff [t : TopologicalSpace β] {s : Set α} {f : α →
 #align is_closed_induced_iff isClosed_induced_iff
 
 /-- Given `f : α → β` and a topology on `α`, the coinduced topology on `β` is defined
-  such that `s:set β` is open if the preimage of `s` is open. This is the finest topology that
+  such that `s : Set β` is open if the preimage of `s` is open. This is the finest topology that
   makes `f` continuous. -/
 def TopologicalSpace.coinduced {α : Type u} {β : Type v} (f : α → β) (t : TopologicalSpace α) :
     TopologicalSpace β where
@@ -914,10 +914,10 @@ theorem nhds_false : 𝓝 False = ⊤ :=
 #align nhds_false nhds_false
 
 theorem continuous_Prop {p : α → Prop} : Continuous p ↔ IsOpen { x | p x } :=
-  ⟨fun h : Continuous p =>
-    by
+  ⟨fun h : Continuous p => by
     have : IsOpen (p ⁻¹' {True}) := isOpen_singleton_true.preimage h
-    simpa [preimage] using this, fun h : IsOpen { x | p x } =>
+    simpa [preimage] using this,
+   fun h : IsOpen { x | p x } =>
     continuous_generateFrom fun s (hs : s = {True}) => by simp [hs, preimage, h]⟩
 #align continuous_Prop continuous_Prop
 
feat: port continuity tactic (#2145)

We implement the continuity tactic using aesop, this makes it more robust and reduces the code to trivial macros.

Diff
@@ -287,7 +287,7 @@ theorem isClosed_discrete [TopologicalSpace α] [DiscreteTopology α] (s : Set 
   ⟨isOpen_discrete _⟩
 #align is_closed_discrete isClosed_discrete
 
-@[nontriviality] -- todo: add `continuity`
+@[nontriviality, continuity]
 theorem continuous_of_discreteTopology [TopologicalSpace α] [DiscreteTopology α]
     [TopologicalSpace β] {f : α → β} : Continuous f :=
   continuous_def.2 fun _ _ => isOpen_discrete _
@@ -702,7 +702,7 @@ theorem continuous_generateFrom {t : TopologicalSpace α} {b : Set (Set β)}
   continuous_iff_coinduced_le.2 <| le_generateFrom h
 #align continuous_generated_from continuous_generateFrom
 
--- porting note: todo: restore @[continuity]
+@[continuity]
 theorem continuous_induced_dom {t : TopologicalSpace β} : Continuous[induced f t, t] f :=
   continuous_iff_le_induced.2 le_rfl
 #align continuous_induced_dom continuous_induced_dom
@@ -806,12 +806,12 @@ theorem continuous_infᵢ_rng {t₁ : TopologicalSpace α} {t₂ : ι → Topolo
   simp only [continuous_iff_coinduced_le, le_infᵢ_iff]
 #align continuous_infi_rng continuous_infᵢ_rng
 
--- porting note: todo: restore @[continuity]
+@[continuity]
 theorem continuous_bot {t : TopologicalSpace β} : Continuous[⊥, t] f :=
   continuous_iff_le_induced.2 bot_le
 #align continuous_bot continuous_bot
 
--- porting note: todo: restore @[continuity]
+@[continuity]
 theorem continuous_top {t : TopologicalSpace α} : Continuous[t, ⊤] f :=
   continuous_iff_coinduced_le.2 le_top
 #align continuous_top continuous_top
feat: port MeasureTheory.MeasurableSpaceDef (#2108)
Diff
@@ -260,11 +260,7 @@ theorem TopologicalSpace.isOpen_top_iff {α} (U : Set α) : IsOpen[⊤] U ↔ U
     case univ => exact .inr rfl
     case inter h₁ h₂ =>
       rcases h₁ with (rfl | rfl) <;> rcases h₂ with (rfl | rfl) <;> simp
-    case unionₛ _ ih =>
-      simp only [unionₛ_eq_empty, or_iff_not_imp_left, not_forall, unionₛ_eq_univ_iff]
-      rintro ⟨U, hU, hne⟩ _
-      obtain rfl : U = univ; exact (ih U hU).resolve_left hne
-      exact ⟨_, hU, trivial⟩,
+    case unionₛ _ ih => exact unionₛ_mem_empty_univ ih,
     by
       rintro (rfl | rfl)
       exacts [@isOpen_empty _ ⊤, @isOpen_univ _ ⊤]⟩
feat: port Topology.Order (#1843)

Dependencies 7 + 283

284 files ported (97.6%)
121417 lines ported (97.5%)
Show graph

The unported dependencies are