# Theory of Automata

<<< Previous Pseudo theorem Next >>>

Theory of Automata
(CS402)
Theory of Automata
Lecture N0. 28
Chapter 10
Introduction to Computer Theory
Summary
Examples of Myhill Nerode theorem, Quotient of a language, examples, Pseudo theorem: Quotient of a
language is regular, prefixes of a language, example
Example
Consider the language L which is EVEN-EVEN, defined over S = {a,b}. It can be observed that L partitions S*
into the following four classes
C1 = set of all strings with even number of a's and odd number of b's.
C2 = set of all strings with odd number of a's and odd number of b's.
C3 = set of all strings with odd number of a's and even number of b's.
C4 = set of all strings with even number of a's and even number of b's. b
Since there are finite many classes generated
C1
C4±
by L, so L is regular and hence following is
b
an FA, built with the help of C1, C2, C3
and C4, accepting L.
a
a
a
a
b
C2
C3
Example
b
Consider the language L = {w OE {a,b}*: length(w) 2, w ends in either ab or ba}.
It can be observed that L partitions S* into the following seven classes
a
C1 = set containing only null string.
C2 = set containing only letter a.
c4
C3 = set containing only letter b.
a
C4 = set of strings ending in aa.
c2
C5 = set of strings ending in ab.
b
C6 = set of strings ending in ba.
b
a
a
C7 = set of strings ending in bb.
c5
Since there are finite many classes generated by
L, so L is regular and hence FA shown
b
c1
a
aside, is built with the help
of C1, C2, C3 , C4, C5 , C6 and
c6
b
a
C7, accepting L
b
c3
a
b
b
a
c7
Following is an FA equivalent to the above FA
b
4+
2
a
b
a
a
b
b
b
a
5+
3
82
Theory of Automata
(CS402)
Note It can be noted, from the above two FAs accepting the same language, that if the language L, partitions S*
into n distinct classes, then L may partition S* into finite many distinct classes other than n.
Quotient of a language into another
Remark The theorem has been proved to show under what conditions a language is regular. It has also been
proved that the product of two regular languages is regular.
The question arises that whether there exists a theorem showing that quotient of regular languages is regular.
There is a problem in defining the quotient of two regular languages. There is an approach in defining the
quotient of regular languages i.e. the language Q is said to be quotient of two regular languages P and R,
denoted by Q=R/P if PQ=R.
It is to be noted that this definition does not determine a unique language e.g. for P=Q=R expressed by a* then
PQ=R and so Q=R/P i.e. a*=a* / a*. But for Q={Y}, P=R expressed by a*, PQ=R is still true which shows that
Q={Y}=R/P expressed by a* / a*
Similarly, for the same P and R, Q may be taken as {Y},{a},{aaaa},{aaaaaaaa}, ... Thus there exist infinite
many choices for defining the quotient language in this case of one-letter alphabet.
Pseudo theorem
Statement
For three languages P,Q and R, while PQ=R the language Q must be regular if both P and R are regular.
(Note: It is to be noted that since this theorem is not true, so the theorem is called pseudo theorem.)
Disproof
The theorem can be disproved by contradiction i.e. supposing that Q is regular.
Let P=a*, Q be the product of {anbn:n=0,1,2,...} and b* then PQ=a*{anbn}b*=a*b*=R which shows that R is
regular.
To disproof this theorem, it is sufficient to prove that Q is not regualr. By definition, the words in Q are of the
form axby where x y. Let Q be regualr and hence there exists an FA that accepts Q. Suppose the number of
states in this machine be N. Now the word aNbN is also in Q and must be accepted by this FA.
Since the number of states in this machine is N, there must be a circuit in this machine to run the substring aN.
Thus while accepting the word aNbN, the machine looping the circuit once again, can accept the word
amore than NbN, which is not in Q. Hence it is impossible to find any FA that accepts exactly the language Q. Thus
Q is not regular and hence the theorem is disproved.
Prefixes of a language in another language
If two languages R and Q are given, then the language the prefixes of Q in R denoted by Pref(Q in R) is the set
of strings of letters that, when concatenated to the front of some word in Q to produce some word in R i.e.
Pref(Q in R) = the set of all strings p such that there exists words q in Q and w in R such that pq = w. Following
are the examples in this regard
Example
Let Q = {aa,abaaabb,bbaaaaa,bbbbbbbbbb} and R = {b,bbbb,bbbaaa,bbbaaaaa}
It can be observed that aa and bbaaaaa occur at the ending parts of some words of R, hence these words help in
defining the language pref(Q in R). Thus pref(Q in R) = {b,bbba,bbbaaa}
Note: The language of prefixes may be consisting of word L, while there is also a possibility that this language
may not contain any string (even not the null string).
83