A cogenerator in a category CC is an object SS such that the functor h S=C(,S):C opSeth_S = C(-,S) : C^{\mathrm{op}} \to \mathrm{Set} is faithful. This means that for any pair g 1,g 2C(X,Y)g_1,g_2\in C(X,Y), if they are indistinguishable by morphisms to SS in the sense that

(θ:YS),θg 1=θg 2, \forall (\theta: Y \to S),\; \theta \circ g_1 = \theta \circ g_2 ,

then g 1=g 2g_1 = g_2.

One often extends this notion to a cogenerating family of objects, which is a (usually small) set 𝒮={S a,aA}\mathcal{S} = \lbrace S_a, a\in A\rbrace of objects in CC such that the family C(,S a)C(-,S_a) is jointly faithful. This means that for any pair g 1,g 2C(X,Y)g_1,g_2\in C(X,Y), if they are indistinguishable by morphisms to 𝒮\mathcal{S} in the sense that

(a:A),(θ:YS a),θg 1=θg 2, \forall (a: A),\; \forall (\theta: Y \to S_a),\; \theta \circ g_1 = \theta \circ g_2 ,

then g 1=g 2g_1 = g_2.


In Set, the set of truth values is a cogenerator. More generally, in any well-pointed topos, the subobject classifier is a cogenerator.

Much more generally, we have


Every topos with a small set of generators (e.g., a well-pointed topos, or a Grothendieck topos), and that has products of objects indexed over sets no larger in cardinality than the generating set, admits an injective cogenerator.


Let CC be a set of generators for the topos; as usual, let Ω\Omega be the subobject classifier. We claim that a product

cCΩ c\prod_{c \in C} \Omega^c

is a cogenerator. For suppose f,g:XYf, g \colon X \stackrel{\to}{\to} Y are distinct morphisms. The contravariant power object functor Ω \Omega^- is faithful (a familiar fact, since it is monadic), so that Ω f,Ω g:Ω YΩ X\Omega^f, \Omega^g: \Omega^Y \stackrel{\to}{\to} \Omega^X are distinct. Since the objects cc form a generating set, there is some h:cΩ Yh \colon c \to \Omega^Y such that the composites

chΩ YΩ gΩ fΩ Xc \stackrel{h}{\to} \Omega^Y \stackrel{\overset{\Omega^f}{\to}}{\underset{\Omega^g}{\to}} \Omega^X

are distinct. The map hh may be transformed to a map h˜:YΩ c\tilde{h}: Y \to \Omega^c, and it follows that the two composites

XgfYh˜Ω cX \stackrel{\overset{f}{\to}}{\underset{g}{\to}} Y \stackrel{\tilde{h}}{\to} \Omega^c

are distinct. For any other cCc' \in C, we may uniformly define YΩ cY \to \Omega^{c'} to be the map classifying the maximal subobject of c×Yc' \times Y, so that these maps together with h˜\tilde{h} collectively induce a map

Y cCΩ cY \to \prod_{c \in C} \Omega^c

that yields distinct results when composed with ff and gg. This proves the claim.

The object Ω c\prod \Omega^c is injective because already Ω\Omega is injective (see Mac Lane-Moerdijk, IV.10), and it is a general fact that in a cartesian closed category (or more generally a closed monoidal category), an exponential (or internal Hom) X YX^Y whose base XX is injective is also injective, and products of injective objects are injective.

Notice also that the existence of a small (co)generating family is one of the conditions in one version of the adjoint functor theorem. We may conclude, for example, that Grothendieck toposes are cototal (q.v.).


The concept of cogenerator is dual to that of separator, so it can also be referred to as a coseparator.

Last revised on June 24, 2013 at 22:09:21. See the history of this page for a list of all contributions to it.