topology.category.Top.limits.cofiltered
⟷
Mathlib.Topology.Category.TopCat.Limits.Cofiltered
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
This file is already being ported at https://github.com/leanprover-community/mathlib4/pull/3487, but:
limits/basic.lean
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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/d4437c68c8d350fc9d4e95e1e174409db35e30d7
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9b2b58d6b14b895b2f375108e765cb47de71aebd
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>
@@ -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"
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>
@@ -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⟩
@@ -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...
refine
s (#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 refine
s, but maybe the current change is beneficial.
@@ -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
@@ -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, _, _⟩
@@ -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
@@ -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
@@ -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
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.
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
These 2 files show up as unported on the porting page. Try to fix it.
@@ -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.
The unported dependencies are