Pumping Lemma for Regular Languages - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Pumping Lemma for Regular Languages

Description:

1. Pumping Lemma for Regular Languages. Pumping Lemma relates the size of string ... Since |Q| = n, it follows from the pigeon-hole principle that js = jt for some 0 ... – PowerPoint PPT presentation

Number of Views:619
Avg rating:3.0/5.0
Slides: 28
Provided by: fit
Category:

less

Transcript and Presenter's Notes

Title: Pumping Lemma for Regular Languages


1
Pumping 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?
  • Suppose there is no loop?
  • Now, if there is a loop, what type of strings are
    accepted via the loop(s)?

2
Pumping 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
  • such that, the strings uviw are also in L(M), for
    all i ? 0

3
Pumping 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).

4
  • same
  • loop

5
  • 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 resulting string would still be accepted.

6
  • 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

7
  • 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.

8
  • Note It may be the case that no x in L(M) has
    x ? n.

9
  • 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
10
NonRegularity 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

11
  • 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 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.
  • But by (1) and (2), 0mcj1m is not in L(M), for
    any c ? 1, a contradiction.
  • Note that L basically corresponds to balanced
    parenthesis.

12
NonRegularity 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

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 ? 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.
  • 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.

14
NonRegularity 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).

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 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.
  • Note that the above proof is almost identical to
    the previous proof.

16
  • 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 give 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.

17
  • 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.

18
  • 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 y ?
    n, where n Q, for all y in L(M). 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.

19
  • 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.
  • Note that Dijkstras algorithm works here too

20
  • 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 (left as an exercise similar to the
    previous theorem).
  • (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).

21
Closure 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

22
  • 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?

23
  • 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.

24
  • 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
  • is regular
  • But by the lemma


25
  • 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

26
  • 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
27
  • 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
Write a Comment
User Comments (0)
About PowerShow.com