Every surjective homomorphism $\alpha : \mathbb{Z}^3 \rightarrow \mathbb{Z}^3$ is isomorphism 
Let $ \alpha : \mathbb{Z}^3 \rightarrow \mathbb{Z}^3$ be a surjective homomorphism. Prove that $\alpha$ is isomorphism.

I'm not sure how to approach this... Why does every surjective homomorphism has to be isomorphism?
 A: Take $v_1=\alpha(1,0,0)$, $v_2=\alpha(0,1,0)$, and $v_3=\alpha(0,0,1)$. Since $\alpha$ is surjective, $\mathbb{Z}^3=\langle v_1,v_2,v_3\rangle$ and therefore $v_1$, $v_2$, and $v_3$ are linearly independent over $\mathbb Q$. But then$$(\forall\alpha_1,\alpha_2,\alpha_3\in\mathbb{Q}):\alpha_1v_1+\alpha_2v_2+\alpha_3v_3=0\implies\alpha_1=\alpha_2=\alpha_3=0.$$In other words, $\ker\alpha=\{(0,0,0)\}$.
A: Here's a more general proof than the one using $\mathbb{Q}$. 
Consider $(\mathrm{ker}(\alpha^n))_n$: it's an increasing sequence of subgroups of $\mathbb{Z}^3$, therefore it is stationary : for some $n>0$, $\mathrm{ker}(\alpha^{2n}) = \mathrm{ker}(\alpha^n)$. 
But $\alpha^n$ is also surjective, because $\alpha$ is. So if $\alpha (x)=0$, $\alpha^n(x)=0$. But also $x=\alpha^n(y) $ for some $y$, so $\alpha^{2n}(y)=0$, so $\alpha^n(y) =0$, so $x=0$.
The only thing I used is that an increasing sequence of subgroups of $\mathbb{Z}^3$ is stationary. So there are two interesting generalizations : this will work for any group that has this property; but also if $R$ is a noetherian ring, this will work for $R$-linear maps $R^n\to R^n$.
