Syntactic monoid

From Free net encyclopedia

Revision as of 23:57, 27 December 2005; view current revision
←Older revision | Newer revision→

In mathematics, the syntactic monoid M(L) of a formal language L over an alphabet A is defined as the quotient M(L) = A* / ~L, where ~L denotes the syntactic congruence of L:

<math>u \sim_L v \Leftrightarrow \forall x, y\in A^* (xuy \in L \Leftrightarrow xvy \in L)</math>

It can be shown that the syntactic monoid of L is the smallest monoid that recognizes L; that is, M(L) recognizes L, and for every monoid N recognizing L, M(L) is a quotient of a submonoid of N. The syntactic monoid of L is also the transition monoid of the minimal automaton of L.

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