Exact Sequences IV - Exact Sequences and Functors

We would now like to consider how functors (say, from the category R-Mod to another abelian category) interact with chain complexes and exact sequences. Rather than dive into the general situation, we'll look at three specific functors that we've already been working with extensively:

The hom-out functor and projective modules

In light of Yoneda's Lemma, for any fixed object c in a category C, understanding the object c is equivalent to understanding the functor HomC(c,−):C→Set. In the context of modules, this means that for any fixed R-module M it is worthwhile to study the functor HomR(M,−). We have seen that for every R-module N the set HomR(M,N) has a (natural) structure of an abelian group[1], so it makes sense to view HomR(M,N) as a functor from the category of R-modules to the category of abelian groups. We shall informally call this "hom-out functor" of M (to contrast it with the "hom-in" functor HomR(−,M)).

Let's start with a warm-up property of this functor.

The hom-out functor and direct products

As with any functor, we are naturally curious about how the functor interacts with the other constructions in our category. For example, we have the following result:

The hom-out functor commutes with direct products

Suppose {NxâˆŖx∈X} is a family of R-modules. There is a natural isomorphism of abelian groups

Ī„M:HomR(M,∏x∈XNx)→âˆŧ∏x∈XHomR(M,Nx),

given by sending each morphism f:M→∏x∈XNx to the family of morphisms (Ī€x∘f)x∈X, where Ī€x:∏x′∈XNx′→Nx is the projection onto the x-component.

By the way, if you're wondering about the proof of the above property, here's something hilarious: in the "proper" construction of the direct product of a family of R-modules, the above property is built right in to the construction, as an isomorphism natural in M! It's part of the universal property of the module ∏x∈XNx, which represents the functor F:R-Mod→Set defined on objects by F(M)=∏x∈XHomR(M,Nx).

How about direct sums?

Recall that for finite families of R-modules, the direct product and direct sum constructions are isomorphic. So in that case we can replace the direct products with direct sums. Because of this, we might sometimes say that "the hom-out functor commutes with finite direct sums." However, we are not claiming the functor commutes with infinite direct sums.

The hom-out functor and exact sequences

Now onto the real matter at hand, which is exploring how this functor interacts with exact sequences. Well, there's partial good news:

The hom-out functor is left exact

Let M be a fixed R-module. Then for each short exact sequence of R-modules

0→J→fK→gL→0,

the corresponding sequence of abelian groups is also exact:

0→HomR(M,J)→f∘−HomR(M,K)→g∘−HomR(M,L).

Notice that the 0 on the far right of the sequence is gone! We have lost the "right end" of our exact sequence. Because of the above property, we say that the functor HomR(M,−):R-Mod→Ab is left exact.

Let's prove the above result. To show exactness at HomR(M,J), we need to prove f∘− is an injective morphism of abelian groups. To that end, take any Ī•âˆˆker⁥(f∘−); in other words, take any group morphism Ī•:M→J such that f∘Ī•:M→K is the zero map. Then for all m∈M we have (f∘Ī•)(m)=0K, hence f(Ī•(m))=0K. Since f is injective, it follows that Ī•(m)=0J. As this was true for every m∈M, this proves Ī• is the zero map.

We next prove exactness at HomR(M,K). We first note that since the original sequence is exact it is also a chain complex, and so g∘f=0. It immediately follows that (g∘−)∘(f∘−)=(g∘f)∘−=0∘−=0. In other words, our new sequence is also a chain complex. In particular, im(f∘−)⊆ker⁡(g∘−).

It therefore only remains to prove the reverse containment, namely that ker(g∘−)⊆im(f∘−). To that end, suppose Īˆâˆˆker⁥(g∘−), i.e., we have a group morphism Īˆ:M→K such that g∘Īˆ:M→L is the zero map. To define a map Ī•:M→J, take any m∈M. Then g(Īˆ(m))=(g∘Īˆ)(m)=0(m)=0, so Īˆ(m\)inker⁥(g). Since ker⁥(g)=im(f), there exists some j∈J with f(j)=Īˆ(m). Define Ī•:M→J by Ī•(m)=j. Assuming this actually defines a group morphism, observe that Ī• has been constructed specifically so that Īˆ=f∘Ī•; indeed, for every m∈M we have Īˆ(m)=f(j)=f(Ī•(m)).

We leave it to the interested reader to verify Ī• is indeed a group morphism.

Follow-up questions

  1. Do there exist R-modules M for which the functor HomR(M,−) is exact, i.e., sends short exact sequences to short exact sequences?
  2. For a given short exact sequence 0→J→fK→gL→0, is there a way to "continue" the exact sequence 0→HomR(M,J)→f∘−HomR(M,K)→g∘−HomR(M,L)?

We will answer the first question immediately, but delay addressing the second question (until we can talk about derived functors).

Projective modules

Let's consider the possibility of modules P for which the functor HomR(P,−) is not just left exact, but also right exact.

Definition of a projective module

An R-module P is projective if for every short exact sequence of R-modules

0→J→fK→gL→0

the corresponding sequence of abelian groups is also exact:

