Основные понятия и методы теории формальных систем.

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
Факультет информационных систем и технологий
Кафедра теории цепей и телекоммуникации
ОСНОВНЫЕ ПОНЯТИЯ И МЕТОДЫ
ТЕОРИИ ФОРМАЛЬНЫХ СИСТЕМ
Методические указания к изучению курса
"Дискретная математика" и решению задач
для студентов специальности 200900
Нижний Новгород 2000
Составитель А. В. Волохович
УДК 519.5(075.5)
Основные понятия и методы теории формальных систем: Метод.
указания к изучению курса "Дискретная математика" и решению
задач для студентов специальности 200900 / НГТУ; Сост.: А. В.
Волохович. Нижний Новгород, 2000. 31 с.
Данные методические указания являются вспомогательным
материалом для изучения курса "Диск ретная математика" (раздел
"Формальные системы") и предназначены для самостоятельной
проработки при подготовке к практическим занятиям.
Редактор Е. В. Комарова
Подп. к печ.25.09.2000. Формат 60  84 1
Печ.л. 2,0. Уч. -изд. л. 1,9. Тираж
.Бумага газетная. Печать офсетная.
16
Заказ
Нижегородский государственный технический университет.
Типография НГТУ. 603600, Н.Новгород, ул. Минина, 24.
 Нижегородский государственный
технический университет, 2000
Введение
Принцип резолюции – универсальный способ доказательства
утверждений. Наиболее широкое применение он находит при
доказательстве
высказываний,
сформулированных
на
языке
исчисления высказываний (ИВ) и исчисления предикатов (ИП).
В данной разработке ИВ и ИП вводятся как конкретизация
общего понятия формальной системы. Излагается ряд основных
результатов этих теорий, вводится понятие логического следствия;
устанавливается, что проблема выводимости утверждения из набора
предпосылок
сводится
к
доказательству
невыполнимости
(противоречивости) некоторой конъюнктивной нормальной формы
(КНФ). Для доказательства противоречивости КНФ вводится и
изучается
процедура
резолюции,
включая
некоторые
ее
модификации (линейную и семантическую резолюции).
Известно, что проблема противоречивости КНФ NР - полна.
Согласно естественнонаучной гипотезе Р  МР, полиномиальных
решающих алгоритмов для нее не существует. Вместе с тем
выделяются частные классы КНФ, для которых удается построить
алгоритмы решения с полиномиальной верхней оценкой временной
вычислительной сложности.
При написании данной разработки использованы литературные
источники [1-4].
Понятие формальной системы
Формальная система (ФС) считается заданной, если определены
следующие ее компоненты: 1) алфавит; 2) совокупность правильно
построенных формул; 3) множество аксиом; 4) множество правил
вывода.
Алфавит ФС включает конечное или бесконечное число
символов. Эти символы делятся на три группы – буквы, символы
операций и связок, вспомогательные символы (скобки различных
видов, запятые и т.д.). Количество символов связок, символов
операций и вспомогательных символов конечно, число букв может
быть бесконечно за счет индексов, принимающих натуральные
значения.
Любую конечную последовательн ость символов алфавита
именуем формулой ФС. В совокупности формул ФС выделено
множество правильно построенных формул (ППФ). Для ППФ
задаются правила их конструирования и эффективная процедура,
позволяющая по каждой формуле ФС определить, является ли она
ППФ.
3
Множество аксиом – это выделенное подмножество ППФ. Если
множество аксиом бесконечно, то предполагается наличие
процедуры проверки по ППФ, является ли она аксиомой.
Правила вывода позволяют из имеющегося множества ППФ
(утверждений) получать новые ППФ – непосредственные следствия
этих утверждений.
Последовательность ППФ А 1 , А 2 , ..., А n называется выводом в
ФС, если для любого i=1,…,n ППA А i является либо аксиомой AС,
либо непосредственным следствием некоторых ППФ множества ( A 1 ,
A 2 , …,A i - 1 ), получаемым применением к этим ППФ некоторого
правила вывода; ППФ A называется теоремой ФС, если в данной
ФС имеется вывод, в котором последней ППФ является A.
Формальная система называется разрешимой, если существует
алгоритм определения по произвольной ППФ, является ли она
теоремой.
Если
такого
алгоритме
не
существует,
то
рассматриваемая ФС именуется неразрешимой.
Правильно построенная формула B выводима из совокупности
ППФ (А 1 , А 2 , ..., А n ), если существует последовательность ППФ В 1 ,
В 2 , ..., В k такая, что В k =В и для любого i=1,..,k формула В i является
либо аксиомой ФС, либо формулой множества ( А 1 , А 2 , ..., А n ), либо
непосредственным следствием некоторых ППФ множества ( В 1 , В 2 ,
..., В k ), получаемых применением к этим ППФ одного из правил
посылками или гипотезами. Формулы, выводимые из пустого
множества посылок, являются теоремами.
Запись А 1 , А 2 , ..., А n |- В означает выводимость формулы В из
множества посылок (А 1 , А 2 , ..., А n ); запись |- В означает, что В
является теоремой ФС. Если М={А 1 , А 2 , ..., А n }, то запись А 1 , А 2 , ...,
А n |- В можно представить записью М |- В.
Очевидны следующие утверждения:
– если M 1  M и M 1 | B , то M | B ;
– M | B тогда и только тогда, когда в М имеется конечное
подмножество M 1 такое, что M 1 | B ;
– если M 1 | A и M 2 | B для любой формулы В из множества M 1 ,
M 2 | A .
Приведем простейший пример формальной системы. Считаем
алфавит состоящим из символов |, = , +. Правила конструкции ППФ
следующие:
1)
2)
3)
4)
4
| есть ППФ;
если а – ППФ, то а| также ППФ;
если а и b – ППФ, то а + b и а = b также ППФ;
других ППФ нет.
Система аксиом включает единственную аксиому : | = |.
Единственное правило вывода следующее: из ППФ a = b выводится
а + | = b |.
Очевидно, что теоремой в введенной ФС будет любая формула
вида
|+|+|+…+|=|…|,
где слева и справа от знака = стоит одинаковое число символов |;
других теорем в ФС нет.
Исчисление высказываний как формальная система
Исчисление высказываний (ИВ) представляем в виде формальной
системы. Алфавит ИВ образуют буквы латинского алфавита с
числовыми индексами или без них (эти буквы называются
высказывательными
переменными
или
атомами),
символы
логических связок  (отрицание ), & (конъюнкция),  (дизъюнкция),
 (импликация), а также левая и правая скобки.
