Алгоритмическая неразрешимость проблемы проверки общезначимости формул в ИП в общем случае, следующая из теоремы Чёрча, не означает полную бесперспективность применения к анализу формул ИП универсальных разреша-ющих алгоритмов. Проблема заключается в том, что в слу-чае применения таких алгоритмов к произвольной формуле А могут возникнуть три возможных ситуации:
а) алгоритм подтверждает общезначимость А,
б) алгоритм работает теоретически бесконечно долго при наличии общезначимости у А,
в) алгоритм работает теоретически бесконечно долго при наличии невыполнимости А.
В первом случае алгоритм решает задачу, во втором и третьем - нет.
Начало конструированию разрешающих алгоритмов было положено Эрбраном, который предложил в 30-х годах ХХ века теоретически правильный алгоритм построения ин-терпретаций, опровергающих рассматриваемую формулу. В нем доказательство общезначимости формулы А сводится к доказательству невыполнимости ее отрицания В=Ø А. Основная идея алгоритма заключается в том, что невыпол-нимость формулы В, заменённой матрицей скулемовской формы, проверяется на одной специальной предметной области - эрбрановском универсуме, который строится по В и описывает все возможные варианты значений термов, которые могут входить в неё (с точностью до обозначений). Поскольку такие области в большинстве случаев бесконеч-ны, то проверку общезначимости формул на них алгоритм теоретически никогда бы не закончил. Проверка невыпол-нимости (если таковая имеет место) теоретически должна
|
|
заканчиваться за конечное число шагов.
Матрица скулемовской формы является конъюнкцией дизъюнктов вида:
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¥ = {а}.
Пример 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))}.