Pumping Lemma for Regular Languages

A regular language is a language that can be expressed using a regular expression. The pumping lemma for regular languages can be used to show that a language is not regular.


Theorem: Let L be a regular language. There is an integer p ≥ 1 such that any string w ∈ L with |w| ≥ p can be rewritten as w = xyz such that y ≠ ε, |xy| ≤ p, and xyiz ∈ L for each i ≥ 0.

The five parts of this theorem can be restated in the following way:

(1) for each regular language L,
(2) there exists a p ≥ 1, such that
(3) for each string wL with |w| ≥ p,
(4) there exist strings x, y, z with w = xyz, y ≠ ε, and |xy| ≤ p, such that
(5) for each i ≥ 0, xyiz ∈ L.

Example: L = { aibi : i ≥ 0 }

This shows that no matter what p is chosen in (2), it will always be impossible to satisfy the requirements of (4)-(5) for some string that satisfies the requirements of (3).
Therefore, L is not a regular language. ■

References

back