Syntactic monoid: Difference between revisions
imported>Cosmia Nebula m →Syntactic quotient: bold texts |
imported>BD2412 m clean up spacing around commas and other punctuation, replaced: ,s → 's , ,t → , t (2), p.1 → p. 1 |
||
| Line 5: | Line 5: | ||
An [[Alphabet (formal languages)|'''alphabet''']] is a finite [[Set (mathematics)|set]]. | An [[Alphabet (formal languages)|'''alphabet''']] is a finite [[Set (mathematics)|set]]. | ||
The | The '''[[free monoid]]''' on a given alphabet is the monoid whose elements are all the [[string (computer science)|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]] <math>S</math> of a free monoid <math>M</math>, one may define sets that consist of formal left or right [[Inverse element#In a unital magma|'''inverses''' of elements]] in <math>S</math>. These are called [[Quotient of a formal language|quotients]], and one may define right or left quotients, depending on which side one is concatenating. Thus, the '''right quotient''' of <math>S</math> by an element <math>m</math> from <math>M</math> is the set | Given a [[subset]] <math>S</math> of a free monoid <math>M</math>, one may define sets that consist of formal left or right [[Inverse element#In a unital magma|'''inverses''' of elements]] in <math>S</math>. These are called [[Quotient of a formal language|quotients]], and one may define right or left quotients, depending on which side one is concatenating. Thus, the '''right quotient''' of <math>S</math> by an element <math>m</math> from <math>M</math> is the set | ||
| Line 27: | Line 27: | ||
Observe that the ''right'' syntactic equivalence is a ''left'' [[congruence relation|congruence]] with respect to [[string concatenation]] and vice versa; i.e., <math>s \sim_S t \ \Rightarrow\ xs \sim_S xt\ </math> for all <math>x \in M</math>. | Observe that the ''right'' syntactic equivalence is a ''left'' [[congruence relation|congruence]] with respect to [[string concatenation]] and vice versa; i.e., <math>s \sim_S t \ \Rightarrow\ xs \sim_S xt\ </math> for all <math>x \in M</math>. | ||
The '''syntactic congruence''' or '''[[John Myhill|Myhill]] congruence'''<ref name=Hol160>Holcombe (1982) p.160</ref> is defined as<ref name=Law210>Lawson (2004) p.210</ref> | The '''syntactic congruence''' or '''[[John Myhill|Myhill]] congruence'''<ref name=Hol160>Holcombe (1982) p. 160</ref> is defined as<ref name=Law210>Lawson (2004) p.210</ref> | ||
:<math>s \equiv_S t \ \Leftrightarrow\ (\forall x, y\in M\colon\ xsy \in S \Leftrightarrow xty \in S)</math>. | :<math>s \equiv_S t \ \Leftrightarrow\ (\forall x, y\in M\colon\ xsy \in S \Leftrightarrow xty \in S)</math>. | ||
Latest revision as of 20:08, 9 June 2025
Template:Short description In mathematics and computer science, the syntactic monoid of a formal language is the minimal monoid that recognizes the language . By the Myhill–Nerode theorem, the syntactic monoid is unique up to unique isomorphism.
Syntactic quotient
The free monoid on a given alphabet 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 , 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]
Examples
- 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 .[6]
- For the language , the minimal automaton has 4 states and the syntactic monoid has 15 elements.[7]
- 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 homomorphicTemplate:Clarify to the syntactic monoid of some non-trivial language,[8] but not every finite monoid is isomorphic to a syntactic monoid.[9]
- Every finite group is isomorphic to the syntactic monoid of some regular language.[8]
- 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[10] characterized star-free languages as those with finite aperiodic syntactic monoids.[11]
References
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- ↑ a b 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
- ↑ Lawson (2004) pp.211-212
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Lawson (2004) p.233
- ↑ Script error: No such module "Citation/CS1".
- ↑ Straubing (1994) p.60