Замкнутость регулярных языков относительно различных операций — различия между версиями
Shersh (обсуждение | вклад) |
Shersh (обсуждение | вклад) м |
||
Строка 25: | Строка 25: | ||
|id=st1 | |id=st1 | ||
|statement= | |statement= | ||
− | <tex>L \subset \Sigma_1^*</tex> {{---}} регулярный , <tex>\varphi:\Sigma_1^* \rightarrow \Sigma_2^* </tex> {{---}} [[ | + | <tex>L \subset \Sigma_1^*</tex> {{---}} регулярный , <tex>\varphi:\Sigma_1^* \rightarrow \Sigma_2^* </tex> {{---}} [[Основные определения: алфавит, слово, язык, конкатенация, свободный моноид слов; операции над языками#Гомоморфизм_языков | гомоморфизм]]. Тогда <tex>\varphi(L)</tex> {{---}} регулярный. |
|proof= | |proof= | ||
Рассмотрим [[Детерминированные_конечные_автоматы|ДКА]], распознающий <tex>L</tex>. Заменим в нем все переходы по символам на переходы по их образам при гомоморфизме. Полученный автомат (с переходами по строкам) распознает в точности <tex>\varphi(L)</tex> и [[Автоматы_с_eps-переходами._Eps-замыкание|имеет эквивалентный ДКА]]. | Рассмотрим [[Детерминированные_конечные_автоматы|ДКА]], распознающий <tex>L</tex>. Заменим в нем все переходы по символам на переходы по их образам при гомоморфизме. Полученный автомат (с переходами по строкам) распознает в точности <tex>\varphi(L)</tex> и [[Автоматы_с_eps-переходами._Eps-замыкание|имеет эквивалентный ДКА]]. | ||
Строка 33: | Строка 33: | ||
|id=st1 | |id=st1 | ||
|statement= | |statement= | ||
− | <tex>L \subset \Sigma_2^*</tex> {{---}} регулярный , <tex>\varphi:\Sigma_1^* \rightarrow \Sigma_2^* </tex> {{---}} [[ | + | <tex>L \subset \Sigma_2^*</tex> {{---}} регулярный , <tex>\varphi:\Sigma_1^* \rightarrow \Sigma_2^* </tex> {{---}} [[Основные определения: алфавит, слово, язык, конкатенация, свободный моноид слов; операции над языками#Гомоморфизм_языков | гомоморфизм]]. Тогда <tex>\varphi^{-1}(L)</tex> {{---}} регулярный. |
|proof= | |proof= | ||
Рассмотрим [[Детерминированные_конечные_автоматы|ДКА]], распознающий <tex>L</tex>. Отследим для каждого состояния <tex>u</tex> и символа <tex>c</tex> строку <tex>\varphi(c)</tex>: <tex> \langle u,\varphi(c) \rangle \vdash^* \langle v,\varepsilon \rangle</tex> и положим <tex>\delta (u,c) = v</tex> в новом автомате (на том же множестве состояний). Автомат с построенной таким образом функцией переходов, очевидно, распознает слова языка <tex>\varphi^{-1}(L)</tex> и только их. | Рассмотрим [[Детерминированные_конечные_автоматы|ДКА]], распознающий <tex>L</tex>. Отследим для каждого состояния <tex>u</tex> и символа <tex>c</tex> строку <tex>\varphi(c)</tex>: <tex> \langle u,\varphi(c) \rangle \vdash^* \langle v,\varepsilon \rangle</tex> и положим <tex>\delta (u,c) = v</tex> в новом автомате (на том же множестве состояний). Автомат с построенной таким образом функцией переходов, очевидно, распознает слова языка <tex>\varphi^{-1}(L)</tex> и только их. |
Версия 17:34, 9 ноября 2013
Теорема: |
Пусть регулярные языки над одним алфавитом . Тогда следующие языки также являются регулярными:
—
|
Доказательство: |
Как известно, классы регулярных и автоматных языков совпадают. Пусть языки и распознаются автоматами и соответственно.
|
Утверждение: |
гомоморфизм. Тогда — регулярный. — регулярный , — |
Рассмотрим ДКА, распознающий . Заменим в нем все переходы по символам на переходы по их образам при гомоморфизме. Полученный автомат (с переходами по строкам) распознает в точности и имеет эквивалентный ДКА. |
Утверждение: |
гомоморфизм. Тогда — регулярный. — регулярный , — |
Рассмотрим ДКА, распознающий . Отследим для каждого состояния и символа строку : и положим в новом автомате (на том же множестве состояний). Автомат с построенной таким образом функцией переходов, очевидно, распознает слова языка и только их. |