Выбрать главу
ГИПОТЕЗА ГОЛЬДБАХА

Утверждение о том, что любое четное число является суммой двух простых, известно как гипотеза Гольдбаха. Он сформулировал ее в 1742 году в письме знаменитому швейцарскому математику Леонарду Эйлеру (1707-1783).

До сих пор неизвестно, верна ли эта гипотеза. Она выполняется для большого числа четных чисел, но до сих пор никто не нашел доказательства для всех возможных случаев, так же как и не нашли примера, при котором гипотеза была бы ложной.

Итак, если мы предложим множество аксиом арифметики, то наименьшее, чего мы можем от него требовать — это способности доказать все финитные истинные высказывания. Следует заметить: во всем, что мы только что сказали, слово "истинное" связано с финитными высказываниями. В этом ограниченном контексте "истинное" и "ложное" становятся синтаксическими условиями, поскольку они проверяются механически за конечное число шагов. С точки зрения синтаксиса программа Гильберта предполагала нахождение непротиворечивого и полного множества аксиом арифметики, которое было бы способно доказать все финитные истинные высказывания. В первой теореме Гёделя о неполноте доказывается как раз то, что эта цель недостижима.

ПЕРЕСМОТР ДОКАЗАТЕЛЬСТВА ГЁДЕЛЯ

Так мы дошли до синтаксической формулировки первой теоремы Гёделя о неполноте:

если множество арифметических аксиом непротиворечиво и позволяет доказать все финитные истинные высказывания, то оно неполное, то есть существует такое высказывание 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). Так как оно финитное и истинное, то, по гипотезе, высказывание доказуемо. Тогда одно из правил логики позволяет нам сделать вывод, что также доказуемо высказывание