In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative binary operation.
If they have an identity element, they are a Monoid