Proving that $\operatorname{rank}(AB)$ is smaller or equal to $\operatorname{rank}(B)$ I am struggling with proving the theorem that if $A$ and $B$ are $n\times n$ matrices, then:

$$\operatorname{rank}(AB)\leq \operatorname{rank}(B)$$

Could anyone suggest me a hint?
Any help is greatly appreciated, thank you very much.
 A: Every row of $AB$ is a linear combination of the rows of $B$. Therefore, the dimension of the row space of $AB$ cannot be bigger than the dimension of the row space of $B$.
To see that every row of $AB$ is a linear combination of the rows of $B$, just look at how matrix multiplication is done: the $k$th row of $AB$ is $A_k B$ where $A_k$ is the $k$th row of $A$.  There are as many scalars in that row as there are rows of $B$.  The $\ell$th entry in the row $A_k$ gets multiplied by the $\ell$ row of $B$, and then those get added up from $\ell=1$ to $\ell=$ the number of rows of $B$.
A: HINT:
Look at those matrices as linear transformations and use Rank-nullity theorem.
A: here is another way too look at it. every row $i$ of $AB$ is a linear combination of the rows of $B$ weighted by the row $i$ of $A.$ therefore the row space of $AB$ is contained in the row space of $B.$ now use the fact that rank of matrix is the dimension of its row space.
A: let the vecotor x ϵ c(AB). c(AB) denotes the column space of AB. then 
x=ABy for some vector y
x=Az ϵ c(AB) ,where z=by
hence c(AB) is a subspace C(A)
=>dim[c(AB)] ≤dim c(A)
rank(AB)≤rank(A)
