One the proofs that I've never felt very happy with is the classification of finitely generated abelian groups (which says an abelian group is basically uniquely the sum of cyclic groups of orders $a_i$ where $a_i|a_{i+1}$ and a free abelian group).

The proof that I know, and am not entirely happy with goes as follows: your group is finitely presented, so take a surjective map from a free abelian group.  The kernel is itself finitely generated (this takes a little argument in and of itself; note that adding a new generator to a subgroup of free abelian group either increases dimension after tensoring with $\mathbb{Q}$ or descreases the size of the torsion of the quotient), so our group is the cokernel of a map between finite rank free groups.  Now, (and here's the part I dislike) look at the matrix for this map, and remember that it has a Smith normal form.  Thus, our group is the quotient of a free group by a diagonal matrix where the non-zero entries are $a_i$ as above.

I really do not think I should have to algorithmically reduce to Smith normal form or anything like that, but know of no proof that doesn't do that.

By the way, if you're tempted to say "classification of finitely generated modules for PIDs!" make sure you know a proof of that that doesn't use Smith normal form first.

I reject the premise of the question.  :-)

It is true, as Terry suggests, that there is a nice dynamical proof of the classification of finite abelian groups.  If $A$ is finite, then for every prime $p$ has a stable kernel $A_p$ and a stable image $A_p^\perp$ in $A$, by definition the limits of the kernel and image of $p^n$ as $n \to \infty$.  You can show that this yields a direct sum decomposition of $A$, and you can use linear algebra to classify the dynamics of the action of $p$ on $A_p$.  A similar argument appears in Matthew Emerton's proof.  As Terry says, this proof is nice because it works for finitely generated torsion modules over any PID.  In particular, it establishes Jordan canonical form for finite-dimensional modules over $k[x]$, where $k$ is an algebraically closed field.  My objection is that finite abelian groups look easier than finitely generated abelian groups in this question.

The slickest proof of the classification that I know is one that assimilates the ideas of Smith normal form.  Ben's question is not entirely fair to Smith normal form, because you do not need finitely many relations.  That is, Smith normal form exists for matrices with finitely many columns, not just for finite matrices.  This is one of the tricks in the proof that I give next.

Theorem. If $A$ is an abelian group with $n$ generators, then it is a direct sum of at most $n$ cyclic groups.

Proof. By induction on $n$.  If $A$ has a presentation with $n$ generators and no relations, then $A$ is free and we are done.  Otherwise, define the height of any $n$-generator presentation of $A$ to be the least norm $|x|$ of any non-zero coefficient $x$ that appears in some relation.  Choose a presentation with least height, and let $a \in A$ be the generator such that $R = xa + \ldots = 0$ is the pivotal relation.  (Pun intended. :-) )

The coefficient $y$ of $a$ in any other relation must be a multiple of $x$, because otherwise if we set $y = qx+r$, we can make a relation with coefficient $r$.  By the same argument, we can assume that $a$ does not appear in any other relation.

The coefficient $z$ of another generator $b$ in the relation $R$ must also be a multiple of $x$, because otherwise if we set $z = qx+r$ and replace $a$ with $a' = a+qb$, the coefficient $r$ would appear in $R$.  By the same argument, we can assume that the relation $R$ consists only of the equation $xa = 0$, and without ruining the previous property that $a$ does not appear in other relations.  Thus $A \cong \mathbb{Z}/x \oplus A'$, and $A'$ has $n-1$ generators. □

Compare the complexity of this argument to the other arguments supplied so far.

Minimizing the norm $|x|$ is a powerful step.  With just a little more work, you can show that $x$ divides every coefficient in the presentation, and not just every coefficient in the same row and column.  Thus, each modulus $x_k$ that you produce divides the next modulus $x_{k+1}$.

Another way to describe the argument is that Smith normal form is a matrix version of the Euclidean algorithm.  If you're happy with the usual Euclidean algorithm, then you should be happy with its matrix form; it's only a bit more complicated.

The proof immediately works for any Euclidean domain; in particular, it also implies the Jordan canonical form theorem.  And it only needs minor changes to apply to general PIDs.
