In mathematics and computer science, the **syntactic monoid** *M*(*L*) of a formal language *L* is the smallest monoid that recognizes the language *L*.

## Syntactic quotient

The free monoid on a given set is the monoid whose elements are all the strings of zero or more elements from that set, with string concatenation as the monoid operation and the empty string as the identity element. Given a subset of a free monoid , one may define sets that consist of formal left or right inverses of elements in . These are called quotients, and one may define right or left quotients, depending on which side one is concatenating. Thus, the **right quotient** of by an element from is the set

Similarly, the **left quotient** is

## Syntactic equivalence

The syntactic quotient induces an equivalence relation on *M*, called the **syntactic relation**, or **syntactic equivalence** (induced by *S*). The right syntactic equivalence is the equivalence relation

Similarly, the left syntactic relation is

The **syntactic congruence** or **Myhill congruence**^{[1]} may be defined as^{[2]}

The definition extends to a congruence defined by a subset *S* of a general monoid *M*. A **disjunctive set** is a subset *S* such that the syntactic congruence defined by *S* is the equality relation.^{[3]}

Let us call the equivalence class of for the syntactic congruence. The syntactic congruence is compatible with concatenation in the monoid, in that one has

for all . Thus, the syntactic quotient is a monoid morphism, and induces a quotient monoid

This monoid is called the **syntactic monoid** of *S*.
It can be shown that it is the smallest monoid that recognizes *S*; that is, *M*(*S*) recognizes *S*, and for every monoid *N* recognizing *S*, *M*(*S*) is a quotient of a submonoid of *N*. The syntactic monoid of *S* is also the transition monoid of the minimal automaton of *S*.^{[1]}^{[2]}^{[4]}

Similarly, a language *L* is regular if and only if the family of quotients

is finite.^{[1]} The proof of the "only if" part is as follows. Assume that a finite automaton recognizing reads input *x* which leads to state *p*. If *y* is another string read by the machine, also terminating in the same state *p*, then clearly one has . Thus, the number of elements in is at most equal to the number of states of the automaton and is at most the number of final states. For a proof of the "if" part, assume that the number of elements in is finite. One can then construct an automaton where is the set of states, is the set of final states, the language *L* is the initial state, and the transition function is given by . Clearly, this automaton recognizes *L*. Thus, a language *L* is recognizable if and only if the set is finite. Note that this proof also builds the minimal automaton.

Given a regular expression *E* representing *S*, it is easy to compute the syntactic monoid of *S*.

A **group language** is one for which the syntactic monoid is a group.^{[5]}

## Examples

- Let
*L*be the language over*A*= {*a*,*b*} of words of even length. The syntactic congruence has two classes,*L*itself and*L*_{1}, the words of odd length. The syntactic monoid is the group of order 2 on {*L*,*L*_{1}}.^{[6]} - The bicyclic monoid is the syntactic monoid of the Dyck language (the language of balanced sets of parentheses).
- The free monoid on
*A*(|*A*| > 1) is the syntactic monoid of the language {*ww*^{R}|*w*in*A** }, where*w*^{R}denotes the reversal of word*w*. - Every finite monoid is homomorphic
^{[clarification needed]}to the syntactic monoid of some non-trivial language,^{[7]}but not every finite monoid is isomorphic to a syntactic monoid.^{[8]} - Every finite group is isomorphic to the syntactic monoid of some non-trivial language.
^{[7]} - The language over {
*a*,*b*} in which the number of occurrences of*a*and*b*are congruent modulo 2^{n}is a group language with syntactic monoid**Z**/2^{n}.^{[5]} - Trace monoids are examples of syntactic monoids.
- Marcel-Paul Schützenberger
^{[9]}characterized star-free languages as those with finite aperiodic syntactic monoids.^{[10]}

## References

- ^
^{a}^{b}^{c}Holcombe (1982) p.160 - ^
^{a}^{b}Lawson (2004) p.210 **^**Lawson (2004) p.232**^**Straubing (1994) p.55- ^
^{a}^{b}Sakarovitch (2009) p.342 **^**Straubing (1994) p.54- ^
^{a}^{b}McNaughton, Robert; Papert, Seymour (1971).*Counter-free Automata*. Research Monograph.**65**. With an appendix by William Henneman. MIT Press. p. 48. ISBN 0-262-13076-9. Zbl 0232.94024. **^**Lawson (2004) p.233**^**Marcel-Paul Schützenberger (1965). "On finite monoids having only trivial subgroups" (PDF).*Information and Computation*.**8**(2): 190–194. doi:10.1016/s0019-9958(65)90108-7.**^**Straubing (1994) p.60

- Anderson, James A. (2006).
*Automata theory with modern applications*. With contributions by Tom Head. Cambridge: Cambridge University Press. ISBN 0-521-61324-8. Zbl 1127.68049. - Holcombe, W.M.L. (1982).
*Algebraic automata theory*. Cambridge Studies in Advanced Mathematics.**1**. Cambridge University Press. ISBN 0-521-60492-3. Zbl 0489.68046. - Lawson, Mark V. (2004).
*Finite automata*. Chapman and Hall/CRC. ISBN 1-58488-255-7. Zbl 1086.68074. - Pin, Jean-Éric (1997). "10. Syntactic semigroups". In Rozenberg, G.; Salomaa, A. (eds.).
*Handbook of Formal Language Theory*(PDF).**1**. Springer-Verlag. pp. 679–746. Zbl 0866.68057. - Sakarovitch, Jacques (2009).
*Elements of automata theory*. Translated from the French by Reuben Thomas. Cambridge University Press. ISBN 978-0-521-84425-3. Zbl 1188.68177. - Straubing, Howard (1994).
*Finite automata, formal logic, and circuit complexity*. Progress in Theoretical Computer Science. Basel: Birkhäuser. ISBN 3-7643-3719-2. Zbl 0816.68086.