![](/user_photo/2706_HbeT2.jpg)
1.1.12 Метод резолюции.
Метод использует тот факт, что если некоторая формула является невыполнимой, то наиболее сильное следствие этой формулы ‑ константа 0 (False).Предложенный в 1965 году Дж. Робинсоном метод резолюции позволяет получить максимально сильное следствие множества формул с помощью систематической процедуры последовательного построения логических следствий формулы, называемых резольвентами. Иными словами, метод резолюции обладает свойством полноты: для формулы А следствие False обязательно будет получено, если А ‑ невыполнима.
Теорема 5. Пусть
,
тогда
.
Доказательство. На основании
определения логического следствия
,
отсюда
.
Определение.
Резольвентой двух дизъюнктов
и
называется
дизъюнкт
.
Теорема 6. Резольвента является логическим следствием порождающих её дизъюнктов.
Доказательство. Пусть
и
‑ два дизъюнкта, тогда
‑ их резольвента. Покажем, что формула
невыполнима. Так как
,
то ‑ невыполнима. По теореме 2 имеем:
.
Из теоремы вытекает правило резолюций:
или
.
Предположим, что дана формула логики высказываний А. Как проверить общезначимость формулы А? Эта задача решается с помощью метода резолюций Дж. Робинсона, к изложению которого мы приступаем.
Очевидно, что |= А тогда и только
тогда, когда невыполнима формула
.
Формулу
приводим к конъюнктивной нормальной
форме (КНФ):
.
Тем самым мы формируем множество
дизъюнктов
.
Два дизъюнкта этого множества
и
,
содержащие контрарные литералы
и
,
формируют третий дизъюнкт - резольвенту
,
в которой исключены контрарные литералы,
т.е.
.
В частности, если
,
,
то резольвента для них - это дизъюнкция,
ничего не содержащая (отсутствуют
и
).
Ее называют пустой резольвентой и
обозначают знаком
(или 0).
Неоднократно применяя правило получения резольвент к множеству дизъюнкт S, стремятся получить пустой дизъюнкт .
Наличие пустого дизъюнкта свидетельствует о получении противоречия, поскольку пустая резольвента получается из двух противоречащих друг другу дизъюнктов и , каждый из которых логическое следствие формулы . Следовательно, формула невыполнима, что означает общезначимость формулы А.
Изложим по шагам
Алгоритм метода резолюций.
Шаг 1. Принять отрицание формулы А, т.е. .
Шаг 2. Привести формулу к конъюнктивной нормальной форме: .
Шаг 3. Выписать множество ее дизъюнктов: .
Шаг 4. Выполнить анализ пар множества
S по правилу: если
существуют дизъюнкты
и
,
содержащие контрарные литералы
и
,
то нужно соединить эту пару логической
связкой дизъюнкции
и сформировать новый дизъюнкт -
резольвенту, исключив контрарные
литералы
и
.
Шаг 5. Если в результате соединения дизъюнктов, содержащих контрарные литералы, будет получена пустая резольвента - (или 0), то результат достигнут (доказательство подтвердило противоречие), в противном случае включить резольвенту в множество дизъюнктов S и перейти к шагу 4.
При реализации указанного алгоритма возможны три случая:
• Среди текущего множества дизъюнктов нет резольвируемых. Это означает, что формула А не является общезначимой.
• На каком-то шаге получается пустая резольвента. Формула А ‑ общезначима.
• Процесс не останавливается, т.е. множество дизъюнкт пополняется все новыми резольвентами, среди которых нет пустых. В таком случае нельзя ничего сказать об общезначимости формулы А.
Метод резолюций пригоден и для
доказательства того, что формула В
является логическим следствием формул
,
поскольку,
Для того чтобы «запустить» алгоритм метода резолюций, нужно воспользоваться тождеством
.
Следовательно, формула
общезначима, если формула
является невыполнимой. Далее применяем
описанный по шагам метод резолюций к
формуле
.
Пример 1. Выяснить, является ли логически правильным следующее простое рассуждение. Студент пойдёт домой (p) или останется в университете (q). Он не останется в университете. Следовательно, студент пойдёт домой. (Буквами обозначены имеющиеся в этом рассуждении простые высказывания).
Решение. Запишем это рассуждение символически:
.
Имеем
и
.
Следовательно,
.
Дизъюнкты удобно пронумеровать:
(1)
(2)
(3)
Резольвента для (1) и (2) ‑ дизъюнкт
,
т.е.
(1), (2) = (4)
Поэтому
.
Резольвента для (3) и (4) ‑ дизъюнкт , т.е.
(3), (4) = 0 (5)
Следовательно,
Наличие пустой резольвенты говорит о том, что логическое следствие установлено.
Пример 2. Доказать, что
.
Решение. Имеем
.
Следовательно,
и
S={
,
,
,
}.
Дизъюнкты удобно пронумеровать:
(1)
(2)
(3)
(4)
Вычисляем, добавляя резольвенты.
(1), (4) =
(5)
S={ , , , , }
(2), (4) =
(6)
S={ , , , , , }
(3), (6) =
(7)
S={ , , , , , , }
(5), (7) = 0 (8)
Конечное множество S={ , , , , , , , 0} содержит пустую резольвенту, следовательно, логическое следствие установлено.
Обычно промежуточные значения множества S не выписывают, а записывают только начальное и конечное значение этого множества. Решение оформляется так:
S={ , , , }.
(1)
(2)
(3)
(4)
(1), (4) = (5)
(2), (4) = (6)
(3), (6) = (7)
(5), (7) = 0 (8)
S={ , , , , , , , 0} .
Пример 3. Доказать, что
.
Решение. Имеем
и
.
Множество
(1)
(2)
(1), (2) =
(3)
.
Процесс останавливается. Пустой
резольвенты нет. Формула
не является логическим следствием
формулы
.