Separating and detecting sets #
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 
IsSeparating,IsCoseparating,IsDetectingandIsCodetectingon sets of objects; - show that equivalences of categories preserves these notions;
 - 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 coseparating; - 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 
IsSeparator,IsCoseparator,IsDetectorandIsCodetectoras 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); - show that 
CisWellPoweredif it admits small pullbacks and a detector; - define corresponding typeclasses 
HasSeparator,HasCoseparator,HasDetectorandHasCodetectoron categories and prove analogous results for these. 
Future work #
- We currently don't have any examples yet.
 
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.
Equations
- CategoryTheory.IsSeparating π’ = β β¦X Y : Cβ¦ (f g : X βΆ Y), (β G β π’, β (h : G βΆ X), CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp h g) β f = g
 
Instances For
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.
Equations
- CategoryTheory.IsCoseparating π’ = β β¦X Y : Cβ¦ (f g : X βΆ Y), (β G β π’, β (h : Y βΆ G), CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g h) β f = g
 
Instances For
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.
Equations
- CategoryTheory.IsDetecting π’ = β β¦X Y : Cβ¦ (f : X βΆ Y), (β G β π’, β (h : G βΆ Y), β! h' : G βΆ X, CategoryTheory.CategoryStruct.comp h' f = h) β CategoryTheory.IsIso f
 
Instances For
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.
Equations
- CategoryTheory.IsCodetecting π’ = β β¦X Y : Cβ¦ (f : X βΆ Y), (β G β π’, β (h : X βΆ G), β! h' : Y βΆ G, CategoryTheory.CategoryStruct.comp f h' = h) β CategoryTheory.IsIso f
 
Instances For
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 hasColimits_of_hasLimits_of_isCoseparating.
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
hasLimits_of_hasColimits_of_isSeparating.
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
Instances For
We say that G is a coseparator if the functor C(-, G) is faithful.
Equations
Instances For
We say that G is a detector if the functor C(G, -) reflects isomorphisms.
Equations
Instances For
We say that G is a codetector if the functor C(-, G) reflects isomorphisms.
Equations
Instances For
For a category C and an object G : C, G is a separator of C if
the functor C(G, -) is faithful.
While IsSeparator G : Prop is the proposition that G is a separator of C,
an HasSeparator C : Prop is the proposition that such a separator exists.
Note that HasSeparator C is a proposition. It does not designate a favored separator
and merely asserts the existence of one.
- hasSeparator : β (G : C), IsSeparator G
 
Instances
For a category C and an object G : C, G is a coseparator of C if
the functor C(-, G) is faithful.
While IsCoseparator G : Prop is the proposition that G is a coseparator of C,
an HasCoseparator C : Prop is the proposition that such a coseparator exists.
Note that HasCoseparator C is a proposition. It does not designate a favored coseparator
and merely asserts the existence of one.
- hasCoseparator : β (G : C), IsCoseparator G
 
Instances
For a category C and an object G : C, G is a detector of C if
the functor C(G, -) reflects isomorphisms.
While IsDetector G : Prop is the proposition that G is a detector of C,
an HasDetector C : Prop is the proposition that such a detector exists.
Note that HasDetector C is a proposition. It does not designate a favored detector
and merely asserts the existence of one.
- hasDetector : β (G : C), IsDetector G
 
Instances
For a category C and an object G : C, G is a codetector of C if
the functor C(-, G) reflects isomorphisms.
While IsCodetector G : Prop is the proposition that G is a codetector of C,
an HasCodetector C : Prop is the proposition that such a codetector exists.
Note that HasCodetector C is a proposition. It does not designate a favored codetector
and merely asserts the existence of one.
- hasCodetector : β (G : C), IsCodetector G
 
Instances
Given a category C that has a separator (HasSeparator C), separator C is an arbitrarily
chosen separator of C.
Equations
- CategoryTheory.separator C = β―.choose
 
Instances For
Given a category C that has a coseparator (HasCoseparator C), coseparator C is an arbitrarily
chosen coseparator of C.
Equations
Instances For
Given a category C that has a detector (HasDetector C), detector C is an arbitrarily
chosen detector of C.
Equations
- CategoryTheory.detector C = β―.choose
 
Instances For
Given a category C that has a codetector (HasCodetector C), codetector C is an arbitrarily
chosen codetector of C.
Equations
- CategoryTheory.codetector C = β―.choose