Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАТ_ ЛОГИКА / МАТЕМАТИЧЕСКАЯ ЛОГИКА_ЛК9_12_03_2012_Метод резолюций (для предикатов).doc
Скачиваний:
148
Добавлен:
06.06.2015
Размер:
376.32 Кб
Скачать

13.2. Предваренные нормальные формы

Определение 13.1. Формула А находится в предваренной нормальной форме (ПНФ), если она имеет вид: (Q1x1)…(Qnxn)M, где каждое Qixi. есть хi или xi, а М — формула в конъюнктивной нормальной форме, не содержащая кванторов. (Q1x1)…(Qnxn) называется префиксом, а М — матрицей формулы А.

Теорема 13.1. Существует эффективная процедура приведения любой формулы логики предикатов к эквивалентной ей пред­варенной нормальной форме.

Доказательство теоремы конструктивно, т.е. дает алгоритм пре­образования любой формулы к предваренной нормальной форме. Теорема доказывается индукцией по числу связок т.

1. Пусть m = 0. Тогда формула А не содержит связок и находится в ПНФ.

2. Предположим, что существует ПНФ для формулы В с числом связок п. Докажем, что существует ПНФ для формулы А с числом связок m = n + 1.

1 случай. Пусть существует ПНФ для В=(Q1x1)…(Qnxn)M. Формула А образована из В с помощью операции отрицания: А=(Q1x1)…(Qnxn)M. По законам де Моргана связка ­ проносится через кванторы: xM  xM, xM  xM. Полученная фор­мула будет находиться в ПНФ.

2 случай. Формула А образована из двух формул В1 и В2 с числом связок n < m с помощью связок конъюнкции & или дизъюнкции :

(Q1x1)…(Qnxn)M1  (Q1y1)…(Qnyn)M2

Тогда, если формулы В1 и В2 имеют кванторы по одной и той же переменной, используем законы замены связанных переменных:

xP(x)  yP(y), xP(x)  yP(y),

так, чтобы ни одна свободная переменная не стала связанной в результате этой замены. После этого воспользуемся законами ком­мутативности для & и  и законами пронесения кванторов:

x(P(x)B)  xP(x)B, x(P(x)B)  xP(x)B,

x(P(x)B)  xP(x)B, x(P(x)B)  xP(x)B,

(В не содержит вхождений x).

3 случай. Формула А образована из В навешиванием квантора  или . Тогда, поскольку В находится в ПНФ, вновь полученная формула будет в ПНФ.

Примеры.

1. Приведем к ПНФ следующую формулу:

хР(х)х(уD(у)&L(х, у)) = хP(х)х(уD(у)&L(х, у)) =

= хР(х)х(уD(у)&L(х, у)) = хP(х)z(уD(у)&L(z, у)) =

= х(Р(х)z(уD(у)&L(z, у))) = х(z(уD(у)&L(z, у))Р(х)) =

= хz(vD(v)&L(z, у))Р(х) = хzv((D(v)&L(z, у))Р(х)) =

= хzv((D(v)Р(х))&(L(z, у))Р(х))

2. Рассмотрим посылки примера 12.1.

х(Р(х)&y(D(у)L(х, у))) = х(Р(х)&y(D(у)L(х, у))) =

