Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретная математика.doc
Скачиваний:
123
Добавлен:
10.05.2014
Размер:
905.22 Кб
Скачать

3. Абстрактные формальные системы

Абстрактная формальная система – это

Алфавит А ( множество слов в этом алфавите –А*).

Разрешимое множество А1 А*, элементы множестваА1называют аксиомами.

Конечное множество вычислимых отношений Ri (1, …, n, ) на множествеA*, называемых правилами вывода. Говорят, что слово выводимо из слов1, …, nпо правилуRi.

Аксиомы тоже могут быть заданы как унарные отношения, но это не всегда удобно.

Выводимость.Вывод формулы В из формулA1,A2, … ,An- последовательность формулF1,F2, … ,Fm=B, такая, чтоFi(i=1,…m) либо аксиома, либо одна из формулA1,A2, … ,An, либо непосредственно выводима изF1,F2, … ,Fi-1 по одному из правил вывода. Если существует вывод формулы В из формулA1,A2, … ,An, то В выводима изA1,A2, … ,An . Множество формул, выводимых из аксиом, называется теоремами теории.

Теорема.Для любой формальной теории множество выводимых в ней слов перечислимо.

Док-во:

А** -множество всех конечных последовательностей1, …, n, гдеi - слова в алфавите А. А** - перечислимо. Из-за разрешимости множества аксиом и вычислимости правил вывода по любой последовательности можно эффективно узнать, является ли она выводом в данной формальной системе (FS).

Если в процессе перечисления А** отбрасывать все последовательности, не являющиеся выводами, то получаем перечисление множества выводов последних слов выводов.

 множество слов (формул), выводимых в произвольной формальной системе, перечислимо.

Примеры формальных систем: системы продукций Поста (канонические системы), системы подстановок, формальные грамматики, исчисления и т.д.

Каноническая система <A,X,M,R>

A= {a1,a2,…,an} – алфавит констант,

X= {x1,x2,…,xm} – алфавит переменных,

M= {M1,M2, …,Mk} – множество аксиом,Mi(AX)*,

R= {R1,R2, …,Rl} – множество продукций, имеющих вид

1,2,…,j,i,(AX)*,1,2,…,jназываются посылками,- следствием.

Слова в (AX)* называются термами, слова в А* - просто словами.

Слово называется применением аксиомы, еслиполучается изподстановкой слов вместо переменных.

Слово непосредственно выводимо из1, …,nприменением продукцииR, если существует подстановка слов вместо переменных в продукциюR, которая посылки превратит в1, …,n, а заключение – в.

Например, из acb , cabbприменением продукцииa x1 b, x1 b x2 b x2(подстановкаx1=ca, x2=b) непосредственно выводимоbb.

Выводимость – транзитивное и рефлексивное замыкание непосредственной выводимости.

Доказуемо (теорема формальной системы ) - выводимо из множества аксиом.

Например, <{I}, {x}, {I}, {xxII}> позволяет построить множество нечетных чисел в унарном представлении.

Теорема. Для любого перечислимого множества М слов в алфавите А существует каконическая система над А, множество теорем которой совпадает с М.

(доказательство, с использованием МТ, приводится в [3])

4. Формальные порождающие грамматики

Порождающей грамматикой называется упорядоченная четверка G=< VT,VN, S, R>, гдеVT -алфавит терминальных или основных символов;VNалфавит нетерминальных или вспомогательных символов(VTVN = ); S - начальный символ или аксиома,S VN, R -конечное множество правил или продукций вида, где(VTVN )* VN (VTVN )*, (VTVN )* - различные цепочки, аспециальный символ, не принадлежащий VTVN и служащий для отделения левой части правилаот правой. Такие символы, которые служат для описания языка, но не принадлежат самому языку, будем называть метасимволами. Го­ворят, что цепочка 1непосредственно выводима из цепочки0 (обозначается01), если существуют такие1, 2, , , что 01 2, 11 2 и существует правило ( R). Иными словами 01 , если в0найдется вхождение левой части какого-либо пра­вила грамматики, а цепочка1получена заменой этого вхож­дения на правую часть правила. Существенно, что при опреде­лении отношения непосредственной выводимости обозначаемого(разумеется, также метасимвол) мы не указываем, какое правило нужно применять и к какому именно вхождению (если их несколько). Здесь проявляются характерные черты ис­числений, к классу которых относятся и порождающие грамма­тики. Исчисления представляют собой "разрешения" в отличие от алгоритмов, являющихся "предписаниями".

Говорят, что цепочка nвыводима из цепочки 0 за один или несколько шагов или просто выводима (обозначается0+n),если существует последовательность цепочек1, 2,…, n(n>0), такая, что ii+1, i{0,…n}. Эта последовательность называется выводом nиз 0, аn– длиной вывода. Выводимость заnшагов иногда обозначается0n nНа­конец, если 0+nили 0=n, то пишут 0*n.

Нетрудно видеть, что +есть транзитивное, а* - транзитивно-рефлексивное замыкание отношения .

Цепочка называется сентенциальной формой, если она совпадает или выводима из начального символа грамматики, т.е. если S ,

Множество цепочек в основном алфавите грамматики, вы­водимых из начального символа, иначе множество сентенциаль­ных форм, состоящих из терминальных символов, называется языком, порождаемым грамматикой G, и обозначаетсяL(G).

L(G) = {x / S * x & xVT }.

Для любого перечислимого множества слов М существует грамматика G, такая, что М=L(G).

Говорят, что грамматики G1 иG2эквивалентны, еслиL(G1 )=L(G2).

Например,

G1 = < {S}, {a}, S, { Sa, S a a S}>

L(G1)= {a 2n+1, n 0}

G2 = < {S, A}, {0, 1}, S, R>

R = {S  1 A, A  1 A, A  0 A, A 0 }

L(G2) – множество четных двоичных чисел, больших нуля.

G3 = < {S, A}, {0, 1}, S, R>

R = {S  1 A 0, A  1 A, A  0 A, A  }

L(G2) = L(G3)

Для сокращения записи грамматик и выводов будем изо­бражать нетерминальные символы прописными буквами латин­ского алфавита А , В , С , … , Sтерминальные -строчными буквами a, b, c,…и цифрами. Прописными буквамиU, V, Z будем обозначать символы, которые могут быть как терминальными, так и нетерминальными; строчными буквами u, v, z cиндексами или без них - цепочки, составленные из терминальных сим­волов, а буквами- из любых символов. Кроме того, для обозначения правил

1

2

………..

n

будем пользоваться записью 12n .

Правила вида , где VT, называются заключительными.