Введение

Помповая лемма
В информатике, в частности в теории формальных языков, помповая лемма для контекстно-свободных языков, также известная как лемма Бар-Хиллеля, — это лемма, которая описывает свойство, общее для всех контекстно-свободных языков, и обобщает помповую лемму для регулярных языков. Помповая лемма может быть использована для построения доказательства от противного, показывающего, что конкретный язык не является контекстно-свободным. Обратно, помповой леммы недостаточно для гарантии того, что язык является контекстно-свободным; существуют другие необходимые условия, такие как лемма Огдена или лемма обмена.

Неофициальное заявление и объяснение

Лемма о выкачивании для контекстно-свободных языков (далее в этой статье называемая просто "леммой о выкачивании") описывает свойство, которое гарантированно присуще всем контекстно-свободным языкам. Это свойство относится ко всем строкам в языке, длина которых не меньше , где – константа, называемая длиной выкачивания, которая различается для разных контекстно-свободных языков. Пусть – строка длиной не меньше , принадлежащая данному языку. Лемма о выкачивании утверждает, что строку можно разбить на пять подстрок , где не пуста, а длина не превышает , так что многократное повторение и одинаковое количество раз в приводит к строке, которая также принадлежит этому языку. Часто бывает полезно повторить ноль раз, что эквивалентно удалению и из строки. Этот процесс "выкачивания" дополнительными копиями и послужил названием для леммы о выкачивании. Конечные языки (которые являются регулярными и, следовательно, контекстно-свободными) тривиально удовлетворяют лемме о выкачивании, поскольку равна максимальной длине строки в этом языке плюс один. Поскольку строк такой длины не существует, лемма о выкачивании не нарушается.