Лемма 16.3.1.
Рассмотрим алфавит . Язык
является контекстно-свободным при любом .
Пример 16.3.2.
Пусть . Тогда язык
над алфавитом
порождается контекстно-свободной грамматикой
Заметим, что
для каждого i.
Язык
является даже линейным (чтобы получить линейную грамматику, достаточно "раскрыть" вспомогательные символы A, B и Z).
Замечание 16.3.3.
Лемму 16.3.1 можно доказать, явно построив контекстно-свободную грамматику (как в примере 16.3.2), а можно и вывести из теоремы 12.2.7}, проверив, что - детерминированный контекстно-свободный язык.
Определение 16.3.4.
Пусть , , , где
и
для всех i. Обозначим через
язык .
Лемма 16.3.5.
Язык
является контекстно-свободным при любых и .
Доказательство. .
Лемма 16.3.6.
Дополнение языка
является непустым тогда и только тогда, когда постовская система соответствия
имеет решение.
Доказательство Утверждение следует из леммы 16.1.2.
Теорема 16.3.7.
Пусть . Тогда не существует алгоритма, позволяющего по произвольной контекстно-свободной грамматике G над алфавитом
узнать, верно ли, что .
Доказательство Очевидно, что
тогда и только тогда, когда дополнение языка L(G) является пустым.
Теорема 16.3.8.
Пусть . Тогда не существует алгоритма, позволяющего по произвольным контекстно-свободным грамматикам G1 и G2
над алфавитом
узнать, верно ли, что L(G1) = L(G2).
Доказательство Утверждение следует из предыдущей теоремы и примера 1.5.16.
Теорема 16.3.9.
Пусть . Тогда не существует алгоритма, позволяющего по произвольным контекстно-свободным грамматикам G1 и G2
над алфавитом
узнать, верно ли, что .
Доказательство Очевидно, что
тогда и только тогда, когда .
Лемма 16.3.10.
Дополнение языка
является бесконечным тогда и только тогда, когда постовская система соответствия
имеет решение.
Теорема 16.3.11.
Пусть . Тогда не существует алгоритма, позволяющего по произвольной контекстно-свободной грамматике G над алфавитом
узнать, является ли бесконечным множество .
Упражнение 16.3.12.
Рассмотрим язык, порождаемый грамматикой
Содержит ли этот язык все слова из {a,b}*?
Упражнение 16.3.13.
Рассмотрим язык, порождаемый грамматикой
{a,b}*?