
- •6. Проблема разрешимости. Теория автоматического вывода
- •6.1. Пренексная нормальная форма
- •1. Исключить из а все логические связки ““ (эквива-лентность).
- •2. Исключить из а все логические связки “ “ (импли-кация).
- •3. Внести отрицание ( ) вглубь формулы.
- •4. Вынести кванторы в начало формулы. Для этого используются законы
- •5. Раскрыть в матрице все конъюнкции, содержащиеся внутри дизъюнкций.
- •6.2. Скулемовская форма
- •6.3. Эрбрановский универсум и базис.
- •По индукции можно строго доказать, что
- •6.4. Семантические деревья. Теорема Эрбрана
- •6.5. Метод резолюций
- •6.5.1. Метод резолюций в исчислении высказываний
- •6.5.2 Операции подстановки, унификации и склейки
- •6.5.3. Правило и метод резолюции в теориях первого порядка
- •Заключение к разделу “математическая логика”
6.2. Скулемовская форма
Допустим, некоторая формула представлена в ПНФ c матрицей в виде конъюнкции дизъюнкций:
А =(Q1 (x1) Q2 (x2)...Qn (xn))(D1 & D2 &...& Dk ).
Пусть Qr - первый слева квантор существования, т.е. перед ним стоят только кванторы всеобщности: Q1 = ... = Qr -1 = . Операция замены квантора существования заклю-чается в следующем.
1) Исключаем из префикса хr .
2) Вместо него вводим ранее не встречавшийся в формуле символ функциональной переменной f и рассматриваем функцию f(x1,x2,...,xr -1), которую подставляем в матрицу вместо всех вхождений переменной хr .
Замечание. Если r =1, то вместо переменной хr в мат-рицу подставляем константу (функцию, которая не зависит ни от одной переменной).
Определение. Описанная выше операция называется заменой квантора существования. Вводимые при этом функ-ции и константы называют скулемовскими, а получаемая после выполнения всех замен квантора существования (сле-ва направо) формула называется стандартной формой Ску-лема.
Смысл операции замены квантора существования за-ключается в следующем: поскольку он предписывает пере-менной хr пробегать не все возможные значения в области изменения, а только некоторые их них, то действие кванто-ра существования в общем случае можно заменить некото-рой функцией, определенной на полной области изменения. При переходе к скулемовской форме нарушается эквива-лентность исходной формулы, однако сохраняется свойст-во невыполнимости.
219
Теорема. Формула А невыполнима тогда и только тогда, когда её стандартная форма Скулема невыполнима.
Пример 1. Привести к стандартной форме Скулема формулу из п.6.1.
Решение. Поскольку префикс формулы не содержит кванто-ров всеобщности, то при замене обоих кванторов х и y в матрицу необходимо подставить скулемовские константы. Обозначим их, соответственно, а и b. Итоговое выражение имеет вид:
S(А)= (( Р(а) Q(z, b) Р(z)) & ( Р(а) Р(z) Q(z, b))).
Пример 2. Привести к стандартной форме Скулема формулу А = хуzР(х, y, z).
Решение. Выполняя замены: x a, z f( y ), получим: S(А) = уР(a, y, f(y)).
Скулемовская форма не содержит кванторов суще-ствования. Все переменные в ней управляются кванторами всеобщности либо свободны. Такая формула невыпол-нима тогда и только тогда, когда невыполнима и формула, не содержащая кванторов. В частном случае для матрицы скулемовской формы, не содержащей функциональных сим-волов, доказательство сводится к доказательству невыпол-нимости обычной формулы ИВ.
Задачи.
1. Привести к стандартной форме Скулема формулы:
а) x (A(х, y) &y B(x, y)); б) xy z u A(х, y, z, u) yB(x, y, z); в) xy A(x, y) & x z B(х, y, z); г) xy A(x, y, z) xy B (х, y, u); д) xy ( Р(х, y) & Q(x) ) yR(x, y, z); е) x y z u R (х, y, z, u) z C(z)); ж)xy A (x, y) & x z B (х, y, z); з) xy A(x, y, z) xy B (х, y).
220
6.3. Эрбрановский универсум и базис.
Н-интерпретации
Алгоритмическая неразрешимость проблемы проверки общезначимости формул в ИП в общем случае, следующая из теоремы Чёрча, не означает полную бесперспективность применения к анализу формул ИП универсальных разреша-ющих алгоритмов. Проблема заключается в том, что в слу-чае применения таких алгоритмов к произвольной формуле А могут возникнуть три возможных ситуации:
а) алгоритм подтверждает общезначимость А,
б) алгоритм работает теоретически бесконечно долго при наличии общезначимости у А,
в) алгоритм работает теоретически бесконечно долго при наличии невыполнимости А.
В первом случае алгоритм решает задачу, во втором и третьем - нет.
Начало конструированию разрешающих алгоритмов было положено Эрбраном, который предложил в 30-х годах ХХ века теоретически правильный алгоритм построения ин-терпретаций, опровергающих рассматриваемую формулу. В нем доказательство общезначимости формулы А сводится к доказательству невыполнимости ее отрицания В= А. Основная идея алгоритма заключается в том, что невыпол-нимость формулы В, заменённой матрицей скулемовской формы, проверяется на одной специальной предметной области - эрбрановском универсуме, который строится по В и описывает все возможные варианты значений термов, которые могут входить в неё (с точностью до обозначений). Поскольку такие области в большинстве случаев бесконеч-ны, то проверку общезначимости формул на них алгоритм теоретически никогда бы не закончил. Проверка невыпол-нимости ( если таковая имеет место) теоретически должна
221
заканчиваться за конечное число шагов.
Матрица скулемовской формы является конъюнкцией дизъюнктов вида:
M = D1 & D2 & ... &Dk .
Очевидно, матрица М опровержима (невыполнима) тогда и только тогда, когда на любой интерпретации I опровержим хотя бы один из дизъюнктов Di , входящих в неё.
Обозначим множество дизъюнктов, входящих в мат-рицу, через S : S = {D1 , D2 , . . . ,D k }.
Обозначим множество всех констант, входящих в S, через {СS}. Множество символов функциональных пере-менных, входящих в S, - через { FS} .
Эрбрановский универсум, соответствующий множест-ву дизъюнктов S, обозначим через H(S). Он строится сле-дующим образом:
0. Множество нулевого уровня H0={СS} .
1. Через FS (H0) обозначим результат всех возможных под-становок констант, содержащихся в H0 , в функции из {FS}. Множество первого уровня H1 = H0 FS (H0 ).
...
i. FS (Hi-1 ) - результат всех возможных подстановок кон-стант из Hi-1 в функции из {FS }. Множество i-го уровня Hi = Hi-1 FS (Hi-1 ).
В пределе получаем: H(S) = H .
Эрбрановский универсум как бы моделирует все воз-можные значения термов, входящие в S (с точностью до обозначений).
Пример 1. Построить эрбрановский универсум H(S), соответствующий множеству дизъюнктов S = {P(a),P(x)}.
Решение. {СS}= {а}, { FS}= {} . H0={СS}= {а}, так как {FS} = {} , то H0 = H1 = ... = H = {а}.
222
Пример 2. Построить эрбрановский универсум H(S), соответствующий множеству дизъюнктов S = {P(a), P(x) Q(f(x))}.
Решение. {СS}= {а}, { FS}= {f} .
1. H0={СS}= {а}.
2. FS (H0 ) = {f(a)} . H1 = {a} {f(a)}= {a , f(a)}.
3. FS (H1 ) = {f(a), f(f(a))} . H2 = {a , f(a)} {f(a), f(f(a))} = {a, f(a), f(f(a))}.