Регулярные языки: два определения и их эквивалентность — различия между версиями
м (→Регулярные языки: два определения и их эквивалентность) |
м (→Регулярные языки: два определения и их эквивалентность) |
||
Строка 31: | Строка 31: | ||
Рассмотрим любое множество <tex> R_i </tex> и любой надрез <tex> R </tex>: <tex>R_i \subset R</tex> (следует из определения <tex>R_i</tex> и определения надреза). | Рассмотрим любое множество <tex> R_i </tex> и любой надрез <tex> R </tex>: <tex>R_i \subset R</tex> (следует из определения <tex>R_i</tex> и определения надреза). | ||
− | Это верно для | + | Это верно для любого надрезa <tex>R</tex>, следовательно <tex> R_i \subset Reg'</tex>. Это выполнено для любого <tex> R_i </tex>, значит <tex> \bigcup\limits_{i=0}^{\infty}R_i \subset Reg' </tex>. |
*'''<tex>Reg' \subset Reg</tex>''' | *'''<tex>Reg' \subset Reg</tex>''' | ||
− | Докажем, что <tex> Reg </tex> является надрезом. Для этого проверим, выполняются ли свойства надреза на | + | Докажем, что <tex> Reg </tex> является надрезом. Для этого проверим, выполняются ли свойства надреза на нём: |
− | # <tex> R_0 \subset Reg </tex> {{---}} выполнено ( | + | # <tex> R_0 \subset Reg </tex> {{---}} выполнено (по определению <tex>Reg</tex>). |
− | # Рассмотрим <tex> L_1, L_2 \in Reg </tex>. Так как <tex>Reg = \bigcup\limits_{i=0}^{\infty}R_i</tex> , то <tex> \exists i | + | # Рассмотрим <tex>L_1, L_2 \in Reg</tex>. Так как <tex>Reg = \bigcup\limits_{i=0}^{\infty}R_i</tex>, то <tex> \exists i : L_1\in R_i </tex> и <tex> \exists j : L_2 \in R_j </tex>. Тогда из определения <tex> Reg </tex> следует, что <tex> L_1L_2 \in R_{max(i, j)+1}, L_1 \cup L_2\in R_{max(i, j)+1}, L_1^* \in R_{i + 1}</tex>. Так как <tex>Reg = \bigcup\limits_{i=0}^{\infty}R_i</tex>, то получаем, что <tex> L_1L_2 \in Reg, L_1 \cup L_2\in Reg, L_1^* \in Reg </tex>. Следовательно, второе свойство также выполнено. |
Значит, <tex>Reg</tex> {{---}} надрез. А так как <tex>Reg'=\bigcap\limits_{\text{R- nadrez}}R</tex>, то <tex>Reg' \subset Reg</tex>. | Значит, <tex>Reg</tex> {{---}} надрез. А так как <tex>Reg'=\bigcap\limits_{\text{R- nadrez}}R</tex>, то <tex>Reg' \subset Reg</tex>. |
Версия 00:56, 8 декабря 2011
Регулярные языки: два определения и их эквивалентность
Определение: |
Регулярный язык обозначим ;определим тогда: через : , . | над алфавитом — язык, который может быть получен из букв алфавита при помощи последовательных применений операций объединения, конкатенации или итерации и никаких других, т.е.:
Определение: |
Пусть задан алфавит Множество будем называть надрезом, если:
| .
Теорема: |
Определения 1 и 2 эквивалентны. |
Доказательство: |
Докажем, что и .По определению . Рассмотрим любое множество и любой надрез : (следует из определения и определения надреза).Это верно для любого надрезa , следовательно . Это выполнено для любого , значит .Докажем, что является надрезом. Для этого проверим, выполняются ли свойства надреза на нём:
|
Литература
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)