data.analysis.topologyMathlib.Data.Analysis.Topology

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)

(last sync)

feat(topology/*): add lemmas about 𝓝[⋃ i, s i] a (#18321)
  • Add theorem nhds_within_eq_nhds, nhds_within_bUnion, nhds_within_sUnion, nhds_within_Union, nhds_within_inter_of_mem'.

  • Add locally_finite.nhds_within_Union, use it to golf locally_finite.is_closed_Union and locally_finite.closure_Union.

  • Reformulate continuous_subtype_nhds_cover in terms of continuous_on, rename to continuous_of_cover_nhds.

  • Reformulate continuous_subtype_is_closed_cover in terms of continuous_on, several versions are named locally_finite.continuous_on_Union, locally_finite.continuous, and primed versions of these lemmas.

  • Reorder imports.

Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -5,6 +5,7 @@ Authors: Mario Carneiro
 -/
 import data.analysis.filter
 import topology.bases
+import topology.locally_finite
 
 /-!
 # Computational realization of topological spaces (experimental)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -175,7 +175,7 @@ theorem isClosed_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
       forall_congr' fun a =>
         show (a ∉ s → ∃ b : F.σ, a ∈ F.f b ∧ ∀ z ∈ F.f b, z ∉ s) ↔ _ by
           haveI := Classical.propDecidable <;> rw [not_imp_comm] <;>
-            simp [not_exists, not_and, Classical.not_forall, and_comm']
+            simp [not_exists, not_and, Classical.not_forall, and_comm]
 #align ctop.realizer.is_closed_iff Ctop.Realizer.isClosed_iff
 -/
 
Diff
@@ -163,7 +163,7 @@ protected theorem mem_nhds [T : TopologicalSpace α] (F : Realizer α) {s : Set
 #print Ctop.Realizer.isOpen_iff /-
 theorem isOpen_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
     IsOpen s ↔ ∀ a ∈ s, ∃ b, a ∈ F.f b ∧ F.f b ⊆ s :=
-  isOpen_iff_mem_nhds.trans <| ball_congr fun a h => F.mem_nhds
+  isOpen_iff_mem_nhds.trans <| forall₂_congr fun a h => F.mem_nhds
 #align ctop.realizer.is_open_iff Ctop.Realizer.isOpen_iff
 -/
 
Diff
@@ -196,7 +196,7 @@ protected theorem isOpen [TopologicalSpace α] (F : Realizer α) (s : F.σ) : Is
 theorem ext' [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ}
     (H : ∀ a s, s ∈ 𝓝 a ↔ ∃ b, a ∈ F b ∧ F b ⊆ s) : F.toTopsp = T :=
   by
-  refine' eq_of_nhds_eq_nhds fun x => _
+  refine' TopologicalSpace.ext_nhds fun x => _
   ext s
   rw [mem_nhds_to_topsp, H]
 #align ctop.realizer.ext' Ctop.Realizer.ext'
Diff
@@ -150,13 +150,13 @@ namespace Ctop.Realizer
 #print Ctop.Realizer.is_basis /-
 protected theorem is_basis [T : TopologicalSpace α] (F : Realizer α) :
     TopologicalSpace.IsTopologicalBasis (Set.range F.f.f) := by
-  have := to_topsp_is_topological_basis F.F <;> rwa [F.eq] at this 
+  have := to_topsp_is_topological_basis F.F <;> rwa [F.eq] at this
 #align ctop.realizer.is_basis Ctop.Realizer.is_basis
 -/
 
 #print Ctop.Realizer.mem_nhds /-
 protected theorem mem_nhds [T : TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
-    s ∈ 𝓝 a ↔ ∃ b, a ∈ F.f b ∧ F.f b ⊆ s := by have := mem_nhds_to_topsp F.F <;> rwa [F.eq] at this 
+    s ∈ 𝓝 a ↔ ∃ b, a ∈ F.f b ∧ F.f b ⊆ s := by have := mem_nhds_to_topsp F.F <;> rwa [F.eq] at this
 #align ctop.realizer.mem_nhds Ctop.Realizer.mem_nhds
 -/
 
Diff
@@ -175,7 +175,7 @@ theorem isClosed_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
       forall_congr' fun a =>
         show (a ∉ s → ∃ b : F.σ, a ∈ F.f b ∧ ∀ z ∈ F.f b, z ∉ s) ↔ _ by
           haveI := Classical.propDecidable <;> rw [not_imp_comm] <;>
-            simp [not_exists, not_and, not_forall, and_comm']
+            simp [not_exists, not_and, Classical.not_forall, and_comm']
 #align ctop.realizer.is_closed_iff Ctop.Realizer.isClosed_iff
 -/
 
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro
 -/
-import Mathbin.Data.Analysis.Filter
-import Mathbin.Topology.Bases
-import Mathbin.Topology.LocallyFinite
+import Data.Analysis.Filter
+import Topology.Bases
+import Topology.LocallyFinite
 
 #align_import data.analysis.topology from "leanprover-community/mathlib"@"55d771df074d0dd020139ee1cd4b95521422df9f"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2017 Mario Carneiro. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro
-
-! This file was ported from Lean 3 source module data.analysis.topology
-! leanprover-community/mathlib commit 55d771df074d0dd020139ee1cd4b95521422df9f
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Data.Analysis.Filter
 import Mathbin.Topology.Bases
 import Mathbin.Topology.LocallyFinite
 
+#align_import data.analysis.topology from "leanprover-community/mathlib"@"55d771df074d0dd020139ee1cd4b95521422df9f"
+
 /-!
 # Computational realization of topological spaces (experimental)
 
Diff
@@ -68,10 +68,12 @@ variable (F : Ctop α σ)
 instance : CoeFun (Ctop α σ) fun _ => σ → Set α :=
   ⟨Ctop.f⟩
 
+#print Ctop.coe_mk /-
 @[simp]
 theorem coe_mk (f T h₁ I h₂ h₃ a) : (@Ctop.mk α σ f T h₁ I h₂ h₃) a = f a :=
   rfl
 #align ctop.coe_mk Ctop.coe_mk
+-/
 
 #print Ctop.ofEquiv /-
 /-- Map a ctop to an equivalent representation type. -/
@@ -86,10 +88,12 @@ def ofEquiv (E : σ ≃ τ) : Ctop α σ → Ctop α τ
 #align ctop.of_equiv Ctop.ofEquiv
 -/
 
+#print Ctop.ofEquiv_val /-
 @[simp]
 theorem ofEquiv_val (E : σ ≃ τ) (F : Ctop α σ) (a : τ) : F.of_equiv E a = F (E.symm a) := by
   cases F <;> rfl
 #align ctop.of_equiv_val Ctop.ofEquiv_val
+-/
 
 end
 
@@ -100,6 +104,7 @@ def toTopsp (F : Ctop α σ) : TopologicalSpace α :=
 #align ctop.to_topsp Ctop.toTopsp
 -/
 
+#print Ctop.toTopsp_isTopologicalBasis /-
 theorem toTopsp_isTopologicalBasis (F : Ctop α σ) :
     @TopologicalSpace.IsTopologicalBasis _ F.toTopsp (Set.range F.f) :=
   letI := F.to_topsp
@@ -107,7 +112,9 @@ theorem toTopsp_isTopologicalBasis (F : Ctop α σ) :
     e₁ ▸ e₂ ▸ fun x h => ⟨_, ⟨_, rfl⟩, F.inter_mem a b x h, F.inter_sub a b x h⟩,
     eq_univ_iff_forall.2 fun x => ⟨_, ⟨_, rfl⟩, F.top_mem x⟩, rfl⟩
 #align ctop.to_topsp_is_topological_basis Ctop.toTopsp_isTopologicalBasis
+-/
 
+#print Ctop.mem_nhds_toTopsp /-
 @[simp]
 theorem mem_nhds_toTopsp (F : Ctop α σ) {s : Set α} {a : α} :
     s ∈ @nhds _ F.toTopsp a ↔ ∃ b, a ∈ F b ∧ F b ⊆ s :=
@@ -115,6 +122,7 @@ theorem mem_nhds_toTopsp (F : Ctop α σ) {s : Set α} {a : α} :
         F.toTopsp_isTopologicalBasis).trans <|
     ⟨fun ⟨_, ⟨x, rfl⟩, h⟩ => ⟨x, h⟩, fun ⟨x, h⟩ => ⟨_, ⟨x, rfl⟩, h⟩⟩
 #align ctop.mem_nhds_to_topsp Ctop.mem_nhds_toTopsp
+-/
 
 end Ctop
 
@@ -142,20 +150,27 @@ instance (F : Ctop α σ) : Inhabited (@Ctop.Realizer _ F.toTopsp) :=
 
 namespace Ctop.Realizer
 
+#print Ctop.Realizer.is_basis /-
 protected theorem is_basis [T : TopologicalSpace α] (F : Realizer α) :
     TopologicalSpace.IsTopologicalBasis (Set.range F.f.f) := by
   have := to_topsp_is_topological_basis F.F <;> rwa [F.eq] at this 
 #align ctop.realizer.is_basis Ctop.Realizer.is_basis
+-/
 
+#print Ctop.Realizer.mem_nhds /-
 protected theorem mem_nhds [T : TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
     s ∈ 𝓝 a ↔ ∃ b, a ∈ F.f b ∧ F.f b ⊆ s := by have := mem_nhds_to_topsp F.F <;> rwa [F.eq] at this 
 #align ctop.realizer.mem_nhds Ctop.Realizer.mem_nhds
+-/
 
+#print Ctop.Realizer.isOpen_iff /-
 theorem isOpen_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
     IsOpen s ↔ ∀ a ∈ s, ∃ b, a ∈ F.f b ∧ F.f b ⊆ s :=
   isOpen_iff_mem_nhds.trans <| ball_congr fun a h => F.mem_nhds
 #align ctop.realizer.is_open_iff Ctop.Realizer.isOpen_iff
+-/
 
+#print Ctop.Realizer.isClosed_iff /-
 theorem isClosed_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
     IsClosed s ↔ ∀ a, (∀ b, a ∈ F.f b → ∃ z, z ∈ F.f b ∩ s) → a ∈ s :=
   isOpen_compl_iff.symm.trans <|
@@ -165,16 +180,22 @@ theorem isClosed_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
           haveI := Classical.propDecidable <;> rw [not_imp_comm] <;>
             simp [not_exists, not_and, not_forall, and_comm']
 #align ctop.realizer.is_closed_iff Ctop.Realizer.isClosed_iff
+-/
 
+#print Ctop.Realizer.mem_interior_iff /-
 theorem mem_interior_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
     a ∈ interior s ↔ ∃ b, a ∈ F.f b ∧ F.f b ⊆ s :=
   mem_interior_iff_mem_nhds.trans F.mem_nhds
 #align ctop.realizer.mem_interior_iff Ctop.Realizer.mem_interior_iff
+-/
 
+#print Ctop.Realizer.isOpen /-
 protected theorem isOpen [TopologicalSpace α] (F : Realizer α) (s : F.σ) : IsOpen (F.f s) :=
   isOpen_iff_nhds.2 fun a m => by simpa using F.mem_nhds.2 ⟨s, m, subset.refl _⟩
 #align ctop.realizer.is_open Ctop.Realizer.isOpen
+-/
 
+#print Ctop.Realizer.ext' /-
 theorem ext' [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ}
     (H : ∀ a s, s ∈ 𝓝 a ↔ ∃ b, a ∈ F b ∧ F b ⊆ s) : F.toTopsp = T :=
   by
@@ -182,11 +203,14 @@ theorem ext' [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ}
   ext s
   rw [mem_nhds_to_topsp, H]
 #align ctop.realizer.ext' Ctop.Realizer.ext'
+-/
 
+#print Ctop.Realizer.ext /-
 theorem ext [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ} (H₁ : ∀ a, IsOpen (F a))
     (H₂ : ∀ a s, s ∈ 𝓝 a → ∃ b, a ∈ F b ∧ F b ⊆ s) : F.toTopsp = T :=
   ext' fun a s => ⟨H₂ a s, fun ⟨b, h₁, h₂⟩ => mem_nhds_iff.2 ⟨_, h₂, H₁ _, h₁⟩⟩
 #align ctop.realizer.ext Ctop.Realizer.ext
+-/
 
 variable [TopologicalSpace α]
 
@@ -216,15 +240,19 @@ def ofEquiv (F : Realizer α) (E : F.σ ≃ τ) : Realizer α :=
 #align ctop.realizer.of_equiv Ctop.Realizer.ofEquiv
 -/
 
+#print Ctop.Realizer.ofEquiv_σ /-
 @[simp]
 theorem ofEquiv_σ (F : Realizer α) (E : F.σ ≃ τ) : (F.of_equiv E).σ = τ :=
   rfl
 #align ctop.realizer.of_equiv_σ Ctop.Realizer.ofEquiv_σ
+-/
 
+#print Ctop.Realizer.ofEquiv_F /-
 @[simp]
 theorem ofEquiv_F (F : Realizer α) (E : F.σ ≃ τ) (s : τ) : (F.of_equiv E).f s = F.f (E.symm s) := by
   delta of_equiv <;> simp
 #align ctop.realizer.of_equiv_F Ctop.Realizer.ofEquiv_F
+-/
 
 #print Ctop.Realizer.nhds /-
 /-- A realizer of the neighborhood of a point. -/
@@ -243,20 +271,26 @@ protected def nhds (F : Realizer α) (a : α) : (𝓝 a).Realizer :=
 #align ctop.realizer.nhds Ctop.Realizer.nhds
 -/
 
+#print Ctop.Realizer.nhds_σ /-
 @[simp]
 theorem nhds_σ (F : Realizer α) (a : α) : (F.nhds a).σ = { s : F.σ // a ∈ F.f s } :=
   rfl
 #align ctop.realizer.nhds_σ Ctop.Realizer.nhds_σ
+-/
 
+#print Ctop.Realizer.nhds_F /-
 @[simp]
 theorem nhds_F (F : Realizer α) (a : α) (s) : (F.nhds a).f s = F.f s.1 :=
   rfl
 #align ctop.realizer.nhds_F Ctop.Realizer.nhds_F
+-/
 
+#print Ctop.Realizer.tendsto_nhds_iff /-
 theorem tendsto_nhds_iff {m : β → α} {f : Filter β} (F : f.Realizer) (R : Realizer α) {a : α} :
     Tendsto m f (𝓝 a) ↔ ∀ t, a ∈ R.f t → ∃ s, ∀ x ∈ F.f s, m x ∈ R.f t :=
   (F.tendsto_iffₓ _ (R.nhds a)).trans Subtype.forall
 #align ctop.realizer.tendsto_nhds_iff Ctop.Realizer.tendsto_nhds_iff
+-/
 
 end Ctop.Realizer
 
@@ -270,11 +304,14 @@ structure LocallyFinite.Realizer [TopologicalSpace α] (F : Realizer α) (f : β
 #align locally_finite.realizer LocallyFinite.Realizer
 -/
 
+#print LocallyFinite.Realizer.to_locallyFinite /-
 theorem LocallyFinite.Realizer.to_locallyFinite [TopologicalSpace α] {F : Realizer α}
     {f : β → Set α} (R : LocallyFinite.Realizer F f) : LocallyFinite f := fun a =>
   ⟨_, F.mem_nhds.2 ⟨(R.bas a).1, (R.bas a).2, Subset.refl _⟩, ⟨R.sets a⟩⟩
 #align locally_finite.realizer.to_locally_finite LocallyFinite.Realizer.to_locallyFinite
+-/
 
+#print locallyFinite_iff_exists_realizer /-
 theorem locallyFinite_iff_exists_realizer [TopologicalSpace α] (F : Realizer α) {f : β → Set α} :
     LocallyFinite f ↔ Nonempty (LocallyFinite.Realizer F f) :=
   ⟨fun h =>
@@ -290,6 +327,7 @@ theorem locallyFinite_iff_exists_realizer [TopologicalSpace α] (F : Realizer α
           h'.Subset fun i hi => hi.mono (inter_subset_inter_right _ (h₂ x).2)⟩⟩,
     fun ⟨R⟩ => R.to_locallyFinite⟩
 #align locally_finite_iff_exists_realizer locallyFinite_iff_exists_realizer
+-/
 
 instance [TopologicalSpace α] [Finite β] (F : Realizer α) (f : β → Set α) :
     Nonempty (LocallyFinite.Realizer F f) :=
Diff
@@ -266,7 +266,7 @@ choice of open sets from the basis of `F` such that they intersect only finitely
 of `f`.  -/
 structure LocallyFinite.Realizer [TopologicalSpace α] (F : Realizer α) (f : β → Set α) where
   bas : ∀ a, { s // a ∈ F.f s }
-  sets : ∀ x : α, Fintype { i | (f i ∩ F.f (bas x)).Nonempty }
+  sets : ∀ x : α, Fintype {i | (f i ∩ F.f (bas x)).Nonempty}
 #align locally_finite.realizer LocallyFinite.Realizer
 -/
 
Diff
@@ -144,11 +144,11 @@ namespace Ctop.Realizer
 
 protected theorem is_basis [T : TopologicalSpace α] (F : Realizer α) :
     TopologicalSpace.IsTopologicalBasis (Set.range F.f.f) := by
-  have := to_topsp_is_topological_basis F.F <;> rwa [F.eq] at this
+  have := to_topsp_is_topological_basis F.F <;> rwa [F.eq] at this 
 #align ctop.realizer.is_basis Ctop.Realizer.is_basis
 
 protected theorem mem_nhds [T : TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
-    s ∈ 𝓝 a ↔ ∃ b, a ∈ F.f b ∧ F.f b ⊆ s := by have := mem_nhds_to_topsp F.F <;> rwa [F.eq] at this
+    s ∈ 𝓝 a ↔ ∃ b, a ∈ F.f b ∧ F.f b ⊆ s := by have := mem_nhds_to_topsp F.F <;> rwa [F.eq] at this 
 #align ctop.realizer.mem_nhds Ctop.Realizer.mem_nhds
 
 theorem isOpen_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
Diff
@@ -33,7 +33,7 @@ open Set
 
 open Filter hiding Realizer
 
-open Topology
+open scoped Topology
 
 #print Ctop /-
 /-- A `ctop α σ` is a realization of a topology (basis) on `α`,
Diff
@@ -68,12 +68,6 @@ variable (F : Ctop α σ)
 instance : CoeFun (Ctop α σ) fun _ => σ → Set α :=
   ⟨Ctop.f⟩
 
-/- warning: ctop.coe_mk -> Ctop.coe_mk is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {σ : Type.{u2}} (f : σ -> (Set.{u1} α)) (T : α -> σ) (h₁ : forall (x : α), Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (f (T x))) (I : forall (a : σ) (b : σ) (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (f a) (f b))) -> σ) (h₂ : forall (a : σ) (b : σ) (x : α) (h : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (f a) (f b))), Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (f (I a b x h))) (h₃ : forall (a : σ) (b : σ) (x : α) (h : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (f a) (f b))), HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (f (I a b x h)) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (f a) (f b))) (a : σ), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) (Ctop.mk.{u1, u2} α σ f T h₁ I h₂ h₃) a) (f a)
-but is expected to have type
-  forall {α : Type.{u2}} {σ : Type.{u1}} (f : σ -> (Set.{u2} α)) (T : α -> σ) (h₁ : forall (x : α), Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x (f (T x))) (I : forall (a : σ) (b : σ) (x : α), (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) (f a) (f b))) -> σ) (h₂ : forall (a : σ) (b : σ) (x : α) (h : Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) (f a) (f b))), Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x (f (I a b x h))) (h₃ : forall (a : σ) (b : σ) (x : α) (h : Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) (f a) (f b))), HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (f (I a b x h)) (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) (f a) (f b))) (a : σ), Eq.{succ u2} (Set.{u2} α) (Ctop.f.{u2, u1} α σ (Ctop.mk.{u2, u1} α σ f T h₁ I h₂ h₃) a) (f a)
-Case conversion may be inaccurate. Consider using '#align ctop.coe_mk Ctop.coe_mkₓ'. -/
 @[simp]
 theorem coe_mk (f T h₁ I h₂ h₃ a) : (@Ctop.mk α σ f T h₁ I h₂ h₃) a = f a :=
   rfl
@@ -92,12 +86,6 @@ def ofEquiv (E : σ ≃ τ) : Ctop α σ → Ctop α τ
 #align ctop.of_equiv Ctop.ofEquiv
 -/
 
-/- warning: ctop.of_equiv_val -> Ctop.ofEquiv_val is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {σ : Type.{u2}} {τ : Type.{u3}} (E : Equiv.{succ u2, succ u3} σ τ) (F : Ctop.{u1, u2} α σ) (a : τ), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (Ctop.{u1, u3} α τ) (fun (_x : Ctop.{u1, u3} α τ) => τ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u3} α τ) (Ctop.ofEquiv.{u1, u2, u3} α σ τ E F) a) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F (coeFn.{max 1 (max (succ u3) (succ u2)) (succ u2) (succ u3), max (succ u3) (succ u2)} (Equiv.{succ u3, succ u2} τ σ) (fun (_x : Equiv.{succ u3, succ u2} τ σ) => τ -> σ) (Equiv.hasCoeToFun.{succ u3, succ u2} τ σ) (Equiv.symm.{succ u2, succ u3} σ τ E) a))
-but is expected to have type
-  forall {α : Type.{u1}} {σ : Type.{u3}} {τ : Type.{u2}} (E : Equiv.{succ u3, succ u2} σ τ) (F : Ctop.{u1, u3} α σ) (a : τ), Eq.{succ u1} (Set.{u1} α) (Ctop.f.{u1, u2} α τ (Ctop.ofEquiv.{u1, u3, u2} α σ τ E F) a) (Ctop.f.{u1, u3} α σ F (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (Equiv.{succ u2, succ u3} τ σ) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : τ) => σ) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u3} τ σ) (Equiv.symm.{succ u3, succ u2} σ τ E) a))
-Case conversion may be inaccurate. Consider using '#align ctop.of_equiv_val Ctop.ofEquiv_valₓ'. -/
 @[simp]
 theorem ofEquiv_val (E : σ ≃ τ) (F : Ctop α σ) (a : τ) : F.of_equiv E a = F (E.symm a) := by
   cases F <;> rfl
@@ -112,12 +100,6 @@ def toTopsp (F : Ctop α σ) : TopologicalSpace α :=
 #align ctop.to_topsp Ctop.toTopsp
 -/
 
-/- warning: ctop.to_topsp_is_topological_basis -> Ctop.toTopsp_isTopologicalBasis is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {σ : Type.{u2}} (F : Ctop.{u1, u2} α σ), TopologicalSpace.IsTopologicalBasis.{u1} α (Ctop.toTopsp.{u1, u2} α σ F) (Set.range.{u1, succ u2} (Set.{u1} α) σ (Ctop.f.{u1, u2} α σ F))
-but is expected to have type
-  forall {α : Type.{u2}} {σ : Type.{u1}} (F : Ctop.{u2, u1} α σ), TopologicalSpace.IsTopologicalBasis.{u2} α (Ctop.toTopsp.{u2, u1} α σ F) (Set.range.{u2, succ u1} (Set.{u2} α) σ (Ctop.f.{u2, u1} α σ F))
-Case conversion may be inaccurate. Consider using '#align ctop.to_topsp_is_topological_basis Ctop.toTopsp_isTopologicalBasisₓ'. -/
 theorem toTopsp_isTopologicalBasis (F : Ctop α σ) :
     @TopologicalSpace.IsTopologicalBasis _ F.toTopsp (Set.range F.f) :=
   letI := F.to_topsp
@@ -126,12 +108,6 @@ theorem toTopsp_isTopologicalBasis (F : Ctop α σ) :
     eq_univ_iff_forall.2 fun x => ⟨_, ⟨_, rfl⟩, F.top_mem x⟩, rfl⟩
 #align ctop.to_topsp_is_topological_basis Ctop.toTopsp_isTopologicalBasis
 
-/- warning: ctop.mem_nhds_to_topsp -> Ctop.mem_nhds_toTopsp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {σ : Type.{u2}} (F : Ctop.{u1, u2} α σ) {s : Set.{u1} α} {a : α}, Iff (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (nhds.{u1} α (Ctop.toTopsp.{u1, u2} α σ F) a)) (Exists.{succ u2} σ (fun (b : σ) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F b)) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F b) s)))
-but is expected to have type
-  forall {α : Type.{u2}} {σ : Type.{u1}} (F : Ctop.{u2, u1} α σ) {s : Set.{u2} α} {a : α}, Iff (Membership.mem.{u2, u2} (Set.{u2} α) (Filter.{u2} α) (instMembershipSetFilter.{u2} α) s (nhds.{u2} α (Ctop.toTopsp.{u2, u1} α σ F) a)) (Exists.{succ u1} σ (fun (b : σ) => And (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α σ F b)) (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (Ctop.f.{u2, u1} α σ F b) s)))
-Case conversion may be inaccurate. Consider using '#align ctop.mem_nhds_to_topsp Ctop.mem_nhds_toTopspₓ'. -/
 @[simp]
 theorem mem_nhds_toTopsp (F : Ctop α σ) {s : Set α} {a : α} :
     s ∈ @nhds _ F.toTopsp a ↔ ∃ b, a ∈ F b ∧ F b ⊆ s :=
@@ -166,44 +142,20 @@ instance (F : Ctop α σ) : Inhabited (@Ctop.Realizer _ F.toTopsp) :=
 
 namespace Ctop.Realizer
 
-/- warning: ctop.realizer.is_basis -> Ctop.Realizer.is_basis is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [T : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u2} α T), TopologicalSpace.IsTopologicalBasis.{u1} α T (Set.range.{u1, succ u2} (Set.{u1} α) (Ctop.Realizer.σ.{u1, u2} α T F) (Ctop.f.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α T F) (Ctop.Realizer.f.{u1, u2} α T F)))
-but is expected to have type
-  forall {α : Type.{u2}} [T : TopologicalSpace.{u2} α] (F : Ctop.Realizer.{u2, u1} α T), TopologicalSpace.IsTopologicalBasis.{u2} α T (Set.range.{u2, succ u1} (Set.{u2} α) (Ctop.Realizer.σ.{u2, u1} α T F) (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α T F) (Ctop.Realizer.F.{u2, u1} α T F)))
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.is_basis Ctop.Realizer.is_basisₓ'. -/
 protected theorem is_basis [T : TopologicalSpace α] (F : Realizer α) :
     TopologicalSpace.IsTopologicalBasis (Set.range F.f.f) := by
   have := to_topsp_is_topological_basis F.F <;> rwa [F.eq] at this
 #align ctop.realizer.is_basis Ctop.Realizer.is_basis
 
-/- warning: ctop.realizer.mem_nhds -> Ctop.Realizer.mem_nhds is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [T : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u2} α T) {s : Set.{u1} α} {a : α}, Iff (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (nhds.{u1} α T a)) (Exists.{succ u2} (Ctop.Realizer.σ.{u1, u2} α T F) (fun (b : Ctop.Realizer.σ.{u1, u2} α T F) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α T F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α T F)) => (Ctop.Realizer.σ.{u1, u2} α T F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α T F)) (Ctop.Realizer.f.{u1, u2} α T F) b)) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α T F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α T F)) => (Ctop.Realizer.σ.{u1, u2} α T F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α T F)) (Ctop.Realizer.f.{u1, u2} α T F) b) s)))
-but is expected to have type
-  forall {α : Type.{u2}} [T : TopologicalSpace.{u2} α] (F : Ctop.Realizer.{u2, u1} α T) {s : Set.{u2} α} {a : α}, Iff (Membership.mem.{u2, u2} (Set.{u2} α) (Filter.{u2} α) (instMembershipSetFilter.{u2} α) s (nhds.{u2} α T a)) (Exists.{succ u1} (Ctop.Realizer.σ.{u2, u1} α T F) (fun (b : Ctop.Realizer.σ.{u2, u1} α T F) => And (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α T F) (Ctop.Realizer.F.{u2, u1} α T F) b)) (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α T F) (Ctop.Realizer.F.{u2, u1} α T F) b) s)))
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.mem_nhds Ctop.Realizer.mem_nhdsₓ'. -/
 protected theorem mem_nhds [T : TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
     s ∈ 𝓝 a ↔ ∃ b, a ∈ F.f b ∧ F.f b ⊆ s := by have := mem_nhds_to_topsp F.F <;> rwa [F.eq] at this
 #align ctop.realizer.mem_nhds Ctop.Realizer.mem_nhds
 
-/- warning: ctop.realizer.is_open_iff -> Ctop.Realizer.isOpen_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u2} α _inst_1) {s : Set.{u1} α}, Iff (IsOpen.{u1} α _inst_1 s) (forall (a : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) -> (Exists.{succ u2} (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) (fun (b : Ctop.Realizer.σ.{u1, u2} α _inst_1 F) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) b)) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) b) s))))
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (F : Ctop.Realizer.{u2, u1} α _inst_1) {s : Set.{u2} α}, Iff (IsOpen.{u2} α _inst_1 s) (forall (a : α), (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a s) -> (Exists.{succ u1} (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (fun (b : Ctop.Realizer.σ.{u2, u1} α _inst_1 F) => And (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) b)) (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) b) s))))
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.is_open_iff Ctop.Realizer.isOpen_iffₓ'. -/
 theorem isOpen_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
     IsOpen s ↔ ∀ a ∈ s, ∃ b, a ∈ F.f b ∧ F.f b ⊆ s :=
   isOpen_iff_mem_nhds.trans <| ball_congr fun a h => F.mem_nhds
 #align ctop.realizer.is_open_iff Ctop.Realizer.isOpen_iff
 
-/- warning: ctop.realizer.is_closed_iff -> Ctop.Realizer.isClosed_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u2} α _inst_1) {s : Set.{u1} α}, Iff (IsClosed.{u1} α _inst_1 s) (forall (a : α), (forall (b : Ctop.Realizer.σ.{u1, u2} α _inst_1 F), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) b)) -> (Exists.{succ u1} α (fun (z : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) z (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) b) s)))) -> (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s))
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (F : Ctop.Realizer.{u2, u1} α _inst_1) {s : Set.{u2} α}, Iff (IsClosed.{u2} α _inst_1 s) (forall (a : α), (forall (b : Ctop.Realizer.σ.{u2, u1} α _inst_1 F), (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) b)) -> (Exists.{succ u2} α (fun (z : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) z (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) b) s)))) -> (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a s))
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.is_closed_iff Ctop.Realizer.isClosed_iffₓ'. -/
 theorem isClosed_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
     IsClosed s ↔ ∀ a, (∀ b, a ∈ F.f b → ∃ z, z ∈ F.f b ∩ s) → a ∈ s :=
   isOpen_compl_iff.symm.trans <|
@@ -214,33 +166,15 @@ theorem isClosed_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
             simp [not_exists, not_and, not_forall, and_comm']
 #align ctop.realizer.is_closed_iff Ctop.Realizer.isClosed_iff
 
-/- warning: ctop.realizer.mem_interior_iff -> Ctop.Realizer.mem_interior_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u2} α _inst_1) {s : Set.{u1} α} {a : α}, Iff (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (interior.{u1} α _inst_1 s)) (Exists.{succ u2} (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) (fun (b : Ctop.Realizer.σ.{u1, u2} α _inst_1 F) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) b)) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) b) s)))
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (F : Ctop.Realizer.{u2, u1} α _inst_1) {s : Set.{u2} α} {a : α}, Iff (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (interior.{u2} α _inst_1 s)) (Exists.{succ u1} (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (fun (b : Ctop.Realizer.σ.{u2, u1} α _inst_1 F) => And (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) b)) (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) b) s)))
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.mem_interior_iff Ctop.Realizer.mem_interior_iffₓ'. -/
 theorem mem_interior_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
     a ∈ interior s ↔ ∃ b, a ∈ F.f b ∧ F.f b ⊆ s :=
   mem_interior_iff_mem_nhds.trans F.mem_nhds
 #align ctop.realizer.mem_interior_iff Ctop.Realizer.mem_interior_iff
 
-/- warning: ctop.realizer.is_open -> Ctop.Realizer.isOpen is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u2} α _inst_1) (s : Ctop.Realizer.σ.{u1, u2} α _inst_1 F), IsOpen.{u1} α _inst_1 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) s)
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (F : Ctop.Realizer.{u2, u1} α _inst_1) (s : Ctop.Realizer.σ.{u2, u1} α _inst_1 F), IsOpen.{u2} α _inst_1 (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) s)
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.is_open Ctop.Realizer.isOpenₓ'. -/
 protected theorem isOpen [TopologicalSpace α] (F : Realizer α) (s : F.σ) : IsOpen (F.f s) :=
   isOpen_iff_nhds.2 fun a m => by simpa using F.mem_nhds.2 ⟨s, m, subset.refl _⟩
 #align ctop.realizer.is_open Ctop.Realizer.isOpen
 
-/- warning: ctop.realizer.ext' -> Ctop.Realizer.ext' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [T : TopologicalSpace.{u1} α] {σ : Type.{u2}} {F : Ctop.{u1, u2} α σ}, (forall (a : α) (s : Set.{u1} α), Iff (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (nhds.{u1} α T a)) (Exists.{succ u2} σ (fun (b : σ) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F b)) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F b) s)))) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) (Ctop.toTopsp.{u1, u2} α σ F) T)
-but is expected to have type
-  forall {α : Type.{u2}} [T : TopologicalSpace.{u2} α] {σ : Type.{u1}} {F : Ctop.{u2, u1} α σ}, (forall (a : α) (s : Set.{u2} α), Iff (Membership.mem.{u2, u2} (Set.{u2} α) (Filter.{u2} α) (instMembershipSetFilter.{u2} α) s (nhds.{u2} α T a)) (Exists.{succ u1} σ (fun (b : σ) => And (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α σ F b)) (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (Ctop.f.{u2, u1} α σ F b) s)))) -> (Eq.{succ u2} (TopologicalSpace.{u2} α) (Ctop.toTopsp.{u2, u1} α σ F) T)
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.ext' Ctop.Realizer.ext'ₓ'. -/
 theorem ext' [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ}
     (H : ∀ a s, s ∈ 𝓝 a ↔ ∃ b, a ∈ F b ∧ F b ⊆ s) : F.toTopsp = T :=
   by
@@ -249,12 +183,6 @@ theorem ext' [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ}
   rw [mem_nhds_to_topsp, H]
 #align ctop.realizer.ext' Ctop.Realizer.ext'
 
-/- warning: ctop.realizer.ext -> Ctop.Realizer.ext is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [T : TopologicalSpace.{u1} α] {σ : Type.{u2}} {F : Ctop.{u1, u2} α σ}, (forall (a : σ), IsOpen.{u1} α T (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F a)) -> (forall (a : α) (s : Set.{u1} α), (Membership.Mem.{u1, u1} (Set.{u1} α) (Filter.{u1} α) (Filter.hasMem.{u1} α) s (nhds.{u1} α T a)) -> (Exists.{succ u2} σ (fun (b : σ) => And (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F b)) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F b) s)))) -> (Eq.{succ u1} (TopologicalSpace.{u1} α) (Ctop.toTopsp.{u1, u2} α σ F) T)
-but is expected to have type
-  forall {α : Type.{u2}} [T : TopologicalSpace.{u2} α] {σ : Type.{u1}} {F : Ctop.{u2, u1} α σ}, (forall (a : σ), IsOpen.{u2} α T (Ctop.f.{u2, u1} α σ F a)) -> (forall (a : α) (s : Set.{u2} α), (Membership.mem.{u2, u2} (Set.{u2} α) (Filter.{u2} α) (instMembershipSetFilter.{u2} α) s (nhds.{u2} α T a)) -> (Exists.{succ u1} σ (fun (b : σ) => And (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α σ F b)) (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (Ctop.f.{u2, u1} α σ F b) s)))) -> (Eq.{succ u2} (TopologicalSpace.{u2} α) (Ctop.toTopsp.{u2, u1} α σ F) T)
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.ext Ctop.Realizer.extₓ'. -/
 theorem ext [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ} (H₁ : ∀ a, IsOpen (F a))
     (H₂ : ∀ a s, s ∈ 𝓝 a → ∃ b, a ∈ F b ∧ F b ⊆ s) : F.toTopsp = T :=
   ext' fun a s => ⟨H₂ a s, fun ⟨b, h₁, h₂⟩ => mem_nhds_iff.2 ⟨_, h₂, H₁ _, h₁⟩⟩
@@ -288,23 +216,11 @@ def ofEquiv (F : Realizer α) (E : F.σ ≃ τ) : Realizer α :=
 #align ctop.realizer.of_equiv Ctop.Realizer.ofEquiv
 -/
 
-/- warning: ctop.realizer.of_equiv_σ -> Ctop.Realizer.ofEquiv_σ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {τ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u3} α _inst_1) (E : Equiv.{succ u3, succ u2} (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) τ), Eq.{succ (succ u2)} Type.{u2} (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E)) τ
-but is expected to have type
-  forall {α : Type.{u3}} {τ : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] (F : Ctop.Realizer.{u3, u2} α _inst_1) (E : Equiv.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ), Eq.{succ (succ u1)} Type.{u1} (Ctop.Realizer.σ.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) τ
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.of_equiv_σ Ctop.Realizer.ofEquiv_σₓ'. -/
 @[simp]
 theorem ofEquiv_σ (F : Realizer α) (E : F.σ ≃ τ) : (F.of_equiv E).σ = τ :=
   rfl
 #align ctop.realizer.of_equiv_σ Ctop.Realizer.ofEquiv_σ
 
-/- warning: ctop.realizer.of_equiv_F -> Ctop.Realizer.ofEquiv_F is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {τ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u3} α _inst_1) (E : Equiv.{succ u3, succ u2} (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) τ) (s : τ), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E))) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E))) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E)) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E))) (Ctop.Realizer.f.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E)) s) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (Ctop.{u1, u3} α (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (fun (_x : Ctop.{u1, u3} α (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u3} α (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (Ctop.Realizer.f.{u1, u3} α _inst_1 F) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} τ (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (fun (_x : Equiv.{succ u2, succ u3} τ (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) => τ -> (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (Equiv.hasCoeToFun.{succ u2, succ u3} τ (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (Equiv.symm.{succ u3, succ u2} (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) τ E) s))
-but is expected to have type
-  forall {α : Type.{u3}} {τ : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] (F : Ctop.Realizer.{u3, u2} α _inst_1) (E : Equiv.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ) (s : τ), Eq.{succ u3} (Set.{u3} α) (Ctop.f.{u3, u1} α (Ctop.Realizer.σ.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) (Ctop.Realizer.F.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) s) (Ctop.f.{u3, u2} α (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) (Ctop.Realizer.F.{u3, u2} α _inst_1 F) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : τ) => Ctop.Realizer.σ.{u3, u2} α _inst_1 F) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) (Equiv.symm.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ E) s))
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.of_equiv_F Ctop.Realizer.ofEquiv_Fₓ'. -/
 @[simp]
 theorem ofEquiv_F (F : Realizer α) (E : F.σ ≃ τ) (s : τ) : (F.of_equiv E).f s = F.f (E.symm s) := by
   delta of_equiv <;> simp
@@ -327,34 +243,16 @@ protected def nhds (F : Realizer α) (a : α) : (𝓝 a).Realizer :=
 #align ctop.realizer.nhds Ctop.Realizer.nhds
 -/
 
-/- warning: ctop.realizer.nhds_σ -> Ctop.Realizer.nhds_σ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u2} α _inst_1) (a : α), Eq.{succ (succ u2)} Type.{u2} (Filter.Realizer.σ.{u1, u2} α (nhds.{u1} α _inst_1 a) (Ctop.Realizer.nhds.{u1, u2} α _inst_1 F a)) (Subtype.{succ u2} (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) (fun (s : Ctop.Realizer.σ.{u1, u2} α _inst_1 F) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) s)))
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (F : Ctop.Realizer.{u2, u1} α _inst_1) (a : α), Eq.{succ (succ u1)} Type.{u1} (Filter.Realizer.σ.{u2, u1} α (nhds.{u2} α _inst_1 a) (Ctop.Realizer.nhds.{u2, u1} α _inst_1 F a)) (Subtype.{succ u1} (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (fun (s : Ctop.Realizer.σ.{u2, u1} α _inst_1 F) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) s)))
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.nhds_σ Ctop.Realizer.nhds_σₓ'. -/
 @[simp]
 theorem nhds_σ (F : Realizer α) (a : α) : (F.nhds a).σ = { s : F.σ // a ∈ F.f s } :=
   rfl
 #align ctop.realizer.nhds_σ Ctop.Realizer.nhds_σ
 
-/- warning: ctop.realizer.nhds_F -> Ctop.Realizer.nhds_F is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u2} α _inst_1) (a : α) (s : Filter.Realizer.σ.{u1, u2} α (nhds.{u1} α _inst_1 a) (Ctop.Realizer.nhds.{u1, u2} α _inst_1 F a)), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (CFilter.{u1, u2} (Set.{u1} α) (Filter.Realizer.σ.{u1, u2} α (nhds.{u1} α _inst_1 a) (Ctop.Realizer.nhds.{u1, u2} α _inst_1 F a)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))))) (fun (_x : CFilter.{u1, u2} (Set.{u1} α) (Filter.Realizer.σ.{u1, u2} α (nhds.{u1} α _inst_1 a) (Ctop.Realizer.nhds.{u1, u2} α _inst_1 F a)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))))) => (Filter.Realizer.σ.{u1, u2} α (nhds.{u1} α _inst_1 a) (Ctop.Realizer.nhds.{u1, u2} α _inst_1 F a)) -> (Set.{u1} α)) (CFilter.hasCoeToFun.{u1, u2} (Set.{u1} α) (Filter.Realizer.σ.{u1, u2} α (nhds.{u1} α _inst_1 a) (Ctop.Realizer.nhds.{u1, u2} α _inst_1 F a)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))))) (Filter.Realizer.f.{u1, u2} α (nhds.{u1} α _inst_1 a) (Ctop.Realizer.nhds.{u1, u2} α _inst_1 F a)) s) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) (Subtype.val.{succ u2} (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) (fun (s : Ctop.Realizer.σ.{u1, u2} α _inst_1 F) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 F)) (Ctop.Realizer.f.{u1, u2} α _inst_1 F) s)) s))
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (F : Ctop.Realizer.{u2, u1} α _inst_1) (a : α) (s : Filter.Realizer.σ.{u2, u1} α (nhds.{u2} α _inst_1 a) (Ctop.Realizer.nhds.{u2, u1} α _inst_1 F a)), Eq.{succ u2} (Set.{u2} α) (CFilter.f.{u2, u1} (Set.{u2} α) (Filter.Realizer.σ.{u2, u1} α (nhds.{u2} α _inst_1 a) (Ctop.Realizer.nhds.{u2, u1} α _inst_1 F a)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} α) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) (Filter.Realizer.F.{u2, u1} α (nhds.{u2} α _inst_1 a) (Ctop.Realizer.nhds.{u2, u1} α _inst_1 F a)) s) (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) (Subtype.val.{succ u1} (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (fun (s : Ctop.Realizer.σ.{u2, u1} α _inst_1 F) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 F) (Ctop.Realizer.F.{u2, u1} α _inst_1 F) s)) s))
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.nhds_F Ctop.Realizer.nhds_Fₓ'. -/
 @[simp]
 theorem nhds_F (F : Realizer α) (a : α) (s) : (F.nhds a).f s = F.f s.1 :=
   rfl
 #align ctop.realizer.nhds_F Ctop.Realizer.nhds_F
 
-/- warning: ctop.realizer.tendsto_nhds_iff -> Ctop.Realizer.tendsto_nhds_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] {m : β -> α} {f : Filter.{u2} β} (F : Filter.Realizer.{u2, u3} β f) (R : Ctop.Realizer.{u1, u4} α _inst_1) {a : α}, Iff (Filter.Tendsto.{u2, u1} β α m f (nhds.{u1} α _inst_1 a)) (forall (t : Ctop.Realizer.σ.{u1, u4} α _inst_1 R), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (coeFn.{max (succ u1) (succ u4), max (succ u4) (succ u1)} (Ctop.{u1, u4} α (Ctop.Realizer.σ.{u1, u4} α _inst_1 R)) (fun (_x : Ctop.{u1, u4} α (Ctop.Realizer.σ.{u1, u4} α _inst_1 R)) => (Ctop.Realizer.σ.{u1, u4} α _inst_1 R) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u4} α (Ctop.Realizer.σ.{u1, u4} α _inst_1 R)) (Ctop.Realizer.f.{u1, u4} α _inst_1 R) t)) -> (Exists.{succ u3} (Filter.Realizer.σ.{u2, u3} β f F) (fun (s : Filter.Realizer.σ.{u2, u3} β f F) => forall (x : β), (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) x (coeFn.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (CFilter.{u2, u3} (Set.{u2} β) (Filter.Realizer.σ.{u2, u3} β f F) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} β) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} β) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β))))))) (fun (_x : CFilter.{u2, u3} (Set.{u2} β) (Filter.Realizer.σ.{u2, u3} β f F) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} β) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} β) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β))))))) => (Filter.Realizer.σ.{u2, u3} β f F) -> (Set.{u2} β)) (CFilter.hasCoeToFun.{u2, u3} (Set.{u2} β) (Filter.Realizer.σ.{u2, u3} β f F) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} β) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} β) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β))))))) (Filter.Realizer.f.{u2, u3} β f F) s)) -> (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) (m x) (coeFn.{max (succ u1) (succ u4), max (succ u4) (succ u1)} (Ctop.{u1, u4} α (Ctop.Realizer.σ.{u1, u4} α _inst_1 R)) (fun (_x : Ctop.{u1, u4} α (Ctop.Realizer.σ.{u1, u4} α _inst_1 R)) => (Ctop.Realizer.σ.{u1, u4} α _inst_1 R) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u4} α (Ctop.Realizer.σ.{u1, u4} α _inst_1 R)) (Ctop.Realizer.f.{u1, u4} α _inst_1 R) t)))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u4}} [_inst_1 : TopologicalSpace.{u2} α] {m : β -> α} {f : Filter.{u4} β} (F : Filter.Realizer.{u4, u3} β f) (R : Ctop.Realizer.{u2, u1} α _inst_1) {a : α}, Iff (Filter.Tendsto.{u4, u2} β α m f (nhds.{u2} α _inst_1 a)) (forall (t : Ctop.Realizer.σ.{u2, u1} α _inst_1 R), (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 R) (Ctop.Realizer.F.{u2, u1} α _inst_1 R) t)) -> (Exists.{succ u3} (Filter.Realizer.σ.{u4, u3} β f F) (fun (s : Filter.Realizer.σ.{u4, u3} β f F) => forall (x : β), (Membership.mem.{u4, u4} β (Set.{u4} β) (Set.instMembershipSet.{u4} β) x (CFilter.f.{u4, u3} (Set.{u4} β) (Filter.Realizer.σ.{u4, u3} β f F) (CompleteSemilatticeInf.toPartialOrder.{u4} (Set.{u4} β) (CompleteLattice.toCompleteSemilatticeInf.{u4} (Set.{u4} β) (Order.Coframe.toCompleteLattice.{u4} (Set.{u4} β) (CompleteDistribLattice.toCoframe.{u4} (Set.{u4} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u4} (Set.{u4} β) (Set.instCompleteBooleanAlgebraSet.{u4} β)))))) (Filter.Realizer.F.{u4, u3} β f F) s)) -> (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) (m x) (Ctop.f.{u2, u1} α (Ctop.Realizer.σ.{u2, u1} α _inst_1 R) (Ctop.Realizer.F.{u2, u1} α _inst_1 R) t)))))
-Case conversion may be inaccurate. Consider using '#align ctop.realizer.tendsto_nhds_iff Ctop.Realizer.tendsto_nhds_iffₓ'. -/
 theorem tendsto_nhds_iff {m : β → α} {f : Filter β} (F : f.Realizer) (R : Realizer α) {a : α} :
     Tendsto m f (𝓝 a) ↔ ∀ t, a ∈ R.f t → ∃ s, ∀ x ∈ F.f s, m x ∈ R.f t :=
   (F.tendsto_iffₓ _ (R.nhds a)).trans Subtype.forall
@@ -372,23 +270,11 @@ structure LocallyFinite.Realizer [TopologicalSpace α] (F : Realizer α) (f : β
 #align locally_finite.realizer LocallyFinite.Realizer
 -/
 
-/- warning: locally_finite.realizer.to_locally_finite -> LocallyFinite.Realizer.to_locallyFinite is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] {F : Ctop.Realizer.{u1, u3} α _inst_1} {f : β -> (Set.{u1} α)}, (LocallyFinite.Realizer.{u1, u2, u3} α β _inst_1 F f) -> (LocallyFinite.{u2, u1} β α _inst_1 f)
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] {F : Ctop.Realizer.{u3, u2} α _inst_1} {f : β -> (Set.{u3} α)}, (LocallyFinite.Realizer.{u3, u1, u2} α β _inst_1 F f) -> (LocallyFinite.{u1, u3} β α _inst_1 f)
-Case conversion may be inaccurate. Consider using '#align locally_finite.realizer.to_locally_finite LocallyFinite.Realizer.to_locallyFiniteₓ'. -/
 theorem LocallyFinite.Realizer.to_locallyFinite [TopologicalSpace α] {F : Realizer α}
     {f : β → Set α} (R : LocallyFinite.Realizer F f) : LocallyFinite f := fun a =>
   ⟨_, F.mem_nhds.2 ⟨(R.bas a).1, (R.bas a).2, Subset.refl _⟩, ⟨R.sets a⟩⟩
 #align locally_finite.realizer.to_locally_finite LocallyFinite.Realizer.to_locallyFinite
 
-/- warning: locally_finite_iff_exists_realizer -> locallyFinite_iff_exists_realizer is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u3} α _inst_1) {f : β -> (Set.{u1} α)}, Iff (LocallyFinite.{u2, u1} β α _inst_1 f) (Nonempty.{max (succ u1) (succ u2) (succ u3)} (LocallyFinite.Realizer.{u1, u2, u3} α β _inst_1 F f))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] (F : Ctop.Realizer.{u3, u2} α _inst_1) {f : β -> (Set.{u3} α)}, Iff (LocallyFinite.{u1, u3} β α _inst_1 f) (Nonempty.{max (max (succ u2) (succ u1)) (succ u3)} (LocallyFinite.Realizer.{u3, u1, u2} α β _inst_1 F f))
-Case conversion may be inaccurate. Consider using '#align locally_finite_iff_exists_realizer locallyFinite_iff_exists_realizerₓ'. -/
 theorem locallyFinite_iff_exists_realizer [TopologicalSpace α] (F : Realizer α) {f : β → Set α} :
     LocallyFinite f ↔ Nonempty (LocallyFinite.Realizer F f) :=
   ⟨fun h =>
Diff
@@ -418,8 +418,6 @@ def Compact.Realizer [TopologicalSpace α] (s : Set α) :=
 -/
 
 instance [TopologicalSpace α] : Inhabited (Compact.Realizer (∅ : Set α)) :=
-  ⟨fun f F x h hF => by
-    cases h _
-    rw [← F.eq, eq_bot_iff]
+  ⟨fun f F x h hF => by cases h _; rw [← F.eq, eq_bot_iff];
     exact fun s _ => ⟨x, hF.trans s.empty_subset⟩⟩
 
Diff
@@ -96,7 +96,7 @@ def ofEquiv (E : σ ≃ τ) : Ctop α σ → Ctop α τ
 lean 3 declaration is
   forall {α : Type.{u1}} {σ : Type.{u2}} {τ : Type.{u3}} (E : Equiv.{succ u2, succ u3} σ τ) (F : Ctop.{u1, u2} α σ) (a : τ), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (Ctop.{u1, u3} α τ) (fun (_x : Ctop.{u1, u3} α τ) => τ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u3} α τ) (Ctop.ofEquiv.{u1, u2, u3} α σ τ E F) a) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F (coeFn.{max 1 (max (succ u3) (succ u2)) (succ u2) (succ u3), max (succ u3) (succ u2)} (Equiv.{succ u3, succ u2} τ σ) (fun (_x : Equiv.{succ u3, succ u2} τ σ) => τ -> σ) (Equiv.hasCoeToFun.{succ u3, succ u2} τ σ) (Equiv.symm.{succ u2, succ u3} σ τ E) a))
 but is expected to have type
-  forall {α : Type.{u1}} {σ : Type.{u3}} {τ : Type.{u2}} (E : Equiv.{succ u3, succ u2} σ τ) (F : Ctop.{u1, u3} α σ) (a : τ), Eq.{succ u1} (Set.{u1} α) (Ctop.f.{u1, u2} α τ (Ctop.ofEquiv.{u1, u3, u2} α σ τ E F) a) (Ctop.f.{u1, u3} α σ F (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (Equiv.{succ u2, succ u3} τ σ) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : τ) => σ) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u3} τ σ) (Equiv.symm.{succ u3, succ u2} σ τ E) a))
+  forall {α : Type.{u1}} {σ : Type.{u3}} {τ : Type.{u2}} (E : Equiv.{succ u3, succ u2} σ τ) (F : Ctop.{u1, u3} α σ) (a : τ), Eq.{succ u1} (Set.{u1} α) (Ctop.f.{u1, u2} α τ (Ctop.ofEquiv.{u1, u3, u2} α σ τ E F) a) (Ctop.f.{u1, u3} α σ F (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (Equiv.{succ u2, succ u3} τ σ) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : τ) => σ) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u3} τ σ) (Equiv.symm.{succ u3, succ u2} σ τ E) a))
 Case conversion may be inaccurate. Consider using '#align ctop.of_equiv_val Ctop.ofEquiv_valₓ'. -/
 @[simp]
 theorem ofEquiv_val (E : σ ≃ τ) (F : Ctop α σ) (a : τ) : F.of_equiv E a = F (E.symm a) := by
@@ -303,7 +303,7 @@ theorem ofEquiv_σ (F : Realizer α) (E : F.σ ≃ τ) : (F.of_equiv E).σ = τ
 lean 3 declaration is
   forall {α : Type.{u1}} {τ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u3} α _inst_1) (E : Equiv.{succ u3, succ u2} (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) τ) (s : τ), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E))) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E))) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E)) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E))) (Ctop.Realizer.f.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E)) s) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (Ctop.{u1, u3} α (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (fun (_x : Ctop.{u1, u3} α (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u3} α (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (Ctop.Realizer.f.{u1, u3} α _inst_1 F) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} τ (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (fun (_x : Equiv.{succ u2, succ u3} τ (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) => τ -> (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (Equiv.hasCoeToFun.{succ u2, succ u3} τ (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (Equiv.symm.{succ u3, succ u2} (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) τ E) s))
 but is expected to have type
-  forall {α : Type.{u3}} {τ : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] (F : Ctop.Realizer.{u3, u2} α _inst_1) (E : Equiv.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ) (s : τ), Eq.{succ u3} (Set.{u3} α) (Ctop.f.{u3, u1} α (Ctop.Realizer.σ.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) (Ctop.Realizer.F.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) s) (Ctop.f.{u3, u2} α (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) (Ctop.Realizer.F.{u3, u2} α _inst_1 F) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : τ) => Ctop.Realizer.σ.{u3, u2} α _inst_1 F) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) (Equiv.symm.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ E) s))
+  forall {α : Type.{u3}} {τ : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] (F : Ctop.Realizer.{u3, u2} α _inst_1) (E : Equiv.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ) (s : τ), Eq.{succ u3} (Set.{u3} α) (Ctop.f.{u3, u1} α (Ctop.Realizer.σ.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) (Ctop.Realizer.F.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) s) (Ctop.f.{u3, u2} α (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) (Ctop.Realizer.F.{u3, u2} α _inst_1 F) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : τ) => Ctop.Realizer.σ.{u3, u2} α _inst_1 F) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) (Equiv.symm.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ E) s))
 Case conversion may be inaccurate. Consider using '#align ctop.realizer.of_equiv_F Ctop.Realizer.ofEquiv_Fₓ'. -/
 @[simp]
 theorem ofEquiv_F (F : Realizer α) (E : F.σ ≃ τ) (s : τ) : (F.of_equiv E).f s = F.f (E.symm s) := by
Diff
@@ -4,12 +4,13 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro
 
 ! This file was ported from Lean 3 source module data.analysis.topology
-! leanprover-community/mathlib commit 23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6
+! leanprover-community/mathlib commit 55d771df074d0dd020139ee1cd4b95521422df9f
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.Data.Analysis.Filter
 import Mathbin.Topology.Bases
+import Mathbin.Topology.LocallyFinite
 
 /-!
 # Computational realization of topological spaces (experimental)
Diff
@@ -95,7 +95,7 @@ def ofEquiv (E : σ ≃ τ) : Ctop α σ → Ctop α τ
 lean 3 declaration is
   forall {α : Type.{u1}} {σ : Type.{u2}} {τ : Type.{u3}} (E : Equiv.{succ u2, succ u3} σ τ) (F : Ctop.{u1, u2} α σ) (a : τ), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (Ctop.{u1, u3} α τ) (fun (_x : Ctop.{u1, u3} α τ) => τ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u3} α τ) (Ctop.ofEquiv.{u1, u2, u3} α σ τ E F) a) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α σ) (fun (_x : Ctop.{u1, u2} α σ) => σ -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α σ) F (coeFn.{max 1 (max (succ u3) (succ u2)) (succ u2) (succ u3), max (succ u3) (succ u2)} (Equiv.{succ u3, succ u2} τ σ) (fun (_x : Equiv.{succ u3, succ u2} τ σ) => τ -> σ) (Equiv.hasCoeToFun.{succ u3, succ u2} τ σ) (Equiv.symm.{succ u2, succ u3} σ τ E) a))
 but is expected to have type
-  forall {α : Type.{u1}} {σ : Type.{u3}} {τ : Type.{u2}} (E : Equiv.{succ u3, succ u2} σ τ) (F : Ctop.{u1, u3} α σ) (a : τ), Eq.{succ u1} (Set.{u1} α) (Ctop.f.{u1, u2} α τ (Ctop.ofEquiv.{u1, u3, u2} α σ τ E F) a) (Ctop.f.{u1, u3} α σ F (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (Equiv.{succ u2, succ u3} τ σ) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : τ) => σ) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u3} τ σ) (Equiv.symm.{succ u3, succ u2} σ τ E) a))
+  forall {α : Type.{u1}} {σ : Type.{u3}} {τ : Type.{u2}} (E : Equiv.{succ u3, succ u2} σ τ) (F : Ctop.{u1, u3} α σ) (a : τ), Eq.{succ u1} (Set.{u1} α) (Ctop.f.{u1, u2} α τ (Ctop.ofEquiv.{u1, u3, u2} α σ τ E F) a) (Ctop.f.{u1, u3} α σ F (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (Equiv.{succ u2, succ u3} τ σ) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : τ) => σ) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u3} τ σ) (Equiv.symm.{succ u3, succ u2} σ τ E) a))
 Case conversion may be inaccurate. Consider using '#align ctop.of_equiv_val Ctop.ofEquiv_valₓ'. -/
 @[simp]
 theorem ofEquiv_val (E : σ ≃ τ) (F : Ctop α σ) (a : τ) : F.of_equiv E a = F (E.symm a) := by
@@ -302,7 +302,7 @@ theorem ofEquiv_σ (F : Realizer α) (E : F.σ ≃ τ) : (F.of_equiv E).σ = τ
 lean 3 declaration is
   forall {α : Type.{u1}} {τ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] (F : Ctop.Realizer.{u1, u3} α _inst_1) (E : Equiv.{succ u3, succ u2} (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) τ) (s : τ), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E))) (fun (_x : Ctop.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E))) => (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E)) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u2} α (Ctop.Realizer.σ.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E))) (Ctop.Realizer.f.{u1, u2} α _inst_1 (Ctop.Realizer.ofEquiv.{u1, u2, u3} α τ _inst_1 F E)) s) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (Ctop.{u1, u3} α (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (fun (_x : Ctop.{u1, u3} α (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) => (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) -> (Set.{u1} α)) (Ctop.hasCoeToFun.{u1, u3} α (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (Ctop.Realizer.f.{u1, u3} α _inst_1 F) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} τ (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (fun (_x : Equiv.{succ u2, succ u3} τ (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) => τ -> (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (Equiv.hasCoeToFun.{succ u2, succ u3} τ (Ctop.Realizer.σ.{u1, u3} α _inst_1 F)) (Equiv.symm.{succ u3, succ u2} (Ctop.Realizer.σ.{u1, u3} α _inst_1 F) τ E) s))
 but is expected to have type
-  forall {α : Type.{u3}} {τ : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] (F : Ctop.Realizer.{u3, u2} α _inst_1) (E : Equiv.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ) (s : τ), Eq.{succ u3} (Set.{u3} α) (Ctop.f.{u3, u1} α (Ctop.Realizer.σ.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) (Ctop.Realizer.F.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) s) (Ctop.f.{u3, u2} α (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) (Ctop.Realizer.F.{u3, u2} α _inst_1 F) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : τ) => Ctop.Realizer.σ.{u3, u2} α _inst_1 F) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) (Equiv.symm.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ E) s))
+  forall {α : Type.{u3}} {τ : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] (F : Ctop.Realizer.{u3, u2} α _inst_1) (E : Equiv.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ) (s : τ), Eq.{succ u3} (Set.{u3} α) (Ctop.f.{u3, u1} α (Ctop.Realizer.σ.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) (Ctop.Realizer.F.{u3, u1} α _inst_1 (Ctop.Realizer.ofEquiv.{u3, u1, u2} α τ _inst_1 F E)) s) (Ctop.f.{u3, u2} α (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) (Ctop.Realizer.F.{u3, u2} α _inst_1 F) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) τ (fun (_x : τ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : τ) => Ctop.Realizer.σ.{u3, u2} α _inst_1 F) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} τ (Ctop.Realizer.σ.{u3, u2} α _inst_1 F)) (Equiv.symm.{succ u2, succ u1} (Ctop.Realizer.σ.{u3, u2} α _inst_1 F) τ E) s))
 Case conversion may be inaccurate. Consider using '#align ctop.realizer.of_equiv_F Ctop.Realizer.ofEquiv_Fₓ'. -/
 @[simp]
 theorem ofEquiv_F (F : Realizer α) (E : F.σ ≃ τ) (s : τ) : (F.of_equiv E).f s = F.f (E.symm s) := by
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro
 
 ! This file was ported from Lean 3 source module data.analysis.topology
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Topology.Bases
 /-!
 # Computational realization of topological spaces (experimental)
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file provides infrastructure to compute with topological spaces.
 
 ## Main declarations

Changes in mathlib4

mathlib3
mathlib4
chore: remove more bex and ball from lemma names (#11615)

Follow-up to #10816.

Remaining places containing such lemmas are

  • Option.bex_ne_none and Option.ball_ne_none: defined in Lean core
  • Nat.decidableBallLT and Nat.decidableBallLE: defined in Lean core
  • bef_def is still used in a number of places and could be renamed
  • BAll.imp_{left,right}, BEx.imp_{left,right}, BEx.intro and BEx.elim

I only audited the first ~150 lemmas mentioning "ball"; too many lemmas named after Metric.ball/openBall/closedBall.

Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -136,7 +136,7 @@ protected theorem mem_nhds [T : TopologicalSpace α] (F : Realizer α) {s : Set
 
 theorem isOpen_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
     IsOpen s ↔ ∀ a ∈ s, ∃ b, a ∈ F.F b ∧ F.F b ⊆ s :=
-  isOpen_iff_mem_nhds.trans <| ball_congr fun _a _h ↦ F.mem_nhds
+  isOpen_iff_mem_nhds.trans <| forall₂_congr fun _a _h ↦ F.mem_nhds
 #align ctop.realizer.is_open_iff Ctop.Realizer.isOpen_iff
 
 theorem isClosed_iff [TopologicalSpace α] (F : Realizer α) {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
@@ -160,7 +160,7 @@ protected theorem isOpen [TopologicalSpace α] (F : Realizer α) (s : F.σ) : Is
 
 theorem ext' [T : TopologicalSpace α] {σ : Type*} {F : Ctop α σ}
     (H : ∀ a s, s ∈ 𝓝 a ↔ ∃ b, a ∈ F b ∧ F b ⊆ s) : F.toTopsp = T := by
-  refine' eq_of_nhds_eq_nhds fun x ↦ _
+  refine TopologicalSpace.ext_nhds fun x ↦ ?_
   ext s
   rw [mem_nhds_toTopsp, H]
 #align ctop.realizer.ext' Ctop.Realizer.ext'
chore: replace λ by fun (#11301)

Per the style guidelines, λ is disallowed in mathlib. This is close to exhaustive; I left some tactic code alone when it seemed to me that tactic could be upstreamed soon.

Notes

  • In lines I was modifying anyway, I also converted => to .
  • Also contains some mild in-passing indentation fixes in Mathlib/Order/SupClosed.
  • Some doc comments still contained Lean 3 syntax λ x, , which I also replaced.
Diff
@@ -280,4 +280,4 @@ instance [TopologicalSpace α] : Inhabited (Compact.Realizer (∅ : Set α)) :=
   ⟨fun {f} F x h hF ↦ by
     suffices f = ⊥ from absurd this h
     rw [← F.eq, eq_bot_iff]
-    exact λ s _ ↦ ⟨x, hF.trans s.empty_subset⟩⟩
+    exact fun s _ ↦ ⟨x, hF.trans s.empty_subset⟩⟩
chore: classify dsimp can prove this porting notes (#10686)

Classifies by adding issue number (#10685) to porting notes claiming dsimp can prove this.

Diff
@@ -60,7 +60,7 @@ variable (F : Ctop α σ)
 instance : CoeFun (Ctop α σ) fun _ ↦ σ → Set α :=
   ⟨Ctop.f⟩
 
--- @[simp] -- Porting note: dsimp can prove this
+-- @[simp] -- Porting note (#10685): dsimp can prove this
 theorem coe_mk (f T h₁ I h₂ h₃ a) : (@Ctop.mk α σ f T h₁ I h₂ h₃) a = f a := rfl
 #align ctop.coe_mk Ctop.coe_mk
 
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

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

This follows on from #6964.

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

Diff
@@ -278,6 +278,6 @@ def Compact.Realizer [TopologicalSpace α] (s : Set α) :=
 
 instance [TopologicalSpace α] : Inhabited (Compact.Realizer (∅ : Set α)) :=
   ⟨fun {f} F x h hF ↦ by
-    suffices : f = ⊥; exact absurd this h
+    suffices f = ⊥ from absurd this h
     rw [← F.eq, eq_bot_iff]
     exact λ s _ ↦ ⟨x, hF.trans s.empty_subset⟩⟩
refactor(Set/Finite): redefine using _root_.Finite (#10542)
Diff
@@ -247,7 +247,7 @@ structure LocallyFinite.Realizer [TopologicalSpace α] (F : Ctop.Realizer α) (f
 
 theorem LocallyFinite.Realizer.to_locallyFinite [TopologicalSpace α] {F : Ctop.Realizer α}
     {f : β → Set α} (R : LocallyFinite.Realizer F f) : LocallyFinite f := fun a ↦
-  ⟨_, F.mem_nhds.2 ⟨(R.bas a).1, (R.bas a).2, Subset.refl _⟩, ⟨R.sets a⟩⟩
+  ⟨_, F.mem_nhds.2 ⟨(R.bas a).1, (R.bas a).2, Subset.rfl⟩, have := R.sets a; Set.toFinite _⟩
 #align locally_finite.realizer.to_locally_finite LocallyFinite.Realizer.to_locallyFinite
 
 theorem locallyFinite_iff_exists_realizer [TopologicalSpace α] (F : Ctop.Realizer α)
chore: exactly 4 spaces in theorems (#7328)

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

Diff
@@ -246,12 +246,12 @@ structure LocallyFinite.Realizer [TopologicalSpace α] (F : Ctop.Realizer α) (f
 #align locally_finite.realizer LocallyFinite.Realizer
 
 theorem LocallyFinite.Realizer.to_locallyFinite [TopologicalSpace α] {F : Ctop.Realizer α}
-  {f : β → Set α} (R : LocallyFinite.Realizer F f) : LocallyFinite f := fun a ↦
+    {f : β → Set α} (R : LocallyFinite.Realizer F f) : LocallyFinite f := fun a ↦
   ⟨_, F.mem_nhds.2 ⟨(R.bas a).1, (R.bas a).2, Subset.refl _⟩, ⟨R.sets a⟩⟩
 #align locally_finite.realizer.to_locally_finite LocallyFinite.Realizer.to_locallyFinite
 
-theorem locallyFinite_iff_exists_realizer [TopologicalSpace α]
-  (F : Ctop.Realizer α) {f : β → Set α} : LocallyFinite f ↔ Nonempty (LocallyFinite.Realizer F f) :=
+theorem locallyFinite_iff_exists_realizer [TopologicalSpace α] (F : Ctop.Realizer α)
+    {f : β → Set α} : LocallyFinite f ↔ Nonempty (LocallyFinite.Realizer F f) :=
   ⟨fun h ↦
     let ⟨g, h₁⟩ := Classical.axiom_of_choice h
     let ⟨g₂, h₂⟩ :=
chore: exactly 4 spaces in subsequent lines (#7296)

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

Diff
@@ -130,7 +130,7 @@ protected theorem is_basis [T : TopologicalSpace α] (F : Realizer α) :
 #align ctop.realizer.is_basis Ctop.Realizer.is_basis
 
 protected theorem mem_nhds [T : TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
-  s ∈ 𝓝 a ↔ ∃ b, a ∈ F.F b ∧ F.F b ⊆ s := by
+    s ∈ 𝓝 a ↔ ∃ b, a ∈ F.F b ∧ F.F b ⊆ s := by
   have := @mem_nhds_toTopsp _ _ F.F s a; rwa [F.eq] at this
 #align ctop.realizer.mem_nhds Ctop.Realizer.mem_nhds
 
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -32,7 +32,7 @@ open Topology
 /-- A `Ctop α σ` is a realization of a topology (basis) on `α`,
   represented by a type `σ` together with operations for the top element and
   the intersection operation. -/
-structure Ctop (α σ : Type _) where
+structure Ctop (α σ : Type*) where
   f : σ → Set α
   top : α → σ
   top_mem : ∀ x : α, x ∈ f (top x)
@@ -41,7 +41,7 @@ structure Ctop (α σ : Type _) where
   inter_sub : ∀ a b x h, f (inter a b x h) ⊆ f a ∩ f b
 #align ctop Ctop
 
-variable {α : Type _} {β : Type _} {σ : Type _} {τ : Type _}
+variable {α : Type*} {β : Type*} {σ : Type*} {τ : Type*}
 
 instance : Inhabited (Ctop α (Set α)) :=
   ⟨{  f := id
@@ -107,7 +107,7 @@ end Ctop
 /-- A `Ctop` realizer for the topological space `T` is a `Ctop`
   which generates `T`. -/
 structure Ctop.Realizer (α) [T : TopologicalSpace α] where
-  σ : Type _
+  σ : Type*
   F : Ctop α σ
   eq : F.toTopsp = T
 #align ctop.realizer Ctop.Realizer
@@ -158,14 +158,14 @@ protected theorem isOpen [TopologicalSpace α] (F : Realizer α) (s : F.σ) : Is
   isOpen_iff_nhds.2 fun a m ↦ by simpa using F.mem_nhds.2 ⟨s, m, Subset.refl _⟩
 #align ctop.realizer.is_open Ctop.Realizer.isOpen
 
-theorem ext' [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ}
+theorem ext' [T : TopologicalSpace α] {σ : Type*} {F : Ctop α σ}
     (H : ∀ a s, s ∈ 𝓝 a ↔ ∃ b, a ∈ F b ∧ F b ⊆ s) : F.toTopsp = T := by
   refine' eq_of_nhds_eq_nhds fun x ↦ _
   ext s
   rw [mem_nhds_toTopsp, H]
 #align ctop.realizer.ext' Ctop.Realizer.ext'
 
-theorem ext [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ} (H₁ : ∀ a, IsOpen (F a))
+theorem ext [T : TopologicalSpace α] {σ : Type*} {F : Ctop α σ} (H₁ : ∀ a, IsOpen (F a))
     (H₂ : ∀ a s, s ∈ 𝓝 a → ∃ b, a ∈ F b ∧ F b ⊆ s) : F.toTopsp = T :=
   ext' fun a s ↦ ⟨H₂ a s, fun ⟨_b, h₁, h₂⟩ ↦ mem_nhds_iff.2 ⟨_, h₂, H₁ _, h₁⟩⟩
 #align ctop.realizer.ext Ctop.Realizer.ext
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2017 Mario Carneiro. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro
-
-! This file was ported from Lean 3 source module data.analysis.topology
-! leanprover-community/mathlib commit 55d771df074d0dd020139ee1cd4b95521422df9f
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Data.Analysis.Filter
 import Mathlib.Topology.Bases
 import Mathlib.Topology.LocallyFinite
 
+#align_import data.analysis.topology from "leanprover-community/mathlib"@"55d771df074d0dd020139ee1cd4b95521422df9f"
+
 /-!
 # Computational realization of topological spaces (experimental)
 
chore: remove occurrences of semicolon after space (#5713)

This is the second half of the changes originally in #5699, removing all occurrences of ; after a space and implementing a linter rule to enforce it.

In most cases this 2-character substring has a space after it, so the following command was run first:

find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;

The remaining cases were few enough in number that they were done manually.

Diff
@@ -80,7 +80,7 @@ def ofEquiv (E : σ ≃ τ) : Ctop α σ → Ctop α τ
 
 @[simp]
 theorem ofEquiv_val (E : σ ≃ τ) (F : Ctop α σ) (a : τ) : F.ofEquiv E a = F (E.symm a) := by
-  cases F ; rfl
+  cases F; rfl
 #align ctop.of_equiv_val Ctop.ofEquiv_val
 
 end
@@ -129,12 +129,12 @@ namespace Ctop.Realizer
 
 protected theorem is_basis [T : TopologicalSpace α] (F : Realizer α) :
     TopologicalSpace.IsTopologicalBasis (Set.range F.F.f) := by
-  have := toTopsp_isTopologicalBasis F.F ; rwa [F.eq] at this
+  have := toTopsp_isTopologicalBasis F.F; rwa [F.eq] at this
 #align ctop.realizer.is_basis Ctop.Realizer.is_basis
 
 protected theorem mem_nhds [T : TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
   s ∈ 𝓝 a ↔ ∃ b, a ∈ F.F b ∧ F.F b ⊆ s := by
-  have := @mem_nhds_toTopsp _ _ F.F s a ; rwa [F.eq] at this
+  have := @mem_nhds_toTopsp _ _ F.F s a; rwa [F.eq] at this
 #align ctop.realizer.mem_nhds Ctop.Realizer.mem_nhds
 
 theorem isOpen_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
@@ -148,8 +148,8 @@ theorem isClosed_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
     F.isOpen_iff.trans <|
       forall_congr' fun a ↦
         show (a ∉ s → ∃ b : F.σ, a ∈ F.F b ∧ ∀ z ∈ F.F b, z ∉ s) ↔ _ by
-          haveI := Classical.propDecidable ; rw [not_imp_comm] ;
-            simp [not_exists, not_and, not_forall, and_comm]
+          haveI := Classical.propDecidable; rw [not_imp_comm]
+          simp [not_exists, not_and, not_forall, and_comm]
 #align ctop.realizer.is_closed_iff Ctop.Realizer.isClosed_iff
 
 theorem mem_interior_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
@@ -205,7 +205,7 @@ theorem ofEquiv_σ (F : Realizer α) (E : F.σ ≃ τ) : (F.ofEquiv E).σ = τ :
 
 @[simp]
 theorem ofEquiv_F (F : Realizer α) (E : F.σ ≃ τ) (s : τ) : (F.ofEquiv E).F s = F.F (E.symm s) := by
-  delta ofEquiv ; simp
+  delta ofEquiv; simp
 set_option linter.uppercaseLean3 false in
 #align ctop.realizer.of_equiv_F Ctop.Realizer.ofEquiv_F
 
@@ -281,6 +281,6 @@ def Compact.Realizer [TopologicalSpace α] (s : Set α) :=
 
 instance [TopologicalSpace α] : Inhabited (Compact.Realizer (∅ : Set α)) :=
   ⟨fun {f} F x h hF ↦ by
-    suffices : f = ⊥ ; exact absurd this h
+    suffices : f = ⊥; exact absurd this h
     rw [← F.eq, eq_bot_iff]
     exact λ s _ ↦ ⟨x, hF.trans s.empty_subset⟩⟩
chore: fix upper/lowercase in comments (#4360)
  • Run a non-interactive version of fix-comments.py on all files.
  • Go through the diff and manually add/discard/edit chunks.
Diff
@@ -240,7 +240,7 @@ theorem tendsto_nhds_iff {m : β → α} {f : Filter β} (F : f.Realizer) (R : R
 
 end Ctop.Realizer
 
-/-- A `locally_finite.realizer F f` is a realization that `f` is locally finite, namely it is a
+/-- A `LocallyFinite.Realizer F f` is a realization that `f` is locally finite, namely it is a
 choice of open sets from the basis of `F` such that they intersect only finitely many of the values
 of `f`.  -/
 structure LocallyFinite.Realizer [TopologicalSpace α] (F : Ctop.Realizer α) (f : β → Set α) where
chore: bump to nightly-2023-04-11 (#3139)
Diff
@@ -149,7 +149,7 @@ theorem isClosed_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} :
       forall_congr' fun a ↦
         show (a ∉ s → ∃ b : F.σ, a ∈ F.F b ∧ ∀ z ∈ F.F b, z ∉ s) ↔ _ by
           haveI := Classical.propDecidable ; rw [not_imp_comm] ;
-            simp [not_exists, not_and, not_forall, and_comm]; trivial
+            simp [not_exists, not_and, not_forall, and_comm]
 #align ctop.realizer.is_closed_iff Ctop.Realizer.isClosed_iff
 
 theorem mem_interior_iff [TopologicalSpace α] (F : Realizer α) {s : Set α} {a : α} :
feat: forward-port #18321 (#3101)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -4,12 +4,13 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Mario Carneiro
 
 ! This file was ported from Lean 3 source module data.analysis.topology
-! leanprover-community/mathlib commit 28aa996fc6fb4317f0083c4e6daf79878d81be33
+! leanprover-community/mathlib commit 55d771df074d0dd020139ee1cd4b95521422df9f
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathlib.Data.Analysis.Filter
 import Mathlib.Topology.Bases
+import Mathlib.Topology.LocallyFinite
 
 /-!
 # Computational realization of topological spaces (experimental)
chore: strip trailing spaces in lean files (#2828)

vscode is already configured by .vscode/settings.json to trim these on save. It's not clear how they've managed to stick around.

By doing this all in one PR now, it avoids getting random whitespace diffs in PRs later.

This was done with a regex search in vscode,

image

Diff
@@ -174,7 +174,7 @@ theorem ext [T : TopologicalSpace α] {σ : Type _} {F : Ctop α σ} (H₁ : ∀
 
 variable [TopologicalSpace α]
 
--- Porting note: add non-computable : because 
+-- Porting note: add non-computable : because
 -- > ... it depends on `Inter.inter`, and it does not have executable code.
 /-- The topological space realizer made of the open sets. -/
 protected noncomputable def id : Realizer α :=
feat: Port Data.Analysis.Topology (#2399)

Dependencies 7 + 292

293 files ported (97.7%)
126418 lines ported (97.6%)
Show graph

The unported dependencies are