Flat modules

Saturday, October 30th, 2010 | Author:

What is a flat module? How should I think of it?

To answer that question, I will provide some background, then define what a flat module is, clarify the definition by means of example and counter-example and finally show some nice and useful properties which you can memorize later by doing exercises. If you're lost, take a look at the references below.

Some far-fetched motivation to understand flat modules:

Flat modules are the "local" model for flat morphisms of schemes. Flatness is an essential part of the definition of étale morphisms. Etale morphisms are used in the definition of étale cohomology, which was used by Deligne 1974 to prove an analogue of the Riemann hypothesis over finite fields. The proof of the Riemann hypothesis over finite fields finished the proof of the Weil conjectures, some of the most influential conjectures in algebraic geometry.

You think you already know flat modules are? Then look if you can do all the exercises!

I have to admit that this whole blog-post is more an experiment for me than an article for you. I tried to explain flat modules in an intuitive-but-accurate manner to someone who doesn't know what modules or tensor products are, assuming just the definition of a ring. I tried to convey something interesting about flat modules to those who already know tensor products but never managed to take a look at flat modules. Here and there I used the scary word "functor" but I think the text degrades gracefully. Like in Wikipedia, this text is written for a very mixed audience, just one with a higher mean value estimate of math knowledge than in Wikipedia. If I find some time, an article about the geometric side in scheme theory, discussing flat and étale morphisms, will follow.


You have to know what a (unitary) ring and an abelian group are. You may have heard about modules, tensor products and exact sequences, too. To refresh you knowledge a little bit (or to explain it to you in the first place), let me describe modules, tensor products and short exact sequences here. If you know this good enough, skip directly to the definition of flat modules.

