The pumping lemma ( growth lemma, pump lemma ; English pumping lemma ) is an important statement of the theory of automata , which allows in many cases to check whether a given language is automatic . Since all finite languages are automatic, this check makes sense only for infinite languages. The term “pumping” in the title of the lemma reflects the possibility of repeated repetition of a certain substring in any string of suitable length of any infinite automaton language.
There is also a proliferation lemma for context-free languages , an even more general statement is the proliferation index lemma .
Content
- 1 Formulation
- 2 Proof
- 3 Reverse wording
- 4 Literature
- 5 Links
Wording
For an infinite automaton language above the alphabet there is such a natural number for any word length not less there are words such that , , and for any non-negative whole chain is a word of language .
Record in quantifiers:
- .
Proof
Let the automaton language contains an infinite number of chains and suppose that recognized by a deterministic finite state machine from states . To verify the conclusion of the lemma, we choose an arbitrary chain of this language which has a length .
If the state machine recognizes then the chain allowed by this machine, that is, in the machine there is a path of length from the initial to one of the final states, marked with chain symbols . This path cannot be simple, it must go exactly through state while machine It has states. This means that this path passes at least two times through the same state of the automaton , that is, on this path there is a cycle with a repeating state. Let this recurring state .
Split the chain into three parts so that where - subchain translating out of state again in a state , and - subchain translating out of state in final condition. Note that how so may be empty but the sub-chain cannot be empty. But then it’s obvious that the automaton must also admit a chain because the recurring subchain goes through the cyclic path again from at as well as the chain , and any kind .
This argument constitutes the proof of the pump lemma.
Reverse wording
Another form of this lemma, which is sometimes more convenient to apply to prove the independence of a certain language, is for the language above the alphabet consists in the following - if it takes place:
that language - non-automatic.
To prove that the language is not automatic, one can also use the fact that the intersection of regular languages is regular. So, directly apply the lemma on pumping to the language of regular bracket structures in the alphabet problematic, but its intersection with the language gives language whose autonomy follows trivially from the pumping lemma.
Literature
- John Hopcroft , Rajeev Motwani , Jeffrey Ullman . Introduction to Automata Theory, Languages, and Computation. - M .: "Williams" , 2002. - S. 528. - ISBN 0-201-44124-1 .
Links
- Formal languages and grammar
- Pentus, A.E., Pentus, M.R. Theory of formal languages. Study guide . M., 2004
- Serebryakov V. A. , Galochkin M. P., Gonchar D. R., Furugyan M. G. Theory and implementation of programming languages - M .: MZ-Press, 2006, 2nd ed. - ISBN 5-94073-094-9
- Automata structures (inaccessible link from 13-05-2013 [2347 days] - history )