The category of elements of a functor is a category sitting over the domain category , such that the fiber over an object is the set . Or more precisely, the discrete category .
This is a special case of the Grothendieck construction for covariant functors, by considering sets as discrete categories. There is a similar special case of the Grothendieck construction for contravariant functors which takes a functor to a category over . In fact, there is a common construction which generalises these, the so-called two-sided category of elements for a profunctor, which we will discuss later in this article.
We may think of Set as the classifying space of βSet-bundles;β see generalized universal bundle. The category of elements of is, in this sense, the Set-bundle classified by . It comes equipped with a projection to which is a discrete opfibration, and provides an equivalence between -valued functors and discrete opfibrations. There is a dual category of elements that applies to contravariant -valued functors, i.e. presheaves, and produces discrete fibrations. And the two-sided version applies to profunctors, producing two-sided fibrations.
Forming a category of elements can be thought of as βunpackingβ a concrete category. For example, consider a concrete category consisting of two objects and two non-trivial morphisms

The individual elements of are βunpackedβ and become objects of the new category. The βunpackedβ morphisms are inherited in the obvious way from morphisms of .
Note that an βunpackedβ category of elements can be βrepackagedβ.

The generalization of the category of elements for functors landing in Cat, rather than just , is called the Grothendieck construction.
Given a functor , the category of elements or (or obvious variations) may be understood in any of these equivalent ways:
It is the category whose objects are pairs where is an object in and is an element in and morphisms are morphisms such that .
It is the pullback along of the universal Set-bundle
where is the forgetful functor from pointed sets to sets.
It is the comma category , where is the inclusion of the one-point set and is itself:
is also often written with coend notation as , , or . This suggests the fact the set of objects of the category of elements is the disjoint union (sum) of all of the sets .
When is a concrete category and the functor is simply the forgetful functor, we can define a functor
This is intended to illustrate the concept that constructing a category of elements is like βunpackingβ or βexplodingβ a category into its elements.
Applying the above construction to a presheaf produces a category with a projection . However, the true category of elements for a presheaf is normally taken to have a projection into itself - this can be accomplished by taking the opposite category, producing . In fact, both the covariant and contravariant constructions are special cases of the category of elements of a profunctor, whose construction we now outline.
Take a profunctor , viewed as a functor . For , we can view the elements as heteromorphisms . The action of the profunctor can be encoded in a βcompositionβ operation of these heteromorphisms with ordinary morphisms, defining for and . The unit and associativity laws for this composition operation encode the fact that preserves identities and composites.
This gives a nice visual picture for the category of elements of - it is a βheteromorphic arrow categoryβ! More precisely, it is the category whose objects are triples for , and whose morphisms are pairs with . Much like the arrow category, this has a projection functor that is a two-sided fibration.
We also have a coend formula for this category:
, where is a slice category and is a coslice category.
The category of elements of a set-valued functor and of a presheaf then arise as categories of elements of the profunctors and respectively, where is the terminal category.
The category of elements defines a functor . This is perhaps most obvious when viewing it as an oplax colimit. Furthermore we have:
The functor is cocontinuous.
Itβs easiest to prove this by showing that, in fact, it has a right adjoint:
The functor has a right adjoint.
By a simple coend computation:
where , sending a pair to the set of objects of the functor category .
Now for any , the terminal object of is the functor constant at the point. The category of elements of is easily seen to be just itself, so the unique transformation induces a projection functor defined by and . The projection functor is a two-sided fibration, and can be viewed also as a -indexed family of sets. When we regard as equipped with , we have an embedding of into .
Note that the canonical projection is not usually full. For example, let be the one-object category which carries the monoid as its endomorphism monoid, and let be the action of on the set by . Then the image of any hom-set between is a subsingleton subset of .
More generally, the universal covering groupoid of a groupoid is just the category of elements of its action on itself by composition. Since this action is faithful and transitive, hom-sets in the category of elements are always or , while objects in the groupoid might have nontrivial automorphism groups.
Categories of elements of set-valued functors and presheaves have a close tie to representability:
The category of elements of has an initial object if and only if is a representable functor. In this case, if the initial object is , then is isomorphic to the functor .
Perhaps the simplest example of a category of elements comes from the identity functor . The objects of this category are where is a set and . And morphisms are functions with . This is precisely the category of pointed sets! We recognise this as the βuniversal set bundleβ .
Let be a representable presheaf with . Consider the contravariant category of elements . This has objects with , hence is just an arrow in . A map from to is just a map such that but this is just a morphism from to in the slice category . Accordingly we see that .
This equivalence comes in handy when one wants to compute slices of presheaf toposes over representable presheaves since in general for presheaves , whence . An instructive example of this construction is spelled out in detail at hypergraph.
In the case that is the delooping groupoid of a group , a functor is a permutation representation of and its category of elements is the corresponding action groupoid .
This is easily seen in terms of the characterization , the category having as objects triples , namely elements of the set , and as arrows those such that
commutes, namely . We can also present the right adjoint to : one must consider the functor , which represents in , and sends the unique object to , the left action groupoid of . The functor sends to an automorphism of , obtained multiplying on the right to .
Now for any category , is exactly the set of functors , which inherits from an obvious action: given we define .
For a simplicial set regarded as a presheaf on the simplex category, the corresponding category of elements is called its category of simplices. See there for more.
Let be a diagram. Then we can define a presheaf mapping to the set of cones over with tip , with the functorial action given by precomposition of cone morphisms. The category of elements of this presheaf is precisely the category of cones over !
Thus, we observe that this presheaf is representable if and only if the category of cones has a terminal object - or, in more familiar terms, has a limit if and only if there exists a universal cone.
Let and be functors. We can form a profunctor by defining , the set of morphisms in between and . We can use the functorial actions of and to βcomposeβ these heteromorphisms with ordinary morphisms , sending to , which defines the action of on morphisms.
Then, the category of elements of this profunctor is precisely the comma category ! Which has a projection functor that forms a two-sided fibration.
As a special case, taking the category of elements of , viewed as a profunctor from to , produces the familiar arrow category. On the other hand, if we simply apply the ordinary βcovariantβ category of elements construction to produce a category with a projection to , we obtain the twisted arrow category.
This illustrates an important general point - when taking the category of elements of a functor, itβs not enough to simply specify the domain. We need to specify it as a profunctor with chosen domain and codomain categories, so that the resulting heteromorphisms have the desired domain and codomain, and we get the correct kind of projection.
A very nice introduction emphasizing the connections to monoid theory is ch. 12 of
Last revised on February 4, 2026 at 09:52:50. See the history of this page for a list of all contributions to it.