Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки и исчисления_Верещагин_Шень.pdf
Скачиваний:
209
Добавлен:
12.06.2015
Размер:
1.55 Mб
Скачать

178

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

[гл. 4]

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

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

Фиксируем некоторую сигнатуру . Пусть ` | теория в сигнатуре , то есть произвольное множество замкнутых формул этой сигнатуры. Говорят, что теория ` противоречива, если в ней выводится некоторая формула ' и её отрицание ¬'. В этом случае из ` выводится

любая формула, так как имеется аксиома ¬A → (A → B).

Если теория ` не является противоречивой, то она называется непротиворечивой.

99. Докажите, что теория противоречива тогда и только тогда, когда в ней выводится формула ' ¬' (здесь ' |

произвольная формула сигнатуры).

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

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

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

C Пусть все формулы из ` истинны в некоторой интерпретации M. Может ли оказаться, что ` ` ' и ` ` ¬'

для некоторой замкнутой формулы '? Легко понять, что нет. В самом деле, в этом случае теорема 44 (с. 175) пока-

[п. 5]

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

179

зывает, что формулы ' и ¬' должны быть одновременно истинны в M, что, очевидно, невозможно. B

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

Непротиворечивое множество `, состоящее из замкнутых формул сигнатуры , называется полным в этой сигнатуре, если для любой замкнутой формулы ' этой сигнатуры либо формула ', либо её отрицание ¬' выво-

дятся из `.

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

является теоремой этой теории.

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

В определении полноты существенно, что мы ограничиваемся замкнутыми формулами той же сигнатуры. Например, если мы возьмём одноместный предикатный символ S, не входящий в `, то формулы из ` про него ничего не утверждают, и потому, скажем, ни формулаx S(x), ни её отрицание не выводимы из `. Замкнутость

формулы ' тоже важна. Например, множество всех истинных в натуральном ряду формул сигнатуры (= ; <) полно, но ни формула x = y, ни формула x =6 y из него

не выводятся, иначе по правилу обобщения мы получили бы ложную в N формулу x y (x = y) или x y (x 6= y).

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

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

180

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

[гл. 4]

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

C Напомним, как мы доказывали аналогичное утвер-

ждение для высказываний. Мы расширяли наше непротиворечивое множество ` до полного множества ` 0, а по-

том полагали пропозициональную переменную p истин- ной, если `0 ` p. Здесь этого будет недостаточно, как мы

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

Лемма 1. Для всякого непротиворечивого множества `

замкнутых формул сигнатуры существует полное непротиворечивое множество `0 замкнутых формул той же

сигнатуры, содержащее `.

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

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

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

Предикаты на этом множестве определяем так: если A | предикатный символ, а t1; : : : ; tn | замкнутые

[п. 5]

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

181

термы, то предикат, соответствующий символу A, истинен на термах t1; : : : ; tn, если формула A(t1; : : : ; tn) выводима из `.

Тем самым интерпретация полностью описана, и мы хотели бы доказать, что все формулы из ` в ней истинны. Мы будем доказывать по индукции такой факт: если ` `

` ', то формула ' истинна в построенной интерпретации, а если ` ` ¬', то формула ' ложна.

Однако без дополнительных предположений о множестве ` этот план обречён на неудачу, поскольку замкнутых термов может быть совсем мало (или даже вовсе не быть), в то время как соответствующая теория не имеет конечных моделей. Если начать индуктивное рассуждение, то выяснится, что трудность возникает в случае, когда формула ' начинается с квантора. Например, может оказаться, что формула x A(x) выводима из

множества `, в то время как ни для какого замкнутого терма t формула A(t) не выводима из `. Тогда формулаx A(x) будет ложной в описанной нами модели (хотя вы-

водимой). Чтобы преодолеть эту трудность, мы наложим дополнительные требования на множество `.

Назовём теорию (множество замкнутых формул сигнатуры ) экзистенциально полной в сигнатуре , если для всякой замкнутой формулы ' сигнатуры , выво-

димой из `, найдётся замкнутый терм t этой сигнатуры, для которого ` ` '(t= ).

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

Лемма 2. Пусть ` | непротиворечивое множество замкнутых формул, из которого выводится замкнутая формула '. Пусть c | константа, не встречающаяся

ни в `, ни в '. Тогда множество ` останется непротиворечивым после добавления формулы '(c= ).

(Замечание. Здесь и далее, говоря о непротиворечивости и выводимости, мы не уточняем, в какой сигнатуре

182

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

[гл. 4]

строятся выводы: все наши сигнатуры будут отличаться лишь набором констант, и лемма о добавлении констант на с. 177 даёт нам такое право.)

Доказательство леммы 2. Пусть ` становится противоречивым после добавления формулы '(c=). Отсюда следует (используем подходящую пропозициональную тавтологию), что отрицание этой формулы выводится из `, то есть выводима формула → ¬'(c=), где |

