Упражнение 2.1.25 |
Нормальные формы контекстно-свободных грамматик
8.4*. Нормальная форма Грейбах
Определение 8.4.1. Грамматика в нормальной форме Грейбах (grammar in Greibach normal form) - контекстно-свободная грамматика , в которой каждое правило имеет один из следующих четырех видов: , , , , где , , , .
Пример 8.4.2. Грамматика
является грамматикой в нормальной форме Грейбах.Замечание 8.4.3. Некоторые авторы разрешают в грамматиках в нормальной форме Грейбах использовать также правила вида , где , , (в определении 8.4.1 разрешены, только если ).
Теорема 8.4.4. Каждая контекстно-свободная грамматика эквивалентна некоторой грамматике в нормальной форме Грейбах.
Доказательство. Докажем теорему для контекстно-свободных языков, не содержащих пустого слова. Согласно теореме 8.3.5 исходный язык порождается некоторой грамматикой , в которой каждое правило имеет вид или , где , , , .
Введем |N|2 новых вспомогательных символов, соответствующих упорядоченным парам из множества . Новый символ, соответствующий паре , будем обозначать (A\B). Построим грамматику "почти в нормальной форме Грейбах" , положив и
Если в этой грамматике заменить на получим эквивалентную ей грамматику в нормальной форме Грейбах. Осталось лишь доказать, что .Сначала проверим индукцией по длине слова , что если , то для любого . Чтобы провести шаг индукции, допустим, что и
где и . По предположению индукции имеем и . Подключая эти выводы к правилу и используя , получаем искомый вывод .Докажем теперь, что для любого равносильны утверждения и . В одну сторону это следует из только что доказанного. Доказательство того, что если , то , проведем индукцией по длине слова . Чтобы провести шаг индукции, допустим, что , , , и . По предположению индукции и . Получаем искомый вывод
Теперь убедимся, что . Рассмотрим произвольное слово , где и для всех . Пусть
где для всех . Тогда Обратно, пусть где для всех . ТогдаПример 8.4.5. Грамматика
эквивалентна следующей грамматике в нормальной форме Грейбах: Здесь C, D, E и F соответствуют символам (A\S), (A\T), (V\T) и (U\T) из доказательства теоремы 8.4.4 (удален 21 бесполезный символ).Теорема 8.4.6. Пусть язык L контекстно-свободный. Тогда язык порождается некоторой грамматикой в нормальной форме Грейбах без - правил.
Пример 8.4.7. Грамматика
эквивалентна следующей грамматике в нормальной форме Грейбах без -правил:Упражнение 8.4.8. Найти контекстно-свободную грамматику в нормальной форме Грейбах, эквивалентную грамматике
Упражнение 8.4.9. Найти контекстно-свободную грамматику в нормальной форме Грейбах, эквивалентную грамматике
Упражнение 8.4.10. Найти контекстно-свободную грамматику в нормальной форме Грейбах, эквивалентную грамматике
Упражнение 8.4.11. Найти контекстно-свободную грамматику в нормальной форме Грейбах, эквивалентную грамматике