Maybe all that I am writing below is already exists at forum but I would like to know is my reasoning correct? So please do not duplicate my question.
I am in the begining of group theory and it is very important to me to know that my reasoning is correct.

We know the following fact from group theory: Suppose a *finite* set $G$ is closed under an associative product and that both cancellation laws hold in $G$ $\Rightarrow$ $G$ must be a group.

However, if suppose that only one of the cancellation laws hold then $G$ need not to be a group.

Let $G$ be the set with three elements, i.e. $G=\{a,b,e\}$ and we define the product $x\cdot y=x$ for any $x,y\in G$. We see that this product is binary and associative since $(x\cdot y)\cdot z=x\cdot y=x$ and $x\cdot (y\cdot z)=x$ and we see that indeed associativity holds in $G$.

If $x\cdot z=y\cdot z$ then $x=y$ by the definition of product $\cdot$ hence right cancellation law holds.

However, from $a\cdot a=a\cdot b=a$ does not follow that $a=b$. So left cancellation law fails in $G$.

It's easy to verify that the set $G$ is not group since if we suppose that $G$ is group then $\exists e'\in G$ such that $e'\cdot a=a\cdot e'=a$ and we conclude that $e'=a$. If we apply this identity element for $b\in G$ we get $b\cdot e'=e'\cdot b=b$ and we get that $e'=b$ thus $a=b$ which is contradiction.

Would be grateful for verification.