TOPICS
Search

Pumping Lemma


A positive integer p is a pumping length for a formal language L if every string w in L with |w|>=p can be written w=xyz with |xy|<=p, |y|>=1, and xy^kz in L for every nonnegative integer k. The pumping lemma for regular languages states that every regular language has at least one pumping length (Hopcroft et al. 2000).

For a language recognized by a finite automaton, take p to be the number of states. Any accepting computation on a string of length at least p must revisit a state among its first p steps. The portion of the string read around this loop is y, and traversing the loop any number of times gives the pumped strings.

The lemma is commonly used in a proof by contradiction to prove that a formal language is not a regular language. Its condition is necessary but not sufficient: satisfying the pumping property alone does not prove that a language is a regular language.


See also

Finite Automaton, Formal Language, Nonnegative Integer, Regular Language, String

Explore with Wolfram|Alpha

References

Hopcroft, J. E.; Motwani, R.; and Ullman, J. D. Introduction to Automata Theory, Languages, and Computation, 2nd ed. Reading, MA: Addison-Wesley, 2000.

Cite this as:

Weisstein, Eric W. "Pumping Lemma." From MathWorld--A Wolfram Resource. https://mathworld.wolfram.com/PumpingLemma.html

Subject classifications