Замкнутость КС-языков относительно различных операций
Версия от 01:43, 16 декабря 2012; ArtemVasilyev (обсуждение | вклад) (Новая страница: «В отличие от [[Замкнутость регулярных языков относительно различных операций|регулярны...»)
В отличие от регулярных языков, КС-языки не замкнуты относительно всех теоретико-множественных операций. К примеру, дополнение и пересечение КС-языков не обязательно являются КС-языками.
Здесь и далее считаем, что -- КС языки.
Содержание
Операции с КС-языками
Объединение
| Утверждение: |
также является КС-языком. |
|
Построим КС-грамматику для языка . Для этого рассмотрим соответствующие КС-грамматики для языков и . Пусть стартовые символы в них имеют имена и соответственно. Тогда стартовый символ для обозначим за и добавим правило . Покажем, что . В левую сторону: коли и есть правило , то, по определению получаем, что . Аналогично и для . В обратную сторону, пусть . Поскольку -- единственные правила, в которых нетерминал присутствует в правой части, а значит, либо , либо , что и требовалось доказать. |
Конкатенация
| Утверждение: |
-- КС-язык. |
|
КС-грамматика для выглядит следующим образом: , и -- стартовый символ. Доказательство аналогично случаю с объединением. |
Замыкание Клини
| Утверждение: |
-- КС-язык. |
| Если -- стартовый символ КС-грамматики для языка , то добавим в КС-грамматику для языка новый стартовый символ и правила . |