Опубликован: 24.04.2007 | Доступ: свободный | Студентов: 721 / 35 | Оценка: 4.60 / 4.30 | Длительность: 25:56:00
Специальности: Программист
Лекция 10:

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

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

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

Фиксируем некоторую сигнатуру \sigma. Пусть \Gamma — теория в сигнатуре \sigma, то есть произвольное множество замкнутых формул этой сигнатуры. Говорят, что теория \Gamma противоречива, если в ней выводится некоторая формула \varphi и ее отрицание \lnot\varphi. В этом случае из \Gamma выводится любая формула, так как имеется аксиома \lnot A \to (A \to B). Если теория \Gamma не является противоречивой, то она называется непротиворечивой.

99. Докажите, что теория противоречива тогда и только тогда, когда в ней выводится формула \varphi\land\lnot\varphi (здесь \varphi — произвольная формула сигнатуры).

Непосредственно из определения следует, что всякое подмножество непротиворечивого множества непротиворечиво. Кроме того, если бесконечное множество противоречиво, то некоторое его конечное подмножество тоже противоречиво (поскольку в выводе участвует лишь конечное число формул).

Синтаксическое понятие непротиворечивости мы будем сравнивать с семантическим понятием совместности. Пусть имеется некоторая интерпретация M сигнатуры \sigma. Напомним, что она называется моделью теории \Gamma, если все формулы из \Gamma истинны в M. Множество \Gamma называется совместным, если оно имеет модель, то есть если все его формулы истинны в некоторой интерпретации.

Теорема 45 (о корректности; переформулировка). Любое совместное множество замкнутых формул непротиворечиво.

Пусть все формулы из \Gamma истинны в некоторой интерпретации M. Может ли оказаться, что \Gamma\hm\vdash
\varphi и \Gamma\hm\vdash\lnot\varphi для некоторой замкнутой формулы \varphi? Легко понять, что нет. В самом деле, в этом случае теорема 44 показывает, что формулы \varphi и \lnot\varphi должны быть одновременно истинны в M, что, очевидно, невозможно.

Для доказательства обратного утверждения (о совместности непротиворечивой теории) нам понадобится понятие полной теории.

Непротиворечивое множество \Gamma, состоящее из замкнутых формул сигнатуры \sigma, называется полным в этой сигнатуре, если для любой замкнутой формулы \varphi этой сигнатуры либо формула \varphi, либо ее отрицание \lnot \varphi выводятся из \Gamma.

Другими словами, теория полна, если из любых двух формул \varphi и \lnot\varphi (соответствующей сигнатуры) ровно одна является теоремой этой теории.

Полное множество можно получить, взяв какую-либо интерпретацию и рассмотрев все замкутые формулы, истинные в этой интерпретации. (Впоследствии мы увидим, что любое полное множество может быть получено таким способом — это легко следует из теоремы 46.)

В определении полноты существенно, что мы ограничиваемся замкнутыми формулами той же сигнатуры. Например, если мы возьмем одноместный предикатный символ S, не входящий в \Gamma, то формулы из \Gamma про него ничего не утверждают, и потому, скажем, ни формула \forall x\, S(x), ни ее отрицание не выводимы из \Gamma. Замкнутость формулы \varphi тоже важна. Например, множество всех истинных в натуральном ряду формул сигнатуры ({=},{<}) полно, но ни формула x=y, ни формула x\ne y из него не выводятся, иначе по правилу обобщения мы получили бы ложную в \mathbb{N} формулу {\forall x\forall
y\, (x=y)} или {\forall x \forall y\, (x\ne y)}.

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

Теперь мы готовы к доказательству основного результата этого раздела.

Теорема 46 (полнота исчисления предикатов, сильная форма). Любая непротиворечивая теория совместна.

Напомним, как мы доказывали аналогичное утверждение для высказываний. Мы расширяли наше непротиворечивое множество \Gamma до полного множества \Gamma', а потом полагали пропозициональную переменную p истинной, если \Gamma'\vdash
p. Здесь этого будет недостаточно, как мы увидим (например, непонятно, откуда брать носитель искомой модели). Но начало рассуждения будет таким же.

Лемма 1. Для всякого непротиворечивого множества \Gamma замкнутых формул сигнатуры \sigma существует полное непротиворечивое множество \Gamma' замкнутых формул той же сигнатуры, содержащее \Gamma.

Доказательство повторяет рассуждение раздела "Второе доказательство теоремы о полноте": рассматривая по очереди замкнутые формулы, мы добавляем либо их, либо их отрицания в множество \Gamma.

Это можно сделать без труда для конечной или счетной сигнатуры (тогда множество всех замкнутых формул этой сигнатуры счетно); для общего случая надо воспользоваться трансфинитной индукцией или леммой Цорна, как объяснялось в разделе "Второе доказательство теоремы о полноте". Лемма 1 доказана.

Как же нам теперь построить модель полного множества \Gamma? Прежде всего надо решить, что будет носителем этой модели. Заметим, что в сигнатуре могут быть некоторые константы (функциональные символы валентности 0 ). Им должны соответствовать некоторые элементы носителя. Кроме того, замкнутым термам (которые не содержат никаких переменных, только константы) также должны соответствовать элементы носителя. Попробуем взять в качестве носителя как раз множество T всех замкнутых термов нашей сигнатуры. При этом понятно, как надо определять сигнатурные функции на этом множестве: функция, соответствующая символу f валентности k, отображает замкнутые термы t_1,\ldots,t_k в терм f(t_1,\dots,t_k). (Это определение никак не зависит от \Gamma.)

Предикаты на этом множестве определяем так: если Aпредикатный символ, а t_1,\dots,t_n — замкнутые термы, то предикат, соответствующий символу A, истинен на термах t_1,\dots,t_n, если формула A(t_1,\dots,t_n) выводима из \Gamma.

Тем самым интерпретация полностью описана, и мы хотели бы доказать, что все формулы из \Gamma в ней истинны. Мы будем доказывать по индукции такой факт: если \Gamma\hm\vdash\varphi, то формула \varphi истинна в построенной интерпретации, а если \Gamma\hm\vdash\lnot\varphi, то формула \varphi ложна.

Однако без дополнительных предположений о множестве \Gamma этот план обречен на неудачу, поскольку замкнутых термов может быть совсем мало (или даже вовсе не быть), в то время как соответствующая теория не имеет конечных моделей. Если начать индуктивное рассуждение, то выяснится, что трудность возникает в случае, когда формула \varphi начинается с квантора. Например, может оказаться, что формула \exists x\,A(x) выводима из множества \Gamma, в то время как ни для какого замкнутого терма t формула A(t) не выводима из \Gamma. Тогда формула \exists x\, A(x) будет ложной в описанной нами модели (хотя выводимой). Чтобы преодолеть эту трудность, мы наложим дополнительные требования на множество \Gamma.

Назовем теорию (множество замкнутых формул сигнатуры \sigma ) экзистенциально полной в сигнатуре \sigma, если для всякой замкнутой формулы \exists\xi\,\varphi сигнатуры \sigma, выводимой из \Gamma, найдется замкнутый терм t этой сигнатуры, для которого \Gamma\vdash \varphi(t/\xi).

Если множество \Gamma полно и экзистенциально полно, то описанная выше конструкция с замкнутыми термами дает его модель. Прежде чем проверять это, покажем, как расширить \Gamma до полного и экзистенциально полного множества. Ключевую роль здесь играет такая лемма: