Universal tests for forks and finite limits

Written by GPT-6.1 Sol (OpenAI), October 2026. Self-checked by the writing AI (GPT-6.1 Sol, Ultra). Original text public domain (CC0).

Universal properties specify maps as well as objects. They explain why an equivalence preserves colimits, why an epic preliminary map can be removed from a coequalizer, and why diagonals detect cancellation. They also reduce existence of every finite limit to a terminal object and pullbacks.

Composition is from right to left. Work in categories with ambient sets of objects and arrows, with ambient choice. A fixed universe \(\mathcal U\) governs “small”; a finite category has finitely many objects and arrows. No additive or balanced-category hypothesis is assumed.

Retain the complete cone and cocone factor proofs in Compatible families, Sections 2–3, the full product, equalizer, pullback and pushout proofs in Universal forks, Sections 1–4 and 8–9, and the complete cancellation and split-map proofs in Relations, Sections 1–2. The formulas below keep their specified structural maps.

1. Replace a category while keeping its colimits

Proposition 1.1. Let \(F:C\to C'\) be an equivalence, with quasi-inverse \(G\). For any category \(I\), if \(C\) admits every \(I\)-colimit, so does \(C'\). For \(D:I\to C\), the image under \(F\) of its colimit cocone is a colimit cocone. Consequently the canonical comparison

\[ \operatorname{colim}_I(FD)\longrightarrow F(\operatorname{colim}_I D) \tag{1.1} \]

is invertible.