Правила образования ППФ:
1) все атомы являются ППФ;
2) если А и В – ППФ, то  (A), (А&В), (А  В), (А  В)– также ППФ.
3) других ППФ не существует.
Скобки,
расположение
которых
однозначно, мы иногда будем опускать.
в
ППФ
Система аксиом ИВ (введена П. С. Новиковым):
A  (B  A ) ,
1)
( A  B )  ( A  ( B  C )  ( A  C )) ,
2)
(A & B )  A ,
3)
(A & B )  B ,
4)
A  ( B  ( A & B )) ,
5)
A  (A  B ) ,
6)
B  (A  B ) ,
7)
( A  C )  (( B  C )  (( A  B )  C )) ,
8)
( A  B )  (( A  B )  A ) ,
9)
10) A  A ,
11) A  A .
5
определяется
В ИВ имеются два правила вывода - подстановка и modus ропепs
(дедуктивного вывода).
Правило подстановки применяется к имеющейся ППФ А,
содержащей некоторый атом X. Одновременной заменой всех
вхождений этого атома в А(X) на произвольную ППФ В мы получим
формулу A(В), которую именуем результатом подстановки в ППФ
А(X) формулы В.
Если А(X) – теорема ИВ, то A(В) – тоже теорема ИВ.
Приведем пример. Подставив в аксиому 8 ИВ формулу ( С&D)
вместо атома С, получаем следующую теорему ИВ:
( A  (С  D  )  (( B  (С  D  )  (( A  B )  (С  D  )) .
Правило дедуктивного вывода (modus ponens) применяется к
имеющейся паре ППФ А и А  В; результатом применения данного
правила является ППФ В.
Если A и А  В являются теоремами ИВ, то В - также теорема ИВ.
Будем трактовать символы  , &,  ,  как функции алгебры
логики. Тогда каждая ППФ, сконструированная из атомов X 1 , X 2 , …,
X n , на любых наборах их логических значений (0 или 1, ложь или
истина) обращается в ложь или истину.
Правильно построенная формула, которая является истинной на
всех наборах логических значений ее переменных, именуется
общезначимой.
Правильно построенную формулу А именуем невыполнимой
(противоречивой), если ППФ  А является общезначимой.
Можно проверить, что все аксиомы ИВ являются общезначимыми
ИПФ. Оба правила вывода сохраняют общезначимость. Получаем
справедливость следующего утверждения:
"Каждая теорема ИВ является общезначимой ППФ".
Полноту приведенной системы аксиом утверждает следующий
факт:
"Каждая общезначимая ППФ является теоремой ИВ".
Система аксиом П.С.Новикова обладает также свойствами
непротиворечивости и независимости.
Далее под термином "формула" понимаем ППФ.
Две формулы ИВ называются эквивалентными, если на любом
наборе логических значений составляющих их атомов они
одновременно обращаются в истину или одновременно обращаются в
ложь. Эквивалентность обозначаем символом =.
Легко убедиться, что
(А  В )=(  А  В);
6
данный факт далее будет играть принципиальное значение.
Литерами будем называть атомы и их отрицания. Таким образом,
формула (  А  В) составлена из двух литер,  А и B.
Формула В есть конъюнктивная нормальная форма (КНФ), если В
имеет вид
В 1 &В 2 & ...& В m ,
где каждая из формул B i , i=1,…,m, есть дизъюнкция литер. В
качестве примера КНФ приведем формулу:
(  X 1  X 3   X 4 )& (X 1  X 2 )& (X 2   X 3  X 5 ).
Аналогично, формула В есть дизъюнктивная нормальная форма
(ДНФ), если В имеет вид
В 1  В 2  ...  В m ,
где каждая из формул B i , i=1,…,m, есть конъюнкция литер. В
качестве примера ДНФ приведем формулу:
(  X 1 & X 3 &  X 4 )  (X 1 & X 2 )  (X 2 &  X 3 & X 5 ).
В дальнейшем дизъюнкцию литер будем называть дизъюнктом, а
конъюнкцию – конъюнктом.
Любая формула ИВ может быть преобразована в эквивалентную
ей ДНФ или КНФ с помощью следующего алгоритма.
Шаг 1. А  В =  А  В,
А~В = (А   В)& (  А  В)
выражение операций импликации и эквиваленции через операции
конъюнкции и дизъюнкции.
Шаг 2.   А=A ,
 (А  В) =  А&  В,
 (А&В) =  А   В
продвижение отрицания до атома.
Шаг 3. А  (В&C) = (А  В)& (А  C) (для КНФ),
А& (В  C) = (А&В)  (А&C) (для ДНФ).
Пример 1. Требуется преобразовать в КНФ формулу
Ф=[(  А  В)&  (C&(D  А))].
7
Решение. Ф=[(  А  В)&  (C&(D  А))]=(А  В)& (  C   (  D  А))=
=(А  В)& (  C  D)& (  C  А).
Логические следствия
Формула В именуется логическим следствием совокупности
формул А 1 , А 2 , ..., А m , если каждый набор логических значений
переменных, обращающий в истину все формулы А 1 , А 2 , ..., А m ,
обращает в истину и формулу В.
Теорема 1. Формула В является логическим следствием формул
А 1 , А 2 , ..., А m тогда и только тогда, когда формула
А 1 & А 2 & ...& А m  B
является теоремой ИВ.
Теорема 2. Формула В является логическим следствием формул
А 1 , А 2 , ..., А m тогда и только тогда, когда формула
А 1 & А 2 & ...& А m &  B
противоречива.
Из теорем 1 и 2 следует, что проверка, является ли формула B
логическим следствием совокупности формул { А 1 , А 2 , ..., А m },
сводится к доказательству общезначимости или противоречивости
некоторой ППФ.
Рассмотрим следующий пример.
Пример 2. Предполагается доказать справедливость следующих
утверждений
1. Если Джон убийца и пистолет у него, то Смит пистолет
обнаружит;
2. Если Смит обнаружит пистолет и передаст его Бобу, то
Смит рапорт не напишет;
3. Если босс к делу причастен, то Смит передаст пистолет
Бобу и напишет рапорт.
Требуется доказать, что если Джон убийца и пистолет у него, то
босс к делу не причастен.
Запишем посылки 1 – 3 в символическом виде:
А&В  C;
C&D   E;
F  D&E.
8
(1)
(2)
(3)
В принятых обозначениях требуется доказать справедливость
следующего заключения:
А&В  F.
(4)
Покажем, что из истинности всех посылок следует истинность
заключения, т.е. что утверждение
(4) является
логическим
следствием утверждений (1) – (3).
Совокупность посылок представляем в виде формулы
(А&В  C)&(C&D   E)&(F  D&E).
Эта формула эквивалентна следующей КНФ:
K 1 =(  А   В  C) & (  C   D   E)&(  F  D) &(  F  E).
Формулу (4) также представим в виде КНФ:
K 2 =(  А   В   F).
Согласно теореме 2, формула (4) является л огическим следствием
формул (1) – (3) тогда и только тогда, когда формула K 1 &  K 2
противоречива. Имеем
K 1 &  K 2 =(  А   В  C) & (  C   D   E)&(  F  D)
&(  F  E)&A&B&F=
A&B&F&C&(  D   E)&D&E.
Противоречивость последней формулы очевидна, ибо три
дизъюнкта, (  D   E), D и Е, одновременно не могут быть
истинными. Таким образом, заключение (4) действительно вытекает
из утверждений (1)- (3), является их логическим следствием.
Далее общезначимые формулы будем обозначать символом
, а
противоречивые – символом . Как очевидно, A   A=
и A&  A=.
Как известно, проблема определения по КНФ, является ли она
выполнимой (непротиворечивой), относится к числу NP-полных. В
предположении
Р  NР
полиномиальных
по
временной
вычислительной сложности (числу выполняемых элементарных
операций) алгоритмов решения этой проблемы не существует.
Выполнимость КНФ от n переменных может быть определена путем
последовательного тестирования всех наборов логических значений
этих переменных (общее число наборов равно 2 n ).
Практика показала, что достаточно часто эффективным средс твом
определения противоречивости КНФ является принцип резолюции.
9
Принцип резолюции для логики высказываний
Легко проверяется, что формула
[(А  В)&(B  C)]  (A  C)
(1)
общезначима, т. е. является теоремой ИВ.
Лемма. Пусть в КНФ K(X 1 , X 2 ,…,X n ) входят дизъюнкты D 1 и D 2
,причем D 1 представим в виде D 1 '  X i , а D 2 – в виде D 2 '   X i .
Тогда логическим следствием входящих в КНФ утверждений
(дизъюнктов) является дизъюнкт D 1 '  D 2 ' .
Действительно, дизъюнкт D 2 '   X i эквивалентен формуле X i 
D 2 ' . В формулу (1) вместо A подставим D 1 ' , вместо В - X i и вместо С
- D 2 ' . Получаем следующую теорему ИВ :
[(D 1 '  X i )&( X i  D 2 ' )]  (D 1 '  D 2 ' ).
Так как утверждения D 1 '  X i и X i  D 2 ' входят в состав КНФ в
качестве логического следствия образующих КНФ K(X 1 , X 2 ,…,X n )
дизъюнктов, получаем D 1 '  D 2 ' . Лемма доказана.
Формула D 1 '  D 2 ' называется резольвентой формул D 1 = D 1 '  X i и
D 2 = D 2 '   X i . Резольвента D 1 '  D 2 ' - логическое следствие
дизъюнктов D 1 и D 2 .
Резольвентой однолитерных дизъюнктов X и  X
является
противоречивая формула (пустой дизъюнкт) .
Идея принципа резолюции заключается в проверке, выводим ли
из дизъюнктов, составляющих КНФ K(X 1 , X 2 ,…,X n ,), пустой
дизъюнкт. Вывод конструируется последовательным построением
резольвент. Выводимость из КНФ пусто го дизъюнкта означает ее
противоречивость.
Пример 3. Задана КНФ K(P,Q) = (Р  Q) & (  Р  Q) & (Р   Q) &
(  Р   Q). Требуется доказать ее противоречивость,
В состав рассматриваемой КНФ входят четыре дизъюнкта :
1) Р  Q;
2)  Р  Q;
3) Р   Q;
4)  Р   Q.
Строим следующие резольвенты (для каждой записываемой
резольвенты в скобках указываются номера исходных для нее
дизъюнктов):
5)Q
(1,2);
6)  Q (3,4);
7) 
(5,6).
10
Из составляющих КНФ K(P,Q) дизъюнктов в качестве
логического следствия выведен пустой дизъюнкт. Это означает
противоречивость данной КНФ.
В дизъюнктах D 1 '  X i и D 2 '   X i вхождения переменой X i
именуются контрарными. Так, в дизъюнктах 1) и 2), 3) и 4)
контрарны вхождения буквы P; в дизъюнктах 5) и 6) контрарны
вхождения буквы Q. Пустой дизъюнкт есть резолюция контрарных
литер.
Пример 4. Известно следующее: прямая L 1 либо параллельна
прямой L 2 , либо совпадает с ней; параллельные прямые не имеют
общих точек; прямые L 1 и L 2 имеют общую точку. Методом
резолюции требуется доказать, что прямые L 1 и L 2 совпадают.
Исходные предположения на языке ИВ записываются следующим
образом:
1) A  B;
2) A   C;
3) C.
Требуется доказать справедливость утверждения B. Утверждение
B является логическим следствием предположений 1),2),3) тогда и
только тогда, когда формула
(A  B)&(A   C)& C &  B
невыполнима.
Так как формула A   C эквивалентна  A   C, нам требуется
показать противоречивость следующей совокупности дизъюнктов :
1')
2')
3')
4')
A  B;
 A   C;
