Locally nilpotent operators and coinduced duals

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); referenced Stacks proofs retain GFDL-1.2.

An operator can kill every vector eventually without one power killing the entire space. Modules with this local nilpotence condition form an abelian category with all small limits and colimits. Their colimits are ordinary module colimits. Their infinite products generally require a correction: keep only tuples killed by one common power. A dual construction explains why this category nevertheless has an explicit injective cogenerator.

We first construct coinduced duals over an arbitrary commutative ground ring and a possibly noncommutative algebra. We then specialize to a polynomial operator over a field. Use Ring actions and tensor–Hom in abelian categories, Sections 3, 5 and 6 for the module-category operations and internal Hom with its second action. Use Full subcategories and exact closure, Theorem 2.2 for the abelian closure criterion, and Trace coreflections, Theorem 1.1 for the coreflection constructed from a generating object. Basic references are [Stacks, Character duals], [Stacks, Filtered exactness] and [Schapira, Homological Algebra]. All modules and diagrams are small in a fixed universe. We use choice for vector-space bases and for families of maps.

1. Evaluation represents a linear dual

Let \(k\) be a commutative unital ring, \(R\) a unital \(k\)-algebra and \(V\) a \(k\)-module. The image of \(k\) is central in \(R\), but \(R\) itself need not be commutative. Put

\[ \begin{gathered} D_R(V)=\operatorname{Hom}_k(R,V),\\ (a\xi)(r)=\xi(ra). \end{gathered} \tag{1.1} \]

The left \(R\)-module structure in (1.1) is the commuting-second-action construction of Ring actions, Section 6, applied to the left \(k\), right \(R\) bimodule \(R\). Its internal Hom construction in Section 5 gives the underlying ordinary \(k\)-linear Hom module. We retain those complete constructions and their functor laws.

Proposition 1.1. Evaluation at \(1\) gives a natural bijection

\[ \begin{gathered} \operatorname{Hom}_R(M,D_R(V))\\ \simeq\operatorname{Hom}_k(M,V) \end{gathered} \tag{1.2} \]

for every left \(R\)-module \(M\). In particular \(D_R(k)\) represents the contravariant functor \(M\mapsto\operatorname{Hom}_k(M,k)\).

Proof. Send \(h\) to \(\lambda_h(m)=h(m)(1)\). For a \(k\)-linear map \(\lambda:M\to V\), define

\[ h_\lambda(m)(r)=\lambda(rm). \tag{1.3} \]

For fixed \(m\), this is \(k\)-linear in \(r\); dependence on \(m\) is also \(k\)-linear. Furthermore \(h_\lambda(am)(r)=\lambda(ram)=(a h_\lambda(m))(r)\), so \(h_\lambda\) is \(R\)-linear. Evaluation gives \(\lambda_{h_\lambda}=\lambda\). In the other direction,

\[ \begin{gathered} h_{\lambda_h}(m)(r)=h(rm)(1)\\ =(r h(m))(1)=h(m)(r). \end{gathered} \tag{1.4} \]

Thus the maps are inverse. Precomposition by an \(R\)-linear map in \(M\), and postcomposition by a \(k\)-linear map in \(V\), commute with evaluation and (1.3). This proves naturality. \(\square\)

The multiplication order in (1.1) is essential: the action is precomposition with right multiplication. The character-dual instance over \(\mathbb Z\), with target \(\mathbb Q/\mathbb Z\), is the complete ordinary coinduction argument in [Stacks, Character duals] and Injective modules and bounded below derived functors, Lemma 2.2. Proposition 1.1 supplies the changed ground ring and target, including the inverse verifications, without replacing that ordinary module foundation.

When \(k\) is a field, \(D_R(V)\) is injective for every vector space \(V\). Indeed, a linear map from a subspace extends to the whole space: extend a basis of the subspace to a basis of the whole space, and assign zero on the added basis vectors. Given an \(R\)-linear map \(U\to D_R(V)\) and a monomorphism \(U\hookrightarrow M\), use (1.2) to extend its corresponding \(k\)-linear map, then use (1.3) to return to an \(R\)-linear extension. This is the injective extension property. Representability in Proposition 1.1 did not require a field; this extension argument does.

2. The subcategory killed by powers of one operator

Now let \(k\) be a field and \(R=k[t]\). A left \(R\)-module is a vector space with the operator given by multiplication by \(t\). Write \(\mathsf T\) for the full subcategory of modules \(M\) such that every \(m\in M\) is killed by some \(t^n\). We may always take \(n\ge1\). Such modules are locally nilpotent, or \(t\)-power torsion.

