Original exposition, written and self-checked with GPT-6.1 Sol (OpenAI), Ultra reasoning effort, with complete retained arguments and linked free primary proofs. A separate scoped model check covers the specified arguments, their complete prerequisite interfaces and four exercise solutions. It adds no whole-lesson or whole-course review. Model source and locus reading; no Lean build or human endorsement. Original exposition uses CC0 1.0; linked complete proofs retain their stated terms.
Universal maps, finite probes and countable indexing
Written and self-checked with GPT-6.1 Sol (OpenAI), Ultra reasoning effort, October 2026. Spot-checked by GPT-6.1 Sol in a separate internal session. Original exposition: CC0. Linked complete proofs retain their stated terms.
A universal map can be tested by a family of ordinary maps. In a presheaf category, these tests become elements and fibres. A finite family can often be gathered into one test object; a countable family can sometimes be arranged into a sequence. We will use these observations to study exact functors, representable retracts and cofinal systems. Small categories with an idempotent give concrete examples throughout.
The prerequisites are the full universal-family proofs in Compatible families and universal cones, the finite-diagram and Set comparison proofs in Filtered stages and finite limits, and Yoneda in Points, fibres and universal representations. Basic references are the Stacks Project, Gabber and Ramero [GR], and Schapira [HA]. The proofs used below are given here or retained through exact complete proof references.
1. The universal maps we retain
Fix a Grothendieck universe \(\mathcal U\), ambient choice and the enlargement axiom of Universes and small categories, Sections 1–4. All category data are sets in the ambient setting. Unless specified otherwise, Hom sets are \(\mathcal U\)-small. A small category has both its object and arrow sets \(\mathcal U\)-small. A finite category has finitely many objects and arrows; it may be empty. For an ambient category \(C\), write
\[ \widehat C=\operatorname{Fun} (C^{\mathrm{op}},\mathsf{Set}_{\mathcal U}), \qquad h_X(T)=\operatorname{Hom}_C(T,X). \tag{1.1} \]When small Hom sets have labels outside \(\mathcal U\), use fixed bijections to universe members and transport composition through them, as in the complete encoding proof in Universes and small categories, Section 4. Yoneda and the displayed arrow formulas use these compatible Hom encodings. We write class and tuple formulas after decoding; the specified encodings transport both their maps and their equations back to the stated categories.
An ambient Hom universe may be larger when \(C\) is not small. Pointwise finite constructions still have \(\mathcal U\)-small values. A small colimit is always indexed by a small category. An ambient filtered diagram, when used below, need not be small in \(\mathcal U\): we may first perform its Set calculation in a larger universe containing all its data. We explicitly bring back its value when that value is finite.
A category \(I\) is filtered when it is nonempty, every pair of objects has a common receiving object, and every parallel pair is equalized by an outgoing arrow. Its opposite is then cofiltered. The complete finite-graph proof in Filtered stages and finite limits, Section 1 says that filteredness is equivalent to the existence of a cocone on every finite diagram. The opposite statement gives cones in a cofiltered category, including the empty cone test.
For \(F:C\to D\), an object of \((F\downarrow U)\) is \((X,u:FX\to U)\); an arrow \(a:(X,u)\to(Y,v)\) satisfies \(vF(a)=u\). An object of \((U\downarrow F)\) is \((X,u:U\to FX)\), and its arrow equation is \(F(a)u=v\). We call \(F\) right exact if all the outgoing commas \((F\downarrow U)\) are filtered, and left exact if all the incoming commas \((U\downarrow F)\) are cofiltered. Exact means both. These definitions do not assume all finite operations exist in \(C\).
Lemma 1.1. A left exact functor preserves each specified existing finite limit, with its given projections. A right exact functor preserves each specified existing finite colimit, with its given coprojections. If the source has all finite limits, left exactness is equivalent to finite-limit preservation. The dual assertion holds for finite colimits.
Proof and retained interface. The full Hom-density proof in One-sided fractions and saturation, Section 4 sends \([Y,u,a:X\to Y]\) to \(uF(a)\), with inverse \(b\mapsto[X,b,1_X]\). A comma arrow identifies every representative with that identity representative. This part of the proof needs no finite operations in the source. On opposites it gives
\[ \begin{gathered} \operatorname{colim}_{(Z,v)\in(U\downarrow F)^{\mathrm{op}}} \operatorname{Hom}_C(Z,X) \simeq \operatorname{Hom}_D(U,FX),\\ [Z,v,a]\longmapsto F(a)v. \end{gathered} \tag{1.2} \]The coefficient is contravariant on the incoming comma, which explains the opposite index. Postcomposition by \(c:X\to X'\) changes \(a\) to \(ca\); precomposition by \(b:U'\to U\) changes \(v\) to \(vb\). The equations \(F(ca)v=F(c)F(a)v\) and \(F(a)(vb)=(F(a)v)b\) give both naturalities.
Suppose \(L\), with projections \(p_j:L\to A_j\), is a specified finite limit. Substitute its Hom-family property in (1.2) and use the full finite/filtered Set exchange in Filtered stages and finite limits, Section 4. The incoming opposite comma is filtered. In a larger universe if needed, we obtain exactly
\[ \operatorname{Hom}_D(U,FL) \simeq \operatorname{Cone}(FA,U), \qquad w\longmapsto(F(p_j)w)_j. \tag{1.3} \]Thus the image projections exhibit \(FL\) as a limit. No other finite limit in \(C\) has been used. The opposite calculation sends \(w:FQ\to U\) to \((wF(c_j))_j\) for a specified finite colimit \((Q,c_j)\). These are the actual universal maps, and their naturality follows from the displayed formulas. The empty shapes give terminality and initiality.
For the converse, suppose the source has finite limits and \(F\) preserves them. A finite diagram in \((U\downarrow F)\) has an underlying limit \(L\) in \(C\). Its compatible labels to \(F(A_j)\) factor uniquely through \(FL\); that factor labels \(L\) in the comma, with the original limit projections as comma arrows. In particular the comma has a terminal object, binary products and equalizers, so it is cofiltered. The outgoing dual forms finite colimits. This converse really uses all finite source operations, including the empty one. \(\square\)
2. Presheaf limits and the fibres of a colimit
The full pointwise proof in Colimits as connected components, Section 4 computes small presheaf limits and colimits by evaluation. A colimit element has a class \([i,x]\); restriction along \(t:X'\to X\) sends it to \([i,D_i(t)x]\). A limit element is a compatible tuple, with restrictions on its coordinates. The proofs give all factors and their naturality, including empty indices and an empty base category.
Theorem 2.1. In \(\widehat C\), small filtered colimits commute with finite limits. More precisely, for small filtered \(I\), finite \(J\), and \(A:I\times J\to\widehat C\), the canonical map
\[ \operatorname{colim}_{i\in I}\lim_{j\in J}A(i,j) \longrightarrow \lim_{j\in J}\operatorname{colim}_{i\in I}A(i,j) \tag{2.1} \]is invertible, naturally in the whole diagram.
Proof. At \(X\), the pointwise map is the precise Set comparison
\[ [i,(x_j)_j]\longmapsto([i,x_j])_j. \tag{2.2} \]It is a bijection by the complete finite/filtered exchange proof retained in Section 1. Under \(t:X'\to X\), both orders of applying restriction and (2.2) give \(([i,A(i,j)(t)x_j])_j\). Thus its valuewise inverses form a presheaf map. A transformation of \(A\) changes each \(x_j\) by its corresponding component, which commutes with (2.2); this is naturality in the diagram. Projection to a \(j\)-coordinate after (2.1) is exactly the map induced by that limit projection, so the isomorphism is the canonical comparison. If \(J\) is empty, the finite limit is terminal. The retained Set proof includes that case. No smallness of the object set of \(C\) is required. \(\square\)
Theorem 2.2. Every small colimit in \(\widehat C\) is stable under base change. Given \(a:Y\to Z\) and a small diagram \((D_i\to Z)_{i\in I}\) in the slice, the canonical map
\[ \operatorname{colim}_{i\in I}(D_i\times_ZY) \longrightarrow \left(\operatorname{colim}_{i\in I}D_i\right)\times_ZY \tag{2.3} \]is invertible. The index need not be filtered, connected or nonempty.
Proof. We retain the full fibre equivalence in Points, fibres and universal representations, Section 6. An object \(G\to Z\) corresponds to the presheaf on the element category \(E_Z\) whose value at \((X,z)\) is its fibre over \(z\). Its inverse sums the fibres, and the two specified comparisons forget or add the already determined base label. The full proof includes every restriction and both naturalities. Base change along \(a\) corresponds exactly to restriction along
\[ E_a:E_Y\to E_Z, \qquad (X,y)\longmapsto(X,a_Xy). \tag{2.4} \]Restriction preserves every small colimit pointwise. The full equivalence-transport proof in Universal tests for forks and finite limits, Section 1 transports these colimits and their actual legs back to the slices.
We can also see the exact comparison directly. At \(X\), its value is
\[ [i,(x,y)]\longmapsto([i,x],y). \tag{2.5} \]Each pair satisfies \(d_{i,X}(x)=a_X(y)\). For its inverse choose a representative \([i,x]\) of the first coordinate and return \([i,(x,y)]\). Along each generating colimit relation the label in \(Z(X)\) is unchanged, because every diagram arrow is over \(Z\). Therefore all representatives satisfy the same fibre condition, and a generating relation with the fixed \(y\) identifies the two lifted pairs. This proves independence even for a disconnected index. Both composites recover the stated classes and pairs. Restrictions and transformations act on those same coordinates, proving naturality. For empty \(I\), both sides have empty values. The map sends each pullback coprojection to the pullback of the corresponding colimit coprojection; it is (2.3), not an unrelated isomorphism. \(\square\)
Example 2.3. Take \(C\) to have one object and only its identity, so presheaves are sets. Let \(Z=\{r,b\}\), let \(Y\) be a singleton labelled \(b\), and take the two-object discrete diagram consisting of \(\{a_r,a_b\}\) and \(\{c_b\}\) over \(Z\). Pullback keeps \(a_b,c_b\). It makes no identification between them, because their original diagram is disconnected. Formula (2.5) gives the same two labelled elements on either side. An empty diagram instead gives the empty set. These examples explain why no connectedness restriction belongs in Theorem 2.2.
3. Cancellation and the finite probes of an extension
Theorem 3.1. Left exact functors take monomorphisms to monomorphisms. Right exact functors take epimorphisms to epimorphisms. The source need not have all finite limits or colimits.
Proof. If \(f:X\to Y\) is monic, then \(X\), with both legs \(1_X\), is the pullback of \(f\) with itself. Indeed, \(fu=fv\) forces \(u=v\), giving the unique factor into that square. Lemma 1.1 preserves this particular existing pullback. Therefore if \(F(f)u=F(f)v\), its image pullback has a unique factor whose two identity composites are \(u,v\), forcing \(u=v\). This is monicity of \(F(f)\).
If \(f\) is epic, \(Y\), with both legs \(1_Y\), is its self-pushout: \(uf=vf\) implies \(u=v\), which is the unique pushout factor. A right exact functor preserves that particular existing pushout, and the same argument gives epicity of \(F(f)\). The complete diagonal/codiagonal interface is also retained in Universal tests for forks and finite limits, Section 4. \(\square\)
Now let \(F:C\to D\) have small bases. Its extension from representables is
\[ \widehat F:\widehat C\to\widehat D, \qquad \widehat F(A)=\operatorname{colim}_{(X,a)\in E_A}h_{FX}. \tag{3.1} \]The full smallness proof in Extending a functor from its representables, Section 1 bounds both objects and arrows of \(E_A\). The same universe-member indexed-union and subset bounds make \((V\downarrow F)\) small: its objects are pairs \((X,u)\) indexed by the small object set of \(C\), and its arrows are the corresponding subsets of the small Hom sets of \(C\). The full construction, including \(\widehat F(h_X)\simeq h_{FX}\), is its Sections 2–3. It preserves every small colimit, with its actual coprojections. The exact regrouping proof in its Section 6 gives
\[ \widehat F(A)(V) \simeq\operatorname{colim}_{(X,u)\in(V\downarrow F)^{\mathrm{op}}}A(X), \qquad [(X,a),u]\longleftrightarrow[(X,u),a]. \tag{3.2} \]Both presentations impose the same relations
\[ [(X,A(f)a'),u] =[(X',a'),F(f)u] \quad(f:X\to X'). \tag{3.3} \]An input transformation \(t:A\to B\) changes \(a\) to \(t_Xa\); restriction along \(r:V'\to V\) changes \(u\) to \(ur\). These are the two naturalities in the retained inverse-class proof. For \(A=h_Y\), the represented value of \([(X,a:X\to Y),u]\) is \(F(a)u\). We will use these actual maps, not just an abstract value isomorphism.
Theorem 3.2. For every \(F\) between small categories, \(\widehat F\) takes epimorphisms to epimorphisms.
Proof. The full cancellation proof in Presheaf exactness and pullback comparisons, Section 2 shows that a presheaf transformation is epic exactly when all its components are surjective. Let \(t:A\to B\) be epic. A class \([(X,b),u]\) in \(\widehat F(B)(V)\) lifts by choosing \(a\in A(X)\) with \(t_Xa=b\); its lift is \([(X,a),u]\). This is precisely the input-transformation map above, so it proves every component of \(\widehat F(t)\) surjective. The same cancellation criterion proves it epic. Empty values cause no choice of an element that does not exist. Alternatively, colimit preservation and Lemma 1.1 make \(\widehat F\) right exact, after which Theorem 3.1 applies. No exactness assumption on \(F\) was used. \(\square\)
Theorem 3.3. For a functor between small categories, the following conditions are equivalent:
- \(F\) is left exact.
- \(\widehat F\) is exact.
Proof, forward direction. The incoming comma \((V\downarrow F)\) is cofiltered; its opposite in (3.2) is a small filtered category. Evaluate a finite diagram of presheaves at each \(X\) in that comma and use Theorem 2.1's Set comparison. It follows that \(\widehat F\) preserves finite limits pointwise. The two naturalities of (3.2) bind these value comparisons to restrictions and diagram transformations; the represented-value formula binds them to the original projections. Since \(\widehat C\) has all finite limits, Lemma 1.1 makes \(\widehat F\) left exact. Its preservation of all small colimits and the finite-colimit converse in Lemma 1.1 make it right exact as well.
Proof, converse direction. Suppose \(\widehat F\) is exact. Lemma 1.1 makes it preserve the existing terminal object, binary products and equalizers of \(\widehat C\). Fix \(V\in D\). We construct all three cofiltered witnesses in \(H=(V\downarrow F)\).
First, \(\widehat F(1)(V)\) is a singleton. Its point has a representative \([(X,*),u:V\to FX]\). Hence \(H\) is nonempty.
Second, take \((X,u),(Y,v)\) in \(H\). Preservation of \(h_X\times h_Y\) and the represented comparisons identify \((u,v)\) with an element of \(\widehat F(h_X\times h_Y)(V)\). Choose its representative
\[ [(Z,(a:Z\to X,b:Z\to Y)),w:V\to FZ]. \tag{3.4} \]The canonical product comparison gives \(F(a)w=u\), \(F(b)w=v\). Thus \((Z,w)\) is a common predecessor in \(H\), with the indicated arrows.
Third, let \(r,s:(X,u)\rightrightarrows(Y,v)\) be parallel comma arrows. Their equations give \(F(r)u=F(s)u=v\). Form
\[ E=\operatorname{Eq}(h(r),h(s):h_X\rightrightarrows h_Y). \tag{3.5} \]The element \(u\) belongs to the corresponding equalizer at \(V\) after applying \(\widehat F\). Preservation identifies it with an element of \(\widehat F(E)(V)\), and a representative is \([(Z,a),w]\), where \(a:Z\to X\) satisfies \(ra=sa\). The actual equalizer comparison gives \(F(a)w=u\). Therefore \(a:(Z,w)\to(X,u)\) is a comma arrow equalizing \(r,s\). These witnesses prove \(H\) cofiltered, so \(F\) is left exact.
The empty bases are included. If \(D\) is empty, a functor \(C\to D\) forces \(C\) empty and there are no incoming tests. If \(C\) is empty and \(D\) is nonempty, the sole source presheaf is sent to the empty presheaf, which is not terminal on \(D\). Exactness would fail the first witness. \(\square\)
Example 3.4. Let \(\mathsf P\) have one object \(c\) and arrows \(1,p\), where \(p^2=p\ne1\). The unique functor \(\mathsf{Pt}\to\mathsf P\) has incoming comma at \(c\) equal to two discrete objects. Its extension takes a set \(S\) to the presheaf with value \(S\times\{1,p\}\); restriction by \(p\) sends \((s,1)\) and \((s,p)\) to \((s,p)\). In particular it takes the terminal set to a two-element value. This witnesses the failure of left exactness through the empty finite probe, without requiring any finite limits in \(\mathsf{Pt}\)'s target.
4. When a universal presheaf is representable
An idempotent \(e:X\to X\) splits if there are \(p:X\to T\), \(i:T\to X\) with \(ip=e\), \(pi=1_T\). A category is idempotent complete when every idempotent splits. These are ordinary categorical equations; no addition or zero arrow is assumed. The complete splitting interfaces are Retracts and stabilization of formal objects, Section 1.
Theorem 4.1. Suppose \(C\) is idempotent complete. Then \(h:C\to\widehat C\) is left exact if and only if \(C\) has all finite limits.
Proof, from limits. A finite limit \(L\) of \(D:J\to C\) gives, for each \(T\), the compatible-family bijection
\[ \operatorname{Hom}_C(T,L) \simeq\lim_{j\in J}\operatorname{Hom}_C(T,D_j), \qquad a\longmapsto(p_ja)_j. \tag{4.1} \]The full universal-family and Yoneda naturality proofs retained in Section 1 identify this as a presheaf isomorphism, with its actual projections. Thus \(h\) preserves finite limits. The finite-complete converse of Lemma 1.1 makes it left exact. This direction does not need idempotent completeness.
Proof, from exactness. Suppose \(h\) is left exact and take a finite \(D:J\to C\). The pointwise presheaf limit
\[ L=\lim_{j\in J}h_{D_j}, \qquad p_j:L\to h_{D_j}, \tag{4.2} \]exists; its values are small even when the base \(C\) is not small. The projections form a finite diagram in the cofiltered comma \((L\downarrow h)\). A cone in this comma gives an object \((X,q:L\to h_X)\) and arrows \(a_j:X\to D_j\) satisfying
\[ h(a_j)q=p_j, \qquad D(t)a_j=a_k\quad(t:j\to k). \tag{4.3} \]The compatible family \(h(a_j)\) induces \(r:h_X\to L\). At \(T\), it sends \(b:T\to X\) to \((a_jb)_j\). Since \(p_jrq=p_j\) for every \(j\), the limit property gives \(rq=1_L\). For empty \(J\), cofiltered nonemptiness still supplies \((X,q)\), and \(rq=1_L\) is the uniqueness equation for maps to the terminal presheaf.
The idempotent \(qr:h_X\to h_X\) is \(h(e)\) for a unique idempotent \(e:X\to X\), by the full Yoneda proof in Points, fibres and universal representations, Section 2. Split it as \(e=ip\), \(pi=1_T\). Then
\[ \begin{aligned} k&=r\,h(i):h_T\to L,\\ \ell&=h(p)q:L\to h_T \end{aligned} \tag{4.4} \]are inverse: \(k\ell=rh(e)q=rqrq=1_L\), while \(\ell k=h(p)h(e)h(i)=h(pi)=1_{h_T}\). Moreover \(p_jk=h(a_ji)\). Consequently the actual arrows \(a_ji:T\to D_j\) are a limit cone: (4.1) follows for them from (4.2)–(4.4). This produces a limit rather than merely preserving one that was already available. Empty \(J\) produces a terminal object of \(C\). Empty \(C\) is idempotent complete vacuously, but has no terminal object; its Yoneda functor has an empty incoming comma, so both sides of the equivalence fail there. \(\square\)
Theorem 4.2. The initial presheaf \(0\) has \(0(X)=\varnothing\) for all \(X\). If \(C\) has an initial object \(O\), then \(h_O\) is not isomorphic to \(0\). For every category \(C\), its Yoneda functor is not right exact.
Proof. The pointwise empty presheaf has a unique component map to every presheaf; all its naturality equations are equations between empty maps. It is initial. At \(O\), \(h_O(O)\) contains \(1_O\), whereas \(0(O)\) has no element, proving nonisomorphism.
For the universal assertion use the outgoing comma \((h\downarrow0)\). An object would contain a map \(h_X\to0\), impossible at \(X\) because its identity would have to map to an empty set. Thus the comma is empty. If \(C\) itself is empty, it has no possible object \(X\), so the same comma is empty. Right exactness requires nonemptiness of every outgoing comma. This proof does not assume that \(C\) has an initial object. \(\square\)
Example 4.3. For \(C=\mathsf{Pt}\), \(\widehat C\) is Set and Yoneda sends its sole object to the singleton. The functor is left exact because its source has all finite limits. Its initial source object is also sent to the singleton, which makes the failure in Theorem 4.2 visible. For empty \(C\), \(\widehat C\) has one object and one arrow, but both commas of the empty Yoneda functor are empty. These two examples distinguish the different reasons that a source universal object may be unavailable or may have the wrong image.
5. Idempotents as receiving maps
The category \(\mathsf P\) from Example 3.4 is filtered. It is nonempty and has one object, and postcomposition by \(p\) equalizes every pair among \(1,p\). The one-object category \(\mathsf{Pt}\) is filtered as well. However the unique \(\phi:\mathsf{Pt}\to\mathsf P\) is not cofinal. Recall that cofinality means each incoming comma \((c\downarrow\phi)\) is nonempty and connected, as proved with its universal maps in Change an index without changing its universal maps, Sections 1–2.
Here the sole target object reaches \(\phi(*)\) by \(1\). The incoming comma has objects \((*,1)\), \((*,p)\). An arrow must be \(1_*\), whose image leaves its label unchanged. Thus there are just two identity arrows, with no arrow between the two objects: the comma is the discrete coproduct of two copies of \(\mathsf{Pt}\). Reaching the image is therefore weaker than cofinality. Equivalently, the two arrows \(1,p:c\to\phi(*)\) cannot be made equal by any outgoing arrow in \(\mathsf{Pt}\). The complete noninvertible Set comparison in Compatible families and universal cones, Exercise 1 gives another witness for the same failure.
Theorem 5.1. Every finite filtered category \(C\) receives a cofinal functor \(\mathsf P\to C\).
Proof. The identity diagram of \(C\) is a finite diagram: we use all its objects and all its arrows. The finite cocone theorem gives \(x\in C\) and \(u_y:y\to x\) with
\[ u_z a=u_y\quad(a:y\to z). \tag{5.1} \]Set \(e=u_x\). Taking \(a=e:x\to x\) yields \(e^2=e\); taking any \(a:y\to x\) yields
\[ e a=u_y. \tag{5.2} \]Send \(c\) to \(x\), \(1\) to \(1_x\), and \(p\) to \(e\). The projector relation is respected, so this is a functor \(\psi\). For \(y\in C\), the incoming comma has objects \(a:y\to x\). It contains \(u_y\). Equation (5.2) makes \(p\) a comma arrow from every \(a\) to \(u_y\), so it is connected. These are the actual incoming arrows, proving cofinality. The complete cofinal-factor proof cited above then gives the canonical colimit comparisons and their naturality. The endomorphisms of \(u_y\) may include both \(1\) and \(p\), so this argument does not claim a terminal comma object. \(\square\)
Example 5.2. Applying the construction to \(\mathsf P\) itself gives \(u_c=p\) and \(e=p\), hence the identity functor. The incoming comma has arrows from the object labelled \(1\) to the one labelled \(p\), and two endomorphisms at the latter. It is connected without its receiving object being terminal. In particular a finite filtered category need not have a terminal object, and replacing \(\mathsf P\) by \(\mathsf{Pt}\) in Theorem 5.1 would be false.
There is also a two-object category in which the projector has a splitting. Let \(B\) have objects \(a,b\), nonidentity arrows \(f:a\to b\), \(g:b\to a\), \(p:b\to b\), and relations
\[ fg=p,\qquad gf=1_a,\qquad p^2=p. \tag{5.3} \]Theorem 5.3. The category \(B\) has every filtered inductive limit and every projective limit indexed by \(I^{\mathrm{op}}\) with \(I\) filtered.
Proof, the exact model. Identify \(a\) with the pointed set \(\{0\}\) and \(b\) with \(\{0,1\}\), both based at \(0\). Let \(f\) include \(0\), let \(g\) collapse everything to \(0\), and let \(p\) be the constant-zero endomorphism. These are all pointed maps between the two sets: there is one map in each Hom set except from \(b\) to itself, where there are identity and collapse. Their compositions are (5.3). Thus \(B\) is exactly this full pointed-set subcategory.
Inductive limit. Take \(A:I\to B\) with \(I\) filtered. In a universe containing its data, use the full filtered Set quotient construction of Filtered stages and finite limits, Section 2. All basepoints have the same class, since any two stages have a common receiver and all maps preserve basepoints. This class makes the colimit \(Q\) pointed.
There is at most one other class. Indeed two nonbasepoint classes have representatives at \(i,j\). Send them to a common stage \(k\). Neither transported element can be the basepoint, since its class would then be the basepoint class. Both are therefore the only possible nonbasepoint of \(A(k)\), and their classes agree. Hence \(Q\) has one or two elements.
The quotient coprojections are pointed. For a pointed cocone \(v_i:A(i)\to T\), its full Set factor is \([i,z]\mapsto v_i(z)\), and this preserves the distinguished class because each \(v_i\) preserves its basepoint. Every pointed factor is determined by the same coprojection equations. Choose a pointed bijection from \(Q\) to the appropriate object of \(B\); it transports these coprojections and factors. Fullness of the model makes them actual arrows of \(B\), so they prove its entire colimit property. A transformation of diagrams sends \([i,z]\) to the class of its image and preserves the basepoint; the same formula gives naturality and the actual induced colimit map.
Projective limit. Take \(A:I^{\mathrm{op}}\to B\) with \(I\) filtered. The full compatible-tuple limit proof in Compatible families and universal cones, Section 1 gives
\[ L=\{(z_i): A(s)(z_j)=z_i \text{ for every }s:i\to j\text{ in }I\}. \tag{5.4} \]It contains the all-basepoint tuple. Suppose two tuples \(z,w\) are not that tuple. Choose \(i,j\) with \(z_i\ne0\), \(w_j\ne0\), and a common receiver \(k\) of \(i,j\) in \(I\). In the inverse diagram its maps go from \(A(k)\) to \(A(i),A(j)\). A basepoint maps to a basepoint, so compatibility forces \(z_k=w_k=1\). For any further coordinate \(r\), choose a common receiver \(\ell\) of \(k,r\). Compatibility with the nonzero \(k\)-coordinate forces \(z_\ell=w_\ell=1\), and applying the map to \(A(r)\) gives \(z_r=w_r\). Thus there is at most one nonbasepoint tuple, and \(L\) again has one or two elements.
Its projections are pointed. A pointed cone \(v_i:T\to A(i)\) factors by \(t\mapsto(v_i(t))_i\); this sends the basepoint of \(T\) to the all-basepoint tuple. The coordinate equations prove existence, uniqueness and naturality for every pointed cone. A pointed bijection to an object of \(B\), followed by fullness, transports the actual projections and their factors into \(B\). Transformations act on tuples coordinatewise, so this also retains the induced limit maps. If the original index was not \(\mathcal U\)-small, both carriers just proved finite can be transported to these fixed \(\mathcal U\)-small objects; the universal-family equations are unchanged. \(\square\)
Example 5.4. For a constant identity sequence at \(b\), both limiting carriers are \(\{0,1\}\). For the forward sequence whose every successor map is \(p\), every element is eventually collapsed, so its colimit is \(a\). For the inverse sequence whose successor maps are \(p\), (5.4) forces every coordinate to be \(0\), so its limit is \(a\). The theorem concerns arbitrary filtered diagrams, not just these repeated-projector examples.
6. From countable arrows to a cofinal sequence
We use the complete directed-replacement theorem and proof of the Stacks Project, Lemma 4.21.5. It gives an actual cofinal functor from a directed poset to a filtered category. Its construction uses finitely generated subcategories with a unique terminal object after passing to \(I\times\mathbb N\). On inclusions, the functor uses the unique arrow between their terminal objects. The added terminal object lies above all old integer coordinates; its identity is included. These details, and the proof of incoming-comma connectedness, are part of the retained complete proof. The projection \(I\times\mathbb N\to I\) is cofinal: its incoming comma at \(i\) has initial object \(((i,0),1_i)\), whose unique arrow to \(((j,n),a:i\to j)\) is \((a,0\le n)\). We add the following size and sequential bindings. The linked proof retains the Stacks Project's GNU FDL terms.
Theorem 6.1. If \(I\) is filtered and its total arrow set is countable, there is a cofinal functor \(\mathbb N\to I\), where \(\mathbb N\) is its usual order category.
Proof. Identities inject \(\operatorname{Ob}I\) into \(\operatorname{Mor}I\), so the object set is countable too. The total arrows of \(I\times\mathbb N\) are countable. Each finitely generated subcategory in the retained construction is determined by a finite set of those arrows, including the identities of its objects. There are countably many such finite sets. Hence its directed poset \(P\) is countable. Write its actual cofinal functor as \(M:P\to I\).
Enumerate \(P\) as \(p_0,p_1,\ldots\), using repetitions if it is finite. It is nonempty. Set \(q_0=p_0\), and choose successively
\[ q_{n+1}\ge q_n,p_{n+1}. \tag{6.1} \]The unique order arrows define a functor \(q:\mathbb N\to P\), with identities and composition automatically respected. For \(p\in P\), its incoming comma under \(q\) is the ordered subset
\[ \{n:p\le q_n\}\subseteq\mathbb N. \tag{6.2} \]It is nonempty because \(p\) occurs in the enumeration, and it is upward closed, hence any two objects have a common receiver. It is therefore connected.
To bind cofinality of the composite \(Mq\) to actual arrows in \(I\), use the complete filtered arrow test in Incoming comma tests and assembly from finite pieces, Section 2. Every \(i\) reaches some \(M(p)\), and then reaches \(M(q_n)\) once \(q_n\ge p\). For a pair \(s,s':i\rightrightarrows M(q_n)\), the cofinality of \(M\) and filteredness of \(P\) give a transition \(q_n\le p\) such that \(M(q_n\le p)s=M(q_n\le p)s'\). Choose \(m\ge n\) with \(q_m\ge p\). The actual transition \(M(q_n\le q_m)\) equalizes the pair. Thus every incoming comma of \(Mq\) is nonempty and connected, and \(Mq:\mathbb N\to I\) is cofinal. The full cofinal-factor theorem retains its canonical universal comparisons and their naturality. \(\square\)
The chain construction is also the one in Gabber–Ramero [GR, Example 1.5.25]. Countability here refers to the total morphism set, not just the number of objects or the sizes of individual Hom sets. It is the total arrow count that bounds all the finite generators used in the directed replacement.
Example 6.2. A nonempty finite filtered category also satisfies Theorem 6.1. Repetitions in its enumeration keep the sequence defined at every integer. Theorem 5.1 supplies a different useful index, \(\mathsf P\), which keeps a finite idempotent visible. Neither statement asserts that the original category is a poset or has a terminal object.
7. Four graded exercises with complete solutions
Exercise 1 — introductory: a product that sees all coordinates
For \(n,j\in\mathbb N\), let \(A(n,j)=\{0,1\}\) when \(j\le n\), and \(A(n,j)=\{0\}\) when \(j>n\). Use inclusions for \(n\to n+1\), and regard the \(j\)-index as discrete. Compute the canonical map
\[ \operatorname{colim}_{n}\prod_jA(n,j) \longrightarrow\prod_j\operatorname{colim}_n A(n,j). \tag{7.1} \]Is it surjective? Explain which hypothesis in Theorem 2.1 would be missing if it were applied here.
Solution. The product at stage \(n\) consists of binary sequences with all coordinates above \(n\) zero. Its transition maps are inclusions, so the colimit is the set of binary sequences of finite support. For each fixed \(j\), its value becomes \(\{0,1\}\) at stage \(j\) and stays there; the right side is all binary sequences. The actual comparison includes each finite-support sequence with the same coordinates. It is injective but misses the all-ones sequence, so it is not surjective. The product index is infinite; Theorem 2.1 only permits a finite limit shape. The inductive index is filtered, so changing that hypothesis would not explain the failure.
Exercise 2 — intermediate: fibres of a coloured coequalizer
Let \(Z=\{r,b\}\). Let \(V=\{r_0,r_1,b_0,b_1\}\), with the indicated colours, and \(E=\{e_r,e_b\}\). Define \(d_0,d_1:E\rightrightarrows V\) by
\[ d_0(e_r)=r_0,\quad d_1(e_r)=r_1, \qquad d_0(e_b)=d_1(e_b)=b_0. \tag{7.2} \]Both are over \(Z\). Let \(Y=\{u,v\}\), with both points coloured \(b\). Compute the coequalizer before and after pulling back along \(Y\to Z\), and write the canonical comparison on each element. Explain why this does not need a filtered indexing category.
Solution. The original coequalizer \(Q\) has three elements: \([r_0]=[r_1]\), \([b_0]\), and \([b_1]\). Pulling \(Q\) back gives the four pairs \(([b_i],y)\), \(i=0,1\), \(y=u,v\). Before taking the coequalizer, pullback of \(V\) is the four-element set \(\{(b_0,u),(b_0,v),(b_1,u),(b_1,v)\}\). Pullback of \(E\) has \((e_b,u),(e_b,v)\); both maps send each to the same corresponding \((b_0,y)\). Its coequalizer therefore makes no new identification. The canonical map is \([(b_i,y)]\mapsto([b_i],y)\), a bijection with inverse \(([b_i],y)\mapsto[(b_i,y)]\). No red element belongs to a pullback fibre. Theorem 2.2 applies to this small parallel-pair diagram even though its two parallel arrows cannot be equalized by an outgoing diagram arrow; no filteredness is required.
Exercise 3 — advanced: a sequence that uses the projector
Let \(I=\mathsf P\times\mathbb N\). Define \(q:\mathbb N\to I\) on objects by \(q(n)=(c,n)\); send an identity to \((1,1_n)\), and each strict order arrow \(n<m\) to \((p,n\le m)\). Verify the functor laws and prove cofinality by describing every incoming comma. Compare with the functor that sends every order arrow's \(\mathsf P\)-component to \(1\).
Solution. Composition of two strict arrows has projector component \(p^2=p\); composition with an identity keeps the given component. These are exactly the functor laws. For \((c,k)\), an incoming-comma object is \((n,\alpha)\) with \(n\ge k\) and \(\alpha\in\{1,p\}\). For \(m>n\), its transition sends either label to \(p\alpha=p\), so it gives an arrow \((n,\alpha)\to(m,p)\). The comma is nonempty, and any two of its objects map to \((m,p)\) for \(m\) larger than both indices. Hence it is connected and \(q\) is cofinal. The comparison functor with identity components leaves the two labels unchanged on every transition. Each incoming comma then has two disjoint order components, so it is not connected and that functor is not cofinal. The receiver arrows matter even when the object sequence is unchanged.
Exercise 4 — challenge: a representable retract without a terminal object
Let \(N=\mathbb N\) be based at \(0\). Let \(C\) be the full subcategory of pointed sets with the single object \(N\), so its arrows are all basepoint-preserving functions \(N\to N\). Prove that its Yoneda functor is left exact, but that \(C\) has no terminal object and is not idempotent complete. Explain why this does not contradict Theorem 4.1.
Solution. A finite diagram in \(C\), viewed in pointed sets, has a limit \(T\): its carrier is the compatible subset of a finite power of \(N\), with the all-zero tuple as basepoint. For an empty diagram, \(T\) is the pointed singleton. In every case \(T\) is nonempty and at most countable. Choose an injective pointed map \(i:T\to N\). It has a pointed retraction \(p:N\to T\), taking every point outside the image to the basepoint, so \(pi=1_T\).
Let \(L=\lim h_{D_j}\) in \(\widehat C\). Its value at the sole object is the compatible family of pointed maps \(N\to D_j\), hence is naturally the presheaf \(\operatorname{Hom}_*(N,T)\), with action by precomposition. The maps induced by \(i,p\) exhibit \(L\) as a retract of \(h_N\); call them \(s:L\to h_N\), \(t:h_N\to L\), with \(ts=1_L\).
For any presheaf \(A\), take a finite diagram of labels \(A\to h_{D_j}\) in \((A\downarrow h)\). Its compatible labels give \(q:A\to L\). Label the sole source object \(N\) by \(sq:A\to h_N\). For each \(j\), the map \(h_N\xrightarrow{t}L\to h_{D_j}\) is postcomposition by an actual pointed arrow \(N\to D_j\), by Yoneda. Its composite with \(sq\) is the original label, and these arrows satisfy the finite diagram relations. They give a cone in \((A\downarrow h)\). This includes the empty diagram, so all those commas are cofiltered and \(h\) is left exact.
The only possible terminal object in \(C\) is \(N\), but it has distinct identity and constant-zero endomorphisms, so it is not terminal. Let \(e:N\to N\) be constant zero. A splitting inside this one-object category would have maps \(i,p:N\to N\) with \(ip=e\), \(pi=1_N\). Then \(e i=i p i=i\), while \(e i\) is constant zero. Thus \(i\) is constant zero and \(pi\ne1_N\), a contradiction. The idempotent does not split in \(C\). The missing idempotent-completeness hypothesis is exactly what Theorem 4.1 needs to turn a representable retract into an object of the source.
References
- [Stacks] The Stacks Project Authors, The Stacks Project, Lemma 4.21.5: directed replacement of a filtered category. The linked complete proof is licensed under the GNU Free Documentation License; it is retained as a proof dependency, not relabelled CC0.
- [GR] Ofer Gabber and Lorenzo Ramero, Foundations for Almost Ring Theory, author-hosted text, Example 1.5.25 for the countable-chain construction. The text is a reference; its surrounding proofs are not assumed in place of the exact complete dependencies used here.
- [HA] Pierre Schapira, An Introduction to Categories and Homological Algebra, lecture notes, version of 1 March 2026, Chapter 2, for limits, colimits, directed colimits and ind-objects.