Gustavo Pineiro - У интуиции есть своя логика. Гёдель. Теоремы о неполноте.
Так мы дошли до синтаксической формулировки первой теоремы Гёделя о неполноте:
если множество арифметических аксиом непротиворечиво и позволяет доказать все финитные истинные высказывания, то оно неполное, то есть существует такое высказывание G, что ни Gy ни не-G (ни одно из двух) недоказуемо. (Мы все время помним, что допускаются только доказательства, проверяемые алгоритмически.)
В этой версии теоремы появляются только синтаксические понятия ("непротиворечивый", "неполный", "высказывание" и "доказуемый"). Понятие "истинность" связано с финитными высказываниями, то есть появляется в более ограниченной, синтаксической версии.
Эту синтаксическую формулировку Гёдель представил в своей статье 1931 года, и синтаксическими также были аргументы, которые он использовал для доказательства. Далее вспомним рассмотренное в предыдущей главе доказательство и посмотрим, как его можно реализовать на основе исключительно синтаксических аргументов.
— Шаг 1. Предположим, что у нас есть непротиворечивое множество арифметических аксиом, позволяющих доказать все финитные истинные высказывания (мы не указываем на то, что это истинные высказывания, поскольку апеллируем только к синтаксическим понятиям). Нам нужно доказать, что существует такое высказывание G, что ни Gy ни не-G недоказуемы. Как мы увидели в предыдущей главе, каждому высказыванию и каждой пропозициональной функции назначается код (или число Гёделя), но сейчас мы должны подчеркнуть, что назначение происходит чисто синтаксически, на основе символов, образующих высказывание или функцию, вне зависимости от того, каково их значение. Точно так же, синтаксически, назначается код каждой последовательности высказываний и, в частности, каждому доказательству.
— Шаг 2: Гёдель доказал, что пропозициональная функция
"у — код доказательства высказывания с кодом х"
может быть представлена как арифметическое свойство, связывающее числа х и у. Кроме того, он доказал, что какими бы ни были числа n и r, высказывание
"я — код доказательства высказывания с кодом r"
всегда финитно.
— Шаг 3: Гёдель определил пропозициональную функцию
"Не существует у, которое было бы кодом доказательства высказывания с кодом х".
— Шаг 4: Гёдель определил диагональную функцию. Если n — код пропозициональной функции Р(х), то d(n) — код Р(n). Следовательно, определение диагональной функции, которое основывается на механизме назначения кодов, синтаксическое.
— Шаг 5: На основе шагов 3 и 4 метод самореференции позволил Гёделю записать высказывание G:
"Не существует у, которое было бы кодом доказательства высказывания с кодом m",
код которого — само число m.
— Шаг 6: Теперь докажем синтаксически, что G недоказуемо. Предположим, от противного, что G доказуемо.
Тогда существует доказательство G, и ему соответствует код, к примеру k. Следовательно, высказывание
"k — код доказательство высказывания с кодом m"
истинное (поскольку m — код G, a k — код доказательства G) и, кроме того, финитное, поскольку можно проверить его истинность за конечное число шагов (можно проверить алгоритмически, что k — действительно код доказательства G). Так как оно финитное и истинное, то, по гипотезе, высказывание доказуемо. Тогда одно из правил логики позволяет нам сделать вывод, что также доказуемо высказывание
"Существует у, являющееся кодом доказательства высказывания с кодом т".
Схема доказательства того, что G недоказуемо.
Мы исходим из предположения, что G доказуемо. Стрелки показывают последовательные выводы, которые получаются из этого предположения, пока мы не приходим к заключению, что отрицание G также доказуемо. Это содержит противоречие, следовательно G не может быть доказуемо.
Если сравнить последнее высказывание с тем, как мы формулировали G, оказывается ясным, что оно соответствует не-G. Получается, мы говорим, что G и не-G одновременно доказуемы. Мы пришли к противоречию. Оно возникает из предположения, что G доказуемо, следовательно делаем вывод: G недоказуемо (см. схему на предыдущей странице).
— Шаг 7: Теперь докажем, что не-G также недоказуемо. Снова сделаем это от противного. Предположим, что не-G доказуемо, и придем к противоречию. Так как множество аксиом непротиворечиво, если не-G доказуемо, то G не может быть доказуемым.
ОМЕГА-НЕПРОТИВОРЕЧИВОСТЬКогда мы показали, что высказывание не-G недоказуемо, мы основывались на том факте, что если для свойства Р верно
высказывание "1 не удовлетворяет свойству Р" доказуемо,
высказывание "2 не удовлетворяет свойству Р" доказуемо,
высказывание "3 не удовлетворяет свойству Р" доказуемо
...и так далее,
то высказывание "существует некое х, удовлетворяющее свойству Р" недоказуемо. Но так ли это? Сначала рассмотрим этот вопрос семантически. Предположим, что Р — арифметическое свойство, для которого выполняется:
высказывание "1 не удовлетворяет свойству Р" истинно,
высказывание "2 не удовлетворяет свойству Р" истинно,
высказывание "3 не удовлетворяет свойству Р" истинно
...и так далее,
то есть для любого числа л справедливо, что свойство Р не выполняется. Тогда ясно, что высказывание "существует некоторый х, для которого выполняется свойство Р" ложно (поскольку мы сказали, что ни для 1, ни для 2, ни для 3 и так далее свойство не выполняется). Но оно ложно, если мы говорим о мире натуральных чисел, и может быть истинным, когда говорим о другом мире. Например, если свойство Р — это "х² = 2", а мы говорим о мире чисел, образованных на основе √2, то для 1 свойство не выполняется, как и для 2, 3 и так далее. Но для √2 свойство Р выполняется. Что же происходите синтаксической точки зрения? Рассмотрим снова свойство Р, но теперь предположим, что:
"1 не удовлетворяет свойству Р" доказуемо,
"2 не удовлетворяет свойству Р" доказуемо,
"3 не удовлетворяет свойству Р" доказуемо
...и так далее.
Верно ли, что "существует некоторое х, которое удовлетворяет свойству Р" недоказуемо? Поскольку в некоторых мирах это истинно, мы не можем точно утверждать, что это никогда не будет доказуемо. В доказательстве того, что не-G недоказуемо, имеется логический пробел, поскольку мы не можем утверждать, что это высказывание не окажется доказуемым. Чтобы справиться с этой проблемой, Гёдель ввел синтаксическое понятие омега-непротиворечивости. Множество аксиом омега-непротиворечиво, если притом что каждое из высказываний "1 не удовлетворяет свойству Р", "2 не удовлетворяет свойству Р", и так далее доказуемо, "существует некоторый х, который удовлетворяет свойству Р" недоказуемо (в какой-то степени это синтаксически вынуждает считать, что мы имеем в виду мир натуральных чисел). Следовательно, в начало синтаксического изложения первой теоремы Гёделя, где говорится, что множество аксиом непротиворечиво, следовало бы добавить "омега-непротиворечиво".
Вклад РоссераК счастью, в 1936 году американский логик Джон Б. Россер в статье объемом всего две страницы изменил рассуждение Гёделя так, чтобы оно было справедливо и при гипотезе непротиворечивости. Благодаря Россеру в изложении теоремы Гёделя можно опустить упоминание омега-непротиворечивости, и она может быть записана в том виде, в каком мы привели ее в тексте. Изменение, внесенное Россером в рассуждение Гёделя, состояло в том, чтобы заменить самореферетное высказывание "это высказывание недоказуемо" другим: "если это высказывание доказуемо, то также доказуемо и его отрицание".
Это означает, что не существует доказательства G; следовательно, ни одно число не является кодом доказательства G: число 1 — не код доказательства G, так же как 2,3 и так далее.
Получается, что высказывания
"1 — не код доказательства высказывания с кодом m",
"2 — не код доказательства высказывания с кодом m", "k — не под доказательства высказывания с кодом т" и так далее являются финитными истинными высказываниями. Раз они финитные и истинные, они доказуемы. Следовательно,
"существует у, являющееся кодом доказательства высказывания с кодом m" недоказуемо. Но это высказывание — не-G, следовательно, не-G не будет доказуемым; однако это противоречит предположению того, что не-G доказуемо. От противного получили, что не-G в итоге недоказуемо (см. схему).
Итак, синтаксически доказано, что как G, так и не-G, ни одно из двух, недоказуемо. Таким образом, доказательство первой теоремы о неполноте может быть полностью переведено в синтаксические аргументы и понятия, как этого требует программа Гильберта. Этот способ представления доказательства, основанный исключительно на синтаксических аргументах, проверяемых механически, спас от любых споров.