In mathematics, an automatic semigroup is a finitely generated semigroup equipped with several regular languages over an alphabet representing a generating set. One of these languages determines "canonical forms" for the elements of the semigroup, the other languages determine if two canonical forms represent elements that differ by multiplication by a generator.
Formally, let be a semigroup and be a finite set of generators. Then an automatic structure for with respect to consists of a regular language over such that every element of has at least one representative in and such that for each , the relation consisting of pairs with is regular.