Commutative Algebra 33

Snake Lemma

Let us introduce a useful tool for computing kernels and cokernels in a complicated diagram of modules. Although it is only marginally useful for now, it will become a major tool in homological algebra.

Snake Lemma.

Suppose we have the following diagram of A-modules and homomorphisms, where the rows are exact.


Let K_i = \mathrm{ker} h_i and C_i = \mathrm{coker} h_i for i = 1, 2, 3. Then we get a long exact sequence:

0 \to \mathrm{ker } f_1 \to K_1 \to K_2 \to K_3 \to C_1 \to C_2 \to C_3 \to \mathrm{coker} g_2 \to 0.

In diagram, the long exact sequence is drawn in green:



The proof is rather tedious so we will only prove the existence of the “snake map” K_3 \to C_1.

  • Let m_3 \in K_3 so that h_3(m_3) = 0.
  • Since f_2 is surjective there exists m_2 \in M_2, f_2(m_2) = m_3.
  • Let n_2 = h_2(m_2).
  • Then g_2(n_2) = g_2(h_2(m_2)) = h_3(f_2(m_2)) = h_3(m_3) = 0.
  • Hence n_2 = g_1(n_1) for a unique n_1 \in N_1.
  • We let m_3 \mapsto image of n_1 in C_1.

This map is well-defined since if we pick another m_2' \in M_2 in the second step, then m_2' - m_2 \in \mathrm{ker} f_2 = \mathrm{im } f_1. Thus m_2' - m_2 = f_1(m_1) for some m_1 \in M_1 so h_2(m_2' - m_2) = h_2(f_1(m_1)) = g_1(h_1(m_1)) and thus the new n_1' \in N_1 in the above construction is n_1' = n_1 + h_1(m_1). So n_1 and n_1' have the same image in \mathrm{coker} h_1.

The rest of the proof is left as an exercise. ♦


The above process is called diagram-chasing, and it is often far more effective to have it shown to you live. Here is the first part of the proof in video form.


Finitely Presented Modules

Now let us compare \mathrm{Hom}_B(M^B, N^B) and \mathrm{Hom}_A(M, N) for A-modules M and N. Since any A-linear map f: M\to N induces a B-linear map f^B : M^B \to N^B we have a map \mathrm{Hom}_A(M, N) \to \mathrm{Hom}_B(M^B, N^B). This is clearly A-linear so it induces a B-linear map

[\mathrm{Hom}_A(M, N)]^B \longrightarrow \mathrm{Hom}_B(M^B, N^B), \quad b \otimes f \mapsto b\cdot f^B,

For this to be an isomorphism, we need to introduce a new concept.


An A-module M is finitely presented if it is finitely generated, and for some surjective map A^n \to M, its kernel is also finitely generated.


In other words, M is finitely presented if and only if there is an exact sequence of the form

A^m \to A^n \to M \to 0.

Intuitively, this means M can be described by a finite set of generators subjected to a finite set of relations.

Proposition 1.

If M is finitely presented, then the kernel K of any surjective map A^n \to M is finitely generated.


Since M is finitely presented there is an exact sequence of the form F_1 \to F_2 \to M \to 0 where F_1, F_2 are finite free modules. Since F_1, F_2 are free and hence projective, there exist f:F_2 \to A^n, g:F_1 \to K making the diagram commute.


By the snake lemma we have an exact sequence

0 = \mathrm{ker} 1_M \to \mathrm{coker } g \to \mathrm{coker } f \to \mathrm{coker } 1_M =0.

Thus \mathrm{coker } g \cong \mathrm{coker } f is finitely generated. Furthermore, since F_1 is finite free \mathrm{im } g is finitely generated. Since \mathrm{im }g and K/\mathrm{im } g are finitely generated so is K. ♦

Exercise A

1. Find a module M over a ring A which is finitely generated but not finitely presented.

2. Prove that a finitely generated projective module is finitely presented.

3. Prove that in a short exact sequence of A-modules 0\to N \to M \to P \to 0, if N and P are finitely presented, so is M.

Optional Extra

The concept of finitely presented modules can be generalized further.


We say that an A-module M is of type FP_n if there is an exact sequence

F_n \longrightarrow \ldots \longrightarrow F_1 \longrightarrow F_0 \longrightarrow M \longrightarrow 0

where each F_i is finite free.

Thus saying M is FP_0 means it is finitely generated and saying M is FP_1 means it is finitely presented. One can show more generally that if M has type FP_n then the kernel of any surjection F\to M has type FP_{n-1}. However, this is outside our scope of discussion.

This has applications in non-commutative algebra, where we study (say) left modules over a non-commutative ring and consider their cohomological properties. For details, see GTM 87, Cohomology of Groups, by Kenneth S. Brown.


