4.2. Язык логики предикатов

Определим синтаксис языка первого порядка. Алфавит языка первого порядка состоит из логических символов Ú, Ø, $, =, из символов переменных  и из нелогических символов. К логическим символам отнесём символы скобок и запятой. В качестве символов переменных будем использовать также x, y, z, u, v и т.д. Логические символы одинаковы для всех языков первого порядка. Нелогическими называются символы операций, символы предикатов и символы констант. Язык первого порядка L задаётся как множество нелогических символов. Если L = Æ, то L называется языком чистого равенства.

Каждому s Î L ставится в соответствие #(s) Î w. Если s – константа, то #(s) = 0. Если R – символ предиката, такого, что #(R) = n, то R называется символом n-местного предиката. Если f – символ операции, и #(f) = n, то f называется символом n-арной операции. Для предикатов и операций число #(R) (соответственно #(f)) больше 0, и оно называется местностью (соответственно арностью). Объединение множеств символов операций и констант составляет множество функциональных символов, позволяющее строить термы языка L на множестве .

К предикатам языка L мы всегда относим бинарный предикат  (равенство). Определим формулы языка L.

Атомной формулой языка L называется выражение вида: , где  – термы языка L, а R Î L – символ n-местного предиката. В частности, выражение  будет атомарной формулой для любых термов языка L. Множество всех формул языка L определяется как наименьшее множество выражений, которое содержит все атомные формулы и удовлетворяет условиям: если q и y – формулы, а x – переменная, то выражения , Øq, $xq  – формулы. Формулы q и y называются подформулами формулы , формула q – подформулой формул Øq  и $xq.

Будем предполагать, что другие логические связки служат сокращениям:

(q & y)       для Ø(Øq Ú Øy),

(q ® y)      для (Øq Ú y),

" x q          для Ø$ x Øq.

Формула   Øx = y   обычно записывается как  x ¹ y. Примеры формул:

" x $ y P (x, y, x È z),             $ x (y £ x ® y = x).

Замена переменных

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

" y (y = z) ® $ z (z < x)

первое вхождение переменной z свободно, а второе – связанное. Переменная x является свободной, а y – связанной. Формальное определение свободных и связанных переменных следующее:

1) все вхождения переменных в атомных формулах свободны;

2) свободные вхождения x в Øq есть в точности свободные вхождения x в q;

3) свободные вхождения x в  состоят из свободных вхождений x в q и свободных вхождений x в y;

1) если x и y – различные переменные, то свободные вхождения x в формулу $ y q соответствуют свободным вхождениям x в формулу q;

2) в формуле $ x q нет свободных вхождений переменной x.

Запись: q(x) указывает на то, что формула q содержит свободные вхождения переменной x. Если c – символ константы, то q(с) означает формулу, полученную заменой всех свободных вхождений x в q на с. Например, если q(x) = $y((y = x) & " x (x = y)), то q(c) = $y((y = c) & " x (x = y).

Мы пишем:  для указания того, что q содержит свободные переменные среди . Применяется запись:  для обозначения формулы, в которой все свободные вхождения каждой из переменных  формулы q заменяются на терм , . Таким образом, q(с) является сокращением обозначения q(х/с).

Формула, не содержащая свободных переменных, называется предложением.

Может случиться, что при замене переменной термом нарушается очевидный принцип, согласно которому замена переменной в равных формулах даёт равные формулы. Например, пусть t = f(y), q(z) = $y(y < z). Тогда после замены получаем: . С другой стороны, q(z) = $x(x < z), и, значит, . Получаем не равные формулы. Поэтому перед подстановкой терма  в формулу q(х) связанные переменные, содержащиеся в  будем переименовывать на символы, не встречающиеся в .

Другой выход следующий: терм t называется свободным для переменной x в формуле q(х), если никакое свободное вхождение x в q не лежит в области действия кванторов  и , где  входит в t. В этом случае замена q(х/t) допускается.

При подстановках констант противоречия не возникают.

Замечание. Применяемые в анализе и алгебре обозначения:  и  служат сокращениями соответственно формул  и . Например,  будет определяться формулой: .

Исчисление предикатов

Для того чтобы определить формальную теорию, связанную с языком первого порядка, введём логические аксиомы и правила вывода языка L. Логические аксиомы подразделяются на 3 группы:

1) Аксиомы предложений: всякая формула q языка L, которая может быт получена из некоторой тавтологии исчисления высказываний K (описанного в разд. 3 с помощью аксиом К1 – К10) в результате подстановки формул языка L на место высказывательных символов, есть логическая аксиома языка L. Всякая такая формула называется тавтологией языка первого порядка L.

2) Аксиомы кванторов

· если q и y – формулы языка L, то имеют место следующие аксиомы:

("x (q ® y)) ® (q ® "x y), если х не входит свободно в q;

("x (q ® y)) ® (($ x q) ® y), если х не входит свободно в y;

· для каждой формулы q(х) и терма t, свободного для x, имеют место кванторные аксиомы:

" х q(х) ® q(t);

q(t) ® $ х q(х).

3) Аксиомы равенства

t = t для любого терма t;

(t = s) & q(t) ® q(s), для любых формул q(х) и термов s, t, для которых х свободна в q, а s и t свободны для х (здесь q(t) означает формулу q(x/t)).

Правила вывода

(MP)      Из формул q и q ® y выводится y (Modus Ponens).

(Gen)     Из формулы q выводится " x q (правило обобщения).

Таким образом, определена формальная теория, (разд.3.4), в которой есть формулы, аксиомы и правила вывода. Эта теория называется исчислением предикатов L.

Запись:  å q означает, что существует вывод формулы q из логических аксиом и формул из множества å. Если Æ q, то q – теорема исчисления предикатов L. Множество å называется противоречивым, если для каждой формулы q языка L существует вывод:  å q. В противном случае å называется непротиворечивым. Предложение q называется непротиворечивым, если множество {q} непротиворечиво. Множество формул å называется максимально непротиворечивым, если оно не является собственным подмножеством некоторого непротиворечивого множества.

Легко доказать следующие свойства непротиворечивых множеств:

1) Множество å непротиворечиво, если и только если каждое его конечное подмножество непротиворечиво.

2) Пусть q – предложение. Тогда множество å È {q} противоречиво, если и только если å Øq.

3) Пусть å – максимально непротиворечивое множество. Тогда для любых предложений q и y имеет место:

(i) å q, если и только если q Î å;

(ii) q Ï å, если и только если Øq Î å;

(iii) (q & y) Î å, если и только если q Î å и y Î å;

4) Каждое непротиворечивое множество предложений содержится в некотором максимальном непротиворечивом множестве предложений.

Теорема (о непротиворечивости исчисления предикатов). Нет формул q исчисления предикатов L, для которых существуют выводы:  q  и  Øq.

Доказательство. Каждой формуле q поставим в соответствие формулу h(q) исчисления высказываний K, множество символов P которого состоит из предикатов RÎL. Формулу h(q) определим по индукции:

1)  для атомных формул;

2) ,          ,

,

,   для любых формул ;

3) h("xq) = h(q),         h($xq)  = h(q).

Для всякой логической аксиомы q формула h(q) будет тавтологией в K. Если бы для некоторой формулы q существовали выводы q и Øq, то формулы h(q) и Øh(q) были бы тавтологиями в исчислении высказываний. Поскольку исчисление высказываний непротиворечиво, это невозможно. Стало быть, нет формул q, для которых существуют выводы:   q  и Øq.