nLab category of elements




The category of elements of a functor F:CF : C \to Set is a category el(F)Cel(F) \to C sitting over the domain category CC, such that the fiber over an object cCc \in C is the set F(c)F(c).

This is a special case of the Grothendieck construction, by considering sets as discrete categories.

We may think of Set as the classifying space of “Set-bundles;” see generalized universal bundle. The category of elements of FF is, in this sense, the Set-bundle classified by FF. It comes equipped with a projection to CC which is a discrete opfibration, and provides an equivalence between SetSet-valued functors and discrete opfibrations. (There is a dual category of elements that applies to contravariant SetSet-valued functors, i.e. presheaves, and produces discrete fibrations.)

Forming a category of elements can be thought of as “unpacking” a concrete category. For example, consider a concrete category CC consisting of two objects X,YX,Y and two non-trivial morphisms f,gf,g

The individual elements of X,YX,Y are “unpacked” and become objects of the new category. The “unpacked” morphisms are inherited in the obvious way from morphisms of CC.

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 SetSet, is called the Grothendieck construction.


Given a functor P:CSetP:C\to\mathbf{Set}, the category of elements el(P)el(P) or El P(C)El_P(C) (or obvious variations) may be understood in any of these equivalent ways:

  • It is the category whose objects are pairs (c,x)(c,x) where cc is an object in CC and xx is an element in P(c)P(c) and morphisms (c,x)(c,x)(c,x)\to(c',x') are morphisms u:ccu:c\to c' such that P(u)(x)=xP(u)(x) = x'.

  • It is the pullback along PP of the universal Set-bundle U:Set *SetU : Set_* \to Set

    El P(C) Set * π P U C Set, \array{ El_P(C) &\to& Set_* \\ \downarrow^{\mathrlap{\pi_P}} && \downarrow^\mathrlap{U} \\ C &\to& Set }\,,

    where UU is the forgetful functor from pointed sets to sets.

  • It is the comma category (*/P)(*/P), where ** is the inclusion of the one-point set *:*Set*:*\to Set and P:CSetP:C\to Set is itself:

    El P(C) * π P pt C Set \array{ El_P(C) &\to& * \\ \downarrow^{\mathrlap{\pi_P}} &\Downarrow& \downarrow^{\mathrlap{pt}} \\ C &\to& Set }
  • Its opposite is the comma category (Y/P)(Y/P), where YY is the Yoneda embedding C op[C,Set]C^{op}\to [C,Set] and PP is the functor *[C,Set]*\to [C,Set] which picks out PP itself:

    El P(C) op π P op C op Y * P [C,Set] \array{ El_P(C)^{op} &\overset{\pi_P^{op}}{\to}& C^{op} \\ \downarrow &\Downarrow& \downarrow^{\mathrlap{Y}} \\ * & \underset{P}{\to}& [C,Set] }

    El P(C)El_P(C) is also often written with coend notation as CP\int^C P, c:CP(c)\int^{c: C} P(c), or cP(c)\int^c P(c). This suggests the fact the set of objects of the category of elements is the disjoint union (sum) of all of the sets P(c)P(c).

  • It is the (strict) oplax colimit of the composite CPSetdiscCatC \xrightarrow{P} \mathbf{Set} \xrightarrow{disc} \mathbf{Cat}; see Grothendieck construction.

When CC is a concrete category and the functor F:CSetF:C\to Set is simply the forgetful functor, we can define a functor

Explode():=El F().Explode(-) := El_F(-).

This is intended to illustrate the concept that constructing a category of elements is like “unpacking” or “exploding” a category into its elements.


The category of elements defines a functor el:Set CCatel : \mathbf{Set}^{C} \to \mathbf{Cat}. This is perhaps most obvious when viewing it as an oplax colimit. Furthermore we have:


The functor el:Set CCatel : \mathbf{Set}^{C} \to \mathbf{Cat} is cocontinuous.


As remarked above, elel is a strict weighted 2-colimit, hence we have an isomorphism

el(P) cCJ(c)×disc(P(c)) el(P) \cong \int^{c\in C} J(c) \times disc(P(c))

where the weight J:C opCatJ:C^{op} \to \mathbf{Cat} is the functor cc/Cc\mapsto c/C, and disc:SetCatdisc:\mathbf{Set}\hookrightarrow \mathbf{Cat} is the inclusion of the discrete categories. But since discdisc (regarded purely as a 1-functor) has a right adjoint (the functor which sends a -small- category CC into its set of elements C 0C_0), it preserves (1-categorical) colimits. Since colimits also commute with colimits, the composite operation el\el also preserves colimits.


The functor el:Set CCatel\colon \mathbf{Set}^{C} \to \mathbf{Cat} has a right adjoint (which is maybe a more direct way to see that it is cocontinuous).


By a simple coend computation

Cat(el(F),D) Cat( cJc×δ(Fc),D) cCat(Jc×δ(Fc),D) cSets(Fc,[Jc,D] 0) Set C(F,K(D)) \begin{array}{rl} \mathbf{Cat}(el(F),D)&\cong \mathbf{Cat}\Big( \int^c J c\times\delta(F c), D\Big)\\ &\cong \int_c\mathbf{Cat}\big(J c\times \delta(F c),D\big)\\ &\cong \int_c \mathbf Sets\big(F c,[J c,D]_0\big)\\ &\cong \mathbf{Set}^{C}(F, K(D)) \end{array}

