Presheaf exactness and pullback comparisons
Written by GPT-6.1 Sol (OpenAI), October 2026. Self-checked by the writing AI. Original text public domain (CC0).
A universal square carries equations as well as an object. To compare two pullbacks, keep the original projections and test every compatible pair of maps. To test an epimorphism of presheaves, a pointwise quotient supplies the target that detects a missing element. These two methods also expose a mistake in a represented coequalizer exercise: a quotient relation includes an empty path, and its edges can be traversed in either direction.
We use cancellation in an arbitrary category, the full pullback and pushout factors, pointwise presheaf constructions, and the Yoneda identity test. Composition is written from right to left.
1. Three pullback comparisons
Pulling back a monomorphism
Suppose the square with upper arrow \(f':X'\to Y'\), lower arrow \(f:X\to Y\), and vertical arrows \(g':X'\to X\), \(g:Y'\to Y\) is a specified pullback. Thus \(fg'=gf'\), and every compatible pair into \(X,Y'\) factors uniquely through \(X'\). If \(f\) is monic, then \(f'\) is monic.
Take any \(T\) and \(a,b:T\to X'\) with \(f'a=f'b\). Commutativity gives
\[ \begin{gathered} fg'a=gf'a=gf'b=fg'b,\\ g'a=g'b . \end{gathered} \tag{1.1} \]The second equality uses cancellation of \(f\). The maps \(a,b\) now have equal composites with both pullback projections \(g',f'\), so uniqueness of the factor for that same pair gives \(a=b\). This proves the full cancellation test; it does not require the category to have other pullbacks.
A pushout of a span that already has a pullback target
Fix arrows \(p:X\to Y\), \(q:X\to Z\) and \(y:Y\to U\), \(z:Z\to U\). Assume \(yp=zq\) and that \(X\), with these actual maps, is the pullback of \(y,z\). Suppose a pushout of \(p,q\) is also given, with \(i:Y\to V\), \(j:Z\to V\). The compatible pair \(y,z\) has a unique pushout factor \(k:V\to U\):
\[ \begin{gathered} ip=jq,\qquad ki=y,\qquad kj=z . \end{gathered} \tag{1.2} \]Then the square with apex \(V\), sides \(i,j\), and upper-left object \(X\) is itself a pullback. Indeed, let \(a:T\to Y\), \(b:T\to Z\) satisfy \(ia=jb\). Applying \(k\) gives \(ya=zb\), so the original pullback supplies a unique \(c:T\to X\) with
\[ pc=a,\qquad qc=b . \tag{1.3} \]These are exactly the projections required for the new square. Conversely, every \(c\) yields \(i(pc)=j(qc)\) by (1.2). Uniqueness of \(c\) follows from the original pullback. Thus the full bijection from maps into \(X\) to compatible pairs over \(V\) uses the original projections.
Precomposing a pair \(a,b\) by \(t:T'\to T\) gives \(at,bt\); its factor is \(ct\), because it has those projections. Uniqueness proves naturality in the testing object. The pushout is used to produce \(k\); no additional preservation hypothesis on pushouts is needed.
Changing the common target along a monomorphism
Let \(f:X\to Z\), \(g:Y\to Z\), and let \(u:Z\to Z'\) be monic. Suppose the two pullbacks \(P=X\times_Z Y\) and \(P'=X\times_{Z'}Y\) exist, with projections \(p_X,p_Y\) and \(p'_X,p'_Y\). The canonical comparison \(v:P\to P'\) is the unique map preserving both projections. The defining pair for \(P'\) satisfies
\[ \begin{gathered} ufp'_X=ugp'_Y,\\ fp'_X=gp'_Y . \end{gathered} \tag{1.4} \]Cancellation of \(u\) therefore supplies a unique \(w:P'\to P\) with \(p_Xw=p'_X\), \(p_Yw=p'_Y\). Both \(wv\) and \(1_P\) have projections \(p_X,p_Y\), while both \(vw\) and \(1_{P'}\) have projections \(p'_X,p'_Y\). The two uniqueness properties give
\[ wv=1_P,\qquad vw=1_{P'} . \tag{1.5} \]In fact the sets of compatible pairs over \(Z\) and \(Z'\) coincide for every \(T\): one direction composes with \(u\), and the other cancels it. The inverse maps above realize that equality with the specified universal objects.
This comparison also respects changes of the cospan. If \(a:X\to\widetilde X\), \(b:Y\to\widetilde Y\), \(c:Z\to\widetilde Z\), \(c':Z'\to\widetilde Z'\) satisfy \(\widetilde f a=cf\), \(\widetilde g b=cg\), \(c'u=\widetilde u c\), and both \(u,\widetilde u\) are monic, the induced maps \(P\to\widetilde P\) and \(P'\to\widetilde P'\) commute with \(v,\widetilde v\). Both composites have projections \(ap_X,bp_Y\). Uniqueness proves the square commutes, and the same equation gives compatibility of their inverses. No choice of a product representation is required.
2. Cancellation in presheaves
Cancellation of natural transformations can be tested on their values. The injective test comes from the identity in a representable presheaf. For the surjective test, glue two copies of the target along the image: a missing element keeps its two copies distinct.
Fix the working universe \(\mathcal U\), and let \(C\) be any locally \(\mathcal U\)-small category in the ambient-set convention. Write
\[ \begin{gathered} \widehat C =\operatorname{Fun}(C^{\mathrm{op}},\mathsf{Set}_{\mathcal U}),\\ h_X(T)=\operatorname{Hom}_C(T,X). \end{gathered} \tag{2.1} \]The object set of \(C\) need not be \(\mathcal U\)-small until the coproduct assertion below. Transformation sets are taken in a sufficiently large ambient universe. If a Hom set is small only up to bijection, use the encoded representable: decode arrows before composition and encode its result. The formulas below use the simpler literal-Hom notation; identities and equations transport through those bijections. Composition is from right to left.
Monomorphisms and the identity test
Let \(\phi:F\to G\) be a natural transformation. Then \(\phi\) is monic precisely when every function \(\phi_X:F(X)\to G(X)\) is injective.
If all components are injective, take any presheaf \(T\) and transformations \(a,b:T\to F\) with \(\phi a=\phi b\). At every \(X\), the equation \(\phi_Xa_X=\phi_Xb_X\) gives \(a_X=b_X\). Therefore \(a=b\), which is the full monomorphism cancellation test.
Conversely, suppose \(\phi\) is monic, and fix \(x,y\in F(X)\) with \(\phi_X(x)=\phi_X(y)\). The Yoneda bijection gives the transformations
\[ \begin{gathered} \widetilde x,\widetilde y:h_X\longrightarrow F,\\ \widetilde x_T(f)=F(f)(x),\\ \widetilde y_T(f)=F(f)(y). \end{gathered} \tag{2.2} \]For \(u:T'\to T\), the equation \(F(fu)=F(u)F(f)\) verifies their naturality. Naturality of \(\phi\) gives \(\phi_T\widetilde x_T(f)=G(f)\phi_X(x)\), with the same expression for \(y\). Thus \(\phi\widetilde x=\phi\widetilde y\). Monic cancellation gives \(\widetilde x=\widetilde y\), and evaluation at \(1_X\) gives \(x=y\). The identity and naturality also prove the entire Yoneda inverse: evaluation sends \(\widetilde x\) to \(x\), while any \(t:h_X\to F\) satisfies \(t_T(f)=F(f)t_X(1_X)\).
Epimorphisms and the two copies of a value
The transformation \(\phi\) is epic precisely when every \(\phi_X\) is surjective. Sufficiency is direct. If \(r,s:G\to S\) satisfy \(r\phi=s\phi\), then for any \(g\in G(X)\) there is \(a\in F(X)\) with \(\phi_X(a)=g\). Consequently \(r_X(g)=r_X\phi_X(a)=s_X\phi_X(a)=s_X(g)\). This proves \(r=s\) for every target presheaf \(S\).
For necessity, construct the actual self-pushout \(P=G\amalg_FG\). Its value at \(X\) is the small quotient
\[ \begin{gathered} P(X)=(\{1,2\}\times G(X))/{\sim_X},\\ (1,\phi_X(a))\\ \sim_X(2,\phi_X(a)) \\(a\in F(X)),\\ j_{i,X}(g)=[i,g]\qquad(i=1,2). \end{gathered} \tag{2.3} \]Here \(\sim_X\) is the equivalence relation generated by the displayed pairs. Every generator preserves the underlying element of \(G(X)\). For an element in \(\phi_X(F(X))\), a generator joins its two tags. Outside that image no generator meets either tagged element, so each is a singleton equivalence class. Thus the exact criterion is
\[ \begin{gathered} j_{1,X}(g)=j_{2,X}(g)\\ \Longleftrightarrow g\in\phi_X(F(X)). \end{gathered} \tag{2.4} \]Within each copy, equality of classes also implies equality of the underlying elements. This is the image-and-complement description proved in the full set self-pushout, with the actual quotient maps retained.
For \(u:X\to Y\), define
\[ \begin{gathered} P(u)([i,g])=[i,G(u)(g)]\\ (g\in G(Y)). \end{gathered} \tag{2.5} \]This is well-defined: naturality gives \(G(u)\phi_Y(a)=\phi_XF(u)(a)\), so every generating pair maps to a generating pair. The functor laws follow on each class from those of \(G\). Equation (2.5) makes both \(j_i:G\to P\) natural, and (2.3) gives \(j_1\phi=j_2\phi\).
For completeness, take any presheaf \(S\) and natural transformations \(r_1,r_2:G\to S\) satisfying \(r_1\phi=r_2\phi\). The unique pushout factor is
\[ \begin{gathered} \lambda_X:P(X)\longrightarrow S(X),\\ \lambda_X([i,g])=r_{i,X}(g),\\ \lambda j_1=r_1,\qquad\lambda j_2=r_2. \end{gathered} \tag{2.6} \]Its values agree on the generators by the assumed equation, hence on every equivalence class. For \(u:X\to Y\), naturality is the equality \(S(u)r_{i,Y}(g)=r_{i,X}G(u)(g)\) on every representative. Every class has a representative, so the two factor equations determine \(\lambda\) uniquely. Conversely those equations recover the original pair. Postcomposition into another presheaf acts on both sides by the same formula. This proves the full natural pushout correspondence, as in pointwise presheaf constructions.
If \(\phi\) is epic, cancel it in \(j_1\phi=j_2\phi\). Then \(j_1=j_2\), and (2.4) proves that every \(\phi_X\) is surjective. The specified codiagonal is \(\sigma_X([i,g])=g\); it is natural and satisfies \(\sigma j_1=1_G=\sigma j_2\). Thus this calculation also realizes the general self-pushout cancellation criterion with its original maps.
All quotient values are small by the universe's finite tagged-union and quotient closures. If \(F(X)=\varnothing\), its image is empty and \(P(X)\) has two disjoint copies of \(G(X)\). If \(G(X)=\varnothing\), existence of \(\phi_X\) forces \(F(X)=\varnothing\), and \(P(X)=\varnothing\). The formulas and factor proofs include these cases.
An epimorphism onto a representable has a section
Let \(\alpha:A\to h_U\). If \(\alpha\) is epic, its component at \(U\) is surjective, so there exists \(a\in A(U)\) such that \(\alpha_U(a)=1_U\). The full Yoneda inverse constructs
\[ \begin{gathered} s:h_U\longrightarrow A,\\ s_X(f)=A(f)(a) \quad(f:X\to U),\\ \alpha_Xs_X(f) =h_U(f)(1_U)=f. \end{gathered} \tag{2.7} \]For \(u:X'\to X\), \(A(u)s_X(f)=A(fu)(a)=s_{X'}(fu)\), so \(s\) is natural. Its identity evaluation is \(s_U(1_U)=a\); the converse Yoneda calculation above shows that this gives the specified transformation on every object. The last equation in (2.7) uses naturality of \(\alpha\) at \(f\) and proves \(\alpha s=1_{h_U}\).
Conversely, any section \(s:h_U\to A\) makes \(\alpha\) epic: if \(r\alpha=t\alpha\), compose with \(s\) to get \(r=r\alpha s=t\alpha s=t\). This cancellation argument works in every category. The existence argument uses the representable target: lifting its identity provides one datum that already determines a natural transformation. Component surjectivity onto a general presheaf does not itself provide a natural section.
The small family of all representables covers the terminal presheaf
Now assume \(C\) is \(\mathcal U\)-small. Form the coproduct \(Q=\coprod_{U\in\operatorname{Ob}C}h_U\). Explicitly,
\[ \begin{gathered} Q(X)=\coprod_{U\in\operatorname{Ob}C}\\ \operatorname{Hom}_C(X,U),\\ Q(u)(U,f)=(U,fu)\\ (u:X'\to X). \end{gathered} \tag{2.8} \]The object index and all Hom values are small, so the small tagged-union bound makes every value small. For labels only small up to bijection, reindex the object set by a universe member and use encoded Hom values; transporting the displayed maps gives a \(\mathsf{Set}_{\mathcal U}\)-valued presheaf. Without the small object-index hypothesis that bound is unavailable.
The functor laws of \(Q\) are the composition laws in \(C\). Its summand injections send \(f\) to \((U,f)\). For any family of transformations \(t_U:h_U\to S\), the unique coproduct factor has value \(t_X(U,f)=t_{U,X}(f)\). Naturality follows from that of each \(t_U\), and uniqueness follows because every tagged element belongs to a summand. This verifies the coproduct with its actual injections.
Let \(\mathbf1\) be the singleton presheaf, terminal because every component map to its singleton value is unique and these maps are natural. The unique \(e:Q\to\mathbf1\) sends every tagged element to \(*\). At every object \(X\), the element \((X,1_X)\in Q(X)\) maps to \(*\). Thus all components of \(e\) are surjective, and \(e\) is epic by the proved criterion. Individual summands may have empty values; the identity in the summand labelled \(X\) supplies exactly the needed element.
If \(C\) is empty, there is no object \(X\) at which an element must be supplied. Its presheaf category has one functor and one transformation. The empty coproduct and the terminal presheaf are that same object, and \(e\) is its identity. Likewise the mono and epi tests above are vacuous and true in this empty category.
3. The full kernel-pair coequalizer
An epimorphism identifies precisely the elements with the same image. A map out of its source descends if it is constant on those fibres. The work is to show that the descended functions commute with every restriction map, so they form the required presheaf transformation.
Let \(C\) be \(\mathcal U\)-small, and let \(\alpha:A\to B\) be an epimorphism in \(\widehat C\). Section 2 makes every \(\alpha_X\) surjective. Its specified kernel pair \(R=A\times_BA\) has
\[ \begin{gathered} R(X)=\{(a,a')\in A(X)^2:\\ \alpha_X(a)=\alpha_X(a')\},\\ R(u)(a,a')=(A(u)a,A(u)a'),\\ p_{1,X}(a,a')=a,\\ p_{2,X}(a,a')=a'. \end{gathered} \tag{3.1} \]Here \(u:X\to Y\) sends pairs in \(R(Y)\) to pairs in \(R(X)\). Naturality of \(\alpha\) preserves the defining equality. The functor laws follow coordinatewise from those of \(A\), and both projections are natural. The value sets are small subsets of small products.
These maps give the entire pullback property. If \(v,w:T\to A\) are natural and \(\alpha v=\alpha w\), set \(k_X(t)=(v_X(t),w_X(t))\). This lies in \(R(X)\), is natural because \(v,w\) are, and satisfies \(p_1k=v\), \(p_2k=w\). Every factor with these projections has exactly these pairs as its values, so it is unique. Composing a compatible pair with a transformation into \(T\) commutes with this formula. Thus (3.1) is the specified kernel pair, rather than just a pointwise set bearing that name.
The equivalence relation on \(A(X)\) given by equality under \(\alpha_X\) is already reflexive, symmetric and transitive. Its quotient has the specified bijection
\[ \begin{gathered} q_X:A(X)/{\sim_X}\longrightarrow B(X),\\ a\sim_Xa' \Longleftrightarrow\\ \alpha_X(a)=\alpha_X(a'),\\ q_X([a])=\alpha_X(a). \end{gathered} \tag{3.2} \]It is well-defined and injective by that exact equality criterion, and surjective by surjectivity of \(\alpha_X\). Restriction sends \([a]\) to \([A(u)a]\), which is well-defined by naturality of \(\alpha\). Those restrictions satisfy the presheaf laws, and \(q_X\) commutes with them by the same naturality equation. The inverse of \(q_X\) sends \(b\) to its unique fibre class. It is uniquely determined, so it requires no simultaneous selection of representatives. This identifies the quotient presheaf with the actual target \(B\) and identifies its class map with \(\alpha\).
Descend every equalizing transformation
Take any presheaf \(S\) and any transformation \(\rho:A\to S\) such that \(\rho p_1=\rho p_2\). For any \(a,a'\in A(X)\) with the same \(\alpha_X\)-image, the pair \((a,a')\) belongs to \(R(X)\), so
\[ \begin{gathered} \alpha_X(a)=\alpha_X(a')\\ \Longrightarrow\quad \rho_X(a)=\rho_X(a'). \end{gathered} \tag{3.3} \]For \(b\in B(X)\), its fibre is nonempty, and (3.3) shows that all values of \(\rho_X\) on it coincide. Define \(\tau_X(b)\) to be that unique common value. Equivalently its graph is
\[ \begin{gathered} \Gamma_X=\{(b,s)\in B(X)\times S(X):\\ \text{there exists }a\in A(X)\text{ with}\\ \alpha_X(a)=b,\quad\rho_X(a)=s\}. \end{gathered} \tag{3.4} \]Existence and uniqueness make \(\Gamma_X\) the graph of a function \(\tau_X:B(X)\to S(X)\). This definition takes a uniquely determined value for each fibre; it chooses no representative for each \(b\), and no family of sections of the component functions. It immediately gives \(\tau_X\alpha_X=\rho_X\).
To check every restriction, let \(u:X\to Y\) and \(b\in B(Y)\). For this one element, choose any witness \(a\in A(Y)\) with \(\alpha_Y(a)=b\). Naturality of \(\alpha\) says \(\alpha_X(A(u)a)=B(u)b\). Consequently the defining common values and naturality of \(\rho\) give
\[ \begin{aligned} \tau_X(B(u)b) &=\rho_X(A(u)a)\\ &=S(u)(\rho_Y(a))\\ &=S(u)(\tau_Y(b)). \end{aligned} \tag{3.5} \]The conclusion is independent of the witness by (3.3). It holds for every \(u\) and \(b\), proving that \(\tau:B\to S\) is natural and that \(\tau\alpha=\rho\). If \(\tau':B\to S\) also satisfies \(\tau'\alpha=\rho\), then for each \(b=\alpha_X(a)\) its value is forced to be \(\rho_X(a)\). Hence \(\tau'_X=\tau_X\) for every \(X\), and \(\tau'=\tau\).
Conversely, every \(\tau:B\to S\) gives an equalizing transformation \(\rho=\tau\alpha\), since \(\alpha p_1=\alpha p_2\). The two assignments are inverse by their defining equations and uniqueness. Postcomposing with any \(d:S\to S'\) sends the descended value to \(d_X(\tau_X(b))\), which is the descended value of \(d\rho\). Thus the correspondence is natural in the arbitrary target \(S\).
The whole Hom equalizer
Write \(S(B)=\operatorname{Nat}(B,S)\), and similarly for \(A\) and \(R\). These are small up to encoding because \(C\) is small, by the full component-product bound. The proved correspondence says exactly that
\[ \begin{gathered} S(B)\xrightarrow{\ \alpha^*\ }S(A)\\ \underset{p_2^*}{\overset{p_1^*}{\rightrightarrows}}S(R),\\ \alpha^*(\tau)=\tau\alpha,\\ p_i^*(\rho)=\rho p_i,\\ S(B)\xrightarrow{\ \sim\ }\\ \{\rho\in S(A):\rho p_1=\rho p_2\}. \end{gathered} \tag{3.6} \]The first map is injective by the uniqueness just proved, its image lies in the displayed equalizer by the kernel-pair equation, and every member of that equalizer has its unique preimage by (3.4)–(3.5). Therefore the given fork \(R\rightrightarrows A\xrightarrow{\alpha}B\), with its actual arrows, is a coequalizer in \(\widehat C\). Exactness here concerns the entire transformation sets into every target presheaf; a finite list of test values cannot replace this universal assertion.
If \(B(X)\) is empty, existence of \(\alpha_X\) forces \(A(X)\) and \(R(X)\) empty; \(\tau_X\) is the unique function with empty domain. If \(A(X)\) is empty, component surjectivity forces \(B(X)\) empty too. These boundaries require no fibre witness. When \(C\) is empty, all presheaves and transformations are unique, every Hom set in (3.6) is a singleton, and the equalizer and coequalizer assertions hold. The small-base hypothesis retained here bounds the Hom sets; the actual fibre and naturality proofs impose no finiteness condition on \(C\), its values, or the target \(S\).
4. A corrected represented coequalizer criterion
A coequalizer of representable presheaves can be tested by two identity arrows. The identity of the target supplies a section; the identity of the middle object supplies a finite relation witness. That witness may have no edges, and its edges may be traversed in either direction. Both allowances are needed in the criterion below.
Let \(C\) be locally small, with the ambient universe and encoded Hom conventions of Points, fibres and universal representations, Sections 1–2. Thus the representables are set-valued, or are transported to small set-valued presheaves by the chosen Hom encodings. The formulas below use decoded arrows. Encoding each input and output gives the same constructions. We do not assume that the object set of \(C\) is small.
Fix arrows
\[ \begin{gathered} f,g: X\rightrightarrows Y,\qquad h:Y\to Z,\\ hf=hg. \end{gathered} \tag{4.1} \]Write \(h_A(T)=C(T,A)\), with restriction \(a\mapsto av\) along \(v:T'\to T\). Postcomposition by an arrow \(k:A\to B\) defines the transformation \(h_k:h_A\to h_B\). The represented fork associated to (4.1) has specified last map \(h_h\).
The generated relation. For every object \(T\), let \(\sim_T\) be the smallest equivalence relation on \(C(T,Y)\) containing the pairs
\[ fu\sim_T gu\qquad(u:T\to X). \tag{4.2} \]More explicitly, \(a\sim_T a'\) means that there is a finite list \(a_0,\ldots,a_m:T\to Y\), with \(a_0=a\) and \(a_m=a'\), such that each adjacent pair is \((fu_i,gu_i)\) or \((gu_i,fu_i)\) for some \(u_i:T\to X\). The integer \(m\) may be zero; in that case the endpoints are equal and no \(u_i\) is required. Length zero, reversal and concatenation give reflexivity, symmetry and transitivity. Every equivalence relation containing (4.2) contains every such list, so this description is exactly the generated relation. This is the complete finite-zigzag argument of Colimits as connected components, Section 1.
Precomposition preserves the relation. Indeed a generating pair at \(T\), precomposed by \(v:T'\to T\), becomes \((fuv,guv)\), a generating pair at \(T'\). Applying this observation to each edge, including the empty list, gives
\[ a\sim_T a'\ \Longrightarrow\ av\sim_{T'}a'v. \tag{4.3} \]Consequently the quotient sets and their restrictions define a presheaf:
\[ \begin{gathered} Q(T)=C(T,Y)/{\sim_T},\\ Q(v)([a])=[av]. \end{gathered} \tag{4.4} \]Equation (4.3) proves that the restriction is well-defined. Identity restrictions fix every class, and successive restrictions send \([a]\) to \([avw]\), as required for a contravariant functor. Each value is a set quotient of a Hom set, hence has the required size. The class maps \(q_T(a)=[a]\) form a natural transformation \(q:h_Y\to Q\), and \(q h_f=q h_g\).
Here is its entire universal property. Let \(S\) be any presheaf and let \(\rho:h_Y\to S\) satisfy \(\rho h_f=\rho h_g\). Then \(\rho_T(fu)=\rho_T(gu)\) for every generator. Its values agree along every finite zigzag. Thus
\[ \bar\rho_T([a])=\rho_T(a) \tag{4.5} \]is well-defined. For \(v:T'\to T\), the two naturality composites at \([a]\) both equal \(\rho_{T'}(av)\), by naturality of \(\rho\). Hence \(\bar\rho\) is natural and \(\bar\rho q=\rho\). Every class has a representative, so these equations determine every component of \(\bar\rho\) uniquely. If a Hom value is empty, its quotient is empty and the component factor is the unique empty function. This proves that \(q\) is a coequalizer in the presheaf category, with all its specified restrictions and factors. It instantiates the full set quotient proof in Universal forks, Section 2 and the arbitrary-base pointwise proof in Colimits as connected components, Section 4.
Since \(hf=hg\), postcomposition by \(h\) is constant on every generator and every zigzag. It therefore defines the specified comparison
\[ \begin{gathered} \kappa:Q\longrightarrow h_Z,\\ \kappa_T([a])=ha,\qquad\kappa q=h_h. \end{gathered} \tag{4.6} \]It is natural: the two routes along \(v:T'\to T\) send \([a]\) to the same arrow \(hav\). Moreover, \(h_h\) is a coequalizer if and only if \(\kappa\) is an isomorphism. For the forward direction, its universal property gives \(\lambda:h_Z\to Q\) with \(\lambda h_h=q\). Uniqueness for the coequalizers \(q\) and \(h_h\) gives \(\lambda\kappa=1_Q\) and \(\kappa\lambda=1_{h_Z}\). For the reverse direction, transport the full factor (4.5) along the inverse of \(\kappa\); uniqueness transports with it. Thus this is a comparison respecting the specified arrow out of \(h_Y\).
Theorem 4.1. The specified fork \(h_X\rightrightarrows h_Y\xrightarrow{h_h}h_Z\) is a coequalizer if and only if there is an arrow \(s:Z\to Y\) such that
\[ hs=1_Z,\qquad 1_Y\sim_Y sh. \tag{4.7} \]The second condition uses a finite, possibly empty, undirected generator zigzag in \(C(Y,Y)\), with generators supplied by arrows \(Y\to X\).
Proof of necessity. If the fork is a coequalizer, (4.6) is an isomorphism. In particular \(\kappa_Z\) is surjective. Lift \(1_Z\in C(Z,Z)\) to a class in \(Q(Z)\), and choose a representative \(s:Z\to Y\) of that class. Its image is \(hs\), so \(hs=1_Z\). This is a lift of one identity and requires no simultaneous choice of representatives for all test objects.
These are identity data of the kind used in the Yoneda identity-evaluation proof. Now \(\kappa_Y([1_Y])=h\), while \(\kappa_Y([sh])=hsh=h\). Injectivity of \(\kappa_Y\) gives \([1_Y]=[sh]\), which is precisely \(1_Y\sim_Y sh\). The characterization after (4.2) supplies the asserted finite zigzag. When these endpoints are already equal, the relation can be witnessed by zero edges. Reflexivity supplies no arrow \(Y\to X\).
Proof of sufficiency. Assume (4.7). Precompose its zigzag by any \(a:T\to Y\). Equation (4.3) gives \(a\sim_T sha\). Define
\[ \begin{gathered} \nu_T:C(T,Z)\longrightarrow Q(T),\\ \nu_T(b)=[sb]. \end{gathered} \tag{4.8} \]The two inverse equations are
\[ \begin{aligned} \kappa_T\nu_T(b)&=hsb=b,\\ \nu_T\kappa_T([a])&=[sha]=[a]. \end{aligned} \tag{4.9} \]The second uses the precomposed zigzag; it applies even when that zigzag has no edges. For every \(v:T'\to T\),
\[ \begin{aligned} Q(v)\nu_T(b)&=[sbv],\\ \nu_{T'}h_Z(v)(b)&=[sbv]. \end{aligned} \tag{4.10} \]Thus \(\nu\) is natural. Together with the naturality already proved for \(\kappa\), (4.9) makes them inverse presheaf isomorphisms. The comparison criterion following (4.6) proves that the specified \(h_h\) is the coequalizer.
The factor through \(h_h\) can also be seen directly, for every equalizing \(\rho:h_Y\to S\). It is
\[ \begin{gathered} \tau_T(b)=\rho_T(sb)\\ (b:T\to Z). \end{gathered} \tag{4.11} \]For \(v:T'\to T\), its naturality equation follows from \(S(v)\rho_T(sb)=\rho_{T'}(sbv)\). Since \(\rho_T\) is constant on the generated relation, \(a\sim_T sha\) gives \(\tau_T(ha)=\rho_T(sha)=\rho_T(a)\). Hence \(\tau h_h=\rho\). If \(\tau'\) is any other such factor, then
\[ \begin{aligned} \tau'_T(b)&=\tau'_T(hsb)\\ &=\rho_T(sb)=\tau_T(b). \end{aligned} \tag{4.12} \]This proves uniqueness at every object and therefore uniqueness as a natural transformation. Postcomposing \(\rho\) by a transformation \(S\to S'\) postcomposes (4.11) by the same transformation. The full universal correspondence is natural in its presheaf target. \(\square\)
The printed chain gives a sufficient condition. Exercise 2.25 asks for a section \(s\) and arrows \(u_0,\ldots,u_n:Y\to X\), where \(n\geq0\), satisfying
\[ \begin{gathered} fu_0=1_Y,\\ fu_k=gu_{k-1}\quad(1\leq k\leq n),\\ gu_n=sh. \end{gathered} \tag{4.13} \]Starting at \(1_Y=fu_0\), traverse the generator edge to \(gu_0\). If another arrow is present, the middle equation identifies this endpoint with \(fu_1\), and the next generator reaches \(gu_1\). Continuing gives a path ending at \(gu_n=sh\). These are \(n+1\) generator edges, all traversed from an \(f\)-endpoint to its \(g\)-endpoint. Therefore (4.13), together with \(hs=1_Z\), implies (4.7). Theorem 4.1 proves its sufficiency with the actual quotient comparisons, natural inverse and arbitrary-target factor above.
The printed necessity fails. Take the category of the two-element order \(0<1\). Its only nonidentity arrow is \(e:0\to1\), and there is no arrow \(1\to0\). Put
\[ \begin{gathered} X=0,\qquad Y=Z=1,\\ f=g=e,\qquad h=1_1. \end{gathered} \tag{4.14} \]The represented parallel transformations \(h_f,h_g:h_0\rightrightarrows h_1\) are equal, and \(h_h=1_{h_1}\). For every presheaf \(S\), every transformation \(\rho:h_1\to S\) equalizes that pair and factors uniquely through \(1_{h_1}\), with factor \(\rho\) itself. Thus this is a coequalizer against all natural-transformation targets.
Its components also show the construction explicitly:
| Test object \(T\) | \(h_0(T)\) | \(h_1(T)\) | Specified last map |
|---|---|---|---|
| \(0\) | \(\{1_0\}\) | \(\{e\}\) | identity of \(\{e\}\) |
| \(1\) | \(\varnothing\) | \(\{1_1\}\) | identity of \(\{1_1\}\) |
At either test object the component parallel functions are equal, so the displayed identity is their set coequalizer. The restriction of \(h_1\) along \(e\) sends \(1_1\) to \(e\); the restriction of \(h_0\) is the unique function from the empty set to \(\{1_0\}\). All component coequalizers commute with this restriction and with identities.
The required section of \(h\) is \(s=1_1\). Then \(1_Y=sh\), so the corrected criterion has a zero-edge witness. But (4.13) demands at least one \(u_0:1\to0\), even when \(n=0\). That Hom set is empty. The printed necessity is therefore false. The first equation of (4.13) would also make \(u_0\) a section of \(f\); represented coequalizers need not impose that extra splitting.
The exactness convention must be stated. A common wording of exactness describes only the last object as isomorphic to the coequalizer object. Taken as a condition only on that object, this is weaker than requiring the displayed last map to be the coequalizer map: an arbitrary endpoint isomorphism need not respect that map. Theorem 4.1 concerns the stronger specified-map condition, characterized by the particular \(\kappa\) in (4.6). This agrees with the fork convention in Universal forks, Section 2.
The example (4.14) satisfies the stronger condition, and hence also the weaker endpoint condition. It consequently refutes the printed necessity under either reading. The replacement proved here is (4.7), with undirected generator edges and an allowed empty path. The example explains why a nonempty path cannot be forced; it does not establish that changing only the printed length bound repairs every requirement on directed paths. Its two component checks verify this example. The general equivalence follows from the full presheaf quotient and universal-factor proof, which applies to every locally small base in the stated size convention.
5. Four exercises with full solutions
Exercise 1 — shared elements and a collapsed target
Let \(Y=\{a,b\}\), \(Z=\{b,c\}\), \(U=\{a,b,c\}\), with both maps into \(U\) the inclusions. Identify the pullback and pushout of the resulting span. Prove the square over the pushout is also a pullback, including its factors for arbitrary test sets. Then show that the hypothesis on \(u\) in Section 1 cannot simply be dropped.
Solution. The pullback \(X\) has the one pair \((b,b)\), because it is the only pair with equal images in \(U\). A compatible pair \(r:T\to Y\), \(s:T\to Z\) therefore has \(r(t)=s(t)=b\) for every \(t\); its unique factor is the constant map to \((b,b)\), including the unique map when \(T\) is empty. The projection \(X\to Z\) is injective, as the pullback of the injective map \(Y\to U\).
The pushout \(V\) is the tagged union of \(Y,Z\) with the two copies of \(b\) identified. Its three classes are \(a,b,c\). For any set \(S\), a pair \(r:Y\to S\), \(s:Z\to S\) with \(r(b)=s(b)\) has a unique factor \(V\to S\), taking the three classes to \(r(a),r(b)=s(b),s(c)\). These values prove existence, the coprojection equations and uniqueness. The induced \(V\to U\) sends each class to the element with the same label, so it is bijective. Equality of images in \(V\) of elements of \(Y,Z\) again forces both to be \(b\); the pullback factor is exactly the factor already described.
For the last claim let \(X_0,Y_0\) be singleton sets, let \(Z_0=\{0,1\}\), send the first singleton to \(0\) and the second to \(1\), and take the constant \(u:Z_0\to\{*\}\). The pullback over \(Z_0\) is empty, whereas the pullback over \(\{*\}\) is a singleton. The comparison is the unique map from the empty set to the singleton, which has no inverse. Its projections still commute; cancellation of \(u\) is precisely what fails.
Exercise 2 — descent along an arrow presheaf
On the category with one nonidentity arrow \(t:0\to1\), give a presheaf \(A\) by \(A(0)=\{a,b\}\), \(A(1)=\{c,d,e\}\), with restriction \(c,d\mapsto a\), \(e\mapsto b\). Let \(B(0)=\{0,1\}\), \(B(1)=\{p,q\}\), with \(p\mapsto0\), \(q\mapsto1\). Define \(\alpha:A\to B\) by \(a\mapsto0\), \(b\mapsto1\), \(c,d\mapsto p\), \(e\mapsto q\). Compute its kernel pair and prove its specified coequalizer property for every presheaf target.
Solution. Naturality of \(\alpha\) follows by checking \(c,d,e\): either route sends \(c,d\) to \(0\), and \(e\) to \(1\). Both components are surjective, so \(\alpha\) is epic by Section 2. The kernel pair has
\[ \begin{gathered} K(0)=\{(a,a),(b,b)\},\\ K(1)=\\ \{(c,c),(c,d),(d,c),(d,d)\}\\ \mathbin{\cup}\{(e,e)\}. \end{gathered} \tag{5.1} \]Its restriction sends the first four pairs at \(1\) to \((a,a)\) and the last to \((b,b)\). The two projections select the two coordinates and are natural.
Take any presheaf \(S\) and natural \(\rho:A\to S\) equalizing the projections. Its only additional equality beyond reflexivity is \(\rho_1(c)=\rho_1(d)\). Define \(\tau:B\to S\) by
\[ \begin{gathered} \tau_0(0)=\rho_0(a),\qquad \tau_0(1)=\rho_0(b),\\ \tau_1(p)=\rho_1(c)=\rho_1(d),\\ \tau_1(q)=\rho_1(e). \end{gathered} \tag{5.2} \]Naturality at \(p\) is \(S(t)\rho_1(c)=\rho_0(a)\), and at \(q\) it is \(S(t)\rho_1(e)=\rho_0(b)\); both are naturality of \(\rho\). The displayed values show \(\tau\alpha=\rho\) at every element of both components. They are forced by that equation, so \(\tau\) is unique. Conversely, any \(\tau\alpha\) equalizes the kernel projections since \(\alpha\) does. Precomposing with \(\alpha\) and this descent construction are inverse maps from \(\operatorname{Nat}(B,S)\) to the equalizer of the two maps from \(\operatorname{Nat}(A,S)\) to \(\operatorname{Nat}(K,S)\).
Exercise 3 — an epimorphism without a section
For the one-object category associated to \(C_2=\{1,\sigma\}\), consider the presheaf \(A=\{0,1\}\) with the nonidentity restriction interchanging the elements, and the singleton presheaf \(B\) with trivial restriction. Show that the unique \(\alpha:A\to B\) is epic but has no natural section. Explain why this does not contradict the splitting result for a representable target.
Solution. The unique component is surjective, hence \(\alpha\) is epic. A section \(s:B\to A\) would choose an element \(s(*)\), and naturality for \(\sigma\) would require that element to be fixed by the interchange. Neither element is fixed, so no section exists.
The representable \(h_*\) has two elements, the two endomorphisms of the unique object. Precomposition by \(\sigma\) interchanges them. Thus the singleton \(B\) is not isomorphic to \(h_*\). The splitting assertion applies to epimorphisms whose target is this two-element regular presheaf.
For a direct splitting example, let \(E=C_2\times\{a,b\}\) with restriction \(E(\sigma)(g,r)=(g\sigma,r)\), and map \(E\to h_*\) by \((g,r)\mapsto g\). This is a surjective natural map. The map \(g\mapsto(g,a)\) is natural because it commutes with right multiplication by \(\sigma\), and its composite with the projection is the identity. The other composite is \((g,r)\mapsto(g,a)\), which need not be the identity on \(E\). A section requires only the first composite.
Exercise 4 — the empty relation path matters
In the thin category \(0<1\), put \(X=0\), \(Y=Z=1\), let \(f=g:0\to1\) be its sole nonidentity arrow, and set \(h=1_1\). Check the represented coequalizer criterion in Section 4 and compare it with a condition requiring a nonnegative chain of maps \(Y\to X\).
Solution. The two represented maps \(h_f,h_g:h_0\to h_1\) coincide. For every presheaf \(S\), every \(\rho:h_1\to S\) therefore equalizes them. Its unique factor through \(h_h=1_{h_1}\) is \(\rho\) itself. This proves the specified represented coequalizer property for all targets, with its original quotient map.
Take \(s=1_1\). Then \(hs=1_1\) and \(sh=1_1\). The two endomorphisms \(1_Y,sh\) agree, so they are related by a path of zero edges in the reflexive equivalence closure. Pointwise, both \(h_1(0)\) and \(h_1(1)\) are singletons. The quotient of either singleton by the relation generated by the coincident pair from \(h_0\) is unchanged, and its comparison to \(h_Z=h_1\) is the identity.
There is no arrow \(1\to0\), hence no map \(Y\to X\). Any condition asking for \(u_0,\ldots,u_n:Y\to X\) with \(n\geq0\) requires at least \(u_0\) and is impossible. Thus the printed nonnegative-chain necessity is false even though the specified coequalizer exists. This example detects the omitted reflexive case; the general correct relation also permits each generator edge in either direction. It does not prove that changing the chain length convention alone repairs every directed-chain condition.
6. References and retained proof interfaces
Presheaves and their colimits are also treated in Pierre Schapira, An Introduction to Sheaves on Grothendieck Topologies, lecture notes, version of 1 August 2026, Sections 1.2–1.3.
The complete owned interfaces used here are the cancellation tests in Relations and cancellation in categories, the specified square factors in Universal forks and diagram constructions, the set self-pushout and diagonal tests in Universal tests for forks and finite limits, the quotient and pointwise presheaf factors in Colimits as connected components, the identity inverse in Points, fibres and universal representations, and the small tagged unions and quotients in Universes and small categories.
The pointwise prerequisite has its own stated licence; its mathematical interface is linked here. This lesson's new wording and proofs are CC0. Linked canonical and human sources keep their own licences. The bounded finite checks support the stated examples and tested models; the general results follow from the written cancellation, Yoneda and universal-factor arguments.