An Introduction to Tor: Definitions and Properties.

Arun Ram
Department of Mathematics and Statistics
University of Melbourne
Parkville, VIC 3010 Australia

Last update: 09 March 2012


Homology is one of the most important concepts of modern mathematics. Its importance comes from the fact that homology of a space is invariant under continuous transformations of the space.

Homological algebra develops the algebraic tools used to study homology. Tensor products, Hom, Tor, and Ext are basic functors of homological algebra. This paper introduces the functor Tor and its properties. Tor is defined precisely and several properties are derived.

In order to make the exposition of Tor complete, a short section with preliminary definitions and properties of homology is included. This presentation will serve to reacquaint the reader with basic algebraic topology. This section also provides a concise reference to the basics of algebraic topology. It is not meant to serve as an introduction to basic algebra and algebraic topology, but merely to make the treatment of Tor precise and complete. Definitions and properties of tensor products are included in this section, as they play a central role in the definition of Tor.

Tensor product and projective resolutions are the primary tools for defining Tor. The definition of projective resolutions is done meticulously in order to provide a solid basis for introducing Tor precisely.

Given the definition of Tor, several properties can be derived easily. These properties will be introduced and should provide a good foundation for working with Tor in further study of algebraic topology.

Basic Algebra and Algebraic Topology

We begin with the following treatment of modules and homology. It should provide a sufficient basis for subsequent proofs.

Throughout this paper, we shall let R represent a commutative ring with a unit.


The following definitions of R-modules and R-maps are the standard ones. Since the intention here is only to provide a solid algebraic basis for introducing Tor, we will not give proofs of the theorems and propositions in this section. A more complete treatment is given by Atiyah and MacDonald [AM].

An R-module M is an abelian group with a map f:R×M M such that if f(r,m) is denoted by rm, then (r1r2)m = r1(r2m) and 1m=m. We usually denote R-modules simply as modules.

Let M,N be R-modules. An R-map f:MN is a homomorphism of abelian groups such that f(rm) = rf(m). We shall assume that all maps between modules are R-maps.

If (Mi)iI is any family of R-modules, their direct sum iIMi is the set of all families (mi) such that miMi and almost all the mi are zero. Addition and multiplication are defined by: (mi) + (mi') = (mi+mi') r(mi) = (rmi)   for   rR.

We now define tensor products. Let M, N, and P be R-modules.

A bilinear map h:M×NP is a map such that h(m1+m2,n) = h(m1,n)+h(m2,n),  h(m,n1+n2) = h(m,n1)+h(m,n2), and h(rm,n) = h(m,rn) for rR.

The tensor product MN is an R-module with a bilinear map h:M×N MN such that given any bilinear map g:M×NP there is a unique map f:MNP such that g=fh. Tensor product can be defined equivalently by MN = {mn  |  mM, nN} and the relations (m1+m2)n - m1n - m2n = 0, m(n1+n2) - mn1 - mn2 = 0,   and rmn = mrn = r(mn)   for   rR}. The proof that these definitions are equivalent can be found in most texts that introduce tensor products. See Munkres [Mu].

The following proposition summarizes the important properties of tensor product.

Let M, N, P be R-modules.

  1. MN=NM
  2. (MN)P=M(NP)=MNP
  3. (MN)P=(MP)(NP)
  4. RM=M

An exact sequence Mi+1pi+1 Mipi Mi-1 of R-modules is a sequence of modules {Mi} and R-maps pi: MiMi-1 such that kerpi = impi+1 for all i.