конъюнкция конечного числа формул из `. По лемме о свежих константах (с. 176) выводима формула → ¬'

(напомним, что c не входит ни в ', ни в ). Контрапозиция даёт формулу ' → ¬ , а правило Бернайса | фор-

мулу ' → ¬ . По предположению формула ' выво-

дима из `, и множество ` оказывается противоречивым. Лемма 2 доказана.

100. Докажите такое усиление леммы 2: при добавлении в ` формулы '(c= ) (в предположениях леммы) множество выводимых из ` формул исходной сигнатуры (без константы c) не меняется.

Лемма 3. Пусть ` | непротиворечивое множество замкнутых формул сигнатуры . Тогда существует расширение сигнатуры новыми константами и непро-

тиворечивое, полное и экзистенциально полное (в расширенной сигнатуре) множество ` 0 замкнутых формул,

содержащее `.

Доказательство. Пусть сигнатура конечна или счётна. Тогда замкнутых формул вида ', выводимых из `,

не более чем счётное число. К каждой из них по очереди будем применять лемму 2, вводя новую константу. Согласно этой лемме, на каждом шаге множество ` остаётся непротиворечивым, поэтому оно будет непротиворечивым и после добавления счётного числа формул (вывод противоречия затрагивает лишь конечное число формул).

Однако нельзя утверждать, что полученное множество будет экзистенциально полным в новой сигнатуре, поскольку про формулы вида ' с добавленными констан-

тами мы ничего не знаем. Пополним это множество, при-

[п. 5]

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

183

менив лемму 1, и повторим рассуждение: для каждой замкнутой выводимой формулы, начинающейся с квантора существования, введём новую константу и т. д.

Затем снова пополним его, снова добавим константы, снова пополним и так сделаем счётное число раз. Объединение всех полученных множеств будет непротиворечивым, полным и экзистенциально полным. В самом деле, оно непротиворечиво, так как противоречие должно выводиться из конечного числа формул (и поэтому должно появиться уже на конечном шаге). Оно полно: любая замкнутая формула ' содержит конечное число новых констант, поэтому на каком-то шаге пополнения она или её отрицание станут выводимыми. Наконец, построенное множество экзистенциально полно по той же причине: всякая формула содержит конечное число новых констант, потому на следующем шаге для неё предусмотрена своя константа.

Что меняется, если сигнатура несчётна? Тогда мы уже не можем рассматривать все экзистенциальные формулы по очереди, и надо обрабатывать их все сразу. При этом противоречие не появится: в самом деле, оно использовало бы лишь конечное число добавленных формул, а для конечного числа всё уже доказано.

После этого доказательство проходит как раньше (мы по-прежнему делаем счётное число чередующихся пополнений множества и расширений сигнатуры).

Лемма 3 доказана.

Последним шагом в доказательстве теоремы о полноте (всякое непротиворечивое множество замкнутых формул совместно) является такая лемма:

Лемма 4. Пусть ` | полное и экзистенциально полное множество замкнутых формул некоторой сигнатуры . Тогда существует интерпретация M сигнатуры , в которой истинны все формулы из `.

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

184

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

[гл. 4]

константы. (Такие термы существуют, поскольку теория ` экзистенциально полна.) Это множество будет носителем интерпретации.

