topology.category.Top.limits.cofilteredMathlib.Topology.Category.TopCat.Limits.Cofiltered

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)

(last sync)

(last sync)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

chore(topology/category/Top/limits): split file (#18871)

Per https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/!4.233487.20last.20minute.20split.3F

This file is already being ported at https://github.com/leanprover-community/mathlib4/pull/3487, but:

  • it's not going so well right now
  • it is going well up to the point of the proposed new limits/basic.lean
  • that is sufficient to port the files needed for Copenhagen

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

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -3,7 +3,7 @@ Copyright (c) 2017 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Scott Morrison, Mario Carneiro, Andrew Yang
 -/
-import Topology.Category.Top.Limits.Basic
+import Topology.Category.TopCat.Limits.Basic
 
 #align_import topology.category.Top.limits.cofiltered from "leanprover-community/mathlib"@"dbdf71cee7bb20367cb7e37279c08b0c218cf967"
 
Diff
@@ -68,7 +68,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
       refine' ⟨j, V, hV, rfl⟩
   -- Using `D`, we can apply the characterization of the topological basis of a
   -- topology defined as an infimum...
-  convert isTopologicalBasis_iInf hT fun j (x : D.X) => D.π.app j x
+  convert IsTopologicalBasis.iInf_induced hT fun j (x : D.X) => D.π.app j x
   ext U0
   constructor
   · rintro ⟨j, V, hV, rfl⟩
Diff
@@ -75,7 +75,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     let U : ∀ i, Set (F.obj i) := fun i => if h : i = j then by rw [h]; exact V else Set.univ
     refine' ⟨U, {j}, _, _⟩
     · rintro i h
-      rw [Finset.mem_singleton] at h 
+      rw [Finset.mem_singleton] at h
       dsimp [U]
       rw [dif_pos h]
       subst h
Diff
@@ -47,18 +47,85 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     (compat : ∀ (i j : J) (f : i ⟶ j) (V : Set (F.obj j)) (hV : V ∈ T j), F.map f ⁻¹' V ∈ T i) :
     IsTopologicalBasis
       {U : Set C.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V} :=
-  by classical
+  by
+  classical
+  -- The limit cone for `F` whose topology is defined as an infimum.
+  let D := limit_cone_infi F
+  -- The isomorphism between the cone point of `C` and the cone point of `D`.
+  let E : C.X ≅ D.X := hC.cone_point_unique_up_to_iso (limit_cone_infi_is_limit _)
+  have hE : Inducing E.hom := (TopCat.homeoOfIso E).Inducing
+  -- Reduce to the assertion of the theorem with `D` instead of `C`.
+  suffices
+    is_topological_basis
+      {U : Set D.X | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V}
+    by
+    convert this.inducing hE
+    ext U0
+    constructor
+    · rintro ⟨j, V, hV, rfl⟩
+      refine' ⟨D.π.app j ⁻¹' V, ⟨j, V, hV, rfl⟩, rfl⟩
+    · rintro ⟨W, ⟨j, V, hV, rfl⟩, rfl⟩
+      refine' ⟨j, V, hV, rfl⟩
+  -- Using `D`, we can apply the characterization of the topological basis of a
+  -- topology defined as an infimum...
+  convert isTopologicalBasis_iInf hT fun j (x : D.X) => D.π.app j x
+  ext U0
+  constructor
+  · rintro ⟨j, V, hV, rfl⟩
+    let U : ∀ i, Set (F.obj i) := fun i => if h : i = j then by rw [h]; exact V else Set.univ
+    refine' ⟨U, {j}, _, _⟩
+    · rintro i h
+      rw [Finset.mem_singleton] at h 
+      dsimp [U]
+      rw [dif_pos h]
+      subst h
+      exact hV
+    · dsimp [U]
+      simp
+  · rintro ⟨U, G, h1, h2⟩
+    obtain ⟨j, hj⟩ := is_cofiltered.inf_objs_exists G
+    let g : ∀ (e) (he : e ∈ G), j ⟶ e := fun _ he => (hj he).some
+    let Vs : J → Set (F.obj j) := fun e => if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
+    let V : Set (F.obj j) := ⋂ (e : J) (he : e ∈ G), Vs e
+    refine' ⟨j, V, _, _⟩
+    · -- An intermediate claim used to apply induction along `G : finset J` later on.
+      have :
+        ∀ (S : Set (Set (F.obj j))) (E : Finset J) (P : J → Set (F.obj j)) (univ : Set.univ ∈ S)
+          (inter : ∀ A B : Set (F.obj j), A ∈ S → B ∈ S → A ∩ B ∈ S)
+          (cond : ∀ (e : J) (he : e ∈ E), P e ∈ S), (⋂ (e) (he : e ∈ E), P e) ∈ S :=
+        by
+        intro S E
+        apply E.induction_on
+        · intro P he hh
+          simpa
+        · intro a E ha hh1 hh2 hh3 hh4 hh5
+          rw [Finset.set_biInter_insert]
+          refine' hh4 _ _ (hh5 _ (Finset.mem_insert_self _ _)) (hh1 _ hh3 hh4 _)
+          intro e he
+          exact hh5 e (Finset.mem_insert_of_mem he)
+      -- use the intermediate claim to finish off the goal using `univ` and `inter`.
+      refine' this _ _ _ (univ _) (inter _) _
+      intro e he
+      dsimp [Vs]
+      rw [dif_pos he]
+      exact compat j e (g e he) (U e) (h1 e he)
+    · -- conclude...
+      rw [h2]
+      dsimp [V]
+      rw [Set.preimage_iInter]
+      congr 1
+      ext1 e
+      rw [Set.preimage_iInter]
+      congr 1
+      ext1 he
+      dsimp [Vs]
+      rw [dif_pos he, ← Set.preimage_comp]
+      congr 1
+      change _ = ⇑(D.π.app j ≫ F.map (g e he))
+      rw [D.w]
 #align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limit
 -/
 
--- The limit cone for `F` whose topology is defined as an infimum.
--- The isomorphism between the cone point of `C` and the cone point of `D`.
--- Reduce to the assertion of the theorem with `D` instead of `C`.
--- Using `D`, we can apply the characterization of the topological basis of a
--- topology defined as an infimum...
--- An intermediate claim used to apply induction along `G : finset J` later on.
--- use the intermediate claim to finish off the goal using `univ` and `inter`.
--- conclude...
 end CofilteredLimit
 
 end TopCat
Diff
@@ -47,85 +47,18 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     (compat : ∀ (i j : J) (f : i ⟶ j) (V : Set (F.obj j)) (hV : V ∈ T j), F.map f ⁻¹' V ∈ T i) :
     IsTopologicalBasis
       {U : Set C.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V} :=
-  by
-  classical
-  -- The limit cone for `F` whose topology is defined as an infimum.
-  let D := limit_cone_infi F
-  -- The isomorphism between the cone point of `C` and the cone point of `D`.
-  let E : C.X ≅ D.X := hC.cone_point_unique_up_to_iso (limit_cone_infi_is_limit _)
-  have hE : Inducing E.hom := (TopCat.homeoOfIso E).Inducing
-  -- Reduce to the assertion of the theorem with `D` instead of `C`.
-  suffices
-    is_topological_basis
-      {U : Set D.X | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V}
-    by
-    convert this.inducing hE
-    ext U0
-    constructor
-    · rintro ⟨j, V, hV, rfl⟩
-      refine' ⟨D.π.app j ⁻¹' V, ⟨j, V, hV, rfl⟩, rfl⟩
-    · rintro ⟨W, ⟨j, V, hV, rfl⟩, rfl⟩
-      refine' ⟨j, V, hV, rfl⟩
-  -- Using `D`, we can apply the characterization of the topological basis of a
-  -- topology defined as an infimum...
-  convert isTopologicalBasis_iInf hT fun j (x : D.X) => D.π.app j x
-  ext U0
-  constructor
-  · rintro ⟨j, V, hV, rfl⟩
-    let U : ∀ i, Set (F.obj i) := fun i => if h : i = j then by rw [h]; exact V else Set.univ
-    refine' ⟨U, {j}, _, _⟩
-    · rintro i h
-      rw [Finset.mem_singleton] at h 
-      dsimp [U]
-      rw [dif_pos h]
-      subst h
-      exact hV
-    · dsimp [U]
-      simp
-  · rintro ⟨U, G, h1, h2⟩
-    obtain ⟨j, hj⟩ := is_cofiltered.inf_objs_exists G
-    let g : ∀ (e) (he : e ∈ G), j ⟶ e := fun _ he => (hj he).some
-    let Vs : J → Set (F.obj j) := fun e => if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
-    let V : Set (F.obj j) := ⋂ (e : J) (he : e ∈ G), Vs e
-    refine' ⟨j, V, _, _⟩
-    · -- An intermediate claim used to apply induction along `G : finset J` later on.
-      have :
-        ∀ (S : Set (Set (F.obj j))) (E : Finset J) (P : J → Set (F.obj j)) (univ : Set.univ ∈ S)
-          (inter : ∀ A B : Set (F.obj j), A ∈ S → B ∈ S → A ∩ B ∈ S)
-          (cond : ∀ (e : J) (he : e ∈ E), P e ∈ S), (⋂ (e) (he : e ∈ E), P e) ∈ S :=
-        by
-        intro S E
-        apply E.induction_on
-        · intro P he hh
-          simpa
-        · intro a E ha hh1 hh2 hh3 hh4 hh5
-          rw [Finset.set_biInter_insert]
-          refine' hh4 _ _ (hh5 _ (Finset.mem_insert_self _ _)) (hh1 _ hh3 hh4 _)
-          intro e he
-          exact hh5 e (Finset.mem_insert_of_mem he)
-      -- use the intermediate claim to finish off the goal using `univ` and `inter`.
-      refine' this _ _ _ (univ _) (inter _) _
-      intro e he
-      dsimp [Vs]
-      rw [dif_pos he]
-      exact compat j e (g e he) (U e) (h1 e he)
-    · -- conclude...
-      rw [h2]
-      dsimp [V]
-      rw [Set.preimage_iInter]
-      congr 1
-      ext1 e
-      rw [Set.preimage_iInter]
-      congr 1
-      ext1 he
-      dsimp [Vs]
-      rw [dif_pos he, ← Set.preimage_comp]
-      congr 1
-      change _ = ⇑(D.π.app j ≫ F.map (g e he))
-      rw [D.w]
+  by classical
 #align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limit
 -/
 
+-- The limit cone for `F` whose topology is defined as an infimum.
+-- The isomorphism between the cone point of `C` and the cone point of `D`.
+-- Reduce to the assertion of the theorem with `D` instead of `C`.
+-- Using `D`, we can apply the characterization of the topological basis of a
+-- topology defined as an infimum...
+-- An intermediate claim used to apply induction along `G : finset J` later on.
+-- use the intermediate claim to finish off the goal using `univ` and `inter`.
+-- conclude...
 end CofilteredLimit
 
 end TopCat
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2017 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Scott Morrison, Mario Carneiro, Andrew Yang
 -/
-import Mathbin.Topology.Category.Top.Limits.Basic
+import Topology.Category.Top.Limits.Basic
 
 #align_import topology.category.Top.limits.cofiltered from "leanprover-community/mathlib"@"dbdf71cee7bb20367cb7e37279c08b0c218cf967"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2017 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Scott Morrison, Mario Carneiro, Andrew Yang
-
-! This file was ported from Lean 3 source module topology.category.Top.limits.cofiltered
-! leanprover-community/mathlib commit dbdf71cee7bb20367cb7e37279c08b0c218cf967
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.Category.Top.Limits.Basic
 
+#align_import topology.category.Top.limits.cofiltered from "leanprover-community/mathlib"@"dbdf71cee7bb20367cb7e37279c08b0c218cf967"
+
 /-!
 # Cofiltered limits in Top.
 
Diff
@@ -39,8 +39,7 @@ section CofilteredLimit
 variable {J : Type v} [SmallCategory J] [IsCofiltered J] (F : J ⥤ TopCat.{max v u}) (C : Cone F)
   (hC : IsLimit C)
 
-include hC
-
+#print TopCat.isTopologicalBasis_cofiltered_limit /-
 /-- Given a *compatible* collection of topological bases for the factors in a cofiltered limit
 which contain `set.univ` and are closed under intersections, the induced *naive* collection
 of sets in the limit is, in fact, a topological basis.
@@ -128,6 +127,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
       change _ = ⇑(D.π.app j ≫ F.map (g e he))
       rw [D.w]
 #align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limit
+-/
 
 end CofilteredLimit
 
Diff
@@ -50,83 +50,83 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     (inter : ∀ (i) (U1 U2 : Set (F.obj i)), U1 ∈ T i → U2 ∈ T i → U1 ∩ U2 ∈ T i)
     (compat : ∀ (i j : J) (f : i ⟶ j) (V : Set (F.obj j)) (hV : V ∈ T j), F.map f ⁻¹' V ∈ T i) :
     IsTopologicalBasis
-      { U : Set C.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V } :=
+      {U : Set C.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V} :=
   by
   classical
-    -- The limit cone for `F` whose topology is defined as an infimum.
-    let D := limit_cone_infi F
-    -- The isomorphism between the cone point of `C` and the cone point of `D`.
-    let E : C.X ≅ D.X := hC.cone_point_unique_up_to_iso (limit_cone_infi_is_limit _)
-    have hE : Inducing E.hom := (TopCat.homeoOfIso E).Inducing
-    -- Reduce to the assertion of the theorem with `D` instead of `C`.
-    suffices
-      is_topological_basis
-        { U : Set D.X | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V }
-      by
-      convert this.inducing hE
-      ext U0
-      constructor
-      · rintro ⟨j, V, hV, rfl⟩
-        refine' ⟨D.π.app j ⁻¹' V, ⟨j, V, hV, rfl⟩, rfl⟩
-      · rintro ⟨W, ⟨j, V, hV, rfl⟩, rfl⟩
-        refine' ⟨j, V, hV, rfl⟩
-    -- Using `D`, we can apply the characterization of the topological basis of a
-    -- topology defined as an infimum...
-    convert isTopologicalBasis_iInf hT fun j (x : D.X) => D.π.app j x
+  -- The limit cone for `F` whose topology is defined as an infimum.
+  let D := limit_cone_infi F
+  -- The isomorphism between the cone point of `C` and the cone point of `D`.
+  let E : C.X ≅ D.X := hC.cone_point_unique_up_to_iso (limit_cone_infi_is_limit _)
+  have hE : Inducing E.hom := (TopCat.homeoOfIso E).Inducing
+  -- Reduce to the assertion of the theorem with `D` instead of `C`.
+  suffices
+    is_topological_basis
+      {U : Set D.X | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V}
+    by
+    convert this.inducing hE
     ext U0
     constructor
     · rintro ⟨j, V, hV, rfl⟩
-      let U : ∀ i, Set (F.obj i) := fun i => if h : i = j then by rw [h]; exact V else Set.univ
-      refine' ⟨U, {j}, _, _⟩
-      · rintro i h
-        rw [Finset.mem_singleton] at h 
-        dsimp [U]
-        rw [dif_pos h]
-        subst h
-        exact hV
-      · dsimp [U]
-        simp
-    · rintro ⟨U, G, h1, h2⟩
-      obtain ⟨j, hj⟩ := is_cofiltered.inf_objs_exists G
-      let g : ∀ (e) (he : e ∈ G), j ⟶ e := fun _ he => (hj he).some
-      let Vs : J → Set (F.obj j) := fun e => if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
-      let V : Set (F.obj j) := ⋂ (e : J) (he : e ∈ G), Vs e
-      refine' ⟨j, V, _, _⟩
-      · -- An intermediate claim used to apply induction along `G : finset J` later on.
-        have :
-          ∀ (S : Set (Set (F.obj j))) (E : Finset J) (P : J → Set (F.obj j)) (univ : Set.univ ∈ S)
-            (inter : ∀ A B : Set (F.obj j), A ∈ S → B ∈ S → A ∩ B ∈ S)
-            (cond : ∀ (e : J) (he : e ∈ E), P e ∈ S), (⋂ (e) (he : e ∈ E), P e) ∈ S :=
-          by
-          intro S E
-          apply E.induction_on
-          · intro P he hh
-            simpa
-          · intro a E ha hh1 hh2 hh3 hh4 hh5
-            rw [Finset.set_biInter_insert]
-            refine' hh4 _ _ (hh5 _ (Finset.mem_insert_self _ _)) (hh1 _ hh3 hh4 _)
-            intro e he
-            exact hh5 e (Finset.mem_insert_of_mem he)
-        -- use the intermediate claim to finish off the goal using `univ` and `inter`.
-        refine' this _ _ _ (univ _) (inter _) _
-        intro e he
-        dsimp [Vs]
-        rw [dif_pos he]
-        exact compat j e (g e he) (U e) (h1 e he)
-      · -- conclude...
-        rw [h2]
-        dsimp [V]
-        rw [Set.preimage_iInter]
-        congr 1
-        ext1 e
-        rw [Set.preimage_iInter]
-        congr 1
-        ext1 he
-        dsimp [Vs]
-        rw [dif_pos he, ← Set.preimage_comp]
-        congr 1
-        change _ = ⇑(D.π.app j ≫ F.map (g e he))
-        rw [D.w]
+      refine' ⟨D.π.app j ⁻¹' V, ⟨j, V, hV, rfl⟩, rfl⟩
+    · rintro ⟨W, ⟨j, V, hV, rfl⟩, rfl⟩
+      refine' ⟨j, V, hV, rfl⟩
+  -- Using `D`, we can apply the characterization of the topological basis of a
+  -- topology defined as an infimum...
+  convert isTopologicalBasis_iInf hT fun j (x : D.X) => D.π.app j x
+  ext U0
+  constructor
+  · rintro ⟨j, V, hV, rfl⟩
+    let U : ∀ i, Set (F.obj i) := fun i => if h : i = j then by rw [h]; exact V else Set.univ
+    refine' ⟨U, {j}, _, _⟩
+    · rintro i h
+      rw [Finset.mem_singleton] at h 
+      dsimp [U]
+      rw [dif_pos h]
+      subst h
+      exact hV
+    · dsimp [U]
+      simp
+  · rintro ⟨U, G, h1, h2⟩
+    obtain ⟨j, hj⟩ := is_cofiltered.inf_objs_exists G
+    let g : ∀ (e) (he : e ∈ G), j ⟶ e := fun _ he => (hj he).some
+    let Vs : J → Set (F.obj j) := fun e => if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
+    let V : Set (F.obj j) := ⋂ (e : J) (he : e ∈ G), Vs e
+    refine' ⟨j, V, _, _⟩
+    · -- An intermediate claim used to apply induction along `G : finset J` later on.
+      have :
+        ∀ (S : Set (Set (F.obj j))) (E : Finset J) (P : J → Set (F.obj j)) (univ : Set.univ ∈ S)
+          (inter : ∀ A B : Set (F.obj j), A ∈ S → B ∈ S → A ∩ B ∈ S)
+          (cond : ∀ (e : J) (he : e ∈ E), P e ∈ S), (⋂ (e) (he : e ∈ E), P e) ∈ S :=
+        by
+        intro S E
+        apply E.induction_on
+        · intro P he hh
+          simpa
+        · intro a E ha hh1 hh2 hh3 hh4 hh5
+          rw [Finset.set_biInter_insert]
+          refine' hh4 _ _ (hh5 _ (Finset.mem_insert_self _ _)) (hh1 _ hh3 hh4 _)
+          intro e he
+          exact hh5 e (Finset.mem_insert_of_mem he)
+      -- use the intermediate claim to finish off the goal using `univ` and `inter`.
+      refine' this _ _ _ (univ _) (inter _) _
+      intro e he
+      dsimp [Vs]
+      rw [dif_pos he]
+      exact compat j e (g e he) (U e) (h1 e he)
+    · -- conclude...
+      rw [h2]
+      dsimp [V]
+      rw [Set.preimage_iInter]
+      congr 1
+      ext1 e
+      rw [Set.preimage_iInter]
+      congr 1
+      ext1 he
+      dsimp [Vs]
+      rw [dif_pos he, ← Set.preimage_comp]
+      congr 1
+      change _ = ⇑(D.π.app j ≫ F.map (g e he))
+      rw [D.w]
 #align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limit
 
 end CofilteredLimit
Diff
@@ -50,7 +50,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     (inter : ∀ (i) (U1 U2 : Set (F.obj i)), U1 ∈ T i → U2 ∈ T i → U1 ∩ U2 ∈ T i)
     (compat : ∀ (i j : J) (f : i ⟶ j) (V : Set (F.obj j)) (hV : V ∈ T j), F.map f ⁻¹' V ∈ T i) :
     IsTopologicalBasis
-      { U : Set C.pt | ∃ (j : _)(V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V } :=
+      { U : Set C.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V } :=
   by
   classical
     -- The limit cone for `F` whose topology is defined as an infimum.
@@ -61,7 +61,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     -- Reduce to the assertion of the theorem with `D` instead of `C`.
     suffices
       is_topological_basis
-        { U : Set D.X | ∃ (j : _)(V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V }
+        { U : Set D.X | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V }
       by
       convert this.inducing hE
       ext U0
@@ -79,7 +79,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
       let U : ∀ i, Set (F.obj i) := fun i => if h : i = j then by rw [h]; exact V else Set.univ
       refine' ⟨U, {j}, _, _⟩
       · rintro i h
-        rw [Finset.mem_singleton] at h
+        rw [Finset.mem_singleton] at h 
         dsimp [U]
         rw [dif_pos h]
         subst h
Diff
@@ -41,9 +41,6 @@ variable {J : Type v} [SmallCategory J] [IsCofiltered J] (F : J ⥤ TopCat.{max
 
 include hC
 
-/- warning: Top.is_topological_basis_cofiltered_limit -> TopCat.isTopologicalBasis_cofiltered_limit is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limitₓ'. -/
 /-- Given a *compatible* collection of topological bases for the factors in a cofiltered limit
 which contain `set.univ` and are closed under intersections, the induced *naive* collection
 of sets in the limit is, in fact, a topological basis.
Diff
@@ -79,11 +79,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     ext U0
     constructor
     · rintro ⟨j, V, hV, rfl⟩
-      let U : ∀ i, Set (F.obj i) := fun i =>
-        if h : i = j then by
-          rw [h]
-          exact V
-        else Set.univ
+      let U : ∀ i, Set (F.obj i) := fun i => if h : i = j then by rw [h]; exact V else Set.univ
       refine' ⟨U, {j}, _, _⟩
       · rintro i h
         rw [Finset.mem_singleton] at h
Diff
@@ -42,10 +42,7 @@ variable {J : Type v} [SmallCategory J] [IsCofiltered J] (F : J ⥤ TopCat.{max
 include hC
 
 /- warning: Top.is_topological_basis_cofiltered_limit -> TopCat.isTopologicalBasis_cofiltered_limit is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.SmallCategory.{u2} J] [_inst_2 : CategoryTheory.IsCofiltered.{u2, u2} J _inst_1] (F : CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (C : CategoryTheory.Limits.Cone.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F), (CategoryTheory.Limits.IsLimit.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C) -> (forall (T : forall (j : J), Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))), (forall (j : J), TopologicalSpace.IsTopologicalBasis.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (TopCat.topologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (T j)) -> (forall (i : J), Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.univ.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (T i)) -> (forall (i : J) (U1 : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (U2 : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))), (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) U1 (T i)) -> (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) U2 (T i)) -> (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Inter.inter.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.hasInter.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) U1 U2) (T i))) -> (forall (i : J) (j : J) (f : Quiver.Hom.{succ u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} J (CategoryTheory.Category.toCategoryStruct.{u2, u2} J _inst_1)) i j) (V : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))), (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))) V (T j)) -> (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.preimage.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (Quiver.Hom.{succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1})) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (fun (_x : ContinuousMap.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) => (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) -> (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (ContinuousMap.hasCoeToFun.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (CategoryTheory.Functor.map.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i j f)) V) (T i))) -> (TopologicalSpace.IsTopologicalBasis.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) (TopCat.topologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) (setOf.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C))) (fun (U : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C))) => Exists.{succ u2} J (fun (j : J) => Exists.{succ (max u2 u1)} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (fun (V : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) => And (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))) V (T j)) (Eq.{succ (max u2 u1)} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C))) U (Set.preimage.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (Quiver.Hom.{succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1})) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (fun (_x : ContinuousMap.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) => (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) -> (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (ContinuousMap.hasCoeToFun.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (CategoryTheory.NatTrans.app.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) F (CategoryTheory.Limits.Cone.π.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C) j)) V))))))))
