Your definitions lack one important property: The group operation must be associative. For any a,b,c in G, (A*B)*C must be the same as A*(B*C)