Recall the following theorem, due to Hilbert. Let {k} be a field, and {S=k[x_0,...,x_n]} considered as a graded ring, and take {M} any finitely generated graded {S}-module. Then there is a free resolution of {M} of length at most {n+2}. This theorem is important because applying it in the case {M=S/I} for {I} a homogeneous ideal (i.e. to a projective variety), it tells us that the Hilbert polynomial exists and gives an explicit bound on its degree.

I had always assumed this theorem was in some sense fairly deep or hard, but in Chan’s scheme theory course today we saw that it’s actually a small amount of some fairly basic homological algebra.

Step 1: Do the case M=k, where each {x_i} acts as the zero homomorphism. I would rather not do the details of this in a blog post, but it isn’t very hard, and you if you try to write down a resolution that’s as efficient as possible, you should end up with a resolution of length {n+2}, which usually seems to be given the intimidating name `the Koszul complex’.

Step 2: Let {M} now be arbitrary, and consider a minimal free resolution {... F_n \rightarrow F_{n-1} \rightarrow ... \rightarrow F_0 \rightarrow M \rightarrow 0} (in the sense that the first map has the smallest possible number of generators, then the second one does, and so on). By minimality, for all {k\geq 1} a basis element of {F_k} must be mapped to an element with no constant term in any coefficient. Indeed, if {e \in F_{k+1}} is mapped to {(p_1,...,p_l) \in F_k}, each {p_i} is homogeneous (since the maps are maps of graded modules) and if some {p_i} is constant, since {k} is a field and {(p_1,...,p_l)} is in the kernel of {F_k \rightarrow F_{k-1}}, we see that the basis vector {e_i} maps to an element that is expressible as a linear combination of the image of the other {e_j}s, contradicting minimality. What this observation buys us is that if we take such a complex and tensor it with the {S}-module {k}, we get a complex

\displaystyle ... \rightarrow F_n \otimes_S k \rightarrow ... \rightarrow F_1 \otimes_S k \rightarrow F_0 \otimes_S k \rightarrow M \otimes_S k \rightarrow 0,
and all of the maps save the first one are the zero map.

Step 3: Use the fact that {A \otimes B = B \otimes A}, or more generally that {Tor_i(A,B) = Tor_i(B,A)}. This really is the key ingredient. Knowing that the above maps are zero, we see that the rank of {F_j} is just the rank of {Tor_j^S(M,k)}. And this is the rank of {Tor_j^S(k,M)}, which can be computed by as the homology of the complex obtained by tensoring the Koszul complex with {M}. In particular, we see that it vanishes for {i>n+1}, so Hilbert’s theorem is proved.