Hom Functor and Induced Module

Now our main result is as follows.

Proposition 2.

If M is finitely presented and B is A-flat, we have an isomorphism

[\mathrm{Hom}_A(M, N)]^B \stackrel \cong \longrightarrow \mathrm{Hom}_B(M^B, N^B), \quad b \otimes f \mapsto b\cdot f^B.


Pick an exact sequence of A-modules: A^m \stackrel f\to A^n \stackrel g\to M\to 0. Since Hom is left-exact, for any A-module N we have an exact sequence of A-modules

0 \longrightarrow \mathrm{Hom}_A (M, N) \stackrel {g^*} \longrightarrow \mathrm{Hom}_A(A^n, N) \stackrel {f^*} \longrightarrow \mathrm{Hom}_A(A^m, N).

And since B\otimes_A - is exact, we get an exact sequence of B-modules

0 \longrightarrow [\mathrm{Hom}_A (M, N)]^B \stackrel {(g^*)^B} \longrightarrow [\mathrm{Hom}_A(A^n, N)]^B \stackrel {(f^*)^B } \longrightarrow [\mathrm{Hom}_A(A^m, N)]^B.

Since tensor product is right-exact, we also get an exact sequence of B-modules

B^m \stackrel{f^B}\longrightarrow B^n \stackrel{g^B}  \longrightarrow M^B \longrightarrow 0.

Again since Hom is left-exact, we get an exact sequence of B-modules

0 \longrightarrow \mathrm{Hom}_B(M^B, N^B) \stackrel {(g^B)^*} \longrightarrow \mathrm{Hom}_B(B^n, N^B) \stackrel {(f^B)^*} \longrightarrow \mathrm{Hom}_B(B^m, N^B).

But we have natural isomorphisms

[\mathrm{Hom}_A(A^n, N)]^B \cong (N^n)^B \cong (N^B)^n \cong \mathrm{Hom}_B(B^n, N^B)

which commute with [\mathrm{Hom}_A(M, N)]^B \longrightarrow \mathrm{Hom}_B(M^B, N^B). Hence this map is an isomorphism. ♦


F.P. ⇒ (Projectivity is Local)

Since localization is exact and naturally isomorphic to S^{-1}A \otimes_A - , as a special case we obtain the following.

Corollary 1.

If M is finitely presented, then S^{-1}\mathrm{Hom}_A(M, N) \cong \mathrm{Hom}_{S^{-1}A}(S^{-1}M, S^{-1}N).

Now we are ready to prove the following result.

Proposition 3.

If M is a finitely presented A-module, then M is A-projective if and only if M_{\mathfrak m} is A_{\mathfrak m}-projective for all maximal \mathfrak m\subset A.

In summary, for a finitely presented module, projectivity is a local property.


(⇒) Let M be A-projective. For a maximal \mathfrak m\subset A; we wish to show M_{\mathfrak m} is A_{\mathfrak m}-projective. Let f :N_1 \to N_2 be a surjective A_{\mathfrak m}-linear map. Now f is A-linear, and since M is A-projective

\mathrm{Hom}_A(M, N_1) \stackrel {f_*}\longrightarrow \mathrm{Hom}_A(M, N_2)

is surjective. Since M is finitely presented and (N_i)_{\mathfrak m} \cong N_i, we get a surjective:

\mathrm{Hom}_{A_{\mathfrak m}}(M_{\mathfrak m}, N_1) \cong \mathrm{Hom}_A(M, N_1)_{\mathfrak m} \longrightarrow \mathrm{Hom}_A(M, N_2)_{\mathfrak m}\cong \mathrm{Hom}_{A_{\mathfrak m}}(M_{\mathfrak m}, N_2).

(⇐) Suppose M_{\mathfrak m} is A_{\mathfrak m}-projective for all maximal \mathfrak m. To prove M is A-projective, let f:N_1 \to N_2 be a surjective A-linear map. We need to show

\mathrm{Hom}_A(M, N_1) \stackrel {f_*} \longrightarrow \mathrm{Hom}_A(M, N_2)

is surjective; equivalently, we need to show (f_*)_{\mathfrak m} is surjective for all maximal \mathfrak m. But this is just

\mathrm{Hom}_{A_{\mathfrak m}}(M_{\mathfrak m}, (N_1)_{\mathfrak m}) \cong \mathrm{Hom}_A(M, N_1)_{\mathfrak m} \longrightarrow \mathrm{Hom}_A(M, N_2)_{\mathfrak m} \cong \mathrm{Hom}_{A_{\mathfrak m}}(M_{\mathfrak m}, (N_2)_{\mathfrak m})

which is surjective because M_{\mathfrak m} is A_{\mathfrak m}-projective. ♦


This entry was posted in Advanced Algebra and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s