Замкнутость регулярных языков относительно различных операций — различия между версиями
(→Прямой и обратный гомоморфизмы) |
(→Основные операции) |
||
Строка 1: | Строка 1: | ||
− | + | {{Теорема | |
+ | |statement= | ||
Пусть <tex>L_1, L_2</tex> - [[Регулярные языки: два определения и их эквивалентность|регулярные языки]] над одним алфавитом <tex>\Sigma</tex>. Тогда следующие языки также являются регулярными: | Пусть <tex>L_1, L_2</tex> - [[Регулярные языки: два определения и их эквивалентность|регулярные языки]] над одним алфавитом <tex>\Sigma</tex>. Тогда следующие языки также являются регулярными: | ||
#<tex>L_1 \cup L_2</tex> | #<tex>L_1 \cup L_2</tex> | ||
Строка 8: | Строка 9: | ||
#<tex>L_1 \setminus L_2</tex> | #<tex>L_1 \setminus L_2</tex> | ||
#<tex>\overset{\leftarrow}{L_1}</tex> | #<tex>\overset{\leftarrow}{L_1}</tex> | ||
− | + | |proof= | |
Свойства 1,2,3 непосредственно следуют из определения [[Регулярные языки: два определения и их эквивалентность|регулярных языков]]. | Свойства 1,2,3 непосредственно следуют из определения [[Регулярные языки: два определения и их эквивалентность|регулярных языков]]. | ||
Строка 23: | Строка 24: | ||
Следует из пунктов 1 и 4, т.к. <tex>L_1 \cap L_2 = \overline{\overline{L_1} \cup \overline{L_2}}</tex>. <br/> | Следует из пунктов 1 и 4, т.к. <tex>L_1 \cap L_2 = \overline{\overline{L_1} \cup \overline{L_2}}</tex>. <br/> | ||
− | Автомат для пересечения языков можно построить явно, используя конструкцию ''произведения автоматов'': | + | Автомат для пересечения языков можно построить явно, используя конструкцию ''произведения автоматов'': <tex>A = \langle \Sigma , Q , s , T , \delta : Q \times \Sigma \rightarrow 2^{Q} \rangle </tex>, где <br/> |
− | |||
− | <tex>A = \langle \Sigma , Q , s , T , \delta : Q \times \Sigma \rightarrow 2^{Q} \rangle </tex>, где <br/> | ||
<tex>Q = \lbrace \langle q_1, q_2 \rangle | q_1 \in Q_1, q_2 \in Q_2 \rbrace</tex> <br/> | <tex>Q = \lbrace \langle q_1, q_2 \rangle | q_1 \in Q_1, q_2 \in Q_2 \rbrace</tex> <br/> | ||
Строка 46: | Строка 45: | ||
</li> | </li> | ||
</ol> | </ol> | ||
+ | }} | ||
==Прямой и обратный гомоморфизмы== | ==Прямой и обратный гомоморфизмы== |
Версия 03:47, 26 октября 2011
Теорема: |
Пусть регулярные языки над одним алфавитом . Тогда следующие языки также являются регулярными:
- |
Доказательство: |
Свойства 1,2,3 непосредственно следуют из определения регулярных языков. При доказательстве дальнейших свойств воспользуемся эквивалентностью регулярных и автоматных языков. Пусть языки и распознаются автоматами
|
Прямой и обратный гомоморфизмы
Определение: |
Отображение | , сохраняющее операцию конкатенации , называется гомоморфизмом.
Гомоморфизм однозначно задается значениями на алфавите:
.
Определение: |
Образом языка | при гомоморфизме называется язык .
Определение: |
Прообразом языка | при гомоморфизме называется язык .
Утверждение: |
— регулярный , — гомоморфизм. Тогда — регулярный. |
Рассмотрим ДКА, распознающий . Заменим в нем все переходы по символам на переходы по их образам при гомоморфизме. Полученный автомат (с переходами по строкам) распознает в точности и имеет эквивалентный ДКА. |
Утверждение: |
— регулярный , — гомоморфизм. Тогда — регулярный. |
Рассмотрим ДКА, распознающий . Отследим для каждого состояния и символа строку : и положим в новом автомате (на том же множестве состояний). Автомат с построенной таким образом функцией переходов, очевидно, распознает слова языка и только их. |