Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
16.04.2015
Размер:
621.26 Кб
Скачать

L — cfl L = N(M)

Очевидно, что в магазине pda M, если он не пуст, всегда находится нетерминальная цепочка, причём на вершине — символ, подлежащий замене на текущем шаге левостороннего вывода.

Заметим, что pda M не совершает - движений.

61

L — cfl L = N(M)

Чтобы показать, что L(G) = N(M), достаточно доказать, что

A

 

x

 

*

 

 

lm

 

тогда и только тогда, когда

(q, x, A)

*

(q, , )

M

 

 

для любых x VT+, A VN, VN*. Утверждение теоремы последует как

частный случай этого вспомогательного утверждения при A = S, = .

62

L — cfl L = N(M)

I. Индукцией по длине вывода l покажем,

что если A x ,

где x VT+, VN*,

*

 

 

 

lm

*

(q, , ).

 

то (q, x, A)

 

M

 

 

 

 

База. Пусть l = 1. Имеем A

x .

 

 

 

lm

Это значит, что существует правило

A x P, где x VT, VN*.

Одновременно по построению автомата M мы имеем

(q, ) (q, x, A), а тогда (q, x, A) __M (q, , ).

63

L — cfl L = N(M)

Индукционная гипотеза. Предположим, что для всех l n (n 1),

l

 

(q, , ).

если A x , то (q, x, A)

*

lm

M

 

 

 

Индукционный переход. Докажем это утверждение для l = n + 1.

n

 

Пусть A yB ya = x — левосторон-

lm

lm

ний вывод длиной n + 1.

В нём x = ya, = и B a P.

64

L — cfl L = N(M)

В соответствии с индукционной гипотезой

n

следует (q, y, A)

*

(q, , B ).

из A yB

M

lm

 

 

 

 

 

 

 

 

 

стороны, B

a P, и по

С другой

построению pda M имеем (q, ) (q, a, B). Учитывая эти два обстоятельства, можем

написать:

(q, x, A) = (q, ya, A) M* (q, a, B ) __M (q, , ) = = (q, , ).

Утверждение I доказано.

65

L — cfl L = N(M)

II. Теперь индукцией по числу l движений автомата M покажем, что

если (q, x, A)

l

(q, , ),

M

*

 

 

 

 

 

то A x .

 

 

 

lm

 

 

 

База. Пусть l = 1.

 

 

Имеем (q, x, A)

__

(q, , ),

M

 

 

 

 

где x VT+, VN*,

где x VT+, VN*.

Это движение определятся тем, что (q, ) (q, x , A), где x VT (pda M не совершает-движений). Оно обусловлено тем, что существует правило A x P, с помощью которого получаем требуемый вывод A x .

lm 66

L — cfl L = N(M)

Индукционная гипотеза. Предположим, что утверждение выполняется для всех l n

(n 1).

Индукционный переход. Докажем это утверждение для l = n + 1. Пусть

(q, x, A)

=

=

(q, ya, A)

n

(q, a, B )

__

(q, ,

 

M

M

(q, , ), где x = ya, = .

) =

Последнее из этих движений подразуме-

вает, что (q, ) (q, a, B), где a VT, а это обусловлено существованием правила

B a P.

67

L — cfl L = N(M)

Учитывая следствие индукционной гипотезы из перехода

(q, ya, A)

n

M

(q, a, B )

и упомянутое правило,

A * yB

мы можем написать: ya = x .

lm

Утверждение

lm

x

 

 

II доказано.

Из рассуждений, проведённых в пп. I и II, при A = S и = получаем утверждение теоремы.

Что и требовалось доказать.

68

L = N(M) L — cfl

Теорема 5.3. Если M недетерминированный магазинный автомат, и L = N(M), то L контекстно-свободный язык.

Доказательство. Пусть

M = (Q, , , , q0, Z0, ) —

недетерминированный pda, такой, что

L = N(M).

69

L = N(M) L — cfl

Построим cfg G, левосторонние выводы

вкоторой моделируют движения pda M.

Вчастности, нетерминалы, которые появляются в сентенциальных формах на любом шаге левостороннего вывода в грамматике G, соответствуют символам в магазине автомата M в момент, когда он уже просмотрел такую же часть входной цепочки, какую грамматика уже породила.

70

Соседние файлы в папке lectures