Abstract

The Pumping Lemma provides a necessary condition for a language to be regular. It is primarily used to prove that a language is non-regular via proof by contradiction.

Theorem

Let be a regular language. There exists an integer , called the pumping length, such that any string with length can be split into three parts, , satisfying:

  1. For all ,

Proof

For a regular language , there exists a deterministic finite automaton (DFA) such that . Let be the number of states in . If and , the sequence of states visited by during the computation of must contain at least states. By the Pigeonhole Principle, at least one state must be repeated within the first transitions. The substring corresponds to the path between the first and second occurrence of this repeated state.

Application

To prove is not regular:

  1. Assume is regular.
  2. Let be the pumping length.
  3. Choose a specific string such that .
  4. Consider all possible decompositions such that and .
  5. Find an such that , reaching a contradiction.

References

  • Sipser, M. (2012). Introduction to the Theory of Computation.
  • Hopcroft, J. E., Motwani, R., & Ullman, J. D. (2006). Introduction to Automata Theory, Languages, and Computation.