ГЕДЕЛЬ, ЭШЕР, БАХ: эта бесконечная гирлянда
Шрифт:
«является предложением без подлежащего»
«было бы аномалией»
«читается вперед и назад одновременно»
«сымпровизировал по требованию шестиголосную фугу»
являются неарифметическими предикатами. Они выражают свойства, которыми обладают или не обладают определенные предметы или существа. С тем же успехом мы могли бы добавить «подлежащее-пустышку», например, «такой-то». Строчка со свободными переменными подобна такому предикату с подлежащим-пустышкой. Например:
(S0+S0)=b
означает «1 плюс 1 равняется чему-то». Это предикат с переменной b.
Ab:Ac:(b+c)=(c+b)
Эта формула, разумеется, выражает коммутативность сложения. С другой стороны:
Ac:(b+c)=(c+b)
— это открытая формула, поскольку b здесь свободно. Она выражает свойство, которым может обладать или не обладать число b, а именно — коммутативность по отношению ко всем числам с.
Теперь наш словарь, с помощью которого мы сможем выразить все высказывания теории чисел, полон. Чтобы научиться выражать сложные утверждения Ч и, наоборот, понимать значение правильно сформированных формул, необходимо много практиковаться. Поэтому мы обратимся к шести простым высказываниям, данным в начале, и попробуем перевести их на язык ТТЧ. Кстати, не думайте, что переводы, которые вы найдете далее, единственно возможные. На самом деле, существует бесконечное множество способов выразить каждое высказывание в ТТЧ.
Начнем с последнего высказывания: «6 — четное число». Переведем его в
более примитивные понятия: «Существует число e, такое, что 2, умноженное на e, равняется 6.» Это легко перевести в нотацию ТТЧ:
Ee:(SS0*e)=SSSSSS0
Обратите внимание на необходимость квантора; недостаточно было бы написать просто:
(SS0*e)=SSSSSS0
Интерпретация последней строчки не была бы ни истинной, ни ложной; она выражает только свойство, которое может иметь число e.
Интересно, что, поскольку мы знаем, что умножение коммутативно, то вместо нашей строчки мы могли бы написать:
Ee:(e*SS0)=SSSSSS0
Таким же образом, зная, что равенство симметрично, мы могли бы поменять местами стороны этого равенства:
Ee:SSSSSS0=(SS0*e)
Эти три перевода высказывания «6 — четное число» дают три различные строчки; при этом совершенно не очевидно, что теоремность каждой из них связана с теоремностью остальных. (Совершенно так же тот факт, что строчка – p--r--- была теоремой, почти не соотносился с фактом, что ее «эквивалентная» строчка – -p-r--- также была теоремой. Эквивалентность — у нас в голове, так как мы, люди, автоматически думаем об интерпретациях формул, а не об их структурных особенностях.)
С высказыванием 2: «2 не является квадратом» мы расправимся быстро:
~Eb:(b*b)=SS0
Однако
здесь мы снова сталкиваемся с двусмысленностью. А что, если бы мы записали эту формулу по-другому?Ab:~(b*b)=SS0
Интерпретация первой строчки — «Не существует такого числа b, квадрат которого равнялся бы 2»; вторая строчка читается как «Для всех чисел b неверно, что квадрат b равняется 2». Для нас эти строчки представляют одно и то же понятие — однако для ТТЧ это совершенно разные строчки.
Посмотрим теперь на высказывание 3: «1729 — сумма двух кубов». Тут нам понадобятся два квантора один за другим, вот так:
Eb:Ec:SSSSSS.....SSSSS0=(((b*b)*b)+((c*c)*c))
. |--1729 раза--|
Есть несколько альтернатив этой записи: можно переменить порядок кванторов — сменить переменные на d и e; переменить порядок слагаемых; записать умножение по-иному и т. д., и т. п. Однако я предпочитаю следующие два варианта перевода:
Eb:Ec:(((SSSSSSSSSS0*SSSSSSSSSS0)*SSSSSSSSSS0)+((SSSSSSSSS0*SSSSSSSSS0)*SSSSSSSSS0))=(((b*b)*b)+((c*с)*с))
и
Eb:Ec:(((SSSSSSSSSSSS0*SSSSSSSSSSSS0)*SSSSSSSSSSSS0)+((S0*S0)*S0))=(((b*b)*b)+((c*c)*c))
Понимаете, почему?
Давайте попробуем перевести теперь высказывание 4: «Сумма двух положительных кубов сама не является кубом». Предположим, что мы хотим сказать, что 7 не является суммой двух положительных кубов. Легче всего сделать это, отрицая формулу, утверждающую обратное. Эта формула будет почти как предыдущая, касавшаяся 1729, только теперь нам надо добавить, что кубы должны быть положительными. Мы можем сделать это при помощи следующего трюка: добавим к каждой переменной префикс S:
Eb:Ec:SSSSSSS0=(((Sb*Sb)*Sb)+((Sc*Sc)*Sc))
Как видите, мы возводим в куб не сами b и c, а следующие за ними числа, которые должны быть положительными, поскольку минимальная величина b и c — 0. Таким образом, правая сторона представляет сумму двух положительных кубов. Кстати, обратите внимание, что перевод высказывания «существуют числа b и c, такие, что…» не включает символа «», заменяющего «и». Этот символ используется для соединения целых правильно сформированных строчек, а не для соединения двух кванторов.
Итак, мы перевели высказывание «7 — сумма двух положительных кубов»; теперь нам нужно записать его отрицание. Для этого мы должны только поставить тильду слева от него. (Заметьте, что не требуется отрицать каждый квантор в отдельности, хотя нам и надо получить высказывание «Не существует чисел b и c, таких, что…») Таким образом, мы получим:
~Eb:Ec:SSSSSSS0=(((Sb*Sb)*Sb)+((Sc*Sc)*Sc))
Однако нашей первоначальной целью было выразить свойства всех чисел, а не только 7. Для этого давайте заменим символ числа SSSSSSSO строчкой ((а*а)*а), являющейся переводом «а в кубе».