Submodules inherit the condition, and quotient modules inherit it by lifting each element. The zero module and finite direct sums belong to \(\mathsf T\): for a finite tuple take the largest of its annihilation exponents. Thus \(\mathsf T\) is additive and closed under ordinary kernels and cokernels. The complete full-subcategory criterion in Full subcategories, Theorem 2.2 shows that \(\mathsf T\) is abelian and its inclusion into \(R\)-modules is exact. Exact sequences in \(\mathsf T\) are precisely the ordinary exact sequences whose terms belong to it.

For an arbitrary \(R\)-module \(N\), put

\[ \Gamma_tN=\bigcup_{n\ge1}\ker(t^n:N\to N). \tag{2.1} \]

This is a submodule: the sum of elements with exponents \(n,m\) is killed by \(t^{\max(n,m)}\), and every polynomial commutes with \(t\). Module maps preserve this submodule.

Let \(A_n=R/(t^n)\) and \(G=\bigoplus_{n\ge1}A_n\). Finite support shows that \(G\in\mathsf T\). Its trace in \(N\) is exactly \(\Gamma_tN\). Images of \(G\) are locally nilpotent, so their finite sums lie in \(\Gamma_tN\). Conversely, if \(t^nm=0\), the map \(A_n\to N\) sending \(1\) to \(m\), extended by zero on all other summands of \(G\), places \(m\) in that trace.

Moreover, \(M\in\mathsf T\) exactly when it is a quotient of a coproduct of copies of \(G\). One direction follows from finite support and quotient closure. For the other, for each \(m\in M\) choose a killing exponent and the map from \(G\) just constructed. The map from the coproduct indexed by the set of elements of \(M\) is surjective, since its images contain every \(m\).

Therefore Trace coreflections, Theorem 1.1 applies with this \(G\). It supplies the right adjoint \(\Gamma_t\) to inclusion \(i:\mathsf T\hookrightarrow R\text{-}\mathsf{Mod}\), with the actual submodule inclusion as counit:

\[ \begin{gathered} \operatorname{Hom}_{\mathsf T}(M,\Gamma_tN)\\ \simeq\operatorname{Hom}_R(iM,N). \end{gathered} \tag{2.2} \]

The generator, the trace and the locally nilpotent submodule agree by the explicit comparisons above. No finite-generation assumption on \(M\) or \(N\) is used.

3. Colimits stay ordinary; products may change

Theorem 3.1. The category \(\mathsf T\) has all small colimits and limits. Inclusion creates all small colimits. For a small diagram \(M_j\) in \(\mathsf T\), its limit is

\[ \lim_{\mathsf T}M_j =\Gamma_t\!\left(\lim_{R\text{-}\mathsf{Mod}}M_j\right). \tag{3.1} \]

Proof. A small direct sum of locally nilpotent modules is locally nilpotent, since every element has finite support and hence a largest killing exponent among its nonzero coordinates. Ordinary module colimits are quotients of direct sums by the submodule expressing the diagram's relations. Quotient closure therefore puts every such colimit in \(\mathsf T\). Fullness makes its ordinary universal property the required internal property, so inclusion creates it. The empty colimit is the zero module.

For the limit, let \(L\) be the ordinary module limit. Its projections restrict to maps from \(\Gamma_tL\) to the \(M_j\). A cone from any \(M\in\mathsf T\) corresponds uniquely to an ordinary map \(iM\to L\). By (2.2), that map factors uniquely through \(\Gamma_tL\). These factorizations give exactly the cone property in \(\mathsf T\), proving (3.1) with its projections. For an empty diagram, the ordinary limit is zero and (3.1) again gives zero. \(\square\)

In particular an internal product consists of the tuples in the ordinary product that are killed by one common power of \(t\). The power may depend on the tuple, but must work for every coordinate of that tuple. This is stricter than merely being able to choose one power in each coordinate.

For example take \(M_n=R/(t^n)\), \(n\ge1\). The ordinary product contains \((1\bmod t^n)_n\). No \(t^N\) kills it: its coordinate for any \(n>N\) is still the nonzero class of \(t^N\). Thus the ordinary product is not locally nilpotent, and the comparison from the internal product to the ordinary product is a proper submodule inclusion. Inclusion does not preserve all small limits. Finite products and equalizers are ordinary, by the finite-sum and kernel closure proved in Section 2.

