Title: Draw DFA for L={e}
1Properties of Regular Languages
Draw DFA for Le for a regular language, Le,
01 for the r.l., Le, 01, 0011 for the r.l.,
Le, 01, 0011, 000111 now, try for the
r.l., L0k1k 0k infinity
2- Example
- 0n1n 0ltn is not regular, but
- 0n1n 0?n?k, for some fixed k is regular,
for any fixed k. - For k3
- L e, 01, 0011, 000111
0
0
0
q1
q2
q3
1
1
1
1
0/1
1
1
q7
q5
q4
0/1
0
0
0
3Pumping Lemma for Regular Languages
- Pumping Lemma relates the size of string accepted
- with the number of states in a DFA
- What is the largest string accepted by a DFA with
n states, - presuming there is no loop?
- Now, if there is a loop,
- what type of strings are accepted via the
loop(s)? -
4Pumping Lemma for Regular Languages
- Lemma (the pumping lemma)
- Let M be a DFA with Q n states.
- If there exists a string x in L(M), such that
x ? n, - then there exists a way to write it as x uvw,
- where u,v, and w are all in S and
- 1? uv ? n
- v ? 1
- AND, all the strings uviw are also in L(M), for
all i ? 0 -
5Pumping Lemma for Regular Languages
- Proof
- Let x a1a2 am where m ? n, x is in L(M), and
d(q0, a1a2 ap) qjp - a1 a2 a3 am
- qj0 qj1 qj2 qj3 qjm m ? n and qj0 is q0
- Consider the first n symbols, and first n1
states on the above path - a1 a2 a3 an
- qj0 qj1 qj2 qj3 qjn
- Since Q n, it follows from the pigeon-hole
principle that js jt for some 0 ? sltt ? n,
i.e., some state appears on this path twice
(perhaps many states appear more than once, but
at least one does).
6- n
-
- same state
- so, loop gt 1
7- Let
- u a1as
- v as1at
- Since 0 ? sltt ? n and uv a1at it follows that
- 1 ? v and therefore 1 ? uv
- uv ? n and therefore 1 ? uv ? n
- In addition, let
- w at1am
- It follows that uviw a1as(as1at)iat1am is
in L(M), for all i ? 0. - In other words, when processing the accepted
string x, the loop was traversed once, but could
have been traversed as many times as desired, and
the corresponding strings would be accepted.
AND, as many times gt 0
8- Example
- n 5
- x 0001000 is in L(M)
- 0 0 0 1 0 0 0
- q0 q1 q2 q3 q1 q2 q3 q4
- first n1 states
- u 0
- v 001
- w 000 uviw is in L(M), i.e., 0(001)i000 is
in L(M), for all i ? 0
9- Note that this does not mean that every string
accepted by the DFA has this form - 001 is in L(M) but is not of the form 0(001)i000
- Similarly, this does not mean that every long
string accepted by the DFA has this form - 0011111 is in L(M), is very long, but is not of
the form 0(001)i000 - Note, however, in this latter case 0011111 could
be similarly decomposed.
10- Note It may be the case that no x in L(M) has
x ? n.
11- Example
-
n 4 - x bbbab is in L(M) b b b a
b - x 5
q0 q0 q0 q0 q1 q3 - u e u b u bb
- v b or v b v b
- w bbab w bab w ab
- (b)ibbab is in L(M), for all i ? 0 b(b)ibab is
in L(M), for all i ? 0
a
b
a
q0
q1
b
b
a
q2
a/b
12Non-Regular Language Example
- Theorem The language
- L 0k1k k ? 0 (1)
- is not regular.
- Proof (by contradiction) Suppose that L is
regular. Then there exists a DFA M such that - L L(M) (2)
- We will show that M accepts some strings not in
L, contradicting (2). - Suppose that M has n states, and consider a
string x0m1m, where mgtgtn. - By (1), x is in L.
- By (2), x is also in L(M), note that the machine
accepts a language not just a string
13- Since x m gtgt n, it follows from the pumping
lemma that - x uvw
- 1 ? uv ? n
- 1 ? v, and
- uviw is in L(M), for all i ? 0
- Since 1 ? uv ? n and nltltm, it follows that 1 ?
uv lt m. - Also, since x 0m1m it follows that uv is a
substring of 0m. - In other words v0j, for some j ? 1.
- Since uviw is in L(M), for all i ? 0, it follows
that 0mcj1m is in L(M), for all c ? 1 (no. of
loops), and j ? 1 (length of the loop) - But by (1) and (2), 0mcj1m is not in L(M), for
any c ? 1, i.e., mcj gt m, - a contradiction.
- Note that L basically corresponds to balanced
parenthesis.
14Non-Regularity Example
- Theorem The language
- L 0k1k2k k ? 0 (1)
- is not regular.
- Proof (by contradiction) Suppose that L is
regular. Then there exists a DFA M such that - L L(M) (2)
- We will show that M accepts some strings not in
L, contradicting (2). - Suppose that M has n states, and consider a
string x0m1m2m, where mgtgtn. - By (1), x is in L.
- By (2), x is also in L(M), note that the machine
accepts a language not just a string
15- Since x m gtgt n, it follows from the pumping
lemma that - x uvw
- 1 ? uv ? n
- 1 ? v, and
- uviw is in L(M), for all i ? 0
- Since 1 ? uv ? n and nltltm, it follows that 1 ?
uv ? m. - Also, since x 0m1m2m it follows that uv is a
substring of 0m. - In other words v0j, for some j ? 1.
- Since uviw is in L(M), for all i ? 0, it follows
that 0mcj1m2m is in L(M), for all c ? 1 and j ?
1. - But by (1) and (2), 0mcj1m2m is not in L(M),
for any c ? 1, a contradiction. - Note that the above proof is almost identical to
the previous proof.
16NonRegularity Example
- Theorem The language
- L 0m1n2mn m,n ? 0 (1)
- is not regular.
- Proof (by contradiction) Suppose that L is
regular. Then there exists a DFA M such that - L L(M) (2)
- We will show that M accepts some strings not in
L, contradicting (2). - Suppose that M has n states, and consider a
string x0m1n2mn, where mgtgtn. - By (1), x is in L.
- By (2), x is also in L(M).
17- Since x m gtgt n, it follows from the pumping
lemma that - x uvw
- 1 ? uv ? n
- 1 ? v, and
- uviw is in L(M), for all i ? 0
- Since 1 ? uv ? n and nltltm, it follows that 1 ?
uv ? m. - Also, since x 0m1n2mn it follows that uv is a
substring of 0m. - In other words v0j, for some j ? 1.
- Since uviw is in L(M), for all i ? 0, it follows
that 0mcj1m2mn is in L(M), for all c ? 1. In
other words v can be pumped as many times as we
like, and we still get a string in L(M). - But by (1) and (2), 0mcj1n2mn is not in L(M),
for any c ? 1, because the acceptable expression
should be 0mcj1n2mcjn, a contradiction. - What about 0m1n m, n ? 0?
18- Theorem Let M (Q, S, d, q0, F) be a DFA. Then
L(M) is finite iff x lt Q for all x in L(M). - Proof
- (if) Suppose that x lt Q for all x in L(M).
Since the number of states Q and the number of
input symbols S are both fixed, it follows that
there are at most a finite number of strings of
length less than Q. It follows that L(M) is
finite (Exercise provide an upper bound on the
number of such strings). - (only if) By contradiction. Suppose that L(M) is
finite, but that x ? Q for some x in L(M).
From the pumping lemma it follows that xuvw, v
? 1 and uviw is in L(M) for all i ? 0. But then
L(M) would be infinite, a contradiction.
19- Theorem Let M (Q, S, d, q0, F) be a DFA. Then
L(M) is infinite iff there exists an x in L(M)
such that x ? Q. - Proof
- (if) Suppose there exists an x in L(M) such that
x ? Q. From the pumping lemma it follows
that xuvw, v ? 1 and uviw is in L(M) for all i
? 0. Therefore L(M) is infinite. - (only if) By contradiction. Suppose that L(M) is
infinite, but that there is NO x in L(M) such
that x ? Q. It follows that each x in L(M)
has length less than Q. Since the number of
states Q and the number of input symbols S
are both fixed, it follows that there are at most
a finite number of strings of length less than
Q. It follows that L(M) is finite. A
contradiction. - Note that the above also follows directly from
the previous theorem.
20- Theorem Let M (Q, S, d, q0, F) be a DFA. Then
L(M) is non-empty iff there exists an x in L(M)
such that x lt Q. - Proof
- (if) Suppose there exists a string x in L(M)
such that x lt Q. Then clearly L(M) is
non-empty. - (only if) By contradiction. Suppose that L(M) is
non-empty, but that there exists no string x in
L(M) such that x lt Q. It follows that for all
strings y in L(M), y is ? Q. - Let z be a string of shortest length in L(M).
Then z ? n and, by the pumping lemma zuvw,
v ? 1 and uviw is in L(M) for all i ? 0. But
then uv0w uw is in L(M) and - uw z - v
- ? z - 1
- lt z
- Since uw is in L(M), it follows that z is not a
string of shortest length in L(M), a
contradiction.
21- Corollary Let M (Q, S, d, q0, F) be a DFA.
Then there is an algorithm to determine if L(M)
is empty. - Proof
- From the theorem it follows that if L(M) is
non-empty then there exists a string x where x
lt n and n Q such that M accepts x. We can
try running M on each string of length lt n to see
if any are accepted. If one is accepted then
L(M) is non-empty, otherwise L(M) is empty. Since
the number of states Q and the number of input
symbols S are both fixed, it follows that there
are at most a finite number of strings (of length
less than Q) that need to be tested.
22- Theorem Let M (Q, S, d, q0, F) be a DFA and
let n Q. Then L(M) is infinite iff there
exists an x in L(M) such that n ? x lt 2n. - Proof (if part left as an exercise similar to
the previous theorem). - (only if by Contradiction) Suppose there is no
string of length between n and 2n in the language
accepted by DFA M with n states. - Suppose a string z is the shortest string
accepted by the machine M, such that z ? 2n.
Since z gt n, by pumping lemma z uvw, and 1 ?
v ? n, because uv ? n. Then zuw must be
accepted by the machine M. So, z z - v
cannot be lt n. As per assumption, z ? 2n is
not possible as z is the shortest such string and
zgtz. And we presumed that there is no
string of size between n and 2n, so, n ? z ?
2n cannot be true either. Contradiction. - Corollary Let M (Q, S, d, q0, F) be a DFA.
Then there is an algorithm to determine if L(M)
is infinite. - Proof (left as an exercise).
23Closure Properties of Regular Languages
- Consider various operations on languages
- x x is in S and x is not in L
- x x is in L1 or L2
- x x is in L1 and L2
- x x is in L1 but not in L2
- L1L2 xy x is in L1 and y is in L2
- L Li L0 U L1 U L2 U
- L Li L1 U L2 U
24- Theorem Let M (Q, S, d, q0, F) be a DFA. Then
M (Q, S, d, q0, Q-F) is a DFA where L(M)
S - L(M). - Proof (left as an exercise).
- Corollary The regular languages are closed under
complementation, i.e., if L is a regular language
then so is . - Does the above construction work for NFAs?
25- Theorem The regular languages are closed with
respect to union, concatenation and Kleene
closure. - Proof Let L1 and L2 be regular languages. By
definition there exist regular expressions r1 and
r2 such that L(r1) L1 and L(r2) L2. But then
r1 r2 is a regular expression representing
. Similarly for concatenation and Kleene
closure. - Corollary L too it is LL
26- Lemma Let L1 and L2 be subsets of S. Then
. - Theorem Let L1 and L2 be regular languages. Then
is a regular language. - Proof Let L1 and L2 be regular languages. Then
- is regular
- is regular
- is regular uses union regular languages is
regular - is regular
- But by the lemma in set theory
-
27- A direct construction of a DFA M such that
- Let
- M1 (Q1, S, d1,p0,F1), where Q1 p0, p1,
- M2 (Q2, S, d2,q0,F2), where Q2 q0, q1,
- where L(M1) L1 and L(M2) L2.
- Construct M where
- Q Q1 x Q2 Note that M has a state for each
- p0, q0, p0, q1, p0, q2, pair of
states in M1 and M2 - S as with M1 and M2
- F F1 x F2
- start state p0, q0
28- Example
- The construct gives
- Q Q1 x Q2
- p0, q0, p0, q1, p0, q2, p1, q0, p1,
q1, p1, q2 - S 0, 1
- F p1, q2
- start state p0, q0
- d Some examples d(p0, q2, 0) d1(p0, 0),
d2(q2, 0) p1, q2
1
0
q0
q1
1
0
0/1
29- Final Result
- Question What if S1 does not equal S2?
- Exercise Prove that
is a regular language.
1
1
1
p0, q0
p0, q1
p0, q2
0
0
0
0
0
0
p1, q0
p1, q1
p1, q2
1
1
1