-but is expected to have type
-  forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.IsCofiltered.{u1, u1} J _inst_1] (F : CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (C : CategoryTheory.Limits.Cone.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F), (CategoryTheory.Limits.IsLimit.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C) -> (forall (T : forall (j : J), Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))), (forall (j : J), TopologicalSpace.IsTopologicalBasis.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)) (TopCat.topologicalSpace_coe.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)) (T j)) -> (forall (i : J), Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.univ.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (T i)) -> (forall (i : J) (U1 : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (U2 : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))), (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) U1 (T i)) -> (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) U2 (T i)) -> (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Inter.inter.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.instInterSet.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) U1 U2) (T i))) -> (forall (i : J) (j : J) (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) i j) (V : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))), (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))) V (T j)) -> (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.preimage.{max u2 u1, max u2 u1} (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)) (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)) (Prefunctor.map.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j) (Prefunctor.map.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i j f)) V) (T i))) -> (TopologicalSpace.IsTopologicalBasis.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C)) (TopCat.topologicalSpace_coe.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C)) (setOf.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) (fun (U : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) => Exists.{succ u1} J (fun (j : J) => Exists.{max (succ u2) (succ u1)} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))) (fun (V : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))) => And (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))) V (T j)) (Eq.{max (succ u2) (succ u1)} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) U (Set.preimage.{max u2 u1, max u2 u1} (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, succ (max u2 u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (Prefunctor.obj.{succ (max u2 u1), max (succ u1) (succ (max u2 u1)), max (succ u2) (succ u1), max (max u2 u1) (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (succ u2) (succ u1), max (max u1 (succ u2) (succ u1)) u2 u1} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) j)) (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, succ (max u2 u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)) (Prefunctor.map.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, succ (max u2 u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (Prefunctor.obj.{succ (max u2 u1), max (succ u1) (succ (max u2 u1)), max (succ u2) (succ u1), max (max u2 u1) (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (succ u2) (succ u1), max (max u1 (succ u2) (succ u1)) u2 u1} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) j) (Prefunctor.obj.{succ u1, succ (max u2 u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j) (CategoryTheory.NatTrans.app.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (Prefunctor.obj.{succ (max u2 u1), max (succ u1) (succ (max u2 u1)), max (succ u2) (succ u1), max (max u2 u1) (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (succ u2) (succ u1), max (max u1 (succ u2) (succ u1)) u2 u1} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C)) F (CategoryTheory.Limits.Cone.π.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C) j)) V))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limitₓ'. -/
 /-- Given a *compatible* collection of topological bases for the factors in a cofiltered limit
 which contain `set.univ` and are closed under intersections, the induced *naive* collection
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Scott Morrison, Mario Carneiro, Andrew Yang
 
 ! This file was ported from Lean 3 source module topology.category.Top.limits.cofiltered
-! leanprover-community/mathlib commit 178a32653e369dce2da68dc6b2694e385d484ef1
+! leanprover-community/mathlib commit dbdf71cee7bb20367cb7e37279c08b0c218cf967
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.Topology.Category.Top.Limits.Basic
 /-!
 # Cofiltered limits in Top.
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 Given a *compatible* collection of topological bases for the factors in a cofiltered limit
 which contain `set.univ` and are closed under intersections, the induced *naive* collection
 of sets in the limit is, in fact, a topological basis.
Diff
@@ -75,7 +75,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
         refine' ⟨j, V, hV, rfl⟩
     -- Using `D`, we can apply the characterization of the topological basis of a
     -- topology defined as an infimum...
-    convert isTopologicalBasis_infᵢ hT fun j (x : D.X) => D.π.app j x
+    convert isTopologicalBasis_iInf hT fun j (x : D.X) => D.π.app j x
     ext U0
     constructor
     · rintro ⟨j, V, hV, rfl⟩
@@ -110,7 +110,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
           · intro P he hh
             simpa
           · intro a E ha hh1 hh2 hh3 hh4 hh5
-            rw [Finset.set_binterᵢ_insert]
+            rw [Finset.set_biInter_insert]
             refine' hh4 _ _ (hh5 _ (Finset.mem_insert_self _ _)) (hh1 _ hh3 hh4 _)
             intro e he
             exact hh5 e (Finset.mem_insert_of_mem he)
@@ -123,10 +123,10 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
       · -- conclude...
         rw [h2]
         dsimp [V]
-        rw [Set.preimage_interᵢ]
+        rw [Set.preimage_iInter]
         congr 1
         ext1 e
-        rw [Set.preimage_interᵢ]
+        rw [Set.preimage_iInter]
         congr 1
         ext1 he
         dsimp [Vs]
Diff
@@ -38,6 +38,12 @@ variable {J : Type v} [SmallCategory J] [IsCofiltered J] (F : J ⥤ TopCat.{max
 
 include hC
 
+/- warning: Top.is_topological_basis_cofiltered_limit -> TopCat.isTopologicalBasis_cofiltered_limit is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.SmallCategory.{u2} J] [_inst_2 : CategoryTheory.IsCofiltered.{u2, u2} J _inst_1] (F : CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (C : CategoryTheory.Limits.Cone.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F), (CategoryTheory.Limits.IsLimit.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C) -> (forall (T : forall (j : J), Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))), (forall (j : J), TopologicalSpace.IsTopologicalBasis.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (TopCat.topologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (T j)) -> (forall (i : J), Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.univ.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (T i)) -> (forall (i : J) (U1 : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (U2 : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))), (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) U1 (T i)) -> (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) U2 (T i)) -> (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Inter.inter.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.hasInter.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) U1 U2) (T i))) -> (forall (i : J) (j : J) (f : Quiver.Hom.{succ u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} J (CategoryTheory.Category.toCategoryStruct.{u2, u2} J _inst_1)) i j) (V : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))), (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))) V (T j)) -> (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)))) (Set.preimage.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (Quiver.Hom.{succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1})) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (fun (_x : ContinuousMap.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) => (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) -> (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (ContinuousMap.hasCoeToFun.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (CategoryTheory.Functor.map.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F i j f)) V) (T i))) -> (TopologicalSpace.IsTopologicalBasis.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) (TopCat.topologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) (setOf.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C))) (fun (U : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C))) => Exists.{succ u2} J (fun (j : J) => Exists.{succ (max u2 u1)} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (fun (V : Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) => And (Membership.Mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (Set.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))) (Set.hasMem.{max u2 u1} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)))) V (T j)) (Eq.{succ (max u2 u1)} (Set.{max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C))) U (Set.preimage.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} TopCat.{max u2 u1} Type.{max u2 u1} TopCat.hasCoeToSort.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (Quiver.Hom.{succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1})) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (fun (_x : ContinuousMap.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) => (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) -> (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (ContinuousMap.hasCoeToFun.{max u2 u1, max u2 u1} (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) (coeSort.{succ (succ (max u2 u1)), succ (succ (max u2 u1))} (CategoryTheory.Bundled.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) Type.{max u2 u1} (CategoryTheory.Bundled.hasCoeToSort.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1}) (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) j)) (CategoryTheory.Bundled.str.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Functor.obj.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F j))) (CategoryTheory.NatTrans.app.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.obj.{max u2 u1, max u2 u1, succ (max u2 u1), max u2 (max u2 u1) u2 (succ (max u2 u1))} TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} (CategoryTheory.Functor.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1}) (CategoryTheory.Limits.Cone.pt.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C)) F (CategoryTheory.Limits.Cone.π.{u2, max u2 u1, u2, succ (max u2 u1)} J _inst_1 TopCat.{max u2 u1} TopCat.largeCategory.{max u2 u1} F C) j)) V))))))))
+but is expected to have type
+  forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.IsCofiltered.{u1, u1} J _inst_1] (F : CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (C : CategoryTheory.Limits.Cone.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F), (CategoryTheory.Limits.IsLimit.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C) -> (forall (T : forall (j : J), Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))), (forall (j : J), TopologicalSpace.IsTopologicalBasis.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)) (TopCat.topologicalSpace_coe.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)) (T j)) -> (forall (i : J), Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.univ.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (T i)) -> (forall (i : J) (U1 : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (U2 : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))), (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) U1 (T i)) -> (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) U2 (T i)) -> (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Inter.inter.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.instInterSet.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) U1 U2) (T i))) -> (forall (i : J) (j : J) (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) i j) (V : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))), (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))) V (T j)) -> (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)))) (Set.preimage.{max u2 u1, max u2 u1} (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i)) (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)) (Prefunctor.map.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j) (Prefunctor.map.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) i j f)) V) (T i))) -> (TopologicalSpace.IsTopologicalBasis.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C)) (TopCat.topologicalSpace_coe.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C)) (setOf.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) (fun (U : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) => Exists.{succ u1} J (fun (j : J) => Exists.{max (succ u2) (succ u1)} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))) (fun (V : Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))) => And (Membership.mem.{max u2 u1, max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j))) (Set.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))) (Set.instMembershipSet.{max u2 u1} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)))) V (T j)) (Eq.{max (succ u2) (succ u1)} (Set.{max u2 u1} (CategoryTheory.Bundled.α.{max u2 u1, max u2 u1} TopologicalSpace.{max u2 u1} (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) U (Set.preimage.{max u2 u1, max u2 u1} (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, succ (max u2 u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (Prefunctor.obj.{succ (max u2 u1), max (succ u1) (succ (max u2 u1)), max (succ u2) (succ u1), max (max u2 u1) (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (succ u2) (succ u1), max (max u1 (succ u2) (succ u1)) u2 u1} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) j)) (Prefunctor.obj.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, succ (max u2 u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j)) (Prefunctor.map.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1})) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, succ (max u2 u1), succ (max u2 u1)} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{succ (max u2 u1), max u2 u1, max u2 u1} TopCat.{max u2 u1} instTopCatLargeCategory.{max u2 u1} TopCat.concreteCategory.{max u2 u1})) (Prefunctor.obj.{succ u1, succ (max u2 u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (Prefunctor.obj.{succ (max u2 u1), max (succ u1) (succ (max u2 u1)), max (succ u2) (succ u1), max (max u2 u1) (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (succ u2) (succ u1), max (max u1 (succ u2) (succ u1)) u2 u1} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C))) j) (Prefunctor.obj.{succ u1, succ (max u2 u1), u1, max (succ u2) (succ u1)} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F) j) (CategoryTheory.NatTrans.app.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (Prefunctor.obj.{succ (max u2 u1), max (succ u1) (succ (max u2 u1)), max (succ u2) (succ u1), max (max u2 u1) (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (succ u2) (succ u1)} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u1 (succ u2) (succ u1)) u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (succ u2) (succ u1), max (max u1 (succ u2) (succ u1)) u2 u1} TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} (CategoryTheory.Functor.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.category.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1}) (CategoryTheory.Functor.const.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1})) (CategoryTheory.Limits.Cone.pt.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C)) F (CategoryTheory.Limits.Cone.π.{u1, max u2 u1, u1, max (succ u2) (succ u1)} J _inst_1 TopCatMax.{u1, u2} instTopCatLargeCategory.{max u2 u1} F C) j)) V))))))))
+Case conversion may be inaccurate. Consider using '#align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limitₓ'. -/
 /-- Given a *compatible* collection of topological bases for the factors in a cofiltered limit
 which contain `set.univ` and are closed under intersections, the induced *naive* collection
 of sets in the limit is, in fact, a topological basis.