C;
 B.
Конструируем резольвенты:
5') A
6')  C
7') 
(1', 4');
(5', 2');
(3', 6').
Итак, прямые L 1 и L 2 действительно совпадают.
Пример 5. Если футбольная команда A выигрывает, то город А'
торжествует; если команда В выигрывает, то торжествует город B'.
Выигрывает либо команда A, либо команда В. Однако, если команда
A выигрывает, то город В' не торжествует; если выигрывает команда
11
В, то город А' не торжествует. Требуется доказать, что город А'
торжествует тогда и только тогда, когда не торжествует город В'.
Запишем посылки и заключения на языке ИВ:
1) A  А';
2) В  В';
3) A  B;
4) A   В';
5) В   А';
6) (А'  В')&(  В'   А').
Отметим, что
 [(А'  В')&(  В'   А')]= (А'&В')  (  В'   А')=
(А'   В')& (  А'  В').
Таким образом, требуется доказать противоречивость следую щей
совокупности дизъюнктов:
1)  A  А';
2)  В  В';
3) A  B; 4)  A   В';
5)  В   А'; 6) А'   В';
7) В'   А'.
Конструируем резольвенты:
8) А'  В
(1,3);
9)  В  А'
(2,6);
10) А'
(8,9);
11 ) A   А'
(3,5);
12 )  A   А'
(4,7);
13)  А'
(11,12);
14) 
(10,13).
Решение закончено.
Теорема о полноте принципа резолюций . Если конечная
совокупность дизъюнктов противоречива, то данный факт можно
доказать, основываясь на принципе резолюции, т. е.
путем
последовательного
конструирования
резольвент,
вплоть
до
получения пустого дизъюнкта.
Верхняя
оценка
временной
вычислительной
сложности,
основанная
на
принципе
резолюции
алгоритма
проверки
противоречивости КНФ, экспоненциальна, что связано с NР—
полнотой рассматриваемой проблемы.
При реализации данного алгоритма осуществляется поиск
вывода пустого дизъюнкта. Некоторые направления поиска могут
оказаться тупиковыми, полученные при этом результаты в
найденном выводе пустого дизъюнкта не используются.
Так возникает вопрос о построении стратегий поиска,
обеспечивающих в случае противоречивости рассматриваемой
совокупности утверждений достаточно быстрый вывод пустого
дизъюнкта (по оценке "в среднем").
12
Метод линейной резолюции
Линейным выводом из множества дизъюнктов M назовем
конечную последовательность дизъюнктов D 1 , D 2 , … D i , в которой
D 1 принадлежит M , а каждый последующий дизъюнкт D i (i=2,…,m)
является резольвентой дизъюнкта D i - 1 и одного из дизъюнктов
совокупности S i - 1 =M  {D 2 }  {D 3 }  …  {D i - 2 }. При этом в процессе
вывода каждый очередной дизъюнкт D i именуется центральным
дизъюнктом, а дизъюнкт, выбираемый из совокупности S i - 1 , боковым
дизъюнктом.
Пример 6. Методом линейной резолюции тр ебуется доказать
противоречивость следующей совокупности дизъюнктов (см. пример
5):
1)  A  А';
2)  В  В';
3) A  B; 4)  A   В';
5)  В   А'; 6) А'   В';
7) В'   А'.
Реализуемый методом линейной резолюции вывод пустого
дизъюнкта представим следующей схемой :
 В   А'
А'   В'
 A   В'
В'  В
AB
А'   A
 А'  B
В
AB
A   А'
А'   В'
 В'
В
A
А'
B

Теорема о полноте принципа линейной резолюции . Если конечная
совокупность дизъюнктов противоречива, то данный факт может
быть доказан методом линейной резолюции.
Отметим, что если в методе линейной резолюции боковой
дизъюнкт брать только из исходного множества M, то, существенно
упрощаясь, он теряет свойство полноты. Перебором вариант ов
можно
показать,
что
таким
образом
нельзя
доказать
противоречивость совокупности дизъюнктов {Р  Q,  Р  Q, Р   Q,
 Р   Q} (см. пример 3).
