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

Post on 31-Mar-2015

221 views 0 download

Tags:

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

Pumping LemmaExamples

L> = {aibj : 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.

L> = {aibj : i > j}

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

L> = {aibj : i > j}

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

|s|≥ n

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

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

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

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

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

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

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

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!

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

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

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

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

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

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

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?

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

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?

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! (ε = εε)

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?

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!

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?

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!

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

abaabba|abaabba

L={ww : w in {a,b}*}We prove that L is not regular by 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.

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

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!!!

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

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

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

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

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

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!

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!!!

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

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

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

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!

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!

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

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

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.

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

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

Is it regular?

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

ε

...

...

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!

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

odd

a,b

a,b

even