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

Исчисление высказываний

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >

Второе доказательство теоремы о полноте

Это доказательство, в отличие от предыдущего, обобщается на более сложные случаи (исчисление предикатов, интуиционистское исчисление высказываний).

Начнем с такого определения: множество формул \Gamma называется совместным,если существует набор значений переменных, при которых все формулы из \Gamma истинны. Заметим, что формула \varphi является тавтологией тогда и только тогда, когда множество, состоящее из единственной формулы \lnot \varphi, не является совместным. Для случая одной формулы есть специальный термин: формула \tau выполнима, если существуют значения переменных, при которых она истинна, то есть если множество \{\tau\} совместно. Тавтологии — это формулы, отрицания которых не выполнимы.

Множество формул \Gamma называется противоречивым, если из него одновременно выводятся формулы A и \lnot A. Мы знаем, что в этом случае из него выводятся вообще все формулы. (В противном случае \Gamma называется непротиворечивым.)

Теорема 19 (корректность исчисления высказываний, вторая форма). Всякое совместное множество формул непротиворечиво.

В самом деле, пусть совместное множество \Gamma противоречиво. Так как оно совместно, существуют значения переменных, при которых все формулы из \Gamma истинны. С другой стороны, из \Gamma выводится некоторая формула B и ее отрицание. Может ли так быть?

Оказывается, что нет. Мы уже видели, что всякая выводимая формула истинна при всех значениях переменных (является тавтологией). Справедливо и несколько более общее утверждение: если \Gamma\vdash A и при некоторых значениях переменных все формулы из \Gamma истинны, то и формула A истинна при этих значениях переменных. (Как и раньше, это легко доказывается индукцией по построению вывода A из \Gamma.)

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

Мы называем это утверждение другой формой теоремы о корректности исчисления высказываний, поскольку из него формально можно вывести, что всякая теорема является тавтологией: если A — теорема, то множество \{\lnot A\} противоречиво (из него выводятся A и \lnot A ), потому несовместно, значит, \lnot A всегда ложна, поэтому A всегда истинна.

Теорема 20 (полнота исчисления высказываний, вторая форма). Всякое непротиворечивое множество совместно.

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

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

Если оказалось так, что для любой переменной p либо она сама, либо ее отрицание выводятся из \Gamma, то выполняющий набор значений определен однозначно, и надо только проверить, что он действительно будет выполняющим. А если для каких-то переменных нельзя вывести ни их, ни их отрицание, то мы пополним наш набор \Gamma так, чтобы они, как теперь модно говорить, "определились".

Проведем это рассуждение подробно. Рассмотрим все переменные, входящие в какие-либо формулы из множества \Gamma ; обозначим множество этих переменных через V. Зафиксируем это множество и до конца доказательства теоремы о полноте будем рассматривать только формулы с переменными из множества V, не оговаривая этого особо.

Назовем непротиворечивое множество \Gamma полным, если для любой формулы F имеет место либо \Gamma\vdash F, либо \Gamma\vdash \lnot F (одновременно этого быть не может, так как \Gamma непротиворечиво).

Утверждение теоремы о полноте очевидно следует из двух лемм:

Лемма 1. Всякое непротиворечивое множество \Gamma содержится в непротиворечивом полном множестве \Delta.

Лемма 2. Для всякого непротиворечивого полного множества \Delta существует набор значений переменных (из V, напомним), при котором все формулы из \Delta истинны.

Доказательство леммы 1. Основную роль здесь играет такое утверждение: если \Gamma — непротиворечивое множество, а A — произвольная формула, то хотя бы одно из множеств \Gamma\cup\{A\} и \Gamma\cup\{\lnot A\} непротиворечиво. В самом деле, если оба множества \Gamma\cup\{A\} и \Gamma\cup\{\lnot A\} противоречивы, то \Gamma\vdash\lnot A и \Gamma\vdash\lnot\lnot A, но множество \Gamma предполагалось непротиворечивым.

Если множество переменных V конечно или счетно, то доказательство леммы 1 легко завершить: множество всех формул тогда счетно, и просматривая их по очереди, мы можем добавлять к \Gamma либо саму формулу, либо ее отрицание, сохраняя непротиворечивость. Получится, очевидно, полное множество. Чуть менее очевидна его непротиворечивость: оно было непротиворечиво на каждом шаге, но почему предельное множество (объединение возрастающей последовательности) будет непротиворечиво? Дело в том, что в выводе двух противоречащих друг другу формул может быть задействовано только конечное число формул из \Gamma (по определению выводимости: вывод есть конечная последовательность формул). Поэтому все эти формулы должны появиться на некотором конечном шаге конструкции, а это невозможно (на всех шагах множество непротиворечиво).

Для случая произвольного набора переменных V рассуждение можно завершить ссылкой на лемму Цорна: рассмотрим частично упорядоченное множество, элементами которого будут непротиворечивые множества формул, а порядком — отношение "быть подмножеством". Рассуждение предыдущего абзаца показывает, что всякая цепь в этом множестве имеет верхнюю границу (объединение линейно упорядоченного по включению семейства непротиворечивых множеств является непротиворечивым множеством). Следовательно, для любого непротиворечивого множества найдется содержащее его максимальное непротиворечивое множество. А оно обязано быть полным (иначе его можно расширить, добавив A или \lnot A ).

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

Доказательство леммы 2. Пусть \Gamma — непротиворечивое полное множество. Тогда для каждой переменной (из множества V ) ровно одна из формул p и \lnot p выводима из \Gamma. Если первая, будем считать переменную p истинной, если вторая — ложной. Тем самым появляется некоторый набор \nu значений переменных, и надо только проверить, что любая формула из \Gamma при таких значениях переменных истинна. Это делается так: индукцией по построению формулы A мы доказываем, что

\begin{align*}
A\text{ истинна на наборе }\nu&\Rightarrow\Gamma\vdash A,\\
A\text{ ложна на наборе }\nu&\Rightarrow\Gamma\vdash\lnot A.
\end{align*}
Базис индукции (когда Aпеременная) обеспечивается определением истинности переменных. Для шага индукции используется та же лемма, что и при доказательстве полноты с помощью разбора случаев. Пусть, например, A имеет вид (B\land C). Тогда есть четыре возможности для истинности B и C. В одном из них (когда B и C истинны на \nu ) по предположению индукции мы имеем \Gamma\vdash B и \Gamma\vdash C, откуда \Gamma\vdash (B\land C), то есть \Gamma\vdash A. В другом ( B истинна, C ложна) предположение индукции дает \Gamma\vdash B и \Gamma\vdash \lnot C, откуда \Gamma\vdash\lnot(B\land C), то есть \Gamma\vdash\lnot A. Аналогично разбираются и все остальные случаи и логические связки. Лемма 2 доказана, и тем самым завершено доказательство теоремы 20.

Мы доказали, что всякое непротиворечивое множество формул совместно. Отсюда легко следует, что всякая тавтология является теоремой. В самом деле, если \varphiтавтология, то множество \{\lnot\varphi\} несовместно, поэтому из \lnot\varphi выводится противоречие, поэтому \vdash \lnot\lnot\varphi, и по закону снятия двойного отрицания \vdash\varphi.

Кроме того, теорема о полноте во второй формулировке имеет такое очевидное следствие:

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >