Краткое содержание
Семантика обещала методы решения вопроса о невыполнимости, не требующие перебора таблицы истинности; этот урок даёт главный из них. Множество формул записывается как множество дизъюнктов, каждый из которых есть конечное множество литералов, с помощью конъюнктивной нормальной формы или, чтобы избежать её экспоненциального роста, с помощью определяющих дизъюнктов с новыми переменными, которые сохраняют выполнимость. На дизъюнкты действует одно-единственное правило, правило резолюции: из дизъюнкта, содержащего литерал, и другого, содержащего противоположный ему литерал, выводится объединение обоих без этой пары. Опровержение есть порождение, которое приходит к пустому дизъюнкту. Доказываются корректность (если опровержение есть, множество невыполнимо) индукцией по длине порождения и полнота опровержения (если конечное множество невыполнимо, опровержение есть) индукцией по числу переменных, которые исключаются одна за другой; с помощью теоремы компактности полнота распространяется на бесконечные множества. Отсюда получаются метод решения вопроса о следовании, который сравнивается с таблицами, и изложение проблемы выполнимости с двумя случаями, решаемыми быстро: дизъюнктами Хорна и дизъюнктами из двух литералов.
Цели обучения
- Представлять множество формул как множество дизъюнктов с помощью конъюнктивной нормальной формы или определяющих дизъюнктов с новыми переменными и обосновывать, что такое представление сохраняет выполнимость и следование.
- Строить опровержения методом резолюций и решать с их помощью вопросы о следовании и невыполнимости, не допуская типичных ошибок, таких как устранение двух контрарных пар за один шаг.
- Доказывать корректность резолюции индукцией по длине порождений и её полноту опровержения исключением переменных и распространять эту полноту на бесконечные множества с помощью теоремы компактности.
- Объяснять проблему выполнимости, её известную цену и случаи, решаемые быстро (дизъюнкты Хорна и дизъюнкты из двух литералов), и сравнивать резолюцию с таблицами истинности.
Урок о семантике логики высказываний показал, что общезначимость и выполнимость разрешимы с помощью таблицы истинности ценой, которая удваивается с каждой переменной, и обещал методы, не требующие её перебора. Урок о семантическом следовании и эквивалентности свёл всякое следование к невыполнимости: тогда и только тогда, когда невыполнимо. Уроки о нормальных формах и об их алгоритме дали всякой формуле конъюнктивную форму, общезначимость которой видна с первого взгляда, а выполнимость не видна. Если это так, недостаёт процедуры, которая решала бы вопрос о невыполнимости конъюнкции дизъюнктов, действуя на самих дизъюнктах. Такая процедура есть резолюция, предложенная Джоном Аланом Робинсоном в 1965 году на основе идей Мартина Дэвиса и Хилари Патнэма (1960); она составляет ядро программ, которые сегодня решают вопрос о выполнимости формул с миллионами переменных. В отличие от системы раздела о выводе, отношения которой с семантикой изучают уроки о корректности и полноте и о теореме компактности, резолюция не выводит заключений: она опровергает множества. Этот урок доказывает, что она делает это корректно и полно.
Как и в предыдущих уроках, , , , и обозначают переменные от до ; буква без индекса, а также обозначают оценки; и есть множество переменных формулы .
Дизъюнкты и множества дизъюнктов
Напомним из урока о нормальных формах, что литерал есть переменная или отрицание переменной и что противоположный литералу литерал, записываемый , есть литерал той же переменной с другим знаком; два противоположных литерала образуют контрарную пару. По лемме об отрицании литерала для всякой оценки . Там дизъюнкт был дизъюнкцией литералов; здесь удобно забыть порядок и повторения, которые не меняют значения, и оставить только множество.
Дизъюнкт есть конечное множество литералов. Дизъюнкт без литералов называется пустым дизъюнктом и обозначается . Оценка выполняет дизъюнкт , что записывается , если некоторый литерал из принимает значение при ; в противном случае его опровергает. Дизъюнкт из одного литерала называется единичным. Переменные дизъюнкта образуют множество ; переменные множества дизъюнктов образуют множество , объединение предыдущих. Оценка выполняет множество дизъюнктов, , если она выполняет каждый его дизъюнкт; выполнимо, если его выполняет некоторая оценка, и невыполнимо в противном случае. Наконец, если есть множество дизъюнктов, а есть дизъюнкт, то означает, что всякая оценка, выполняющая , выполняет .
Из определения следуют два крайних случая, которые стоит зафиксировать. Пустой дизъюнкт не имеет литералов; поэтому ни один его литерал не принимает значения , и ни одна оценка его не выполняет: невыполним, и всякое множество, которое его содержит, тоже. Пустое множество дизъюнктов, напротив, не имеет дизъюнктов, которые нужно выполнить, и всякая оценка его выполняет. Их не следует путать: невыполнимо, а выполняется всеми оценками.
Пусть есть непустой дизъюнкт, литералы которого записаны в любом порядке и без повторений. Для всякой оценки имеем тогда и только тогда, когда . В частности, все дизъюнкции литералов из , в любом порядке и с повторениями, эквивалентны между собой. Кроме того, выполняется всякой оценкой тогда и только тогда, когда содержит контрарную пару.
Доказательство
По лемме о значении дизъюнкций формул, доказанной в уроке об обобщённых законах де Моргана и дистрибутивности, дизъюнкция принимает значение тогда и только тогда, когда некоторый её член принимает значение .
То, что некоторый принимает значение , означает, что некоторый литерал из принимает значение , то есть что выполняет . Условие не зависит ни от порядка, ни от повторений, потому что спрашивает лишь о том, какие литералы присутствуют.
По лемме об элементарных конъюнкциях и дизъюнктах (урок о нормальных формах) дизъюнкция литералов общезначима тогда и только тогда, когда содержит контрарную пару; по доказанному это же верно и для .
Дизъюнкт, содержащий контрарную пару, называется тавтологичным: он не налагает никакого условия, и его можно удалить из любого множества, не меняя моделей этого множества. Записывать дизъюнкты как множества не прихоть обозначений. Если из и хотят получить , дизъюнкция даёт , которая эквивалентна , но не является той же формулой; с множествами , и слияние повторяющихся литералов происходит само собой.
Пусть . Дизъюнкт требует ; тогда требует , а тогда требует . Оценка, которая даёт переменным и и остальным переменным, выполняет , и это единственная возможность на . Если добавить дизъюнкт , никакая оценка не выполняет расширенное множество: оно невыполнимо, хотя и не содержит .
Загрузка содержимого…