Semigroup
A semigroup is a nonempty set S equipped with a binary operation, usually written as a function from S × S to S, that is associative: for all a, b, c in S, (a·b)·c = a·(b·c). The operation is required to be closed, so a·b is always in S. If there exists an element e in S with e·a = a·e = a for all a in S, then S is a monoid. If every element has an inverse with respect to the operation and an identity exists, S is a group.
Common examples include the natural numbers (including zero) under addition, the integers under addition, and strings
A useful general fact is Cayley’s type representation for semigroups: every semigroup S can be embedded into
Structure theory for semigroups includes concepts such as idempotents (elements e with e·e = e) and Green’s
Applications include automata theory and the theory of regular languages, where finite semigroups provide algebraic tools