Title: Today
1Today
- Chapter 1
- RE Regular Languages,
- nonregular languages
- RL pumping lemma
- Chapter 2
- Context-Free Languages (CFLs)
2Regular Expressions (Def. 1.26)
- Given an alphabet ?, R is a regular expression
if - R a, with a??
- R ?
- R ?
- R (R1?R2), with R1 and R2 regular expressions
- R (R1?R2), with R1 and R2 regular expressions
- R (R1), with R1 a regular expression
3Thm 1.28 RL RE
- We need to prove both ways
- If a language is described by a regular
expression,then it is regular (Lemma 1.29)(Last
week we saw how we can convert a
regularexpression R into an NFA M such that
L(R)L(M)) - Today we do the second partIf a language is
regular, then it can be described bya regular
expression (Lemma 1.32)
4Generalized NFA
- Generalized nondeterministic finite automaton
M(Q, ?, ?, qstart, qaccept) with - Q finite set of states
- ? the input alphabet
- qstart the start state
- qaccept the accept state
- ?(Q\qaccept)?(Q\qstart) ? R the transition
function - (R is the set of regular expressions over ?)
5Example GNFA
6Characteristics of GNFAs ?
- ?(Q\qaccept)?(Q\qstart) ? R
The interior Q\qaccept,qstart is fully
connected by ? From qstart only outgoing
transitions To qaccept only ingoing
transitions Impossible qi?qj transitions are
?(qi,qj) ?
7Proof Idea of Lemma 1.32
Proof idea (given a DFA M) Construct an
equivalent GNFA M with k?2 states Reduce
one-by-one the internal states until k2 This
GNFA will be of the form This regular expression
R will be such that L(R) L(M)
R
qS
qA
8DFA M ? Equivalent GNFA M
Let M have k states Qq1,,qk
- Add two states qaccept and qstart
9Remove Internal state of GNFA
If the GNFA M has more than 2 states,
ripinternal qrip to get equivalent GNFA M
by - Removing state qrip QQ\qrip - Changing
the transition function ? by ?(qi,qj)
?(qi,qj) ? (?(qi,qrip)(?(qi,qj))?(qrip,qj))
for every qi?Q\qaccept and qj?Q\qstart
10Proof Lemma 1.32
Let M be DFA with k states Create equivalent
GNFA M with k2 states Reduce in k steps M to
M with 2 states The resulting GNFA describes a
single regular expressions R The regular
language L(M) equals the languageL(R) of the
regular expression R
11Recap Regular Languages Regular Expressions
Let R be a regular expression, then there exists
an NFA M such that L(R) L(M) The language
L(M) of a DFA M is equivalent toa language L(M)
of a GNFA M, which canbe converted to a
two-state M The transition qstart ?R?
qacceptof M obeys L(R) L(M) Hence RE ?
NFA DFA ? GNFA ? RE
12Nonregular Languages 1.4
- Which languages cannot be recognized by finite
automata? - Example L 0n1n n?N
- Playing around with FA convinces you that the
finiteness of FA is problematic for all n?N - The problem occurs between the 0n and the 1n
- Informal the memory of a FA is limited by the
the number of states Q
13Repeating DFA Paths
Consider an accepting DFA M with size Q On a
string of length p, p1 states get visited For
p?Q, there must be a j such that the
computational path looks like q1,,qj,,qj,,qk
14Repeating DFA Paths
The action of the DFA in qj is always the
same. If we repeat (or ignore) the qj,,qj part,
the newpath will again be an accepting path
15Line of Reasoning
- Proof by contradiction
- Assume that L is regular
- Hence, there is a DFA M that recognizes L
- For strings of length ? Q the DFA M has to
repeat itself - Show that M will accept strings outside L
- Conclude that the assumption was wrong
Note that we use the simple DFA, not the more
elaborate (but equivalent) NFA or GNFA
16Pumping Lemma (Thm 1.37)
For every regular language L, there is a pumping
length p, such that for any string s?L and
s?p, we can write sxyz with1) x yi z ? L for
every i?0,1,2,2) y ? 13) xy ? p Note
that 1) implies that xz ? L 2) says that y
cannot be the empty string ?Condition 3) is not
always used
17Formal Proof of Pumping Lemma
Let M (Q,?,?,q1,F) with Q q1,,qp Let s
s1sn?L(M) with s n ? p Computational path of
M on s is thesequence r1,,rn1 ? Qn1 withr1
q1, rn1?F and rt1 ?(rt,st) for 1?t?n Because
n1 ? p1, there are two statessuch that rj rk
(with jltk and k ? p1) Let x s1sj1, y
sjsk1, and z sksn1 x takes M from q1r1 to
rj, y takes M from rj to rj, and z takes M from
rj to rn1?F As a result xyiz takes M from q1 to
rn1?F (i ? 0)
18Formal Proof of Pumping Lemma
Let M (Q,?,?,q1,F) with Q q1,,qp Let s
s1sn?L(M) with s n ? p Computational path of
M on s is thesequence r1,,rn1 ? Qn1 withr1
q1, rn1?F and rt1 ?(rt,st) for 1?t?n Because
n1 ? p1, there are two termssuch that rj rk
(with jltk and k ? p1) Let x s1sj1, y
sjsk1, and z sksn1 x takes M from q1r1 to
rj, y takes M from rj to rj, and z takes M from
rj to rn1?F As a result xyiz takes M from q1 to
rn1?F (i ? 0)
y ? 1 and xy ? p
x yi z ? L(M) for every i?0,1,2,
19Pumping 0n1n (Ex. 1.38)
Assume that B 0n1n n?0 is regular Let p be
the pumping length, and s 0p1p ? B P.L. s
xyz 0p1p, with xyiz ? B for all i?0 Three
options for y 1) y0k, hence xyyz 0pk1p ?
B 2) y1k, hence xyyz 0p1kp ? B 3) y0k1l,
hence xyyz 0p1l0k1p ? B Conclusion The
pumping lemma does not hold,the language B is
not regular.
20F ww w?0,1 (Ex. 1.40)
Let p be the pumping length, and take s
0p10p1 Let s xyz 0p10p1 with condition 3)
xy?p Only one option y0k, with xyyz
0pk10p1 ? F Without 3) this would have been a
pain.
21Intersecting Regular Languages
Let C w of 0s in w equals of 1s in
w Problem If xyz?C with y?C, then xyiz?C Idea
If C is regular and F is regular, then the
intersection C?F has to be regular as well
Solution Assume that C is regular Take the
regular F 0n1m n,m?N, then for the
intersection C?F 0n1n n?N But we know
that C?F is not regular Conclusion C is not
regular
22Pumping Down E 0i1j i?j
Problem pumping up s0p1p with y0k givesxyyz
0pk1p, xy3z 0p2k1p, which are all in
E(hence do not give contradictions) Solution
pump down to xz 0pk1p. Overall for s xyz
0p1p (with xy?p) y0k, hence xz 0pk1p ?
E Contradiction E is not regular
End Chapter One