Десять великих идей науки. Как устроен наш мир. — страница 86 из 90

t4(2) не остановится, если мы будем его выполнять, и поэтому ставит 0 в соответствующую ячейку таблицы и делает себе пометку, что данное вычисление не остановится. В конце этого этапа вычислений верхний левый фрагмент таблицы выглядит так:

Вход0123
Номер матрицы00000
10
2
30

Теперь там, где мы не обнаруживаем 0, мы производим все вычисления, как мы это делали на первом шаге, и получаем следующий фрагмент таблицы:

Вход0123
Номер матрицы00000
13041
21111
30102

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

Теперь перейдем к финалу. Давайте возьмем числа на диагонали (они выделены жирным шрифтом) и изменим их, прибавляя 1 (что похоже на доказательство Кантора). Мы получаем последовательность вида 1123…. Это вычислимое число (поскольку последовательность шагов, основанная на th и машине Тьюринга, действует в каждом предполагаемом случае), поэтому машина, которая производит это число, уже должна присутствовать где-то в таблице. Однако ее нет: она отличается от первого ряда (поскольку мы заставили первую цифру измениться), она отличается от второго ряда (поскольку мы заставили вторую цифру измениться), и так далее, для всех рядов в таблице. То есть, с одной стороны, ряд 1123… должен быть представлен, но, с другой стороны, его нет. Это противоречие, поэтому предположение о существовании «остановочной машины» th, которое мы использовали, должно быть ложным. Мы доказали (и это подтверждено более строгим и авторитетным доказательством Тьюринга), что не существует ни одной общей универсальной алгоритмической процедуры, которую можно использовать, чтобы судить, придут ли к концу данные вычисления или нет. Это влечет, в свою очередь, то, что не может существовать никакого общего алгоритма для решения математических задач, и поэтому Entscheidungsproblem не имеет решения.


Теперь я перехожу к высшей точке этой главы, к тому, что называют самым красивым достижением логики двадцатого века, к теореме Гёделя. Австрийский логик Курт Гёдель (1906-1978) родился в Брюнне, Австро-Венгрия (ныне Брно, Республика Чехия), где работал Грегор Мендель, и учился в Венском университете. Хотя он и не был евреем (вопреки утверждению Бертрана Рассела), Гёдель не смог терпимо относиться к нацистским репрессиям и в 1934 г. поехал в США, в 1940 г. эмигрировал туда насовсем и провел оставшуюся часть жизни в Принстоне, где он и Эйнштейн стали большими друзьями. Конечно, в свои последние годы Гёдель внес существенный вклад и в общую теорию относительности, когда обнаружил неожиданное решение уравнений Эйнштейна, позволяющее времени течь в прошлое. По своему облику и образу жизни Гёдель не был человеком, которого можно было считать вполне приемлемым в обществе. Возвратись в Австрию после своей первой поездки в США, он женился на разведенной танцовщице и увез ее в Принстон, где ее не могли хорошо принять из-за преобладавшего в то время снобизма. К концу жизни у него развились классические признаки депрессии и паранойи: он был убежден, что является жертвой тайного общества убийц, что в конце концов привело его к отказу от еды и к ношению лыжной маски, чтобы избежать заражения во время прогулок в опасной и сильно загрязненной, как он считал, атмосфере Принстона. Он скончался, веся лишь 30 кг, от «недоедания и истощения» (вызванных отказом от пищи), явившихся, как гласит заключение о смерти, результатом «душевного расстройства».

Существуют несколько теорем, связанных с именем Гёделя. Здесь мы сосредоточимся на теореме, опубликованной в 1931 г. в статье Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme (О формальной неразрешимости предложений в Principia Mathematica и связанных с ней системах). В этой статье он показал, что в любой системе математических аксиом существуют метаматематические предложения, которые нельзя ни доказать, ни опровергнуть посредством формального вывода, основанного на аксиомах системы.

