1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 10 Mälardalen University 2010
Jan 24, 2016
1
CD5560
FABER
Formal Languages, Automata and Models of Computation
Lecture 10
Mälardalen University
2010
2
Content
The Pumping Lemma for CFLApplications of the Pumping Lemma for CFL
Midterm Exam 2: Context-Free Languages
3
Pumping Lemma for CFL’s
4
Comparison to Regular Language Pumping Lemma/Condition
5
What’s Difference between CFL’s and Regular Languages?
In regular languages, a single substring “pumps”
...... ......q
6
What’s Difference between CFL’s and Regular Languages?
In CFL’s, multiple substrings can be “pumped”– Consider the language {anbn | n > 0}
– No single substring can be pumped and allow us to stay in the language
– However, there do exist pairs of substrings which can be pumped resulting in strings which stay in the language
Thus, a modified pumping lemma applies.
7
Pumping Conditions for RL and CFL
A language L satisfies the RL pumping condition if: – there exists an integer m > 0
such that– for all strings x in L of length at
least m– there exist strings u, v, w such
that• x = uvw and• |uv| ≤ m and• |v| ≥ 1 and• For all i ≥ 0, uviw is in L
A language L satisfies the CFL pumping condition if: – there exists an integer m > 0
such that– for all strings x in L of length at
least m– there exist strings u, v, w, y, z
such that• x = uvwyz and• |vwy| ≤ m and• |vy| ≥ 1 and• For all i ≥ 0, uviwyiz is in L
8
Pumping Lemma
All CFL’s satisfy the CFL pumping condition
All languages over {a,b}
“Pumping Languages”
CFL’s
9
Implications
• We can use the pumping lemma to prove a language L is not a CFL– Show L does not satisfy the CFL pumping
condition• We cannot use the pumping lemma to prove
a language is CFL– Showing L satisfies the pumping condition
does not guarantee that L is context-free
All languages over {a,b}
“Pumping Languages”
CFL’s
10
Pumping Lemma
What does it mean?
11
Pumping Condition
• A language L satisfies the CFL pumping condition if: – there exists an integer m > 0 such that– for all strings x in L of length at least m– there exist strings u, v, w, y, z such that
• x = uvwyz and• |vwy| ≤ m and• |vy| ≥ 1 and• For all i ≥ 0, uviwyiz is in L
12
v and y can be pumped
• Let x = abcdefg be in L• Then there exist substrings v and y in x such
that v and y can be repeated (pumped) and the resulting string is still in L– uviwyiz is in L for all i ≥ 0
1) x in L2) x = uvwyz3) For all i ≥ 0, uviwyiz is in L
13
For example x = abcdefg
v = cd and y = f
uv0wy0z = uwz = abeg is in L
uv1wy1z = uvwyz = abcdefg is in L
uv2wy2z = uvvwyyz = abcdcdeffg is in L
uv3wy3z = uvvvwyyyz = abcdcdcdefffg is in L
…
14
What the other parts mean
A language L satisfies the CFL pumping condition if: – there exists an integer m > 0 such that– for all strings x in L of length at least m
• x must be in L and have sufficient length
15
What the other parts mean
– there exist strings u, v, w, y, z such that• x = uvwyz and• |vwy| ≤ m and
–v and y are contained within m characters of x–Note: these are NOT necessarily the first m
characters of x• |vy| ≥ 1 and
–v and y cannot both be l,–One of them might be l, but not both
• For all i ≥ 0, uviwyiz is in L
16
Pumping Lemma
Applying it to prove a specific language L is not context-free
17
How we use the Pumping Lemma
• We choose a specific language L
For example {aj bj cj | j > 0}
• We show that L does not satisfy the pumping condition
• We conclude that L is not context-free
18
Showing L “does not pump”
A language L satisfies the CFL pumping condition if: – there exists an integer n >
0 such that– for all strings x in L of
length at least m– there exist strings u, v, w,
y, z such that• x = uvwyz and• |vwy| ≤ m and• |vy| ≥ 1 and• For all i ≥ 0, uviwyiz is
in L
A language L does not satisfy the CFL pumping condition if: – for all integers m of sufficient
size– there exists a string x in L of
length at least m such that– for all strings u, v, w, y, z
such that• x = uvwyz and• |vwy| ≤ m and• |vy| ≥ 1
– There exists a i ≥ 0 such that uviwyiz is not in L
19
Example Languages
• TWOCOPIES = {ww | w is in {a,b}* }– abbabb is in TWOCOPIES but abaabb is not
• EQUAL3 = {the set of strings over {a, b, c} such that the number of a’s equals the number of b’s equals the number of c’s}
• {ai bj ck | i < j < k}
20
More Pumping Lemma Applications
21
The Pumping Lemma for CFL
there exists an integer such that m
for any string mwLw || ,
we can write
For infinite context-free language L
uvxyzw
with lengths 1||and || vymvxy
and 0 allfor , iLzxyuv ii
22
The Pumping Lemma for CFL
There exists an integer such that m
mwGLw || ),(
can be written
Let be a context free grammar. G
uvxyzw
with lengths 1||and || vymvxy
and 0 allfor , iLzxyuv ii
23
Regular Languages
}{ nnba }{ RwwContext-Free Languages
Non-regular languages
Unrestricted grammar languages
}0:{ ncba nnn
**ba
24
Theorem The language
}*},{:{ bawwwL
is not context free
Proof Use the Pumping Lemma
for context-free languages
25
Assume the contrary - that
is context-free
Since is context-free and infinite
we can apply the pumping lemma
L
L
}*},{:{ bawwwL
26
Pumping Lemma gives a number
such that:
m
we pick: Lbaba mmmm
}*},{:{ bawwwL
Pick any string of
with length at least mL
27
We can write:
}*},{:{ bawwwL
uvxyzbaba mmmm
Pumping Lemma says:
Lzxyuv ii for all 0i
with lengths mvxy || 1|| vyand
28
We examine all the possible locations
of string in vxy
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
mmmm baba
29
Case 1: vxy is within the firstma
bbaabbaa ........................v
m m m
u z
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
x y
m
1kav 2kay 121 kk
30
bbaabbaa ..................................2v
21 kkm m m
u z
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
x 2y
m
Case 1: vxy is within the firstma
1kav 2kay 121 kk
31
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
Case 1: vxy is within the firstma
121 kk
Lzxyuvbaba mmmkkm 2221
32
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
Case 1: vxy is within the firstma
Contradiction!
Lzxyuvbaba mmmkkm 2221
Lzxyuv 22However, from Pumping Lemma:
33
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
bbaabbaa ........................v
m m m
u zx y
m
is in the first
is in the firstCase 2: mamb
vy
1kav 2kby 121 kk
34
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
bbaabbaa ....................................2v
1km 2km m
u zx 2y
m
is in the first
is in the firstCase 2: mamb
vy
1kav 2kby 121 kk
35
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
is in the first
is in the firstCase 2: mamb
vy
121 kk
Lzxyuvbaba mmkmkm 2221
36
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
is in the first
is in the firstCase 2: mamb
vy
Lzxyuvbaba mmkmkm 2221
Contradiction!
Lzxyuv 22However, from Pumping Lemma:
37
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
bbaabbaa ........................v
m m m
u zx y
m
is in the first
overlaps the firstCase 3: mmbamb
vy
21 kk bav 3kby 1, 21 kk
38
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
is in the first
overlaps the firstCase 3: mmbamb
vy
21 kk bav 3kby 1, 21 kk
2v zx 2y
bbaabbbbaaaa .................................m 2k 3km
u
m1k m
39
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
is in the first
overlaps the firstCase 3: mmbamb
vy
Lzxyuvbabbaa mmkmkkm 22321
1, 21 kk
40
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
is in the first
overlaps the firstCase 3: mmbamb
vy
Lzxyuvbabbaa mmkkkm 22321
Contradiction!
Lzxyuv 22However, from Pumping Lemma:
41
Overlaps the first
in the firstCase 4:
bbaabbaa ........................v
m m m
u z
mvxy || 1|| vyuvxyzbaba mmmm
}*},{:{ bawwwL
x y
m
mammba
vy
Analysis is similar to case 3
42
Other cases: vxy is within
mmmm babaor
or
mmmm baba
mmmm baba
Analysis is similar to case 1: mmmm baba
43
More cases: vxy overlaps
mmmm baba ormmmm baba
Analysis is similar to cases 2,3,4:
mmmm baba
44
Since , it is impossible for
to overlap:
There are no other cases to consider
mvxy ||vxy
mmmm baba
nor normmmm baba mmmm baba
neither
45
In all cases we obtained a contradiction
Therefore: The original assumption that
is context-free must be wrong
Conclusion: is not context-freeL
}*},{:{ bawwwL
END OF PROOF
46
Regular Languages
}{ nnba }{ RwwContext-Free Languages
Non-regular languages
Unrestricted grammar languages
}0:{ ncba nnn
**ba
}{ww
47
Theorem The language
is not context free
Proof Use the Pumping Lemma
for context-free languages
}0:{ ! naL n
48
Since is context-free and infinite
we can apply the pumping lemma
L
Assume to the contrary that
is context-free
L
}0:{ ! naL n
49
Pumping Lemma gives a magic number
such that:
m
we pick: Lam !
Pick any string of with length at least mL
}0:{ ! naL n
50
We can write: uvxyzam !
Pumping Lemma says:
Lzxyuv ii for all 0i
}0:{ ! naL n
with lengths mvxy || 1|| vy and
51
We examine all the possible locations
of string in vxy !ma
mvxy || 1|| vyuvxyzam !
There is only one case to consider
}0:{ ! naL n
52
v
!m
u zx y
1kav 2kay mkk 211
aa ...............
mvxy || 1|| vyuvxyzam !
}0:{ ! naL n
53
2v
21! kkm
u zx 2y
1kav 2kay
aa ...........................
mvxy || 1|| vyuvxyzam !
}0:{ ! naL n
mkk 211
54
2v
km !
u zx 2y
1kav 2kay
aa ...........................
mvxy || 1|| vyuvxyzam !
}0:{ ! naL n
mk 1
21 kkk
55
mvxy || 1|| vyuvxyzam !
}0:{ ! naL n
mk 1
zxyuva km 22!
56
)!1(
)1(!
!!
!!
m
mm
mmm
mmkm
)!1(!! mkmm
mk 1Since
2m we have:for
57
mvxy || 1|| vyuvxyzam !
}0:{ ! naL n
Lzxyuva km 22!
)!1(!! mkmm
58
mvxy || 1|| vyuvxyzam !
}0:{ ! naL n
Lzxyuva km 22!
Lzxyuv 22
Contradiction!
However, from Pumping Lemma:
59
We obtained a contradiction
Therefore: The original assumption that
is context-free must be wrong
Conclusion: is not context-freeL
}0:{ ! naL n
END OF PROOF
60
Regular Languages
**ba
Context-free languages
Unrestricted grammar languages}0:{ ncba nnn
}0:{ nba nn
}},{:{ bawww
}*},{:{ bawwwR
}0:{ ! nan }0:{2
nba nn
61
Theorem The language
is not context free
Proof Use the Pumping Lemma
for context-free languages
}0:{2
nbaL nn
62
Since is context-free and infinite
we can apply the pumping lemma
L
Assume to the contrary that
is context-free
L
}0:{2
nbaL nn
63
Pumping Lemma gives a number
such that:
m
we pick: Lba mm 2
Pick any string of with length at least mL
}0:{2
nbaL nn
64
We can write:
with lengths andmvxy || 1|| vy
uvxyzba mm 2
Pumping Lemma says:
Lzxyuv ii for all 0i
}0:{2
nbaL nn
65
We examine all the possible locations
of string in vxy
mvxy || 1|| vyuvxyzba mm 2
mm ba2
}0:{2
nbaL nn
66
Most complicated case:
bbaa ...........................v
2m m
u zx y
is in
is inmamb
vy
}0:{2
nbaL nn
mvxy || 1|| vyuvxyzba mm 2
67
bbaa ...........................v
2m m
u zx y
1kav 2kby
}0:{2
nbaL nn
mkk 211
mvxy || 1|| vyuvxyzba mm 2
68
bbaa ...........................v
2m m
u zx y
1kav 2kby
Most complicated sub-case: 01 k 02 k
}0:{2
nbaL nn
mkk 211
and
mvxy || 1|| vyuvxyzba mm 2
690v
12 km 2km
u zx 0y
bbaa ..................
}0:{2
nbaL nn
1kav 2kby
Most complicated sub-case: 01 k 02 k
mkk 211
and
mvxy || 1|| vyuvxyzba mm 2
70
}0:{2
nbaL nn
1kav 2kby
Most complicated sub-case: 01 k 02 k
mkk 211
and
zxyuvba kmkm 00212
mvxy || 1|| vyuvxyzba mm 2
71
12
2
222
12
)1()(
km
mm
mkm
01 k 02 k mkk 211and
221
2 )( kmkm
72
}0:{2
nbaL nn
221
2 )( kmkm
Lzxyuvba kmkm 00212
mvxy || 1|| vyuvxyzba mm 2
73
}0:{2
nbaL nn
Lzxyuvba kmkm 00212
However, from Pumping Lemma:
Lzxyuv 00
Contradiction!
mvxy || 1|| vyuvxyzba mm 2
74
When we examine the rest of the cases
we also obtain a contradiction
75
In all cases we obtained a contradiction
Therefore: The original assumption that
is context-free must be wrong
Conclusion: is not context-freeL
}0:{2
nbaL nn
END OF PROOF
76
Check your knowledge before midterm exam!
Selected Examplesof
CF Language Problems
77
Let G be the grammar with productions:
Claim: L(G) = L
||
bBcB
BaScS
}:{ mnkcbaL kmn Find a CFG for the following language
Example
78
Proof:Consider the following derivation:
(the first * applies S aSc n times, the second * to B bBc m times)
Since all words in L(G) must follow this pattern in their derivations, it is clear that L(G) L
Find a CFG for the following language
||
bBcB
BaScS
}:{ mnkcbaL kmn
)(
**
mncmbna
ncmcBmbnancBnancSnaS
79
Consider w L, w = anbmc(n + m) for some n, m 0
The derivation
S * anScn anBcn * anbmBcmcn anbmc(n + m) clearly produces w for any n, m.
L L(G) L L(G)
G is a CFG for L
Find a CFG for the following language
}:{ mnkcbaL kmn
END OF PROOF
||
bBcB
BaScS
80
}:{ 32 NnbaL nn Find a PDA and CFG for the following language
Example
Is the automaton deterministic? Yes. It acts in a unique way in each state, no -transitions.
fqiq
/, 23 ab22 /, aa
/, 23 ab
81
CFG : 32| SbaS
}:{ 32 NnbaL nn
fqiq
/, 23 ab22 /, aa
/, 23 ab
82
}2:},{{ ba nnbaxL Find a PDA and CFG for the following language
Example
bb
aa
/,
/,
/,
/,
/,
/,
aab
aba
aab
baa
PDA
83
CFG :
SSbSaSaaSaSbaSbSaS ||||
}2:},{{ ba nnbaxL bb
aa
/,
/,
/,
/,
/,
/,
aab
aba
aab
baa
84
Consider the following two languages:
L1 ={w : w is made from a’s and b’s
and the length of w is a multiple of 10}
L2 = {anbn: n 0}
}:{ tenofmultipleNOTisnnbnaL
Prove that the language L is context-free
Example
85
L1 ={w : w is made from a’s and b’s and the length of w is a multiple of ten}
L2 = {anbn: n 0}
Let L1 denote the complement of L1. We have that L = L1 L2.
L1 is a regular language, since we can easily build a finite automaton with 10 states that accepts any string in this language.
L1 is regular too, since regular languages are closed under complement.
86
The language L2 is context-free.
The grammar is: S aSb |
Therefore, the language L = L1 L2 is also context-free,
since context-free languages are closed under regular intersection (Regular Closure).
END O PROOF
87
}||,},{,:{ nxbaxNnaxL n Find a PDA and CFG for the following language
Example
CFG
babAaAA
AASaS
|||
||
ababaaabaAaaabAaa
AAaaAASaaASaS
Production ex.
88
}||,},{,:{ nxbaxNnaxL n
PDA
fqiq
babAaAA
AASaS
|||/,
||/,
/,
/,
bb
aa
S/,
89
}different are symbols finishing theand starting the
,:},{{ ba nnbaxL
Find a PDA and CFG for the following language
Example
PDA /,a
/,
/,
/,
/,
ba
bb
ab
aa
bb /,
/, ab /,a
/, a
/,
/,
/,
/,
ba
bb
ab
aa
90
}different are symbols finishing theand starting the
,:},{{ ba nnbaxL
/,a
/,
/,
/,
/,
ba
bb
ab
aa
bb /,
/, ab /,a
/, a
/,
/,
/,
/,
ba
bb
ab
aa
CFG, direct construction
•Strings start and finish with different symbols
•Strings contain at least one more a than b
bAaaAbS |
bAAAbAAAbaAaA ||||(we must have AA here as only one A just balances b)
91
http://www.liacs.nl/~hoogeboo/praatjes/tarragona/schoolpda-VIII.pdf
Famous Pushdown AutomataExamples