An exact sequence of the form 0M'MM''0, is a short exact sequence. A short exact sequence is a split short exact sequence if there exists a map p:M'M''M such that the following diagram commutes when k is given by k(m') = (m',0) and 1 is given by 1(m',m'') = m''.

0 M' M M'' 0 0 M' M'M'' M'' 0 k 1 p

If 00000M'0000M0000M''00000 is an exact sequence of R-modules, and N is an R-module, then M'N0000MN0000M''N00000 is exact.

If 00000M'0000M0000M''00000 is a split short exact sequence of R-modules, and N is an R-module, then 00000M'N0000MN0000M''N00000 is split short exact.

The above is a very concise presentation of modules, tensor products, and exact sequences.


We treat homology in a completely algebraic manner. Although the algebraic presentation is completely precise, the power of homology lies in its geometrical application and it is usually presented in a geometric context. Munkres' boo [Mu] has a complete development of homology both algebraically and geometrically.

A chain complex C={Cq},  q, is a sequence of R-modules Cq and R-maps q: CqCq-1 such that q-1q=0 for all q.

Given a chain complex C the homology of C is given by the family of groups Hq(C) = kerq imq+1 .

Let C={Cq} and C'={Cq'} be chain complexes where q are the R-maps on C and q' are the R-maps on C'. A chain map f:CC' is a family of R-maps fq:CqCq' such that q'fq = fq-1q for all q.

A chain map f:CC' induces homomorphisms fq*: Hq(C) Hq(C') for all q.

Given chain maps f,g: CC', then a chain homotopy D from f to g is a family of R-maps Dq: CqCq+1' such that q+1'Dq + Dq-1q = fq-gq for all q.

Two chain complexes C and C' are chain equivalent if there exists f:CC' and g:C'C such that gf and fg are both chain homotopic to the identity.

A chain complex is acyclic if the chain complex forms an exact sequence of R-modules.

These definitions provide the basis of the study of homology. The following results are part of a collection of results known as the Eilenberg-Steenrod axioms. We only present the axioms that we will need for subsequent proofs.

Let i, h, k be chain maps.

If i is the identity chain map, then i* is an isomorphism.

If h and k are chain homotopic, then h*=k*.

(kh)* = k*h*.