An R-module is an abelian group M on which the ring R acts, which just means that there is a group homomorphism R×M → M which tells you how to multiply the ring elements with the group elements. This group homomorphism, let's call it φ, is required to satisfy φ(rr',m) = φ(r,φ(r',m)). It is very important to distinguish different modules which have the same underlying group but different homomorphisms for the ring element multiplication. To be precise, what I have defined is a left R-module, and if the homomorphism would've been of the kind M×R → M, satisfying φ(m,rr') = φ(φ(m,r),r'), it would've been a right module. Since everybody gets tired of writing many greek letters, it is convenient to write r.m instead of φ(r,m) (for r∈R and m∈M, a left R-module). A good class of examples for modules are ideals of a ring. Make sure you understood the difference between left- and right-modules.

An R-module homomorphism is just a group homomorphism that "commutes" with the multiplication of elements from R. So if ψ : M → N wants to be a left-R-module morphism, then M and N have to be left R-modules and ψ(r.m)=r.ψ(m) is required to hold.

Now there is the notion of a tensor product of two modules, where you take a left R-module N and a right R-module M (for some commutative unitary ring R, of course) and form the group M⊗N, or with an even better notation:

M \otimes_R N

which is defined to be the abelian group with the universal property that every group homomorphism ψ from M×N to some other abelian group A which is R-bilinear (which means ψ(m.r,n)=ψ(m,r.n)) factors though it (that means such a ψ decomposes as a (unique) R-bilinear group homomorphism from M×N to M⊗N followed by a group homomorphism from M⊗N to A. The elements in the image of the R-bilinear group homomorphism M×N → M⊗N are written m⊗n (for the image of (m,n)).

Some people prefer a more direct approach to tensor products. To prove that tensor products actually exist, you can define them by a quotient of the freely generated abelian group over M×N:

M \otimes_R N := {\mathbb{Z}(M \times N)}/{relations}

where the relations are given by the subgroup generated by the elements

 \forall r \in R,\ m\in M,\ n\in N :

 (m.r,n) - r(m,n),\ (m,r.n) - r(m,n),\ (m+m',n)-(m,n)-(m',n),\ (m,n+n')-(m,n)-(m,n')

and then prove that there is a unique group homomorphism like in the definition above...

It is very important that the tensor product is not, as a set, just the collection of items of the type m⊗n but also of their formal linear combinations!

The tensor product does something with homomorphisms, too: take a right-R-module homomorphism ψ : M → N and a left R-module Q, then you can build a group homomorphism ψ⊗Q : M⊗Q → N⊗Q. It is defined via an R-bilinear homomorphism M×Q → N⊗Q which sends each pair (m,q) to the element ψ(m)⊗q. By the definition of the tensor product, this R-bilinear homomorphism factors into two maps, one of them is of the form M⊗Q → N⊗Q.
This is sometimes expressed with the words "⊗Q is a functor".

We also need the notion of short exact sequences. A short exact sequence of left (resp. right) R-modules consists of three left (resp. right) R-modules N, M, P and left-(resp. right)-module homomorphisms between them, such that

 0 \to N \to M \to P \to 0

the first from N to M is injective (a monomorphism), the second one from M to P is surjective (an epimorphism) and the image of the first one equals the kernel of the second one (exactness at M).

Similarly, a short exact sequence of abelian groups consists of the same data, just that the homomorphisms aren't required to be module homomorphisms but just group homomorphisms and that the objects N, M, P can be ordinary abelian groups without any additional module structure.


A left R-module M is called flat, if the tensor product ⊗ M with it converts short exact sequences of right R-modules into short exact sequences of abelian groups (which some people prefer to express with "the functor ⊗M is exact").

First note that ⊗ M always preserves the surjectivity of the second map in the short exact sequence, and it also preserves the exactitude at the middle (so the kernel of the second map is the same as the image of the first map). This is sometimes phrased "the functor ⊗M is always right-exact". What could go wrong is the injectivity of the first map. To distinguish between modules M that preserve injectivity of the first map by tensoring from the right (doing ⊗M) and those who don't, we use the word flat.

To prove right-exactitude of ⊗ M is a good exercise.


Let's take Z, the integers, as our base ring R. The first module to look at is ... Z, where we let Z act on itself via multiplication. The same works for any quotient of Z. Look at this short exact sequence of right-Z-modules:

 0 \to \mathbb{Z} \to \mathbb{Z} \to \mathbb{Z}/_{2\mathbb{Z}} \to 0

where the first map is multiplication by 2 and the second map is projection onto the quotient by the ideal that is generated by 2.

Now we're tensoring this sequence with the left-Z-module Z:

 \mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z} \rightarrow \mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z} \rightarrow \mathbb{Z}/_{2\mathbb{Z}} \otimes_{\mathbb{Z}} \mathbb{Z}

Now you should know that for every ring R which is taken as a right-R-module over itself, the tensor product does nothing: for any left-R-module M the abelian group R⊗M is isomorphic to M again, where the isomorphism is explicitly given by multiplication, the inverse being the homomorphism which sends m to 1⊗m, where 1 is used to denote the unit element of the ring R. In the same fashion, N⊗R is isomorphic to N for every right-R-module N.

In our case, this reduces the sequence after tensoring to the sequence


but let's pay attention to the homomorphisms!
We need to show that the first homomorphism in this new sequence is injective. It is, by definition, given by composition of these morphisms:

 \mathbb{Z} \xrightarrow{z \mapsto z\otimes 1} \mathbb{Z}\otimes\mathbb{Z} \xrightarrow{\overline{\cdot 2}} \mathbb{Z}\otimes\mathbb{Z} \xrightarrow{mult} \mathbb{Z}

where I have written \overline{\cdot2} the homomorphism induced by \mathbb{Z} \xrightarrow{\cdot2} \mathbb{Z} via the tensor product. Looking carefully at the definition of \overline{\cdot2}, we conclude that this new homomorphism is nothing but the good old multiplication by 2. So this is injective and thus the sequence exact. Have we proved that Z is a flat left Z-module? No, for this we have to look at all short exact sequences, not just particular ones.

The arguments used here can be used to prove the more general statement, that every ring, thought of as a left module over itself, is flat. This is another good exercise.

Now let's take the same sequence as above


but tensor it with \mathbb{Z}/_{2\mathbb{Z}}.
This leads to the sequence

 \mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z}/_{2\mathbb{Z}} \rightarrow \mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z}/_{2\mathbb{Z}} \rightarrow \mathbb{Z}/_{2\mathbb{Z}} \otimes_{\mathbb{Z}} \mathbb{Z}/_{2\mathbb{Z}}

which can be simplified to the sequence