Верхняя оценка временной вычислительной сложности алгоритма
проверки непротиворечивости КНФ, основанного на принципе
линейной резолюции, остается экспоненциальной, что связано с
полнотой данного принципа и NP - полнотой задачи выполнимости
КНФ.
13
Метод семантической резолюции
Как отмечалось, в процессе поиска вывода пустого дизъюнкта
методом
резолюции
генерируется
некоторая
совокупность
излишних, ненужных для вывода, дизъюнктов. Одним из способов
уменьшения числа генерируемых излишних дизъюнктов является
введение интерпретации.
Интерпретацией для набора входящих в дизъюнкт букв
(переменных) X 1 , X 2 , …, X n является n - мерный булев вектор Е (е 1 ,
е 2 ,..., е n ); переменной X i присваивается логическое значен ие
"истина" ("ложь"), если е i = 1 (соответственно е i = 0). При
интерпретации Е дизъюнкты исходной совокупности M и
порождаемые резольвенты разбиваются на два подмножества – S 1 ,
содержащее дизъюнкты, при данной интерпретации обращающиеся в
истину, и S 2 , включающее дизъюнкты, обращающиеся в ложь.
Метод семантической резолюции предусматривает, что при
образовании каждой следующей резольвенты используется один
дизъюнкт множества S 1 и один дизъюнкт множества S 2 .
Пример 7. Рассмотрим совокупность дизъюнктов из пр имера 5:
1)  A  А';
2)  В  В';
3) A  B; 4)  A   В';
5)  В   А'; 6) А'   В';
7) В'   А'.
Примем следующую интерпретацию: A = 1; A ' = 0; В =1; В' = 0.
Укажем номера формул, входящих в множество S 1 : 3, 4, 5, 6, 7;
номера формул, входящих в множество S 2 , следующие: 1, 2.
Применим метод семантической резолюции
(перед каждым
дизъюнктом указываем его порядковый номер, после дизъюнкта в
скобках вписываем номера порождающих дизъюнктов и множ ества,
S 1 или S 2 , которому принадлежит полученный дизъюнкт):
8) А'  В
(1,3; S 1 );
9) А'   В
(2,6; S 2 );
10) А'
(8,9; S 2 );
11) В'
(7,10; S 2 );
12)  A
(4,11; S 2 );
13) В
(3,12; S 1 );
14)  В
(5,10; S 2 );
15) 
(13,14).
Теорема о полноте принципа семантической резолюции. Если
конечная совокупность дизъюнктов противоречива, то данный
факт может быть доказан методом семантической резолюции.
Доказательство может быть выполнено для любой фиксированной
интерпретации,
Верхняя оценка временной вычислительной сложности метода
семантической резолюции экспоненциальна.
14
Исчисление предикатов первого порядка
Исчисление высказываний оказывается недостато чным для
обоснования, например, таких рассуждений:
1. «Всякое положительное целое число есть натуральное число.
Число 5 есть положительное целое число. Следовательио, 5 есть
натуральное число».
2. «Я видел портрет Мартынова. Мартынов – убийца Лермонтова.
Следовательно, я видел портрет убийцы Лермонтова».
Объяснение лежит в том, что исчисление высказываний
ограничивается структурой предложений в терминах простых
высказываний, а приведенные рассуждения требуют анализа
структуры предложения в смысле связи субъ екта и предиката, как
это делается в грамматике. Однако в логике слово «предикат»
употребляется в более общем смысле, чем в грамматике, где оно
выражает только то, что говорится о субъекте.
Пусть задано некоторое множество V ={v 1 , v 2 , ..., v k , ….}, в
котором, v 1 , v 2 и т. д.– какие-то определенные предметы из этого
множества. Обозначим любой предмет из этого множества через х и
назовем х предметной переменной. Тогда высказывания об этих
предметах будем обозначать в виде Р(v 1 ), Q(v 1 , v 2 ) и т. д., причем
такие высказывания могут быть как истинными, так и ложными.
Например, если V ={1, 2, 3, …}, то высказывание «4 есть четное
число» является истинным, а «7 есть четное число» – ложным. Если
вместо конкретных чисел 4, 7 и т. д. поставим предметную
переменную, то получим предикат «х есть четное число»,
обозначаемый Р(х).
Таким образом, предикат на множестве V есть логическая
функция, определенная на V, при фиксировании аргументов которой
она превращается в высказывание со значениями { И, Л}. В данном
случае имеем логическую функцию Р(х), определенную на
множестве V и принимающую два значения: И, Л. В общем случае
через Р(х 1 , х 2 , ..., х n ) обозначим n-местный предикат, обладающий
тем свойством, что, приписав значения переменным х 1 , х 2 , ..., х n из
соответствующих областей определения, получим высказывание со
значениями {И, Л}.
Важную роль в излагаемом далее так называемом исчислении
предикатов (слова «первого порядка» для краткости пока будем
опускать) играют две связки  и  . Связка  называется квантором
общности, а связка  – квантором существования. Пусть Р(х)
означает, что х обладает свойством Р. Тогда договоримся через  х
Р(х) обозначать утверждение: «Все х области V обладают свойством
Р» или «Для всякого предмета х области V выражение Р(х) истинно».
15
Запись  х Р(х) будет означать, что существует предмет х области
V, обладающий свойством Р, или существует предмет х области V,
для которого Р(х) истинно.
Пусть А – формула исчисления предикатов (определение формулы
будет дано далее) . В выражении  х А (или  х А) формула А
называется областью действия квантора  х (соответственно  х).
Введем понятия свободного и связанного вхождения переменной в
формулу. Вхождение переменной х в данную формулу называется
связанным, если х является переменной входящего в эту формулу
квантора  х (или  х) или находится в области действия входящего в
эту формулу квантора  х (или  х); в противном случае вхождение
переменной х в данную формулу называется свободным. Отсюда
переменная называется свободной (связанной) переменной и данной
формуле, если существуют свободные (связанные) ее вхождения в
эту формулу.
В общем случае  x i  x i …  x i А(х 1 , х 2 , ..., х n ), где x i , x i , …, x i
являются подмножеством переменны х, х 1 , х 2 , ..., х n будет пониматься
как утверждение, что для любы х значений, придаваемых
предметным переменным x i , x i , …, x i из области определения А(х 1 ,
х 2 , ..., х n ), истинность А(х 1 , х 2 , ..., х n ) зависит только от свободных
переменных, входящих в эту формулу. Аналогично  x i  x i …  x i
А(х 1 , х 2 , ..., х n ), где x i , x i , …, x i – также подмножество переменных,
х 1 , х 2 , ..., х n понимается как утверждение, что существуют значения
переменных x i , x i , …, x i из области определения А(х 1 , х 2 , ..., х n )
такие, что истинность А(х 1 , х 2 , ..., х n ) будет зависеть лишь от
свободных переменных, входящих в эту формулу.
Если к формуле А(х 1 , х 2 , ..., х n ) применяем n раз какие-либо
кванторы, то получаем выражение , представляющее собой некоторое
постоянное высказывание, которое называется замкнутой формулой,
т. е. формулой без свободных переменных.
Рассмотрим выражение   x А(х), которое означает, что не для
всех х из области определения А(х) истинно. Это высказывание , в
свою очередь, равносильно высказыванию, что существует, по
крайней мере, один предмет х из области определения А(х), для
которого А(х) ложно, т. е.   xА(х)=  х (  А(х)).
Аналогично можно показать, что   xА(х)=  х (  А(х)).
Отсюда кванторы общности и существования называются
двойственными друг другу.
Применяя правило силы операций, будем считать, что кванторы
 и  располагаются по силе между связками ~,  и связками  ,&,  .