Это мы и сделаем. Математика представляет собой последовательность предложений, таких как 1 + 1 = 2, и «это является доказательством данного предложения»; первое предложение является математическим, в смысле Гильберта, а второе метаматематическим. Давайте предположим, что мы можем записать все предложения, которые можно вывести из фундаментальных аксиом (например, из аксиом Пеано или более разработанной системы, основанной на усовершенствованной теории типов, которой пользовались Рассел и Уайтхед). Это даст нам предложения p0, p1, p2, … и так далее. Как мы решим пронумеровать предложения, не имеет значения, но несколько изложенных ниже аргументов дадут вам ощутить аромат того, как действовал Гёдель.

В формулировке арифметики, подобной формулировке Пеано, имеется лишь небольшое число символов.

Например, одна из аксиом гласит «элемент, непосредственно следующий за числом, есть также число». Мы ввели обозначение х' = sx, где s означает «непосредственно следующий за», так что s0 = 1, s1 = ss0 = 2, и так далее. Гёдель приписал число каждому элементарному знаку, используемому в выражениях. Предположим, что он приписал 5 знаку «=» и 7 знаку s. Каждая отдельная переменная, такая как x, описывается отдельным простым числом, большим 10. Например, мы припишем x число 11, а х' число 13. Гёделевским номером предложения является произведение всех чисел, соответствующих символам, которые содержит предложение; так, нашему предложению х' = sx приписывается значение 13 (для x') × 5 (для «=») × 7 (для s) × 11 (для x), что дает 5005. Заметим, что посредством этой процедуры каждое предложение, включая аксиомы формализма, наделяется единственным номером[52], поэтому связи между предложениями становятся связями внутри арифметики. Например, мы можем ответить на метаматематический вопрос: встречается ли это предложение в более длинном, более сложном предложении, выяснив, является ли 5005 множителем в гёделевском номере сложного предложения, также как 5 является множителем 75.

Снабдим предложения индексами, используя их гёделевские номера, так что предложение х' = sx относительно числа 6 (которое должно читаться 6 = s5, «6 непосредственно следует за 5») есть предложение p5005(6). Вы можете ожидать, что сложные предложения имеют большие гёделевские номера, но в том, что последует ниже, мы будем делать вид, что можем обойтись малыми номерами, такими как p1(6) и p4(6). Например, мы можем сделать вид, что Предложение 4, примененное к числу 6, является метаматематическим утверждением «6 есть совершенное число» (число, являющееся суммой своих простых множителей, в данном случае включая 1, 6 = 1 + 2 + 3 и 6 = 1 × 2 × 3), а Предложение 5 может сообщать о простых числах, и мы можем прочесть p5(11) как «11 есть простое число».

Математическое доказательство состоит из строки предложений, которые выводятся одно из другого с помощью использования правил обращения с символами. Это означает, что мы можем приписать отдельный номер целому доказательству, отметив гёделевские номера всех входящих в него предложений. Если доказательство состоит из трех предложений с гёделевскими номерами 6, 8 и 2 (на практике эти номера были бы огромны), то всему доказательству приписывается номер 26× 38× 52 = 10 497 600 (для более длинных доказательств ряд простых чисел 2, 3, 5 последовательно продолжают). Как вы можете вообразить, длинные доказательства, состоящие из сложных предложений, имеют астрономически большие гёделевские номера. И снова смыслом этой процедуры является то, что целые доказательства включаются в область арифметики. Мы можем использовать арифметические процедуры, чтобы, например, судить, используется ли одно доказательство в другом, определяя, входит ли гёделевский номер первого множителем в гёделевский номер второго, подобно тому, как 15 = 5 × 3 означает, что 5 и 3 являются компонентами 15.

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

Предположим, что у нас есть некоторое предложение относительно числа 0, мы назовем это предложение p0(0), и такое же предложение относительно числа 1, которое мы назовем p0(1), и так далее. Обозначим вообще это предложение относительно числа x как p