Syntactic monoid

Syntactic monoid

In mathematics, the syntactic monoid "M"("L") of a formal language "L" is the smallest monoid that recognizes the language "L".

yntactic quotient

Given Ssubset M a subset of a monoid "M", one may define sets that consist of formal left or right inverses of elements in "S". These are called quotients, and one may define right or left quotients, depending on which side one is concatenating. Thus, the right quotient of "S" by an element min M is the set:S / m={uin M ;vert; umin S }

Similarly, the left quotient is

:m setminus S={uin M ;vert; muin S }

yntactic equivalence

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

:sim_S ;= {(s,t)in M imes M ,vert; S / s = S / t }

Similarly, the left syntactic relation is

:,_Ssim ;= {(s,t)in M imes M ,vert; ssetminus S = t setminus S }

A double-sided congruence may be defined as

:u sim_S v Leftrightarrow forall x, yin M (xuy in S Leftrightarrow xvy in S)

yntactic monoid

The syntactic quotient is compatible with concatenation in the monoid, in that one has

:(M / s) / t = M / (ts)

for all s,tin M (and similarly for the left quotient). Thus, the syntactic quotient is a monoid morphism, and induces a quotient monoid

:M(S)= M / sim_S

It can be shown that the syntactic monoid of "S" 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".

Equivalently, a language "L" is recognizable if and only if the family of quotients

:{L / m ,vert; min M}

is finite. The proof showing equivalence is quite easy. Assume that a string "x" is recognizable by a deterministic finite state machine, with the final state of the machine being "f". If "y" is another string recognized by the machine, also terminating in the same final state "f", then clearly one has L / x,sim L / y. Thus, the number of elements in {L / m ,vert; min M} is just exactly equal to the number of final states of the automaton. Assume the converse: that the number of elements in {L / m ,vert; min M} is finite. One can then construct an automaton where so that Q={L / m ,vert; min M} is the set of states, F={L / m ,vert; min L} is the set of final states, the singleton "L" is the initial state, and the transition function is given by (L / x) / y=L / (xy). Clearly, this automaton recognizes "L". Thus, a language "L" is recognizable if and only if the set {L / m ,vert; min M} is finite.

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

Examples

* The bicyclic monoid is the syntactic monoid of the Dyck language (the language of balanced sets of parenthesis).
* The trace monoid is an example of a syntactic monoid.

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Monoid — This article is about the mathematical concept. For the alien creatures in the Doctor Who adventure, see The Ark (Doctor Who). Coherence law for monoid unit In abstract algebra, a branch of mathematics, a monoid is an algebraic structure with a… …   Wikipedia

  • Trace monoid — In mathematics and computer science, a trace is a set of strings, wherein certain letters in the string are allowed to commute, but others are not. It generalizes the concept of a string, by not forcing the letters to always be in a fixed order,… …   Wikipedia

  • Aperiodic monoid — In mathematics, an aperiodic semigroup is a semigroup S such that for every x ∈ S , there exists a nonnegative integer n such that xn = xn + 1 .An aperiodic monoid is an aperiodic semigroup which is a monoid. This notion is in some sense… …   Wikipedia

  • Dyck language — In the theory of formal languages of computer science, mathematics, and linguistics, the Dyck language is the language consisting of balanced strings of parentheses [ and ]. It is important in the parsing of expressions that must have a correctly …   Wikipedia

  • Regular language — In theoretical computer science, a regular language is a formal language (i.e., a possibly infinite set of finite sequences of symbols from a finite alphabet) that satisfies the following equivalent properties: * it can be accepted by a… …   Wikipedia

  • Semiautomaton — In mathematics and theoretical computer science, a semiautomaton is an automaton having only an input, and no output. It consists of a set Q of states, a set Σ called the input alphabet, and a function T: Q × Σ → Q called the transition function …   Wikipedia

  • String operations — In computer science, in the area of formal language theory, frequent use is made of a variety of string functions; however, the notation used is different from that used on computer programming, and some commonly used functions in the theoretical …   Wikipedia

  • Bicyclic semigroup — In mathematics, the bicyclic semigroup is an algebraic object important for the structure theory of semigroups. Although it is in fact a monoid, it is usually referred to as simply a semigroup. The first published description of this object was… …   Wikipedia

  • Joy (programming language) — Joy Paradigm(s) multi paradigm: functional, concatenative, stack oriented Appeared in 2001 Designed by Manfred von Thun Developer Manfred von Thun, John Cowan St …   Wikipedia

  • Generalized star height problem — The generalized star height problem in formal language theory is the open question whether all regular languages can be expressed using regular expressions with a built in complement operator of limited star height, i. e. with a limited nesting… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”