0% found this document useful (0 votes)
63 views18 pages

COSC 3340: Introduction To Theory of Computation

This document summarizes key points from Lecture 15 of COSC 3340: Introduction to Theory of Computation. It discusses that not all languages are context-free using cardinality arguments. It then introduces the Pumping Lemma technique for showing specific languages are not context-free. The statement of the Pumping Lemma is given along with details of the proof. Examples are provided of applying the Pumping Lemma to show languages like {anbncn} are not context-free. Finally, it discusses that context-free languages are not closed under intersection and complement.

Uploaded by

MathiasReolon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views18 pages

COSC 3340: Introduction To Theory of Computation

This document summarizes key points from Lecture 15 of COSC 3340: Introduction to Theory of Computation. It discusses that not all languages are context-free using cardinality arguments. It then introduces the Pumping Lemma technique for showing specific languages are not context-free. The statement of the Pumping Lemma is given along with details of the proof. Examples are provided of applying the Pumping Lemma to show languages like {anbncn} are not context-free. Finally, it discusses that context-free languages are not closed under intersection and complement.

Uploaded by

MathiasReolon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

COSC 3340: Introduction to Theory of

Computation

University of Houston
Dr. Verma
Lecture 15

1 Lecture 15 UofH - COSC 3340 - Dr. Verma


Are all languages context-free?

 Ans: No.
 How do we know this?
– Ans: Cardinality arguments.
 Let C(CFG) = {G | G is a CFG}. C(CFG) is a
countable set. Why?
 Let AL = { L | L is a subset of *}. AL is
uncountable.

2 Lecture 15 UofH - COSC 3340 - Dr. Verma


Pumping Lemma

 First technique to show that specific given


languages are not context-free.
 Cardinality arguments show existence of
languages that are not context-free.
 There is a big difference between the two!

3 Lecture 15 UofH - COSC 3340 - Dr. Verma


Statement of Pumping Lemma

If A is an infinite context-free language, then


there is a number p (the pumping length)
where, if s is any string in A of length at least
p, then s may be divided into five pieces s =
uvxyz satisfying the conditions.
1. For each i  0, uvixyiz ε A,
2. |vy| > 0, and
3. |vxy| <= p.

4 Lecture 15 UofH - COSC 3340 - Dr. Verma


Statement of Pumping Lemma (contd.)

• When s is divided into uvxyz, cond. 2 says -


either v or y is not the empty string.
• Otherwise the theorem would be trivially true.
• Cond. 3 say - the pieces v, x, and y together
have length at most p.
• This condition is useful in proving that certain
languages are not context free.

5 Lecture 15 UofH - COSC 3340 - Dr. Verma


Proof of pumping lemma

Idea: If a sufficiently long string s is derived by a CFG,


then there is a repeated nonterminal on a path in the
parse tree.
One such repeated nonterminal must have a nonempty
yield “on the sides” – v, y.
This nonterminal can be used to build infinitely many
longer strings (and one shorter string, i = 0 case)
derived by the CFG.
 Uses: Pigeon-hole principle

6 Lecture 15 UofH - COSC 3340 - Dr. Verma


Details of Proof of Pumping Lemma.

 Let A be a CFL and let G be a CFG that


generates it. We must show how any
sufficiently long string s in A can be pumped
and remain in A.
 Let s be a very long string in A.
 Since s is in A, it is derivable from G and so
has a parse tree. The parse tree for s must
be very tall because s is very long.
7 Lecture 15 UofH - COSC 3340 - Dr. Verma
Details of Proof of Pumping Lemma
(contd).

How long does s have to be?


– Let b be the maximum number of symbols in the
right-hand side of a rule.
– Assume b  2.
 A parse tree using this grammar can have no more than
b children.
 At least b leaves are 1 step from the start variable; at
most b2 leaves are at most 2 steps from the start
variable; at most bh leaves are at most h steps from the
start variable.

8 Lecture 15 UofH - COSC 3340 - Dr. Verma


Details of Proof of Pumping Lemma
(contd).

