Упражнение 2.1.25 |
Синтаксические моноиды
6.4*. Классы эквивалентности слов
Лемма 6.4.1. Пусть и
. Тогда
![\begin{align*}
\rightcontext_{\Sigma ^* \sminus L} ( y ) &=
\Sigma ^* \sminus \rightcontext_{L} ( y ) ,\\
\bothcontext_{\Sigma ^* \sminus L} ( y ) &=
(\Sigma ^* \times \Sigma ^*) \sminus \bothcontext_{L} ( y ) .
\end{align*}](/sites/default/files/tex_cache/c086d628a52d040f1ebab5f2bc8a107c.png)
Определение 6.4.2.
Пусть
и
.
Обозначим через
язык
.
Обозначим через
язык
.
Пример 6.4.3.
Пусть .
Множества вида
образуют разбиение множества
на классы эквивалентности.
Множества вида
образуют разбиение множества
на классы эквивалентности.
Пример 6.4.4.
Пусть
и
.
Тогда
![\begin{align*}
[baa]\supright_{L} &=
\{ a^i b a^j \mid 0 \leq i < j \}
\cup
\{ y \in \Sigma ^* \mid | y |_b > 1 \} ,\\
[baa]_{L} &= \{ a^i b a^{i+2} \mid i \geq 0 \} .
\end{align*}](/sites/default/files/tex_cache/870ea72940111d5b5befeb336f614517.png)
Лемма 6.4.5. Если язык является автоматным, то для каждого слова
языки
и
являются автоматными.
Доказательство.
Пусть язык L
распознается конечным автоматом ,
не содержащим переходов с метками длины больше единицы.
Будем использовать обозначение TrM
из доказательства теоремы 6.3.11.
При любой фиксированной паре
язык
является автоматным
(он распознается конечным автоматом
).
Для каждого слова
язык
является автоматным, так как он
представим в виде пересечения конечного семейства автоматных языков:
![\calb _{ z , M } =
\biggl(\,
\raisebox{0pt}[\height][0.95\depth]{\displaystyle
\bigcap _{ \lp p , q \rp \in \mathrm{Tr}_M( z ) }}
\cala _{ p , q , M } \biggr)
\cap
\biggl(\,
\raisebox{0pt}[\height][0.95\depth]{\displaystyle
\bigcap _{ \lp p , q \rp \notin \mathrm{Tr}_M( z ) }}
( \Sigma ^* \sminus \cala _{ p , q , M } )\biggr) .](/sites/default/files/tex_cache/b0a380c9ee44bb164d87a64cd41fba3a.png)
![[ x ]\supright_{L}](/sites/default/files/tex_cache/580abe2b5a6c5646a8b30dfff363e0e8.png)
![\raisebox{0pt}[\height][0pt]{\displaystyle
[ x ]_{L} = \bigcup _{ z \in [ x ]_{L} } \calb _{ z , M }} ,
\qquad
\raisebox{0pt}[\height][0pt]{\displaystyle
[ x ]\supright_{L} =
\bigcup _{ z \in [ x ]\supright_{L} } \calb _{ z , M }} .](/sites/default/files/tex_cache/2b5161085b15fa28a809bb271d66c32e.png)
Замечание 6.4.6.
Из теоремы 6.1.8
вытекает, что если язык L
автоматный, то существует лишь конечное число
различных множеств .
Аналогичное утверждение верно для множеств
(см. теорему 6.3.11).
Пример 6.4.7. Рассмотрим язык
![L = \{ (ab)^n \mid n \geq 0 \} \cup \{ (ab)^n a \mid n \geq 0 \}](/sites/default/files/tex_cache/850f8fd1999ce1ba717bbb979598f200.png)
![\Sigma = \{ a , b \}](/sites/default/files/tex_cache/85f209b601a81d2cb1ee0f52aaa23d10.png)
![\begin{align*}
[ \varepsilon ]\supright_{L}
&= (ab)^* ;\\
[ a ]\supright_{L}
&= (ab)^* a ;\\
[ b ]\supright_{L}
&= b (a \replus b)^* \replus
(a \replus b)^* (aa \replus bb) (a \replus b)^* ;\\
[ \varepsilon ]_{L}
&= 1 ;\\
[ ab ]_{L}
&= (ab)^+ ;\\
[ ba ]_{L}
&= (ba)^+ ;\\
[ a ]_{L}
&= (ab)^* a ;\\
[ b ]_{L}
&= b (ab)^* ;\\
[ aa ]_{L}
&= (a \replus b)^* (aa \replus bb) (a \replus b)^* .
\end{align*}](/sites/default/files/tex_cache/7310f42dfb56d8325fb77b7982047c74.png)
Упражнение 6.4.8.
Существуют ли такие языки
и
,
что язык L1
является автоматным, но язык
![L_3 = \{ x \in \Sigma ^* \mid
x y \in L_1 \mathspace\text{для некоторого слова}\mathspace y \in L_2 \}](/sites/default/files/tex_cache/8ba77afd351ef58829a40f72338efe64.png)
Упражнение 6.4.9.
Существуют ли такие языки
и
,
что язык L1
является автоматным, но язык
![L_3 = \{ x \in \Sigma ^* \mid
x y \in L_1 \mathspace\text{для всех слов}\mathspace y \in L_2 \}](/sites/default/files/tex_cache/007ebb62509a74062a1bdd35d8e6f131.png)
Упражнение 6.4.10.
Существует ли такой автоматный язык ,
что язык
![\mathrm{Max} ( L ) \bydef \{ x \in L \mid
x y \notin L \mathspace\text{для всех слов}\mathspace y \in \Sigma ^+ \}](/sites/default/files/tex_cache/a1e6de79b8e2a389c9bdcb8a883e5460.png)
Теорема 6.4.11. Язык является автоматным тогда и только тогда, когда
существует такое отношение эквивалентности
,
что R разбивает
на конечное множество классов эквивалентности, L является объединением некоторых из этих классов эквивалентности
и для любых
,
,
из xRy следует xzRyz.
Замечание 6.4.12. Теоремы 6.1.8 и 6.4.11 образуют теорему Майхилла-Нерода.