4. A small generator and exact filtered colimits

A Grothendieck abelian category has all small colimits, exact small filtered colimits and a small generating object. The object \(G\) constructed in Section 2 generates \(\mathsf T\), by its explicit coproduct surjections.

It also detects isomorphisms. Suppose \(f:M\to N\) induces a bijection on \(\operatorname{Hom}(G,-)\). If \(m\in\ker f\), choose a map \(G\to M\) that sends the generator of one truncated-polynomial summand to \(m\), with all other summands zero. Its composite with \(f\) is zero, so injectivity on Hom makes the original map zero; hence \(m=0\). Thus \(f\) is injective. For \(n\in N\), the analogous map \(G\to N\) lifts to \(G\to M\) by surjectivity on Hom. Evaluating its chosen generator puts \(n\) in the image of \(f\). Thus \(f\) is bijective, and its inverse is a module map. This proves detection as well as generation.

For exactness, retain the full open proof Stacks, Lemma 10.8.8: ordinary directed colimits of modules preserve homology, hence short exact sequences. The full first-part construction of Stacks, Lemma 4.21.5 replaces an arbitrary small filtered category by a small cofinal directed set and preserves its colimit. These exact interfaces also appear in Ideal-generated modules, Proposition 3.1. Their proofs retain GFDL-1.2.

An exact diagram in \(\mathsf T\) is exact in ordinary modules. Its filtered colimit is therefore exact there by these interfaces. Theorem 3.1 computes that same colimit in \(\mathsf T\), and the exact full inclusion reflects its exactness. Consequently filtered colimits in \(\mathsf T\) are exact. Together with Theorem 3.1 and the generator \(G\), this proves that \(\mathsf T\) is a Grothendieck category. A single bound on the nilpotence exponents across a diagram is not needed.

5. Laurent principal parts are an injective cogenerator

Let

\[ \begin{gathered} E=k[t,t^{-1}]/k[t],\\ e_j=t^{-j}\bmod k[t]\quad(j\ge1). \end{gathered} \tag{5.1} \]

Every class has a unique finite expression in the \(e_j\). Their actions are \(te_1=0\) and \(te_{j+1}=e_j\). Thus \(E\in\mathsf T\).

Lemma 5.1. The assignment that sends \(e_j\) to the functional taking the coefficient of \(t^{j-1}\) is an \(R\)-linear isomorphism

\[ E\simeq\Gamma_tD_R(k). \tag{5.2} \]

Proof. A functional \(\xi:R\to k\) is specified by its values on the monomials \(t^a\), \(a\ge0\). By (1.1), \(t^n\xi=0\) means that \(\xi(t^nr)=0\) for all polynomials \(r\), which is equivalent to \(\xi(t^a)=0\) for all \(a\ge n\). Thus \(\Gamma_tD_R(k)\) consists exactly of the finite linear combinations of monomial-coefficient functionals. Multiplication by \(t\) moves the functional for degree \(j\) to that for degree \(j-1\), and kills the degree-zero functional. These are precisely the displayed actions on the basis \(e_j\). The assignment is therefore a bijective \(R\)-linear map. \(\square\)

Combining (1.2), (2.2) and (5.2), for \(M\in\mathsf T\) we have a natural bijection

\[ \operatorname{Hom}_{\mathsf T}(M,E) \simeq\operatorname{Hom}_k(M,k). \tag{5.3} \]

Explicitly, a functional \(\lambda:M\to k\) corresponds to

\[ f_\lambda(m)=\sum_{a\ge0}\lambda(t^am)e_{a+1}. \tag{5.4} \]

For each \(m\), this sum is finite because \(m\) is killed by some power of \(t\). The inverse takes the coefficient of \(e_1\). Formula (5.4) is the principal-parts form of the already proved evaluation adjunction, rather than an infinite series in the ordinary module \(E\).

Theorem 5.2. The object \(E\) is an injective cogenerator of \(\mathsf T\).

Proof. The field extension argument in Section 1 makes \(D_R(k)\) injective in ordinary \(R\)-modules. Given a map \(U\to\Gamma_tD_R(k)\) and a monomorphism \(U\hookrightarrow M\) in \(\mathsf T\), compose into \(D_R(k)\) and extend there. Since \(M\) is locally nilpotent, (2.2) factors the extension uniquely back through \(\Gamma_tD_R(k)\). It still agrees with the original map, by monicity of the submodule inclusion. Lemma 5.1 therefore makes \(E\) injective in \(\mathsf T\).