– So, if the height of the parse tree is at most h,


the length of the string generated is at most bh
– Let |V | = number of nonterminals in G
– Set p = b|V|+2
– Because b  2, we know that p > b|V|+1, so a
parse tree for any string in A of length at least p
requires height at least |V | + 2.
 Therefore, let s in A be of length at least p.

9 Lecture 15 UofH - COSC 3340 - Dr. Verma


Details of Proof of Pumping Lemma
(contd).

 The parse tree must contain some long path from the
start variable at the root of the tree to one of
the terminal symbol at a leaf. On this
T
long path some variable symbol ..
..
R must repeat because of the R
pigeonhole principle. ..
.
R

u v x y z
We start with a smallest parse tree with yield s

10 Lecture 15 UofH - COSC 3340 - Dr. Verma


Details of Proof of Pumping Lemma
(contd).

 This repetition of R allows us to replace T


..
the subtree under the 2nd occurrence ..
of R with the subtree under the 1st R
..
occurrence of R and still get a .
R
legal parse tree. Therefore we
may cut s into 5 pieces u v R y z
uvxyz as the figure indicates
and we may repeat the 2nd and v x y
4th pieces and obtain a sting in the language.

11 Lecture 15 UofH - COSC 3340 - Dr. Verma


Details of Proof of Pumping Lemma
(contd).

 In other words, uvixyiz is in A for any i  0.


even if i = 0.
T
..
..
R

x
u z

12 Lecture 15 UofH - COSC 3340 - Dr. Verma


Some Applications of Pumping Lemma

 The following languages are not context-free.


1. {anbncn | n  0 }.
2. {a{n2} | n  0}.
3. {w in {a,b,c}* | w has equal a’s, b’s and c’s}.

13 Lecture 15 UofH - COSC 3340 - Dr. Verma


Example: CFL L = {anbncn | n  0 }.

 L is not context free.


 To show this, assume L is a CFL. L is infinite.
 Let w = apbpcp, p is the pumping length

a…ab…bc…c |vy|  0
|vxy|  p
p p p

|w| = 3p  p

14 Lecture 15 UofH - COSC 3340 - Dr. Verma


Example (contd.)

Case 1:
– Both v and y contain only one type of alphabet symbols, v
does not contain both a’s and b’s or both b’s and c’s and the
same holds for y. Two possibilities are shown below.

a…ab…bc…c
v y/v y

– In this case the string uv2xy2z cannot contain equal number


of a’s, b’s and c’s. Therefore, uv2xy2z  L

15 Lecture 15 UofH - COSC 3340 - Dr. Verma


Example (contd.)

Case 2:
– Either v or y contain more than one type of alphabet
symbols. Two possibilities are shown below.

a…a … a b b b… b c … c
v y/v y

– In this case the string uv2xy2z may contain equal number of


the three alphabet symbols but won’t contain them in the
correct order.
– Therefore, uv2xy2z  L

16 Lecture 15 UofH - COSC 3340 - Dr. Verma


CFL’s not closed under
intersection and complement

 Let Σ = {a,b,c}. L = {w over Σ | w has equal a’s and


b’s}. L’ = {w over Σ | w has equal b’s and c’s}. L, L’
are CFLs.
 L intersect L’ = {w over Σ | w has equal a’s, b’s and
c’s}, which is not a CFL.
 Because of closure under Union and DeMorgan’s
law, CFLs are not closed under complement also.
 CFLs are closed under intersection with regular
languages.

17 Lecture 15 UofH - COSC 3340 - Dr. Verma


Tips of the trade -- Do not forget!

Closure properties can be used effectively for:


(1) Shortening cumbersome Pumping lemma
arguments.
Example: {w in {a, b, c}* | w has equal a's, b's, and c's}.
(2) For showing that certain languages are context-free.
Example:
{w in {a, b, c}* | w has equal a's and b's or equal b's and c's }.

18 Lecture 15 UofH - COSC 3340 - Dr. Verma

You might also like