Во избежание недоразумений в ряде случаев будем ставить скобки.
Таким образом, в исчислении предикатов используются:
x 1 , x 2 , …, x n , … – предметные переменные;
1
2
1
r
2
1
1
16
2
2
r
r
r
1
1
2
r
2
r
a 1 , a 2 , …, a n , … – предметные константы;
A 1 1 , A 2 2 , …, A l m , P 1 1 ,… – предикатные буквы;
f 1 1 , f 2 2 , …, f l k ,… – функциональные буквы.
Верхний индекс предикатной или функциональной буквы
указывает число аргументов, а нижний служит для раз личения букв
с одним и тем же числом аргументов.
Правила конструирования термов:
1) всякая предметная переменная или предметная константа есть
терм;
2) если f n i – функцнональная буква и t 1 , t 2 , …, t n – термы, то f n i (t 1 ,
t 2 , …, t n ) есть терм;
3) других правил образования термов нет.
Например, х, у и 1 – термы; mult и plus – двухместные
функциональные символы, тогда plus(у, 1) и mult(х, plus(у, 1)) –
также термы.
Правила образования атомов (атомарных формул):
1) всякое переменное высказывание есть атом;
2) если A n i – предикатная буква, а t 1 , t 2 , …, t n – термы, то A n i (t 1 ,
t 2 , …, t n ) есть атом;
3) других правил образования атомов нет.
Формулы исчисления предикатов конструируются по следующим
правилам:
1) всякий атом есть формула;
2) если А и В – формулы и х – предметная переменная, то каждое
из выражений  А, А  В, А ~ В, А & В, А  В, что  xА,  х А есть
формула;
3) других правил образования формул нет.
Как и раньше будем употреблять скобки только в тех случаях,
которые
исключают
двусмысленности.
Кроме
того,
всегда
предполагаем, что свободные и связанные переменные обозначены
разными буквами и если один квантор находится в области действия
другого, то переменные, связанные этими кванторами, также
обозначены разными буквами.
Пример. Пусть Р(х) и N(х) обозначают соответственно «х есть
положительное целое число» и « х есть натуральное число». Тогда
утверждение «Всякое положительное целое число есть натуральное
число. Число 5 есть положительное целое число. Следовательно, 5
есть натуральное число» будет записано на языке
исчисления
предикатов следующим образом:
 х(Р(х))  N(х),
Р(5),
N(5).
17
Отметим, что для перевода предложений с русского языка на
язык исчисления предикатов не существует механических правил. В
каждом отдельном случае нужно сначала установить, каков смысл
переводимого предложения, а затем пытаться передать тот же смысл
с помощью предикатов, кванторов и термов.
Формулы исчисления предикатов имеют смысл только тогда,
когда имеется какая-нибудь интерпретация входящих в нее
символов.
Под интерпретацией в исчислении предикатов будем понимать
всякую систему, состоящую из непустого множества V, называемого
областью интерпретации и какого-либо соответствия, относящего
каждой предикатной букве A n i некоторое n-местное отношение в V
(т. е. V n  {И, Л}), каждой функциональной букве f n i – некоторую nместную функцию в V (т. е. V n  V ) и каждой предметной константе
a i – некоторый элемент из V. При заданной интерпретации
предметные переменные мыслятся пробегающими область V этой
интерпретации, а логическим связкам  ,  , ~, &,  и кванторам
придается их обычный смысл.
Для данной интерпретации любая формула без свободных
переменных представляет собой высказывание, которое может быть
истинным или ложным, а всякая формула со свободными
переменными
выражает
некоторое
отношение
на
области
интерпретации. Причем это отношение может быть истинным для
одних значений переменных из области интерпретации и ложным
для других.
Если область интерпретации конечна, то можно выяснить
истинность или ложность формулы, перебр ав все различные
элементы множества. Однако на практике мощность множества
бывает настолько велика, что об этом не может быть и речи.
Понятия общезначимости и противоречивости формул исчисления
предикатов аналогичны этим понятиям в исчислении высказываний.
Кроме того, будем называть формулу выполнимой, если она истинна,
по крайней мере, в одной интерпретации.
Исчисление предикатов первого порядка как формальная система
Рассмотрим формальную
исчисления предикатов.
аксиоматическую
систему
ФС
1. Исходными элементами ФС являются:
а) счетное множество предметных переменных x 1 , x 2 , …, x n , …;
б) конечное (может быть и пустое) или счетное множество
предметных констант a 1 , a 2 , …, a n , …;
18
для
в) конечное (может быть и пустое) или счетное множество
функциональных букв f 1 1 , f 2 2 , …, f l k ,…;
г) непустое конечное или счетное множество предикатных букв
A 1 1 , A 2 2 , …, A l m , P l k ,…;
д) символы исчисления высказывании:  ,  , ~, &,  ;
е) скобки ( ) и запятая;
ж) символы  и  ;
з) других исходных элементов нет.
2. Правила образования ППФ:
а) всякий атом есть ППФ;
б) если А и В – ППФ и х – предметная переменная, то каждое из
выражении  А, А  В, А ~ В, А & В, А  В, что  xА,  х А есть ППФ;
в) других правил образования ППФ нет.
Таким образом, форма записи ППФ совпадает с записью формул
исчисления предикатов.
3. Система аксиом.
К системе аксиом исчисления высказываний добавляются еще две
аксиомы:
А1.  х А(x)  A(t), где A(x) есть ППФ и t – терм, свободный для х
в А(х).
А2. A(t)   xА(x), где A(x) есть ППФ и t – терм, свободный для х
в А(х).
4. Правила вывода.
п.1. Все аксиомы выводимы.
п.2. Правило подстановки. Это правило аналогично правилу
подстановки, которое имеет место для исчисления высказываний.
Только в данном случае мы будем иметь дело с такой подстановкой
термов t 1 , t 2 , …, t n вместо x i , x i ,..., x i в A[ x i , x i ,..., x i ], что A[ x i , x i ,..., x i ]
свободна для t 1 , t 2 , …, t n .
Несоблюдение этого условия может привести к неприятным
последствиям. Например, пусть в а ксиоме А1 терм t не свободен для
х в A[x] и пусть A[x] есть ППФ вида   х 2 A(x 1 , x 2 ) и t есть х 2 . Тогда
терм t не свободен для x 1 , в   х 2 A(x 1 , x 2 ).
Рассмотрим следующий пример:
1
1
k
1
1
k
1
1
k
 х 1 (   х 2 A(x 1 , x 2 ))    х 2 A(x 2 , x 2 )
