Изменения

Перейти к: навигация, поиск
Дерево разбора
Используем индукцию по высоте дерева.
'''Базис.База''' :Базисом является высота <tex>1</tex>, наименьшая из возможных для дерева разбора с терминальной кроной. Поскольку это дерево является деревом разбора, <tex>A \rightarrow \omega</tex> должно быть продукцией. Таким образом, <tex>A \Rightarrow_{lm} \omega</tex> есть одношаговое левое порождение <tex>\omega</tex> из <tex>A</tex>.
'''Индукция.''' :Существует корень с отметкой <tex>A</tex> и сыновьями, отмеченными слева направо <tex>X_1X_2 \dots X_k</tex>. Символы <tex>X</tex> могут быть как терминалами, так и переменными.:# Если <tex>X_i</tex> — терминал, то определим <tex>\omega_i</tex> как цепочку, состоящую из одного <tex>X_i</tex>.:# Если <tex>X_i</tex> — переменная, то она должна быть корнем некоторого поддерева с терминальной кроной, которую обозначим <tex>\omega_i</tex>. Заметим, что в этом случае высота поддерева меньше <tex>n</tex>, поэтому к нему применимо предположение индукции. Следовательно, существует левое порождение <tex>X_i \Rightarrow^{*}_{lm} \omega_i</tex>.
:Заметим, что <tex>\omega = \omega_1\omega_2 \dots \omega_k</tex>.:Построим левое порождение цепочки <tex>\omega</tex> следующим образом. :::Начнем с шага <tex>A \Rightarrow_{lm} X_1X_2\dots X_k</tex>. ::Затем для <tex>i = 1, 2, \dots, k</tex> покажем, что имеет место следующее порождение.: <tex>A \Rightarrow^{*}_{lm} \omega_1\omega_2\dots\omega_iX_{i+1}X_{i+2}\dots X_k</tex>
:Данное доказательство использует в действительности еще одну индукцию, на этот раз по <tex>i</tex>.:Для базиса <tex>i = 0</tex> мы уже знаем, что <tex>A \Rightarrow_{lm} X_1X_2\dots X_k</tex>. Для индукции предположим, что существует следующее порождение: <tex>A \Rightarrow^{*}_{lm} \omega_1\omega_2\dots\omega_iX_omega_{i+1i–1}X_X_iX_{i+21}\dots X_k</tex>
Данное доказательство использует :# Если <tex>X_i</tex> — терминал, то не делаем ничего, но в действительности еще одну индукциюдальнейшем рассматриваем <tex>X_i</tex> как терминальную цепочку <tex>\omega_i</tex>. Таким образом, на этот раз по приходим к существованию следующего порождения.<br><tex>A \Rightarrow^{*}_{lm} \omega_1\omega_2\dots\omega_iX_{i+1}X_{i+2}\dots X_k</tex><br>:# Если <tex>X_i</tex>. Для базиса является переменной, то продолжаем порождением <tex>\omega_i</tex> из <tex>i = 0X_i</tex> мы в контексте уже знаемпостроенного порождения. Таким образом, что если этим порождением является: <tex>A X_i \Rightarrow_{lm} \alpha_1 \Rightarrow_{lm} X_1X_2\alpha_2\dots X_k\Rightarrow_{lm} \omega_i</tex>. Для индукции предположим, что существует следующее порождение. то продолжаем следующими порождениями:
:::<tex>A \Rightarrow^{*}_{lm} \omega_1\omega_2\dots\omega_{i–1}X_iX_{i+1}\dots X_k\Rightarrow_{lm}</tex>
# Если <tex>X_i</tex> — терминал, то не делаем ничего, но в дальнейшем рассматриваем <tex>X_i</tex> как терминальную цепочку :::<tex>\omega_i</tex>. Таким образом, приходим к существованию следующего порождения.<br><tex>A \Rightarrow^{*}_{lm} \omega_1\omega_2\dots\omega_iX_omega_{i+1i–1}X_\alpha_1X_{i+21}\dots X_k</tex><br># Если <tex>X_i</tex> является переменной, то продолжаем порождением <tex>\omega_i</tex> из <tex>X_iRightarrow_{lm}</tex> в контексте ужепостроенного порождения. Таким образом, если этим порождением является
:::<tex>X_i \Rightarrow_omega_1\omega_2\dots\omega_{lmi–1} \alpha_1 \Rightarrow_alpha_2X_{lmi+1} \alpha_2\dots X_k \Rightarrow_{lm} \omega_i</tex>,
то продолжаем следующими порождениями. :::<tex>\dots</tex>
:::<tex>\omega_1\omega_2\dots\omega_omega_iX_{i–1i+1}X_iX_X_{i+12}\dots X_k \Rightarrow_{lm}</tex>
<tex>\omega_1\omega_2\dots\omega_{i–1}\alpha_1X_{i+1}\dots X_k \Rightarrow_{lm}</tex> <tex>\omega_1\omega_2\dots\omega_{i–1}\alpha_2X_{i+1}\dots X_k \Rightarrow_{lm}</tex> <tex>\dots</tex> <tex>\omega_1\omega_2\dots\omega_iX_{i+1}X_{i+2}\dots X_k</tex> ::Результатом является порождение <tex>A \Rightarrow^{*}_{lm} \omega_1\omega_2\dots\omega_iX_{i+1}X_{i+2}\dots X_k</tex>. ::Когда <tex>i = k</tex>, результат представляет собой левое порождение <tex>\omega</tex> из <tex>A</tex>.
}}
59
правок

Навигация