Изменения

Перейти к: навигация, поиск
Гомоморфизм языков
== Гомоморфизм языков ==
{{Определение
|definition=
Пусть даны два алфавита <tex>\Sigma_1, \Sigma_2</tex>. '''Гомоморфизмом''' называется такое отображение <tex> \varphi \colon \Sigma_{1}^{*} \to \Sigma_{2}^{*}</tex>, что:
* <tex>\varphi(\varepsilon) = \varepsilon</tex>, то есть сохраняет пустую строку
* <tex>\forall w_1, w_2 \in \Sigma_1^*: \varphi(w_1w_2) = \varphi(w_1)\varphi(w_2)</tex>, то есть сохраняет конкатенацию
}}
{{Определение
|definition='''Гомоморфизмом языковОбразом гомоморфизма''' <tex> \langle L_1, \cdot \rangle varphi</tex> и '''языка''' <tex> \langle L_2, \cdot \rangle L</tex> (иногда называют '''прямым гомоморфизмом''') называется отображение <tex>M = \{ \varphi(x) \Phi mid x \colon L_1 in L \to L_2}</tex> такое. <br>Заметим, что <tex> \Phi(L_1) = varphi</tex> будет [[гомоморфизмом моноидов]] <tex>\{langle L, \varphi(x) | x cdot, \in L_1 varepsilon \} = L_2 rangle</tex>, где и <tex> \varphi langle M, \colon \Sigma^{*}_{1} cdot, \to varepsilon \Sigma^{*}_{2} rangle</tex>.
}}
Таким образом отображение TODO определение прообраза гомоморфизма сохраняется относительно операции конкатенации, а именно (который иногда называют обратным гомоморфизмом) === Примеры === * TODO тривиальный гомоморфизм — отобразить все в пустую строку* TODO гомоморфизм который цепочечный или как его там — где <tex> \varphi(</tex> задается на <tex>\alpha \beta) = \varphi(\alpha)\varphi(\beta)Sigma_1</tex>, то есть каждый символ заменяется строчкой, это относительно которого регулярный замкнут* TODO какой-нибудь смешной гомоморфизм, например, стирающий все символы 'b' из слов языка L.* TODO ну и для обратного гомоморфизма тоже какой-нибудь интересный пример
== Ссылки ==

Навигация