Long exact sequence theorem. Given a short exact sequence of chain complexes 00000C'iCjC''00000, (i.e. 00000Cq'iqCqjqCq''00000 is exact for each q) then there exists a homomorphism q*: Hq(C'') Hq-1(C') such that the sequence 0000 Hq(C')0000 Hq(C)0000 Hq(C'')q* Hq-1(C')0000 is exact.

The above definitions and terms should make the following definition of Tor complete and readable. This exposition should serve to prevent any confusion in terminology.

Projective Modules

Projective resolutions are the primary tools for defining Tor. We present them here in a precise and complete manner. The result of Theorem 4.6 is the key to the definition of Tor. It is this result that makes Tor a well defined functor.

We begin by defining a projective R-module.

Suppose that f:MM'' is a surjective R-map. P is a projective R-module if given a map h:PM'', there exists a map g:PM such that g=fh.

Conceptually, this definition says that P is a projective R-module if the following diagram can be filled in

P M M'' 0 g h f
Note that MfM''0 is exact.

The following results give some insight into the implications of this definition.

A free R-module is projective.

Let P be a free R-module. Since P is free, there exists a family {pi} of elements of P such that any pP can be written uniquely as p=ripi with riR. Let h:PM'' and f:MM'' be R-maps such that f is surjective.

To show that P is projective, we need to construct a g:PM such that h=fg. Conceptually, we show that P is projective by filling in the following diagram:
P M M'' 0 g h f
Since f is surjective, for each pi{pi} there exists at least one element miM such that f(mi) = h(pi). Choose one such mi for each pi and let g(pi) = mi. Letting g(p) = rig(pi) when p= rimi defines g(p) for all pP.

g(p) is well defined since any pP can be written as the sum p= ripi in only one way. g is an R-map since g(rp) = rrig(pi) = rg(p) for every pP. Furthermore, f(g(p)) = f(rig(pi)) = rif(g(pi)) = rih(pi) = h(p) since f and h are R-maps. Thus, fg=h and P is projective.

We will use the following lemma in the proof of Proposition 3.4.

Let M be an R-module. There exists a free module F and a surjective map uFM.

Let {mi}iI be a generating set for M. Let IR=F be a free module with basis {xi}iI. Then the map u:FM given by u(r) = rigi for r= rixi is surjective.

P is projective if and only if P is a direct summand of a free module.

Suppose that P is projective. Let u: IRP be the surjective map given in Lemma 3.3.

Since P is projective, we can construct v: PIR such that uv is the identity map, 1, on P, by filling in the following diagram:
P IR P 0 v 1
Let K=keru. Define f:PK IR by f(p,k) = v(p) and g:IR PK by g(r) = (u(r),w(r)) where w:IR K is given by w=1-vu.

We need to check that imwkeru to make sure that w and g is well defined. Since uv=1, uw= u(1-vu) = u-uvu = u-u=0, and so imwkeru. fg(r) = f(u(r),w(r)) = vu(r)+r-vu(r) =r and gf(p,k) = g(v(p)+k) = (u(v(p)+k),w(v(p)+k)) = (uv(p)+u(k),v(p)-vuv(p)+k-vu(k)) = (p+0,0+k-v(0)) = (p,k) for r, p, and k elements of IR, P, and K respectively. Thus, f and g are inverses and define an isomorphism between Pkeru and IR.

Conversely, suppose that P is such that PQ=F for some R-module Q and some free R-module F. Suppose that h':PM'' and a surjective f:MM'' are given. To show that P is projective, we must show that there exists a g':PM such that h'=fg', i.e. by filling in the following diagram:
P M M'' 0 g' h' f
Let h:FM'' be given by h(p,q) = h'(p) for (p,q)F=PQ. Since every free module is projective, we know that g:FM can be constructed so that h=fg.
F=PQ M M'' 0 g h
Define g':PM by g'(p)=g(p,0). Then fg'(p) = h(p,0) = h'(p), and so P is projective.

Using the results of these propositions the projective module of many rings can be identified.


  1. If R= then every projective is free.
  2. If R is a field then every module is projective.
  3. If R=6 then there are projectives which are not free.

Projective Resolutions

Chain complexes of projective modules make projective resolutions. This construction will allow us to compute homology of projective resolutions. We now develop this motivation precisely.

Let P={Pq} be a chain complex of R-modules, then P is a chain complex over M if there is an R-map ε:P0M that is surjective. The map is an augmentation and the chain complex P#={Pq,M} is an augmented chain complex over M.

A chain complex over M is projective if each Pq is projective.

A projective resolution of M is a projective acyclic chain complex over M.

A definition has no motivation unless it has some application. The first step towards motivating the definition of projective resolutions is the following proposition.

Projective resolutions exist.

A projective resolution P of M exists if and only if there exists an exact sequence of projective modules ending with M.

We construct a sequence of free modules {Fi} and maps pi: FiFi-1 such that p0: F0M is surjective and kerpi-1=impi for all i. This sequence forms an exact sequence of projective modules ending with M. The Fi and the pi are constructed by induction.

Lemma 3.3 allows us to find F0 and p0 such that p0:F0M is surjective and F0 is free.

For the inductive step assume that the Fi and the pi: FiFi-1 have been defined such that kerpi-1 = impi for all in. By Lemma 3.3 there exists a free module Fn+1 and a surjective map u:Fn+1kerpn. Let i:kerpnFn be the imbedding of kerpn in Fn. i is the restriction of the identity map on Fn to kerpn. So, the image of i is kerpn. Define pn+1: Fn+1Fn by pn+1 =iu. Then impn+1 = kerpn and the induction is complete.

The following results will be used to show that Tor is well defined. Because of this, they are especially significant.

Let P and P' be chain complexes over M and N respectively. Let f:MN be an R-map. Then a chain map f:PP' is a chain map over f if the following diagram commutes (i.e. if f:P#P'# is a chain map).

P0 P0' M N ϵ ϵ'

Let f:MN be an R-map. let P and P' be chain complexes over M and N respectively. Assume that P is projective and that P' is acyclic.

  1. There is a chain map {fi} over f.
  2. Any two chain maps over f are chain homotopic.

(i) We construct {fi} by induction.

Since ϵ:P0'N is surjective and P0' is projective we can construct f0:P0P0' such that f0ϵ'=ϵf by filling in the following diagram:
P M P0 N 0 f0 ϵ f ϵ'
For the inductive step, assume that we have constructed the fis for in and that i'fi = fi-1i for all i.

Notice that since P' is acyclic imn+1' = kern', and since n'fnn+1 = fn-1nn+1 = fn-10 = 0, imfnn+1 kern' = imn+1'. Thus, since Pn+1 is projective, fn+1 can be constructed by filling in
Pn+1 Pn P'n+1 im 'n+1 0 fn+1 n+1 fn 'n+1
so that 'n+1fn+1 = fnn+1. Thus there is a chain map over f.

(ii) We need to show that there exists a Dq: PqP'q+1 for all q such that 'q+1Dq + Dq+1q = fq-gq. Since f-1 = g-1 = f, we can define D-1=0.

We define the rest of the Dq by induction.

Note that ϵ'(f0-g0) = ϵ'f0-ϵ'g0 = f-f = 0. Since P' is acyclic im'1 = kerϵ' and im(f0-g0) im'1. Since P0 is projective and '1D0 = '1D0 + D-1ϵ = f0-g0, D0 can be constructed by filling in the following diagram:
P0 P'1 im'1P0 D0 f0-g0
For the inductive step assume that Dq has been constructed appropriately for all qn. Notice that 'n+1(fn+1-gn+1) = n+1'fn+1 - n+1'gn+1 = fnn+1 - gnn+1 = (fn-gn)n+1 = (n+1'Dn + Dn-1n)n+1 = n+1'Dnn+1+0. So n+1'(fn+1-gn+1-Dnn+1) =0. Thus im(fn+1-gn+1-Dnn+1) kern+1'. Since P' is acyclic, kern+1' = imn+1' and im(fn+1-gn+1-Dnn+1) imn+2'.

Since Pn+1 is projective, the following diagram can be filled in such that n+1'Dn+1 = fn+1 - gn+1 - Dnn+1. Thus n+2'Dn+1 - Dnn+1 = fn+1 - gn+1 and the induction is complete.
Pn+1 Pn+2' im n+2'Pn+2 Dn+1 fn+1-gn+1-Dnn+1
So {fi} and {gi} are homotopic.

Any two projective resolutions over M are chain equivalent.

Let P={Pi} and P'={Pi'} be projective resolutions over M.

