
13.6. Метод резолюций
Далеко не всегда можно легко найти невыполнимое множество основных примеров дизъюнктов. Трудности заключаются в порождении основных примеров дизъюнктов и поиске опровергающих интерпретаций. Поскольку множество дизъюнктов представляет собой конъюнктивную нормальную форму, то задача проверки невыполнимости этого множества эквивалентна задаче проверки ложности конъюнктивной нормальной формы, а это задача экспоненциальной сложности. После многочисленных поисков более эффективных процедур, Дж. Робинсоном был предложен метод, названый методом резолюций.
Основная идея метода резолюций состоит в том, чтобы проверить, содержит ли множество S пустой дизъюнкт □. Если и S содержит □, то множество S невыполнимо, если нет, то надо проверить, может ли он быть получен из данного множества дизъюнктов. Иными словами, необходимо найти множество основных примеров. Опровергающих исходное множество дизъюнктов. Эта процедура основана на правиле резолюций.
Правило резолюций Робинсона. Если для любых двух дизъюнктов С1 и С2 существует литера L1С1, и контрарная ей литера L2С2 (L2=L1), то вычеркнув L1 из С1, и L2 из С2 и построив дизъюнкт из оставшихся литер, получим резольвенту С1, и С2: С1С2, где С1 = С1\L1, С2 = С2\L2.
Теорема 13.6. Резольвента С есть логическое следование дизъюнктов С1 и С2, содержащих контрарные литеры L и L: LC1, L1C2= С1С2.
Доказательство. Предположим, что |LC1| =T, |L1C2| = T, |С1С2| = F. Тогда | С1| = F, |С2| = F. Если | LC1| = Т, |L| =T, но |L1C2| = T, следовательно, |L| = F. Полученное противоречие доказывает теорему.
Правило резолюций является обобщением многих известных нам правил вывода. Например, правило силлогизма: АВ, ВС=АС может быть переписано в виде: АВ, ВС=АС, что соответствует правилу резолюций. Правило МР: А, АВ=В может быть переписано в виде: А АВ=В, что также соответствует правилу резолюций. Наконец, закон противоречия А&АF равнозначен правилу: А, А= □, согласно которому резольвента двух контрарных однолитерных дизъюнктов есть пустой дизъюнкт.
Определение 13.13. Резолютивный вывод из множества дизъюнктов S есть последовательность С1, С2, ..., Сk, такая, что каждое Сi либо принадлежит S, либо является резольвентой предшествующих Сi.Если последний дизъюнкт Сk = □, то множество дизъюнктов S является невыполнимым, а весь вывод называется опровержением S. Если Сk не является пустым дизъюнктом и дальнейшее применение правила резолюций невозможно, то множество S является выполнимым.
Пример. Рассмотрим пример 10.1. (см. главу 10). Необходимо проверить логическое следование в логике высказываний: РS, SR, Р=R. Составим множество дизъюнктов S, для чего каждую формулу приведем к КНФ, а от заключения R возьмем отрицание.
Получим:
1. PS
2. SR
3. Р
4. R
5. S резольвента 4, 2
6. P резольвента 5, 1
7. □ резольвента 3, 6
Правило резолюций - очень мощное средство логического доказательства. Можно показать [Чень, Ли, 1983] полноту метода резолюций, т.е. доказать, что множество дизъюнктов S невыполнимо тогда и только тогда, когда существует резолютивный вывод пустого дизъюнкта из S.