Я введу бесконечность большую чем ℵ0, используя историю, которую, как говорят, Давид Гильберт приводил на своих лекциях. История эта — о гостинице со счетно-бесконечным (то есть ℵ0) числом номеров. Это хорошо известное и весьма любимое математиками заведение иногда называют Гильбертовым отелем.
В Гильбертовом отеле имеется бесконечное число номеров, на дверях которых прибиты таблички 1, 2, 3, 4…. Однажды у регистрационной стойки отеля появляется путешественник и к своему разочарованию узнает, что в гостинице нет свободных мест. Он спрашивает, есть ли хоть какой-нибудь способ найти для него номер. Администратор отеля отвечает, что, конечно, есть. Все, что надо проделать, — это расселить уже имеющихся постояльцев по номерам следующим способом: того, кто жил в номере 1, — переселить в номер 2, того, кто жил в номере 2, — переселить в номер 3 и так далее, переселяя гостя из каждого номера n в номер n + 1. Как только это будет сделано, у каждого из старых постояльцев по-прежнему будут свои собственные апартаменты, а номер с табличкой 1 освободится для вновь приехавшего. Вот и отлично!
На следующий день возникает более сложная ситуация. Приезжает автобус, и каждому пассажиру этого автобуса нужен номер. А в автобусе бесконечное число сидений, занумерованных как 1, 2, 3 и так далее, и все они заняты. Есть ли теперь хоть какой-то способ расселить всех без исключения пассажиров? Другими словами, хотя гостиница и полна, может ли администратор так перетасовать постояльцев по номерам, чтобы в итоге освободить бесконечное число номеров для пассажиров автобуса? Да это легче легкого, говорят нам.
Все, что надо проделать на этот раз, — это переселить каждого постояльца в номер, на двери которого написано число в два раза большее, чем то, что написано на номере, где этот постоялец живет в данный момент. Тем самым заполнятся номера 2, 4, 6, 8…. А все номера, на дверях которых написано нечетное число, освободятся, и пассажирам автобуса дадут ключи от них. Пассажир, ехавший на первом сиденье, получит номер 1 (первое из нечетных чисел), пассажир, ехавший на втором сиденье, получит номер 3 (второе нечетное число) и т. д.
На третий день в Гильбертов отель прибывает много автобусов. Бесконечно много. Автобусы выстраиваются на стоянке перед гостиницей: сначала автобус 1, затем автобус 2, вслед за ним автобус 3 и т. д. В каждом автобусе — бесконечное число пассажиров (это автобусы того же типа, что приезжали накануне). И понятно, каждому пассажиру требуется номер. Есть ли способ найти для каждого пассажира из каждого автобуса номер в (уже заполненном) Гильбертовом отеле? Не проблема, отвечает администратор. Прежде всего ему надо освободить бесконечно много номеров. Он делает это тем же способом, что и накануне, — переселяет каждого постояльца в комнату с удвоенным номером. В результате свободными оказываются все нечетные номера. Все, что ему надо сделать, чтобы разместить там бесконечное число групп автобусных пассажиров, — это найти способ пересчитать всех пассажиров, потому что, как только он найдет такой способ, он поселит первого пассажира из списка в номер 1, второго — в номер 3, третьего — в номер 5 и т. д.
Администратор проделывает следующее. Сначала составляется список пассажиров, в котором каждый пассажир представлен записью вида m/n, где m — это номер автобуса, на котором данный пассажир приехал, а n — номер его места в автобусе. Если начать с пассажира, ехавшего на первом месте в первом автобусе (путешественник 1/1), а затем следовать по зигзагообразной кривой, показанной ниже, — так, что вторым окажется путешественник, занимавший второе место в первом автобусе (1/2), затем тот, кто сидел на первом месте во втором автобусе (2/1), и т. д. — в концов концов окажутся переписанными все без исключения пассажиры.
Теперь перенесем на язык символьной математики то, что мы узнали про Гильбертов отель.
Когда номер нашли для одного путешественника, это эквивалентно формулируется как 1 + ℵ0 = ℵ0.
Когда номер нашли для счетно-бесконечного числа путешественников, мы узнали, что ℵ0 + ℵ0 = ℵ0.
Когда счетно-бесконечное число пассажиров в каждом автобусе из счетно-бесконечного числа автобусов смогли расселиться по номерам, мы узнали, что ℵ0 × ℵ0 = ℵ0. Таковы правила, которых мы ожидаем от бесконечности: прибавление бесконечности к бесконечности дает бесконечность, и умножение бесконечности на бесконечность также дает бесконечность.
* * *
Давайте на секунду остановимся. Мы уже получили один потрясающий результат. Взглянем снова на таблицу с номерами мест и номерами автобусов. Рассмотрим каждого путешественника, обозначаемого символом m/n, как дробь m/n. Если продолжить нашу таблицу до бесконечности, в ней будут указаны все без исключения положительные дроби — просто потому, что положительные дроби и представляют собой выражения m/n для любых натуральных чисел m и n. Например, дробь 5628/785 окажется перечисленной, когда мы доберемся до 5628-й строки и 785-го столбца. Зигзаговый метод подсчета всех пассажиров во всех автобусах можно поэтому использовать и для пересчета всех положительных дробей. Другими словами, множество положительных дробей и множество натуральных чисел имеют одно и то же кардинальное число ℵ0. Интуитивно кажется, что дробей должно быть больше, чем натуральных чисел, потому что между любыми двумя натуральными числами имеется бесконечное число дробей, и, однако же, Кантор показал, что наша интуиция неверна. Положительных дробей ровно столько же, сколько и натуральных чисел. (Конечно, положительных и отрицательных дробей тоже столько же, сколько натуральных чисел, потому что имеется ℵ0 положительных дробей и ℵ0 отрицательных, а из предыдущего мы знаем, что ℵ0 + ℵ0 = ℵ0)
Чтобы оценить, насколько необычным является этот результат, рассмотрим числовую прямую, которая позволяет воспринимать числа как точки на линии. Вот числовая прямая, начинающаяся в 0 и устремляющаяся в бесконечность:
Каждую положительную дробь можно рассматривать как точку на этой числовой прямой. Из предыдущих глав мы знаем, что имеется бесконечно много дробей, заключенных между 0 и 1, а равным образом между 1 и 2 или между двумя любыми другими числами. Теперь представим себе, что мы поднесли к числовой прямой микроскоп, который позволяет разглядеть, что происходит между точками, представляющими дроби 1/100 и 2/100. Как мы показали выше, имеется бесконечно много точек, представляющих дроби между двумя указанными точками. И куда бы на числовой прямой мы ни направили микроскоп и сколь бы маленький интервал между двумя точками он ни показывал, там всегда будет бесконечно много точек, представляющих дроби в данном интервале. Поскольку имеется бесконечно много точек, представляющих дроби всюду, куда ни посмотри, осознание того факта, что все их, без единого исключения, можно пересчитать, поместив в упорядоченный список, сбивает с толку.
* * *
И теперь главное. Это доказательство того, что имеется кардинальное число, большее ℵ0. Сначала — назад в Гильбертов отель. На этот раз гостиница пуста, когда появляется бесконечное число людей, желающих поселиться. Но теперь путешественники приехали не в автобусах; они представляют собой толпу, причем каждый одет в футболку, надпись на которой представляет собой десятичное разложение некоторого числа, лежащего между 0 и 1. Ни у каких двух людей написанные на груди десятичные разложения не совпадают, и при этом использованы все десятичные разложения между 0 и 1. (Конечно, десятичные разложения бесконечно длинные, поэтому для их изображения требуются бесконечно широкие футболки, но, поскольку мы уже кое на что согласились, когда попытались представить себе гостиницу с бесконечным числом номеров, я полагаю, что в случае с футболками прошу не так уж и о многом.)
Некоторые из прибывших атакуют стойку регистрации, пытаясь выяснить, может ли гостиница их принять. Все, что для этого надо сделать администратору, — это найти способ составить список, в котором присутствовало бы каждое десятичное число между 0 и 1, поскольку, как только такой список будет составлен, расселение не составит труда. Задача не кажется нерешаемой — ведь, в конце концов, наш находчивый администратор однажды уже придумал, как организовать в список всех пассажиров из бесконечного числа автобусов, в каждом из которых было бесконечно много пассажиров. И тем не менее эта новая задача оказывается нерешаемой! Нет способа пересчитать все десятичные разложения между 0 и 1 таким образом, чтобы стало возможным внести все их в упорядоченный список. Дабы продемонстрировать это, я покажу, что для каждого бесконечного списка чисел, лежащих между 0 и 1, всегда найдется число между 0 и 1, которого в этом списке нет.