Since the identity map from M to M is an R-map, by the above theorem we can construct a chain map {fi} from P to P' over the identity map. Similarly we can construct a chain map {gi} from P' to P over the identity.

The composition of these two maps is a chain map {gifi} from P to P over the identity. The identity mapping P to P is also a chain map over the identity. By the above theorem {gifi} is chain homotopic to the identity map from P to P. Similarly {figi} is chain homotopic to the identity map from P' to P'.

{fi} and {gi} form a chain equivalence between P and P'.

This result completes our introduction of projective resolutions. It is the primary step towards making a definition of Tor. Without it Tor would not be a well defined functor.

Tor and Its Properties

We now define Tor. Tor is just the homology of a projective resolution tensored with an R-module. It is a functor of two R-modules: the module that the projective resolution is over, and the module that the projective resolution is tensored by. The results of the previous section show that Tor does not depend on the projective resolution used, but only on the module it is over. This makes Tor a well defined functor of two R-modules.

Let M and N be R-modules. Let P be a projective resolution of M. P= 0000Pq 0000Pq-1 0000 0000P0 0000M 00000. Define the chain complex PN by 0000 PqN 0000 Pq-1N 00000000 P0N 00000. The functor Tor is defined by Torq(M,N) = Hq(PN).

The following corollaries of Theorem 4.6 show that Tor is well defined and does not depend on P.

