pumping lemma examples. l > = {a i b j : i > j} l > is not regular. we prove it using the...

67
Pumping Lemma Examples

Upload: faith-dampier

Post on 31-Mar-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

Pumping LemmaExamples

Page 2: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular.

We prove it using the Pumping Lemma.

Page 3: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular. • Fix an arbitrary pumping length n>0.

Page 4: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

Page 5: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

|s|≥ n

Page 6: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

• s = an+1bn ϵ L>.

aaa…aabb…bnn+1

Page 7: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

• s = an+1bn ϵ L>.• Consider all possible splittings of s in x,y,z with

the desired properties.

aaa…aabb…bnn+1

Page 8: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

• s = an+1bn ϵ L>.• Consider all possible splittings of s in x,y,z with

the desired properties.

|xy|≤ n|y|≥ 1

aaa…aabb…bnn+1

Page 9: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

• s = an+1bn ϵ L>.• Consider all possible splittings of s in x,y,z with

the desired properties.

|xy|≤ n|y|≥ 1

aaa…aabb…bnn+1

Page 10: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

• s = an+1bn ϵ L>.• Consider all possible splittings of s in x,y,z with

the desired properties.

|xy|≤ n|y|≥ 1

aaa…aabb…bYnn+1

Page 11: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

• s = an+1bn ϵ L>.• Consider all possible splittings of s in x,y,z with

the desired properties: y = am, 1 ≤ m ≤ n.

aaa…aabb…b

L> = {aibj : i > j}

Ynn+1

Page 12: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

aaabb…bnn+1-m

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

• s = an+1bn ϵ L>.• Consider all possible splittings of s in x,y,z with

the desired properties: y = am, 1 ≤ m ≤ n.• xz =an+1-mbn ∉ L>.

L> = {aibj : i > j}

n

Page 13: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L> = {aibj : i > j}

L> is not regular. • Fix an arbitrary pumping length n>0.• Choose a proper string s in L>.

• s = an+1bn ϵ L>.• Consider all possible splittings of s in x,y,z with

the desired properties: y = am, 1 ≤ m ≤ n.• xz =an+1-mbn ∉ L>.

• So L> is not regular!

Page 14: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.

Page 15: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language?

Page 16: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

• First, figure out what this language is.• A string in the language? aabaab

L={ww : w in {a,b}*}

Page 17: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language?

Page 18: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language? aaaaaa

Page 19: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language? aaaaaa• A string not in the language?

Page 20: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language? aaaaaa• A string not in the language? abbb

Page 21: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language? aaaaaa• A string not in the language? abbb• Is ε in the language?

Page 22: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language? aaaaaa• A string not in the language? abbb• Is ε in the language? YES! (ε = εε)

Page 23: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language? aaaaaa• A string not in the language? abbb• Is ε in the language? YES! (ε = εε)• Is aa in the language?

Page 24: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language? aaaaaa• A string not in the language? abbb• Is ε in the language? YES! (ε = εε)• Is aa in the language? YES!

Page 25: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language? aaaaaa• A string not in the language? abbb• Is ε in the language? YES! (ε = εε)• Is aa in the language? YES! • Is a in the language?

Page 26: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.• A string in the language? aabaab• Another string in the language? aaaaaa• A string not in the language? abbb• Is ε in the language? YES! (ε = εε)• Is aa in the language? YES! • Is a in the language? NO!

Page 27: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}• First, figure out what this language is.L = {ε, aa, bb, aaaa, abab, baba, bbbb, aaaaaa …}

abaabba|abaabba

Page 28: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.

Page 29: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• First fix an arbitrary number n>0 to be the

pumping length.

Page 30: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language

Page 31: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Choose wisely!!!

Page 32: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = a2n

aaa…aaa|aaa…aaan n

Page 33: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

aaa…aaa|aaa…aaa

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = a2n • For x = ε, y = a2, z = a2n-2

zy

n n

Page 34: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = a2n • For x = ε, y = a2, z = a2n-2

aaaaa…aa|aaaa…aaazy

n+1 n+1

y ϵ L

Page 35: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = a2n • For x = ε, y = a2, z = a2n-2

aaaaaaa…a|aaaaa…aaazy

n+2 n+2

y ϵ Ly

Page 36: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = a2n • For x = ε, y = a2, z = a2n-2

a…aaaa|aa…aaaz

n-1 n-1

ϵ L

Page 37: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = a2n • For x = ε, y = a2, z = a2n-2, there is no i: xyiz ∉ L!

Page 38: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = a2n • For x = ε, y = a2, z = a2n-2, there is no i: xyiz ∉ L!• s = a2n doesn’t work!!!

Page 39: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = (ab)2n

abab…abab|abab…ababn n

Page 40: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = (ab)2n • For x = ε, y = abab, z = (ab)2n-2

abab…abab|abab…ababn n

zy

Page 41: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = (ab)2n • For x = ε, y = abab, z = (ab)2n-2

abababab…ab|ababab…ababn+1 n+1

