- •4. Теории первого порядка
- •4.1. Термы и предикаты
- •4.2. Язык логики предикатов
- •Аксиомы кванторов
- •Аксиомы равенства
- •4.3. Семантика языка логики предикатов
- •4.4. Модели теории первого порядка
- •4.5. Компактность и полнота языка первого порядка
- •4.7. Метод резолюций Робинсона
- •4.6. Упрощение формул
- •5. Нечеткая логика
- •5.1. Нечеткие множества
- •5.2. Логические операции
- •X (a b), если и только если X a b.
- •5.3. Нечеткие отношения
- •5.4. Пропозициональная нечёткая логика
- •5.5. Вывод с нечёткими посылками
- •4. Теории первого порядка 26
- •5. Нечеткая логика 42
4.6. Упрощение формул
Наша задача: привести произвольную формулу к бескванторной форме. Это можно решить приведением к пренексной нормальной форме с последующей элиминацией кванторов и расширением исходного языка.
Пренексная нормальная форма
Формула Q1y1Q2y2 … Qnyn , где – Qi кванторы, а не имеет кванторов, называется пренексной (или предваренной) нормальной формой. Существует эффективная процедура приведения формулы к пренексной нормальной форме. Она основана на следующих далее правилах преобразования, вытекающих из логических аксиом исчисления предикатов.
Обозначим = , = . Имеет место эквивалентность формул Qx Qx. При условии, что переменная х не входит свободно в формулу , верны равенства:
1) Qx & Qx( & );
2) Qx Qx( );
3) ( Qx) Qx( );
4) (Qx ) Qx( );
Имеет место эквивалентность формул:
5) Qx Qy(x/y)
Пример 1
Найдём пренексную нормальную форму формулы x , где и не содержат кванторов, и х не входит свободно в . Представим её как
(x ) & ( x).
С помощью равенств 3 – 4 она приводится к виду:
x( ) & x( ).
С помощью равенства 1 – к виду: x(( ) & x( )).
С помощью равенства 5 – к виду: x(( ) & y( (y/x))),
где y не входит в преобразуемую формулу. Снова из равенства 1 получаем:
xy(( ) & ( (y/x))).
Элиминация кванторов
По пренексной нормальной форме строится формула *, не содержащая кванторов. Кванторы всеобщности удаляются, а кванторы существования заменяются на функциональные символы, добавляемые к языку:
y(y, x1, …, xn) переходит в (f(x1, …, xn), x1, …, xn), и операция f добавляется к языку.
Пример 2
Пусть x1 x2 x3 x4 x5 x6 (x1, x2, x3, x4, x5, x6). Выполним действия для приведения к бескванторной форме:
1) удалим x1 и заменим x1 константой b1:
x2 x3 x4 x5 x6 (b1, x2, x3, x4, x5, x6);
2) удалим два квантора всеобщности:
x4 x5 x6 (b1, x2, x3, x4, x5, x6);
3) удалим квантор существования и к L добавим символ операции x4 = f(x2, x3):
x5 x6 (b1, x2, x3, f(x2, x3), x5, x6);
4) удалим квантор существования и к L добавим символ операции x5 = g(x2, x3):
x6 (b1, x2, x3, f(x2, x3), g(x2, x3), x6);
5) удалим квантор всеобщности:
= (b1, x2, x3, f(x2, x3), g(x2, x3), x6).
Полученная формула определена в языке L = L {b1, f, g}.
Пусть
– множество
предложений в языке L. Обозначим через
формулу,
полученную из предложения
приведением к пренексной нормальной
форме с последующей элиминацией кванторов
и преобразованием языка L. Положим
.
Пусть в результате преобразований
формул
в
мы пришли к расширенному языку L.
Теорема (вторая -теорема)
а) Если
– формула языка L, то вывод
существует
тогда и только тогда в L,
когда существует вывод
в L
б) Теория непротиворечива, если и только если непротиворечива теория .
4.7. Метод резолюций Робинсона
В предыдущем разделе мы научились приводить формулы к виду, пригодному для применения метода автоматического доказательства теорем, предложенного в 1965 году Робинсоном.
Задача ставится
так: заданы язык первого порядка L и
конечное множество аксиом .
Требуется найти вывод
для произвольной
формулы .
Она решается
методом резолюций. Идею этого метода
продемонстрируем сначала для случая,
когда L – исчисление высказываний с
множеством пропозициональных символов
Р. Напомним, что для каждого символа А
Р символы А и А
называются литералами. Клоусом,
или дизъюнктом называется
дизъюнкция литералов
.
Если D1 и
D2 – дизъюнкты, для которых
существуют такие дизъюнкты
и литерал В, что
и
,
то формула:
![]()
называется резольвентой D1 и D2.
Предположим,
что требуется доказать вывод 1,
2, …, n
. Сведём задачу к
доказательству противоречивости формулы
1 & 2
& …& n &
. Приведём последнюю
к конъюнктивной нормальной форме.
Получим конъюнкцию некоторых дизъюнктов,
составляющих список:
D1, D2, …, Dk.
Далее в цикле
перебираем пары дизъюнктов из этого
списка, находим резольвенты
и добавляем эти резольвенты, которые,
очевидно, будут дизъюнктами, в конец
списка. Если в списке появится 0, то вывод
доказан. Если новые дизъюнкты не могут
быть построены, то вывода нет.
Пример 1
Пусть требуется
установить выводимость a
b
a c
b c. Перенесём левую
часть вправо, получим формулу: (a
b)
(a
c) b
c, которую надо доказать. Будем доказывать
противоречивость конъюнкции дизъюнктов:
a b, a c, b, c.
Так как
,
то к списку добавляется дизъюнкт b
c. Затем добавим
.
Получим список:
a b, a c, b, c, b c, с.
Теперь Res (c, с) = 0 даёт противоречие. Значит, выводимость имеет место.
Рассмотрим
теперь метод резолюций для нахождения
вывода в исчислении предикатов. Мы
видели, что можно предполагать формулы
и аксиомы из ,
не имеющими кванторов. Для любых двух
атомных формул Р(s1, …, sm) и
Q(t1, …, tn) их наибольший общий
унификатор определён,
если и только если P = Q, m = n, и система
уравнений s1 = t1, s2 = t2,
…, sn = tn унифицируема.
Литералами в исчислении предикатов
называются атомные формулы и их отрицания.
Дизъюнкт определяется как дизъюнкция
литералов. Два дизъюнкта D1 и D2
называются резольвируемыми,
если существуют литералы B1 и B2,
которые имеют наибольший общий унификатор
и
,
для некоторых дизъюнктов
и
.
В этом случае резольвента
определяется как
.
Здесь (D) – результат подстановки в дизъюнкт D, определённый как (R(t1, …, tn)) = = R(t1, …, tn) для атомных формул, (R) = (R) для литералов, и (B1 … Bn)= =(B1) … (Bn) для дизъюнктов.
Алгоритм
доказательства выводимости 1,
2, …, m
, в предположении,
что и i,
1 i
m, не имеют кванторов,
будет следующим:
-
формулу 1 & …& m & переводим в конъюнкцию дизъюнктов D1&D2&…&Dn, и переменные переименовываются таким образом, что Di и Dj не содержат одинаковых переменных при i j;
-
устанавливаем множество дизъюнктов: F = {D1, D2, …, Dn}.
-
если среди элементов из F нет резольвируемых, то выводимость не имеет места, заканчиваем работу;
-
если 0 F, то F противоречиво, а выводимость имеет место, заканчиваем работу;
-
берём резольвируемые дизъюнкты Di и Dj из F, устанавливаем:
F = F {Res (Di, Dj)}
(этот шаг включает унификацию некоторых литералов), переходим к шагу 3.
Следующий пример принадлежит Робинсону.
Пример 2
Докажем
выводимость P(a,
b), Q(z)
P(xy) & Q(y).
После переноса правой части в левую
часть получаем множество дизъюнктов:
F = {P(ab), Q(z), P(xy) Q(y)}.
Наибольший общий унификатор для P(ab) и P(xy) равен: {a = x, b = y}.
Добавим к F резольвенту:
Res (P(ab), P(xy) Q(y)) = Q(y).
Имеем: F = {P(ab), Q(z), P(xy) Q(y), Q(y)}. Резольвента Res (Q(z), Q(y)) = 0 приводит к противоречивости F. Стало быть, выводимость имеет место. Легко видеть, что для данного примера существуют другие пути применения метода резолюций.
Существуют различные модификации метода резолюций.
В методе резолюций участвует также правило склейки, оно позволяет из дизъюнкта R(s1, …, sn) R(t1, …, tn) B1 … Bm получить (R(s1, …, sn) B1 … Bm), (а из дизъюнкта R(s1, …, sn) R(t1, …, tn) B1 … Bm – дизъюнкт (R(s1,…, sn) B1 … Bm)) , где – наибольший общий унификатор системы уравнений s1 = t1, …, sn = tn.
