У интуиции есть своя логика. Гёдель. Теоремы о неполноте.
Шрифт:
Напротив, для высказывания "43 является суммой или разностью трех последовательных простых чисел" тот факт, что мы говорим о сумме или разности, предполагает: задействованные простые числа могут быть настолько большими, насколько мы захотим. Поиск простых чисел потенциально бесконечен, поэтому высказывание не финитное.
Утверждение о том, что любое четное число является суммой двух простых, известно как гипотеза Гольдбаха. Он сформулировал ее в 1742 году в письме знаменитому швейцарскому математику Леонарду Эйлеру (1707-1783).
До сих пор неизвестно, верна ли эта гипотеза. Она выполняется для
Итак, если мы предложим множество аксиом арифметики, то наименьшее, чего мы можем от него требовать — это способности доказать все финитные истинные высказывания. Следует заметить: во всем, что мы только что сказали, слово "истинное" связано с финитными высказываниями. В этом ограниченном контексте "истинное" и "ложное" становятся синтаксическими условиями, поскольку они проверяются механически за конечное число шагов. С точки зрения синтаксиса программа Гильберта предполагала нахождение непротиворечивого и полного множества аксиом арифметики, которое было бы способно доказать все финитные истинные высказывания. В первой теореме Гёделя о неполноте доказывается как раз то, что эта цель недостижима.
Так мы дошли до синтаксической формулировки первой теоремы Гёделя о неполноте:
если множество арифметических аксиом непротиворечиво и позволяет доказать все финитные истинные высказывания, то оно неполное, то есть существует такое высказывание G, что ни Gy ни не-G (ни одно из двух) недоказуемо. (Мы все время помним, что допускаются только доказательства, проверяемые алгоритмически.)
В этой версии теоремы появляются только синтаксические понятия ("непротиворечивый", "неполный", "высказывание" и "доказуемый"). Понятие "истинность" связано с финитными высказываниями, то есть появляется в более ограниченной, синтаксической версии.
Эту синтаксическую формулировку Гёдель представил в своей статье 1931 года, и синтаксическими также были аргументы, которые он использовал для доказательства. Далее вспомним рассмотренное в предыдущей главе доказательство и посмотрим, как его можно реализовать на основе исключительно синтаксических аргументов.
— Шаг 1. Предположим, что у нас есть непротиворечивое множество арифметических аксиом, позволяющих доказать все финитные истинные высказывания (мы не указываем на то, что это истинные высказывания, поскольку апеллируем только к синтаксическим понятиям). Нам нужно доказать, что существует такое высказывание G, что ни Gy ни не-G недоказуемы. Как мы увидели в предыдущей главе, каждому высказыванию и каждой пропозициональной функции назначается код (или число Гёделя), но сейчас мы должны подчеркнуть, что назначение происходит чисто синтаксически, на основе символов, образующих высказывание или функцию, вне зависимости от того, каково их значение. Точно так же, синтаксически, назначается код каждой последовательности высказываний и, в частности, каждому доказательству.
— Шаг 2: Гёдель доказал, что пропозициональная функция
"у — код доказательства высказывания с кодом х"
может быть представлена как арифметическое свойство, связывающее числа х и у. Кроме того, он доказал, что какими бы ни были числа n и r, высказывание
"я — код доказательства высказывания с кодом r"
всегда финитно.
— Шаг 3: Гёдель определил пропозициональную функцию
"Не существует у, которое было бы кодом доказательства высказывания с кодом х".
— Шаг 4: Гёдель определил диагональную функцию. Если n — код пропозициональной функции Р(х), то d(n) — код Р(n). Следовательно, определение диагональной функции, которое основывается на механизме назначения кодов, синтаксическое.
— Шаг 5: На основе шагов 3 и 4 метод самореференции позволил Гёделю записать
"Не существует у, которое было бы кодом доказательства высказывания с кодом 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", а мы говорим о мире чисел, образованных на основе 2, то для 1 свойство не выполняется, как и для 2, 3 и так далее. Но для 2 свойство Р выполняется. Что же происходите синтаксической точки зрения? Рассмотрим снова свойство Р, но теперь предположим, что: