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 is a language recognized by an FA with states. Any string with can be written as where the following conditions hold:
The substring lies within the first characters.
The substring must not be empty.- for all
The substring can be repeated 0 or more times and the resulting string must still belong to .
Deals with an FA with states.
Version 2
For a regular language , there exists a integer constant (called the pumping length) such that:
Any string with can be written as where the version 1’s conditions hold.
Deals with a language alone, and defines the pumping length. More common than version 1.