А сейчас мы перейдем к рассказу о еще более интересных событиях, связанных с машинами Мак-Каллоха. Недели две спустя Мак-Каллох получил от Крейга письмо следующего содержания:
Мой дорогой Мак-Каллох!
Я и мой друг Малькольм Фергюссон крайне заинтересовались твоими цифровыми машинами. Кстати, ты случайно не знаком с Фергюссоном? Последнее время он ведет активные исследования в области чистой логики и даже собственноручно построил несколько логических машин. Однако его интересы не ограничиваются этим; так, он весьма интересуется шахматными задачами, относящимися к области так называемого ретроградного анализа. Кроме того, он занимается и чисто комбинаторными задачами, с которыми так успешно справляются твои машины. На прошлой неделе я заглянул к нему в гости и показал все твои задачи — они его очень заинтересовали. Когда через три дня я вновь встретил Фергюссона, он невзначай заметил в разговоре что, по его мнению, обе твои машины обладают некоторыми новыми любопытными свойствами, о которых ты сам как изобретатель, по-видимому, даже не подозреваешь. Выражался он несколько туманно и сказал, что хочет еще поразмыслить обо всем этом.
В следующую пятницу я пригласил Фергюссона пообедать со мной. Не хочешь ли присоединиться к нам? Уверен, что у вас обоих найдется много общих тем для разговора; быть может, мы узнаем, что у него на уме.
В надежде на скорую встречу
искренне твой
Л. Крейг
Ответ Мак-Каллоха не заставил себя долго ждать:
Дорогой Крейг!
С Малькольмом Фергюссоном я не знаком, но многое слышал о нем от наших общих знакомых. Не учился ли он у известного логика Готлоба Фреге? Насколько мне известно, он занимается некоторыми проблемами, весьма важными для оснований математики, и, конечно, я с удовольствием воспользуюсь возможностью познакомиться с ним лично. Само собой разумеется, мне будет также крайне любопытно узнать его мнение по поводу построенных мною машин. Весьма благодарен тебе за приглашение и с радостью его принимаю.
С глубоким уважением
Н. Мак-Каллох
Гости съехались. После превосходного обеда (его приготовила квартирная хозяйка Крейга миссис Хоффман) разговор зашел о математике.
— Я слышал, вы построили несколько логических машин, — сказал Мак-Каллох. — Интересно было узнать о них поподробнее. Может быть, вы расскажете, как они работают?
— О, это долгий разговор, — отвечал Фергюссон. — К тому же я до сих пор не нашел ответа на один очень важный вопрос, связанный с их работой. Может, вы с Крейгом зайдете как-нибудь ко мне в лабораторию? Тогда я вам обо всем и расскажу. А сегодня я предпочел бы поговорить о ваших машинах. Несколько дней назад я рассказывал Крейгу, что у них обнаружились некоторые свойства, о которых, мне кажется, вы и не подозреваете.
— Что же это за свойства? — спросил Мак-Каллох.
1. — Ну что ж, — сказал Фергюссон, — давайте начнем с конкретного вопроса, относящегося к вашей второй машине. Пусть имеются некие числа X и Y, такие, что число X порождает обращение числа Y, а Y порождает повторение числа X. Можете ли вы найти эти числа?
Крейга и Мак-Каллоха эта задача чрезвычайно заинтересовала, и они тут же засели за ее решение. Однако ни тому, ни другому это не удалось. Решить эту задачу, конечно, можно, и, вероятно, наш честолюбивый читатель не прочь попробовать сделать это сам. Заметим только, что в основе решения лежит один важный принцип (о котором пойдет речь в этой главе); если знать его, то решение задачи оказывается на удивление простым.
2. — Вы меня просто заинтриговали, — заявил Крейг, когда Фергюссон показал им решение. — Я вижу, что ваше решение правильно, но как вам удалось его найти? Вы просто случайно наткнулись на эти числа X и Y или действовали по заранее намеченному плану? Мне, например, это кажется прямо каким-то фокусом.
— Вот именно, — вставил Мак-Каллох. — Так, знаете, фокусник в цирке вытаскивает кролика из шляпы!
— Ага, — засмеялся Фергюссон, явно наслаждаясь произведенным эффектом. — Только не одного, а двух кроликов, и при том они еще некоторым образом влияют друг на друга. Это точно, — сказал Крейг. — Но все же мне бы хотелось знать, как вы догадались, каких именно кроликов надо тащить?
— Прекрасный, ну просто замечательный вопрос! — сияя, воскликнул Фергюссон. — А ну-ка — вот вам еще задачка: найти такие числа X и Y, чтобы число X порождало повторение числа Y, а число Y порождало обращение ассоциата X.
— С меня хватит! — воскликнул Мак-Каллох.
— Минуточку, минуточку, — перебил их Крейг. — Я, кажется, что-то начинаю понимать. Не хотите ли вы сказать, Фергюссон, что для любых двух операций, которые может выполнять машина, то есть для любых двух заданных операционных чисел M и N, должны существовать некие числа X и Y, характеризующиеся тем, что X порождает M(Y), а Y порождает N(X)?
— Вот именно! — воскликнул Фергюссон. — И поэтому мы можем найти, например, такие числа X и Y, для которых X порождает двойной ассоциат Y, а Y порождает повторение обращения X или любые другие комбинации, какие вы захотите.
— Вот так штука! — изумился Мак-Каллох. — Ведь все это время я пытался придумать машину как раз с таким свойством, а она у меня, оказывается, уже есть!
— Безусловно есть, — подтвердил Фергюссон.
— А как вы докажете это свойство? — спросил Мак-Каллох.
— Я бы хотел начать доказывать его постепенно, — ответил Фергюссон. — Собственно говоря, суть дела заключается в ваших правилах 1 и 2. Поэтому сначала позвольте сделать несколько замечаний относительно вашей первой машины — той, в которой используются только эти два правила. Начнем со следующей простой задачи: можно ли, используя правила 1 и 2, найти два различных числа X и Y, таких, чтобы число X порождало Y, а число Y в свою очередь порождало X?
Крейг и Мак-Каллох тут же занялись этой задачей.
— Ну, конечно, — рассмеялся вдруг Крейг. — Это же очевидно вытекает из того, что совсем недавно показы вал мне Мак-Каллох.
А вы можете найти эти числа?
— Теперь, — сказал Фергюссон, — для любого числа А существуют такие числа X и Y, что X порождает Y, а число Y порождает АХ. Если число А нам задано, то можете ли вы найти числа X и Y? Например, можете ли вы найти такие X и Y, чтобы X порождало Y, а Y порождало 7X?
— Мы все еще пользуемся только правилами 1 и 2 или уже можно применять правила 3 и 4? — спросил Крейг.
— Вам понадобятся только правила 1 и 2, — ответил Фергюссон.
— Я уже нашел решение! — тут же заявил Крейг.
4. — Интересно, — сказал Мак-Каллох, просмотрев решение Крейга. — А у меня решение другое.
Действительно, в этой задаче существует и второе решение. Можете ли вы его найти?
5. — Ну, а теперь, — сказал Фергюссон, — мы добрались до действительно важного свойства. Так, из одних только правил 1 и 2 следует, что для любых чисел А и В существуют такие числа X и Y, при которых X порождает AY, а Y порождает BX. Например, существуют такие X и Y, что X порождает 7Y, а Y порождает 8X. Не можете ли вы найти эти числа?
6. — Из последней задачи, — сказал Фергюссон, — со всей очевидностью следует (правда, из второго принципа Крейга это получается еще более просто), что для любых операционных чисел M и N должны существовать такие числа X и Y, при которых X порождает M(Y), а Y порождает N(X). Причем это оказывается справедливым не только для данной машины, но и для любой машины, в программу работы которой включены правила 1 и 2. С помощью вашей теперешней машины можно, например, найти такие X и Y, при которых число X порождает обращение числа Y, а число Y порождает ассоциат числа X. Сумеете ли вы их найти?
7. — Это страшно интересно, — сказал Фергюссону Мак-Каллох, когда они с Крейгом решили последнюю задачу. — Но у меня возник вот какой вопрос: подчиняется ли моя машина «двойному» аналогу второго принципа Крейга? Иначе говоря, если заданы два операционных числа M и N, а также два произвольных числа А и В, то обязательно ли существуют такие числа X и Y, при которых X порождает M(AY), а Y порождает N(BX)?
— Ну, конечно, — подтвердил Фергюссон. — Например, существуют такие числа X и Y, при которых число X порождает повторение 7Y, а число Y порождает обращение 89X.
Не могли бы вы найти эти числа?
8. — Я подумал еще вот о чем, — сказал Крейг. — Если имеется некоторое операционное число M и произвольное число В, то обязательно ли должны существовать такие числа X и Y, при которых X порождает М(Y), а Y порождает BX? Например, существуют ли такие X и Y, при которых число X порождает ассоциат Y, а число Y порождает число 78X?
А как думаете вы?
9. — Фактически, — продолжал пояснения Фергюссон, — у нас возможны самые разные комбинации. Так, давая некоторые операционные числа M и N и произвольные числа А и В, всегда можно найти числа X и Y, которые отвечают любому из ниже перечисленных условий:
а) X порождает М(АY) а Y порождает N(X);
б) X порождает М(АY) а Y порождает BX;
в) X порождает M(Y), а Y порождает X;
г) X порождает M(AY), а Y порождает X.
Попробуйте доказать эти утверждения.
10. Триплеты и так далее.
— Ну, теперь-то, мне кажется, мы перебрали уже все возможные варианты, — сказал Крейг.
— Да нет, — ответил Фергюссон. — То, что я вам показывал до сих пор, — это еще только начало. А знаете ли вы, например, что существуют три числа X, Y и Z, такие, что число X порождает обращение Y, число Y порождает повторение Z, а число Z порождает ассоциат X?
— Неужели? — удивился Мак-Каллох.
— Именно так, — подтвердил Фергюссон. — Более того, если заданы три произвольных операционных числа M, N и P, то должны существовать такие числа X, Y и Z, при которых X порождает M(Y), Y порождает N(Z), a Z порождает P(X).
Не сумеете ли вы, читатель, доказать это утверждение? И в частности, каковы будут эти числа X, Y и Z, если известно, что число X порождает обращение Y, число Y порождает повторение Z, а число Z порождает ассоциат X?
После того как Крейг и Мак-Каллох решили и эту задачу, Фергюссон сказал:
— Конечно, тут тоже возможны самые разные варианты этого «тройного» закона. Например, если заданы три любых операционных числа M, N и P, а также три произвольных числа А, В и С, то существуют такие числа X, Y и Z, при которых число X порождает M(AY), число Y порождает N(BZ), а число Z порождает P(СХ). Это справедливо и в том случае, если взять не три числа А, В, С, а любые два из них или даже одно.[5] Так, мы можем найти такие числа X, Y и Z, при которых X порождает АY, Y порождает M(Z), a Z порождает N(BX). Возможны, естественно, и всякие другие варианты — вы вполне можете заняться ими на досуге.
— Кроме того, — продолжал он, — та же идея действует и тогда, когда мы используем 4 операционных числа или даже более. Например, мы можем найти числа X, Y, Z и W, при которых число X порождает 78Y, число Y порождает повторение Z, число Z порождает обращение W, а число W порождает ассоциат 62X. Возможности практически бесконечны, причем их удивительное многообразие обусловлено всего лишь правилами 1 и 2.
Решения
1. Одно из решений состоит в том, чтобы принять X = 4325243 и Y = 524325243. Поскольку число 25243 порождает число 5243, то число 325243 порождает ассоциат 5243, или число 524325243, которое и есть Y.
Далее, так как число 325243 порождает Y, то число 4325243 порождает обращение Y, но 4325243 — это как раз и есть X. Таким образом, X порождает обращение Y. Кроме того. Y, очевидно, порождает повторение X (потому что Y — это есть число 52X, а поскольку число 2X порождает X, то число 52X будет порождать повторение X). Итак, X порождает обращение Y, а Y порождает повторение X.
2. Крейг воспользовался законом Мак-Каллоха, а именно: для любого числа А существует некоторое число X (а именно число 32A3), которое порождает число АХ. Так, в частности, если мы примем А за число 2, то получим некоторое число X (а именно число 3223), которое порождает 2X. Число же 2X в свою очередь будет порождать X. Таким образом, в качестве решения этой задачи подходит пара чисел 3223 и 23223: 3223 порождает 23223, а 23223 порождает 3223.
3. Крейг решил эту задачу следующим способом. Он рассудил, что ему надо всего лишь найти такое число X, которое порождает 27X. Тогда, положив Y = 27X, мы получим, что число X порождает Y, а число Y порождает 7X. Такое число X он тоже нашел — это число 32273. Поэтому решение Крейга имеет вид: X = 32273, Y = 2732273.
То же самое происходит, конечно, и в том случае, если вместо конкретного числа 7 мы возьмем любое число А. В самом деле, если X = 322АЗ, а Y = 2A322АЗ, то число X будет порождать Y, а число Y будет порождать АХ.
4. Что же касается Мак-Каллоха, то он подошел к решению данной задачи несколько иначе. Он начал с того, что стал искать такое число Y, которое порождает 72Y. Теперь, если обозначить через X число 2Y, то мы получаем, что число X порождает Y, а число Y порождает 7X. При этом нам уже известно, как найти такое число Y — надо взять Y = 32723. Итак, решение Мак-Каллоха имеет вид: X = 232723, Y = 32723.
5. Единственное, что нам нужно — это найти такое число X, которое порождало бы число А2ВХ. Тогда, если мы положим Y = 2ВХ, то будем иметь, что число X порождает АY, а число Y порождает BX. Таким числом X, которое порождает А2ВХ, является число 32А2ВЗ. Стало быть, решение задачи выглядит так: X = 32A2ВЗ, Y = 2B32A2ВЗ. (В частном случае А = 7, В = 8 и решением будет X = 327283, Y = 28327283.)
6. Сначала попробуем решить эту задачу с помощью второго принципа Крейга, который, как мы помним, гласит, что для любого операционного числа M и для произвольного числа А существует некоторое число X (а именно число М32АМЗ), которое порождает М(АХ). Возьмем теперь два любых операционных числа M и N. Тогда, согласно этому принципу (если взять в качестве А число N2), найдется некое число X (а именно число M32N2M3), которое порождает число M(N2X). Ясно также, что число N2X порождает N(X). Поэтому если обозначить число N2X через Y, то мы получим, что число X порождает М(Y), а число Y порождает N(X). Следовательно, решение задачи имеет вид: X = M32N2M3, Y = N2M32N2M3. (Для конкретной задачи, предложенной Фергюссоном, положим M = 4 и N = 3, тогда решение будет таким: X = 4323243, Y = 324323243, читатель сам может убедиться в том, что X порождает обращение Y, а Y порождает ассоциат X; последняя часть этого утверждения особенно очевидна.)
Можно подойти к решению этой задачи и по-другому. Из решения задачи 5 мы знаем, что существуют числа Z и W, при которых Z порождает NW, a W порождает MZ (а именно числа Z = 32N2M3 и W = 2M32N2M3). Тогда, согласно утверждению 1 из предыдущей главы, число MZ порождает M(NW), a число NW порождает N(MZ). Поэтому если мы обозначим MZ через X, a NW через Y, то сразу получим, что число X порождает М(Y), а число Y порождает N(X). Таким образом, мы получаем то же самое решение: X = M32N2M3 и Y = N2M32N2M3.
7. Здесь нам необходимо найти такое число X, которое порождало бы число М(AN2BX); согласно второму принципу Крейга, таким числом X является число M32AN2BM3. Возьмем N2BX в качестве Y; тогда число X порождает М(AY), а число Y (которое есть N2BX), очевидно, порождает N(BX). Итак, общее решение задачи (или, по крайней мере, одно из возможных общих решений) имеет вид: X = M32AN2BM3, Y = N2BM32AN2BM3. Для конкретного частного случая положим M = 5, N = 4, А = 7 и В = 89.
8. Согласно второму принципу Крейга, существует некоторое число X, которое порождает М(2ВХ), а именно X = М322ВМЗ. Положим теперь Y = 2ВХ. Тогда X порождает М(Y), а Y порождает BX. Для конкретного частного случая примем M = 3 и В = 78; при этом решение будет иметь вид: X = 33227833, Y = 27833227833.
9. а) Возьмем некоторое число X, которое порождает M(AN2X), и обозначим через Y число N2X. (Мы можем взять X равным M32AN23, a Y = N2M32AN23.) Тогда X порождает М(AY), а Y порождает N(X).
б) Теперь возьмем X, которое порождает М(А2ВХ), и обозначим через Y число 2ВХ. (Итак, в этом случае решение имеет вид: X = М32А2ВЗ, Y = 2ВМ32А2ВЗ.)
в) Если число X порождает М(Y), а Y = 2X, то мы сразу имеем решение задачи; поэтому положим X = М322МЗ, Y = 2М322МЗ.
г) Если X порождает М(AY), а Y = 2X, то мы сразу получаем требуемое решение; поэтому положим X = М32А2МЗ и Y = 2М32А2МЗ.
10. Согласно второму принципу Крейга, существует некое число X, которое порождает M(N2P2X), a именно X = M32N2P2M3. Положим Y = N2P2X, тогда число X порождает М(Y). Пусть теперь Z = P2X, тогда Y = N2Z; при этом число Y порождает N(Z), а число Z порождает P(X). Таким образом, в явном виде решение будет таким: X = M32N2P2M3, Y = N2P2M32N2P2M3, Z = P2M32N2P2M3.
Для частного случая это решение имеет вид: X = 432523243, Y = 5232432523243, Z = 32432523243.
Читатель сам может легко убедиться, что действительно X порождает обращение Y, Y порождает повторение Z, a Z порождает ассоциат X.
Кстати говоря, для любых трех чисел А, В и С мы всегда можем найти такие числа U, V и W, при которых U порождает AV, V порождает BW, a W порождает CU. Для этого надо просто взять такое число U, которое порождало бы число А2В2СU (если же мы воспользуемся вторым принципом Крейга, то получим U = 32A2B2C3). Положим теперь V = 2B2CU и W = 2CU. Тогда число U будет порождать AV, число V будет порождать BW, а число W будет порождать CU. Наконец, если теперь принять А, В и С за операционные числа и положить X = AV, Y = BW и Z = CU, то мы получим, что число X порождает A(Y), число Y порождает B(Z), а число Z порождает С(X). Таким образом, мы нашли еще один способ решения данной задачи.