Let f and g be the chain equivalence between two projective resolutions P and P' over M as given in Theorem 4.6. Let 1 be the identity map between N and itself. Then f1: P'N PN and g1: PN P'N are chain maps and (f1) (g1) is homotopic to the identity between PN and itself, and (g1) (f1) is homotopic to the identity between P'N and itself.

(f1)*: Hq(PN) Hq(P'N) is an isomorphism.

This proves that Tor is a well defined functor. Tor1(M,N) is usually written simply as Tor(M,N).

Several properties of Tor are immediate. We derive some of these. Most of these results arise from special properties of the ring R. The following proposition holds for all R-modules.

Tor0(M,N) is isomorphic to MN.

If P={Pq} is a projective resolution then the sequence 0000 P2 2 P1 1 P0 ϵ M00000 is exact. Tensoring by N gives an exact sequence P1N 11 P0N 0000 MN 00000. Thus MN = (P0N) im(11) = H0(PN).

The following propositions and examples apply to the ring .

If R= then Torq(M,N)=0 for all q2.

If R= then every projective R-module is free. Thus, if F is free the sequence 00000 kerj0000 F0000 M00000 is exact and forms a projective resolution P over M. We see that Pq=0, and that Hq(PN)=0 for q2.

If R= and m then Tor(/m,N) = {nN  |  mn=0}.

In general if F is free and 00000 E0000 F0000 M00000 is an exact sequence of modules then Tor(M,N) = ker(i×1), where 1 is the identity map on N. If P=0 0000 ×m 0000/m 00000 (×m is the map given by multiplication by m) then PN is 00000 N×m N00000. The proposition follows.

Summarizing, we have the following properties of Tor for -modules (abelian groups):

  1. Tor0(M,N)=MN.
  2. Torq(M,N)=0 for q2.
  3. Tor(,N)=0.
  4. Tor(/m,N) = ker (N×mN) for m.
  5. Tor(/m,/n) = /gcd(m,n) for m,n.

If R is a field, then Torq(M,N)=0 for all q>0.

10 If R is a field, an R-module is a vector space. Thus, every R-module has a basis and is free. So 00000 M0000 M00000 is a projective resolution over M.

These results completely describe the action of Tor on abelian groups and vector spaces.

Tor(M,N) has a very important property. It is commutative. We will prove this only in the case R=, but it is true in general. The following two results are important tools for working with Tor. We will use them to show that Tor is commutative over abelian groups. Both of these results derive from the long exact sequence theorem of homology.

Suppose that 00000 N'0000 N0000 N''00000 is an exact sequence of R-modules. Then there exists a long exact sequence 0000 Torq(M,N') 0000 Torq(M,N) 0000 Torq(M,N'') 0000 Torq-1(M,N') 0000 for every module M.

The proposition follows from the long exact sequence theorem for homology provided that 00000 PN' 0000 PN 0000 PN'' 00000 is an exact sequence of chain complexes. Since 00000 N' iN 0000 N'' 00000 is exact, PqN' 0000 PqN 0000 PqN'' 00000 is exact.

We show that since i:N'N is injective, so is i': PqN' PqN, where i'=1i and 1 is the identity on Pq. Let i'': PqN' PqN be given by i''=1i, where 1 is the identity on Pq. Given a projective module P, there exists a free module F=kR such that PP'=F for some module P'. Consider the map i'i'': (PqN') (PqN') (PqN) (PqN) given by i'i''. Now (PqN') + (PqN') = FN' = kN', and similarly (PqN) (PqN) = kN. So i'i'' = ki. Since i is injective i'i'' is injective. Therefore i' is injective.

Thus, the sequence 00000 PqN' 0000 PqN 0000 PqN'' 00000 is exact and the proposition follows from the long exact sequence theorem.

If 00000 M'0000 M0000 M''00000 is an exact sequence of R-modules, then there exists a long exact sequence 0000 Torq(M',N) 0000 Torq(M,N) 0000 Torq(M'',N) 0000 Torq-1(M',N) 0000 for every module N.

We know that projective resolutions P' and P'' exist over M' and M'' respectively. By diagram chasing it can be shown that there is a surjective map from P0'P0'' to M, and thus that P'P'' is a projective chain complex over M. Since 00000 P'0000 (P'P'') 0000 P''00000 is a split short exact sequence of chain complexes, 00000 P'N 0000 (P'P'')N 0000 P''N 00000 is a short exact sequence of chain complexes. The proposition follows from the long exact sequence theorem.

