Полнота теории первого порядка

Кроме исчисления предикатов существуют другие формальные теории, связанные с языком первого порядка. Мы рассмотрим исчисление предикатов. Наиболее простая из них – исчисление ММ. Логические аксиомы в этой системе – предложения q, истинные в любой модели языка первого порядка L. Правило вывода одно – Modus Ponens. Мы будем опираться далее на равносильность этой формальной теории исчислению предикатов, которая в действительности вытекает из теоремы Гёделя о полноте исчисления предикатов.

Теорема о полноте теории первого порядка. Пусть заданы произвольные множества предложений å и предложение q языка L. Вывод å q существует тогда и только тогда, когда каждая модель теории å удовлетворяет предложению q .

Доказательство. В случае å q и A |= å утверждение A |= q доказывается очевидным образом с помощью индукции по длине вывода å q (теорема о корректности). Пусть, наоборот, каждая модель A |= å удовлетворяет q. Так как всякая модель å является моделью для q, то множество предложений å È {Øq} не имеет моделей. По теореме компактности существует такое конечное подмножество {q1, …, qn} Í å, что {q1, …, qn, Øq} не имеет моделей. Отсюда Ø (q1 & … & qn & Øq) – тавтология исчисления ММ. Значит, имеет место логическая аксиома: q1 ® (q2 ® (… ® (qn ® q) …))), из которой будет вытекать вывод: å q.

Упрощение формул

Наша задача: привести произвольную формулу к бескванторной форме. Это можно решить приведением к пренексной нормальной форме с последующей элиминацией кванторов и расширением исходного языка.

Пренексная нормальная форма

Формула Q1y1Q2y2 … Qnyn q, где – Qi кванторы, а q не имеет кванторов, называется пренексной (или предваренной) нормальной формой. Существует эффективная процедура приведения формулы к пренексной нормальной форме. Она основана на следующих далее правилах преобразования, вытекающих из логических аксиом исчисления предикатов.

Обозначим "¢ = $, $¢ = ". Имеет место эквивалентность формул ØQxq º Q¢xØq. При условии, что переменная х не входит свободно в формулу y, верны равенства:

1) Qxq & y º Qx(q & y);

2) Qxq Ú y º Qx(q Ú y);

3) (y ® Qxq) º Qx(y ® q);

4) (Qxq ® y) º Q¢x(q ® y);

Имеет место эквивалентность формул:

5) Qxq º Qyq(x/y)

Пример 1

Найдём пренексную нормальную форму формулы $xq « y, где q и y не содержат кванторов, и х не входит свободно в y. Представим её как

($xq ® y) & (y ® $xq).

С помощью равенств 3 – 4 она приводится к виду:

"x(q ® y) & $x(y ® q).

С помощью равенства 1 – к виду: "x((q ® y) & $x(y ® q)).

С помощью равенства 5 – к виду: "x((q ® y) & $y(y ® q(y/x))),

где y не входит в преобразуемую формулу. Снова из равенства 1 получаем:

"x$y((q ® y) & (y ® q(y/x))).

Элиминация кванторов

По пренексной нормальной форме q строится формула q*, не содержащая кванторов. Кванторы всеобщности удаляются, а кванторы существования заменяются на функциональные символы, добавляемые к языку:

$yq(y, x1, …, xn) переходит в q(f(x1, …, xn), x1, …, xn), и операция f добавляется к языку.


Пример 2

Пусть q º$x1 "x2 "x3 $x4 $x5 "x6 y(x1, x2, x3, x4, x5, x6). Выполним действия для приведения к бескванторной форме:

1) удалим $x1 и заменим x1 константой b1:

"x2 "x3 $x4 $x5 "x6 y(b1, x2, x3, x4, x5, x6);

2) удалим два квантора всеобщности:

$x4 $x5 "x6 y(b1, x2, x3, x4, x5, x6);

3) удалим квантор существования и к L добавим символ операции x4 = f(x2, x3):

$x5 "x6 y(b1, x2, x3, f(x2, x3), x5, x6);

4) удалим квантор существования и к L добавим символ операции x5 = g(x2, x3):

"x6 y(b1, x2, x3, f(x2, x3), g(x2, x3), x6);

5) удалим квантор всеобщности:

q¢¢ = y(b1, x2, x3, f(x2, x3), g(x2, x3), x6).

Полученная формула определена в языке L¢¢ = L È {b1, f, g}.

Пусть å – множество предложений в языке L. Обозначим через q¢¢ формулу, полученную из предложения q приведением к пренексной нормальной форме с последующей элиминацией кванторов и преобразованием языка L. Положим . Пусть в результате преобразований формул q Î å в q¢¢ мы пришли к расширенному языку L¢¢.