Consider a nonempty set *G* with a binary operation *@* such that for elements *a* and *b* in the group, the element *a@b* is also in *G*. *G* is a **group** if the following properties hold.

- The binary operation
*@*is associative. That is to say, for all elements*a, b, c*in*G*, it holds that*a@(b@c) = (a@b)@c*. - There exists an identity element
*e*such that*a@e = e@a = a*for all elements*a*in*G*. - Every element
*a*of*G*has an inverse,*a*in^{-1}*G*such that*a@a*.^{-1}= a^{-1}@a = e