Замкнутость регулярных языков относительно различных операций — различия между версиями
(→Прямой и обратный гомоморфизмы) |
(→Основные операции) |
||
| Строка 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 непосредственно следуют из определения регулярных языков. При доказательстве дальнейших свойств воспользуемся эквивалентностью регулярных и автоматных языков. Пусть языки и распознаются автоматами
|
Прямой и обратный гомоморфизмы
| Определение: |
| Отображение , сохраняющее операцию конкатенации , называется гомоморфизмом. |
Гомоморфизм однозначно задается значениями на алфавите: .
| Определение: |
| Образом языка при гомоморфизме называется язык . |
| Определение: |
| Прообразом языка при гомоморфизме называется язык . |
| Утверждение: |
— регулярный , — гомоморфизм. Тогда — регулярный. |
| Рассмотрим ДКА, распознающий . Заменим в нем все переходы по символам на переходы по их образам при гомоморфизме. Полученный автомат (с переходами по строкам) распознает в точности и имеет эквивалентный ДКА. |
| Утверждение: |
— регулярный , — гомоморфизм. Тогда — регулярный. |
| Рассмотрим ДКА, распознающий . Отследим для каждого состояния и символа строку : и положим в новом автомате (на том же множестве состояний). Автомат с построенной таким образом функцией переходов, очевидно, распознает слова языка и только их. |