Как интерпретировать функциональные символы, понятно (это не зависит от множества `): если символ f имеет валентность n, то ему соответствует функция, которая отображает n замкнутых термов t1; : : : ; tn в замкнутый терм f(t1; : : : ; tn). Константы (функциональные символы валентности 0) интерпретируются сами собой.

Интерпретация предикатных символов такова. Пусть A | предикатный символ валентности n. Чтобы узнать, истинен ли соответствующий ему предикат на замкнутых термах t1; : : : ; tn, надо составить атомарную формулу A(t1; : : : ; tn) и выяснить, что выводится из ` | сама эта формула или её отрицание. (Здесь мы используем полноту.) В первом случае предикат будет истинным, во втором | ложным.

Индукцией по числу логических связок и кванторов в замкнутой формуле ' сигнатуры докажем такое утверждение:

` ` ' ' истинна в M.

Для атомарных формул это верно по построению интерпретации M.

Для пропозициональных связок рассуждение ничем не отличается от приведённого в разделе 2.2. Нам нужно проверить, что выводимость из ` подчиняется тем же правилам, что и истинность:

`` ¬A ` 6`A;

`` A B ` ` A и ` ` B;

`` A B ` ` A или ` ` B;

`` A → B ` 6`A или ` ` B:

Все эти свойства несложно доказать. Первое из них выражает полноту (и непротиворечивость | напомним, что по определению полная теория всегда непротиворечива) множества `. Остальные свойства легко проверить, если

[п. 5] Полнота исчисления предикатов 185

иметь в виду, что все частные случаи пропозициональ-

ных тавтологий выводимы.

 

Пусть теперь формула ' имеет вид , где

|

формула с единственным параметром (или без параметров). Предположим, что она выводима из `. Тогда в силу экзистенциальной полноты найдётся константа c, для которой ` ` (c= ). Формула (c= ) имеет меньшее

число логических связок, поэтому к ней можно применить предположение индукции и заключить, что она истинна в M. Тогда формула истинна на оценке 7→c

(см. лемму 2 на с. 167 и замечание после неё), поэтому формула истинна в M.

Напротив, пусть формула истинна в M. Тогда

(по определению истинности) найдётся элемент (замкнутый терм) t, для которого истинна на оценке 7→t

и потому формула (t= ) истинна в M. По предположению индукции формула (t= ) выводима из `. Осталось воспользоваться тем, что формула (t= ) → являет-

ся аксиомой (напомним, подстановка замкнутого терма всегда корректна).

Наконец, рассмотрим случай, когда формула ' имеет вид . Пусть она выводима из `. Формула →

→ (t= ) является аксиомой для любого замкнутого тер-

ма t. Поэтому и формула (t= ) выводима из `. В ней меньше логических связок, чем в ', поэтому по предположению индукции она истинна в M. Значит, формула истинна на любой оценке 7→t, и потому формула

истинна в M.

Если формула не выводима из `, то из ` выводит-

ся её отрицание. Оно, как мы видели, доказуемо эквивалентно формуле ¬ . Поэтому в силу экзистенциальной

полноты выводима формула ¬ (c= ) для некоторой кон-

станты c. Эта формула истинна, поэтому ложна при некотором значении переменной , так что формула

ложна в M.

Таким образом, мы доказали, что всякое непротиворечивое множество замкнутых формул имеет модель (расширив его до полного и экзистенциально полного

186

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

[гл. 4]

множества, у которого есть модель из замкнутых термов). B

Анализ доказательства позволяет сделать такое наблюдение:

Теорема 47. Непротиворечивое множество замкнутых формул конечной или счётной сигнатуры имеет счётную модель.

C В самом деле, элементами построенной нами мо-

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

Аналогичное рассуждение с использованием свойств операций с мощностями (о которых можно прочесть в [ 6]) устанавливает такой факт:

Теорема 48. Всякое непротиворечивое множество формул сигнатуры имеет модель мощности max( 0; | |)

(где 0 обозначает счётную мощность, а | | | мощность

сигнатуры).

Кстати, при доказательстве теорем 47 и 48 можно было бы сослаться на теорему Левенгейма { Сколема об элементарной подмодели (построить модель произвольной мощности, а потом уменьшить, если надо).

Возвратимся теперь к исходной формулировке теоремы о полноте.

Теорема 49 (полнота исчисления предикатов, слабая форма). Всякая общезначимая формула выводима в исчислении предикатов.

C Пусть формула ' замкнута. Если она невыводима, то множество {¬'} непротиворечиво и потому совмест-

но. В его модели формула ' будет ложной, что противоречит предположению.

Что касается незамкнутых формул, то их общезначимость и выводимость равносильна общезначимости и выводимости их замыкания. B

Как и в разделе 2.2, из теоремы о полноте можно вывести такое следствие:

[п. 5]

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

187

Теорема 50 (компактность для исчисления предикатов) . Пусть ` | множество замкнутых формул некоторой сигнатуры, и любое его конечное подмножество имеет модель. Тогда и само множество ` имеет модель.

C В самом деле, по теореме о полноте (и корректно-

сти, если быть точным) наличие модели (совместность) равносильно непротиворечивости. А по определению противоречивость затрагивает лишь конечное число формул из `. B

101. Покажите, что теорема о полноте в сильной форме является следствием теоремы компактности и теоремы о полноте в слабой форме. (Указание: если множество ` не имеет модели, то его конечная часть не имеет модели, поэтому формула h : : : i общезначима, поэтому . . . )

Прямое доказательство теоремы компактности (без использования понятия выводимости) мы дадим в следующей главе (раздел 5.6).

Ещё один важный результат, вытекающий из теоремы о полноте | совпадение синтаксического понятия выводимости и семантического понятия следования. Пусть дана некоторая сигнатура . Рассмотрим множество ` замкнутых формул этой сигнатуры (такие множества мы называем теориями в сигнатуре ) и ещё одну замкнутую формулу '. Говорят, что ' семантически следует из `, если ' истинна во всякой модели теории `, то есть во всякой интерпретации сигнатуры , где истинны все формулы из `. (Обозначение: ` '.)

Теорема 51.

` ` ' ` ':

C Если ` ` ', то ` ' (как мы видели в теореме 44

на с. 175).

Напротив, пусть ' не выводима из `. Тогда теория ` {¬'} непротиворечива и (в силу теоремы о полноте)

имеет модель. Значит ' не следует из `. B

102. Какими нужно взять ' и ` в этой теореме, чтобы получить приведённые ранее формулировки теоремы о полноте?