Separating and detecting sets #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
There are several non-equivalent notions of a generator of a category. Here, we consider two of them:
- We say that
𝒢is a separating set if the functorsC(G, -)forG ∈ 𝒢are collectively faithful, i.e., ifh ≫ f = h ≫ gfor allhwith domain in𝒢impliesf = g. - We say that
𝒢is a detecting set if the functorsC(G, -)collectively reflect isomorphisms, i.e., if anyhwith domain in𝒢uniquely factors throughf, thenfis an isomorphism.
There are, of course, also the dual notions of coseparating and codetecting sets.
Main results #
We
- define predicates
is_separating,is_coseparating,is_detectingandis_codetectingon sets of objects; - show that separating and coseparating are dual notions;
- show that detecting and codetecting are dual notions;
- show that if
Chas equalizers, then detecting implies separating; - show that if
Chas coequalizers, then codetecting implies separating; - show that if
Cis balanced, then separating implies detecting and coseparating implies codetecting; - show that
∅is separating if and only if∅is coseparating if and only ifCis thin; - show that
∅is detecting if and only if∅is codetecting if and only ifCis a groupoid; - define predicates
is_separator,is_coseparator,is_detectorandis_codetectoras the singleton counterparts to the definitions for sets above and restate the above results in this situation; - show that
Gis a separator if and only ifcoyoneda.obj (op G)is faithful (and the dual); - show that
Gis a detector if and only ifcoyoneda.obj (op G)reflects isomorphisms (and the dual).
Future work #
- We currently don't have any examples yet.
- We will want typeclasses
has_separator Cand similar.
We say that 𝒢 is a separating set if the functors C(G, -) for G ∈ 𝒢 are collectively
faithful, i.e., if h ≫ f = h ≫ g for all h with domain in 𝒢 implies f = g.
We say that 𝒢 is a coseparating set if the functors C(-, G) for G ∈ 𝒢 are collectively
faithful, i.e., if f ≫ h = g ≫ h for all h with codomain in 𝒢 implies f = g.
We say that 𝒢 is a detecting set if the functors C(G, -) collectively reflect isomorphisms,
i.e., if any h with domain in 𝒢 uniquely factors through f, then f is an isomorphism.
We say that 𝒢 is a codetecting set if the functors C(-, G) collectively reflect
isomorphisms, i.e., if any h with codomain in G uniquely factors through f, then f is
an isomorphism.
An ingredient of the proof of the Special Adjoint Functor Theorem: a complete well-powered category with a small coseparating set has an initial object.
In fact, it follows from the Special Adjoint Functor Theorem that C is already cocomplete,
see has_colimits_of_has_limits_of_is_coseparating.
An ingredient of the proof of the Special Adjoint Functor Theorem: a cocomplete well-copowered category with a small separating set has a terminal object.
In fact, it follows from the Special Adjoint Functor Theorem that C is already complete, see
has_limits_of_has_colimits_of_is_separating.
A category with pullbacks and a small detecting set is well-powered.
We say that G is a separator if the functor C(G, -) is faithful.
Equations
We say that G is a coseparator if the functor C(-, G) is faithful.
Equations
We say that G is a detector if the functor C(G, -) reflects isomorphisms.
Equations
We say that G is a codetector if the functor C(-, G) reflects isomorphisms.