Контексты и синтаксические моноиды — различия между версиями
| Строка 13: | Строка 13: | ||
|proof= | |proof= | ||
<tex>\Rightarrow</tex>: | <tex>\Rightarrow</tex>: | ||
| − | Пусть <tex>L</tex> {{---}} регулярный. Тогда существует автомат <tex>A</tex>, распознающий его. Рассмотрим произвольное слово <tex>y</tex>. Пусть <tex>u</tex> {{---}} состояние <tex>A</tex>, в которое можно перейти из начального по слову <tex>y</tex>. Тогда <tex>C_L^R(y)</tex> совпадает с множеством слов, по которых из состояния <tex>u</tex> можно попасть в допускающее. Причем если по какому-то слову <tex>z</tex> тоже можно перейти из начального состояния в <tex>u</tex>, то <tex>C_L^R(y) = C_L^R(z)</tex>. | + | <br />Пусть <tex>L</tex> {{---}} регулярный. Тогда существует автомат <tex>A</tex>, распознающий его. Рассмотрим произвольное слово <tex>y</tex>. Пусть <tex>u</tex> {{---}} состояние <tex>A</tex>, в которое можно перейти из начального по слову <tex>y</tex>. Тогда <tex>C_L^R(y)</tex> совпадает с множеством слов, по которых из состояния <tex>u</tex> можно попасть в допускающее. Причем если по какому-то слову <tex>z</tex> тоже можно перейти из начального состояния в <tex>u</tex>, то <tex>C_L^R(y) = C_L^R(z)</tex>. |
}} | }} | ||
| Строка 41: | Строка 41: | ||
<tex>\Leftarrow</tex>: | <tex>\Leftarrow</tex>: | ||
Если множество двухсторонних контекстов языка конечно, то, очевидно, конечно и множество его правых контекстов, а это значит, что язык регулярный. | Если множество двухсторонних контекстов языка конечно, то, очевидно, конечно и множество его правых контекстов, а это значит, что язык регулярный. | ||
| − | <tex>\Rightarrow</tex>: | + | <br /><tex>\Rightarrow</tex>: |
| − | Пусть <tex>L</tex> {{---}} регулярный. Тогда существует автомат <tex>A</tex>, распознающий его. Рассмотрим произвольное слово <tex>y</tex>. Пусть <tex>\langle i,y \rangle \vdash^* \langle u_i, \varepsilon \rangle</tex> | + | Пусть <tex>L</tex> {{---}} регулярный. Тогда существует автомат <tex>A</tex>, распознающий его. Рассмотрим произвольное слово <tex>y</tex>. Пусть <tex>\langle i,y \rangle \vdash^* \langle u_i(y), \varepsilon \rangle, i = 1,2,\ldots,n</tex> (<tex>n</tex> - число состояний <tex>A</tex>). Если для какого-то слова <tex>z u_i(y) = u_i(z), i = 1,2,\ldots,n</tex>, то <tex>C_L(y) = C_L(z)</tex>. |
}} | }} | ||
Версия 04:12, 26 сентября 2010
Эта статья находится в разработке!
Контексты
Правый
| Определение: |
| Правым контекстом слова в языке называется множество . |
| Утверждение: |
Язык — регулярный множество его правых контекстов конечно |
|
: Пусть — регулярный. Тогда существует автомат , распознающий его. Рассмотрим произвольное слово . Пусть — состояние , в которое можно перейти из начального по слову . Тогда совпадает с множеством слов, по которых из состояния можно попасть в допускающее. Причем если по какому-то слову тоже можно перейти из начального состояния в , то . |
Левый
| Определение: |
| Левым контекстом слова в языке называется множество . |
| Утверждение: |
Язык — регулярный множество его левых контекстов конечно |
| Поскольку множество регулярных языков замкнуто относительно операции разворота, то из того, что и аналогичного утверждения о правых контекстах получаем требуемое. |
Двухсторонний
| Определение: |
| Двухсторонним контекстом слова в языке называется множество . |
| Теорема: |
Язык — регулярный множество его двухсторонних контекстов конечно |
| Доказательство: |
|
:
Если множество двухсторонних контекстов языка конечно, то, очевидно, конечно и множество его правых контекстов, а это значит, что язык регулярный.
|
Синтаксический моноид
| Определение: |
| Синтаксическим моноидом языка называется множество его двухсторонних контекстов с введенной на нем операцией композиции , где . Нейтральным элементом в нем является |