Tuple (G,×) where ×:G×G→G is a binary operation where: We have an identity: ∃e∈G:∀g∈G,eg=ge=g We have inverses: ∀g∈G∃g−1:gg−1=g−1g=e We have associativity: (g1g2)g3=g1(g2g3)∀g1,g2,g3∈G