Guidance and sanity check needed - question on the isomorphism theorems The question is from Joseph .J Rotman's book - Introduction to the Theory of Groups and it goes like this:
 $A,B,C$ are subgroups of $G$, so $A\leq B$, prove that if $(AC=BC\ \text{and}\  A\cap C=B\cap C)$. (we do not assume that either AB or AC is a subgroup) than A=B.

I need you guys to tell me if something is wrong - any criticism is welcomed.
Proof: the map $\varphi:A\rightarrow B/A\cap C $ defined by $\varphi(a)=a(A\cap C)$ is a homomorphism, with $\ker \varphi=A\cap C$
Though it is clrear to me (and maybe it shouldn't be...), I don't know if it is well founded.
Thus by the first isomorphism theorem, $A\cap C \vartriangleleft B$ and $A/A\cap C \cong Im \varphi$
suppose $\varphi$ is not a surjection then there exists $b\in B$ that for all $a\in A$ keeps $b(A\cap C)\neq a(A\cap C)$ and that makes $AC\neq BC$. So our map is a surjection, meaning $A/A\cap C \cong B/A\cap C$. From that I figure that $A\smallsetminus C$ and $B\smallsetminus C$ have the same number of elements, therefore B and A are of the same size. Add that to the fact that $A\leq B$, we  get A=B
QED???
 A: One can also do shorter: take any $b\in B$. Since $B\subseteq BC=AC$ there exist $a\in A,c\in C$ such that $b=ac$. Then $a^{-1}b=c$; looking at the left hand side, this is in $B$ (since $A\subseteq B$), looking at the right hand side, this is in $C$, altogether it is in $B\cap C$ and hence in $A\cap C$. In particular, $c\in A$ and therefore  $b=ac\in A$, as required.
A: We have 
$$B=\bigcup_{b\in B}b(B\cap C)$$
and 
$$A=\bigcup_{a\in A}a(A\cap C).$$
Now, for $b,b'\in B$ we have $b(B\cap C)=b'(B\cap C)$ if and only if $b^{-1}b'\in B\cap C$ if an only if $b^{-1}b'\in C$ since $b^{-1}b'\in B$ is automatically true. From $B\subseteq BC$ and the assumption that $BC=AC$ it follows that for every $b\in B$ there exist $a\in A,c\in C$ such that $b=ac$. But then $a^{-1}b=c\in C\cap B$ (since $a^{-1}\in B$ by $A\subseteq B$) and it follows that $b(B\cap C)=a(B\cap C)=a(A\cap C)$. Altogether:
$$\forall b\in B\ \exists a\in A: b(B\cap C)=a(A\cap C).$$
It follows that that the two unions of cosets are the same and $A=B$. 
