
- •Формальные модели
- •Логика высказываний
- •Метод резолюции
- •Формулировка исчисления высказываний
- •Понятие семантики в логике высказываний Означивания и истинностные означивания
- •Семантические таблицы
- •Аксиоматическая система вывода
- •Метод резолюций
- •Корректность и полнота исчисления высказываний Разрешимость и полнота исчисления высказываний
- •Корректность и полнота метода семантических таблиц
- •Корректность и полнота аксиоматической системы вывода
- •Алгебраические системы
- •Логика предикатов
- •Исходные символы языка логики предикатов
- •Термы и формулы
- •Интерпретация вPrL
- •Интерпретация термов
- •Интерпретация формул
- •Интерпретация атомных формул
- •Интерпретация формул с логическими связками.
- •Интерпретация формул, содержащих кванторы
- •Подстановка термов в формулы
- •Аксиоматические основания логики предикатов
- •Общезначимые эквивалентности логики предикатов
- •Предваренная нормальная форма
- •Метод семантических таблиц
- •Построение замкнутых семантических таблиц
- •Сколемовская нормальная форма
- •Теоретико-множественное представление-формул
- •Эрбрановские интерпретации
- •Семантические деревья
- •Исчисления предикатов Выводы в естественной дедуктивной системе
- •Определение схем (правил) вывода для ипс
- •Унификация и резолюция в логике предикатов
- •Унификация: неформальное описание
- •Унификация: формальное описание
- •Теорема Дж. А. Робинсона
- •Метод резолюций дляPrL Клаузальная форма (форма предположений)
- •Корректность и полнота исчислений логики предикатов Корректность и полнота исчисления резолюций
- •Корректность и полнота метода семантических таблиц
- •Проблема разрешимости логики предикатов
- •Полнота и непротиворечивость исчисления предикатов
- •Теоремы ограничения в формальных системах
- •Список рекомендуемой литературы
Теорема Дж. А. Робинсона
Применение алгоритма унификации к множеству атомов T={P1,…, Pn} дает следующий результат:
Если Т унифицируемо, то алгоритм останавливается, выдавая в качестве ответа НОУ множества Т;
Если Т не унифицируемо, то алгоритм останавливается, объявляя, что унификатора не существует.
Теорема утверждает, что если Т унифицируемо, то алгоритм унификации останавливается, определяя именно НОУ множества Т.
Пример 2.Дано множество формул:S={Q(а,x,f(g(z))),Q(z,f(y),f(y))}. Определить, унифицируемо лиS. Если да, найти НОУ.
Шаг 0: |
Полагаем 0=Е |
Шаг 1: |
S 0 = S DS(S 0)=DS1= {a,z} ПВ отрицательна Полагаем 1={z/a} |
Шаг 2: |
S01={Q(a,x,f(g(a))), Q(a,f(y), f(y))} DS(S01)=DS2={x, f(y)} ПВ отрицательна Полагаем 2=x/f(y)} |
Шаг 3. |
S012={Q(a, f(y), f(g(a))), Q(a, f(y), f(y))} DS(S012)=DS2={g(a), y} ПВ отрицательна Полагаем 3={y/g(a)} |
Шаг 4. |
S0123={Q(a, f(g(a)), f(g(a))), Q(a, f((a)), f(g(a)))} DS(S0123)= |
Следовательно, Sунифицируемо и его НОУ имеет вид:
НОУ= 0123 = {z/a, x/f(g(a)), y/g(a)}.
Пример 3.Дано множество формул:S={Q(y,y),Q(z,f(z))}. Определить, унифицируемо лиS. Если да, найти НОУ.
Шаг 0: |
Полагаем 0=Е |
Шаг 1. |
S 0 = S DS(S 0)=DS1= {y,z} ПВ отрицательна Полагаем 1={y/z} |
Шаг 2. |
S01={Q(a,x,f(g(a))), Q(a,f(y), f(y))} DS(S01)=DS2={z,f(z)} ПВ положительна, zвстречается вf(z). |
Следовательно, Sне унифицируемо.
Метод резолюций дляPrL Клаузальная форма (форма предположений)
После проведения сколемовских преобразований результирующая ПНФ представляет собой несколько предикатов, содержащих переменные и соединенных различными связками. Такая бескванторная форма называется матрицей. Любую матрицу можно привести к конъюнктивной нормальной форме (КНФ) многократным применением аксиом дистрибутивности. ПНФ, состоящая только из дизъюнкций литералов, называется предложением. Множество предложений, полученных в результате исключения символа &, называется клаузальным множеством.
После исключения символов & необходимо осуществить переименование переменных. Символы переменных должны быть изменены так, чтобы каждый появлялся не более чем в одном предложении.
Следует отметить, что литералы в предложениях могут содержать переменные, но всегда подразумевается, что они относятся к кванторам общности. Если вместо переменных некоторого выражения подставляются термы, не содержащие переменных, то получаем так называемый основной частный случай литерала. Так Q(a, f(g(b))) является основным частным случаем для литерала Q(x, y).
Когда резолюция используется в качестве правила вывода в системе доказательства теорем, то множество ПНФ, исходя из которого мы хотим доказать теорему, сначала преобразовывается в совокупность предложений.
Правило резолюции в Plпозволяет получить новый дизъюнкт из двух дизъюнктов, один из которых содержит некоторое высказывание А, а другой – его отрицание, в виде дизъюнкции всех литералов исходных дизъюнктов за исключением дизъюнктов А иА.
Обратим внимание, что исходные формулы в обобщенной резолюции и резольвента являются дизъюнкцией литералов. Обычно такие формулы называют клаузальными формами, или клаузами. Таким образом, использование резолюции для вывода требует клаузальной формы представления формул, т.е. формул, представленных в КНФ.
Целевая формула. Целевая формула является конъюнкцией литералов.
Произвольная формула логики предикатов первого порядка может быть преобразована в клаузальную форму. Процедура преобразования состоит из следующих шагов.
Исключение импликаций. Перемещения знака отрицания непосредственно к атомам. В клаузах отрицание допустимо только перед атомами. Поэтому используя перечисленные ниже законы Де Моргана, эквивалентности кванторов и двойного отрицания, перемещаем знак отрицания непосредственно к атомам:
Переименование переменных. Во всех формулах, в которых встречаются кванторы, использующие одни и те же связанные переменные, как, например, в формулехА(x)хP(x), переименовываем связанные переменные таким образом, чтобы они были индивидуальными для каждого квантора.
Перемещение кванторов влево. После предыдущего шага, в результате которого каждый квантор использует свои связанные переменные, обозначения которых не совпадают с переменными других кванторов, все кванторы перемещаем влево.
Сколемизация. Сколемизацией называется специфический прием удаления кванторов существования. В простейшем случае — это замена формулыу Р(у) на формулу Р(с), где с является константой, ранее не встречавшейся. В общем случае, когда переменная, связываемая квантором существования, встречается в каком-либо литерале вместе с переменными, связанными квантором общности, приходится, чтобы избавиться от квантора общности, вводить специальную функцию, зависящую от переменных, связанных квантором общности, вместо переменной, связанной квантором существования.
Литерал P(у) может означать, например, наличие некоторого свойства, именуемого предикатным символомP, у объекта, именуемого переменной у, а атом Q(х, у) задает отношение между объектами х, у. Объект, обозначенный переменной у, определяется в этом случае значением переменной х и может быть заменен ранее не встречавшейся функциейF(x), называемой обычно функцией Сколема. После такой замены квантор существования может быть удален.
После этого шага исходная формула преобразуется в нормальную конъюнктивную форму, являющуюся конъюнкцией дизъюнкций литералов. Каждая дизъюнкция литералов является клаузой.
Общее представление о правиле вывода с использованием резолюции лучшего всего рассмотреть на примере того, как она применяется в случае основных предложений.
Пусть
имеются два основных предложения (т.е.
предложения не содержат переменных):
(P1P2…Pn)
и (P1Q2…Qm).
Считаем, что все Pi
и Qj
различны. Отметим, что эти предложения
содержат дополнительные
литералы
(литералы, которые взаимно отличаются
только символом отрицания).
Из
этих двух родительских
предложений можно вывести новое
предложение, называемое их резольвентой.
Резольвента вычисляется взятием
дизъюнкции этих предложений с последующим
исключением дополнительной (контрарной)
пары: P1,
P1.
Некоторые основные частные случаи резолюции приведены в таблице 10. Из этой таблицы видно, что резолюция позволяет объединить несколько операций в одно простое правило вывода.
Таблица 10 Предложения и резольвенты
Родительские предложения |
Резольвенты |
Комментарии |
P и (P Q) (т.е. PQ) |
Q |
Модус поненс |
P Q и P Q |
Q |
Предложение Q Q "сворачивается" в Q. Эта резольвента называется слиянием. |
P
Q
и ( |
Q(Q) и P(P) |
Здесь две возможные резольвенты; в данном случае обе являются тавтологиями. |
|
|
Пустое предложение, является признаком противоречия |
( |
(т.е. PR) |
Цепочка. |
Метод
резолюций для PrL
представляет собой комбинацию алгоритма
унификации для PrL
и метода резолюций для PL.
Для множества S
дизъюнктов PrL
резолютивный
вывод из
S
есть конечная последовательность
дизъюнктов C1,
…, Cn
такая, что для каждого Ci,
либо CiS,
либо CiR({Cj,Ck}),
1j,
kI,
где R({Cj,
Ck})
– множество резольвент Cj
и Ck.
Поскольку переменные во всех дизъюнктах считаются связанными кванторами общности, можно переименовывать эти переменные, чтобы избежать конфликтов во время процедуры унификации. Такое переименование называется нормализацией переменных.
Пример 1. Пусть даны следующие дизъюнкты:
C1={P(x,y), P(y,z), P(x,z)};
C2={P(u,v), P(v,u)}.
Мы хотим сделать заключение
C3={P(x,y), P(z,y), P(x,z)}.
Этим дизъюнктам соответствуют следующие формулы PrL^
xyz[P(x,y)&P(y,z)P(x,z)] для С1
uv[P(u,v)P(v,u)] для С2
xyz[P(x,y)&P(z,y)P(x,z)] для С3
Построим вывод дизъюнкта С3 методом резолюций.
(1) |
C1 |
|
(2) |
C2 |
|
(3) |
{P(x,z), P(z,x)} |
Из (2), подстановка {u/x, v/z} |
(4) |
{P(x,y), P(y,z), P(z,x)} |
Из (1) и (3), резолюция |
(5) |
{P(z,x), P(x,z)} |
Из (2), подстановка {u/z, v/x} |
(6) |
{P(x,y), P(y,z), P(x,z)} |
Из (4) и (5), резолюция |
(7) |
{P(z,y), P(y,z)} |
Из (2), подстановка {u/z, v/y} |
(8) |
C3 |
Из (6) и (7), резолюция |
В системе резолюций, как и в естественной дедуктивной системе, можно при наличии ряда формул Г обрабатывать вопросы вида формул В. Иначе, если Г |- В доказуемо, то ответом на вопрос В является ДА. Если доказуемо Г |- В, то ответом является НЕТ.
Более того, в системе резолюций возможна обработка запросов другого вида. Допустим, существуют следующие факты:
"Все люди смертны"
"Бог бессмертен"
"Сократ - человек"
Рассмотрим вопрос: "Кто есть не Бог?"
Представим эти предложения в виде формул:
х (люди(х) смертны(х)), (1)
х (Бог(х) смертен (х)), (2)
человек (Сократ). (3)
Данный вопрос представляется как х (Бог (х)).
Сформулируем эти высказывания на языке секвенций, введя противоречие во второе предложение:
(1) Люди(х) |- смертны (х);
(2) Бог (у), смертен (у) |-;
(3) |- человек (Сократ);
(4) |- Бог(z).
Предложение (4) есть отрицание вопроса. Попытаемся сделать опровержение, начиная с четвертого предложения. В данном случае опровержение является единственным, оно выглядит следующим образом:
(5) |- Бог(z); (из (4));
(6) Смертен (z) |- (резольвента (2) и (5));
(7) человек (z) |- (резольвента (1) и (6));
(8) |- (резольвента (3) и (7)).
В данном случае опровержение является единственным, и оно выглядит следующим образом (при опровержении предложения (1) - (3) опускаются).
(5) |- Бог (z); (из (4));
(6) смертен (z) (резольвента (2) и (5));
(7) человек (z) |- (резольвента (1) и (6));
(8) |- (резольвента (3) и (7)).
В данном опровержении (в последней резолюции) путем подстановки в z "Сократ" можно ответить на поставленный вопрос.
Данный силлогизм может быть разрешен и иначе, без введения понятия Бог. Например, запишем множество секвенций:
Человек (х) |- Смертен (х), (1)
|- Человек (Сократ), (2)
Человек (Сократ) |- Смертен (Сократ). (3)
Применим к (3) правило (уд. ):
Человек (Сократ), Смертен (Сократ) |-. (4)
Чтобы к секвенциям (1), (4) можно было применить резолюцию, необходимо вначале произвести унификацию с помощью подстановки {x/ Сократ} в секвенцию (1). Резольвента секвенций (1) и (4) имеет вид:
R(1,4): Человек (Сократ), Человек (Сократ) |-. (5)
Применяя к (5) правило сокращения (C |-) получим
Человек (Сократ) |-. (6)
R (2, 6): (7)
Таким образом, введя секвенцию – опровержение вывода силлогизма (3), получили противоречие, признаком которого является пустая резольвента (7). Следовательно, неверно, что Сократ бессмертен.