Showing a group isomorphism Let $(G,*)$ be a group and $\varphi:G\rightarrow G$ be function such that for all $x,y\in G$:
$$\varphi(x*\varphi(y))=\varphi(x)*y$$
Prove the function $\varphi$ is an isomorphism.
I just found some basic features like $\varphi(\varphi(x))=\varphi(e)*x$ or $\varphi(\varphi(e))=\varphi(e)$ while $e$ is the identity element of the group.

$\renewcommand{\phi}{\varphi}$$\phi$ is injective: if $\phi(x) = \phi(y)$, then $\phi(e) x = \phi(\phi(x)) = \phi(\phi(y)) = \phi(e) y$. Multiply on the left by $\phi(e)^{-1}$ to get $x = y$.
Since $\phi(e) = \phi(\phi(e))$, you get $e = \phi(e)$.
Now you have $\phi(\phi(x)) = x$. In particular, $\phi$ is surjective. 
Let $x, y \in G$. Then
$$
\phi(x y) = \phi(x \phi(\phi(y))) = \phi(x) \phi(y).
$$