For any nonzero vector \(m\in M\), choose a linear functional \(\lambda\) with \(\lambda(m)\ne0\), by extending \(m\) to a basis. The coefficient of \(e_1\) in (5.4) is nonzero, so a map to \(E\) detects \(m\). In particular two different module arrows \(u,v:M\to N\) are separated by a map \(N\to E\): choose \(m\) with \((u-v)(m)\ne0\) and such a detecting functional on \(N\). Thus \(\operatorname{Hom}(-,E)\) is faithful.

It is also conservative. If \(f:M\to N\) has nonzero kernel, a nonzero map \(\ker f\to E\) extends to \(M\to E\), by injectivity, and cannot factor through \(f\); so precomposition with \(f\) is not surjective. If \(f\) has nonzero cokernel, a nonzero map from that cokernel to \(E\) produces a nonzero map \(N\to E\) whose composite with \(f\) is zero; precomposition is not injective. Hence a bijection on these Hom sets forces both kernel and cokernel to vanish, making \(f\) invertible. This proves the injective cogenerator assertion. \(\square\)

For completeness the evaluation embedding uses the internal product of copies of \(E\). Every element \(m\) has a killing exponent that also kills all its images under maps to \(E\). Its evaluation tuple therefore lies in \(\Gamma_t\prod_h E\), the product in \(\mathsf T\). The separation just proved makes the resulting map a monomorphism. No claim that the whole ordinary product is locally nilpotent is needed.

6. Four graded exercises with full solutions

Exercise 1 (introductory: local and uniform bounds). Show that locally nilpotent modules are closed under extensions. For each \(n\ge1\), show that the subcategory of modules killed by the fixed power \(t^n\) is not extension closed, by constructing a short exact sequence whose ends lie in it and whose middle does not. Also give a locally nilpotent module with no uniform killing power.

Solution. In an exact sequence \(0\to A\to B\to C\to0\) with \(A,C\) locally nilpotent, take \(b\in B\). Its image in \(C\) is killed by some \(t^r\), so \(t^rb\) comes from an element of \(A\). Some \(t^s\) kills that element; therefore \(t^{r+s}b=0\). This proves local nilpotence of \(B\).

For a fixed \(n\), use

\[ \begin{gathered} 0\longrightarrow R/(t^n) \xrightarrow{\ t^n\ }R/(t^{2n})\\ \longrightarrow R/(t^n)\longrightarrow0. \end{gathered} \tag{6.1} \]

The first map sends the class of \(a\) to that of \(t^na\); it is well-defined and injective, since \(t^na\in(t^{2n})\) exactly when \(a\in(t^n)\). The second is the quotient map, and its kernel is exactly that first image. Both ends are killed by \(t^n\). The middle is not, since the class of \(t^n\) is nonzero there. Finally \(\bigoplus_{n\ge1}R/(t^n)\) is locally nilpotent by finite support, but no fixed \(t^N\) kills its summand with index \(N+1\).

Exercise 2 (intermediate: endomorphisms of principal parts). Define \(k[[t]]\) to be the ring of sequences \((a_0,a_1,\ldots)\), with coefficientwise addition and Cauchy multiplication. Prove that

\[ \operatorname{End}_R(E)\simeq k[[t]] \tag{6.2} \]

as \(k\)-algebras. Explain how an infinite formal series acts on a module whose elements are finite principal parts.

Solution. Put \(E_n=\ker t^n\). It has basis \(e_1,\ldots,e_n\) and is cyclic with generator \(e_n\). An endomorphism \(f\) preserves every \(E_n\), so uniquely

\[ f(e_n)=\sum_{j=0}^{n-1}a_{n,j}t^je_n. \tag{6.3} \]

The relation \(te_{n+1}=e_n\) implies \(a_{n+1,j}=a_{n,j}\) for \(j<n\): apply \(f\), multiply the expression for \(f(e_{n+1})\) by \(t\), and compare the basis of \(E_n\). Hence there are unique coefficients \(a_j\) independent of \(n>j\).

Conversely, for a sequence \((a_j)\), set \(f(m)=\sum_{j\ge0}a_jt^jm\). This is finite for every \(m\in E\). On each \(E_n\) it is an ordinary polynomial in the operator \(t\), and these maps agree on overlapping stages. Thus it is an \(R\)-linear endomorphism, with (6.3) as its values. The two constructions are inverse. Addition is coefficientwise. On \(E_n\), composing two such endomorphisms multiplies their polynomials modulo \(t^n\); the resulting coefficient of \(t^j\) is \(\sum_{r+s=j}a_rb_s\). This proves the Cauchy multiplication law and the algebra isomorphism. The infinite sequence specifies compatible finite polynomial actions; it does not create an infinite sum of vectors in \(E\).

