formal_language_theory / lectures / unit_3
.pdfStephen Cole Kleene
January 5, 1909, Hartford, Connecticut, United States – January 25, 1994, Madison, Wisconsin
111
Теорема 3.10. (С.Клини).
То, что M, является непосредственным следствием из леммы 3.1 (объединение) и теорем 3.7 (конечные множества), 3.8 (произведение) и 3.9 (замыкание).
Остается показать обратное вложение, то есть, что M .
112
Теорема 3.10. (С.Клини).
Пусть L1 — множество, принимаемое некоторым dfa
M = ({q1, q2,..., qn}, Σ, |
δ, q1, F). |
||
Требуется показать, что L1 |
= T(M) . |
||
Пусть |
k |
обозначает множество всех |
|
Ri j |
цепочек x, таких, что δ(qi, x) = qj, причём, если y является непустым префиксом x, не совпадающим с x (x = yz, y , z ), то
δ(qi, y) = ql, где l k.
113
Теорема 3.10. (С.Клини).
k |
множество всех |
Другими словами, Ri j |
цепочек, которые переводят fa M из состояния qi в состояние qj, не проходя через какое-либо состояние ql, где l > k.
Под “прохождением через состояние ql” мы подразумеваем вход в состояние ql и выход из него. Но i и j могут быть больше k.
Мы можем определить |
|
|
k |
|||
R |
i j рекурсивно: |
|||||
|
|
|
|
|
||
k |
k 1 |
k 1 |
k 1* |
|
k 1 |
|
Rij |
Rij |
Rik |
Rkk |
|
Rkj , |
|
Rij0 {a |
a , qi, a) q j }. |
114
Теорема 3.10. (С.Клини).
Приведённое означает, что
определение |
R |
k |
неформально |
i j |
|||
|
|
|
цепочки, которые переводят
автомат M из состояния qi в состояние qj без перехода через состояния выше, чем qk,
(1) либо все находятся во множестве R
т. е. никогда не приводят автомат в состояние столь высокое, как qk,
115
Теорема 3.10. (С.Клини).
(2) либо каждая такая цепочка начинается с
цепочки из множества |
k 1 |
(которая пере- |
Ri k |
водит автомат M в состояние qk первый раз), за которой следует сколько-то цепочек из множества , переводящих автомат M из состояния qk снова в состояние qk без перехода через состояние qk и высшие по
номеру |
состояния, за |
которыми следует |
|
цепочка |
из множества |
k 1 |
, переводящая |
R k j |
автомат M из состояния qk в состояние qj, не достигая состояния qk и большие по номеру состояния.
116
Теорема 3.10. (С.Клини).
Индукцией по параметру k мы можем
показать, что множество Rikj |
для всех i и j |
находятся в пределах класса . |
|
База. Пусть k = 0. |
|
Утверждение очевидно, |
поскольку все |
множества
R0 i j
являются конечными.
Индукционная гипотеза. Предположим,
что утверждение выполняется для всех k, таких, что 0 k m (0 m < n).
117
Теорема 3.10. (С.Клини).
Индукционный переход. Докажем, что
утверждение верно и для
Это так, поскольку R m i j
1
k = m + 1.
выражается через
объединение, конкатенацию и замыкание различных множеств вида R mpq , каждое из которых по индукционному предположе-
нию находится в классе
Остается заметить, что L1
qj F Итак, из L1 = T(M) следует, что
Что и требовалось доказать.
R |
n |
. |
|
|
|
|
1 j |
|
L1 .
118
Теорема 3.10. (С.Клини).
Следствие 3.1 (из теоремы Клини). Из теоремы 3.10 следует, что любое выражение, построенное из конечных подмножеств множества *, где — конечный алфавит, и конечного числа операций
объединения ‘ ’, произведения ‘.’ (символ обычно опускаемый) и замыкания ‘*’ со скобками, которые определяют порядок действий, обозначает множество, принимаемое некоторым конечным автоматом.
119
Теорема 3.10. (С.Клини).
И наоборот, каждое множество, принимаемое некоторым конечным автоматом, может быть представлено в виде такого выражения, которое называется регулярным выражением.
120