Такой подход, согласно которому можно пренебрегать смысловыми значениями математических выражений и рассматривать их лишь как строки символов некоторой формальной математической системы, в математике получил название формализма. Некоторым нравится эта точка зрения, с которой математика превращается в своего рода "бессмысленную игру". Однако я сам не являюсь сторонником таких идей. Все-таки именно "смысл" - а не слепые алгоритмические вычисления - составляет сущность математики. К счастью, Гедель нанес формализму сокрушающий удар! Давайте посмотрим, как он это сделал.
Теорема Геделя
Часть доказательства, приведенного Геделем, содержало некий очень сложный и детализированный кусок. Однако нам не обязательно разбираться во всех его тонкостях. Основная идея, в то же время, была проста, красива и глубока. И ее мы сможем оценить по достоинству. В "сложной" части (которая, впрочем, содержит много остроумных рассуждений) подробно показано, каким образом частные правила вывода и использование различных аксиом формальной процедуры могут быть представлены в виде арифметических операций. (Хотя в сложной части становится понятной плодотворность этих действий!) Для этого представления нам необходимо будет найти какой-нибудь удобный способ нумерации утверждений при помощи натуральных чисел. Один из способов мог бы заключаться в том, чтобы использовать своего рода "алфавитный" порядок для строчек символов формальной системы, имеющих одинаковую длину, упорядочить заранее строчки по длине. (Таким образом, за выстроенными в алфавитном порядке строками из одного символа будут следовать строки длиной в два символа, также упорядоченные по алфавиту; за ними идут строки из трех символов и так далее.) Это называется лексикографическим порядком. В действительности Гедель использовал более сложную систему нумерации, но различия в данном случае для нас несущественны. Нас же должны в особенности интересовать функции исчисления высказываний одной переменной, наподобие введенной выше G(ω). Пусть n-я (из пронумерованных выбранным способом строк символов) такая функция от аргумента ω обозначается
Pn(ω).
Мы можем допустить, чтобы наша нумерация по желанию была несколько "либеральна" в отношении синтаксически некорректных выражений. (Это позволит значительно упростить перевод системы на язык арифметических операций по сравнению со случаем, когда мы будем стараться исключить из рассмотрения синтаксически некорректные выражения.) Если Pn(ω) синтаксически корректно, то оно будет представлять из себя некоторое совершенно определенное арифметическое выражение, в котором фигурируют два натуральных числа п и ад. Каков будет конкретный вид этого выражения - зависит от особенностей системы нумерации, которую мы выбрали. Но эти детали рассматриваются в "сложной" части и сейчас нас не касаются. Пусть Пn будет n-м доказательством. (Опять же мы можем использовать "либеральную нумерацию", когда для некоторых значений n выражение Пn не является синтаксически корректным и, тем самым, не доказывает никакую теорему.)
А теперь рассмотрим следующую функцию исчисления высказываний от натурального числа ω :
- Eк.с.x[Пx доказывает Pω(ω)].
В выражении в квадратных скобках частично присутствуют слова, но, тем не менее, это - абсолютно точно определенное выражение. Оно говорит о том, что доказательство номер х является доказательством утверждения Рω(), примененного к самому ω. Находящийся за скобками квантор существования с отрицанием позволяет исключить из рассмотрения одну из переменных ("не существует такого х, что…"), приводя нас в конечном счете к арифметической функции исчисления высказываний, зависящей только от ω. В целом данное выражение утверждает, что не существует доказательства Рω(ω). Я буду предполагать, что оно оформлено синтаксически корректным образом (даже если Рn(ω) некорректно - поскольку тогда выражение было бы истинным за невозможностью существования доказательства синтаксически некорректного утверждения). На самом деле, в результате сделанного нами перевода на язык арифметики, написанное выше будет в действительности неким арифметическим выражением, включающим натуральное число ω (тогда как в квадратных скобках окажется четко определенное арифметическое выражение, связывающее два натуральных числа х и ω). Конечно, возможность представления этого выражения в арифметическом виде далеко не очевидна, но она существует. Рассуждения, приводящие к этому заключению, составляют наиболее трудную задачу в "сложной" части доказательства Геделя. Как и ранее, непосредственный вид арифметического выражения будет зависеть от способа нумерации и в еще большей степени от конкретной структуры аксиом и правил вывода, принятых в нашей системе. Поскольку все это входит в "сложную" часть доказательства, то в данном случае нас не интересует.
Мы пронумеровали все функции исчисления высказываний, зависящие от одной переменной, поэтому той, которую мы ввели выше, также должен быть приписан номер. Пусть этот номер будет k. Наша функция будет в таком случае k-й в общем списке. То есть
- Eк.с.x[Пх доказывает Pω(ω)] = Рk(ω).
Теперь исследуем эту функцию при определенном значении: ω = k. Мы получаем:
Eк.с.х[Пх доказывает Pk(k)] = Pk(k)
Данное утверждение Pk(k) является абсолютно точно определенным (синтаксически корректным) арифметическим выражением. Может ли оно быть доказано в рамках нашей формальной системы? А его отрицание ~ Pk(k) - имеет ли оно такое доказательство? Ответ в обоих случаях будет отрицательный. Мы можем убедиться в этом путем исследования смысла, который лежит в основании процедуры Геделя. Хотя Pk(k) является просто арифметическим выражением, последнее было построено нами таким образом, что написанное в левой части утверждает следующее: "внутри системы не существует доказательства Pk(k)". Если мы были аккуратны в определении аксиом и процедур вывода, и не ошиблись при нумерации, то тогда в рамках системы такого доказательства найти невозможно. Если же доказательство существует, то значение утверждения, содержащегося в Pk(k) - о том, что такого доказательства нет, - будет ложным, а вместе с ним будет ложным и арифметическое выражение, отвечающее Pk(k). Но наша формальная система не может быть построена настолько плохо, чтобы включать в себя ложные утверждения, которые могут быть доказаны! Таким образом, в действительности, доказательство Pk(k) быть не может. Но это в точности то самое, о чем говорит нам Pk(k). То, что утверждает Pk(k), обязано, следовательно, быть верным, а поэтому Pk(k) должно быть верным как арифметическое выражение. Значит, мы нашли истинное утверждение, которое недоказуемо в рамках системы!
А как насчет ~ Pk(k)? Из предыдущих рассуждений видно, что доказательство этому утверждению внутри системы мы найти не сможем. Мы только что установили, что ~ Pk(k) должно быть ложным (ибо Pk(k) является истинным), а мы, по определению, не имеем возможности доказывать ложные утверждения в рамках системы! Таким образом, ни Pk(k), ни ~ Pk(k) недоказуемы в нашей формальной системе, что и составляет теорему Геделя.
Математическая интуиция
Обратите внимание, что мы здесь сталкиваемся с одной примечательной особенностью. Часто думают, что теорема Геделя имеет, в некотором роде, отрицательный смысл, поскольку она указывает на принципиальные ограничения в применении формальных математических рассуждений. Независимо от нашего мнения об универсальности применяемого подхода, всегда найдутся утверждения, которые не попадают в сферу его действия. Но насколько, в действительности, нас могут затрагивать частные случаи типа Pk(k)? В ходе предыдущих рассуждений мы установили, что Pk(k) - истинное утверждение! Мы смогли это сделать несмотря на то, что это утверждение формально недоказуемо в рамках системы. А вот математических формалистов это должно волновать, потому что наши рассуждения с необходимостью приводят к выводам о неполноте их понятия "истины". Какая бы (непротиворечивая) формальная система не использовалась для арифметики, в ней будут содержаться утверждения, понимаемые нами как истинные, но которым не может быть приписано значение ИСТИНА при помощи вышеописанной формальной процедуры. Способ, при помощи которого формалист сумел бы обойти подобные трудности, мог бы состоять в том, чтобы не говорить о понятии истины, а только лишь о доказуемости внутри конкретной формальной системы. Однако же, такой подход весьма ограничен. Он не позволил бы даже сформулировать утверждение Геделя и осуществить его доказательство, как это было сделано выше, поскольку в значительной части рассуждений речь идет как раз об определении того, что есть ложь, а что - истина. Некоторые формалисты встают на более "прагматическую" точку зрения, заявляя, что их не волнуют утверждения, подобные Pk(k), поскольку они исключительно сложны и не интересны в качестве арифметических выражений. Отстаивают они свою точку зрения примерно так:
"Да, есть странные утверждения, вроде Pk(k), для которых мое понятие доказуемости или ИСТИНЫ расходится с вашим интуитивным понятием истинности, но подобные выражения едва ли встречаются в серьезной математике (по крайней мере не в такой, которая меня интересует), поскольку они абсурдно усложнены и неестественны для математики".
Несомненно, что утверждения вида Pk(k), будучи полностью выписанными, были бы чрезвычайно громоздки и выглядели бы странно для числовых математических выражений. Однако за последнее время были выдвинуты сравнительно простые выражения приемлемого с точки зрения математики характера, которые эквивалентны утверждениям Геделя. Они недоказуемы на основании обычных аксиом арифметики, однако же следуют из некоего свойства "самоочевидности", которым обладает сама система аксиом.
Отсутствие интереса к "математической истине", исповедуемое формалистами, кажется мне очень странной позицией в приложении к философии математики. Более того: она совсем не так прагматична, как представляется. Когда математики проводят свои выкладки, они не намерены постоянно проверять, могут ли они быть сформулированы посредством аксиом и правил вывода некоторой сложной формальной системы. Единственно, что необходимо - быть уверенным в правомерности использования этих рассуждений для установления истины. Доказательство Геделя удовлетворяет этому требованию, так что Pk(k) является математической истиной с таким же правом, как и любое другое утверждение, полученное более стандартным путем с использованием изначально заданных аксиом и правил вывода.
Процедура, которая напрашивается сама собой, заключается в следующем. Давайте положим, что Pk(k) - совершенно верное утверждение (переобозначим его здесь как G0). Тогда мы можем присоединить его к нашей системе в качестве дополнительной аксиомы. Естественно, что наша новая система будет, в свою очередь, содержать новое утверждение Геделя, скажем, G1, которое также будет истинным числовым выражением. Соответственно, мы можем и G1 добавить в нашу систему. Это даст нам новую улучшенную систему, которая также содержит новое утверждение Геделя G2 (опять же совершенно справедливое); и мы сможем снова добавить его к системе, получая следующее утверждение Геделя G3 , которое мы тоже присоединяем - и так далее, повторяя этот процесс неограниченно. Что мы можем сказать о получившейся в результате системе, где мы используем весь набор G0, G1, G2, G3…. как дополнительные аксиомы? Может ли эта система быть полной? Поскольку мы теперь имеем неограниченную (бесконечную) систему аксиом, то возможность применения процедуры Геделя совсем не очевидна. Однако, это последовательное включение утверждений Геделя является в высшей степени систематичной схемой, результат применения которой может быть истолкован как обычная конечная система аксиом и правил вывода. Эта система будет иметь свое собственное утверждение Геделя Gω которое мы также сможем к ней присоединить, получая новую систему и с ней - еще одно утверждение Геделя Gω+1. Продолжая, как и ранее, мы получаем набор утверждений Gω , Gω+1 ,Gω+2 , Gω+3, каждое из которых истинно и может быть включено в нашу формальную систему. Сохраняя свойство строгой систематичности, этот процесс вновь приводит нас к созданию новой системы, которая охватывает все созданные к этому моменту аксиомы. Но и эта система, в свою очередь, имеет свое собственное утверждение Геделя, скажем, Gω+ω- которое можно переписать как Gω2, и мы можем начать всю процедуру заново. В результате этого мы получим новый бесконечный, но систематический, набор аксиом Gω2 , Gω2+1, Gω2+2, и т. д., приводящий к еще одной новой системе - и новому утверждению Геделя Gω3. Воспроизводя весь процесс, мы получаем Gω4, потом - Gω5 и так далее. И эта схема также будет полностью систематичной и даст свое собственное утверждение Геделя Gω.