Exercise 3 (advanced: vector-valued cofree objects). For a vector space \(V\), let \(C(V)=\bigoplus_{j\ge1}V\), with its \(j\)-th coordinate written \(e_jv\), and let \(t(e_1v)=0\), \(t(e_{j+1}v)=e_jv\). Prove that \(C(V)\) is injective in \(\mathsf T\) and that maps \(M\to C(V)\) correspond naturally to all \(k\)-linear maps \(M\to V\). Deduce that every coproduct of copies of \(E\) is injective in \(\mathsf T\).

Solution. For \(\lambda:M\to V\), put \(f_\lambda(m)=\sum_{a\ge0}e_{a+1}\lambda(t^am)\). Each sum is finite, and a common killing exponent for any two elements verifies additivity of the formula. Scalar linearity is direct. Shifting the coordinates gives

\[ \begin{gathered} tf_\lambda(m)=\sum_{a\ge1}e_a\lambda(t^am)\\ =f_\lambda(tm). \end{gathered} \tag{6.4} \]

Thus the map is \(R\)-linear. Conversely, if \(f:M\to C(V)\) is \(R\)-linear, let \(\lambda(m)\) be its first coordinate. The first coordinate of \(f(t^am)=t^af(m)\) is the \((a+1)\)-st coordinate of \(f(m)\), so all its coordinates are exactly those of \(f_\lambda\). Taking the first coordinate of \(f_\lambda\) recovers \(\lambda\). These operations commute with maps in \(M\) and in \(V\), proving naturality.

For a monomorphism \(U\hookrightarrow M\) in \(\mathsf T\), extend the corresponding linear map \(U\to V\) to \(M\to V\) by a basis extension, then apply the formula. The resulting \(R\)-linear map extends the original, proving injectivity. If \(V=k^{(B)}\), rearranging finite supports identifies \(C(V)\) with \(E^{(B)}\): both consist of families of coefficients indexed by \((j,b)\) with finite support, and their shifts in \(j\) agree. This includes \(B=\varnothing\), for which the object is zero. Hence all these coproducts are injective. This conclusion concerns this specific family in \(\mathsf T\); it does not assert a general closure theorem for injectives in arbitrary module categories.

Exercise 4 (advanced: matrices and the field boundary). Let \(R=\operatorname{Mat}_d(k)\), where \(d\ge1\) and \(k\) is a field of any characteristic. Show that the map \(b\mapsto(r\mapsto\operatorname{tr}(rb))\) identifies the left regular module \(R\) with \(D_R(k)\). Conclude that \(R\) is injective as a left \(R\)-module. Then show, using \(k=R=\mathbb Z\), that the representing object \(D_R(k)\) need not be injective when the ground ring is not a field.

Solution. The trace pairing is nondegenerate in every characteristic. For the matrix unit \(E_{ij}\), direct multiplication gives \(\operatorname{tr}(E_{ij}b)=b_{ji}\). Thus a functional \(\xi:R\to k\) determines the unique matrix with \(b_{ji}=\xi(E_{ij})\); the functional of this matrix agrees with \(\xi\) on the matrix-unit basis. This proves bijectivity and linearity. With the action (1.1),

\[ \begin{gathered} (a\xi_b)(r)=\xi_b(ra)\\ =\operatorname{tr}(rab)=\xi_{ab}(r). \end{gathered} \tag{6.5} \]

Hence the bijection is left \(R\)-linear. Injectivity follows from the field case after Proposition 1.1. Nothing here divides by \(d\): even if \(\operatorname{tr}(1_R)=d\cdot1_k=0\), the pair \(E_{ij},E_{ji}\) has trace pairing \(1\), and nondegeneracy still holds.

For \(\mathbb Z\), evaluation at \(1\) identifies \(D_{\mathbb Z}(\mathbb Z)\) with \(\mathbb Z\), so Proposition 1.1 still gives representability. But the map \(2\mathbb Z\to\mathbb Z\) sending \(2n\) to \(n\) has no extension to \(\mathbb Z\): such an extension would send \(1\) to an integer \(a\) with \(2a=1\). Thus the representing object is not injective. The field hypothesis belongs to the extension argument, not to the representation theorem.

7. References