The category of topological spaces has all limits and colimits #
Further, these limits and colimits are preserved by the forgetful functor --- that is, the underlying types are just the limits in the category of types.
A choice of limit cone for a functor F : J ⥤ Top
.
Generally you should just use limit.cone F
, unless you need the actual definition
(which is in terms of types.limit_cone
).
Equations
- Top.limit_cone F = {X := Top.of ↥{u : Π (j : J), ↥(F.obj j) | ∀ {i j : J} (f : i ⟶ j), ⇑(F.map f) (u i) = u j} subtype.topological_space, π := {app := λ (j : J), {to_fun := λ (u : ↥(((category_theory.functor.const J).obj (Top.of ↥{u : Π (j : J), ↥(F.obj j) | ∀ {i j : J} (f : i ⟶ j), ⇑(F.map f) (u i) = u j})).obj j)), u.val j, continuous_to_fun := _}, naturality' := _}}
A choice of limit cone for a functor F : J ⥤ Top
whose topology is defined as an
infimum of topologies infimum.
Generally you should just use limit.cone F
, unless you need the actual definition
(which is in terms of types.limit_cone
).
Equations
- Top.limit_cone_infi F = {X := {α := (category_theory.limits.types.limit_cone (F ⋙ category_theory.forget Top)).X, str := ⨅ (j : J), topological_space.induced ((category_theory.limits.types.limit_cone (F ⋙ category_theory.forget Top)).π.app j) (F.obj j).str}, π := {app := λ (j : J), {to_fun := (category_theory.limits.types.limit_cone (F ⋙ category_theory.forget Top)).π.app j, continuous_to_fun := _}, naturality' := _}}
The chosen cone Top.limit_cone F
for a functor F : J ⥤ Top
is a limit cone.
Generally you should just use limit.is_limit F
, unless you need the actual definition
(which is in terms of types.limit_cone_is_limit
).
The chosen cone Top.limit_cone_infi F
for a functor F : J ⥤ Top
is a limit cone.
Generally you should just use limit.is_limit F
, unless you need the actual definition
(which is in terms of types.limit_cone_is_limit
).
Equations
- Top.limit_cone_infi_is_limit F = category_theory.limits.is_limit.of_faithful (category_theory.forget Top) (category_theory.limits.types.limit_cone_is_limit (F ⋙ category_theory.forget Top)) (λ (s : category_theory.limits.cone F), {to_fun := λ (v : ((category_theory.forget Top).map_cone s).X), ⟨λ (j : J), ((category_theory.forget Top).map_cone s).π.app j v, _⟩, continuous_to_fun := _}) _
Equations
- Top.forget_preserves_limits_of_size = {preserves_limits_of_shape := λ (J : Type v) (𝒥 : category_theory.category J), {preserves_limit := λ (F : J ⥤ Top), category_theory.limits.preserves_limit_of_preserves_limit_cone (Top.limit_cone_is_limit F) (category_theory.limits.types.limit_cone_is_limit (F ⋙ category_theory.forget Top))}}
A choice of colimit cocone for a functor F : J ⥤ Top
.
Generally you should just use colimit.coone F
, unless you need the actual definition
(which is in terms of types.colimit_cocone
).
Equations
- Top.colimit_cocone F = {X := {α := (category_theory.limits.types.colimit_cocone (F ⋙ category_theory.forget Top)).X, str := ⨆ (j : J), topological_space.coinduced ((category_theory.limits.types.colimit_cocone (F ⋙ category_theory.forget Top)).ι.app j) (F.obj j).str}, ι := {app := λ (j : J), {to_fun := (category_theory.limits.types.colimit_cocone (F ⋙ category_theory.forget Top)).ι.app j, continuous_to_fun := _}, naturality' := _}}
The chosen cocone Top.colimit_cocone F
for a functor F : J ⥤ Top
is a colimit cocone.
Generally you should just use colimit.is_colimit F
, unless you need the actual definition
(which is in terms of types.colimit_cocone_is_colimit
).
Equations
- Top.colimit_cocone_is_colimit F = category_theory.limits.is_colimit.of_faithful (category_theory.forget Top) (category_theory.limits.types.colimit_cocone_is_colimit (F ⋙ category_theory.forget Top)) (λ (s : category_theory.limits.cocone F), {to_fun := quot.lift (λ (p : Σ (j : J), (F ⋙ category_theory.forget Top).obj j), ((category_theory.forget Top).map_cocone s).ι.app p.fst p.snd) _, continuous_to_fun := _}) _
Equations
- Top.forget_preserves_colimits_of_size = {preserves_colimits_of_shape := λ (J : Type v) (𝒥 : category_theory.category J), {preserves_colimit := λ (F : J ⥤ Top), category_theory.limits.preserves_colimit_of_preserves_colimit_cocone (Top.colimit_cocone_is_colimit F) (category_theory.limits.types.colimit_cocone_is_colimit (F ⋙ category_theory.forget Top))}}
The explicit fan of a family of topological spaces given by the pi type.
Equations
- Top.pi_fan α = category_theory.limits.fan.mk (Top.of (Π (i : ι), ↥(α i))) (Top.pi_π α)
The constructed fan is indeed a limit
Equations
- Top.pi_fan_is_limit α = {lift := λ (S : category_theory.limits.cone (category_theory.discrete.functor α)), {to_fun := λ (s : ↥(S.X)) (i : ι), ⇑(S.π.app {as := i}) s, continuous_to_fun := _}, fac' := _, uniq' := _}
The product is homeomorphic to the product of the underlying spaces, equipped with the product topology.
The explicit cofan of a family of topological spaces given by the sigma type.
Equations
- Top.sigma_cofan α = category_theory.limits.cofan.mk (Top.of (Σ (i : ι), ↥(α i))) (Top.sigma_ι α)
The constructed cofan is indeed a colimit
Equations
- Top.sigma_cofan_is_colimit α = {desc := λ (S : category_theory.limits.cocone (category_theory.discrete.functor α)), {to_fun := λ (s : ↥((Top.sigma_cofan α).X)), ⇑(S.ι.app {as := s.fst}) s.snd, continuous_to_fun := _}, fac' := _, uniq' := _}
The coproduct is homeomorphic to the disjoint union of the topological spaces.
The explicit binary cofan of X, Y
given by X × Y
.
The constructed binary fan is indeed a limit
The homeomorphism between X ⨯ Y
and the set-theoretic product of X
and Y
,
equipped with the product topology.
Equations
The constructed cone is a limit.
Equations
- Top.pullback_cone_is_limit f g = (Top.pullback_cone f g).is_limit_aux' (λ (s : category_theory.limits.pullback_cone f g), ⟨{to_fun := λ (x : ↥(s.X)), ⟨(⇑(s.fst) x, ⇑(s.snd) x), _⟩, continuous_to_fun := _}, _⟩)
The pullback of two maps can be identified as a subspace of X × Y
.
If the map S ⟶ T
is mono, then there is a description of the image of W ×ₛ X ⟶ Y ×ₜ Z
.
If there is a diagram where the morphisms W ⟶ Y
and X ⟶ Z
are embeddings,
then the induced morphism W ×ₛ X ⟶ Y ×ₜ Z
is also an embedding.
W ⟶ Y ↘ ↘ S ⟶ T ↗ ↗ X ⟶ Z
If there is a diagram where the morphisms W ⟶ Y
and X ⟶ Z
are open embeddings, and S ⟶ T
is mono, then the induced morphism W ×ₛ X ⟶ Y ×ₜ Z
is also an open embedding.
W ⟶ Y
↘ ↘
S ⟶ T
↗ ↗
X ⟶ Z
If X ⟶ S
, Y ⟶ S
are open embeddings, then so is X ×ₛ Y ⟶ S
.
The binary coproduct cofan in Top
.
Equations
- X.binary_cofan Y = category_theory.limits.binary_cofan.mk {to_fun := sum.inl ↥Y, continuous_to_fun := _} {to_fun := sum.inr ↥Y, continuous_to_fun := _}
The constructed binary coproduct cofan in Top
is the coproduct.
Equations
- X.binary_cofan_is_colimit Y = category_theory.limits.binary_cofan.is_colimit_mk (λ (s : category_theory.limits.binary_cofan X Y), {to_fun := sum.elim ⇑(s.inl) ⇑(s.inr), continuous_to_fun := _}) _ _ _
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.
Topological Kőnig's lemma #
A topological version of Kőnig's lemma is that the inverse limit of nonempty compact Hausdorff spaces is nonempty. (Note: this can be generalized further to inverse limits of nonempty compact T0 spaces, where all the maps are closed maps; see [Sto79] --- however there is an erratum for Theorem 4 that the element in the inverse limit can have cofinally many components that are not closed points.)
We give this in a more general form, which is that cofiltered limits
of nonempty compact Hausdorff spaces are nonempty
(nonempty_limit_cone_of_compact_t2_cofiltered_system
).
This also applies to inverse limits, where {J : Type u} [preorder J] [is_directed J (≤)]
and
F : Jᵒᵖ ⥤ Top
.
The theorem is specialized to nonempty finite types (which are compact Hausdorff with the
discrete topology) in lemmas nonempty_sections_of_finite_cofiltered_system
and
nonempty_sections_of_finite_inverse_system
in the file category_theory.cofiltered_system
.
(See https://stacks.math.columbia.edu/tag/086J for the Set version.)
Partial sections of a cofiltered limit are sections when restricted to
a finite subset of objects and morphisms of J
.
Cofiltered limits of nonempty compact Hausdorff spaces are nonempty topological spaces.