0→HomR(P,J)→f∘−HomR(P,K)→g∘−HomR(P,L)→0.

In light of the left exactness of the functor HomR(M,−), the key property of a projective R-module P is the right exactness above. In other words, the defining property of a projective R-module P is that for every surjection g:K→L we have a surjection HomR(P,K)→g∘−HomR(P,L). We can actually visualize this nicely. Take any element of the set HomR(P,L), say the R-module morphism Ī•:P→L. Combined with the given surjective morphism g:K→L, we have the diagram

To say that the map HomR(P,K)→g∘−HomR(P,L) is surjective means that there must exist some morphism Īˆ:P→K such that Ī•=g∘Īˆ:

You might hear this phrased as "maps from projective modules lift across surjections" or "pull back along surjections."

Facts about projective modules

Here are some facts about projective modules. I might include proofs of these at some point, but for now let's just take them as a highlight reel about what is known.

Characterization of projective modules

An R-module P is projective if and only if it is a direct summand of a free R-module.

One immediate consequence of the above fact is that the direct sum of two projective modules is again projective.

Another immediate consequence is that free modules are always projective. And since every module is a quotient of a free module[2], we can now say that every module is a quotient of a projective module.

Note that we now have several "easy" examples of projective modules.

Here's another nice fact:

Tensor products of projective modules are projective

If R is a commutative ring, then the tensor product of two projective R-modules is projective

Examples of non-projective modules

It can help to also have some examples of modules that are not projective. We leave the details of the non-projectivity of these examples to the motivated reader:

The hom-in functor and injective modules

For every object r in a category C, we can consider the "hom-in" functor that is dual to the hom-out functor, that is the functor HomC(−,r). In general this is a functor from Cop to Set, although just as with the hom-out functor in the case of R-modules we can consider it a functor with values in the category of abelian groups.

We now analyze the properties of this functor, in parallel with those of the hom-out functor.

The hom-in functor and direct products

How does the hom-in functor interact with direct products? At first glance, it seems somewhat differently than the hom-out functor:

The hom-out functor exchanges direct sums for direct products

Suppose {MxâˆŖx∈X} is a family of R-modules. There is a natural isomorphism of abelian groups

HomR(⨁x∈XMx,N)→âˆŧ∏x∈XHomR(Mx,N),

given by sending a morphism f:⨁x∈XMx→N to the family of morphisms (f∘ix)x∈X, where ix:Mx→⨁x′∈XMx′ is the canonical injection.

This is actually directly analogous to the property for the hom-out functor, once we recall that the hom-in functor is a contravariant functor; i.e., HomR(−,N):(R-Mod)op→Ab. Note that direct products in the category (R-Mod)op correspond to direct sums in the category R-Mod. So the above isomorphism can be viewed as the statement that the functor HomR(−,N):(R-Mod)op→Ab commutes with direct products in the domain and codomain categories. This is the identical property enjoyed by the functor HomR(M,−):R-Mod→Ab.

Long story short: both hom functors commute with direct products, when properly defined.

How about direct products of R-modules?

Recall that for finite families the direct product and direct sum constructions are isomorphic, so in that case we can replace the direct sum with a direct product. Because of this, we might sometimes say that "the hom-in functor commutes with finite direct products." As noted above, however, this is not a great way to think about this.

The hom-in functor and exact sequences

Repeating our analysis above, we see that the hom-in functor retains exactness on one side but not the other. The one thing to watch out here is for the contravariance, i.e., that the functor HomR(−,N) is from (R-Mod)op to Ab. In particular, convince yourself that a short exact sequence in (R-Mod)op denoted

0→J→fopK→gopL→0

corresponds to a short exact sequence in R-Mod going "the other way:"

0←J←fK←gL←0.

We that in mind, we note the following:

The hom-in functor is left exact

Let N be a fixed R-module. Then for each short exact sequence in (R-Mod)op

0→J→fopK→gopL→0,

the corresponding sequence of abelian groups below is also exact:

0→HomR(J,N)→−∘fHomR(K,N)→−∘gHomR(L,N).

Exactly as with the hom-out functor, we have lost the "right end" of our exact sequence. So, we can once again say that the functor HomR(−,N):(R-Mod)op→Ab is left exact.

The proof of the above fact should perfectly dualize the proof of the corresponding fact for the hom-out functor. Give it a shot!

In any case, we once again ask:

Follow-up questions

  1. Do there exist R-modules N for which the functor HomR(N,−) is exact, i.e., sends short exact sequences to short exact sequences?
  2. For a given short exact sequence 0→J→fopK→gopL→0, is there a way to "continue" the exact sequence 0→HomR(J,N)→−∘fHomR(K,M)→−∘gHomR(L,M)?

Let's again delay answering the second question and instead focus on the first.

Injective modules

Definition of an injective module

An R-module I is injective if for every short exact sequence in (R-Mod)op

0→J→fopK→gopL→0

the corresponding sequence of abelian groups is also exact:

0→HomR(J,I)→−∘fHomR(K,I)→−∘gHomR(L,I)→0.

