- •Математические методы теории доказательств. Автоматизация процесса логического вывода.
- •Семантика логики предикатов
- •Доказательство методом резолюции
- •Префиксная формальная форма.
- •Сколемовская нормальная формула.
- •Клаузальная форма (форма предположений)
- •Резолюция для основных предложений
- •Предложения и резольвенты
- •Унификация и подстановка
- •Резолюция в общем случае
- •Система опровержения на основе резолюции.
- •Извлечение ответа из опровержения на основе резолюции
- •Системы дедукции на основе правил
Доказательство методом резолюции
Рассмотренный выше метод вывода в логике предикатов легко воспринимается человеком, но для машинной реализации необходима более фундаментальная формализация метода. В качестве такого полноценного метода доказательства теорем используется методрезолюции. Для применения этого метода исходную группу заданных логических формул требуется преобразовать в некоторую нормальную форму. Это преобразование производится обычно в несколько стадий.
Префиксная формальная форма.
Форма представления предметной формулы, в которой все кванторы выводятся за скобки и следуют непосредственно перед ППФ, носит название префиксной нормальной формы.
Для приведения к префиксной нормальной форме произвольной ППФ необходимо рассмотреть некоторые равносильные формулы в исчислении предикатов (без доказательств).
Имеем следующие пары равносильных формул:
(x)F(x)P = (x)(F(x)P);
(x)F(x)P = (x)(F(x)P);
(x)F(x)P = (x)(F(x)P);
(x)F(x)P = (x)(F(x)P).
При условии, что формула Pне содержит свободноxи поэтому не входит в область действия кванторов.
Далее:
(x)F(x)(x)P(x) = (x)(F(x)P(x)),
(x)F(x)(x)P(x) = (x)(F(x)P(x)).
Но
(x)F(x)(x)P(x)(x)(F(x)P(x)),
(x)F(x)(x)P(x) (x)(F(x)P(x)).
В последних двух случаях необходимо произвести переименование связанных переменных, т.е:
(
(*)
(x)F(x)(x)P(x) = (x)F(x)(y)P(y) = (x)(y)(F(x)P(y))
при условии, что переменная yне появляется вF(x).
В двух последних отношениях связанная переменная в квантифицированном выражении является "немой" переменной и ее можно произвольно заменять на любой другой символ переменной, который еще не встречался в выражении.
С учетом приведенных формул алгоритм, преобразующий произвольную заданную формулу в равносильную в префиксной форме состоит из следующих шагов.
Шаг1. Исключение логических связоки с помощью известных правил.
Шаг 2. Продвижение связкидо атома с использованием законов де Моргана. В результате выполнения этого шага получается формула, у которой знакимогут стоять только перед атомами.
Шаг 3. Переименование связных переменных.
Шаг 4. Вынесение кванторов с помощью формул (*).
После четвертого шага формула приобретает префиксный вид.
Сколемовская нормальная формула.
После того как кванторы вынесены в префиксную часть формулы, необходимо полностью исключить из предикатных формул кванторы, чтобы обеспечить возможность применения машинных процедур обработки предикатных формул. Но при исключении кванторов необходимо полностью сохранить семантику языка предикатов. Это можно сделать путем введения сколемовскихфункций.
Рассмотрим ППФ (y)(x)P(x,y) которую можно прочесть так: "Для всехyсуществует некоторыйx(возможно зависящий отy), такой, чтоP(x,y)". Поскольку квантор существования находится в области действия некоторого квантора общности, то допускаем возможность, что тотx, который существует, может зависеть отy. Пусть эта зависимость будет явно определена с помощью некоторой функцииf(y), отображающей каждое значениеyв тотx, который "существует". Еслиx, который существует, заменить на такую сколемовскую функцию, то квантор существования можно исключить и записать (y)P(f(y),y). Тот факт, что переменнаяxпроквантифицирована кванторомбудет отражен при подстановке функцииf(y) на местоx.
Общее правило исключения квантора существования из ППФ состоит в замене каждого вхождения переменной, относящейся к квантору существования, на сколемовскую функцию, аргументы которой являются переменными, связанными кванторами общности, и область действия этих кванторов общности включает область действия исключаемого квантора существования. Приоритетность действия кванторов, имеющихся в префиксной форме представления, определяется слева направо. Например, формулу (x)(y)(z)F(x,y,z) можно переписать в следующем виде (x)(z)F(x,f(x),z), так как переменной, влияющей на связанную кванторомпеременнуюy, является толькоx.
Если же исходная логическая формула имеет вид (x)(z)(y)F(x,y,z), то переменными, влияющими на переменную с квантором существования, являютсяxиzи тогда получаем (x)(z)F(x,f(x,z),z).
Если исключаемый квантор существования не входит в область действия никакого из кванторов общности, то применяется сколемовская функция без аргументов, т.е. просто константа. Так (x)P(x) становитсяP(A), где символ константыAиспользуется для ссылки на элемент, который, как известно, существует. Важно, чтобыAбыл новым символом константы и не совпадал с другими символами для других ППФ.
Если исключить подобным образом связанные квантором существования переменные, то любые другие переменные, которые встречаются в формуле будут связаны только квантором . Порядок кванторов общности роли не играет, поэтому можно не указывать явно вхождения кванторов, а предположить по соглашению, что все переменные относятся к кванторам общности.