и возьмем в качестве интерпретации любую область, содержащую
не менее двух элементов, а в качестве А – отношение тождества.
Тогда посылка  х 1 (   х 2 A(x 1 , x 2 )) в данном примере истинна, а
заключение   х 2 A(x 2 , x 2 ) ложно.
п. 3. Правило modus ponens (МР).
Если |- А и |- А  В, то |- В.
19
п. 4. Правило обобщения (или правило связывания квантором
общности) .
Если ППФ В  А(х) при условии, что В не содержит свободных
вхождений х, выводима, то выводима будет и ППФ В   х А(х).
п. 5. Правило конкретизации (или правило связывания квантором
существования).
Если ППФ А(х)  В выводимая ППФ (теорема) и В не содержит
свободных вхождений х, то  x А(х)  В также теорема.
п. 6. Если А – теорема, имеющая квантор общности и/или квантор
существования, то одна связанная переменная в А может быть
заменена другой связанной переменной, отличной от всех свободных
переменных, одновременно во всех областях действия квантора и в
самом кванторе. Полученная ППФ также является теоремой.
п. 7. Других правил вывода нет.
Определение выводимости в исчислении предикатов является
расширением соответствующего определения для исчисления
высказываний. Поэтому среди выводимых ППФ исчисления
предикатов будут находиться все выводимые ППФ исчисления
высказывании.
Будем считать, что ППФ В выводима из ППФ А (аналогично из
множества ППФ A 1 , A 2 , ….,A n ), если:
1) A выводима из A;
2) каждая выводимая в ФС ППФ также выводима и из A;
3) из выводимости ППФ В 1 , и В 1  В 2 , из А следует выводимость
В 2 из А;
4) если ППФ В 1  В 2 (х) выводима из А, причем В 1 и А не содержат
свободных вхождений х, то и ППФ В 1   х В 2 (х) также выводима из
А;
5) если ППФ В 2 (х)  В 1 выводима из А, причем В 1 и А не
содержат свободных вхождений х, то и ППФ  x В 2 (х)  В 1 выводима
из А;
6) если ППФ В выводима из ППФ А, то и В`, полученная из В
подстановкой термов вместо свободных вхождений в В переменных,
также выводима из А;
7) если В выводима из А, то и В`, полученная из В любым
переименованием связанных переменных, отличных от имен
свободных переменных, выводима из А.
Вывод ППФ из пустого множества посылок есть доказательство
этой ППФ, а сама ППФ называется теоремой.
Для исчисления предикатов также имеет место теорема дедукции:
если A 1 , A 2 , ….,A n |- B, то |-A 1  ( A 2  (….,(A n  B)…)).
Остановимся
теперь на
свойствах
исчисления
предикатов:
непротиворечивости и полноте. Как и раньше, будем считать
20
непротиворечивым такое исчисление, в котором не выводимы
никакие две ППФ, из которых одна является отрицанием другой.
Теорема.
Исчисление
предикатов
первого
порядка
непротиворечиво.
Так как аксиомам исчисления предикатов соответствуют
выводимые ППФ исчисления высказываний, то, очевидно, что
всякой выводимой ППФ исчисления предикатов соответствует
выводимая ППФ исчисления высказываний. Из полноты исчисления
высказываний и непротиворечивости исчисления предикатов
вытекает, что всякая ППФ исчисления высказываний, выводимая из
исчисления предикатов, является выводимой ППФ исчисления
высказываний.
Теорема. Во всяком исчислении предикатов первого порядка
всякая теорема является общезначимой ППФ.
Теорема (Геделя о полноте). Во всяком исчислении предикатов
первого порядка всякая общезначимая ППФ является теоремой.
Пренексные нормальные формы
В исчислении предикатов имеется пренексная нормальная форма
(ПНФ). Необходимость введения ПНФ будет обусловлена в
дальнейшем упрощением процедуры доказательства теорем.
Сначала рассмотрим некоторые равносильные формулы в
исчислении предикатов. Напомним, что две формулы F и Ф
равносильны, т. е. F = Ф тогда и только тогда, когда истинностные
значения этих формул совпадают при любой интерпретации F и Ф.
Для подчеркивания факта, что переменная х входит в формулу F,
будем писать F[х], хотя F может содержать и другие переменные.
Имеем следующие пары равносильных формул:
 x F[х]  Ф =  x( F[х]
 x F[х] & Ф =  x( F[х]
 x F[х]  Ф =  x( F[х]
 x F[х] & Ф =  x( F[х]
 Ф);
& Ф);
 Ф);
& Ф)
при условии, что переменная х не входит свободно в формулу Ф.
Равносильность этих формул очевидна, так как формула Ф не
содержит свободно х и поэтому не входит в область действия
кванторов.
Далее имеем
 x F[х] &  x Ф[х] =  x( F[х] & Ф),
 x F[х]  Ф[х] =  x( F[х]  Ф[х]).
21
Теперь дадим определение ПНФ. Говорят, что формула F
исчисления предикатов находится в ПНФ тогда и только тогда, когда
ее можно представить в форме K 1 x 1 K 2 x 2 … K r x r M, где K i x i , i=1,2,
…,r есть либо  x i , либо  x i и М – бескванторная формула. Иногда
называют K 1 x 1 K 2 x 2 … K r x r префиксом, а М – матрицей формулы
F.
Например, формула
F 1 =  х  у (Q (х, у)   Р (f (х))  R (х, g (у)))
находится в ПНФ.
Существует простой алгоритм, преобразующий произвольную
заданную формулу в равносильную ей фор мулу, имеющую
пренексный вид. Алгоритм состоит из следующих шагов.
Шаг 1. Исключение логических связок ~ и  . Многократно (пока
это возможно) применяется следующее правило: найти самое левое
вхождение связки ~ или  и сделать замены:
F~ Ф = (  F  Ф) & (F   Ф),
F  Ф =  F  Ф.
Результатом этого шага будет формула, равносильная исходной и
не содержащая связок ~ и  .
Шаг 2. Продвижение знака отрицания  до атома. Многократно
(пока это возможно) делаем замены:
  F = F,
 (F  Ф) =  F   Ф,
 (F & Ф) =  F&  Ф,
  xF[x] =  x(  F[x] ),
  xF[x] =  x(  F[x] ).
В результате выполнения этого шага получается формула, у
которой знаки отрицания стоят только перед атомами.
Шаг 3. Переименование связанных переменных. Многократно
(пока это возможно) применяется следующее правило : найти самое
левое вхождение переменной такое, что это вхождение связано
(некоторым квантором), но существует еще одно вхождение это й же
переменной; затем сделать замену связанного вхождения на
вхождение новой переменной.
Шаг 4. Вынесение кванторов. Для этого используем следующие
равносильности:
K x F[х]  Ф =K x( F[х]  Ф),
K x F[х] & Ф =K x( F[х] & Ф),
 x F[х] &  x Ф[х] =  x( F[х] & Ф[х]),
 x F[х]   x Ф[х] =  x( F[х]  Ф[х]),