Proof. The full equivalence criterion in Equivalences, Section 1 makes \(F\) fully faithful. Choose the given natural isomorphism \(\beta:FG\to1_{C'}\). Let \(c_i:D(i)\to L\) be a colimit in \(C\), and take any cocone \(v_i:FD(i)\to T'\).

For each \(i\), full faithfulness uniquely lifts \(\beta_{T'}^{-1}v_i\) to a map \(u_i:D(i)\to G(T')\). For \(s:i\to j\), applying \(F\) to \(u_jD(s)\) gives \(\beta_{T'}^{-1}v_jFD(s)=\beta_{T'}^{-1}v_i=F(u_i)\). Faithfulness proves the cocone equation. Its unique factor is \(b:L\to G(T')\). Then \(\beta_{T'}F(b):F(L)\to T'\) has composite \(v_i\) with every \(F(c_i)\).

Every map \(w:F(L)\to T'\) uniquely lifts \(\beta_{T'}^{-1}w\) to a map \(L\to G(T')\). If its composites are the \(v_i\), faithfulness makes this lift a factor of the \(u_i\), and it must be \(b\). Thus the displayed image cocone has the full existence and uniqueness property. The two constructions are inverse factor bijections. Postcomposition in \(T'\) commutes with them by the uniqueness just proved.

For a general \(D':I\to C'\), form the colimit \(L\) of \(GD'\). The proved assertion supplies the colimit cocone on \(FGD'\), and the components of the natural isomorphism \(\beta D'\) transport it to a colimit cocone on \(D'\). Explicitly its legs are \(F(c_i)\beta_{D'(i)}^{-1}:D'(i)\to F(L)\). Naturality of \(\beta\) gives all cocone equations; conjugating any cocone by those same components gives its unique factor.

Finally, two colimit cocones have the unique compatible isomorphism retained from Compatible families. That is exactly (1.1), with its original legs. For a transformation \(D\to E\), the two resulting comparison routes have the same composites with every \(FD(i)\) leg, so uniqueness proves naturality in the diagram. Empty \(I\) gives preservation and transfer of initial objects by this very factor proof. No smallness assumption on \(I\) was inserted. If an empty category occurs, the existence of the equivalence forces both category object sets to be empty; the assertion is conditional on the stated colimits. \(\square\)

2. Remove an epic preliminary map

Let \(f:X\to Y\) be epic and \(s_1,s_2:Y\to Z\). For any \(t:Z\to T\), cancellation gives the exact equivalence

\[ ts_1f=ts_2f \quad\Longleftrightarrow\quad ts_1=ts_2. \tag{2.1} \]

The reverse implication uses composition alone. Thus the two parallel pairs have identical coequalizing maps into every target.

Suppose \(q_f:Z\to Q_f\) coequalizes \(s_1f,s_2f\) universally, and \(q:Z\to Q\) coequalizes \(s_1,s_2\) universally. The complete pair-coequalizer factors in Universal forks, Section 2, give unique maps

\[ \begin{gathered} c:Q_f\to Q,\qquad cq_f=q,\\ d:Q\to Q_f,\qquad dq=q_f. \end{gathered} \tag{2.2} \]

The second map exists because (2.1) makes \(q_f\) coequalize the unprefixed pair. Now \((dc)q_f=q_f\) and \((cd)q=q\). The respective uniqueness properties give \(dc=1_{Q_f}\) and \(cd=1_Q\). In particular the canonical map from the prefixed coequalizer is this isomorphism. These statements hold in any category, with only existence of the two specified coequalizers. “Cokernel of a pair” here means coequalizer; no subtraction of maps is used.

3. Fold together exactly the image

Take any function \(f:X\to Y\). Set \(A=f(X)\) and \(B=Y\setminus A\), and use three disjoint tags to form

\[ \begin{gathered} P=(\{0\}\times A) \amalg(\{1\}\times B)\\ \amalg(\{2\}\times B). \end{gathered} \tag{3.1} \]

Define \(j_1,j_2:Y\to P\) as follows. For \(y\in A\), both send \(y\) to \((0,y)\). For \(y\in B\), \(j_1(y)=(1,y)\) and \(j_2(y)=(2,y)\). Then \(j_1f=j_2f\).

If \(a,b:Y\to T\) satisfy \(af=bf\), they agree at every \(y\in A\): choose any witness \(x\) with \(f(x)=y\) and use that equation. Define \[ \begin{gathered} u(0,y)=a(y)=b(y),\\ u(1,y)=a(y),\\ u(2,y)=b(y). \end{gathered} \tag{3.2} \] This is a function with \(uj_1=a\), \(uj_2=b\). Every tagged element lies in one of these two images, so those equations determine \(u\) uniquely. This is the entire pushout factor property. It proves that \(P\), with the displayed maps, is \(Y\amalg_XY\).

The retained quotient proof in Universal forks, Section 4, gives another concrete model. Its classes have representatives in either tagged copy of \(Y\). Send such a representative to \(j_1(y)\) or \(j_2(y)\) in (3.1). Every generating pair maps to the same \((0,f(x))\). Conversely send \((0,y)\) to the class of the first copy of \(y\), and send \((1,y),(2,y)\) to their indicated copy classes. For \(y\in A\), the two possible copy classes agree because a witness under \(f\) supplies a generator. Both composites fix each class or each tagged element. This is the actual bijection with the quotient, rather than only a count of its elements.

It depends on the image of \(f\), so repeated preimages cause no extra identifications. If \(X\) is empty, \(A\) is empty and \(P\) is the disjoint union of two copies of \(Y\). If \(Y\) is empty, the existence of \(f\) forces \(X\) empty and \(P\) empty. A commuting map of the original spans induces the map between these pushouts by the same factor property; the two copy legs specify it even when a complement element becomes an image element in the new span.

4. A diagonal turns cancellation into an isomorphism

Let \(f:X\to Y\), and suppose \(R=X\times_YX\) exists, with projections \(p_1,p_2\). The specified diagonal \(\delta:X\to R\) satisfies

\[ p_1\delta=1_X=p_2\delta. \tag{4.1} \]

The complete split-map proof in Relations, Section 1, makes \(\delta\) monic and both \(p_1,p_2\) epic. These are stronger split statements: the same \(\delta\) is a section of each projection.

There are exact equivalences

\[ \begin{gathered} f\text{ monic} \ \Longleftrightarrow\ p_1=p_2\\ \Longleftrightarrow\ \delta\text{ invertible} \ \Longleftrightarrow\ \delta\text{ epic}. \end{gathered} \tag{4.2} \]

If \(f\) is monic, cancel it in \(fp_1=fp_2\). Conversely, if \(fa=fb\) for maps \(a,b:T\to X\), the pullback factor has projections \(a,b\). Equality of the projections then gives \(a=b\). This proves the first equivalence with the full test-object quantifier.

If \(p_1=p_2\), both projection composites of \(\delta p_1:R\to R\) agree with those of \(1_R\). Pullback uniqueness gives \(\delta p_1=1_R\), and (4.1) gives the other inverse equation. If \(\delta\) is invertible, (4.1) instead gives \(p_1=\delta^{-1}=p_2\).

An invertible map is epic. If \(\delta\) is epic, then \((\delta p_1)\delta=\delta=1_R\delta\). Epic cancellation gives \(\delta p_1=1_R\), making \(p_1\) its inverse. This implication uses the specified splitting, not a claim that every monic and epic map in the category is invertible.

Dually suppose \(S=Y\amalg_XY\) exists, with coprojections \(i_1,i_2\) and specified codiagonal \(\sigma:S\to Y\). Its equations are \[ \sigma i_1=1_Y=\sigma i_2. \tag{4.3} \] Thus \(\sigma\) is split epic and both \(i_1,i_2\) are split monic. The exact dual chain is \[ \begin{gathered} f\text{ epic} \ \Longleftrightarrow\ i_1=i_2\\ \Longleftrightarrow\ \sigma\text{ invertible} \ \Longleftrightarrow\ \sigma\text{ monic}. \end{gathered} \tag{4.4} \]

Indeed epic \(f\) cancels in \(i_1f=i_2f\). If \(i_1=i_2\) and \(af=bf\), pushout universality supplies \(u:S\to T\) with \(ui_1=a,ui_2=b\), hence \(a=b\). If the coprojections agree, the maps \(i_1\sigma\) and \(1_S\) have identical composites with both coprojections, so pushout uniqueness gives \(i_1\sigma=1_S\). Equation (4.3) gives its other inverse equation. An invertible \(\sigma\) is monic, and monic \(\sigma\) cancels in \(\sigma i_1=\sigma i_2\), returning the first equality. This verifies each dual step with its actual maps. The pullback assertions require only that pullback; the pushout assertions require only that pushout.

5. A parallel pair as one square

Let \(f,g:X\to Y\). Suppose the binary coproduct \(X\amalg X\) exists, with injections \(k_1,k_2\). Let \(\nabla:X\amalg X\to X\) have both composites \(1_X\), and let \([f,g]:X\amalg X\to Y\) have composites \(f,g\). Form the pushout

\[ \begin{gathered} P=X\amalg_{X\amalg X}Y,\\ a:X\to P,\qquad b:Y\to P. \end{gathered} \tag{5.1} \]

Its compatibility \(a\nabla=b[f,g]\), tested at the two injections, says \(a=bf=bg\). Thus \(b\) coequalizes the pair.

For a coequalizing \(c:Y\to T\), put \(a'=cf=cg:X\to T\). Testing at both injections gives \(a'\nabla=c[f,g]\). The unique pushout factor \(u:P\to T\) has \(ub=c\) and \(ua=a'\). Conversely \(ub=c\) forces \(ua=ubf=cf=a'\). Hence uniqueness as a pushout factor is exactly uniqueness as a coequalizer factor. This proves that \(b\), with its stated domain, is a coequalizer of \(f,g\).

If instead a coequalizer \(q:Y\to Q\) is given, the pair \(qf:X\to Q,q:Y\to Q\) is a pushout cocone. Every compatible pair has its first component forced to be \(cf=cg\), so the same bijection proves its full pushout property. Thus either object gives the other with its canonical maps, and universal uniqueness gives inverse compatible comparisons. The finite-colimit hypothesis in the source guarantees the needed coproduct and pushout; the argument itself only uses their existence.

The dual square is equally explicit. Suppose \(Y\times Y\) exists, with diagonal \(\Delta:Y\to Y\times Y\), and form \[ \begin{gathered} E=X\times_{Y\times Y}Y,\\ e:E\to X,\qquad d:E\to Y,\\ (f,g)e=\Delta d. \end{gathered} \tag{5.2} \]

The two components say \(fe=d=ge\), so \(e\) equalizes \(f,g\). For an equalizing \(v:T\to X\), the pair \(v,fv:T\to Y\) satisfies the pullback equation, giving a unique factor \(w:T\to E\) with \(ew=v,dw=fv\). Conversely any factor with \(ew=v\) has its other component forced to be \(fv\). Thus the entire pullback factor is the equalizer factor. Given an equalizer first, the same forced second component proves its pullback property and both inverse comparison equations. Finite limits guarantee these objects, and no subtraction or zero object is needed.

6. Which basic limits are enough?

Use the following names for existence conditions on \(C\):

The complete relationships are

\[ \begin{gathered} L_{\mathrm{small}} \Longleftrightarrow P_{\mathrm{small}}+E\\ \Longleftrightarrow P_{\mathrm{small}}+B, \end{gathered} \tag{6.1} \] \[ \begin{gathered} L_{\mathrm{fin}} \Longleftrightarrow P_{\mathrm{fin}}+E\\ \Longleftrightarrow P_{\mathrm{fin}}+B\\ \Longleftrightarrow T+B, \end{gathered} \tag{6.2} \]

and \[ P_{\mathrm{fin}}\Longleftrightarrow T+P_2. \tag{6.3} \] Here \(+\) means that both conditions hold.

Proof. Retain all of Universal forks, Sections 8–9: the product over every diagram object, the product over every diagram arrow, their two specified maps, and the complete equalizer factor proof. It includes all natural component maps and the empty diagram. For small diagrams, both index sets are small, proving \(P_{\mathrm{small}}+E\Rightarrow L_{\mathrm{small}}\). For finite diagrams, both are finite, proving \(P_{\mathrm{fin}}+E\Rightarrow L_{\mathrm{fin}}\). The reverse implications use actual discrete-family and parallel-pair diagrams. Their structural-map universal properties are the entire proofs in Sections 1–2 of that lesson.

With binary products and equalizers, a pullback of \(f:A\to Z,g:B\to Z\) is the equalizer of \(fp_A,gp_B:A\times B\to Z\). The full proof in Universal forks, Section 4, identifies each equalizing map with the exact compatible pair, in both directions. Thus either product condition together with \(E\) gives \(B\).

Conversely, binary products and \(B\) give \(E\) by (5.2): use \(Y\times Y\), then the pullback of \((f,g)\) and \(\Delta\). Its complete factor proof was given in Section 5. Both \(P_{\mathrm{small}}\) and \(P_{\mathrm{fin}}\) include binary products, so replacing \(E\) with \(B\) in their respective criteria is valid in both directions.

If \(T+B\) holds, choose a terminal object \(1\). The pullback \(A\times_1B\) is a binary product: every pair of arrows into \(A,B\) has equal composites to \(1\), and its pullback factor is precisely the unique product factor. The empty product is \(1\). The full finite-product induction in Universal forks, Section 9, now applies. Explicitly, start at \(1\); after the product of \(n\) objects, take its binary product with the next. A family of \(n+1\) components gives its unique first factor by induction, then its unique pair factor. Any map with those components is forced through these two uniqueness steps. Relabel any finite index set by a bijective enumeration. This proves (6.3), including no indices.

Consequently \(T+B\) gives \(P_{\mathrm{fin}}+B\) and hence all finite limits. Conversely finite limits give both the empty limit \(1\) and each cospan pullback. Finally finite products already include the empty and two-element products, proving the other direction of (6.3). No direction asserts that binary products alone give an empty product. \(\square\)

This proof retains the whole universal construction rather than using an omitted verification as a substitute. The pinned open Categories comparison has a complete finite-limits existence argument, and its object-and-arrow product/equalizer lemma states the general construction with proof omitted. The complete owned factor proof above supplies that needed argument.

7. Four graded exercises with full solutions

Exercise 1 — change the object labels

Let \(C'\) have objects \((S,\epsilon)\), where \(S\) is a small set and \(\epsilon\in\{0,1\}\). Its arrows are all functions between the underlying sets, with usual composition. Forgetting the tag gives \(F:C'\to\mathsf{Set}_{\mathcal U}\). Explain why this is an equivalence. Compute the coequalizer of \(f,g:\{0,1\}\rightrightarrows\{a,b,c\}\) with \(f(0)=a,f(1)=b,g(0)=b,g(1)=b\), and describe a lifted coequalizer with tag \(1\).

Solution. Every Hom map of \(F\) is the identity bijection on the corresponding function set. Every small set has a tagged preimage. The complete equivalence criterion therefore applies. A quasi-inverse gives tag \(0\), and forgetting then restoring a tag is naturally isomorphic to the identity by the underlying identity functions; their naturality follows by composing any function with identities.

The relation identifies \(a\) with \(b\), and imposes only a reflexive relation at \(b\). Its two classes are \(\{a,b\}\) and \(\{c\}\). The quotient map \(q\) sends \(a,b\) to the first class and \(c\) to the second. Every coequalizing function into \(T\) is specified by one value for the first class and one for the second, proving the entire unique factor property.

In \(C'\), use the tagged diagram with any fixed source and target tags, and choose the quotient object \((\{\{a,b\},\{c\}\},1)\) with underlying map \(q\). Maps to any \((T,\epsilon)\) are still exactly functions, so the same factor proof verifies its colimit property for every target tag. Forgetting this cocone gives the specified set coequalizer. The compatible comparison of Proposition 1.1 is the identity on these two class labels. If another quotient labels them \(0,1\), its comparison sends the first class to \(0\) and the second to \(1\), with the evident inverse.

Exercise 2 — why the preliminary arrow must be epic

Take \(X=\varnothing\), \(Y=\{*\}\), \(Z=\{0,1\}\), and the unique \(f:X\to Y\). Let \(s_1(*)=0,s_2(*)=1\). Compute the two coequalizers from Section 2 and their canonical comparison. Explain exactly where (2.1) fails.

Solution. Both maps \(s_1f,s_2f\) have empty domain and are the same map. Every map from \(Z\) coequalizes them, so their coequalizer is \(1_Z:Z\to Z\); its universal factor is the map itself. A map coequalizes \(s_1,s_2\) precisely when its values at \(0,1\) agree. Their coequalizer is the map \(q:Z\to\{*\}\), with its unique constant-map factor.

The canonical comparison from the first coequalizer to the second is \(q\), because \(q1_Z=q\). It is not invertible: no map from a singleton can be inverse to a function identifying two distinct elements. The identity \(t=1_Z\) satisfies \(ts_1f=ts_2f\) but has \(ts_1\ne ts_2\). In fact the pair \(s_1,s_2\) proves directly that \(f\) is not epic. Existence of both coequalizers does not replace this missing cancellation hypothesis.

Exercise 3 — count the folded copies and test the diagonal

Let \(X=\{0,1,2,3\}\), \(Y=\{a,b,c,d,e\}\), with \(f(0)=f(1)=a\) and \(f(2)=f(3)=c\). List the elements of \(Y\amalg_XY\), count its maps into a two-element set, and compare the diagonal and codiagonal tests.

Solution. The image is \(\{a,c\}\) and the complement is \(\{b,d,e\}\). There are eight elements: the two common image labels \((0,a),(0,c)\), the three first-copy labels \((1,b),(1,d),(1,e)\), and the three second-copy labels \((2,b),(2,d),(2,e)\). The first coprojection uses the common label at \(a,c\) and the first-copy labels elsewhere; the second uses the same common labels and the second-copy labels elsewhere.

Every function from these eight elements to a two-element target is allowed, giving \(2^8=256\) maps. Equivalently, two functions from \(Y\) have \(2^{10}\) freely chosen values before compatibility. Agreement at \(a\) and \(c\) leaves eight free values, again giving \(256\). Formula (3.2) gives the inverse correspondence and checks the pushout factor, not just the count.

The codiagonal forgets all three tags. Its fibres at \(a,c\) are singletons, while each fibre at \(b,d,e\) has two elements. It is therefore not monic or invertible, and \(f\) is not epic. The distinct coprojections already show this failure at \(b\).

The self-pullback has the four ordered pairs within the fibre \(\{0,1\}\) and the four within \(\{2,3\}\), hence eight elements. The diagonal has image the four pairs \((x,x)\). It is not surjective and therefore not epic in sets. The two projections differ at \((0,1)\). Correspondingly \(f\) is not monic, since the two maps from a singleton selecting \(0,1\) have equal composites. All four tests use the maps specified in (4.1)–(4.4).

Exercise 4 — binary products do not supply the empty one

View the ordered set \((\mathbb Z,\leq)\) as a category. Prove that every binary product and every equalizer exists, but an empty product does not. Determine all nonempty finite limits and exhibit a small product that fails to exist.

Solution. A map \(t\to m\) exists exactly when \(t\leq m\), and any existing map is unique. A map into both integers \(a,b\) therefore exists exactly when \(t\leq\min(a,b)\). Thus \(\min(a,b)\), with the two order arrows, has the complete binary-product property. Every parallel pair is already equal, since each Hom set has at most one element. Its equalizer is the identity of its source, with the unique same-arrow factor.

A terminal integer would have to be at least every integer. None does: for any \(m\), \(m+1\not\leq m\). Therefore the empty product does not exist, and the category is not finitely complete despite its binary products and equalizers.

For a nonempty finite diagram, let \(l\) be the minimum of its finitely many object values. It has arrows to all those values. Every required cone equation holds because the corresponding Hom set has at most one arrow. A cone with vertex \(t\) exists exactly when \(t\) is at most every diagram value, equivalently \(t\leq l\); its unique factor is the order arrow to \(l\). This proves the full limit property. Finally the family \((-n)_{n\geq0}\) has no integer lower bound. A product would itself have to map to every \(-n\), requiring such a lower bound. Thus this small nonempty product also fails. The finite and small existence conditions in Section 6 remain distinct.

8. References and retained proof interfaces