nLab
cogenerator

A cogenerator in a category C is an object S such that the functor h S=C(,S):C optoSet is faithful. This means that for any pair g 1,g 2C(X,Y), if they are indistinguishable by morphisms to S 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 2.

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

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

then g 1=g 2.

The dual notion is generator.

Examples

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

The existence of a small (co)generating family is one of the conditions in one version of the adjoint functor theorem.