K 1 x F[х]  K 2 x Ф[х] = K 1 x K 2 y ( F[х]  Ф[y]),
K 1 x F[х] & K 2 x Ф[х] = K 1 x K 2 y ( F[х] & Ф[y]),
где K 1 , K 2 , K – кванторы либо  , либо  .
22
После выполнения четвертого шага формула приобретает
пренексный вид:
K 1 x 1 K 2 x 2 … K r x r M.
Сколемовские стандартные формы
Ранее было показано, что отношение логического следования F 1 ,
F 2 , …, F n |- B равнозначно общезначимости формулы |- F 1 & F 2 &
…&F n  B или противоречивости (невыполнимости)
F1& F2&
…&F n &  B. Так как в дальнейшем в процедурах доказательства мы
будем иметь дело только с невыполнимыми формулами, то без
потери общности ограничимся ими.
Очевидно, что если формулы F и Ф равносильны, то F логически
невыполнима тогда и только тогда, когда логически невыполнима Ф.
Благодаря этому утверждению и в силу того, что алгоритмы
приведения к ПНФ сохраняют равносильность невыполнимых
формул, мы ограничимся формулами, имеющими пренекс ный вид.
Однако можно ограничиться еще более узким классом формул,
так называемых  -формул.
Формула F называется  -формулой, если она представлена в
ПНФ, причем кванторная часть состоит только из кванторов
общности, т. е.
F=  x 1  x 2 …  x r M,
где M – бескванторная формула.
Таким образом, возникает задача устранения кванторов
существования в формулах, представленных в ПНФ. Это можно
сделать путем введения сколемовских функций.
Пусть формула F представлена в ПНФ:
F= K 1 x 1 K 2 x 2 … K r x r M, где K j  {  ,  }.
Пусть K i (1  i  r) – квантор существования в K 1 x 1 K 2 x 2 … K r x r .
Если i=1, т.е. ни один квантор общности не стоит впереди квантора
существования, то выбираем константу c из области определения М,
отличную от констант, встречающихся в M, и заменяем х на с в М.
Из префикса квантор существования K 1 x 1 вычеркиваем. Если перед
квантором существования K i стоит K j , K j , …, K j
кванторов
общности, то выбираем m-местный функциональный символ f,
отличный от функциональных символов в М, и заменяем х i на f
( x j , x j , …, x j ), называемую сколемовской функцией, в М. Квантор
существования K i х i вычеркиваем из префикса. Аналогично
удаляются и другие кванторы существования в ПНФ. В итоге
1
1
23
2
m
2
m
получаем  -формулу. Опишем алгоритм
исключения кванторов существования.
последовательного
Алгоритм Сколема
Шаг 1. Формулу представить в ПНФ.
Шаг 2. Найти наименьший индекс i такой, что K 1 , K 2 , … K i все
равны  , но K i =  . Если i = 1, т. е. квантор  стоит на первом месте,
то вместо х 1 в формулу М подставить константу с, отличную от
констант, встречающихся в М. Если такого i нет, то СТОП: формула
F- является  -формулой.
Шаг 3. Взять новый (i – 1)-местный функциональный символ f i ,
не встречающийся в F. Заменить F на формулу
 x 1  x 2 …  x i - 1 K i + 1 x i + 1 ,…, K r x r M[x 1 , x 2 , …, x i - 1 , f (x 1 , x 2 , …,
x i - 1 ), x i + 1 , …, x r ] .
Шаг 4. Перейти к шагу 2.
Таким
образом,
алгоритм
Сколема,
сохраняя
свойство
невыполнимости, приводит произвольную формулу, имеющую
пренексный вид, к  -формуле.
Напомним, что атом или его отрицание называ ется литерой.
Литера вида А называется положительной, а вида  А –
отрицательной.
Рассмотрим
теперь
преобразование
бескванторной
части
(матрицы) к виду так называемых дизъюнктов. Дизъюнктом
называется формула вида
L1  L2  …  Lk,
где L 1 ,L 2 ,…,L k – произвольные литеры.
Дизъюнкты, соединенные знаком &, образуют конъюнктивную
нормальную
форму
(КНФ).
Существует
простой
алгоритм
равносильного
преобразования
произвольной
бескван торной
формулы в КНФ. Представим его в развернутом виде.
Алгоритм приведения к КНФ
Шаг 1. Начало: дана формула F, составленная из литер с
применением связок & и  . Предполагается, что в формуле
исключены скобки между одинаковыми связ ками, т. е. нет
выражений вида
Ф 1  (Ф 2  Ф 3 ), (Ф 1  Ф 2 )  Ф 3
или
Ф 1 & (Ф 2 &Ф 3 ), (Ф 1 &Ф 2 ) &Ф 3 .
Шаг 2. Найти первое слева в хождение двух символов  ( (или
)  ). Если таких вхождений нет, то СТОП: формула F находится в
КНФ.
24
Шаг 3. Пусть первым вхождением указанной пары символов
является  (. Тогда взять наибольшие формулы Ф 1 , Ф 2 , …, Ф r ,  1 ,  2 ,
…,  s такие, что в F входит формула F 1 = Ф 1  Ф 2  …  Ф r  ( 1 &
 2 & …&  s ), которая связана с вхождением  (. Заменить формулу F
на формулу ( Ф 1  Ф 2  …  Ф r   1 )& ( Ф 1  Ф 2  …  Ф r   2 ) & …&
( Ф 1  Ф 2  …  Ф r   s ).
Шаг 4. Пусть первым вхождением является )  . Тогда взять
наибольшие формулы Ф 1 , Ф 2 , …, Ф r ,  1 ,  2 , …,  s такие, что в F
входит формула F 1 = ( 1 &  2 & …&  s )  Ф 1  Ф 2  …  Ф r ,
связанная с вхождением )  . Заменить F 1 на ( 1  Ф 1  Ф 2  …  Ф r )&
(2  Ф 1  Ф 2  …  Ф r ) & …& ( s  Ф 1  Ф 2  …  Ф r ).
Шаг 5. Перейти к шагу 2.
Итак, последовательным применением алгоритма приведения к
ПНФ, алгоритма Сколема и алгоритма приведения к КНФ с
сохранением свойства невыполнимости любая формула F может
быть представлена набором дизъюнктов, объединенных кванторами
общности.
Такую
формулу
будем
называть
формулой,
представленной в Сколемовской стандартной форме (ССФ). В
дальнейшем формулы вида  x 1  x 2 …  x r [D 1 & D 2 & …& D k ] , где
D 1 , D 2 , …, D k - дизъюнкты, а x 1 , x 2 , …, x r - различные переменные,
входящие в эти дизъюнкты, будет удобно представлять как
множество дизъюнктов S ={ D 1 , D 2 , …, D k }.
Принцип резолюции для логики предикатов первого порядка
Если в логике высказываний нахождение контрарных пар не
вызывает трудностей, то для логики предикатов это не так.
Действительно, если мы имеем дизъюнкты типа
С 1 : Р(х)   R(х),
С 2 :  Р(g(х))  Q(y),
то резольвента может быть получена только после применения к С 1
подстановки g(х) вместо х.
Имеем
С 1 : Р(g(х))   R(g(х)),
С 2 :  Р(g(х))  Q(y),
С:  R (g(х))  Q(y).
Однако для случая
С 1 : Р(f(х))   R(х),
С 2 :  Р(g(х))  Q(y),
25
очевидно, никакая подстановка неприменима и никакая резольвента
не образуется. Отсюда следует опред еление того, что является
подстановкой.
Подстановкой будем называть конечное множество вида {t 1 /x 1 ,
t 2 /x 2 , …, t n /x n }, где любой t i – терм, а любая х i – переменная (1  i 
n), отличная от t i .
Подстановка называется фундаментальной, если все t i (1  i  n)
являются фундаментальными термами. Подстановка, не имеющая
элементов, называется пустой подстан овкой и обозначается через ε.
Пусть Θ = {t 1 /x 1 , t 2 /x 2 , …, t n /x n } – подстановка и W – выражение.
Тогда WΘ будем называть примером выражения W, полученного
заменой всех вхождений в W переменной х i , (1  i  n) на вхождение
терма t i . WΘ будет называться фундаментальным примером
выражения W, если Θ – фундаментальная подстановка.
Например, применив к W ={ Р (х, f( у) )   Q (z)}
фундаментальную подстановку Θ = {а/х, g(b)/у, f(а)/z}, получим
фундаментальный пример WΘ ={Р(a, f(g(b)))   Q (f(a))}. Пусть Θ =
{t 1 /x 1 , t 2 /x 2 , …, t n /x n } и  = {u 1 /y 1 , u 2 /y 2 , …, u m /y m } – две подстановки.
Тогда композицией Θ двух подстановок Θ и  называется
подстановка, состоящая из множества
{t 1 /x 1 , t 2 /x 2 , …, t n /x n , u 1 /y 1 , u 2 /y 2 , …, u m /y m },
в котором вычеркиваются t i /x i у в случае t i =x i и u i /y i если y i
находится среди x 1 , x 2 , …, x n .
Пример. Θ = {g(x,y)!х, z/у} и  = {a/x, b/y, c/w, y/z}, Θ= {g(a,b)!х,
у/у, а/х, b/у, с/w, у/z} {g(a,b)!х, с/w, у/z}. Можно показать, что
композиция подстановок ассоциативна, т. е. (Θ)= Θ() .
Подстановку Θ будем называть унификатором для множества
выражений {W 1 , W 2 , …, W k }, если W 1 Θ= W 2 Θ= …= W k Θ . Будем
говорить, что множество выражений {W 1 , W 2 , …, W k } унифицируемо,
если для него имеется унификатор. Унификатор  для множества
выражений {W 1 , W 2 , …, W k } называется наиболее общим
унификатором (Н0У) тогда и только тогда, когда для каждого
унификатора Θ для этого множества выражений найдется
подстановка  такая, что Θ =  .
Опишем теперь алгоритм унификации, который находит НОУ,
если множество выражений W унифицируемо, и сообщает о неудаче,
если это не так.
1. Установить k = 0, W k = W и  k = . Перейти к пункту 2.
2. Если W k не является одноэлементным множеством, то перейти к
пункту 3. В противном случае положить  =  k и окончить работу.
26
3. Каждая из литер в W k рассматривается как цепочка символов и
выделяются первые подвыражения литер, не являющихся
одинаковыми у всех элементов W k , т. е. образуется так называемое
множество рассогласований типа (x k , t k ). Если в этом множестве x k
– переменная, а t k – терм, отличный от x k , то перейти к пункту 4.
В противном случае окончить работу: W неунифицируемо.
4. Пусть  k + 1 =  k { t k / x k } и W k + 1 = W k { t k / x k }.
5. Установить k=k+ 1 и перейти к пункту 2.
Пример. Найти НОУ для W = { P(y, g(z), f(x)), P(a, x, f(g(y)))} .
1)  0 = и W 0 = W.
2) так как W 0 не является одноэлементным множеством, то
перейти к пункту 3.
3) {у, а}, т. е. {а/у}.
4)  1 = 0 {а/у} =  {а/у} = {а/у}.
W 1 = W 0 {а/у} = { P(a, g(z), f(x)), P(a, x, f(g(a)))}.
5) так как W 1 опять неодноэлементно, то множество
рассогласований будет {g(z),x}, т. е. {g(z)/x}.
6)  2 = 1 {g(z)/x} = {а/у, g(z)/x},
W 2 = W 1 { g(z)/x } = { P(a, g(z), f(g(z))), P(a, g(z), f(g(a)))} .
7) имеем {z, a},{z/ a}.
8)  3 =  2 {z, a} = {а/у, g(z)/x, z,a},
W 3 = W 2 { z, a } = { P(a, g(a), f(g(a))), P(a, g(a), f(g(a)))}= { P(a,
g(a), f(g(a)))},
 3 = 2 {z, a} = {а/у, g(z)/x, z,a} есть НОУ для W .