by looking at the first homomorphism the same way as before, we see that it is a composition of three homomorphisms:

 \mathbb{Z} \xrightarrow{x \mapsto 1 \otimes x} \mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z}/_{2\mathbb{Z}} \xrightarrow{x\otimes y \mapsto (x\cdot 2) \otimes y} \mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z}/_{2\mathbb{Z}} \xrightarrow{z\otimes y \mapsto z\cdot y} \mathbb{Z}

and this composition turns out to be ... 0! At the end we multiply elements of \mathbb{Z}/_{2\mathbb{Z}} with multiples of 2, so the image contains nothing but 0. Since \mathbb{Z}/_{2\mathbb{Z}} does contain slightly more, the homomorphism is not injective. This proves that \mathbb{Z}/_{2\mathbb{Z}} is not a flat left-Z-module (in other words: it's not flat over Z).


We will occasionally talk about localisation here. If you don't know that concept yet, just skip those parts. On the other hand, if you want to understand flat morphisms in geometry, you need to learn how localisation works and it doesn't hurt to learn it now.

  • Abelian groups as modules and torsion.
    • Abelian groups are Z-modules (as well left as right ones): for n a natural number and g a group element, define n.g to be g + g + ... + g, the sum of g with itself, n times. Define -1.g to be -g and then (-n).g = -(n.g) = n.(-g). For multiplicative notation you would use -1.g := g⁻¹ and n.g := g^n.
    • Groups have a notion of torsion elements, which are the elements g for which you can find a non-zero natural number n such that n.g = 0. There is always a trivial torsion element: 0. A group is called torsion-free, if 0 is the only torsion element contained in the group.
    • An abelian group is torsion-free, if and only if it is flat over Z.
    • A special case of this theorem is the failure of \mathbb{Z}/_{2\mathbb{Z}} to be flat over Z because it has the torsion element 1. We can apply it to more things that happen to be abelian groups: a ring of polynomials with integer coefficients, like Z[x,y], is a torsion-free abelian group and therefore a flat Z-module.
    • How to prove this theorem? Take a monomorphism φ : H→G, tensor it with a torsion-free abelian group A, suppose the induced morphism has a non-empty kernel, take an element out of the kernel and look at it like a linear combination of h⊗a's. Then there must be a summand h⊗a which isn't zero, but φ(h)⊗a = 0. From this you can derive that there is some integer n different from zero such that φ(h) = g.n and n.a=0 since an elementary tensor (i.e. one of the form h⊗a) is only zero if one of the components is, and φ(h) is not zero. If the n you found is negative, then (-n).(-a)=0 and -n is positive. So every torsion-free abelian group is flat.
    • What about every flat abelian group A being torsion-free? You can prove that analogous to the integer case, which is a good exercise.
    • The notion of torsion is valid for general rings and one has the result that flat modules are always torsion-free. Conversely, there exist torsion-free modules that aren't flat. For Dedekind domains (thus for PIDs like Z), the class of torsion-free modules and the class of flat modules coincide.
  • Easy cases / local cases.
    • Let k be a field. Then a module M over k is just a vector space and the existence of a basis theorem says that vector spaces are direct sums of copies of k, so M is free and therefore flat (see the exercises).
    • Let A be a DVR (a discrete valuation ring). That means A has only one non-zero maximal ideal m which is also a principal ideal m=〈x〉. As a consequence, all other ideals are of the form m^k=〈x^k〉 and the elements not in m are exactly the invertible elements. So a DVR is something relatively "close" to a field (which can be characterised as a ring without non-zero maximal ideals). Take A=k[X]/(X³) as an example, where the ideals are (X), (X²) with (X) being maximal.
      Over a DVR, you can already find modules that aren't flat, for example A/m over A, or more generally A/〈x^k〉 over A. The flat modules are those where m operates trivially, so they are in fact A/m-modules, thus vector spaces. This is a special instance of a more general theorem, since DVRs are exactly those Dedekind domains which are local rings.
    • Local rings (not necessarily Dedekind domains) admit torsion-free modules which aren't flat. This has something to do with the unique maximal ideal of a local ring, which might be non-principal and torsion is a notion adapted to elements, thus principal ideals.
  • Projective modules and (local) finiteness assumptions.
    • Projective modules are direct summands of free modules (you can take that as a definition). Another definition would be to say they're the projective objects in the category of modules, which means that every homomorphism starting from a projective module lifts (not necessarily unique) over epimorphisms (this diagram at Wikipedia shows it). It turns out that projective modules are always flat. If you already know that free modules are flat and that summands of flat modules are flat, you have a proof. Not all flat modules are projective, for instance Q is flat over Z, but not projective.
    • free ⇒ projective ⇒ flat ⇒ torsion-free
    • It's natural to ask what condition it takes for a flat module to be projective. It's not easy to prove, but the condition is that the module has to be finitely presented over the ring. For the proof, you need a little bit of homological algebra, it's in D. Lazard, Autour de la platitude, Bull. Soc. Math. France 97 (1969), p.81--128
    • Another relation between flat and free: a finitely generated module M over a commutative ring R is flat if and only if it is locally free. Locally free means, that the localisation Mp is a free module over the localised ring Rp for every prime ideal p of R (or, equivalently, for every maximal ideal). In geometry, when modules are often finitely generated spaces of "generalised functions", you can therefore think of being flat as being locally free.
    • If you want to over-simplify for intuition, think of a flat module as a space of functions that has, when looked at on a small scale, a basis on each point. This intuition is more precise in the language of sheaves.
  • Rings that are modules over R are called R-algebras.
    • I'm assuming R and S to be commutative here, so we won't worry about left- and right- modules. An R-algebra-structure of a ring S is the same as a ring homomorphism f : R → S. Therefore, one can ask for every ring homomorphism, if it is flat. This means, asking if the target S is flat as an R-module.
    • The notion of flatness can be further refined to discuss faithfully flat modules. Those are defined to be modules for which the sequences that are exact after tensoring with the module are exactly the sequences that were exact before (so tensoring does not only preserve exact sequences but also it doesn't create additional exactitude).
    • S is faithfully flat over R if and only if every prime ideal of R is the inverse image under f of a prime ideal in S. In other words, if and only if the induced map f* : Spec(S) → Spec(R) is surjective. The set Spec(R) is defined to be the collection of all prime ideals. Spec(R) carries a natural topology (the Zariski topology), so there is a geometric meaning of this.
    • The composition of two flat ring homomorphisms is again a flat ring homomorphism, since (M⊗B)⊗C) = M ⊗ (B⊗C), where B is an A-algebra and M an A-module and C a B-algebra.
  • The Tor functor.
    • Flat modules are exactly the acyclic objects for the Tor functor, so flat resolutions can be used to compute Tor groups explicitely. In practice, one often sees projective or free resolutions, which is fine, since free modules are projective and projective modules are flat, so these are flat resolutions.
    • In Atiyah-MacDonald you'll find more on Tor groups and five good exercises to learn computing them.

Further reading

Take a look at these sources if you're lost with my writing or if you want to know more.


  1. Prove that the explicit quotient-of-free-group definition of a tensor product given above is correct, that means, show that there is a unique homomorphism as required and that every other thing that satisfies the abstract definition is isomorphic to the explicit one. (The second part might be a bit hard if you've seen tensor products for the first time).
  2. Prove that ⊗Q is right-exact, that means, that for every short exact sequence of right-R-modules M→N→P and every left R-module Q the sequence Q⊗M → Q⊗N → Q⊗P is right-exact (that means, exact at Q⊗N and the second map is surjective).
  3. Prove that every ring is flat over itself, that means, that for every ring R and every injective homomorphism of right R-modules M→N, the group homomorphism R⊗M → R⊗N is injective.
  4. Use the previous exercise to prove that every free module is flat. Hint: try to prove some statement about sums of flat modules.
  5. Prove that every flat abelian group is torsion-free.
  6. Generalise the results for abelian groups to general PIDs: every module over a PID is torsion-free if and only if it is flat.
  7. Find an algebra that isn't flat but has a flat non-trivial direct summand.
  8. Find an algebra that is flat but has a non-flat quotient.
  9. Find an algebra that isn't flat but has a flat non-trivial quotient.
  10. Prove that the localisation of a commutative ring R to a multiplicative subset S is a flat module S⁻¹R over R.
  11. Prove that a module M is flat over a ring R if and only if for all prime ideals p of R, the localised module Mp is flat over the localised ring Rp.
  12. Make your intuition about free, projective and flat modules in geometry more precise by looking at the (classical, vector bundle) Serre–Swan theorem.

If you need any hints to these exercises, leave a comment.

Category: English, Mathematics

Comments are currently closed.