The following proposition shows that Tor is commutative if R=.

If R=, then Tor(M,N) = Tor(N,M).

First we show that Tor(M,F)=0 for any free module F=k. 00000 kerj0000 F0000 N00000 is a projective resolution. 00000 kerjF 0000 FF 00000 is the same as 00000 kkerj 0000 kF 00000. Computing homology on k ( 00000 kerj0000 F00000 ) gives Tor(M,F)=0.

The exact sequence 00000 G=kerj0000 F0000 N00000 and Propositions 5.8 and 5.9 give the exact sequences 00000 Tor(M,G) 0000 Tor(M,F) 0000 Tor(M,N) 0000 MG 0000 MF 0000 MN 00000 and 00000 Tor(G,M) 0000 Tor(F,M) 0000 Tor(N,M) 0000 GM 0000 FM 0000 NM 00000. These reduce to 00000 00000 Tor(M,N) 0000 MG0000 MF0000 MN00000, and 00000 00000 Tor(N,M) 0000 MG0000 MF0000 MN00000. Thus, Tor(M,N)=Tor(N,M).

This completes our discussion of Tor. We have defined Tor and derived some of its properties. The projective resolutions used to define Tor and the results necessary to show that Tor is well defined were preceded by the relevant definitions and results of basic algebra and algebraic topology. As a composite this forms a complete and precise exposition of Tor.


Tor is only one of the functors used in algebraic topology. Tensor products, Hom, Ext, and Tor all have similar properties over fields and -modules. We have used tensor products extensively in this paper. The definition of Ext is very similar to the definition of Tor. Hom is used to define cohomology. The most powerful immediate application of these functors is in proving the universal coefficient theorems for homology and cohomology.

Homological algebra yields many tools that are useful in the study of algebraic topology. The applications of this algebra are fascinating and every mathematician should study them. I, however, will leave the future education of the reader in the hands of Munkres [Mu] and Spanier [Sp].

I am indebted to Professor F. Peterson for teaching me everything I know about algebraic topology. Most of the material in this paper was taken from his lectures for 18.905 Algebraic Topology, at MIT. I owe special thanks to all my professors at MIT for teaching me the art of mathematics, a task that required lots of patience on their part.


[AM] Atiyah, M.F., and MacDonald, I.G., Introduction to Commutative Algebra, Addison-Wesley, 1969.

[Mu] Munkres, J.R., Elements of Algebraic Topology, Benjamin/Cummings, 1984.

[P] Peterson, F., Lectures for 18.905 Algebraic Topology, MIT, Fall 1986.

[Ps] Peterson, F., "The Start of Homological Algebra": Problem Set 2 for 18.905 Algebraic Topology, MIT, Fall 1986.

[Sp] Spanier, E., Algebraic Topology, McGraw-Hill, 1966; Springer-Verlag, 1982.

These notes are taken from

[R] Ram, A., An Introduction to Tor: Definitions and Properties, 18.905 Algebraic Topology, F. Peterson, March 1, 1987.

page history