Here's a problem I'm trying to figure out:
Let $*: S \times S \longrightarrow S$ be an associative binary operation on a nonempty set $S$ satisfying $a * b = a * c \Rightarrow b = c$ and $a * c = b * c \Rightarrow a = b$ for every $a,b,c \in S$. Show that if $S$ is finite then $S$ is a group under this operation.
I believe that, since we're given that $*$ is a binary operation, the closure axiom is satisfied. Also, they tell us that $*$ is associative, so that axiom is satisfied. It remains to show that $S$ contains an appropriate identity element, and every element of $S$ has an inverse.
I know that, if $a , b , c \in G$, where $G$ is a group, then $ab = ac$ implies $b = c$ by the cancellation law. However, this uses the fact that we already know $a^{-1}$ exists such that $a \cdot a^{-1} = e$, the identity element. Is there a way to reverse-engineer this? In particular, does the condition $a * b = a * c \Rightarrow b = c$ tell us about the existence of inverses in $S$? Then, my thought was that I could use the condition $a * c = b * c$ and let $a^{-1}$ equal one of the three to tell us about the existence of the identity element. But I'm still not sure how to go about this either.
Thanks!