Changes in mathlib4

mathlib3
mathlib4
feat: existence of a limit in a concrete category implies smallness (#11625)

In this PR, it is shown that if a functor G : J ⥤ C to a concrete category has a limit and that forget C is corepresentable, then G ⋙ forget C).sections is small. As the corepresentability property holds in many concrete categories (e.g. groups, abelian groups) and that we already know since #11420 that limits exist under the smallness assumption in such categories, then this lemma may be used in future PR in order to show that usual forgetful functors preserve all limits (regardless of universe assumptions). This shall be convenient in the development of sheaves of modules.

In this PR, universes assumptions have also been generalized in the file Limits.Yoneda. In order to do this, a small refactor of the file Limits.Types was necessary. This introduces bijections like compCoyonedaSectionsEquiv (F : J ⥤ C) (X : C) : (F ⋙ coyoneda.obj (op X)).sections ≃ ((const J).obj X ⟶ F) with general universe parameters. In order to reduce imports in Limits.Yoneda, part of the file Limits.Types was moved to a new file Limits.TypesFiltered.

Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>

Diff
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Scott Morrison, Mario Carneiro, Andrew Yang
 -/
 import Mathlib.Topology.Category.TopCat.Limits.Basic
+import Mathlib.CategoryTheory.Filtered.Basic
 
 #align_import topology.category.Top.limits.cofiltered from "leanprover-community/mathlib"@"dbdf71cee7bb20367cb7e37279c08b0c218cf967"
 
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
@@ -64,7 +64,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
       exact ⟨j, V, hV, rfl⟩
   -- Using `D`, we can apply the characterization of the topological basis of a
   -- topology defined as an infimum...
