Q:

Prove that if an invertible matrix $\mathbf A$ has a left inverse $\mathbf{B}$ and a right inverse $\mathbf{C}$, then $\mathbf{B} = \mathbf {C}$

I am asked to prove following proposition:

Proposition 1. If an invertible matrix $\mathbf A$ has a left inverse $\mathbf{B}$ and a right inverse $\mathbf{C}$, then $\mathbf{B} = \mathbf {C}$

My attempt:
"$\mathbf{B}$ is the left inverse of $\mathbf{A}$" implies:
$$\mathbf{BA} = \mathbf I$$
And "$\mathbf{C}$ is the right inverse of $\mathbf{A}$" implies:
$$\mathbf{AC} = \mathbf I$$
Hence
$$\tag 1\mathbf{AC} = \mathbf{BA}$$
Premultiply $(1)$ by $\mathbf A^{-1}$:
$$ \mathbf A^{-1}\mathbf{AC} = \mathbf A^{-1}\mathbf{BA} \implies $$
$$\mathbf{C} = \mathbf A^{-1} $$
Postmultiply $(1)$ by $\mathbf A^{-1}$:
$$\mathbf{AC}\mathbf A^{-1} = \mathbf{BA}\mathbf A^{-1} \implies$$
$$\mathbf A^{-1} = \mathbf{B}$$
Hence $\mathbf B = \mathbf C.$$\Box$
Is it correct?

I have one more question: 
Assume we already proved following theorem:

The inverse of an invertible matrix is unique

Knowing this, do we really need to prove the proposition 1? My reasoning is, if we know $\mathbf{B}$ is the left inverse of $\mathbf{A}$, and we also know theorem above, then we can infer that $\mathbf{B}$ will also be right inverse of $\mathbf{A}$. Or am I missing something?

A:

Assuming that $\mathbf A^{-1}$ is meaningful seems premature until you have proved the assertion that $\mathbf B = \mathbf C$
Instead use something like $\mathbf{B(AC)} = \mathbf{(BA)C}$ since matrix multiplication is associative  

A:

EDIT: In the assumption of the theorem, we have that $A$ is invertible, so assuming the existence of a (left-and-right) inverse $A^{-1}$ is reasonable. Therefore, the original proof is correct.
The reason why I originally thought it was incorrect is that this assumtion is not needed, and therefore usually not used.

Your proof is not quite right, but a simple modification makes it work. Let me explain.
When you say "multiply by $A^{-1}$", you are assuming that there exists a matrix $A^{-1}$ which is both a left and right inverse of $A$.  Now, this will in fact be true, but it will follow from the theorem you are trying to prove, so you can't invoke that property.
Instead, when you premultiply, you can replace $A^{-1}$ by the left inverse, $B$, which you know exists. You then end up with:
\begin{align}
AC = I && (1)\\
B(AC) = BI && (2)\\
(BA)C = B && (3)\\
IC = B && (4)\\
C = B && (5)
\end{align}
Line 1 uses that $C$ is a right inverse; line 4 uses that $B$ is a left inverse. The rest is properties of identity and the associative property.

To answer your second question: it all depends what you mean by "inverse". You could be saying the following:

Let $A$ be a matrix, and let $B,C$ be matrices such that $I = AB = BA = AC = CA$. Then $B=C$.

If this is the case, then it is not strictly sufficient to prove your theorem. This is because, a priori, we don't know that a left inverse is necessarily a right inverse as well, so we can't use this fact to conclude equality.

