Syntactic monoid

(Redirected from Syntactic congruence)

In mathematics and computer science, the syntactic monoid of a formal language is the smallest monoid that recognizes the language .

Syntactic quotient

edit

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

edit

The syntactic quotient[clarification needed] induces an equivalence relation on  , called the syntactic relation, or syntactic equivalence (induced by  ).

The right syntactic equivalence is the equivalence relation

 .

Similarly, the left syntactic equivalence is

 .

Observe that the right syntactic equivalence is a left congruence with respect to string concatenation and vice versa; i.e.,   for all  .

The syntactic congruence or Myhill congruence[1] is defined as[2]

 .

The definition extends to a congruence defined by a subset   of a general monoid  . A disjunctive set is a subset   such that the syntactic congruence defined by   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  . It can be shown that it is the smallest monoid that recognizes  ; that is,   recognizes  , and for every monoid   recognizing  ,   is a quotient of a submonoid of  . The syntactic monoid of   is also the transition monoid of the minimal automaton of  .[1][2][4]

A group language is one for which the syntactic monoid is a group.[5]

Myhill–Nerode theorem

edit

The Myhill–Nerode theorem states: a language   is regular if and only if the family of quotients   is finite, or equivalently, the left syntactic equivalence   has finite index (meaning it partitions   into finitely many equivalence classes).[6]

This theorem was first proved by Anil Nerode (Nerode 1958) and the relation   is thus referred to as Nerode congruence by some authors.[7][8]

Proof

edit

The proof of the "only if" part is as follows. Assume that a finite automaton recognizing   reads input  , which leads to state  . If   is another string read by the machine, also terminating in the same state  , 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   is the initial state, and the transition function is given by  . Clearly, this automaton recognizes  .

Thus, a language   is recognizable if and only if the set   is finite. Note that this proof also builds the minimal automaton.

Examples

edit
  • Let   be the language over   of words of even length. The syntactic congruence has two classes,   itself and  , the words of odd length. The syntactic monoid is the group of order 2 on  .[9]
  • For the language  , the minimal automaton has 4 states and the syntactic monoid has 15 elements.[10]
  • The bicyclic monoid is the syntactic monoid of the Dyck language (the language of balanced sets of parentheses).
  • The free monoid on   (where  ) is the syntactic monoid of the language  , where   is the reversal of the word  . (For  , one can use the language of square powers of the letter.)
  • Every non-trivial finite monoid is homomorphic[clarification needed] to the syntactic monoid of some non-trivial language,[11] but not every finite monoid is isomorphic to a syntactic monoid.[12]
  • Every finite group is isomorphic to the syntactic monoid of some regular language.[11]
  • The language over   in which the number of occurrences of   and   are congruent modulo   is a group language with syntactic monoid  .[5]
  • Trace monoids are examples of syntactic monoids.
  • Marcel-Paul Schützenberger[13] characterized star-free languages as those with finite aperiodic syntactic monoids.[14]

References

edit
  1. ^ a b Holcombe (1982) p.160
  2. ^ a b Lawson (2004) p.210
  3. ^ Lawson (2004) p.232
  4. ^ Straubing (1994) p.55
  5. ^ a b Sakarovitch (2009) p.342
  6. ^ Nerode, Anil (1958), "Linear Automaton Transformations", Proceedings of the American Mathematical Society, 9 (4): 541–544, doi:10.1090/S0002-9939-1958-0135681-9, JSTOR 2033204
  7. ^ Brzozowski, Janusz; Szykuła, Marek; Ye, Yuli (2018), "Syntactic Complexity of Regular Ideals", Theory of Computing Systems, 62 (5): 1175–1202, doi:10.1007/s00224-017-9803-8, hdl:10012/12499, S2CID 2238325
  8. ^ Crochemore, Maxime; et al. (2009), "From Nerode's congruence to suffix automata with mismatches", Theoretical Computer Science, 410 (37): 3471–3480, doi:10.1016/j.tcs.2009.03.011, S2CID 14277204
  9. ^ Straubing (1994) p.54
  10. ^ Lawson (2004) pp.211-212
  11. ^ a b McNaughton, Robert; Papert, Seymour (1971). Counter-free Automata. Research Monograph. Vol. 65. With an appendix by William Henneman. MIT Press. p. 48. ISBN 0-262-13076-9. Zbl 0232.94024.
  12. ^ Lawson (2004) p.233
  13. ^ 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.
  14. ^ Straubing (1994) p.60