ДМП-автоматы и неоднознчность — различия между версиями
| Строка 1: | Строка 1: | ||
| {{В разработке}} | {{В разработке}} | ||
| + | ==Теоремы== | ||
| {{Теорема | {{Теорема | ||
| |statement=Если L=N(P) для некоторого ДМП автомата P, то L имеет однозначную КС-грамматику | |statement=Если L=N(P) для некоторого ДМП автомата P, то L имеет однозначную КС-грамматику | ||
| Строка 14: | Строка 15: | ||
| Утверждаем, что <tex>G</tex> однозначна. Действительно, левые порождения в <tex>G</tex> совпадают с левыми порождениями в <tex>G′</tex>, за исключением последнего шага в <tex>G</tex> — изменения <tex>\$</tex> на <tex>ε</tex>. Таким образом, если бы терминальная цепочка <tex>w</tex> имела два левых порождения в <tex>G</tex>, то <tex>w\$</tex> имела бы два порождения в <tex>G′</tex>. Поскольку <tex>G′</tex> однозначна, <tex>G</tex> также однозначна. | Утверждаем, что <tex>G</tex> однозначна. Действительно, левые порождения в <tex>G</tex> совпадают с левыми порождениями в <tex>G′</tex>, за исключением последнего шага в <tex>G</tex> — изменения <tex>\$</tex> на <tex>ε</tex>. Таким образом, если бы терминальная цепочка <tex>w</tex> имела два левых порождения в <tex>G</tex>, то <tex>w\$</tex> имела бы два порождения в <tex>G′</tex>. Поскольку <tex>G′</tex> однозначна, <tex>G</tex> также однозначна. | ||
| }} | }} | ||
| + | ==Источники информации== | ||
Версия 22:56, 4 января 2015
Эта статья находится в разработке!
Теоремы
| Теорема: | 
| Если L=N(P) для некоторого ДМП автомата P, то L имеет однозначную КС-грамматику | 
| Теорема: | 
| Если  для некоторого ДМП-автомата , то  имеет однозначную КС-грамматику | 
| Доказательство: | 
| Пусть будет “концевым маркером”, отсутствующим в цепочках языка , и пусть . Таким образом, цепочки языка представляют собой цепочки из , к которым дописан символ . Тогда имеет префиксное свойство, и по теореме 6.19 для некоторого ДМП-автомата . По теореме 6.20 существует однозначная грамматика , порождающая язык , т.е. . Теперь по грамматике построим , для которой . Для этого нужно лишь избавиться от маркера в цепочках. Будем рассматривать как переменную грамматики и введем продукцию ; остальные продукции и одинаковы. Поскольку , получаем, что .Утверждаем, что однозначна. Действительно, левые порождения в совпадают с левыми порождениями в , за исключением последнего шага в — изменения на . Таким образом, если бы терминальная цепочка имела два левых порождения в , то имела бы два порождения в . Поскольку однозначна, также однозначна. | 
