Algebraic Approach to Automata Theory

Algebraic Approach to Automata Theory

Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Algebraic Approach to Automata Theory Deepak D'Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 10 September 2015 Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Outline 1 Overview 2 Recognition via monoid morphisms 3 Transition monoid 4 Syntactic Monoid 5 First-Order Definable Languages Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Algebraic approach to automata: Overview Defines language recognition via morphisms into a monoid. Analogous result to canonical automaton in the setting of monoids. Helps in characterising class of FO-definable languages. Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Monoids A monoid is a structure (M; ◦; 1), where M is a base set containing the element \1", ◦ is an associative binary operation on M, and 1 is the identity element with respect to ◦. ∗ Examples of monoids: (N; +; 0), (A ; ·; ). Another Example: (X ! X ; ◦; id), where X ! X denotes the set of all functions from a set X to itself, f ◦ g is function composition: (f ◦ g)(x) = g(f (x)): Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Monoid morphisms A morphism from a monoid (M; ◦M ; 1M ) to (N; ◦N ; 1N ) is a map ' : M ! N, satisfying '(1M ) = 1N , and, 0 0 '(m ◦M m ) = '(m) ◦N '(m ). ∗ Example: ' : A ! N, given by '(w) = jwj ∗ is a morphism from (A ; ·; ) to (N; +; 0). Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Language recognition via monoid morphisms A language L ⊆ A∗ is said to be recognizable if there exists a monoid (M; ◦; 1) and a morphism ' from A∗ to (M; ◦; 1), and a subset X of M such that L = '−1(X ): In this case, we say that the monoid M recognizes L. Question: Is every language recognizable? Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Example of language recognition via monoid Consider monoid M = (f1; mg; ◦; 1g where ◦ is given by: ◦ 1 m 1 1 m m m m Consider the morphism ' : A∗ ! M given by 7! 1 w 7! m for w 2 A+: Then M recognizes A+ (also fg, A∗, and ;), since '−1(fmg) = A+. Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Example of language recognition via monoid Consider monoid M = (f1; mg; ◦; 1g where ◦ is given by: ◦ 1 m 1 1 m m m m Consider the morphism ' : A∗ ! M given by 7! 1 w 7! m for w 2 A+: Then M recognizes A+ (also fg, A∗, and ;), since '−1(fmg) = A+. Question: Is every language recognizable? Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Transition Monoid of a DA Let A = (Q; s; δ; F ) be a deterministic automaton (DA). ∗ For w 2 A , define fw : Q ! Q by fw (q) = δb(q; w): Consider the monoid ∗ M(A) = (ffw j w 2 A g; ◦; 1): M(A) is called the transition monoid of A. Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Example DA and Transition Monoid a 1 2 b b a 3 a; b Distinct elements of M(A) are ff; fa; fb; faa; fab; fbag. 1 2 3 We write f as , or simply (2 3 3). a 2 3 3 Question: If Q is finite, how many elements can M(A) have? Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Syntactic Monoid of a language Let A≡L = (Q; s; δ; F ) be the canonical automaton for a language L ⊆ A∗. The transition monoid of A≡L is called the syntactic monoid of L. We denote the syntactic monoid of L by M(L). ∼ ∗ Define an equivalence relation =L on A , induced by L, as ∼ ∗ u =L v iff 8x; y 2 A : xuy 2 L iff xvy 2 L: Consider the language (a + b)∗bb: b (a + b)∗a (a + b)∗ab (a + b)∗bb Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Syntactic Congruence of a language ∼ =L is called the syntactic congruence of L. ∼ Check that =L is a two-sided congruence: ∼ ∼ 0 That is, =L is both a left-congruence (i.e u =L u implies ∼ 0 ∗ uv =L u v, for each v 2 A ) and a right-congruence (i.e ∼ 0 ∼ 0 u =L u implies vu =L vu ). ∼ 0 ∼ 0 ∼ 0 0 Equivalently, u =L u and v =L v imples uv =L u v . ∼ =L refines the canonical MN relation, ≡L, for L. Example? Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Syntactic Congruence of a language ∼ =L is called the syntactic congruence of L. ∼ Check that =L is a two-sided congruence: ∼ ∼ 0 That is, =L is both a left-congruence (i.e u =L u implies ∼ 0 ∗ uv =L u v, for each v 2 A ) and a right-congruence (i.e ∼ 0 ∼ 0 u =L u implies vu =L vu ). ∼ 0 ∼ 0 ∼ 0 0 Equivalently, u =L u and v =L v imples uv =L u v . ∼ =L refines the canonical MN relation, ≡L, for L. Example? Consider the language (a + b)∗bb: b (a + b)∗a (a + b)∗ab (a + b)∗bb Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Characterization of the syntactic monoid Claim For a canonical DA A = (Q; s; δ; F ), ∼ fu = fv iff u =L v: Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Syntactic monoid via syntactic congruence ∗ ∗ ∼ For a language L ⊆ A , consider the monoid A = =L, whose ∼ elements are equivalence classes under =L, operation ◦ is given by [u] ◦ [v] = [uv]; and identity element is []. Claim ∗ ∼ The monoids M(L) and A ==L are isomorphic. (Use the morphism fw 7! [w].) (1) =) (2): since A≡L is finite, and hence so is M(L). ∗ (2) =) (3): Define morphism ' : A ! M(L), given by w 7! fw . (3) =) (1): Let L be recognized by a finite monoid (M; ◦; 1), via a morphism ' and X ⊆ M. Define a DFA A = (M; 1; δ; X ), where δ(m; a) = m ◦ '(a): Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Algebraic definition of regular languages Theorem Let L ⊆ A∗. Then the following are equivalent: 1 L is regular 2 The syntactic monoid of L, i.e. M(L), is finite. 3 L is recognized by a finite monoid. Proof: ∗ (2) =) (3): Define morphism ' : A ! M(L), given by w 7! fw . (3) =) (1): Let L be recognized by a finite monoid (M; ◦; 1), via a morphism ' and X ⊆ M. Define a DFA A = (M; 1; δ; X ), where δ(m; a) = m ◦ '(a): Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Algebraic definition of regular languages Theorem Let L ⊆ A∗. Then the following are equivalent: 1 L is regular 2 The syntactic monoid of L, i.e. M(L), is finite. 3 L is recognized by a finite monoid. Proof: (1) =) (2): since A≡L is finite, and hence so is M(L). (3) =) (1): Let L be recognized by a finite monoid (M; ◦; 1), via a morphism ' and X ⊆ M. Define a DFA A = (M; 1; δ; X ), where δ(m; a) = m ◦ '(a): Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Algebraic definition of regular languages Theorem Let L ⊆ A∗. Then the following are equivalent: 1 L is regular 2 The syntactic monoid of L, i.e. M(L), is finite. 3 L is recognized by a finite monoid. Proof: (1) =) (2): since A≡L is finite, and hence so is M(L). ∗ (2) =) (3): Define morphism ' : A ! M(L), given by w 7! fw . Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Algebraic definition of regular languages Theorem Let L ⊆ A∗. Then the following are equivalent: 1 L is regular 2 The syntactic monoid of L, i.e. M(L), is finite. 3 L is recognized by a finite monoid. Proof: (1) =) (2): since A≡L is finite, and hence so is M(L). ∗ (2) =) (3): Define morphism ' : A ! M(L), given by w 7! fw . (3) =) (1): Let L be recognized by a finite monoid (M; ◦; 1), via a morphism ' and X ⊆ M. Define a DFA A = (M; 1; δ; X ), where δ(m; a) = m ◦ '(a): Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Canonicity of syntactic monoid/congruence Let M and N be monoids. We say N divides M if there is a submonoid M0 of M, and a surjective morphism from M0 to N. M M0 N 1 1 Theorem Let L ⊆ A∗. Then L is recognized by a monoid M iff M(L) divides M. Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages First-Order definable languages Theorem (Schutzenberger (1965), McNaughton-Papert (1971)) Let L ⊆ A∗. Then the following are equivalent 1 L is definable in FO(<). 2 L is accepted by a counter-free DFA. 3 A≡L is counter-free DFA. 4 L is definable by a star-free extended regular expression. 5 L is recognized by an aperiodic finite monoid. 6 M(L) is aperiodic. Overview Recognition via monoid morphisms Transition monoid Syntactic Monoid First-Order Definable Languages Definitions: Aperiodic Monoids A finite monoid is called aperiodic, if it does not contain a non-trival group, or equivalently, for each element m in the monoid, mn = mn+1, for some n > 0.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    25 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us