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 โซ g
for allh
with domain in๐ข
impliesf = g
. - We say that
๐ข
is a detecting set if the functorsC(G, -)
collectively reflect isomorphisms, i.e., if anyh
with domain in๐ข
uniquely factors throughf
, thenf
is an isomorphism.
There are, of course, also the dual notions of coseparating and codetecting sets.
Main results #
We
- define predicates
IsSeparating
,IsCoseparating
,IsDetecting
andIsCodetecting
on 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
C
has equalizers, then detecting implies separating; - show that if
C
has coequalizers, then codetecting implies coseparating; - show that if
C
is balanced, then separating implies detecting and coseparating implies codetecting; - show that
โ
is separating if and only ifโ
is coseparating if and only ifC
is thin; - show that
โ
is detecting if and only ifโ
is codetecting if and only ifC
is a groupoid; - define predicates
IsSeparator
,IsCoseparator
,IsDetector
andIsCodetector
as the singleton counterparts to the definitions for sets above and restate the above results in this situation; - show that
G
is a separator if and only ifcoyoneda.obj (op G)
is faithful (and the dual); - show that
G
is a detector if and only ifcoyoneda.obj (op G)
reflects isomorphisms (and the dual); - show that
C
isWellPowered
if it admits small pullbacks and a detector; - define corresponding typeclasses
HasSeparator
,HasCoseparator
,HasDetector
andHasCodetector
on 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), CategoryTheory.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), CategoryTheory.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), CategoryTheory.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), CategoryTheory.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
- CategoryTheory.coseparator C = โฏ.choose
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