Если две или более одинаковые литеры (одного и того же знака)
дизъюнкта С имеют НОУ, то С называется фактором дизъюнкта
С.
Пусть С 1 и С 2 – два дизъюнкта, не имеющих общих переменных
(это всегда можно получить переименованием переменных). И пусть
L 1 и L 2 =  L 1 – литеры в дизъюнктах С 1 и С 2 соответственно,
имеющие НОУ. Тогда бинарной резольвентой для С 1 и С 2 является
дизъюнкт вида С=( С 1  – L 1 )  (С 2  – L 2 ). Бинарная резольвента
может быть получена одним из четырех способов:
1) резольвента для С 1 и С 2 ;
2) резольвента для С 1 и фактора дизъюнкта С 2 ;
3) резольвента для фактора дизъюнкта С 1 и С 2 ;
4) резольвента для фактора дизъюнкта С 1 и фактора дизъюнкта
С2.
Пример. Пусть
С 1 = Р(f(g(а)))   R(b),
С 2 =  P(x)   P(f(y))  Q(y).
27
Тогда С 2  = С ` 2 =  P(f(y))  Q(y) и резольвентой для С 1 и С ` 2
будет С =  R(b)  Q(y).
Принцип резолюции обладает важным свойством – полнотой,
которое устанавливается следующей теоремой (Дж. Робинсон):
Множество дизъюнктов S невыполнимо тогда и только тогда,
когда существует вывод из S пустого дизъюнкта.
Однако в силу неразрешимости логики предикатов первого
порядка для выполнимого множества дизъюнктов S процедура,
основанная на принципе резолюции, будет работать бесконечно
долго.
Приведем два примера, иллюстрирующих принцип резолюции для
логики предикатов.
Пример.
Существуют
студенты,
которые
любят
всех
преподавателей. Ни один из студентов не любит невежд.
Следовательно, ни один из преподавателей не является невеждой.
Запишем эти утверждения на языке лог ики предикатов и
приведем их к стандартному виду:
 x (С(х) &  y (P(y)  L(х, y))),
 x (С(х)   y (H(y)  L(х, y))),
 y(P(y)   H(y)).
1. С(a).
2.  P(y)  L(a, y).
3.  С(х)   H(y)   L(х, y).
  y(  P(y)   H(y))=  y(P(y) &H(y)).
4. P(b).
5. H(b).
6. L(a, b) (2, 4).  = {b/y}.
7.  H(y)   L(a, y) (1, 3).  = {b/x}.
8.  L(a, b) (6, 7).  = {b/y}.
9.  (6,8).
Принцип резолюции является более эффективной процедурой
вывода, нежели процедура Эрбрана. Но и он имеет существенный
недостаток,
заключающийся
в
формировании
всевозможных
резольвент, большинство из которых оказываются излишними и
поэтому ненужными. С 1965 года и по сей день появляются
всевозможные модификации принципа резолюции, направленные на
нахождение более эффективных стратегий поиска нужных
дизъюнктов.
28
Задачи
1.
2.
3.
4.
5.
6.
7.
29
Выяснить логическую правильность следующих рассуждений:
Если запись числа X заканчивается двумя нулями, то оно делится
на 4. Число X делится на 4. Следовательно, его запись
заканчивается двумя нулями.
Если курс ценных бумаг растет или пр оцентная ставка снижается,
то либо падает курс акций, либо налоги н е повышаются. Курс
акций понижается тогда и только тогда, когда раст ет курс ценных
бумаг и растут налоги. Если процентная ставка снижается, то
либо курс акций не понижается, либо курс ценных бумаг не
растет. Тогда либо повышаются налоги, либо курс акций
понижается и снижается процентная ставка.
Если не было дождей или были заморозки, то урожай п лохой.
Известно, что уражай хороший, а заморозков не было. Значит,
дожди были.
Известно, что либо налоги падают и цены растут, либо уровень
безработицы остается постоянным. Если н алоги падают, то
инфляция растет. Инфляция не растет. Значит, уровень
безработицы остается постоянным.
Если лес дешевый или транспорт в д ефиците, то либо растут
рубки, либо уменьшаются посадки. Если растут рубки и
уменьшаются посадки, то транспорт в дефиците. Известно, что
лес дешев и транспорт не в дефиците. Следовательно, рубки
растут тогда и только тогда, когда посадки не уменьшаются.
Число обладает либо свойствами А и В одновременно, либо
свойством С. Если число обладает свойством С, то оно обладает и
свойством D. Если выполняется свойство D, то свойство В не
выполняется. Известно, что свойство В выполняется. Тогда
выполняется и свойство А.
Каждое число из множества U обладает свойством C, а также
свойством A или свойством В. Из выполнения свойства С следует
выполнение свойства D. Свойство D несовместимо со свойством
В. Следовательно, каждое число из U удовлетворяет свойству A.
1.
2.
3.
4.
30
Список литературы
Горбатов
В.А.
Фундаментальные
основы
дискретной
математики. - М.: Наука, 1999.
Вагин В.Н. Дедукция и обобщение в системах принятия
решений. – М.: Наука, 1988.
Кузнецов
О.П.,
Адельсон-Вельский
Г.М.
Дискретная
математика для инженера. – М.: Энергоатомиздат, 1988.
Новиков М.С. Элементы математической логики. – М.: Наука,
1973.
Содержание
Понятие формальной системы ......................................................................... 3
Исчисление высказываний как формальная система ................................. 5
Логические следствия ......................................................................................... 8
Принцип резолюции для логики высказываний ........................................ 10
Метод линейной резолюции ............................................................................ 13
Метод семантической резолюции................................................................... 14
Исчисление предикатов первого порядка .................................................... 15
Исчисление предикатов первого порядка как формальная система ..... 18
Пренексные нормальные формы ................................................................... 21
Сколемовские стандартные формы............................................................... 23
Принцип резолюции для логики предикатов первого порядка .............. 25
Задачи ................................................................................................................... 29
Список литературы .......................................................................................... 30
31
Download