Draft lesson.
Modules and tensor functors over small preadditive categories
Written by GPT-6.1 Sol (OpenAI), October 2026. Public domain (CC0).
A ring has one object when viewed as a preadditive category. Allowing many objects gives a module one abelian group at each object, with transition actions between them. The representable modules are a family of compact projective probes. Their presentations construct tensor products and recover every functor preserving colimits, even when no single compact probe generates the category.
Prerequisites: Pointwise abelian structure and natural splittings, Sections 1–2, Hom, tensor and the exactness of module limits, Sections 1 and 3–4, and the biproduct additivity criterion. Compare the distinct one-object module-stack reconstruction.
1. Right modules and their pointwise category
Fix a universe. All indexing sets, coefficient groups and categories called small are small in it. Let \(\mathcal C\) be a small preadditive category: its Hom sets are abelian groups and composition is bilinear. It need not have a zero object, biproducts or split idempotents. A right module is an additive functor \(M\colon\mathcal C^{\mathrm{op}}\to\mathsf{Ab}\); a left module is an additive functor \(L\colon\mathcal C\to\mathsf{Ab}\). Write \(\mathsf{Mod}\text{-}\mathcal C\) for the right-module category.
A module morphism has group-homomorphism components and satisfies the usual naturality equations. This requirement cannot be dropped merely because the source is preadditive. Exercise 1 gives a natural transformation of underlying sets whose components are not additive. The additive-input argument in the bilinear prerequisite uses biproduct objects that are not assumed here.
Proposition 1.1. The module category is locally small and abelian. Its small limits and colimits, and its exactness tests, are pointwise. Small filtered colimits are exact.
Proof. Natural transformations form a subgroup of the small product of the component Hom groups; composition is bilinear. Zero and finite biproducts are pointwise. The ordinary pointwise diagram theorem supplies limits and colimits as group-valued functors. They remain additive on \(\mathcal C\): for a limit, compare the actions of \(u+v\) and of \(u\) plus \(v\) after every limit projection. The component functors make them equal; joint monicity of the projections proves equality. For a colimit, compare after every coprojection, which jointly determines maps out of its value. This proves the corresponding equality. The action of a zero arrow is zero by the same tests. Thus these constructions lie in the full additive-functor category and retain their universal properties there.
In particular kernels, cokernels and the canonical coimage–image comparison are pointwise; the latter is invertible at every group and its inverses are natural. The pointwise abelian proof therefore applies inside this full subcategory. Monomorphisms and epimorphisms are exactly the componentwise injections and surjections, and exact rows are exactly the componentwise exact rows. Filtered colimits of groups are exact by the module prerequisite with ring \(\mathbb Z\), proving the last assertion. If \(\mathcal C\) is empty, its module category is the zero category and the same assertions hold. \(\square\)
2. Representable probes and actual presentations
Put \(h_c=\mathcal C(-,c)\). Additive Yoneda gives
\[ \operatorname{Hom}_{\mathsf{Mod}\text{-}\mathcal C}(h_c,M) \simeq M(c), \qquad \tau\longmapsto\tau_c(1_c). \tag{2.1} \]The inverse sends \(m\in M(c)\) to \(\tau_m\), where \((\tau_m)_x(f)=M(f)m\). This is a group homomorphism in \(f\) because \(M\) is additive, and naturality is the functor law. Evaluating returns \(m\); conversely naturality at \(f\colon x\to c\) forces this formula from \(1_c\). Both maps preserve addition and are natural in \(c,M\).
Each \(h_c\) is projective: a map from it lifts through an epimorphism by choosing a lift of its element in \(M(c)\), using (2.1). It is finitely presented in the filtered-colimit sense: evaluation commutes with filtered colimits and their underlying group elements have the common-stage representative and equality tests. Thus the canonical filtered Hom comparison is bijective.
For each module, form the small coproduct
\[ P_0(M)=\bigoplus_{(c,m),\ m\in M(c)}h_c \xrightarrow{\epsilon_M}M, \qquad \epsilon_M|_{h_c}=\tau_m. \tag{2.2} \]At an object \(x\), every element \(m\in M(x)\) is the image of \(1_x\) in its labelled summand. Hence this map is epic. Apply the same construction to \(K=\ker\epsilon_M\), and compose its epic map with the kernel inclusion. This gives the actual presentation
\[ P_1(M)\longrightarrow P_0(M)\longrightarrow M\longrightarrow0, \tag{2.3} \]with both \(P_i\) coproducts of representables. The cokernel is \(M\) with its indicated map, because the first image is precisely that kernel. No basis for the component groups or finite-generation assumption is used.
The family \((h_c)_c\) detects distinct module maps: if their values differ on \(m\in M(c)\), their composites with \(\tau_m\) differ at \(1_c\). It is a small generating family, and its coproduct is a generator. This coproduct is projective too: lift each map from a summand through an epimorphism and assemble the chosen lifts by the coproduct property. We use choice for this small family of nonempty lift sets. Together with Proposition 1.1 this makes the module category Grothendieck abelian. The individual representables are compact; their infinite coproduct need not be compact, as Exercise 3 proves.
3. The arrow-balanced tensor
For a right module \(M\) and a left module \(L\), define \(M\otimes_{\mathcal C}L\) as the cokernel of
\[ \begin{gathered} \bigoplus_{c,d}M(d)\otimes_{\mathbb Z}\mathcal C(c,d) \otimes_{\mathbb Z}L(c) \xrightarrow{\partial} \bigoplus_c M(c)\otimes_{\mathbb Z}L(c),\\ \partial(m\otimes u\otimes\ell) =M(u)m\otimes\ell-m\otimes L(u)\ell. \end{gathered} \tag{3.1} \]The two terms on the right lie in the \(c\)- and \(d\)-summands respectively. Additivity of \(M,L\) and bilinearity of composition make this trilinear in the input, so \(\partial\) is a defined homomorphism on the displayed tensor groups. All sums are small. The empty sum is zero.
Its universal property says that maps to a group \(A\) are families of bilinear pairings \(b_c\colon M(c)\times L(c)\to A\) satisfying
\[ b_c(M(u)m,\ell)=b_d(m,L(u)\ell) \qquad(u\colon c\to d). \tag{3.2} \]Indeed a map from the direct sum is such a family, and it factors through the cokernel exactly when it kills every generator in (3.1). Conversely the pairings define that unique factor. Natural maps in either module variable preserve these relations, hence define a bifunctor. Its identity and composition laws follow on the generators \([m\otimes\ell]\).
For fixed \(L,A\), the groups \(\operatorname{Hom}_{\mathbb Z}(L(c),A)\), with restriction by precomposition with \(L(u)\), form a right \(\mathcal C\)-module. Currying the pairings gives inverse natural maps
\[ \operatorname{Hom}_{\mathbb Z}(M\otimes_{\mathcal C}L,A) \simeq \operatorname{Hom}_{\mathsf{Mod}\text{-}\mathcal C} \bigl(M,\operatorname{Hom}_{\mathbb Z}(L,A)\bigr). \tag{3.3} \]Their formulas are \(m\mapsto(\ell\mapsto b_c(m,\ell))\) and evaluation. Equation (3.2) is exactly naturality in \(c\), and the bilinearity is exactly the required group linearity. They are inverse on every pair. The other currying makes \(\operatorname{Hom}_{\mathbb Z}(M,A)\) a left module and gives the analogous adjunction in the \(L\)-variable. Therefore tensor preserves all small colimits separately in both variables: maps from the tensor of a colimit correspond under these adjunctions to compatible maps from the tensors of its stages, with their specified coprojections. In particular it is right exact in each variable.
The actual co-Yoneda comparison is
\[ h_c\otimes_{\mathcal C}L\xrightarrow{\sim}L(c), \qquad[f\otimes\ell]\longmapsto L(f)\ell. \tag{3.4} \]Its inverse is \(\ell\mapsto[1_c\otimes\ell]\). The first formula respects (3.2) by the functor law. The balancing relation with \(m=1_c\) gives \([f\otimes\ell]=[1_c\otimes L(f)\ell]\), proving the other inverse identity. Both maps are natural in \(c,L\). Applying tensor to (2.3) thus computes every module tensor as the cokernel of a map between the corresponding coproducts of values \(L(c)\).
4. Bimodules and the explicit right adjoint
Let \(\mathcal D\) be another small preadditive category. A bimodule here means a functor
\[ B\colon\mathcal D^{\mathrm{op}}\times\mathcal C\longrightarrow\mathsf{Ab} \tag{4.1} \]additive separately in both variables. Write \(B_c=B(-,c)\) for its right \(\mathcal D\)-module. The \(\mathcal C\)-action is covariant and commutes with the \(\mathcal D\)-action. Define
\[ T_B(M)(d)=M\otimes_{\mathcal C}B(d,-), \qquad Q_B(N)(c)=\operatorname{Hom}_{\mathsf{Mod}\text{-}\mathcal D}(B_c,N). \tag{4.2} \]The \(\mathcal D\)-restrictions of \(T_B(M)\) come from those of \(B\); their additive functor laws follow from (3.1). The \(\mathcal C\)-restriction in \(Q_B\) precomposes with \(B(u)\colon B_c\to B_{c'}\) for \(u\colon c\to c'\). It is additive because \(B\) is additive. Postcomposition defines \(Q_B\) on maps in \(N\).
Theorem 4.1. There is a natural adjunction \(T_B\dashv Q_B\), without flatness or finite-generation assumptions on \(B\).
Proof. For a module map \(f:T_B(M)\to N\), define \(\eta_c(m):B_c\to N\) by
\[ \eta_c(m)_d(b)=f_d([m\otimes b]). \tag{4.3} \]Naturality of \(f\) in \(d\) makes this a \(\mathcal D\)-module map. It is additive in \(m\). The balance relation (3.2) says precisely that \(\eta_c(M(u)m)=\eta_{c'}(m)B(u)\), which is the right \(\mathcal C\)-module naturality of \(\eta:M\to Q_B(N)\).
Conversely such an \(\eta\) gives, at \(d\), the bilinear family \((m,b)\mapsto\eta_c(m)_d(b)\). Its \(\mathcal C\)-naturality gives (3.2), so it induces \(f_d\) through (3.1). The \(\mathcal D\)-naturality of each \(\eta_c(m)\) makes the \(f_d\) a module map. These constructions are inverse on each pure tensor and each value of every \(\eta_c(m)\), so are inverse on the full maps. Precomposition in \(M\) and postcomposition in \(N\) commute with their evaluation formulas. This proves the natural adjunction, including its actual inverse maps. \(\square\)
Consequently \(T_B\) preserves all small colimits, with their actual cocones, and is additive and right exact. Co-Yoneda supplies natural identifications \(T_B(h_c)\simeq B_c\) as \(\mathcal D\)-modules. A bimodule map \(B\to B'\) induces the transformation \(T_B\to T_{B'}\) on all pure tensors.
5. Every colimit-preserving functor comes from these values
We consider ordinary functors \(T:\mathsf{Mod}\text{-}\mathcal C\to\mathsf{Mod}\text{-}\mathcal D\) preserving all small colimits. Their functor category is housed in an ambient universe large enough for the module categories.
Such a \(T\) is additive. It takes the initial zero object to zero, so preserves zero maps factoring through it. Its canonical coproduct comparisons preserve the injections. The projections of a biproduct are characterized by their composites with the injections, using identities and zero maps; hence \(T\) preserves them too. Diagonals and codiagonals are characterized by these projections and injections. Applying \(T\) to \(f+g=\nabla(f\oplus g)\Delta\) now gives \(T(f+g)=T(f)+T(g)\). This is the explicit binary-coproduct additivity argument from the prerequisites.
Define
\[ B_T(d,c)=T(h_c)(d). \tag{5.1} \]For \(u:c\to c'\), postcomposition gives \(h(u):h_c\to h_{c'}\), so \(T(h(u))\) gives the \(\mathcal C\)-action. The \(\mathcal D\)-action is the module restriction of \(T(h_c)\). These actions commute by naturality of \(T(h(u))\). Both are additive, making (5.1) a bimodule.
Theorem 5.1. There is a canonical natural isomorphism \(T_{B_T}\simeq T\). Evaluation on representables and tensor therefore give an equivalence between bimodules (4.1) and all colimit-preserving module functors, including all their natural transformations.
Proof of the object comparison. Define the comparison at each \(d\) by
\[ \alpha_{M,d}([m\otimes b]) =T(\tau_m)_d(b), \qquad m\in M(c),\ b\in T(h_c)(d). \tag{5.2} \]Additive Yoneda makes \(m\mapsto\tau_m\) additive, and \(T\) is additive, so this is bilinear. For \(u:c\to c'\) and \(m\in M(c')\), the identity \(\tau_{M(u)m}=\tau_m h(u)\) proves its balancing equation. Each \(T(\tau_m)\) is a \(\mathcal D\)-module map, proving naturality in \(d\). For \(s:M\to M'\), the identity \(s\tau_m=\tau_{s_c(m)}\) proves naturality in \(M\). Thus (5.2) is an actual transformation \(\alpha:T_{B_T}\to T\).
On \(h_c\), co-Yoneda identifies \(\alpha_{h_c}\) with the identity of \(T(h_c)\), since \(\tau_{1_c}=1_{h_c}\). It is invertible. On a coproduct of representables it is the coproduct of these comparisons, because both functors preserve coproducts and the transformation commutes with their inclusions. It is therefore invertible there too.
Apply both functors to (2.3). Both preserve its cokernel. Naturality gives a commuting square on its two coproduct terms with invertible vertical maps. Compose the inverse comparison on the second term with the cokernel map on its target side. The commuting square makes this composite annihilate the first image on its source side, so the cokernel property gives a map inverse to \(\alpha_M\). One composite is the identity after the source cokernel map, and the other is the identity after the target cokernel map, by the two inverse identities on the second term. Both cokernel maps are epic, so cancellation proves the two inverse identities on their targets. Consequently \(\alpha_M\) is invertible for every \(M\). This proves the object assertion on every map, independently of a chosen presentation.
Proof on all transformations. For \(\gamma:T_B\to T_{B'}\), transport \(\gamma_{h_c}\) through co-Yoneda to obtain \(\beta_c:B_c\to B'_c\). These are \(\mathcal D\)-module maps. Naturality at each \(h(u)\) makes them commute with the \(\mathcal C\)-action, so they form a bimodule map \(\beta\). Conversely a bimodule map gives \(m\otimes b\mapsto m\otimes\beta(b)\), respecting every relation and every module restriction.
These operations are inverse. On representables the induced transformation recovers \(\beta_c\). On coproducts, naturality at all inclusions equates it with \(\gamma\), because the source tensor functor preserves those coproducts. On a general \(M\), naturality at the epic \(P_0(M)\to M\) equates the maps after its image under \(T_B\), which remains epic by right exactness. Cancellation therefore equates them on \(M\). Thus evaluation and tensor give inverse maps on all transformation sets, respecting identities and composition by their formulas. These sets are small: bimodule maps form a subset of the small product of their component group Hom sets. \(\square\)
In particular a colimit-preserving functor has the explicit right adjoint \(Q_{B_T}\). Conversely a functor with a right adjoint preserves small colimits: maps from its image cocone to a target transpose to maps from the original cocone to the adjoint target, giving its unique factor. Hence having a right adjoint and preserving all small colimits are equivalent for these module functors. If \(\mathcal C\) or \(\mathcal D\) is empty, the relevant module category is zero; the sums, tensors and Hom groups above give the corresponding zero functor and adjunction. The reconstruction still holds.
6. Four graded exercises with complete solutions
Exercise 1 — basic. Regard a unital ring \(R\) as a one-object preadditive category, with composition its multiplication. Recover ordinary right modules, left modules and their balanced tensor from the definitions. For \(R=\mathbb F_2\), show why underlying-set transformations cannot replace module morphisms when no biproduct objects are present.
Solution. If the unique object is \(*\), write \(m r=M(r)m\). Contravariance gives \((m r)s=M(s)M(r)m=M(rs)m=m(rs)\); additivity and the identity give the remaining right-module axioms. A covariant \(L\) gives the left action \(r\ell=L(r)\ell\). Equation (3.2) is exactly \(b(mr,\ell)=b(m,r\ell)\). The group generators and quotient in (3.1) therefore have precisely the ordinary tensor universal property, giving the actual natural identification with \(M\otimes_R L\).
For \(M=\mathbb F_2^2\) and \(N=\mathbb F_2\), define a set map \(f\) by \(f(0)=0\) and \(f(v)=1\) for every nonzero vector. It commutes with both scalar actions, zero and one, so is natural for the underlying one-object category. But \(f(e_1)+f(e_2)=0\), whereas \(f(e_1+e_2)=1\). It is not a group homomorphism and is not a module morphism. The source category here has no object representing the biproduct of two copies of \(*\), so the automatic-linearity argument using that object cannot be applied.
Exercise 2 — intermediate. Let \(\mathcal C\) be the \(\mathbb Z\)-linear path category with objects \(0,1\) and one arrow \(u:0\to1\): its endomorphism groups are \(\mathbb Z\), \(\mathcal C(0,1)=\mathbb Z u\), and \(\mathcal C(1,0)=0\). Write a right module as \(M_1\xrightarrow f M_0\) and a left module as \(L_0\xrightarrow g L_1\). Compute their tensor. Then take all four groups equal to \(\mathbb Z\), with \(f=2\) and \(g=3\).
Solution. The scalar endomorphism relations already hold in each tensor over \(\mathbb Z\). All cross-arrow relations are multiples of the relation for \(u\), so (3.1) reduces to the cokernel of
\[ M_1\otimes L_0\longrightarrow (M_0\otimes L_0)\oplus(M_1\otimes L_1), \quad m\otimes\ell\longmapsto (f(m)\otimes\ell,-m\otimes g(\ell)). \tag{6.1} \]For the specified integers, this is \(\mathbb Z\to\mathbb Z^2\), \(t\mapsto(2t,-3t)\). The map \((a,b)\mapsto3a+2b\) kills its image and is surjective because it takes \((1,-1)\) to one. If \(3a+2b=0\), then \(a=2t\) and \(b=-3t\) for some integer \(t\), proving that its kernel is exactly that image. Thus the tensor is \(\mathbb Z\), with inverse on the quotient sending \(n\) to \([(n,-n)]\). The cross-object balancing has removed one relation; the tensor is not the unreduced direct sum of its objectwise tensors.
Exercise 3 — advanced. Take the small preadditive category with objects \(\mathbb N\), endomorphism ring \(\mathbb Z\) at each object, and zero cross-object Hom groups. Describe its module category and the sum of its representables. Prove that the latter is a projective generator but is not compact. Show that this category is not equivalent to the module category of any unital ring.
Solution. Additivity forces every cross-object zero arrow to act by zero. Modules are therefore arbitrary families of abelian groups, and module morphisms are arbitrary families of group maps. The category is \(\prod_{n\in\mathbb N}\mathsf{Ab}\), with pointwise limits and colimits. The representable \(h_n\) is \(\mathbb Z\) in coordinate \(n\) and zero elsewhere. Their coproduct \(G\) has \(\mathbb Z\) in every coordinate. The presentation and lifting arguments in Section 2 make it a projective generator.
For finite \(F\subset\mathbb N\), let \(G_F\) retain only those coordinates. Their filtered colimit is \(G\). If \(G\) were compact, its identity would factor through some \(G_F\to G\). At any \(n\notin F\), the factor composite is zero, while the identity on \(\mathbb Z\) is not. This is impossible. More generally, any compact family \(Q\) is a filtered colimit of its finite-coordinate truncations. Factoring its identity through one of them shows that \(Q\) has finite support.
A generator must have nonzero value in every coordinate: if its value at \(n\) is zero, all maps from it to \(h_n\) are zero, so they cannot distinguish \(1_{h_n}\) from the zero map. Thus this category has no compact generator. For a nonzero unital ring, its regular right module is a compact projective generator: it represents evaluation at one, and each module is a quotient of a sum of its copies. An equivalence preserves Hom sets, colimits and the property of detecting maps, and hence preserves compact generators. Such an equivalence is impossible. The zero ring has only the zero module and cannot give this nonzero category either.
Exercise 4 — synthesis. For the path category of Exercise 2, let \(T(M)=\operatorname{coker}(M_1\xrightarrow f M_0)\), valued in abelian groups. Find its left coefficient module \(L_T(c)=T(h_c)\), recover its tensor formula and right adjoint, and determine every natural endomorphism of \(T\).
Solution. The representables are \(h_0=(0\to\mathbb Z)\) and \(h_1=(\mathbb Z\xrightarrow1\mathbb Z)\), in the indicated \(M_1\to M_0\) convention. Hence \(L_T(0)=\mathbb Z\), \(L_T(1)=0\), and its arrow is zero. Substituting into (6.1) gives exactly \(M_0/\operatorname{im}f\). The comparison sends \(m\otimes n\) to the class of \(nm\), so it is the actual tensor identification.
Its right adjoint sends a group \(A\) to the right module \(Q(A)=(0\to A)\). A module map \(M\to Q(A)\) is a map \(M_0\to A\) annihilating \(f\), uniquely equivalent to a map \(\operatorname{coker}f\to A\). These factors are inverse and natural, proving the adjunction and, through its colimit universal property, proving that \(T\) preserves all small colimits. It is therefore within Theorem 5.1. A coefficient-module endomorphism of \(\mathbb Z\to0\) is multiplication by one integer on \(\mathbb Z\), with the unique zero component. The theorem on all transformations shows that these are precisely the natural endomorphisms of \(T\), acting by multiplication by that integer on every cokernel. Their composition is integer multiplication, so the natural endomorphism ring is \(\mathbb Z\).
References
- Carlos Parra, Manuel Saorín and Simone Virili, Torsion pairs in categories of modules over a preadditive category, Section 1.2, for the many-object module framework and representable projective probes. Sections 1–5 above give the complete pointwise, presentation, tensor and reconstruction arguments used here.
- The Stacks Project, Definition 12.3.1, for the preadditive and additive-functor conventions.
- The linked course prerequisites supply the pointwise universal constructions, balanced tensor and filtered exactness of groups, and the related one-object stack reconstruction. No sheaf descent or stack adjunction is assumed for the module functors in this lesson.
Original exposition and worked solutions in this lesson: CC0-1.0.