Упражнение 2.1.25 |
Основные свойства контекстно-свободных языков
9.7*. Теорема Парика
Замечание 9.1.7.
В этом разделе предполагается, что зафиксирован некоторый линейный
порядок на алфавите .
Пусть
.
Определение 9.7.2.
Через
будем обозначать функцию
из
в
,
определенную следующим образом:
.
Аналогично, каждому языку
ставится в соответствие множество
,
определенное следующим образом:
![\cou ( L ) \bydef \{ \cou ( w ) \mid w \in L \} .](/sites/default/files/tex_cache/84461254db99a53e3398017386153b97.png)
Пример 9.7.3.
Пусть
и L = {a1,a1a2a2,a2a2a1}.
Тогда
.
Определение 9.7.4.
Пусть
и
.
Тогда через
обозначается множество
![\{ b + p_1 + \ldots + p_k \mid b \in B ,\ k \geq 0 ,\
p_1 , \ldots , p_k \in P \} .](/sites/default/files/tex_cache/15c3b7f94d7d1fee9d3827e1adae5236.png)
Определение 9.7.5.
Множество
называется линейным
(linear),
если A = L(B,P)
для некоторых конечных множеств B и P.
Определение 9.7.6.
Множество
называется полулинейным
(semilinear), если
оно является объединением конечного числа линейных множеств.
Теорема 9.7.7 (Теорема Парика). Если язык является контекстно-свободным,
то множество
является полулинейным.
Доказательство можно найти в [Гин, с. 207-211].
Пример 9.7.8.
Пусть .
Рассмотрим язык
.
Можно проверить, что множество
не является полулинейным.
Следовательно, язык L
не является контекстно-свободным.
Теорема 9.7.9. Если множество является полулинейным,
то существует такой автоматный язык L, что
.
Доказательство.
Докажем это для произвольного линейного множества A = L(B,P)
(на полулинейные множества утверждение распространяется
по теореме 3.1.1).
Рассмотрим конечный автомат ,
где Q = {1,2}, I = {1}, F = {2}
и
![\begin{multiline*}
\Delta =
\{ \lp 1 , a_1 ^{k_1} \ldots a_n ^{k_n} , 2 \rp
\mid \lp k_1 , \ldots , k_n \rp \in B \} \cup
\\ \cup
\{ \lp 2 , a_1 ^{k_1} \ldots a_n ^{k_n} , 2 \rp
\mid \lp k_1 , \ldots , k_n \rp \in P \} .
\end{multiline*}](/sites/default/files/tex_cache/8903ffa8e6e42286b9f44e6ece91f369.png)
![\cou ( L ( M ) ) = \linear ( B , P )](/sites/default/files/tex_cache/af0bc4a7620df0df03d8aa76c42e20b7.png)
Замечание 9.7.10. Теорема 9.3.1 является следствием теорем 9.7.7 и 9.7.9.