y zy ϵ L

Page 42: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = (ab)2n • For x = ε, y = abab, z = (ab)2n-2

• For any i, xyiz = (ab)2i(ab)2n-2 = (ab)2(i-n-2) ϵ L!

Page 43: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.

Example: For s = (ab)2n • For x = ε, y = abab, z = (ab)2n-2

• For any i, xyiz = (ab)2i(ab)2n-2 = (ab)2(i-n-2) ϵ L!• s = (ab)2n doesn’t work!

Page 44: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language.• Use s = anbanb

aaaa…aab|aaaa...aabn n

Page 45: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

aaaa…aab|aaaa...aab

We prove that L is not regular by using the pumping lemma.

• Pumping length: n• Choose a proper string in the language. • Use s = anbanb• For any splitting of s in x,y,z with the desired

properties:

L={ww : w in {a,b}*}

Yn n

Page 46: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language • Use s = anbanb• For any splitting of s in x,y,z with the desired

properties: y = am with 1 ≤ m ≤ n.

Page 47: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L={ww : w in {a,b}*}We prove that L is not regular by using the

pumping lemma.• Pumping length: n• Choose a proper string in the language • Use s = anbanb• For any splitting of s in x,y,z with the desired

properties: y = am with 1 ≤ m ≤ n.• Observe that xy2z = am+nbanb is not in L

QED

Page 48: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?

Page 49: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• A first attempt to design a FA

q10 q11 q12 q13

q2n

a,b

q2n-1 q2n-2 q2n-3

q1n

q20

a,b

a,b

a,b a,b

a,b a,b a,b

ε

...

...

Page 50: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• A first attempt to design a FA fails!

q10 q11 q12 q13

q2n

a,b

q2n-1 q2n-2 q2n-3

q1n

q20

a,b

a,b

a,b a,b

a,b a,b a,b

ε

...

...

Works for string sizes up to n!

Page 51: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.

Page 52: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.• But the pumping lemma holds!

Page 53: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.• But the pumping lemma holds!– Fix pumping length k=2.

Page 54: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.• But the pumping lemma holds!– Fix pumping length k=2.– For every proper string s in L’,

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

abbba…abb|bbaba…aaan n

2n≥2

Page 55: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

abbba…abb|bbaba…aaa

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.• But the pumping lemma holds!– Fix pumping length k=2.– For every proper string s in L’,– split s in x, y, z with the desired properties.

zy

n n

|y|≥1 and |xy|≤ 2

Page 56: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

abbba…abb|bbaba…aaa

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.• But the pumping lemma holds!– Fix pumping length k=2.– For every proper string s in L’,– split s in x = ε ,y = first two symbols of s, z = rest.

zy

n n

Page 57: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

ababbba…ab|bbbaba…aaa

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.• But the pumping lemma holds!– Fix pumping length k=2.– For every proper string s in L’,– split s in x = ε ,y = first two symbols of s, z = rest.– xy2z in L’.

n+1

ϵ L’zyy

n+1

Page 58: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

abababbba…a|bbbbaba…aaa

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.• But the pumping lemma holds!– Fix pumping length k=2.– For every proper string s in L’,– split s in x = ε ,y = first two symbols of s, z = rest.– xy3z in L’.

n+2

ϵ L’zyyy

n+2

Page 59: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.• But the pumping lemma holds!– Fix pumping length n=2.– For every proper string s in L’,– split s in x = ε ,y = first two symbols of s, z = rest.– xy0z in L’.

bba…abbb|baba…aaaϵ L’z

n-1n-1

Page 60: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Looks similar with L (L = {w1w2 : w1 = w2}.• But the pumping lemma holds!– Fix pumping length n=2.– For every proper string s in L’,– split s in x = ε ,y = first two symbols of s, z = rest.– For every i ≥ 0, xyiz in L’.

Page 61: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular? • Consider L’’ = {w : w has even length}.

Page 62: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular? • Consider L’’ = {w : w has even length}.

Every string of even length

abbbaabb….…bbabaaaa2n

Page 63: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular? • Consider L’’ = {w : w has even length}.

Every string of even length can be split into two parts of equal length

abbbaabb… …bbabaaaan

|n

Page 64: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular? • Consider L’’ = {w : w has even length}.

Every string of even length can be split into two parts of equal length and vice versa.

abbbaabb….…bbabaaaa2n

Page 65: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• Consider L’’ = {w : w has even length}.• L’ = L’’

Every string of even length can be split into two parts of equal length and vice versa.

Page 66: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular? • Consider L’’ = {w : w has even length}• L’ = L’’• A DFA for L’’:

odd

a,b

even

a,b

Page 67: Pumping Lemma Examples. L > = {a i b j : i > j} L > is not regular. We prove it using the Pumping Lemma

L’ = {w1w2 : w1,w2 ϵ {a,b}*,|w1|=|w2|}

Is it regular?• YES!!!• L’ = L’’• A DFA for L’:

odd

a,b

a,b

even