===== Appendix on injective modules =====
Some details on their properties and existence
Summary: For ZZ-modules, the inverse p-torsion modules (ZZ[1/p])/ZZ are
injective, and every ZZ-module M embeds into a product of these (usually
infinite). View any ring A as a ZZ-algebra; then for an injective
ZZ-module N, the ZZ-module Hom_ZZ(A, N) becomes an A-module _under
premultiplication_, and is an injective A-module. For an A-module M,
view M as a ZZ-module and embed it into an injective ZZ-module N. An
inclusion of M into an injective A-module is then provided by the
tautological identity
Hom_ZZ(M, N) = Hom_A(M, Hom_ZZ(A, N)).
This is mostly cribbed from Charles A. Weibel, An introduction to
homological algebra, CUP 1994.
====
Definition. An A-module N is injective if the functor Hom_A(-, N) is
exact. This means that if
0 -> M1 -> M2 is exact (that is, M1 embeds in M2)
then any homomorphism e: M1 -> N extends to f: M2 -> N (this means that
f restricted to M1 equals e).
Example. A k-vector space V is an injective k-module: if V in W are
vector spaces, a k-linear map U -> V extends to W. You know this by
Year 1 linear algebra if the vector spaces are finite dimensional (but
it requires Zorn's lemma otherwise.)
====
Proposition [Baer's criterion, uses Zorn's lemma] Let N be an A-module.
Assume the following:
(*) for every ideal I in A and every homomorphism e: I -> N,
e extends to a homomorphism f: A -> N.
Then N is injective.
Proof. Let M1 in M2 be an inclusion of A-modules and e: M1 -> N. The
assertion is that e extends to the whole of M2. If M1 = M2 there is
nothing to prove.
Inductive step: Else take b in M2 \ M1 and claim: (*) implies that e
extends to the bigger submodule M1 + A*b. For this, define the ideal
I = { a in A | a*b in M1 }.
Then a |-> a*b |-> e(a*b) is an A-homomorphism I -> N, so by (*), it
extends as a homomorphism f: A -> N. Now define
e': M1 + A*b -> N by e'(m + a*b) = e(m)+ e(a*b).
This is well-defined: If some different (m1,a1) has m+a*b = m1+a1*b
then (a-a1)*b = m-m1 in M', so a-a1 in I, where the extension f
started, so f(a-a1) = e(m-m1).
Standard use of Zorn's lemma now proves that e extends to the whole
of M2. QED
Corollary. An Abelian group is injective (as a ZZ-module) iff it is
divisible. Hence the modules QQ and (ZZ[1/p])/ZZ are injective
ZZ-modules, and any injective is a direct product of these. I refer to
(ZZ[1/p])/ZZ as the inverse p-torsion module, by analogy with Macaulay's
inverse monomials.
Exercise. Check that QQ/ZZ is isomorphic to the direct product of
(ZZ[1/p])/ZZ taken over all primes p. An analogous construction works
for a PID.
Lemma. For a ZZ-module M and nonzero m in M, there exists a prime p and
a homomorphism
f: M -> (ZZ[1/p])/ZZ with f(m) <> 0.
Proof. The annihilator of m in M is an ideal (n) in ZZ, so the subgroup
ZZ.m generated by m is isomorphic to ZZ/n. Choose any prime p | n and
a surjective map ZZ/n ->> ZZ/p (if n = 0 then any prime p works). Compose
with an embedding ZZ/p in (ZZ[1/p])/ZZ and extend from mZZ to the whole
of M using injectivity of the module. QED
Corollary. Consider the set of all homomorphisms from M to the
injective modules (ZZ[1/p])/ZZ. The direct sum of all these
homomorphisms in an embedding of M into an injective ZZ-module.
====
Now for modules over a general ring A (you need to worry about left and
right modules if A is noncommutative). A is a ZZ-algebra. If M is a
ZZ-module, the ZZ-module Hom_ZZ(A, M) becomes an A-module under
premultiplication. Namely, a acts on Hom_ZZ(A, M) by f |-> a*f, where
a*f is the map s -> f(a*s) for s in A. That is, do the multiplication in
the ring A before applying the map (IMPORTANT: this is
premultiplication). One checks the following points:
1. For an A-module M and ZZ-module N the following identity holds:
Hom_ZZ(M, N) = Hom_A(M, Hom_ZZ(A, N)).
The l.-h.s. is just maps of Abelian groups. On the right, we are
map to a much bigger module, but we have to obey all the A-linearity
conditions.
2. If I is an injective ZZ-module then Hom_ZZ(A, I) is an injective
A-module.
3. It follows that for any A-module M, the product of all homomorphisms
M -> Hom_ZZ(A, (ZZ[1/p])/ZZ) is an embedding of M into an injective
A-module.
====
Finally, for algebraic geometers: let F be a sheaf of OX-modules over a
ringed space X. For P in X, the stalk F_P is an OX_P-module. Embed each
stalk F_P into an injective OX_P-module I_P. This defines an
OX-homomorphism of F into the sheaf of discontinuous sections of
DisjointUnion I_P, which is an injective sheaf.
====
Points still to clear up: the notion of injective is the "categorical
dual" of projective. However, projective modules are intuitive, because
they are closely related to free modules, whereas injective modules
abstract things that are proved exist, but we don't have any intuition
as to what they are made of. Is there some way of thinking of injectives
as dual to projectives in a more explicit sense?
Part of the answer to this is Macaulay inverse systems. Given the
polynomial ring A = k[x1,..xn], with its ordinary grading by homogeneous
forms, there is a k-vector space dual formed from the ring of Laurent
polynomials k[x1,x1^-1,.. xn, xn^-1] by taking the quotient by the
k[x1,..xn]-submodule M generated by monomials having any exponent
>= 0. In other words, all monomials in any of the nonnegative quadrants
are sent to zero. So if n = 2 we get the vector space M consisting of
all finite linear combinations of the inverse monomials x^-n*y^-m with
n,m >= 1:
... x^-n*y^-1 ... x^-3*y^-1, x^-2*y^-1, x^-1*y^-1
x^-2*y^-2, x^-1*y^-2
x^-n*y^-m ...
We know how to multiply an element of M by a polynomial, sending
any term that strays into a nonnegative halfsoace to zero.
This M is the vector space dual Hom_k(A,k). The inverse monomials
form a dual basis to the monomials in A with
{ x^{-n-1}*y^{-m-1} } dual to x^n*y^m.
The duality pairing A x M -> k consists of taking the coefficient of the
socle basis x^-1*y^-1 in the product of polynomial f in A by a Laurent
polynomial g. Just as A is a free module with the single generator 1,
so that every monomial is a multiple of 1, M has the single socle basis
element x^-1*y^-1 and every monomial has it as a multiple.
The module M is injective as module over A (or A localised at the
maximal ideal m = (x1,.. xn), or the completion k[[x1,.. xn]]), and
the map k -> M that takes 1 to x^-1*y^-1 is the injective hull of k.