# proving that if $a*c=b*c$ then $a=b$.

Let * be a commutative associative binary operation on a set $S$. Assume that for each $x,y$ in $S$, one can find $z$ such that $x*z=y$, How to prove that if $a*c=b*c$ then $a=b$.

-

An easy way to do this is to look for a universal identity element. We're given that for any $x \in S,$ there exists $1_x$ such that $x*1_x=x.$ We will show that $1_x$ is in fact a universal identity. For any $y\not= x,$ there exists $z$ such that $x* z =y,$ from which $y* 1_x = (x* z)* 1_x = (x* 1_x) * z = x* z = y.$ So if $a* c = b* c,$ we get $a*c*c^{-1} = b*c*c^{-1},$ whence the desired result follows.
How about letting $a * e_1 = b$and $b*e_2 = a$ . Then $(b*e_2) * e_1 = b$ so that $b*(e_1*e_2)$ = b and similarly $a*(e_1*e_2) = a$ Then $z = e_1*e_2$is a common identity for $a$ and $b$. Then proceed as above. – Frank Jan 27 '13 at 10:37
for $x,y$ as above write $z=y/x$, to that $x*y/x=y$.
Now, fix some $x$ and consider $x/x$. For any $y$ holds that (here we use associativity and commutativity) $y*x/x=x*y/x*x/x=x*x/x*y/x=x*y/x=y$. Thus, $e=x/x$ has the property that for all $y$: $y*e=y$.Now, again using associativity, $a=a*e=a*c*e/c=b*c*e/c=b*e=b$.