formal_language_theory / lectures / unit_10
.pdfe(P)
= {( , y)
(S,
S)
lm
(x, y), x *}
Магазинный преобразователь P — детерминирован, так как правила вида 1 применимы, только если на вершине магазина находится нетерминал, а правила вида 2 используются только тогда, когда на вершине магазина находится выходной символ.
Остаётся доказать, что построенный dpdt P действительно реализует требуемую трансляцию.
111
e(P) = {( , y) (S, S)
lm
(x, y), x *}
I. Индукцией по длине вывода l = | | покажем, что если для любого A N существует
левосторонний вывод |
|
|
(x, y), |
(A, A) |
|
lm |
(q, , , y). |
то (q, , A, ) |
База. Пусть l = 1.
На единственном шаге вывода
(i ) |
|
(A, A) (x, y) |
|
lm |
|
применяется правило схемы с номером i |
|
A x, y |
(i) |
112
e(P)
= {( , y)
(S,
S)
lm
(x, y), x *}
В соответствии с п.1 построения
(q, i, A) = (q, y, ),
и тогда
(q, i, A, ) (q, , y, ) (q, , , y).
Последний переход совершен согласно п.2 построений, так как y *.
Индукционная гипотеза. Предположим, что подобное утверждение выполняется для всех выводов длиной l n (n 1).
113
e(P) =
{( , y) (S, S)
lm
(x, y), x *}
Индукционный переход. Покажем,
утверждение выполняется и для l = n + 1.
|
(i ) |
|
|
|
|
Пусть (A, A) |
|
(x0 A1x1A2…Am xm, |
|
|
|
lm |
|||||
|
|
||||
|
|
y0 A1y1A2…Am ym) (x, |
|||
|
|
|
lm |
— вывод длиной n + 1;
что
y)
’ = n; A, Aj N, j = 1, 2,…, m; xk *, yk *, k = 0, 1, 2,…, m.
На первом шаге применяется правило
схемы A x0 A1x1A2…Am xm, y0 A1 y1A2…Am ym,
имеющее номер i.
114
e(P)
= {( , y)
(S, S)
lm
(x, y), x *}
Согласно п.1 |
|
|
|
(q, i, A) = (q, y0 A1 y1A2…Am ym, ). |
(1.19) |
||
Одновременно ясно, что |
|
||
x = x0t1x1t2…tm xm, y = y0 z1 y1z2…zm ym, |
|||
= i 1 2… m, |
|
(1.20) |
|
|
j |
|
|
где |
(Aj, Aj) (tj, zj), j n, |
|
|
|
lm |
|
|
и, следовательно, по индукционной гипо- |
|||
тезе |
|
|
|
|
(q, j, Aj, ) |
(q, , , zj) |
(1.21) |
для |
j = 1, 2, …, m. |
|
|
115
e(P)
= {( , y) (S, S)
lm
(x, y), x *}
Принимая во внимание (1.19) – (1.21), а также п.2 построений dpdt P, можем написать:
(q, , A, ) = (q, i 1 2… m, A, )
(q, 1 2… m, y0 A1 y1A2…Am ym, )
(q, 1 2… m, A1 y1A2…Am ym, y0)
(q, 2… m, y1A2…Am ym , y0 z1) …
(q, , ym, y0 z1 y1…zm)
(q, , , y0 z1 y1…zm ym) = (q, , , y).
116
e(P)
= {( , y) (S, S)
lm
(x, y), x *}
II. Индукцией по длине входной цепочки l = покажем, что для любого A N,
если |
(q, , A, ) |
(q, , , y), |
|
|
|
то (A, A) (x, y) при некотором x *. |
||
|
lm |
|
База. Пусть l = 1, т. е. = i, и |
||
|
(q, i, A, ) |
(q, , , y). |
В общем |
случае |
этот переход может |
происходить только следующим образом: (q, i, A, ) (q, , y, ) (q, , , y).
117
e(P)
= {( , y) (S, S)
lm
(x, y), x *}
Действительно, первое движение происходит согласно п.1, поскольку на вершине
магазина A N. Других не существует, так как входе, требуемых для существует.
движений этого типа других символов на таких движений, не
Возможные же движения согласно п.2 предполагают нахождение в верхней части магазина некоторой цепочки y *.
118
e(P)
= {( , y) (S, S)
lm
(x, y), x *}
Первое движение определяется значением
(q, i, A) = (q, y, ),
предполагающим существование правила вида A x, y R
сномером i при некотором x *.
Сего помощью немедленно получаем
(i )
(A, A) (x, y).
lm
Индукционная гипотеза. Предположим, что подобное утверждение выполняется для всех входных цепочек длиной l n (n 1).
119
Индукционный переход.
Пусть (q, , A, ) (q, , , y), где = n + 1.
В общем случае эти движения могут происходить только следующим образом:
(q, , A, ) = (q, i ’, A, )
(q, ’, y0 A1 y1 A2…Am ym, )
(q, ’, A1 y1A2…Am ym, y0) =
= (q, 1 2… m, A1 y1A2…Am ym, y0)
(q, 2… m, y1A2…Am ym, y0 z1) |
|
(q, 2… m, A2…Am ym, y0 z1 y1) |
… |
(q, , ym, y0 z1 y1…zm) (q, , , y0 z1 y1…zm ym) = = (q, , , y).
120