pumping lemma examples. l > = {a i b j : i > j} l > is not regular. we prove it using the...
TRANSCRIPT
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