100 likes | 224 Views
Understand how to utilize the Pumping Lemma to prove the irregularity of languages. Dive into the concept with examples and proofs, unraveling the limitations of DFAs and regular expressions. Discover the strategy and implications behind the Pumping Lemma.
E N D
The Pumping Lemma CS 130: Theory of Computation HMU textbook, Chapter 4 (sections 4.1 and 4.2)
A language that is not regular • ConsiderL = {w | w = anbn for all n >= 0} • There is no DFA that accepts L, no regular expression that describes L • How do we prove this? • Intuition: DFAs cannot “count”, that is, DFAs cannot remember that n a’s have been recognized so that n b’s should follow • Proof technique: by contradiction
Proving that a language isnot regular • Suppose there is a DFA thatrecognizes L, and let k be the number of states in that DFA • Consider recognizing the strings ab, a2b2, a3b3, …, akbk, ak+1bk+1 • Note what state the DFA is in as it reads the last a. For the k+1 examples, there should be two examples where they are in the same state (pigeonhole principle)
Proving that a language isnot regular • This means there are two strings: arbr, ar+pbr+p, such that, the prefixes ar and ar+p brings the DFA to the same state, say qt. That is,q0s qt for both s = ar and s = ar+p • This in turn means thatqtv qtfor v = ap • Note also thatqtw qf for both w = br and w = br+p • Implications: arbr+p and ar+2pbr+p are acceptable in this DFA. A contradiction.
Summarizing the strategy • We looked for a state that can be pumped so that substrings admissible by starting and ending with that state can be arbitrarily inserted in the acceptable string • We formalize this notion through • the Pumping Lemma
Pumping Lemma • Let L be a regular language • There exists an n such that for all z in L, |z| >= n, z can be broken down into three substrings: z = uvw,where, for all i, uviw is in L • Note: |uv| <= n and |v| >= 1 • Proof of this lemma follows the outline of our earlier argument
Using the pumping lemma inour example • L is all strings of the form apbp • We are guaranteed there is an n as specified in the pumping lemma • We choose anbn in L and express this as uvw. Since |uv| <=n, v consists entirely of a’s, say v=ak. This means, strings like an-kbn and an+kbn should be in L, which is a contradiction