An object SS (or family ๐’ฎ\mathcal{S} of objects) in a category ๐’ž\mathcal{C} is called a separator or generator if generalized elements with domain SS (or domain from ๐’ฎ\mathcal{S}) are sufficient to distinguish morphisms in ๐’ž\mathcal{C}.

The dual notion is that of a coseparator.

Caution on terminology

The term โ€˜generatorโ€™ is slightly more ambiguous because of the use of โ€˜generatorsโ€™ in generators and relations. That said, there is a link between these two senses provided by theorem (q.v.).



An object Sโˆˆ๐’žS \in \mathcal{C} of a category ๐’ž\mathcal{C} is called a separator or a generator or a separating object or a generating object, or is said to separate morphisms if:

  • for every pair of parallel morphisms f,g:Xโ†’Yf,g \colon X \to Y in ๐’ž\mathcal{C}, if fโˆ˜e=gโˆ˜ef\circ e = g\circ e for every morphism e:Sโ†’Xe\colon S \to X, then f=gf = g.

Assuming that ๐’ž\mathcal{C} is locally small category, we have equivalently that SS is a separator if the hom functor Hom(S,โˆ’):๐’žโ†’Hom(S,-) \colon \mathcal{C} \to Set is faithful.

More generally:


A family ๐’ฎ=(S a;|;a:A)\mathcal{S} = (S_a ;|; a\colon A) of objects of a category ๐’ž\mathcal{C} is a separating family or a generating family if:

  • for every pair of parallel morphisms f,g:Xโ†’Yf,g \colon X \to Y in ๐’ž\mathcal{C}, if fโˆ˜e=gโˆ˜ef \circ e = g \circ e for every e:S aโ†’Xe \colon S_a \to X sourced in the family, then f=gf = g.

Assuming again that ๐’ž\mathcal{C} is locally small, we have equivalently that ๐’ฎ\mathcal{S} is a separating family if the family of hom functors Hom(U a,โˆ’):๐’žโ†’Hom(U_a,-) \colon \mathcal{C} \to Set is jointly faithful?.

Since repetition is irrelevant in a separating family, we may also speak of a separating class instead of a separating family.


A separating set is a small separating class.

In fibered categories

The notion of separating family can be generalized from categories to fibered categories in such a way that the family fibration? of a category C\mathbf{C} has a separating family if and only if C\mathbf{C} has a small separating family.


A separating family in a fibered category P:Eโ†’BP:\mathbf{E}\to \mathbf{B} is an object SโˆˆES\in \mathbf{E} such that for every parallel pair f,g:Aโ†’Bf,g:A\to B in EE with fโ‰ gf\neq g and P(f)=P(g)P(f) = P(g) there exist arrows c:Xโ†’Sc: X\to S and h:Xโ†’Ah:X\to A (constituting a span) such that cc is PP-cartesian, and fhโ‰ ghf h \neq g h .

See Definition B2.4.1 in the Elephant.

Examples and applications

Strengthened separators

Motivating theorem

If CC is locally small and has all small coproducts, then a set (S a) (a:A)(S_a)_{(a\colon A)} is a separating set if and only if, for every XโˆˆCX\in C, the canonical morphism

ฮต X:โˆ a:A,f:S aโ†’XS aโŸถX \varepsilon_X\colon \coprod_{a\colon A, f\colon S_a \to X} S_a \longrightarrow X

is an epimorphism.

This theorem explains a likely origin of the term โ€œgeneratorโ€ or โ€œgenerating familyโ€. For example, in linear algebra, one says that a set of morphisms f a:S aโ†’Xf_a: S_a \to X spans or generates XX if the induced map โŠ•S aโ†’X\oplus S_a \to X maps epimorphically onto XX.

More generally:


If โ„ฐ\mathcal{E} is a subclass of epimorphisms, we say that (S a) (a:A)(S_a)_{(a\colon A)} is an โ„ฐ\mathcal{E}-separator or โ„ฐ\mathcal{E}-generator if each morphism ฮต X\varepsilon_X (as above) is in โ„ฐ\mathcal{E}.

The weakest commonly-seen strengthed generator is an extremal separator.

Slightly stronger is a strong separator or strong generator, which is obtained by taking โ„ฐ\mathcal{E} to be the class of strong epimorphisms. This can be expressed equivalently, without requiring local smallness or the existence of coproducts, by saying that the family C(S a,โˆ’)C(S_a,-) is jointly faithful and jointly conservative. Since strong epis are extremal, strong generators are extremal.


Confusingly, some authors use โ€œstrong generatorโ€ for what we call an extremal separator. In a category with pullbacks, extremal epis reduce to strong ones, and so extremal separators are necessarily strong, and the clash of terminology is resolved.

Stronger still is a regular generator. Since regular epis are strong, regular generators are strong.

Finally, the strongest sort of generator commonly seen is a dense generator. Dense generators donโ€™t fit into our scheme based on classes of epimorphisms, but they do admit a nice functorial definition: a full subcategory ๐’ขโŠ‚๐’ž\mathcal{G} \subset \mathcal{C} is dense if and only if the functor ๐’ž(i ๐’ข,โˆ’):๐’žโ†’[๐’ข op,Set]\mathcal{C}(i_{\mathcal{G}}, -): \mathcal{C} \to [\mathcal{G}^{\mathrm{op}}, \mathrm{Set}] is full and faithful, where i ๐’ข:๐’ขโ†’๐’ži_{\mathcal{G}}: \mathcal{G} \to \mathcal{C} is the inclusion. That is to say, ๐’ข\mathcal{G} is a dense generator if i ๐’ขi_{\mathcal{G}} is a dense functor. In a category with coproducts, every dense generator is regular: this can be seen by reformulating denseness in terms of canonical colimits and expressing the relevant colimit as a coequalizer of two coproducts.

Daniel Schaeppi Something seems to be wrong here: strong epimorphisms are extremal, so the notion of extremal generator is weaker than the notion of strong generator. In general, not every strong separator / strong generator is (SetSet-)dense (take the free abelian group on one separator, for example).

Tim Campion: Iโ€™ve attempted to fix these errors. Hopefully itโ€™s all right now.

Last revised on February 18, 2019 at 12:42:25. See the history of this page for a list of all contributions to it.