Let A be a commutative ring with 1 not equal to 0.  (The ring A is not necessarily a domain, and is not necessarily noetherian.)  Assume we have an injective map of free A-modules A^m -> A^n.  Must we have m <= n?

I believe the answer is yes.  For instance, why is there no injective map from  A^2 -> A^1?  Say it's represented by a matrix (a_1 a_2).  Then clearly (a_2, -a_1) is in the kernel.  In the A^{n+1} -> A^{n} case, we can look at the n x (n+1) matrix which represents it; call it M.  Let M_i denote the determinant of the matrix obtained by deleting the ith column.  Let v be the vector (M_1 -M_2 ... (-1)^nM_{n+1}).  Then v is in the kernel of our map, because the vector M*v^T has ith component the determinant of the (n+1) x (n+1) matrix attained from M by repeating the ith row twice.

That almost finishes the proof, except it is possible that v is the zero vector.  I would like to see either this argument finished, or, even better, a nicer proof.

Thank you!