Регулярные языки: два определения и их эквивалентность — различия между версиями
Shersh (обсуждение | вклад) м (→Регулярные языки: два определения и их эквивалентность) |
Shersh (обсуждение | вклад) (→Регулярные языки: два определения и их эквивалентность: определение надрегулярного языка - теперь более понятное) |
||
| Строка 30: | Строка 30: | ||
|definition = | |definition = | ||
Пусть задан алфавит <tex> \Sigma = \left\{c_1, c_2, \ldots ,c_k \right\} </tex>. | Пусть задан алфавит <tex> \Sigma = \left\{c_1, c_2, \ldots ,c_k \right\} </tex>. | ||
| − | Множество <tex>\mathrm{R}</tex> будем называть ''надрегулярным'', если: | + | Множество <tex>\mathrm{R}</tex> будем называть ''надрегулярным'' множеством над алфавитом <tex> \Sigma </tex>, если: |
#<tex>\mathrm{R_0} \subset \mathrm{R}</tex>, где <tex>\mathrm{R_0}=\left\{\varnothing, \left\{\varepsilon \right\}, \left\{c_1 \right\}, \left\{c_2 \right\}, \ldots, \left\{c_k \right\} \right\}</tex>, | #<tex>\mathrm{R_0} \subset \mathrm{R}</tex>, где <tex>\mathrm{R_0}=\left\{\varnothing, \left\{\varepsilon \right\}, \left\{c_1 \right\}, \left\{c_2 \right\}, \ldots, \left\{c_k \right\} \right\}</tex>, | ||
#<tex> L_1, L_2 \in \mathrm{R} \Rightarrow L_1 \cup L_2 \in \mathrm{R}, L_1L_2 \in \mathrm{R}, L_1^* \in \mathrm{R}</tex>. | #<tex> L_1, L_2 \in \mathrm{R} \Rightarrow L_1 \cup L_2 \in \mathrm{R}, L_1L_2 \in \mathrm{R}, L_1^* \in \mathrm{R}</tex>. | ||
| − | Тогда '''множеством регулярных языков''' <tex> \mathrm{REG'} </tex> над алфавитом <tex> \Sigma = \left\{c_1, c_2, ... ,c_k \right\} </tex> называется пересечение всех надрегулярных множеств. | + | Тогда '''множеством регулярных языков''' <tex> \mathrm{REG'} </tex> над алфавитом <tex> \Sigma = \left\{c_1, c_2, ... ,c_k \right\} </tex> называется пересечение всех надрегулярных множеств над этим алфавитом. |
}} | }} | ||
Версия 15:16, 19 января 2014
Регулярные языки: два определения и их эквивалентность
| Определение: |
Множество регулярных языков над алфавитом — множество, которое может быть получено из языков, каждый из которых содержит единственное слово — или , и пустого языка при помощи последовательных применений операций объединения, конкатенации или замыкания Клини и никаких других, то есть:
|
| Определение: |
Регулярное выражение над алфавитом — способ порождения языка над . Определяется рекурсивно следующим образом:
|
| Утверждение: |
По построению очевидно, что множество языков, порождаемых регулярными выражениями, совпадает со множеством регулярных языков. |
| Определение: |
| Пусть задан алфавит .
Множество будем называть надрегулярным множеством над алфавитом , если:
|
| Теорема: |
| Доказательство: |
|
Докажем, что и . По определению . Покажем, что , где — любое надрегулярное множество. Для этого докажем по индукции по , что для любого .
Так как для любого надрегулярного множества , получаем, что . Докажем, что является надрегулярным множеством. Для этого проверим, выполняются ли свойства надрегулярного множества на нём:
|