Written and self-checked with GPT-6.1 Sol (OpenAI), Ultra reasoning effort. A separate scoped model check covers the local-test and independent-product arguments, their specified prerequisite interfaces and the four exercise solutions. It does not add a whole-lesson or whole-course review. Original exposition uses CC0 1.0; linked complete proofs retain their stated terms.
Local tests and independent product comparisons
Written and self-checked with GPT-6.1 Sol (OpenAI), Ultra reasoning effort, October 2026. Original exposition: CC0. Linked complete proofs retain their stated terms.
A cofinal family of test objects can detect whether an index change preserves colimits. A different local test detects whether an index category is filtered. Products introduce a second kind of indexing: each coordinate may need its own stage. We will construct the relevant comparison maps and keep those independent stages throughout.
1. Conventions and complete prerequisites
Fix a universe \(\mathcal U\), with choice, inside a larger ambient universe. For products and filtered colimits, small means \(\mathcal U\)-small. Categories and their full object and arrow data are ambient sets; a category can be locally small without being small. Write \(\mathsf{Set}\) for \(\mathcal U\)-small sets. All rings are associative and unital, and modules are unital left modules. For each module application, choose the working universe to contain the ring and module data. No field or commutativity hypothesis is imposed on the ring.
A category \(I\) is filtered if it is nonempty, any two objects have a common target, and any two parallel arrows are equalized by postcomposition. A category is connected if it is nonempty and any two objects are joined by a finite zigzag of arrows in either direction. For \(\phi:J\to I\), cofinality means that every incoming comma category \((i\downarrow\phi)\), whose objects carry an arrow \(i\to\phi(j)\), is connected.
We use these complete proofs:
- Filtered stages and finite limits, Sections 1, 2 and 4 proves the finite-cocone and element-equality criteria, and proves that a small \(I\) is filtered exactly when \(\operatorname{colim}_I:\operatorname{Fun}(I,\mathsf{Set})\to\mathsf{Set}\) preserves finite limits.
- Change an index without changing universal maps, Sections 2 and 3 proves the canonical cofinal colimit comparison, its naturality, and its converse for set-valued diagrams.
- Extending diagrams by universal maps, Sections 3 and 7 proves the outgoing-comma construction of a left Kan extension and its natural total-colimit comparison.
- Compatible families and universal cones, Sections 2, 4 and 6 supplies the specified structural-map comparisons, pointwise limits and colimits of functors, and the preservation comparisons. Natural transformations, Lemma 2.1 supplies the natural inverse of a componentwise isomorphism.
- Products, disjoint unions and mixed functors, Section 1 proves product-category and product-functor laws, including empty products and the size bounds. Limits and colimits of formal objects, Section 2 proves small-family product filteredness and the complete independent-index comparison for sets, using choice.
Here and below, preservation concerns the map characterized by the given projections or coprojections.
Proposition 1.1 (the module finite-limit interface). For every small filtered \(I\) and unital ring \(R\), the module-colimit functor
\[ \operatorname{colim}_I:\operatorname{Fun}(I,\operatorname{Mod}(R)) \longrightarrow\operatorname{Mod}(R) \]preserves every finite limit, including the terminal zero object.
Proof from complete prerequisites. The source is abelian with pointwise exactness by Pointwise abelian structure, Section 2. The stronger complete proof in Hom, tensor and module limits, Sections 3 and 4 makes this colimit functor additive and exact for arbitrary filtered categories and left modules. Its ground-ring convention permits every unital \(R\): take the central \(\mathbb Z\)-algebra structure checked in Products and mixed functors, Section 5. The complete kernel-to-finite-limit argument in Testing exactness, Theorem 3.1 then applies.
For a finite diagram \(\ell\mapsto M_\ell\) of \(I\)-diagrams, the assertion is invertibility of the actual map
\[ \operatorname{colim}_i\bigl(\lim_\ell M_\ell(i)\bigr) \longrightarrow \lim_\ell\bigl(\operatorname{colim}_i M_\ell(i)\bigr). \tag{1.1} \]It is induced by the images of the limiting projections. The cited preservation test identifies precisely this map and gives naturality in the finite diagram. For an empty finite shape both objects are zero. No second module-colimit construction is needed. \(\square\)
2. Outgoing commas for the local tests
Let
\[ \phi:J\longrightarrow I,\qquad \psi:K\longrightarrow I, \]and assume that \(\psi\) is cofinal. For \(i\in I\), put
\[ J_i=(\phi\downarrow i),\qquad I_i=I/i. \]Thus an object of \(J_i\) is \((j,t:\phi(j)\to i)\), and an arrow \(s:(j,t)\to(j',t')\) satisfies \(t'\phi(s)=t\). Write \(p_i:J_i\to J\) for its forgetful functor. An object of \(I_i\) is \((a,v:a\to i)\), with forgetful functor \(q_i:I_i\to I\).
There is an induced functor
\[ F_i:J_i\longrightarrow I_i,\qquad F_i(j,t)=(\phi(j),t),\qquad F_i(s)=\phi(s). \tag{2.1} \]The triangle equation for \(s\) is exactly the slice-arrow equation for \(\phi(s)\), so the functor is well-defined and has \(q_iF_i=\phi p_i\). For \(h:i\to i'\), postcomposition defines \(h_*:J_i\to J_{i'}\) and \(h_*:I_i\to I_{i'}\). These preserve the underlying \(j\), \(a\), and arrows, and satisfy
\[ F_{i'}h_*=h_*F_i. \tag{2.2} \]Cofinality of \(F_i\) uses incoming commas \(((a,v)\downarrow F_i)\). The categories \(J_i\) themselves are outgoing commas. Keeping these two directions separate is essential.
Theorem 2.1 (two local descent tests).
- If \(F_{\psi(k)}\) is cofinal for every \(k\in K\), then \(\phi\) is cofinal.
- If \(K\) and every \(J_{\psi(k)}\) are filtered, then \(J\) is filtered.
The second assertion has no local cofinality assumption on \(F_{\psi(k)}\). The first has no filteredness assumption.
For the proof, choose one larger universe \(\mathcal V\) containing the complete data of \(I,J,K\). These categories and their comma categories are small there. Set-valued diagrams in Sections 3 and 4 have values in \(\mathsf{Set}_{\mathcal V}\), so the cited set-colimit theorems apply. The conclusions are intrinsic: they concern comma objects, arrows, finite zigzags and finite cocones. They therefore hold for the original categories. This enlargement makes no claim that these potentially larger colimits are \(\mathcal U\)-small; see the complete ambient-size argument.
3. Descending cofinality through a test family
Let \(\alpha:I\to\mathsf{Set}_{\mathcal V}\). Define functors on \(I\) by
\[ B(i)=\operatorname{colim}_{J_i}\alpha\phi p_i,\qquad C(i)=\operatorname{colim}_{I_i}\alpha q_i. \tag{3.1} \]Write their coprojections as
\[ b^i_{j,t}:\alpha(\phi(j))\to B(i),\qquad c^i_{a,v}:\alpha(a)\to C(i). \]The outgoing-comma Kan construction cited above gives their action by postcomposition:
\[ B(h)b^i_{j,t}=b^{i'}_{j,ht},\qquad C(h)c^i_{a,v}=c^{i'}_{a,hv}. \tag{3.2} \]It also identifies \(B\) with \(\operatorname{Lan}_\phi(\alpha\phi)\).
The functor \(F_i\) induces a canonical map \(d_i:B(i)\to C(i)\) with
\[ d_i b^i_{j,t}=c^i_{\phi(j),t}. \tag{3.3} \]Equations (2.2) and (3.2), tested on all coprojections, give \(C(h)d_i=d_{i'}B(h)\). Thus \(d:B\to C\) is natural. If \(F_{\psi(k)}\) is cofinal, its canonical colimit comparison \(d_{\psi(k)}\) is an isomorphism.
The object \((i,1_i)\) is terminal in \(I/i\). Consequently the canonical slice-colimit map
\[ r_i:C(i)\longrightarrow\alpha(i),\qquad r_i c^i_{a,v}=\alpha(v) \tag{3.4} \]is an isomorphism. This is the identity-functor instance of the same Kan construction; its inverse is \(c^i_{i,1_i}\). The coprojection equations give naturality of \(r:C\to\alpha\).
For any \(E:I\to\mathsf{Set}_{\mathcal V}\), denote the cofinal comparison for \(\psi\) by
\[ e_E:\operatorname{colim}_K E\psi\longrightarrow\operatorname{colim}_I E. \]The complete total-Kan comparison gives an isomorphism \(a_\phi\) characterized by its unit coprojections. We now have five natural isomorphisms:
\[ \begin{aligned} \operatorname{colim}_J\alpha\phi &\xrightarrow{a_\phi}\operatorname{colim}_I B\\ &\xrightarrow{e_B^{-1}}\operatorname{colim}_K B\psi\\ &\xrightarrow{\operatorname{colim}_K(d\psi)} \operatorname{colim}_K C\psi\\ &\xrightarrow{\operatorname{colim}_K(r\psi)} \operatorname{colim}_K\alpha\psi\\ &\xrightarrow{e_\alpha}\operatorname{colim}_I\alpha. \end{aligned} \tag{3.5} \]The first uses total Kan assembly, Proposition 7.1. The second and fifth use cofinality of \(\psi\); the third uses the local hypothesis; the fourth uses the terminal slice. Naturality in \(\alpha\) follows from the cited Kan and cofinal comparisons and from (3.3)-(3.4).
We must identify the composite with the canonical comparison for \(\phi\). Let \(\iota_j:\alpha(\phi(j))\to\operatorname{colim}_J\alpha\phi\), and let \(\tau_i:B(i)\to\operatorname{colim}_I B\). The first map satisfies
\[ a_\phi\iota_j=\tau_{\phi(j)}b^{\phi(j)}_{j,1}. \]Cofinality of \(\psi\) supplies an incoming-comma object \((k,h:\phi(j)\to\psi(k))\). If \(\kappa_k:B(\psi(k))\to\operatorname{colim}_K B\psi\), then
\[ e_B\kappa_k b^{\psi(k)}_{j,h} =\tau_{\psi(k)}B(h)b^{\phi(j)}_{j,1} =\tau_{\phi(j)}b^{\phi(j)}_{j,1}. \]Thus the inverse second map carries \(a_\phi\iota_j\) to \(\kappa_k b^{\psi(k)}_{j,h}\). The third and fourth maps carry its inner coprojection to \(\alpha(h)\), by (3.3)-(3.4). The final map therefore yields
\[ \alpha(\phi(j)) \xrightarrow{\alpha(h)}\alpha(\psi(k)) \longrightarrow\operatorname{colim}_I\alpha, \]which is the original coprojection at \(\phi(j)\), by its cocone equation. This proves the required equality on every \(\iota_j\). The composite (3.5) is exactly the comparison for \(\phi\), so it is bijective for every \(\alpha\). The complete set-colimit converse, Theorem 3.1 proves that \(\phi\) is cofinal. This proves Theorem 2.1(1). \(\square\)
4. Descending filteredness through outgoing commas
Now let \(\beta:J\to\mathsf{Set}_{\mathcal V}\), and define
\[ T(\beta)(k)=\operatorname{colim}_{J_{\psi(k)}}\beta p_{\psi(k)}. \tag{4.1} \]Its action on an arrow of \(K\) is the postcomposition action from Section 2, followed by the induced colimit map. Its action on a transformation of \(\beta\) is the induced map on each local colimit. The complete Kan functor laws identify
\[ T=\psi^*\operatorname{Lan}_\phi: \operatorname{Fun}(J,\mathsf{Set}_{\mathcal V}) \longrightarrow\operatorname{Fun}(K,\mathsf{Set}_{\mathcal V}). \]Total Kan assembly and cofinality of \(\psi\) give a natural isomorphism of functors
\[ \operatorname{colim}_J \simeq \operatorname{colim}_K\,T. \tag{4.2} \]Its maps are the total-Kan comparison followed by the inverse cofinal comparison for \(\operatorname{Lan}_\phi\beta\). These two maps exist for every \(\beta\), and their naturality is part of the complete providers. No cofinality of \(F_i\) is used here.
Assume every \(J_{\psi(k)}\) is filtered. For a finite diagram \(\ell\mapsto\beta_\ell\) of \(J\)-diagrams, the component at \(k\) of the finite-limit comparison for \(T\) is
\[ \operatorname{colim}_{J_{\psi(k)}} \bigl(\lim_\ell\beta_\ell\bigr)p_{\psi(k)} \longrightarrow \lim_\ell \operatorname{colim}_{J_{\psi(k)}}\beta_\ell p_{\psi(k)}. \tag{4.3} \]Restriction computes the limit pointwise, and the local index is small and filtered in \(\mathcal V\). The complete filtered-set finite-limit theorem therefore makes (4.3) an isomorphism. It is the canonical comparison, so it is natural in \(k\) and in the finite diagram: this follows from its projection and coprojection equations. The componentwise natural-inverse criterion makes it an isomorphism of \(K\)-diagrams. Thus \(T\) preserves finite limits.
If \(K\) is filtered, \(\operatorname{colim}_K\) preserves finite limits as well. Their composite does so. To identify the comparison under (4.2), name that natural isomorphism \(\Theta\), put \(L=\lim_\ell\beta_\ell\), and denote the finite-limit comparisons for \(T\), \(\operatorname{colim}_J\), and \(\operatorname{colim}_K\) by \(\gamma_T,\Gamma_J,\Gamma_K\). Then
\[ \bigl(\lim_\ell\Theta_{\beta_\ell}\bigr)\Gamma_J = \Gamma_K\, \operatorname{colim}_K(\gamma_T)\, \Theta_L. \tag{4.4} \]Both sides map \(\operatorname{colim}_J L\) to \(\lim_\ell\operatorname{colim}_K T(\beta_\ell)\). Testing each limit projection gives the naturality square of \(\Theta\) for \(L\to\beta_\ell\), followed by the defining comparison equations. Limit uniqueness proves (4.4). Every factor on its right and the first factor on its left is an isomorphism; hence \(\Gamma_J\) is an isomorphism. This includes the empty finite shape and its terminal-object test. The converse direction of Filtered stages, Theorem 4.1 now proves that \(J\) is filtered. This proves Theorem 2.1(2). \(\square\)
For example, let \(I=\mathbb N\) with its usual order, and let \(\psi\) include the even numbers. It is cofinal because the even numbers above any \(n\) form a nonempty connected poset. The second test says that filteredness of all outgoing categories \((\phi\downarrow 2n)\) detects filteredness of \(J\). The first test instead asks for cofinality of their induced functors to \(\mathbb N/(2n)\).
5. The comparison with independent product stages
Assume that a category \(\mathcal A\) admits every small product and every small filtered colimit. Let \(S\) be small, let each \(I_s\) be small and filtered, and let
\[ A_s:I_s\longrightarrow\mathcal A. \]Put \(P=\prod_{s\in S}I_s\), with projections \(\pi_s\). The complete product-category and independent-index proofs in Section 1 make \(P\) small and filtered, using choice for the small family. If \(S\) is empty, \(P\) is the terminal category.
At \(k=(k_s)\in P\), choose the stage product
\[ X_A(k)=\prod_{s\in S} A_s(k_s), \]with projections \(p^k_s\). For \(a=(a_s):k\to k'\), define \(X_A(a)\) by
\[ p^{k'}_s X_A(a)=A_s(a_s)p^k_s. \tag{5.1} \]The product universal property supplies this unique map. Its projection equations prove identity and composition, so \(X_A:P\to\mathcal A\) is a functor.
Write \(L_s=\operatorname{colim}_{I_s}A_s\), with coprojections \(c_{s,i}:A_s(i)\to L_s\), and \(L=\prod_sL_s\), with projections \(p_s\). Define \(v_k:X_A(k)\to L\) by
\[ p_s v_k=c_{s,k_s}p^k_s. \]The cocone equation for each \(c_s\) and (5.1) give \(v_{k'}X_A(a)=v_k\). Thus there is a unique comparison
\[ u_A:\operatorname{colim}_{k\in P}X_A(k) \longrightarrow\prod_{s\in S}\operatorname{colim}_{i\in I_s}A_s(i), \qquad u_A j_k=v_k, \tag{5.2} \]where \(j_k\) are the source colimit's coprojections. Equivalently,
\[ p_su_Aj_k=c_{s,k_s}p^k_s. \tag{5.3} \]These equations define the map.
A family of transformations \(f_s:A_s\to A'_s\) induces a transformation \(X_f:X_A\to X_{A'}\), whose stage maps satisfy
\[ p'{}^k_s(X_f)_k=f_{s,k_s}p^k_s. \]Its naturality follows by substituting (5.1) and the naturality of \(f_s\); product uniqueness proves the equality. Identities and composition follow from the same projection equations. The family also induces the product of the maps \(\operatorname{colim}_{I_s}f_s\). The comparison square commutes:
\[ u_{A'}\,\operatorname{colim}_P X_f = \Bigl(\prod_s\operatorname{colim}_{I_s}f_s\Bigr)u_A. \tag{5.4} \]Indeed, after \(j_k\) and projection \(p'_s\), both maps give \(c'_{s,k_s}f_{s,k_s}p^k_s\). Product uniqueness and colimit uniqueness give (5.4). Thus \(u\) is a natural transformation between two functors on \(\prod_s\operatorname{Fun}(I_s,\mathcal A)\): one forms the stage-product diagram and then its \(P\)-colimit; the other takes coordinate colimits and then their product.
When \(S=\varnothing\), every stage product is terminal, \(P\) is terminal, and the source colimit is that same terminal object. The comparison is its identity under the specified identifications.
If every \(I_s=I\), a family \(A_s\) is equivalently a functor \(A:I\times S_{\mathrm{disc}}\to\mathcal A\). Send \((i,s)\) to \(A_s(i)\), and an arrow in the \(s\)-slice to its image under \(A_s\); these are all arrows of the product with the discrete category. This identification also carries families of transformations to transformations of the bifunctors. Formula (5.2) becomes
\[ \operatorname{colim}_{k\in I^S}\prod_{s\in S}A(k(s),s) \longrightarrow \prod_{s\in S}\operatorname{colim}_{i\in I}A(i,s). \tag{5.5} \]The stage \(k(s)\) is chosen independently in every coordinate. This notation alone does not assert that the comparison is invertible.
Definition 5.1. A category admitting all small products and small filtered colimits has the inductive-limit/product commutation property, abbreviated IPC, if (5.2) is an isomorphism for every small \(S\), every family of small filtered \(I_s\), and every family \(A_s:I_s\to\mathcal A\). The quantifier includes empty \(S\).
For sets, this property is already proved in full by Independent product indices, equation (2.1) and its proof, together with the filtered equality criterion. The proved bijection sends a product-stage class to its tuple of coordinate classes; (5.3) identifies it with \(u_A\). That proof supplies both existence of coordinate representatives and the coordinate equality witnesses, with small-family choice. Empty coordinate values cause no extra assumption; the empty family gives the singleton comparison described above. Naturality is (5.4).
6. IPC in a product of categories
Proposition 6.1. If \((\mathcal A_t)_{t\in T}\) is an ambient-set-indexed family of categories with IPC, then \(\mathcal B=\prod_{t\in T}\mathcal A_t\) has IPC, for the same small indexing universe.
Proof. Use the complete product-category construction from Section 1. For a small family of objects \(Y_s=(Y_{s,t})_t\), choose the coordinate products \(Z_t=\prod_sY_{s,t}\). The tuple \(Z=(Z_t)_t\), with its tuple projections, is their product in \(\mathcal B\): a family of tuple arrows from \(W=(W_t)\) gives, at each \(t\), a unique factor \(W_t\to Z_t\). These factors form the unique tuple arrow, because the Hom set in a product category is the product of the coordinate Hom sets. The same argument includes the terminal object when the family is empty.
For a small filtered diagram \(D:I\to\mathcal B\), choose \(Q_t=\operatorname{colim}_I D_t\). Its coordinate coprojections form tuple coprojections \(D(i)\to Q=(Q_t)_t\). Any compatible tuple cocone has a unique coordinate factor through each \(Q_t\), and these factors form the unique tuple factor through \(Q\). Thus filtered colimits are coordinatewise. Induced arrows respect identities and composition by their structural-map equations. These constructions use ambient choice for the ambient family of already existing coordinate universal objects.
For the independent family of Section 5, evaluate its comparison at a coordinate \(t\). The stage products, colimits and target products are the just-constructed coordinate ones. Equation (5.3) becomes precisely the equation for \(u_{A_{\bullet,t}}\) in \(\mathcal A_t\). Hence \(u_A\) is the tuple of these comparisons. Each has an inverse by IPC, and the tuple of inverses is an inverse in \(\mathcal B\). For \(T=\varnothing\), \(\mathcal B\) is the one-object, one-arrow category; every required universal factor and every comparison is its sole arrow. \(\square\)
In particular, \(\mathsf{Set}^T\) has IPC for every ambient set \(T\), including the empty one. Forming a product category here uses the small object products already present in each factor.
7. Transfer through a conservative functor
A functor is conservative if it reflects isomorphisms: whenever \(\lambda(f)\) is invertible, \(f\) is invertible.
Theorem 7.1. Suppose \(\mathcal A\) admits all small products and small filtered colimits. If
\[ \lambda:\mathcal A\longrightarrow\mathsf{Set}^T \]preserves these products and colimits and is conservative, then \(\mathcal A\) has IPC. Here \(T\) is an ambient set, possibly empty. No faithfulness or full faithfulness premise is needed.
Proof. Put \(\mathcal B=\mathsf{Set}^T\); Proposition 6.1 gives its IPC property. Fix a family \(A_s\) as in Section 5. Keep its notation \(X_A(k)\), \(L_s\), \(j_k\), and \(u_A\). The specified preservation comparisons are isomorphisms
\[ \begin{aligned} a_k:\lambda X_A(k)&\longrightarrow\prod_s\lambda A_s(k_s),\\ a_L:\lambda\Bigl(\prod_sL_s\Bigr)&\longrightarrow\prod_s\lambda L_s,\\ b_X:\operatorname{colim}_P\lambda X_A&\longrightarrow \lambda(\operatorname{colim}_P X_A),\\ b_s:\operatorname{colim}_{I_s}\lambda A_s&\longrightarrow\lambda L_s. \end{aligned} \tag{7.1} \]The \(a\)-maps have product coordinates \(\lambda(p^k_s)\) and \(\lambda(p_s)\). The \(b\)-maps have coprojection equations \(b_X\mu_k=\lambda(j_k)\) and \(b_s\mu_{s,i}=\lambda(c_{s,i})\). These are exactly the canonical comparisons of Universal cones, Section 6. The \(a_k\) form a natural isomorphism of \(P\)-diagrams by (5.1) and product uniqueness.
With \(u_{\lambda A}\) denoting the IPC comparison in \(\mathcal B\), we claim
\[ a_L\,\lambda(u_A)\,b_X = \Bigl(\prod_s b_s\Bigr) u_{\lambda A}\, \operatorname{colim}_P(a_k). \tag{7.2} \]Both sides have domain \(\operatorname{colim}_P\lambda X_A\) and codomain \(\prod_s\lambda L_s\). After the coprojection \(\mu_k\) and the \(s\)-projection, the left side is
\[ \lambda(p_s)\lambda(u_A)\lambda(j_k) =\lambda(c_{s,k_s}p^k_s), \]by (5.3). On the right, the structural equation for \(u_{\lambda A}\), followed by that for \(b_s\), gives the same map
\[ b_s\mu_{s,k_s}\lambda(p^k_s) =\lambda(c_{s,k_s})\lambda(p^k_s). \]The two universal properties prove (7.2).
The right side is invertible: every \(b_s\) is invertible, \(\mathcal B\) has IPC, and the colimit functor takes the natural isomorphism \((a_k)\) to an isomorphism. The maps \(a_L\) and \(b_X\) are also invertible. Therefore (7.2) makes \(\lambda(u_A)\) invertible, and conservativity makes \(u_A\) invertible. This argument remains valid for empty \(S\) or \(T\), using the relevant empty-product universal properties. All comparisons are natural in the family by their structural equations and (5.4). \(\square\)
8. Presheaves and arbitrary-ring modules
Corollary 8.1. For every small category \(C\), the presheaf category \(\widehat C=\operatorname{Fun}(C^{\mathrm{op}},\mathsf{Set})\) has IPC.
Proof. The complete pointwise construction in Universal cones, Theorem 4.1 supplies its small products and filtered colimits. The value functor
\[ \lambda:\widehat C\longrightarrow\mathsf{Set}^{\operatorname{Ob}C}, \qquad F\longmapsto(F(c))_{c\in C}, \]preserves them by that theorem. It is conservative by the complete componentwise natural-inverse proof in Natural transformations, Lemma 2.1. Theorem 7.1 applies.
More explicitly, for every \(c\), the component of the presheaf comparison is
\[ \operatorname{colim}_{k\in\prod_sI_s}\prod_s A_s(k_s)(c) \longrightarrow \prod_s\operatorname{colim}_{i\in I_s}A_s(i)(c). \tag{8.1} \]Pointwise construction and (5.3) identify it with the already proved set comparison. The pointwise functor laws supply its compatibility with every arrow of \(C^{\mathrm{op}}\), and the component inverses form its natural inverse. For empty \(C\), the presheaf category is terminal and the assertion still holds. No filteredness assumption on \(C\) is involved. \(\square\)
Corollary 8.2. For every associative unital ring \(R\), \(\operatorname{Mod}(R)\) has IPC.
Proof. The required small products and colimits, including the empty product, are proved in Module limits, Section 2 and Module kernels and colimits, Section 5. Their underlying-set product comparison is the coordinate Cartesian product identification. The empty product is the zero module, whose underlying set is a singleton.
The complete underlying-set theorem for filtered module colimits proves preservation of each small filtered colimit by the forgetful functor \(U:\operatorname{Mod}(R)\to\mathsf{Set}\), with its actual canonical comparison and naturality. A bijective linear map has a linear inverse, by the addition and scalar checks in Coimages, Section 5; thus \(U\) is conservative. Regard \(\mathsf{Set}\) as \(\mathsf{Set}^{\{*\}}\) and apply Theorem 7.1.
On a tuple \((x_s)\) at a stage \(k\), the underlying comparison sends its colimit class to the tuple of classes \(([k_s,x_s])_s\). The retained module/Set comparisons and (5.3) give this exact formula; equation (7.2) identifies it with the set IPC map. All scalar actions remain on the left, and no injectivity of transitions or finite-generation condition is used. The result is natural in all module diagrams. \(\square\)
For example, the conclusion applies to modules over the noncommutative ring \(\mathbb Z\langle x,y\rangle\). It also applies to presheaves on a category with infinitely many arrows. In each case the independent product category, rather than a shared-stage diagonal, is the index of the source comparison.
9. Four graded exercises with full solutions
Exercise 1 (introductory: distinguish the two commas). Let \(E=\{0,2,4,\ldots\}\) and let \(\phi:E\hookrightarrow\mathbb N\) be the inclusion of poset categories. Compute \((n\downarrow\phi)\) and \(J_n=(\phi\downarrow n)\). Prove that \(\phi\) is cofinal. Determine exactly when \(F_n:J_n\to\mathbb N/n\) is cofinal. Does cofinality of \(\phi\) force all the local \(F_n\) to be cofinal?
Solution. The incoming comma is the poset of even integers at least \(n\). It is nonempty; any two have their larger member as a common target, so it is connected. Hence \(\phi\) is cofinal. The outgoing comma is the finite nonempty poset of even integers at most \(n\), with its largest even integer as terminal object.
The slice \(\mathbb N/n\) is the interval \(\{0,\ldots,n\}\). For an object \(m\le n\), the incoming comma \((m\downarrow F_n)\) consists of even integers between \(m\) and \(n\). If \(n\) is even this is nonempty and connected for every \(m\), so \(F_n\) is cofinal. If \(n\) is odd, take \(m=n\); that comma is empty, so \(F_n\) is not cofinal. Thus the local test is sufficient, and this example shows that its hypothesis is not necessary. All \(J_n\) are filtered, despite the local cofinality failure at odd \(n\).
Exercise 2 (intermediate: why the diagonal loses tuples). For each \(s\in\mathbb N\), let \(A_s(n)=\{0,\ldots,n\}\), with inclusions over \(I=\mathbb N\). Describe the image of the diagonal-stage map
\[ \operatorname{colim}_{n\in\mathbb N}\prod_{s\in\mathbb N}A_s(n) \longrightarrow\mathbb N^{\mathbb N}. \]Show that the tuple \(s\mapsto s\) is represented when the source instead uses the independent index \(I^{\mathbb N}\). Explain what changes for finitely many coordinates.
Solution. The diagonal products are nested subsets of \(\mathbb N^{\mathbb N}\), so their colimit is their union. A sequence lies in this union exactly when all its values are bounded by one integer \(n\). The sequence \(s\mapsto s\) is unbounded and is absent.
For the independent index, take \(k(s)=s\). The tuple with coordinate \(s\) equal to \(s\) belongs to \(\prod_sA_s(k(s))\), so its class maps to the desired sequence. More generally, a sequence \(x\) is represented at \(k(s)=x(s)\); thus no uniform bound is needed. The existing independent-index set theorem supplies the bijectivity of the canonical comparison. For a nonempty finite coordinate set, the maximum of the required stages is a common diagonal stage, so every tuple is represented by the diagonal. For an empty coordinate set, both comparisons are the identity of a singleton.
Exercise 3 (advanced: recover the finite witnesses locally). Let \(\phi:J\to\mathbb N\) be a functor, where \(J\) is small. Suppose \((\phi\downarrow 2n)\) is filtered for every \(n\in\mathbb N\). Prove directly, using the three filteredness axioms, that \(J\) is filtered. Relate the proof to Theorem 2.1(2).
Solution. Nonemptiness of \((\phi\downarrow 0)\) supplies an object of \(J\). For \(j,j'\in J\), choose an even number \(2n\) at least both \(\phi(j)\) and \(\phi(j')\). The unique poset arrows into \(2n\) make \(j,j'\) objects of \((\phi\downarrow 2n)\). A common target there gives a common target in \(J\) by forgetting its triangle arrows.
For parallel arrows \(s,t:j\to j'\), choose \(2n\ge\phi(j')\). There are unique arrows \(\phi(j),\phi(j')\to2n\); their triangles commute because \(\mathbb N\) has at most one arrow with specified endpoints. Hence \(s,t\) are parallel arrows in the same outgoing comma. Its filteredness supplies an arrow \(j'\to j''\) equalizing them, which is also an equalizing arrow in \(J\). All three axioms hold.
The inclusion \(\psi:E\hookrightarrow\mathbb N\) of even integers is cofinal by Exercise 1, and \(E\) is filtered. Its outgoing tests are exactly the assumed categories. Thus this direct witness proof is a specialization of Theorem 2.1(2). It never assumes cofinality of their functors to \(\mathbb N/(2n)\).
Exercise 4 (challenge: two operators need no commutation relation). Fix a unital ring \(R\). Let \(\mathcal D\) have objects \((M,a,b)\), where \(M\) is a left \(R\)-module and \(a,b:M\to M\) are \(R\)-linear endomorphisms. A morphism \(f\) commutes with each specified endomorphism. Prove that \(\mathcal D\) has IPC, without imposing \(ab=ba\). Identify the underlying independent-stage comparison.
Solution. Let \(Q\) be the one-object category whose endomorphisms are all finite words in two letters, with concatenation as composition and the empty word as identity. Its set of words is small. A functor \(Q\to\operatorname{Mod}(R)\) is exactly an object \((M,a,b)\): the two letters specify the endomorphisms and functoriality specifies every word. Natural transformations are exactly the morphisms in \(\mathcal D\). No relation identifies the two words \(ab\) and \(ba\).
By the complete pointwise functor-category construction, \(\mathcal D\) has small products and filtered colimits computed on its module value. The product operators act coordinatewise; the colimit operators are induced by the compatible stage operators. The underlying-set functor \(\mathcal D\to\mathsf{Set}\) preserves these constructions by the module product and filtered-colimit providers of Corollary 8.2.
It is conservative. A morphism whose underlying function is bijective has a linear inverse by that same provider. Its component inverse is a natural transformation by the complete componentwise inverse criterion for functor categories, so it commutes with both endomorphisms. Theorem 7.1 proves IPC.
For diagrams \(D_s:I_s\to\mathcal D\), with underlying modules \(M_s(i)\), the underlying map is
\[ \operatorname{colim}_{k\in\prod_sI_s}\prod_s U M_s(k_s) \longrightarrow \prod_s\operatorname{colim}_{i\in I_s}U M_s(i), \qquad [k,(x_s)_s]\longmapsto([k_s,x_s])_s. \]Theorem 7.1 identifies this map with the image of the actual \(\mathcal D\)-comparison. Its construction already commutes with both operators. Conservativity supplies an inverse that commutes with them as well. Empty coordinate families are included.