-  convert isTopologicalBasis_iInf hT fun j (x : D.pt) => D.π.app j x using 1
+  convert IsTopologicalBasis.iInf_induced hT fun j (x : D.pt) => D.π.app j x using 1
   ext U0
   constructor
   · rintro ⟨j, V, hV, rfl⟩
chore: more backporting of simp changes from #10995 (#11001)

Co-authored-by: Patrick Massot <patrickmassot@free.fr> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -72,8 +72,8 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     refine' ⟨U, {j}, _, _⟩
     · simp only [Finset.mem_singleton]
       rintro i rfl
-      simpa
-    · simp
+      simpa [U]
+    · simp [U]
   · rintro ⟨U, G, h1, h2⟩
     obtain ⟨j, hj⟩ := IsCofiltered.inf_objs_exists G
     let g : ∀ e ∈ G, j ⟶ e := fun _ he => (hj he).some
@@ -99,7 +99,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
       -- use the intermediate claim to finish off the goal using `univ` and `inter`.
       refine' this _ _ _ (univ _) (inter _) _
       intro e he
-      dsimp
+      dsimp [Vs]
       rw [dif_pos he]
       exact compat j e (g e he) (U e) (h1 e he)
     · -- conclude...
chore: remove terminal, terminal refines (#10762)

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

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

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

Diff
@@ -59,9 +59,9 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     ext U0
     constructor
     · rintro ⟨j, V, hV, rfl⟩
-      refine' ⟨D.π.app j ⁻¹' V, ⟨j, V, hV, rfl⟩, rfl⟩
+      exact ⟨D.π.app j ⁻¹' V, ⟨j, V, hV, rfl⟩, rfl⟩
     · rintro ⟨W, ⟨j, V, hV, rfl⟩, rfl⟩
-      refine' ⟨j, V, hV, rfl⟩
+      exact ⟨j, V, hV, rfl⟩
   -- Using `D`, we can apply the characterization of the topological basis of a
   -- topology defined as an infimum...
   convert isTopologicalBasis_iInf hT fun j (x : D.pt) => D.π.app j x using 1
chore(*): use ∀ s ⊆ t, _ etc (#9276)

Changes in this PR shouldn't change the public API. The only changes about ∃ x ∈ s, _ is inside a proof.

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Diff
@@ -76,7 +76,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     · simp
   · rintro ⟨U, G, h1, h2⟩
     obtain ⟨j, hj⟩ := IsCofiltered.inf_objs_exists G
-    let g : ∀ (e) (_he : e ∈ G), j ⟶ e := fun _ he => (hj he).some
+    let g : ∀ e ∈ G, j ⟶ e := fun _ he => (hj he).some
     let Vs : J → Set (F.obj j) := fun e => if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
     let V : Set (F.obj j) := ⋂ (e : J) (_he : e ∈ G), Vs e
     refine' ⟨j, V, _, _⟩
chore(TopCat/Limits/Cofiltered): golf (#9279)
Diff
@@ -70,14 +70,10 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
   · rintro ⟨j, V, hV, rfl⟩
     let U : ∀ i, Set (F.obj i) := fun i => if h : i = j then by rw [h]; exact V else Set.univ
     refine' ⟨U, {j}, _, _⟩
-    · rintro i h
-      rw [Finset.mem_singleton] at h
-      dsimp
-      rw [dif_pos h]
-      subst h
-      exact hV
-    · dsimp
-      simp
+    · simp only [Finset.mem_singleton]
+      rintro i rfl
+      simpa
+    · simp
   · rintro ⟨U, G, h1, h2⟩
     obtain ⟨j, hj⟩ := IsCofiltered.inf_objs_exists G
     let g : ∀ (e) (_he : e ∈ G), j ⟶ e := fun _ he => (hj he).some
chore: space after (#8178)

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

Diff
@@ -121,7 +121,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
       rw [dif_pos he, ← Set.preimage_comp]
       apply congrFun
       apply congrArg
-      rw [←coe_comp, D.w]
+      rw [← coe_comp, D.w]
       rfl
 #align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limit
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2017 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Scott Morrison, Mario Carneiro, Andrew Yang
-
-! This file was ported from Lean 3 source module topology.category.Top.limits.cofiltered
-! leanprover-community/mathlib commit dbdf71cee7bb20367cb7e37279c08b0c218cf967
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.Category.TopCat.Limits.Basic
 
+#align_import topology.category.Top.limits.cofiltered from "leanprover-community/mathlib"@"dbdf71cee7bb20367cb7e37279c08b0c218cf967"
+
 /-!
 # Cofiltered limits in the category of topological spaces
 
fix: re-port topology.category.top.limits.cofiltered (#4986)

This was caught up in a simultaneous split and port, and the dashboard can't tell if its in sync as a result.

This just re-ports the file, which brings in the formatting changes preferred by the latest mathport. Most of the changes are whitespace due to the body of classical not being indented any more.

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Scott Morrison, Mario Carneiro, Andrew Yang
 
 ! This file was ported from Lean 3 source module topology.category.Top.limits.cofiltered
-! leanprover-community/mathlib commit 8195826f5c428fc283510bc67303dd4472d78498
+! leanprover-community/mathlib commit dbdf71cee7bb20367cb7e37279c08b0c218cf967
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -27,7 +27,7 @@ open CategoryTheory
 
 open CategoryTheory.Limits
 
-universe v u w
+universe u v w
 
 noncomputable section
 
@@ -45,89 +45,89 @@ of sets in the limit is, in fact, a topological basis.
 theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     (hT : ∀ j, IsTopologicalBasis (T j)) (univ : ∀ i : J, Set.univ ∈ T i)
     (inter : ∀ (i) (U1 U2 : Set (F.obj i)), U1 ∈ T i → U2 ∈ T i → U1 ∩ U2 ∈ T i)
-    (compat : ∀ (i j : J) (f : i ⟶ j) (V : Set (F.obj j)) (_ : V ∈ T j), F.map f ⁻¹' V ∈ T i) :
+    (compat : ∀ (i j : J) (f : i ⟶ j) (V : Set (F.obj j)) (_hV : V ∈ T j), F.map f ⁻¹' V ∈ T i) :
     IsTopologicalBasis
-      { U : Set C.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V } := by
+      {U : Set C.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V} := by
   classical
-    -- The limit cone for `F` whose topology is defined as an infimum.
-    let D := limitConeInfi F
-    -- The isomorphism between the cone point of `C` and the cone point of `D`.
-    let E : C.pt ≅ D.pt := hC.conePointUniqueUpToIso (limitConeInfiIsLimit _)
-    have hE : Inducing E.hom := (TopCat.homeoOfIso E).inducing
-    -- Reduce to the assertion of the theorem with `D` instead of `C`.
-    suffices
-      IsTopologicalBasis
-        { U : Set D.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V } by
-      convert this.inducing hE
-      ext U0
-      constructor
-      · rintro ⟨j, V, hV, rfl⟩
-        refine' ⟨D.π.app j ⁻¹' V, ⟨j, V, hV, rfl⟩, rfl⟩
-      · rintro ⟨W, ⟨j, V, hV, rfl⟩, rfl⟩
-        refine' ⟨j, V, hV, rfl⟩
-    -- Using `D`, we can apply the characterization of the topological basis of a
-    -- topology defined as an infimum...
-    convert isTopologicalBasis_iInf hT fun j (x : D.pt) => D.π.app j x using 1
+  -- The limit cone for `F` whose topology is defined as an infimum.
+  let D := limitConeInfi F
+  -- The isomorphism between the cone point of `C` and the cone point of `D`.
+  let E : C.pt ≅ D.pt := hC.conePointUniqueUpToIso (limitConeInfiIsLimit _)
+  have hE : Inducing E.hom := (TopCat.homeoOfIso E).inducing
+  -- Reduce to the assertion of the theorem with `D` instead of `C`.
+  suffices
+    IsTopologicalBasis
+      {U : Set D.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V} by
+    convert this.inducing hE
     ext U0
     constructor
     · rintro ⟨j, V, hV, rfl⟩
-      let U : ∀ i, Set (F.obj i) := fun i =>
-        if h : i = j then by
-          rw [h]
-          exact V
-        else Set.univ
-      refine' ⟨U, {j}, _, _⟩
-      · rintro i h
-        rw [Finset.mem_singleton] at h
-        dsimp
-        rw [dif_pos h]
-        subst h
-        exact hV
-      · dsimp
-        simp
-    · rintro ⟨U, G, h1, h2⟩
-      obtain ⟨j, hj⟩ := IsCofiltered.inf_objs_exists G
-      let g : ∀ (e) (_he : e ∈ G), j ⟶ e := fun _ he => (hj he).some
-      let Vs : J → Set (F.obj j) := fun e => if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
-      let V : Set (F.obj j) := ⋂ (e : J) (_ : e ∈ G), Vs e
-      refine' ⟨j, V, _, _⟩
-      · -- An intermediate claim used to apply induction along `G : Finset J` later on.
-        have :
-          ∀ (S : Set (Set (F.obj j))) (E : Finset J) (P : J → Set (F.obj j)) (_ : Set.univ ∈ S)
-            (_ : ∀ A B : Set (F.obj j), A ∈ S → B ∈ S → A ∩ B ∈ S)
-            (_ : ∀ (e : J) (_ : e ∈ E), P e ∈ S), (⋂ (e) (_ : e ∈ E), P e) ∈ S := by
-          intro S E
-          induction' E using Finset.induction_on with a E _ hh1
-          · intro P he _
-            simpa
-          · intro hh2 hh3 hh4 hh5
-            rw [Finset.set_biInter_insert]
-            refine' hh4 _ _ (hh5 _ (Finset.mem_insert_self _ _)) (hh1 _ hh3 hh4 _)
-            intro e he
-            exact hh5 e (Finset.mem_insert_of_mem he)
-        -- use the intermediate claim to finish off the goal using `univ` and `inter`.
-        refine' this _ _ _ (univ _) (inter _) _
-        intro e he
-        dsimp
-        rw [dif_pos he]
-        exact compat j e (g e he) (U e) (h1 e he)
-      · -- conclude...
-        rw [h2]
-        change _ = (D.π.app j)⁻¹' ⋂ (e : J) (_ : e ∈ G), Vs e
-        rw [Set.preimage_iInter]
-        apply congrArg
-        ext1 e
-        erw [Set.preimage_iInter]
-        apply congrArg
-        ext1 he
-        -- Porting note: needed more hand holding here
-        change (D.π.app e)⁻¹' U e =
-          (D.π.app j) ⁻¹' if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
-        rw [dif_pos he, ← Set.preimage_comp]
-        apply congrFun
-        apply congrArg
-        rw [←coe_comp, D.w]
-        rfl
+      refine' ⟨D.π.app j ⁻¹' V, ⟨j, V, hV, rfl⟩, rfl⟩
+    · rintro ⟨W, ⟨j, V, hV, rfl⟩, rfl⟩
+      refine' ⟨j, V, hV, rfl⟩
+  -- Using `D`, we can apply the characterization of the topological basis of a
+  -- topology defined as an infimum...
+  convert isTopologicalBasis_iInf hT fun j (x : D.pt) => D.π.app j x using 1
+  ext U0
+  constructor
+  · rintro ⟨j, V, hV, rfl⟩
+    let U : ∀ i, Set (F.obj i) := fun i => if h : i = j then by rw [h]; exact V else Set.univ
+    refine' ⟨U, {j}, _, _⟩
+    · rintro i h
+      rw [Finset.mem_singleton] at h
+      dsimp
+      rw [dif_pos h]
+      subst h
+      exact hV
+    · dsimp
+      simp
+  · rintro ⟨U, G, h1, h2⟩
+    obtain ⟨j, hj⟩ := IsCofiltered.inf_objs_exists G
+    let g : ∀ (e) (_he : e ∈ G), j ⟶ e := fun _ he => (hj he).some
+    let Vs : J → Set (F.obj j) := fun e => if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
+    let V : Set (F.obj j) := ⋂ (e : J) (_he : e ∈ G), Vs e
+    refine' ⟨j, V, _, _⟩
+    · -- An intermediate claim used to apply induction along `G : Finset J` later on.
+      have :
+        ∀ (S : Set (Set (F.obj j))) (E : Finset J) (P : J → Set (F.obj j)) (_univ : Set.univ ∈ S)
+          (_inter : ∀ A B : Set (F.obj j), A ∈ S → B ∈ S → A ∩ B ∈ S)
+          (_cond : ∀ (e : J) (_he : e ∈ E), P e ∈ S), (⋂ (e) (_he : e ∈ E), P e) ∈ S := by
+        intro S E
+        induction E using Finset.induction_on with
+        | empty =>
+          intro P he _hh
+          simpa
+        | @insert a E _ha hh1 =>
+          intro hh2 hh3 hh4 hh5
+          rw [Finset.set_biInter_insert]
+          refine' hh4 _ _ (hh5 _ (Finset.mem_insert_self _ _)) (hh1 _ hh3 hh4 _)
+          intro e he
+          exact hh5 e (Finset.mem_insert_of_mem he)
+      -- use the intermediate claim to finish off the goal using `univ` and `inter`.
+      refine' this _ _ _ (univ _) (inter _) _
+      intro e he
+      dsimp
+      rw [dif_pos he]
+      exact compat j e (g e he) (U e) (h1 e he)
+    · -- conclude...
+      rw [h2]
+      change _ = (D.π.app j)⁻¹' ⋂ (e : J) (_ : e ∈ G), Vs e
+      rw [Set.preimage_iInter]
+      apply congrArg
+      ext1 e
+      erw [Set.preimage_iInter]
+      apply congrArg
+      ext1 he
+      -- Porting note: needed more hand holding here
+      change (D.π.app e)⁻¹' U e =
+        (D.π.app j) ⁻¹' if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
+      rw [dif_pos he, ← Set.preimage_comp]
+      apply congrFun
+      apply congrArg
+      rw [←coe_comp, D.w]
+      rfl
 #align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limit
 
 end CofilteredLimit
+
+end TopCat
feat: change ConcreteCategory.hasCoeToFun to FunLike (#4693)
Diff
@@ -121,12 +121,13 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
         apply congrArg
         ext1 he
         -- Porting note: needed more hand holding here
-        change (forget TopCat).map (D.π.app e)⁻¹' U e =
-          (forget TopCat).map (D.π.app j) ⁻¹' if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
+        change (D.π.app e)⁻¹' U e =
+          (D.π.app j) ⁻¹' if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
         rw [dif_pos he, ← Set.preimage_comp]
         apply congrFun
         apply congrArg
         rw [←coe_comp, D.w]
+        rfl
 #align Top.is_topological_basis_cofiltered_limit TopCat.isTopologicalBasis_cofiltered_limit
 
 end CofilteredLimit
chore: formatting issues (#4947)

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

Diff
@@ -47,7 +47,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     (inter : ∀ (i) (U1 U2 : Set (F.obj i)), U1 ∈ T i → U2 ∈ T i → U1 ∩ U2 ∈ T i)
     (compat : ∀ (i j : J) (f : i ⟶ j) (V : Set (F.obj j)) (_ : V ∈ T j), F.map f ⁻¹' V ∈ T i) :
     IsTopologicalBasis
-      { U : Set C.pt | ∃ (j : _)(V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V } := by
+      { U : Set C.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = C.π.app j ⁻¹' V } := by
   classical
     -- The limit cone for `F` whose topology is defined as an infimum.
     let D := limitConeInfi F
@@ -57,7 +57,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
     -- Reduce to the assertion of the theorem with `D` instead of `C`.
     suffices
       IsTopologicalBasis
-        { U : Set D.pt | ∃ (j : _)(V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V } by
+        { U : Set D.pt | ∃ (j : _) (V : Set (F.obj j)), V ∈ T j ∧ U = D.π.app j ⁻¹' V } by
       convert this.inducing hE
       ext U0
       constructor
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -89,13 +89,13 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
       obtain ⟨j, hj⟩ := IsCofiltered.inf_objs_exists G
       let g : ∀ (e) (_he : e ∈ G), j ⟶ e := fun _ he => (hj he).some
       let Vs : J → Set (F.obj j) := fun e => if h : e ∈ G then F.map (g e h) ⁻¹' U e else Set.univ
-      let V : Set (F.obj j) := ⋂ (e : J) (_he : e ∈ G), Vs e
+      let V : Set (F.obj j) := ⋂ (e : J) (_ : e ∈ G), Vs e
       refine' ⟨j, V, _, _⟩
       · -- An intermediate claim used to apply induction along `G : Finset J` later on.
         have :
           ∀ (S : Set (Set (F.obj j))) (E : Finset J) (P : J → Set (F.obj j)) (_ : Set.univ ∈ S)
             (_ : ∀ A B : Set (F.obj j), A ∈ S → B ∈ S → A ∩ B ∈ S)
-            (_ : ∀ (e : J) (_ : e ∈ E), P e ∈ S), (⋂ (e) (_he : e ∈ E), P e) ∈ S := by
+            (_ : ∀ (e : J) (_ : e ∈ E), P e ∈ S), (⋂ (e) (_ : e ∈ E), P e) ∈ S := by
           intro S E
           induction' E using Finset.induction_on with a E _ hh1
           · intro P he _
@@ -113,7 +113,7 @@ theorem isTopologicalBasis_cofiltered_limit (T : ∀ j, Set (Set (F.obj j)))
         exact compat j e (g e he) (U e) (h1 e he)
       · -- conclude...
         rw [h2]
-        change _ = (D.π.app j)⁻¹' ⋂ (e : J) (_he : e ∈ G), Vs e
+        change _ = (D.π.app j)⁻¹' ⋂ (e : J) (_ : e ∈ G), Vs e
         rw [Set.preimage_iInter]
         apply congrArg
         ext1 e
chore: rename Top->TopCat (#4089)
Diff
@@ -8,7 +8,7 @@ Authors: Patrick Massot, Scott Morrison, Mario Carneiro, Andrew Yang
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
-import Mathlib.Topology.Category.Top.Limits.Basic
+import Mathlib.Topology.Category.TopCat.Limits.Basic
 
 /-!
 # Cofiltered limits in the category of topological spaces
chore: fix Lean 3 source filename (#3963)

These 2 files show up as unported on the porting page. Try to fix it.

Diff
@@ -3,7 +3,7 @@ Copyright (c) 2017 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Scott Morrison, Mario Carneiro, Andrew Yang
 
-! This file was ported from Lean 3 source module topology.category.Top.limits
+! This file was ported from Lean 3 source module topology.category.Top.limits.cofiltered
 ! leanprover-community/mathlib commit 8195826f5c428fc283510bc67303dd4472d78498
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.

Dependencies 8 + 397

398 files ported (98.0%)
163569 lines ported (97.0%)
Show graph

The unported dependencies are