750 likes | 1.51k Views
Pumping Lemma Examples. L > = { a i b j : i > j}. L > is not regular. We prove it using the Pumping Lemma. L > = { a i b j : i > j}. L > is not regular. Fix an arbitrary pumping length n>0. L > = { a i b j : i > j}. L > is not regular. Fix an arbitrary pumping length n>0.
E N D
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 properstring 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…b n n+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…b n n+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…b n n+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…b n n+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 Y aaa…aabb…b n+1 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. Y aaa…aabb…b n+1 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>. aaabb…b n+1-m n 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?
L={ww : w in {a,b}*} • First, figure out what this language is. • A string in the language? aabaab
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…aaa 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 y z aaa…aaa|aaa…aaa 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 y y z aaaaa…aa|aaaa…aaa ϵ L n+1 n+1
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 y y y z aaaaaaa…a|aaaaa…aaa ϵ L n+2 n+2
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 z a…aaaa|aa…aaa ϵ L n-1 n-1
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…abab 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 = (ab)2n • For x = ε,y = abab, z = (ab)2n-2 y z abab…abab|abab…abab 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 = (ab)2n • For x = ε,y = abab, z = (ab)2n-2 y y z abababab…ab|ababab…abab ϵ L n+1 n+1
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...aab 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. • Use s = anbanb • For any splitting of s in x,y,z with the desired properties: y aaaa…aab|aaaa...aab 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 • 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 ... a,b q10 q11 a,b q12 a,b q13 a,b q1n ε ... a,b a,b a,b a,b q2n q20 q2n-1 q2n-2 q2n-3
L’ = {w1w2 : w1,w2 ϵ{a,b}*,|w1|=|w2|} Is it regular? • A first attempt to design a FA fails! ... a,b q10 q11 a,b q12 a,b q13 a,b q1n Works for string sizes up to n! ε ... a,b a,b a,b a,b q2n q20 q2n-1 q2n-2 q2n-3