Semigroup - crowlogic/arb4j GitHub Wiki

A semigroup $(S, \ast)$ is a set $S$ together with a binary operation $*$ that satisfies the following two axioms:

  1. Closure: For all $a, b$ in $S$, the result of the operation, or product, $a * b$, is also in $S$.

$$a * b \in S \forall a, b \in S$$

  1. Associativity: For all $a, b$ and $c$ in $S$, the equation $(a * b) * c = a * (b * c)$ holds.

$$(a * b) * c = a * (b * c) \forall a, b, c \in S$$

Note that a semigroup does not require the presence of an identity element, nor the existence of inverses, unlike groups. Thus, a semigroup can be thought of as a group without the requirements of having an identity and being invertible.