= х(y((D(у)L(х, у))&Р(х)) = хy((D(у)L(х, у))&Р(х)).

х(Р(х)y(Q(у)L(х, у))) = х(Р(х)y(Q(у)L(х, у))) =

= х(y(Q(у)L(х, у))Р(х)) = хy(Q(у)L(х, у)Р(х)).

13.3. Скулемовские стандартные формы

Определение 13.2. Предваренная нормальная форма, содержа­щая только кванторы всеобщности, называется скулемовской стандартной формой (ССФ).

Процедура приведения ПНФ к скулемовской форме заключа­ется в элиминации (удалении) кванторов существования.

Пусть формула А находится в предваренной нормальной форме (Q2x2)…(Qnxn)M, где М есть конъюнктивная нормальная форма. Если квантор существования – первый слева квантор в префиксе: (x1)(Q2x2)…(Qnxn)M, то его можно элиминировать на основании правила экзистенциальной конкретизации. Выберем константу с, отличную от других констант, входящих в М, заменим все вхождения x1, встречающиеся в М, на с, и вычеркнем квантор x1 из префикса.

Если же перед квантором существования стоит квантор всеобщ­ности, например, хуМ, то переменная у попадает в область дей­ствия квантора всеобщности, и выражение ху (для каждого х существует у) означает наличие некоторой функциональной зависимости у =f(x). Если квантору существования предшествует несколько кванторов всеобщности, то функция зависит от всех переменных, по которым навешены эти кванторы. В общем случае, если Qs1, …, Qsm – список всех кванторов всеобщности, встречаю­щихся левее хr, 1  s1 < s2 < ... < sm < r, мы выберем m-местный функциональный символ f, отличный от других функциональных символов, заменим все хr в М на f(хs1, ..., хsm) и вычеркнем хr из префикса. Затем весь этот процесс применим для всех кванторов существования в префиксе; последняя из полученных формул есть скулемовская стандартная форма — для краткости, стандартная форма (ССФ) формулы А. Функции, используемые для замены переменных квантора существования, называются скулемовскими функциями (константы есть нульместные функции).

Пример. Получим стандартную форму формулы А = xyzuvwP(x, y, z, u, v, w). В этой формуле левее х нет никаких кванторов всеобщности, левее u стоят у и z, а левее w стоят у,z и v Следовательно, мы заменим переменную х на константу а, переменную u – на двуместную функцию f(у, z), переменную w – на трехместную функцию g(у, z, v). Таким образом, мы получаем следующую стандартную форму формулы

А: S=yzvP(a, y, z, f(y, z), v, g(y, z, v)).

Для рассмотренных выше посылок из примера 12.1 ССФ имеет вил:

ху((D(y)L(x, y))&P(x))у((D(y)L(a, y))&P(a)), xу(Q(y)L(x, y)P(x)).

Если предваренная нормальная форма эквивалентна исходной формуле, то скулемовская стандартная форма формулы A, вообще говоря, не эквивалентна ей. Например, пусть А=хР(х) и S=P(а) есть стандартная форма формулы А. Пусть I есть следующая интерпретация: область D={а, b}, Р(а)=F, P(b)=T. Тогда A истинна в I, но S ложна в I. Таким образом, А не эквивалентна S. Однако, если Р(а)=F, P(b)=F, то |A|=F, и S=P(a) – также принимает значение F для любого a. Таким образом, AS в том и только том случае, если А противоречива. Докажем, что это действи­тельно так.

Теорема 13.2. Пусть S – стандартная форма формулы A. Тогда A противоречива в том и только том случае, когда S проти­воречива.

Доказательство. Пусть формула А находится в ПНФ, т.е. A=(Q1x1)…(Qnxn)M[x1, …, xn]. (Запись М[х1, ..., хn) означает, что матрица М содержит переменные х1, ..., хn). Пусть Qr - первый слева квантор существования.

Пусть A1=(x1)…( xr-1)(Qr+1xr+1)...(Qnxn)M[x1,…,xr-1, f(x1,…,xr-1), xr+1,…,xn], где f – скулемовская функция, соответствующая xr, 1rn. Мы хотим показать, что A противоречива тогда и только тогда, когда A, противоречива. Предположим, что A противоречива. Если A1 непротиворечива, то существует такая интерпретация I, что A1 истинна в I. т.е. для всех x1,...,xr-1 существует по крайней мере один элемент f(х1,..., хr-1), для которого (Qr+1xr+1)...(Qnxn)* *M[x1,…,xr-1, f(x1,…,xr-1), xr+1,…,xn] истинна в I. Таким образом, A истинна в I, что противоречит предпо­ложению, что A противоречива. Следовательно, A1 должна быть противоречива. С другой стороны, предположим, что A1 противоре­чива. Если А непротиворечива, то существует такая интерпретация I на области D, что A истинна в I, т.е. для всех x1,…,xr-1, существует такой элемент хr, что (Qr+1xr+1)...(Qnxn)M[x1,…,xr-1, f(x1,…,xr-1), xr+1,…,xn] истинна в I. Расширим интерпретацию I, включив в нее функцию f(x1,…,xr-1)=хr, которая отображает (x1,…,xr-1) на хr для всех x1,…,xr-1 в D, Обозначим это расширение I. Тогда для всех x1,…,xr-1 (Qr+1xr+1)...(Qnxn)* *M[x1,…,xr-1, f(x1,…,xr-1), xr+1,…,xn] истинна в I, т.е. A, истинна в I, что противоречит предположению, что A­1 противоречива. Следовательно, А должна быть противоречивой. Предположим теперь, что в A имеется m кванторов существования. Пусть А0=А. Пусть Аk получается из Аk-1 .заменой первого квантора существования в Аk-1 , скулемовской функцией, k-1,…,m. Тогда стандартная форма S=Am. Используя те же рассуждения, что были даны выше, мы можем показать, что Аk-1 противоречива тогда и только тогда, когда Аk противоречива при k = 1,...,m. Следовательно, А противоречива тогда и только тогда, когда S противоречива, что и требовалось доказать.

Определение 13.3. Предикатные буквы будем называть литерами. Дизъюнкция литер называется дизъюнктом, или клаузой (сlаusе) (иногда клозом). Однолитерный дизъюнкт называется единичным дизъюнктом. Когда дизъюнкт не содержит никаких литер, его называют пустым дизъюнктом. Так как пустой дизъюнкт не содержит литер, которые могли бы быть истинными при любых интерпретациях, то пустой дизъюнкт всегда ложен. Пустой дизъюнкт обозначается символом 

Пусть S — стандартная форма формулы А. Матрица формулы, представленной в ССФ. находится в конъюнктивной нормальной форме, т.е. в виде конъюнкции дизъюнктов. Будем представлять ССФ формулы А множеством дизъюнктов, где каждая переменная считается управляемой квантором всеобщности. Множество дизъ­юнктов – это просто другая форма представления стандартной формы формулы А, поэтому в дальнейшем будем обозначать его так же, как и ССФ — символом S. Считаем, что множество дизъюнк­тов S есть конъюнкция всех дизъюнктов из S. Например, ССФ посылки из примера 12.1: y((D(у)L(a, у))&P(a)) может быть представлена множеством дизъюнктов: S={D(у)L(a, у), P(a)}.

Далее, если мы имеем А=А1& ...&Аn, мы можем отдельно получить множества дизъюнктов Si, i=1, …, n, где каждое S­i представляет стандартную форму Аi. Затем пусть S=S1…Sn. Тогда А противоречива тогда и только тогда, когда S противоречиво. Говорят, что множество дизъюнктов невыполнимо, если соответству­ющая стандартная форма противоречива, и выполнимо в противном случае.