How can a $k\times (k-m)$ matrix be multiplied by a $k\times m$ matrix? While reading a book on differential geometry, I came across this line:

Since the differential $d\psi_0(x_0):\mathbb R^m\to \mathbb R^k$ is injective, there is a matrix $B\in \mathbb R^{k\times (k-m)}$ such that $$det(d\psi_0(x_0)B)\neq 0$$. My question is: How can a $k\times m$ matrix be multiplied by a $k\times (k-m)$ matrix? What does the author actually want to say? And how can we prove the theorem he used?

 A: (Revised on the basis of pxc3110's comment:) 
The author probably wants to say that 
$$
det((d\psi_0(x_0)|B))\neq 0\
$$
where the $(P|Q)$ notation means "take the $k \times m$ matrix $A = d\psi_0(x_0)$ and append to it $m-k$ more columns, i.e., an $k \times (m-k)$ matrix $B$ to get an invertible matrix. 
Here's the reason you can do that. The matrix $A$ has rank $m$ because the map's injective. Its columns $a_1, \ldots, a_m$ are therefore $m$ independent vectors in $\mathbb R^k$. We can therefore extend these to a basis of $\mathbb R^k$ by including $m-k$ more $k$-vectors $c_1, \ldots, c_{m-k}$, which when laminated together give a matrix $B$ of size $k \times (m-k)$.
One of my favorite ways to find these remaining vectors is to take the vectors 
$$
a_1, a_2, \ldots, a_m, e_1, \ldots, e_k
$$
(where the $e_i$ are the standard basis vectors) and perform the Gram-Schmidt operation on them, with the additional rule that if at any time you get a zero vector, you eliminate it from consideration. The result will always be a basis, because (1) After $p$ steps of GS, you have vectors whose span is the same as that of the first $p$ vectors. (2) Eliminating a zero-vector doesn't change the span, and (3) after $m+k$ steps, you include the span of all the $e_i$s, which is the whole space. 
Yeah, it's overkill...but it's dead simple. :)
