A property that all regular languages must satisfy. A necessary (not sufficient) condition for regular languages.
Any sufficiently long string in a regular language can be divided into parts that can be repeated (pumped) any number of times and still remain in the language.
Used to prove a language is not regular.
Versions
Version 1
Suppose L is a language recognized by an FA with p states. Any string w∈L with ∣w∣≥p can be written as w=xyz where the following conditions hold:
∣xy∣≤p
The substring xy lies within the first p characters.
∣y∣>0
The substring y must not be empty.
xyiz∈L for all i≥0
The substring y can be repeated 0 or more times and the resulting string must still belong to L.
Version 2
For a regular language L, there exists a integer constant p (called the pumping length) such that:
Any string w∈L with ∣w∣≥p can be written as w=xyz where the version 1’s conditions hold.