where K(D):c[Jc,D] 0K(D)\colon c\mapsto [J c,D]_0.

Now for any CC, the terminal object of Set C\mathbf{Set}^C is the functor Δ1\Delta 1 constant at the point. The category of elements of Δ1\Delta 1 is easily seen to be just CC itself, so the unique transformation PΔ1P\to \Delta 1 induces a projection functor π P:el(P)C\pi_P: \el(P) \to C defined by (c,x)c(c,x)\mapsto c and uuu\mapsto u. The projection functor is a discrete opfibration, and can be viewed also as a CC-indexed family of sets. When we regard el(P)\el(P) as equipped with π P\pi_P, we have an embedding of Set C\mathbf{Set}^C into Cat/C\mathbf{Cat}/C.

Note that while the canonical projection El(F)C\operatorname{El}(F) \to \mathbf{C} is surjective on objects, it is not usually full. For example, let B\mathbf{B}\mathbb{N} be the one-object category which carries the monoid (,+)(\mathbb{N}, +) as its endomorphism monoid, and let FF be the action of (,+)(\mathbb{N}, +) on the set \mathbb{N} by n.m=m+nn.m = m + n. Then the image of any hom-set between k,kk, k' is a singleton subset of \mathbb{N}.

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 00 or 11, while objects in the groupoid might have nontrivial automorphism groups.


Representable Presheaves

Let Y(C):𝒞 opSetY(C):\mathcal{C}^{op}\to Set be a representable presheaf with Y(C)(D)=Hom 𝒞(D,C)Y(C)(D)=Hom_{\mathcal{C}}(D,C). Consider the contravariant category of elements 𝒞Y(C)\int_\mathcal{C} Y(C) . This has objects (D 1,p 1)(D_1,p_1) with p 1Y(C)(D 1)p_1\in Y(C)(D_1), hence p 1p_1 is just an arrow D 1CD_1\to C in 𝒞\mathcal{C}. A map from (D 1,p 1)(D_1, p_1) to (D 2,p 2)(D_2, p_2) is just a map u:D 1D 2u:D_1\to D_2 such that p 2u=p 1p_2\circ u =p_1 but this is just a morphism from p 1p_1 to p 2p_2 in the slice category 𝒞/C\mathcal{C}/C. Accordingly we see that 𝒞Y(C)𝒞/C\int_\mathcal{C} Y(C)\simeq \mathcal{C}/C .

This equivalence comes in handy when one wants to compute slices of presheaf toposes over representable presheaves Y(C)Y(C) since PSh( 𝒞P)PSh(𝒞)/PPSh(\int_\mathcal{C} P) \simeq PSh(\mathcal{C})/P in general for presheaves P:𝒞 opSetP:\mathcal{C}^{op}\to Set , whence PSh(𝒞)/Y(C)PSh(𝒞/C)PSh(\mathcal{C})/Y(C) \simeq PSh(\mathcal{C}/C) . An instructive example of this construction is spelled out in detail at hypergraph.

Action Groupoid

In the case that C=BGC = \mathbf{B}G is the delooping groupoid of a group GG, a functor ϱ:BGSet\varrho : \mathbf{B}G \to Set is a permutation representation XX of GG and its category of elements is the corresponding action groupoid X//GX/\!/G.


This is easily seen in terms of the characterization el(ϱ)(*/ϱ)el(\varrho)\cong (*/\varrho), the category having as objects triples (*,*;*ϱ(*)=X)(*,*; *\to \varrho(*)=X), namely elements of the set X=ϱ(*)X=\varrho(*), and as arrows xyx\to y those gBGg\in \mathbf{B}G such that

* x X 1 g * y X \array{ {*} & \overset{x}{\to} & X \\ {}^1\downarrow && \downarrow^g\\ {*} & \underset{y}{\to} & X }

commutes, namely g.x=ϱ(g)(x)=yg . x=\varrho(g)(x)=y. We can also present the right adjoint to el()el(-): one must consider the functor J:BG opCatJ\colon \mathbf{B}G^{op}\to \mathbf{Cat}, which represents GG in Cat\mathbf{Cat}, and sends the unique object *BG*\in \mathbf{B}G to */BGG//G*/\mathbf{B}G\cong G/\!/G, the left action groupoid of GG. The functor JJ sends hGh\in G to an automorphism of G//GG/\!/G, obtained multiplying on the right xgxx\to g x to xhxghx h\to x g h.

Now for any category DD, K(D)(*)K( D)(*) is exactly the set of functors [G//G,D][G/\!/G, D], which inherits from G//GG/\!/G an obvious action: given F[G//G,D]F\in [G/\!/G, D] we define F h=J(h) *F=FJ(h):gF(gh)F^h=J(h)^*F=F \circ J(h) \colon g \mapsto F(g h).

Category of simplices

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.


A very nice introduction emphasizing the connections to monoid theory is ch. 12 of

Last revised on September 15, 2021 at 15:03:22. See the history of this page for a list of all contributions to it.