Let's unravel this definition as we did before. In light of the left exactness of the functor HomR(−,N), the key property of an injective R-module I is the right exactness above. In other words, the defining property of an injective R-module I is that for every injection g:L→K we have a surjection HomR(K,I)→−∘gHomR(L,I). We can actually visualize this nicely. Take any element of the set HomR(L,I), say the R-module morphism Ī•:L→I. Combined with the given injective morphism g:L→K, we have the diagram

To say that the map HomR(K,I)→−∘gHomR(L,I) is surjective means that there must exist some morphism Īˆ:K→I such that Ī•=Īˆâˆ˜g:

You might hear this phrased as "maps to injective modules lift across injections" or "push foward along injections."

Facts about injective modules

Although the notions of projective and injective modules are perfectly dual, somehow it "feels" harder for a module to be injective. At least, it seems that way to me in light of the following fact:

Characterization of injective modules

An R-module I is injective if and only if the following condition holds: whenever I is a submodule of an R-module M, I is a direct summand of M.

In the special case of modules over a principal ideal domain, there is an alternative characterization:

Characterization of injective modules over a PID

Suppose R is a PID. In that case, an R-module I is injective if and only if rI=I for every nonzero r∈R.

In particular, an abelian group is injective if and only if it's divisible. Also, when R is a PID we can use the above fact to prove that any quotient of an injective R-module is injective.

Here are some additional examples of injective modules:

Examples of non-injective modules

We leave it to the motivated reader to prove the following:

The tensor product functor and flat modules

Suppose M is an (R,S)-bimodule. For any ring T and (S,T)-bimodule we can form the (R,T)-bimodule M⊗SN. Similarly, for any (T,R)-bimodule we can form the (T,S)-bimodule N⊗RM. In other words, for every ring T we can consider the two possible functors corresponding to tensoring with M, namely the left tensor product functor M⊗S− and the right tensor product functor −⊗RM. Both functors will have similar properties, so we'll focus on the former.

Unfortunate notation

It's a bit unfortunate that the notation M⊗S− is ambiguous, as it doesn't specify the domain category for the functor. We really should write M⊗S−:(S,T)-Bimod→(R,T)-Bimod, or update the tensor notation to give some reference to the ring T.

The (left) tensor product functor and direct sums

We have already seen that the functor M⊗S− is a left adjoint and hence commutes with colimits; e.g., commutes with direct sums:

The tensor product commutes with direct sums

Suppose M is an (R,S)-bimodule and {NiâˆŖi∈I} is a family of (S,T)-bimodules. Then there is a unique isomorphism of (R,T)-bimodules
M⊗S(⨁i∈INi)≃⨁i∈I(M⊗SNi)

The tensor product and exact sequences

The tensor product functor is right exact

Let M be an (R,S)-bimodule. Then for each short exact sequence of (S,T)-bimodules

0→J→fK→gL→0,

the corresponding sequence of (R,T)-bimodules

M⊗SJ→1M⊗fM⊗SK→1M⊗gM⊗SL→0

is exact.

Notice that the 0 on the far left of the sequence is gone! We have lost the "left end" of our exact sequence. Because of the above property, we say that the functor M⊗S− is right exact.

We should prove the above fact. For now, check out page 399 in Dummit & Foote.

As with the previous two functors, we ask the following:

Follow-up questions

  1. Do there exist (R,S)-bimodules M for which the functor M⊗S− is exact?
  2. For a given short exact sequence 0→J→fK→gL→0, is there a way to "continue to left" the exact sequence M⊗SJ→1M⊗fM⊗SK→1M⊗gM⊗SL→0?

Once more, we defer investigating the second question and stick to the first.

Flat modules

Definition of a flat module

An (R,S)-bimodule D is flat[3] if for every short exact sequence of (S,T)-bimodules

0→J→fK→gL→0

the corresponding sequence of (T,R)-bimodules is also exact:

0→D⊗SJ→1D⊗fD⊗SK→1D⊗gD⊗SL→0

As a fun exercise, try repeating the analyses we made for the hom functors here, to see what it means for an (R,S)-bimodule to be flat.

Facts about flat modules

Here is a nice fact about flat modules, at least when working with R-modules, i.e., (R,Z)-bimodules:

Projective modules are flat

Every projective R-module is also flat.

In particular, free modules are flat.

Examples of flat modules

  1. The abelian group Z is projective and hence also flat.
  2. The abelian group Q is flat.
  3. Any direct sum of flat modules is flat; e.g., the abelian group Z⊕Q is flat (but neither injective nor projective).

Examples of non-flat modules

  1. The abelian group Z2 is not flat.
  2. The quotient group Q/Z is not flat (although it is injective).

Suggested next notes

Ab-categories
Chain complexes
Diagram lemmas
Noetherian modules
Tensor algebras


  1. What we really want to say is that functor HomR(M−):R-Mod→Set factors through the forgetful functor U:Ab→Set ↩ī¸Ž

  2. Let X be a generating set for M. Then we have a corresponding surjection Ī€:F(X)→M. By the First Isomorphism Theorem we then have M≃F(X)/ker⁥(Ī€). ↩ī¸Ž

  3. Perhaps we should say flat over T? ↩ī¸Ž