Basis of a module I know that not all modules have bases, and those that do are called free modules. I know that all vector spaces have bases, and that a module $M$ over $R$ becomes a vector space if $R$ is a division ring. So my question is, why is it that $R$ being a division ring allows $M$ to have a basis?
Thanks for any replies.
 A: [Note: I came across this great question, which Jack Schmidt answered in the form of a comment. This answer is partially a transcription of Jack Schmidt's comment with minor formatting improvements and additional comments. I posted in order to improve searches and mark the question as answered, and do not claim credit for it. Note that any up- or downvotes will change my reputation even though the answer is largely Jack Schmidt's.]
To find a basis for $M$, take a generating set $X = \{{\bf x_i} \} \subset M$. If it is not linearly independent, then there are numbers $a_i \subset R$ so that $\sum_i a_i\, {\bf x}_i = {\bf 0}$. Solve for ${\bf x}_1$ to get
$${\bf x}_1 = -\sum_{i > 1} (a_1)^{-1} a_i\, {\bf x}_i.$$
Now ${\bf x}_2, \dots$ are still a spanning set and are closer to being linearly independent. Repeat this until you get a basis. The only thing that can go wrong: what if $(a_1)^{-1}$ doesn't exist. The key step is being able to divide. Hence division rings.
[Additional comments from tparker: If the set $X$ is only one element too large, then the equation above indicates how to express an arbitrary element ${\bf x}_1$ as a linear combination of elements of the basis $\{ {\bf x}_2, \dots, {\bf x}_n \}$. If it's $k>1$ elements too large, then you need to keep track of a system of $k$ equations of the form above. Once you've gotten the original set down to a basis $B = \{ {\bf x}_{k+1}, \dots, {\bf x}_n \} \subset X$, you need to recursively plug each equation into the previous one in reverse order, expanding out each ${\bf x}_i$ in terms of the basis elements in $B$, starting with ${\bf x}_k$.]
