In a loop, if $(xy)x^r = y$ then $x(yx^r)=y$ Consider a loop $L$, that is, a quasigroup with an identity, and recall that a quasigroup $L$ is a set together with a binary operation such that, for every $a$ and $b$ in $L$, the equations $ax=b$ and $ya=b$ have unique solutions $x$ and $y$ in $L$. Further denote $x^r$ the right-side inverse of $x$. I am trying to prove the following:

Let $L$ be a loop such that for all $x$ and $y$ in $L$ we have $(xy)x^r = y$. Then prove that $x(yx^r)=y$ also holds for all $x$ and $y$ in $L$.

Here is my attempt:

If $(xy)x^{r}=y$, then $xy=y(x^r)^r$ and this implies $x=[y(x^r)^r]y^r = (x^r)^r$. Now we have $xy = yx$ for all $x$, $y$. Then using this information, we get $(xy)x^r = (yx)x^r=y$. And finally, $x(yx^r)=(yx^r)x=(yx^r)(x^r)^r=y$.

Unfortunately, this uses the associative law in the very beginning. Is there a way to correct my mistake, or can someone provide a different proof?

Substituting $yx^r$ for $y$ in the premise yields $
\left(x\left(yx^r\right)\right)x^r=yx^r$. The conclusion follows since the solution of $ux^r=b$ is unique.
