An equivalent definition of GROUPS Let $G$ be a nonempty set together a binary operation $\cdot$. I wonder why the following two statements are equivalent: 
a. $(G,\cdot)$ is a group. 
b. There is a function $T : G \longrightarrow G$ such that for any $a,b,c,d,f \in G$ if $(a\cdot b)\cdot c = (a\cdot d)\cdot f$ then $b = d\cdot(f\cdot T(c))$.
It is clear that we have a. $\Longrightarrow$ b. Just take $T(c) = c^{-1}$. But how about the converse?
 A: Here's a partial answer, assuming that $\cdot$ is associative: I don't see how to deduce it directly from $T$. Essentially, you should run the reasoning in reverse: given such a $T$, define $c^{-1} := T(c)$. To check that this is an inverse to the binary operation, note that:
1) For any fixed $c \in G$, the element $c \cdot T(c)$ satisfies $b = b \cdot (c \cdot T(c))$, for any $b \in G$.
2) Taking $c = f$ in the defining relation of $T$, we have that if $(a \cdot b) \cdot f = (a \cdot d) \cdot f$, then $b = d \cdot (f \cdot T(f))$. But $d \cdot (f \cdot T(f)) = d$ by (1), so the implication $(a \cdot b) \cdot f = (a \cdot d) \cdot f \implies b = d$ holds. In particular, taking $f$ to be of the form $c \cdot T(c)$ means we have left cancellation, $a \cdot b = a \cdot d \iff b = d$. 
3) For any $c \in G$, define $e_c := c \cdot T(c)$. Then for arbitrary $c, f \in G$, we have $e_c = e_c \cdot e_c$ and also $e_c = e_c \cdot e_f$, so by left cancellation $e_c = e_f$. Thus we have a well-defined element, $e := e_c$, which will be the identity (we currently know it is a "right" identity, i.e. $b = b \cdot e$ for all $b$).
4) Taking $a = c = f = e$ in the original relation gives $e \cdot b = e \cdot d \implies b = d$. On the other hand, taking $d = e \cdot b$, by associativity we do have $e \cdot b = (e \cdot e) \cdot b = e \cdot (e \cdot b) = e \cdot d$, so $b = e \cdot b$, i.e. $e$ really is the identity.
5) Since $e$ is the identity, we get right cancellation, since $b \cdot c = d \cdot c \implies (e \cdot b) \cdot c = (e \cdot d) \cdot c \implies b = d$.
6) Since $c \cdot T(c) = e$ for any $c \in G$, $T(c)$ is a right inverse for $c$. But again by associativity, $c \cdot (T(c) \cdot c) \cdot T(c) = (c \cdot T(c)) \cdot (c \cdot T(c)) = e \cdot e = c \cdot e \cdot T(c)$, so by left and right cancellation, $T(c) \cdot c = e$, i.e. $T(c)$ really is an inverse for $c$.
It seems plausible that one can directly show bijectivity of $T$, which might then be used to deduce associativity independently.
