Метанумерика

Валдис Эгле
МЕТАНУМЕРИКА
Дополнительные материалы к медитации НУМЕРИКА

Фрагмент; всю книгу см. в http://vekordija.blogspot.com/2008/09/blog-post.html или в http://vekordija.narod.ru/R-NATUR1.PDF .

Никогда не спорьте с дураком – люди могут не заметить между вами разницы.
Первый закон спора

Написано: 1980.09 – 1980.10, 1981.01, Рига

1. О предмете математики
1980.10.24
(через 4 месяца)

.239. (диалог с Артуром 1980.10.24) [*1]

[*1 Диалог с «Артуром» – это вымышленный диалог (теперь, через 25 лет, я могу признаться в этом преступлении). Имя «Артур» (по имени легендарного короля Артура кельтов (бритов), хозяина «Круглого стола») было моим псевдонимом на конкурсах по программированию (которые я несколько раз выигрывал). Вымышленный диалог должен был показать, какими я хотел бы видеть реальные диалоги. Но не показал – реальные диалоги всегда были неизмеримо более идиотскими.]

.240. АРТУР: Я буду выступать под псевдонимом «Артур», можно?
.241. Я: Конечно, можно.
.242. АРТУР: Я прочитал твою НУМЕРИКУ. Ты там вводишь различные числа. Мне не совсем понятно, на каком основании они вводятся.
.243. Я: Ты слишком многого хочешь от медитации объемом всего в 20 машинописных страниц. В НУМЕРИКЕ я ставлю перед собой цель рассказать о том, ЧТО я делаю, но не ставлю цели рассказать о том, КАК я это делаю. Ты осознал из НУМЕРИКИ сам факт того, что я ввожу какие-то новые системы чисел?
.244. АРТУР: Да.
.245. Я: Тогда НУМЕРИКА своей цели достигла. Если же ты хочешь толком узнать, каким именно образом я эти числа ввожу, то читай дальше остальные медитации.
.246. АРТУР: Что это за «программы процессора множеств», о которых ты там говоришь? Ты не мог бы пояснить по-подробней?
.247. Я: Хорошо, попытаюсь. Это будет объяснение образное и пусть не очень точное и не научное, но зато, может быть, более доходчивое. Взгляни на первый рисунок {.248}. Пусть у нас в голове человека простой (не двойной) линией обведены две теории: математика и физиология (для большей определенности скажем, что это физиология мышц). Стрелками показано «направление взгляда» теории; стрелки идут от того «кто изучает» (субъект) к тому, «что изучается» (объект). Для физиологии субъект (точка C) находится в теории (в обведенном ординарной линией поле), а объект (точка P) – вне самой теории, вне этого поля (но в организме человека). Для математики же и субъект (точка A) и объект (точка B) находятся в самой теории (математика изучает сама себя), и этим она отличается от всех других теорий. Такова традиционная точка зрения.
.248. Традиционное представление: (см. заставку этой публикации)
.249. Мое представление: (см. заставку этой публикации)
.250. Я же предлагаю иную точку зрения. Она показана на рисунке {.249}. Допустим, что наши теории (и вообще все сознание, любовь, творчество и все остальное, что философы обозначают словами «идеальное» и т.п.) занимает только половину головы человека. А вторую половину занимает что-то другое, что я обозначу словами «механизмы мозга». Так вот: я предлагаю такую точку зрения, согласно которой предметом математики являются эти вот механизмы мозга. Теперь математика становится в принципе такой же наукой, как и физиология: одна изучает механизмы мышц, другая – механизмы мозга. Для обоих изучаемый объект находится вне самой теории, но в организме человека.
.251. И для тех и других механизмов есть аналоги вне человека. Как мышцы человека приводят в движение руку с лопатой, так и двигатель трактора перемещает лопату бульдозера. А внечеловеческий аналог механизмов мозга – это компьютеры. Мышцы и двигатель трактора – не одно и то же, но имеют что-то общее. Точно так же мозг и современный компьютер – не одно и то же, но имеют что-то общее.
.252. Признаюсь, что лично я думаю, что в голове человека эти механизмы занимают обе половинки, и что ничего другого там вообще нет. Но для объяснения моего понимания математики в настолько радикальном предположении даже нет необходимости. Мне достаточно лишь немножко потеснить твое «идеальное». Пусть в мозге будут и несводимые к механизмам «чувства», и «творчество», и все остальное, что там по-твоему населяет наши головы. Но пусть рядом со всем этим будут и мои механизмы, некий биологический компьютер, обрабатывающий информацию. И вся сущность моей точки зрения состоит в том, что я предлагаю считать, что математика изучает программы этого компьютера.
.253. АРТУР: Но как ты можешь это доказать?
.254. Я: О, господи! Как вообще в мире можно что-то доказать? Наука вон как продвинулась, а миллионы и миллиарды людей продолжают верить в богов. Значит, для них нет доказательств правильности материализма. Так и тут: я предлагаю тебе определенную точку зрения, а принять ее или не принять – это уже твое дело. Я думаю, что так оно и есть, как я утверждаю о математике, и поэтому рассказываю тебе то, что думаю. Ну, а ты, конечно не обязан мне верить. Ты можешь подойти к этому скептически: «Ну, ну, давай допустим, что это так; посмотрим, что из этого выйдет!». Это меня вполне устраивает. Единственное, мне не хотелось бы, чтобы ты сходу сказал: «Это глупости!», потому что тогда я сочту тебя глупцом и, не дай бог, могу это еще и вслух сказать.
.255. АРТУР: Ну ладно, давай допустим, что ты прав, и посмотрим, что из этого выйдет [*2]. Что ты можешь сказать о своих механизмах мозга? Откуда они взялись, что они делают и т.д.?

[*2 Это фундаментальная установка Веданской теории: принимаем постулат, что мозг человека представляет собой биологический компьютер, в котором действуют все обычные законы информатики, и потом смотрим, что, собственно, из такого постулата вытекает. Веданская теория не утверждает, что этот постулат правильный. Веданская теория утверждает, что ЕСЛИ принять такой постулат, ТО вытекают такие-то и такие-то следствия, и математика (а также другие связанные с человеческой психикой вещи) МОГУТ быть объяснены таким-то и таким-то способом. Но понять такую установку латвийским «ученым» не под силу (не под интеллектуальную силу).]

.256. Я: Взялись они оттуда же, откуда взялись и механизмы мышц. Занимаются они тем, что обрабатывают информацию о внешнем мире – ведь после Винера уже мало кто отрицает, что в мозг от многочисленных рецепторов поступает информация о внешнем мире, которая там как-то обрабатывается. Можешь считать, что программы для этих механизмов имеешь возможность составлять ты сам (подсознательно) своей «идеальной», «творческой» половинкой. Ведь современная психология и психиатрия ясно показали, что в мозге ведется громадная подсознательная работа, о которой ты и не подозреваешь.
.257. Ну, а об устройстве этой машины обработки информации в мозге я, конечно, сказать могу мало что. Но зато я, как сам считаю, неплохо представляю, что вообще могут машины обработки информации и чего они не могут. Если ты меня подведешь к какой-нибыдь совершенно незнакомой мне ЭВМ, скажем, XCX-131, и начнешь рассказывать, например, что этой машине для решения задачки вообще не нужна никакая программа, то я посмеюсь и отвечу тебе: «Иди, расскажи это своей жене, может она тебе поверит, но не говори такое мне!». И поэтому мне кажется не таким уж и бессмысленным предположение о том, что и компьютер мозга имеет свои программы и алгоритмы и что, следовательно, можно о них и говорить, и рассуждать.

2. Мой MIX
1980.10.24

.258. (диалог с Артуром 1980.10.24)
.259. АРТУР: Но как ты можешь рассуждать о совершенно незнакомых тебе программах для совершенно незнакомой тебе машины? Что ты сможешь о них сказать?
.260. Я: В том-то и вся проблема. Если бы эту машину познали бы во времена Эвклида, то мне не приходилось бы теперь говорить, что математики не знают, чем они занимаются. Ее не познали даже сегодня. Но сегодня мы уже кое-что кое о чем можем догадаться и что-то можем представить себе и сказать. В такой попытке и состоит сущность всей моей работы.
.261. Как вообще в принципе к этому подступиться? Так вот, я и предлагаю: давайте предположим, что объекты математики – это продукты таких вот неизвестных нам программ, а потом попытаемся догадаться, какими могли бы быть программы, продукты которых обладают этими заданными и всем известными свойствами.
.262. Иными словами – перед нами задача, часто встречающаяся в программировании: нам известен «выход», результаты программы, и надо догадаться, по какому алгоритму она работает. Дело осложняется тем, что мы не знаем устройства машины: представления данных, системы команд и т.д.
.263. И опять я, в общем-то совершенно необоснованно, так сказать, с потолка, предлагаю: давайте считать основными форматами данных две вещи:
.264. а) информацию (знание) о наличии, существовании объекта;
.265. б) информацию (знание) о том, что этот объект принадлежит какому-то другому объекту (множеству) в качестве элемента.
.266. А за систему команд возьмем некоторый набор элементарных действий с информацией такого рода, например: «установить связь элемент-множество», «разрушить ее», «проверить ее наличие» и т.д.
.267. Ты опять спросишь, как я могу доказать, что все обстоит именно так? Никак. Я и не собираюсь и не могу это доказать иным способом, как только всей стройностью и красотой моей теории. То есть, все мои предложения на самом деле – постулаты, которые как все в мире постулаты, принимаются или отвергаются вместе со всей теорией, исходя из того, насколько хорошо или плохо теория объясняет то, что мы можем наблюдать.
.268. Есть косвенные доказательства. Такие, как простота такой машины. Я не в состоянии придумать ничего проще. Если ты придумаешь машину еще проще, я немедленно перейду на твою сторону. При моей модели биологический компьютер должен фиксировать только две вещи: само наличие объекта и принадлежность его к другому объекту. Что может быть еще проще? Второе косвенное доказательство: человечество уже догадалось, что вещи «элемент-множество» – самое что ни на есть фундаментальное. Так может оно фундаментально именно потому, что это – основное представление данных нашего мозгового компьютера?
.269. Но это лишь косвенные доказательства, и все равно мои предположения остаются системой постулатов, которые не доказываются, а принимаются или отвергаются, исходя из «пригодности» всей целиком теории.
.270. Итак, повторяю основные итоги нашей беседы: я предложил считать предметом математики некоторые алгоритмы или программы мозга, причем за основной формат данных, с которыми оперируют эти программы, принимать информацию «есть объект» и «это элемент», а в качестве системы команд использовать фиксированный набор действий с такой информацией. А ты согласился посмотреть, что из этого выйдет.
.271. Задача у нас заключалась в том, чтобы попытаться догадаться, какими могли бы быть программы, если их продукты обладают теми свойствами, которые нам известны как свойства математических объектов. То есть – мы так или иначе должны рассуждать об этих программах.
.272. Но ты сам знаешь: – очень трудно разговаривать сколько-нибудь более глубоко и подробно о программе, не имея перед собой ее листинга. В аналогичной ситуации находится автор ведущего сочинения [*3] по науке программирования (семитомного «Искусства программирования для ЭВМ») Дональд Кнут. С одной стороны, он не может рассуждать о программах и алгоритмах просто на словах из-за непреодолимой расплывчатости таких рассуждений. С другой стороны, он не может описывать свои общие рассуждения об алгоритмах и программах, используя листинги конкретных программ для конкретной машины на конкретном языке, так как это сразу лишило бы рассуждений общности. Какой выход нашел Кнут?

[*3 Knuth D.E. «The art of the computer programming. Vol.1. Fundamental algorithms». California Institute of tehnology. Addison-Wesley Publishing Company. Reading, Massachusetts; Menlo Park, California; Don Mills, Ontario, 1968; Кнут Д. «Искусство программирования для ЭВМ, т.1. Основные алгоритмы». Мир, Москва, 1976.]

.273. АРТУР: Он придумал гипотетическую машину MIX.
.274. Я: Гипотетическая-то она гипотетическая, но существуют и много реализаций ее на разных конкретных машинах.
.275. В похожей ситуации находился и я. С одной стороны, я не могу рассуждать о программах мозга на словах из-за безнадежной расплывчатости таких рассуждений. С другой стороны, я не мог применять листинги программ мозга по той причине, что я ими не располагал.
.276. И мое решение было совершенно аналогично решению Кнута. Я придумал гипотетическую машину Эуклидос. Как Кнут сначала описывает свои алгоритмы на языке для MIX, а потом анализирует их (причем все, конечно, понимают, что на самом деле речь идет не о программах для этой MIX, а о том общем, что имеют программы различных машин), так и я сначала описываю свои алгоритмы на языке для Эуклидоса, а потом анализирую их (причем надеюсь, что все, конечно, поймут, что речь на самом деле идет не о программах для этого Эуклидоса, а о том общем, что имеется между ними и программами мозга).
.277. АРТУР: Расскажи по-подробнее об Эуклидосе.
.278. Я: Да ты что? Об этом у меня написаны десятки или даже сотни страниц в дальнейших медитациях, а ты хочешь, чтобы я забыл об этом и начал тебе все излагать в этом диалоге, где мы обсуждаем только самую первую медитацию сборника!
.279. АРТУР: А ты расскажи не все. Расскажи самое главное. Расскажи популярно. Мне будет легче читать дальнейшее, если я буду знать это. Ты сам говоришь {.118}, что НУМЕРИКА – это малый круг, который вкратце излагает то, что в дальнейшем рассматривается подробно в «большом круге». Так включи в «малый круг» и популярное описание Эуклидоса. Это никому не повредит, даже общей композиции твоего сборника.
.280. Я: Пожалуй, ты прав. Ну что ж, как говорится, «по просьбе читателей» я вставляю в диалог главы с популярным описанием одного аппарата системы «Эуклидос». Эти главы первоначально предназначались для медитации МНОЖЕСТВА {TRANS.733}.

3. Машина Эуклидос
1980.09
(раньше на 1 месяц)

.281. Итак, рассмотрим гипотетическую машину, которая для меня играет примерно такую же роль, какую играет для Кнута машина MIX.
.282. Машина эта называется «Эуклидос». Она способна запомнить сведения об объектах, о которых я ей сообщаю. Например, я могу в нее ввести следующий текст [*4]:

[*4 Леонард Рогов и Михаил Калтыгин – это мои друзья в Институте электроники и одни из первых читателей всех этих текстов; две Ольги – их жены; Евгений и Андрей – их сыновья.]

P=2 EXT Роговы (Леня, Ольга1, Женя).
P=2 EXT Калтыгины (Миша, Ольга2, Андрей).

.283. Эуклидос запомнит после этого, что существуют объекты, которые называются «Леня», «Ольга1» и «Женя». Более того, он запомнит, что эти объекты объединены во множество, которое называется «Роговы». Эуклидос будет помнить не только о самом существовании таких объектов, не только их названия, присвоенные мною, но и отношения между ними: какие объекты являются элементами каких множеств. Аналогично Эуклидос расправится и с семьей Калтыгиных.
.284. Таких операторов можно вводить в Эуклидос сколько угодно (то есть, сколько позволяет емкость его памяти, которая зависит от мощности той ЭВМ, на которой Эуклидос реализован). Можно строить не только двухуровневые структуры, как в данных примерах, но и неограниченную (теоретически) иерархию структур, объединяя «Роговых» и «Калтыгиных» в какое-нибудь множество (например, множество семей моих друзей) или разлагая, например, множество «Леня» на элементы «голова», «рука-правая», «рука-левая» и т.д.
.285. Каждому объекту, о котором я сообщил Эуклидосу, он сопоставляет одну внутримашинную структуру-таблицу. Например, по оператору

P=2 EXT Роговы (Леня, Ольга1, Женя)

.286. Эуклидос построит 4 таблицы, соответствующие объектам «Леня», «Ольга1», «Женя» и «семья Роговых».
.287. Такая таблица, находящаяся внутри Эуклидоса и соответствующая объектам внешнего мира, называется НОМИНАЛИЕЙ. Можно считать, что во внешнем мире существует множество «Роговы», а в Эуклидосе – соответствующая ему номиналия множества «Роговы». Однако для краткости я часто вместо слов «номиналия множества, существующая в Эуклидосе» говорю менее точно: «множество, построенное в Эуклидосе».
.288. Таким образом, основная концепция множества в Эуклидосе подразумевает: «множество во внешнем мире – таблица-номиналия в Эуклидосе».
.289. Конечно, Вы всегда можете обмануть Эуклидос и оператором

P=2 EXT Драконы (Хау, Бау, Лау)

.290. сообщить ему о существовании трех драконов Хау, Бау и Лау. Но, если мы будем каждый раз это оговаривать, то никогда не сможем переползти через барьер всяких оговорок и не дойдем до более существенных вещей. Поэтому я считаю, что в любом случае в Эуклидосе – номиналия, а во внешнем мире – само множество. Конечно, это отчетливо имеет место только в «исходном состоянии», а потом картина все больше расплывается.
.291. Множества в Эуклидосе могут быть и пустыми – это просто таблица-номиналия, не имеющая ссылок на другие таблицы-элементы.
.292. Между номиналиями элементов и номиналиями множеств нет принципиальной разницы (таблицы одинаковы), все решается только ссылками между номиналиями.
.293. Объекты могут одновременно принадлежать разным множествам (например, объект «Леня» может принадлежать множеству «Роговы» и множеству «мужчины»). Обо всем этом я могу сообщить Эуклидосу на специальном языке, и все это он надежно запоминает в виде внутримашинных таблиц и ссылок между ними.
.294. Язык общения с Эуклидосом называется Эуклидолом и похож на все алгоритмические языки. Главная единица языка – это предикат (в переводе: «высказывание»). Центральный член предиката – это оператор, а вокруг него находятся операнды, которые называются префиксами, если предшествуют оператору или суффиксами, если следуют за ним. Например, в предикате

P=2 EXT Роговы (Леня, Ольга1, Женя)

.295. «EXT» – оператор; «P», «=» и «2» – три префикса, а «Роговы» – суффикс. Заключенные в скобках символы «Леня», «Ольга1» и «Женя» – подоперанды операнда «Роговы». Операнды и подоперанды отделяются друг от друга и от оператора группами пробелов или запятыми. Пока таких сведений о синтаксисе языка будет достаточно.
.296. Но Эуклидос может не только запомнить связи между объектами, которые я ему назвал. Он может этими объектами и манипулировать, в результате этого изменяя связи между ними, создавая новые или уничтожая старые объекты. Что и как делать, я ему предписываю. Такое предписание называется алгоритмом или программой. Алгоритмы (или программы) Эуклидоса составляются, комбинируя элементарные операции или команды.

4. Система команд
1980.09

.297. Основной набор команд Эуклидоса состоит из 12 операций:

.298. 1) Оператор ТЕХ М(е)
– проверить, имеется ли во множестве «М» е-тый элемент.
.299. 2) Оператор ТЕС Е(а),М
– проверить, принадлежит ли а-тый элемент множества «Е» также и множеству «М».
.300. 3) Оператор ХА а
– увеличить индекс «а», то есть перейти к следующему элементу в тех множествах, которые им индексируются.
.301. 4) Оператор ХЕ а
– уменьшить индекс «а», то есть перейти к предыдущему элементу.
.302. 5) Оператор ХО а
– установить индекс «а» на ноль, то есть, перейти к началу множества.
.303. 6) Оператор ХЕХ а,е
– установить индекс «а» равным индексу «е».
.304. 7) Оператор ВЕ А
– в случае, если «есть» (проверяемый оператором «ТЕХ» элемент или принадлежность, проверяемая оператором «ТЕС»), то перейти к оператору, помеченному меткой «А» (то есть выполнить его в качестве следующего).
.305. 8) Оператор ВО А
– в случае «отсутствия» перейти к оператору «А».
.306. 9) Оператор СЕ М(е)
– создать е-тый элемент в множестве «М».
.307. 10) Оператор МО М,Е
– включить объект Е в множество «М».
.308. 11) Оператор ОМ М,Е
– удалить элемент Е из множества «М».
.309. 12) Оператор ЕХ А: М
– выполнить алгоритм «А», подставляя ему в качестве входных данных (материала) множество «М».

.310. Таков основной набор тех манипуляций с множествами, которые может выполнить Эуклидос. Здесь, разумеется, не приведены все возможности записи операторов; для этого я отсылаю Вас к медитациям ЭУКЛИДОС {.994}, ПРЕДИКАТ {.1308} и АЛГОРИТМ {.1563}.
.311. При помощи этих элементарных операций я могу предписать Эуклидосу весьма сложные действия с множествами подобно тому, как при помощи небольшого набора простых машинных команд можно составлять чрезвычайно сложные машинные программы.
.312. Предписания Эуклидосу сделать какие-нибудь действия с множествами, на Эуклидоле описываются в виде замкнутых, законченных блоков, называемых «алгоритмами». Описания таких блоков начинаются оператором «АЛГОРИТМ», который присваивает данному алгоритму название. Далее следует Оператор «МАТЕРИАЛ», перечисляющий абстрактные множества, которые даны алгоритму на входах, потом оператор «ПРОДУКТ», перечисляющий абстрактные множества, построенные данным алгоритмом. Далее следуют описания собственно манипуляций с множествами, и все завершается оператором «КОНЕЦ».
.313. Таким образом, понятие «алгоритм» в Эуклидосе соответствует понятию «программа» на ЭВМ. Я иногда употребляю здесь и слово «программа», но обычно отдаю предпочтение слову «алгоритм». Это было вызвано тем, что в отношении процессов в мозге человека «алгоритм» звучит мягче, чем «программа». Существенного значения выбор слова не имеет [*5].

[*5 Вообще в Веданской теории под словом «программа» обычно понимается одна конкретная материальная структура, определяющая исход процесса. В компьютерных эквивалентах это будет так: возьмите какую-нибудь компьютерную программу, скажем, Word-2000, и загрузите ее в свой компьютер (т.е. запустите ее). Теперь эта программа в оперативной памяти Вашего компьютера существует как определенное состояние микросхем (как множество битов «0» или «1»). Вот, это конкретное состояние микросхем в одном конкретном компьютере в один конкретный момент времени и есть то, что в Веданской теории обозначается словом «программа». От этого состояния схем будет зависеть, как компьютер отработает и что он сделает при определенном импульсе (например, при нажатии клавиши). Словом «алгоритм», напротив, в Веданской теории обозначается тот общий принцип, который существует всякий раз, когда в разных компьютерах или в одном компьютере в разное время загружен Word-2000. Если Вы при таких определениях этих слов захотите рассказать кому-то, что именно делает Word-2000, то Вы скоро обнаружите, что фактически безразлично, употребляете ли Вы слово «программа» (и подразумеваете один конкретный раз загрузки), или употребляете слово «алгоритм» (и подразумеваете все случаи загрузки вместе). Поэтому в текстах Веданской теории (при строгих определениях и последовательном понимании!) эти слова постоянно чередуются.
Самопрограммирование же означает в компьютерных эквивалентах, что состояние схем одного участка памяти компьютера (программа) меняет состояние схем другого участка (т.е., создает там какую-то другую программу, чем та, что там имелась раньше).]

.314. Выполняя алгоритмы, Эуклидос, конечно, оперирует номиналиями, находящимися в его оперативной памяти, но я часто говорю (конечно, неточно), что он оперирует самими множествами, которые, согласно принятой концепции, находятся во внешнем мире.
.315. В результате выполнения алгоритма Эуклидос может построить новые таблицы-номиналии (я говорю часто: построить новые множества). Поскольку, согласно начальной концепции, объект, соответствующий таблице-номиналии, называется множеством и находится во внешнем мире, то получается, что своим построением новой таблицы-номиналии, Эуклидос создал множество во внешнем мире.
.316. Хотя это многих смущает, но ни к каким катастрофическим последствиям такое мнение не приводит, если только понимать, как обстоят дела в действительности. Отказаться же от начальной концепции (что во внешнем мире существует множество «Роговы», а в Эуклидосе – таблица-номиналия ему соответствующая) – это еще хуже.
.317. С описанием алгоритма на Эуклидоле Эуклидос делает то же самое, что ЭВМ со своими исходными программами. Он транслирует их, то есть переводит в свое внутреннее представление, запоминает у себя в памяти и потом может выполнять сколько угодно раз с различными «входными данными». Таким образом, мы имеем уже два главных типа запомненной Эуклидосом информации:
а) номиналии множеств;
б) алгоритмы.
.318. Каждый более менее квалифицированный программист легко представит себе, как реализовать Эуклидос на ЭВМ. Сам Эуклидос очень похож на ЭВМ: по сути дела это процессор, работающий с особым типом информации о внешних объектах и о связях между ними (с номиналиями) или, иными словами, – процессор множеств.

5. Алгоритм Равномощности
1980.09

.319. Вот пример описания алгоритма на Эуклидоле:

§ АЛГОРИТМ Равномощности.
МАТЕРИАЛ База, Эталон
ПРОДУКТ Изок
1 ТЕХ База(а,е)
2 ВО 7
3 ТЕХ Эталон(е)
4 ВО 10
5 ХА е
6 В 1
7 ТЕХ Эталон(е)
8 ВЕ 10
9 МО Изок, База(а)
10 ХА а
11 ХО е
12 ТЕХ База(а)
13 ВЕ 1
14 КОНЕЦ %

.320. Я призываю читателя вместе со мной досконально разобраться в том, как работает этот алгоритм, так как на понятии подобных алгоритмов основаны все дальнейшие рассуждения о теории множеств, вся моя концепция математических теорий.
.321. Этот алгоритм называется: «Алгоритм Равномощности». На вход ему подаются два абстрактных множества, называемые «База» и «Эталон». Абстрактными эти множества называются потому, что в данный момент, когда я пишу этот алгоритм, когда мы вместе с Вами его анализируем, когда Эуклидос его транслирует и запоминает, не известно еще, какими на самом деле будут эти два входных множества. И только непосредственно давая команду Эуклидосу выполнить этот алгоритм, я укажу какие, собственно, множества (уже конкретные множества) взять в качестве Базы и Эталона. Более того, Эуклидос может выполнить этот алгоритм много раз, и каждый раз с другой Базой и другим Эталоном.
.322. Аналогично обстоят дела с продуктами алгоритма. Алгоритм Равномощности создает одно абстрактное множество, называемое «Изок». Конечно же, каждый раз при выполнении этого алгоритма изоком станет другое конкретное множество, и оно будет зависеть не только от того, каким был алгоритм его построения, но и от того, какими были при этом база и эталон.
.323. Все операторы, которые Эуклидос выполняет при реализации алгоритма в нашем примере, перенумерованы. Обычно нет необходимости помечать все операторы алгоритма – достаточно помечать лишь те, на которые ссылаются операторы перехода, причем можно помечать не только номерами, но и любыми именами (Эуклидос допускает в качестве метки оператора любой символ (цифровой или буквенный), лишь бы он не совпадал ни с одним из названий самих операторов).
.324. Сущность описанного алгоритма заключается в следующем: База представляет собой совокупность каких-то множеств. Алгоритм Равномощности должен отобрать среди них все те множества, которые равномощны Эталону, и поместить их в создаваемое множество Изок. Таким образом, Изок будет таким подмножеством Базы, которое содержит все равномощные Эталону множества.
.325. Но приступим к разбору собственно алгоритма. Оператором 1 проверяется, есть ли в множестве «База(а)» – то есть в очередном множестве Базы – очередной элемент с индексом «е». Если он есть, то выполняется оператор 3, который проверяет, есть ли в Эталоне соответствующий элемент. Если и в Эталоне он имеется, то оператором 5 переходим к следующему элементу (увеличив индекс «е»), а оператор 6 предписывает повторить снова проверку соответствующих элементов. (Оператор «В» безусловного перехода не принадлежит к элементарным и не был упомянут выше, так как он может быть реализован двумя подряд идущими операторами «ВЕ» и «ВО»).
.326. Таким образом Эуклидос будет проверять наличие соответствующих элементов в множествах «Эталон» и в очередном множестве из Базы до тех пор, пока не кончится одно из этих множеств. Если он раньше обнаружит конец множества «База(а)», то перейдет к оператору 7 (в этом случае еще не известно, отсутствует ли данный элемент также и в Эталоне, поэтому оператором 7 он это проверит; если этот элемент отсутствует также и в Эталоне, значит «База(а)» равномощна Эталону).
.327. Если же оператор 3 обнаружил, что «Эталон» кончился раньше, чем «База(а)» или оператор 7 обнаружил, что «База(а)» кончилась раньше чем «Эталон», значит эти множества не равномощны, и нас не интересуют. Если же «База(а)» равномощна Эталону, то оператором 9 она помещается в создаваемое множество «Изок».
.328. Дальше оператором 10 переходим к следующему множеству «База(а)», а оператором 11 индекс «е» сбрасываем в начало множества. Оператором 12 проверяется, существует ли очередная «База(а)»; если она существует, то все начинается сначала, иначе алгоритм закончен.
.329. О разных деталях этого процесса в Эуклидосе можно было бы еще много рассказывать, но я надеюсь, что основное будет читателю понятно и что он получил достаточное представление о том, что я имею в виду, когда произношу слово «алгоритм».

6. Еще два алгоритма
1980.09

.330. Теперь разберем еше один алгоритм:

§ АЛГОРИТМ Изоквант.
МАТЕРИАЛ Базокванта.
ПРОДУКТ Квантолина (Изокванта), Эталоны.
1 ЕХ Равномощности: Базокванта, Эталоны, Изокванта(к).
2 ТЕХ Базокванта(а,к)
3 ВО 7
4 СЕ Эталоны(к)
5 ХА к
6 В 1
7 ХА а
8 ТЕХ Базокванта(а)
9 ВЕ 2
10 КОНЕЦ %

.331. Этому алгоритму на вход подается одно множество, называемое Базоквантой. Строит он два множества, называемые Квантолиной и Эталонами. Элемент Квантолины называется «Изокванта».
.332. Первый же оператор вызывает Алгоритм Равномощности, подставляя ему в качестве базы Базокванту, а в качестве эталона множество, здесь называемое «Эталоны». Поскольку это множество является продуктом Алгоритма Изоквант, а тот еще ничего не делал для создания этого множества, то оно окажется пустым при первом выполнении оператора 1 (все продукты при входе в алгоритм пусты). Таким образом, первый раз Алгоритм Равномощности будет выполнен с пустым эталоном (то есть, в Изок будут помещены все пустые множества из Базокванты). Этот изок станет первой изоквантой (в операндах оператора «ЕХ» перечисляются: сначала название алгоритма, потом материалы, потом продукты выполняемого алгоритма, таким образом устанавливая соответствие между объектами вызывающего и вызываемого алгоритма).
.333. Итак, при первом выполнении оператор 1 построит Изокванту, состоящую из всех пустых множеств, какие только имеются в базокванте. В дальнейшем оператор 4 добавит к эталонам один элемент, оператор 5 осуществит переход к строительству следующей изокванты, а оператор 6 вернет Эуклидос к выполнению Оператора 1.
.334. Теперь в Эталонах уже будет один элемент, и Алгоритм Равномощности отберет из базокванты все множества, содержащие один элемент. В следующий раз в Эталонах уже будут два элемента, и будет построена изокванта, состоящая из множеств, имеющих мощность два.
.335. Так это будет продолжаться до тех пор, пока оператор 2 не обнаружит, что в первом элементе базокванты (ведь индекс «а» не менялся!) отсутствует элемент «к». Это означает, что построена изокванта, содержащая первое множество из базокванты. Теперь Эуклидос зациклится в операторах 2, 7, 8, 9 до тех пор, пока не обнаружит такое множество «Базокванта(а)», в котором элемент «к» присутствует, или пока не будет исчерпана вся базокванта. В первом случае алгоритм будет продолжен, так как в базокванте обнаружено множество, более мощное чем то, на которое до сих пор указывал индекс «а». Если же такое более мощное множество не будет обнаружено, то алгоритм заканчивает работу, так как уже построена изокванта, содержащая самое мощное множество из базокванты.
.336. И, наконец, рассмотрим такой алгоритм:

§ АЛГОРИТМ Сложения.
МАТЕРИАЛ Базокванта, Слагаемое1, Слагаемое2.
ПРОДУКТ Сумма, Эталон.
1 ТЕХ Слагаемое1(0,а)
2 ВО 6
3 МО Эталон, Слагаемое1(0,а)
4 ХА а
5 В 1
6 ТЕХ Слагаемое2(0,е)
7 ВО 11
8 МО Эталон, Слагаемое2(0,е)
9 ХА е
10 В 6
11 ЕХ Равномощности: Базокванта, Эталон, Сумма.
12 КОНЕЦ %

.337. В качестве материала этому алгоритму подается та же базокванта, что и предыдущему, и, кроме того, две изокванты, продукты предыдущего алгоритма.
.338. Алгоритм, названный здесь «Алгоритмом Сложения», берет первое множество из обеих изоквант (на них указывает числовой индекс 0) и переправляет в множество «Эталон» сначала все элементы первой входной изокванты (операторы 1-5), потом все элементы второго исходного множества (операторы 6-10). Получается, естественно, множество, содержащее (a+e) элементов (если исходные множества содержали (а) и (е) элементов соответственно).
.339. Оператором 11 при помощи Алгоритма Равномощности строится изокванта всех тех множеств из базокванты, которые имеют мощность a+e.

7. О первом алгоритме
1980.09

.340. Я понимаю, что читатель не мог понять все здесь сказанное просто перелистывая страницы. Для того, чтобы разобраться в том, как работает Эуклидос [*6] под управлением этих алгоритмов (программ), надо перечитывать предыдущие главы по несколько раз, сравнивая словесное описание алгоритма с его текстом на Эуклидосе и с описаниями самих команд.

[*6 Система программ Эуклидос (точнее: описанная здесь ее часть) была полностью спроектирована и частично реализована на машинах ЕС ЭВМ. Вообще Эуклидос предусматривался намного шире, чем здесь описано; планировалось включить в него моделирование все более абстрактных вещей. Аналогично и для языка Эуклидол предусматривалось несколько уровней. Описанный здесь низший уровень похож на языки Ассемблера. На Ассемблерах, может быть, труднее программировать, но зато яснее, что, собственно, происходит в машине. А именно это показать и было моей целью.]

.341. Но я еще раз призываю читателя все же найти в себе силы, чтобы сделать это и до конца понять работу трех приведенных здесь алгоритмов. Я еще раз подчеркиваю, что почти все дальнейшее будет Вам совершенно не понятно, если Вы со всей ясностью не будете представлять себе, что именно я обозначаю словом «алгоритм», как именно происходит манипулирование множествами и, наконец, что вообще из себя представляют эти множества.
.342. Три приведенных здесь алгоритма очень просты. Человеку, имеющему опыт работы с ЭВМ, они будут даваться легче, другим труднее. Описание самого Эуклидоса и основных команд, данное здесь, разумеется, очень неполное. Составляя эти описания, я прыгал с одной высоты на другую, совершенно опуская детали. Полное описание этого аппарата Эуклидоса занимает сотни страниц. Но в полном описании, в свою очередь, сложнее разобраться.
.343. Теперь я буду полагаться на то, что читатель разобрался в приведенных алгоритмах и представляет их работу так же отчетливо как и я. Попытаемся осмыслить некоторые вещи, связанные с этими алгоритмами.
.344. Первый алгоритм, Алгоритм Равномощности, может из данных ему двух множеств (конкретных множеств, все элементы которых в точности известны, таких как множества «Роговы» и «Калтыгины» приведенные в начале этого повествования {.282}) построить третье множество, называемое «Изок». Этот алгоритм я описал при помощи двенадцати элементарных операций с множествами. Но я мог и сказать Вам: «Изок – это подмножество базы, содержащее все те элементы базы, которые равномощны эталону». Если известно, что такое «база» и «эталон», то Вы наверняка признали бы такое определение довольно точным и приемлемым даже для математики.
.345. Но получается, что определение это эквивалентно описанию некоторого алгоритма. Наше словесное определение и вот то описание на Эуклидоле для Эуклидоса по сути дела совершают одну и ту же «работу». Теперь довольно естественно появляется вопрос: «а который способ лучше?».
.346. Про словесное описание можно сказать, что оно «использует понятие равномощности» и что это понятие должно быть само предварительно определено. Тогда я поясню Вам, что «равномощными» называются такие множества, между элементами которых «можно установить взаимно однозначное соответствие». Теперь здесь «наиболее фундаментальным» стало «понятие» «установления взаимно однозначного соответствия». В общем: как не крутись, а что-то надо принимать за известное.
.347. Теперь взглянем на эти же проблемы в случае описания алгоритма на Эуклидоле. Используется ли здесь «понятие равномощности»? Используется ли здесь «понятие взаимно однозначного соответствия»? В общем-то да, в том смысле, что в конце концов в результате всех манипуляций устанавливается, равномощны ли множества или нет. И делается это путем сопоставления очередных элементов в двух множествах, то есть путем «установления взаимно однозначного соответствия».
.348. Но если бы кто-нибудь сказал мне, что при определении множества «Изок» я «опираюсь на понятие равномощности и взаимно однозначного соответствия», то я категорически отверг бы это и сказал бы, что Эуклидосу безразличны ваши равномощности и взаимно однозначные соответствия, что эта машина знает только одно: как выполнить двенадцать элементарных операций с таблицами, кодирующими объекты внешнего мира, и что эти 12 элементарных операций и есть то единственное, что я использую при определении понятия «Изок».
.349. И эти 12 элементарных операций лишены всякой абстрактности, отвлеченности, это совершенно земные, можно даже сказать «материальные» вещи, они столь же прозаичны, как команды ЭВМ. Я могу описать все, что при выполнении их происходит в Эуклидосе и в машине, на которой он реализован, описать с любой точностью вплоть до уровня квантовой механики.
.350. Поэтому (но не только поэтому) я считаю определение понятия «Изок», данное при помощи операторов Эуклидола, более точным, чем словесное определение.
.351. Конечно, и здесь что-то приходится принимать за данное (а именно: 12 элементарных операций). Но, по-моему, такая отправная точка обладает несравненно большей отчетливостью, чем, скажем, «понятие взаимно однозначного соответствия».
.352. Кроме того, как Вы увидите в будущем, используя только эти 12 элементарных операций, я буду один за другим определять целый ряд таких понятий, которые обычно не определяются, а принимаются «интуитивно ясными» или «основными», «не требующими определения».
.353. Можно считать, что я уже только что при их помощи определил такие понятия как сами «равномощность» и «взаимно однозначное соответствие». В дальнейшем мы увидим, как из мозаики, составленной при помощи кирпичиков 12 команд, выделяются и уходят в жизнь такие фундаментальные понятия, как числа всех видов, алгебраические операции, логические операции, объединение, пересечение множеств и т.д. Все это в миг перестает быть фундаментом, если за фундамент принять 12 команд материального, реального, физического, лишенного всякой абстрактности, процессора множеств.

8. О втором алгоритме
1980.09

.354. Теперь перейдем к осмысливанию второго алгоритма. Он (при помощи первого) строит множество, называемое «квантолина», а каждый элемент квантолины, это изокванта, множество равномощных множеств из базокванты. Опять, конечно, я мог бы все это описать (и определить понятие изоквант) и на словах, но, как я считаю, это было бы менее точным определением, чем данное мною на Эуклидоле.
.355. Первая изокванта (лучше скажем: нулевая) содержит все пустые множества из базокванты, следующая – все множества, состоящие из одного элемента, еще следующая – все множества, состоящие из двух элементов и т.д. (в Эуклидосе, в отличие от математики, может быть сколько угодно пустых множеств). Сколько элементов будет содержать каждая изокванта, это, конечно, полностью зависит от того, какую базокванту Вы дадите алгоритму на вход при его реализации. Изокванты могут быть и пустыми, если в базокванте нет множеств соответствующей мощности.
.356. Точно так же общее число построенных Эуклидосом изоквант будет зависеть от того, каково было самое мощное множество в базокванте. Конечно, эти множества из базокванты никогда не будут бесконечными (ведь Вы должны указать Эуклидосу отдельно каждый объект, принадлежащий множеству, а он должен для каждого такого объекта построить свою таблицу – номиналию. И квантолина ни при какой реализации, выполнении этого алгоритма, не будет бесконечной.
.357. Но все эти ограничения множеств в базокванте никак не связаны с самим алгоритмом. Он-то как раз и мог бы генерировать все новые и новые изокванты, дайте только соответствующую базокванту. Ограничены Вы, Ваши возможности, а не алгоритм.
.358. И тут мы приходим к мысли о бесконечном ряде изоквант, которые мог бы построить наш алгоритм, «если бы да кабы», – о бесконечном ряде абстрактных множеств, потенциальных продуктов нашего алгоритма. Естественно, что эти потенциальные продукты приведенного алгоритма, которые тот мог бы создать «если бы...», нигде реально не существуют. Но ведь это не значит, что мы не имеем права о них думать и рассуждать. Надо только ясно сознавать что есть что, – что существует реально (в пространстве и времени) и что лишь потенциальные возможности, неосуществленный проект. Рассматривая бесконечное множество изоквант, этих потенциальных продуктов нашего алгоритма, мы по сути дела рассматриваем, изучаем сам алгоритм, единственное, что здесь существует реально. Ведь только от алгоритма зависит то, какими свойствами будут обладать его потенциальные продукты.

9. О третьем алгоритме
1980.09

.359. Все Изокванты можно перенумеровать и обозначить теми же значками, которыми мы обозначаем ноль и натуральные числа. Тогда можно говорить об изокванте «0», изокванте «1», изокванте «2» и т.д.
.360. Теперь осмыслим третий алгоритм. Ему на вход подаются две изокванты (пусть, к примеру, это будут изокванта «3» и изокванта «4»). Он же строит новую изокванту. Можете убедиться, что эта изокванта будет содержать абсолютно те же элементы, что и изокванта «7», то есть будет ей эквивалентна. Таким образом этот алгоритм сопоставляет любым двум данным ему на вход изоквантам третью изокванту.
.361. Я мог бы (и, надеюсь, читатель тоже мог бы) написать еще три алгоритма (назовем их – совершенно произвольно, конечно – алгоритмами «умножения», «вычитания» и «деления»), которые ставили бы двум изоквантам в соответствие третью каким-нибудь иным способом, чем это делает Алгоритм Сложения, например, тем способом, о котором читатель уже наверняка подумал. Если я здесь не привел описания на Эуклидоле этих еще трех алгоритмов, то только потому, что в этом нет никакой необходимости, и я не хотел наводнять страницы данной работы операторами Эуклидола, отпугивая читателей (позже я опишу эти алгоритмы на Эуклидоле, завершая определение системы традиционных натуральных чисел).
.362. Итак: шесть алгоритмов, три описанных и три не описанных. Теперь мы можем поговорить о целой системе их потенциальных продуктов.
.363. Я хочу напомнить читателю, что в разговоре об Эуклидосе я вплоть до этой страницы не высказывал абсолютно никаких предположений о природе математических объектов; все это, о чем мы говорили, не имело на самом деле абсолютно никакого отношения к математике, я Вам рассказывал о своей машине, которую я построил чтобы играться с ней «по определенным правилам», – и только. Я вел читателя по индуктивному пути.
.364. Но вот какая получается интересная штука: система потенциальных продуктов моих шести алгоритмов абсолютно изоморфна системе натуральных чисел. Изоморфна в том смысле, что какое бы Вы ни взяли свойство натуральных чисел (с нулем) и операций над ними, я Вам покажу соответствующее свойство потенциальных продуктов моих шести алгоритмов. Какое забавное совпадение, не правда ли?
.365. Сами изокванты, эти потенциальные продукты, построенные при помощи Алгоритма Равномощности, выстроились в бесконечный строго упорядоченный ряд, и каждая изокванта соответствует какому-нибудь числу.
.366. Алгоритм Сложения сопоставляет изоквантам «3» и «4» изокванту «7», но ведь 3+4=7. Если Вы скажете, что a+e=e+a, то я Вам отвечу, что Вы можете поменять местами материалы третьего алгоритма, а продукт его от этого не изменится. И так далее: какое бы Вы ни назвали свойство системы натуральных чисел, я Вам покажу, что аналогичными свойствами обладают и потенциальные продукты моих программ для Эуклидоса.
.367. И тут, чего не бывает, у кого-нибудь из наиболее дерзких читателей может появиться мысль: «А просто ли это совпадение?».
.368. Что такое Эуклидос? Это система, запоминающая информацию о существовании внешних объектов, о связях между этими объектами, и манипулирующая этой информацией. А вдруг мозг – это тоже система, запоминающая информацию о существовании внешних объектов, о их связях, и манипулирующая этой информацией? Вдруг система натуральных чисел и система потенциальных продуктов моих шести алгоритмов – объекты одинаковой природы, и их изоморфизм вовсе не случайность? Вдруг натуральные числа – также система потенциальных продуктов каких-то мозговых программ?
.369. О нет, конечно, это кощунство, ересь! Такой вывод ни в коем случае нельзя сделать из одного соответствия между объектами совершенно разной природы: ведь числа – это числа, а эти алгоритмы – это совсем другое!
.370. Логически безупречный вывод о том, что система натуральных чисел должна являться системой потенциальных продуктов каких-то алгоритмов мозга, конечно, сделать нельзя. Здесь наш индуктивный путь обрывается. Дальше возможен только скачок на дедуктивный путь: можно провозгласить постулат о том, что числа – потенциальные продукты алгоритмов мозга, а потом показать, что это не ведет абсолютно ни к каким противоречиям, что это прекрасно согласуется с известными фактами, и что это даже позволяет пролить свет на многие неясные до сих пор вопросы.
.371. Именно так я и поступаю. Умных людей это должно заставить относиться серьезно к такой системе постулатов.

10. Перспективы обобщения
1980.09

.372. Если мы совершили прыжок на дедуктивный путь и приняли за постулат положение о том, что числа (и вообще все абстрактные математические объекты) – это потенциальные продукты (или материалы) каких-то внутримозговых алгоритмов манипулирования с множествами (с конечными и конкретными множествами, разумеется), то появляется естественный вопрос: до какой степени мы можем, имея на самом деле в виду алгоритмы мозга, разбираться в программах игрушечной машины «Эуклидос»?
.373. Ясное дело, что мозг – не совсем Эуклидос. Да и сам Эуклидос я мог бы сделать в тысячах различных вариантов. Я никогда не утверждал, не утверждаю и не собираюсь утверждать, что имеется полное соответствие между мозгом и Эуклидосом, между биологическими алгоритмами мозга и моими программами на Эуклидоле. Сейчас у нас нет возможности изучать подлинную «систему команд» и «операционную систему» мозга. Так я Вас спрашиваю: «Что лучше в этих условиях: сидеть сложа руки или изучать хотя бы программы Эуклидоса?».
.374. Да, Эуклидос не мозг. Эуклидос модель. Упрощенная, как все модели. Но если системы продуктов программ Эуклидоса обнаруживают такую потрясающую аналогию с математическими системами, то, может быть, Эуклидос не такая уж и плохая модель?
.375. Эуклидос запоминает информацию о существовании внешних объектов и о связях между ними. Но, может быть, мозг тоже запоминает информацию о существовании внешних объектов и о связях между ними? Пусть он запоминает другими средствами, но, может быть, он запоминает ее? И аналогия между Эуклидосом и мозгом состоит именно в этом?
.376. Что такое 12 элементарных операций Эуклидоса? Это средства, позволяющие:
.377. а) устанавливать и разрушать связи между объектами (поместить во множество и удалить из него) (операторы «МО» и «ОМ»);
.378. б) создавать и уничтожать объекты (оператор «СЕ» и внутренняя обработка вызова алгоритма);
.379. в) проверять наличие объекта и наличие связей (операторы «ТЕХ» и «ТЕС»);
.380. г) принимать различные действия в зависимости от результатов этих проверок (операторы переходов «ВЕ» и «ВО»);
.381. д) переходить от одних объектов к другим (операции с индексами);
.382. е) комбинировать отдельные алгоритмы (оператор «ЕХ»).
.383. Так, может быть, мозг тоже обладает такими средствами? Не такими в точности операторами, разумеется, а вообще такими средствами? И в ЭТОМ его аналогия с Эуклидосом? И этой аналогии в работе уже достаточно, чтобы существовала глубокая аналогия в продукции? И тогда изучение программ Эуклидоса не такое уж бессмысленное занятие?
.384. Если вступить на дедуктивный путь и принять постулат о том, что математические структуры – это системы потенциальных продуктов каких-то алгоритмов, то появляется возможность считать, что Алгоритм Изоквант, описанный выше – это определение множества натуральных чисел, а третий алгоритм – это определение операции сложения. Таким образом, эти понятия перестают быть первичными, а определяются при помощи все тех же 12 элементарных операций в принципе точно так же, как при помощи первого алгоритма мы определяли понятие «Изок».
.385. Но теперь довольно легко понять, что будет достаточно несколько изменить определяющий алгоритм (а это так же просто, как изменить программу ЭВМ), чтобы мы имели дело уже с несколько другими потенциальными продуктами. Таким образом можно определить системы, с одной стороны похожие на ранее известные, а, с другой стороны, отличающиеся от них.
.386. Да и вообще традиционные математические системы перестают быть чем-то объективным, чем-то абсолютным, чем-то больше, нежели одним, в общем-то в значительной степени случайным, вариантом определяющих алгоритмов.
.387. В частности, например, геометрия Эвклида – один вариант потенциальных продуктов определяющих алгоритмов, неэвклидовы геометрии – другие варианты. Аналогичная ситуация наблюдается в системах чисел: традиционная система чисел, создавшаяся исторически и завершенная Карлом Гауссом – это лишь система потенциальных продуктов одного варианта определяющих алгоритмов. В медитации ЧИСЛА {.1742}, {.1885} я привел другой вариант определяющих алгоритмов (то есть, определил другую систему чисел, на мой взгляд более стройную, чем традиционная).
.388. Но все эти перспективы открываются лишь тому, кто перешел на дедуктивный путь и принял постулат о программистской природе математики. Для того, кто остался на индуктивном пути, речь может идти только о странных переплетениях потенциальных продуктов программ для машины Эуклидос и об удивительных аналогиях между этими программами и математикой.

11. Что делает математик ?
1981.01.14
(через 4 месяца)

.389. (диалог с Артуром 1981.01.14)
.390. Я: Вот, таковы те главы, в которых я пытался очень популярно изложить сущность всего, о чем говорится в сборнике «О природе чисел»; главы, которыми я намеревался начать следующий сборник и которые теперь по твоей «вине» {.279} включил в наши с тобой разговоры, опережая ими подробное изложение всего этого в дальнейших медитациях.
.391. АРТУР: Не беспокойся. Человечество тебя простит.
.392. Я: Вернемся к природе чисел. Будут ли у тебя вопросы относительно НУМЕРИКИ или предыдущих глав?
.393. АРТУР: Да. Теперь я (ну, так: более менее) представляю, что такое процессор множеств. Значит ты считаешь, что в мозге математика, когда он занимается своей наукой, происходит нечто похожее на то, что происходит в Эуклидосе, когда тот выполняет такие алгоритмы как те, о которых ты тут писал?
.394. Я: Нет.
.395. АРТУР: Как – нет? Тогда я опять ничего не понимаю!
.396. Я: Я утверждаю, что математик располагает подобными алгоритмами. То есть, он МОЖЕТ сделать подобные манипуляции, если захочет. Он может, например, взять и сопоставить элементы двух множеств (ну, скажем, множеств яблок в двух тарелках), поочередно касаясь их пальцами обеих рук по алгоритму, эквивалентному Алгоритму Равномощности. (Ведь если он это сделать может, то он располагает соответствующим алгоритмом). Но в действительности он это делает редко. Основное его занятие состоит в том, что он этот алгоритм изучает. Он изучает алгоритм, которым располагает, которым мог бы пользоваться, если бы захотел, но которым на самом деле пользуется редко. Он все размышляет: «Что бы было, если бы этот алгоритм запустить так? А если этак? Что бы получилось?». Он размышляет над тем, что бы получилось, и при этом все думает, что предмет его размышлений нереален, воображаем, придуман им самим.
.397. Ну, конечно, все то, что «получилось бы, если бы...», все это нигде не существует. Но сам алгоритм, над которым он тут возится, он-то существует. Чем эта ситуация отличается от той, например, в которой я, наклонившись над листингом своей программы для ЭВМ, размышляю о том, что будет, если ей дать на вход это... Или то? Или от той ситуации, в которой механик думает о том, что будет, если в мотор брызнет грязь? Я не вижу здесь никакой принципиальной разницы. Однако ни программист, ни механик не говорят, что они занимаются плодами своего воображения и что их специальность изучает сама себя и что это только игра по определенным правилам. А математика хлебом не корми, дай только об этом поговорить!
.398. В конце концов не имеет же значения выбор слов. Пожалуйста, давайте и я буду говорить, что я как программист на своем рабочем месте занимаюсь плодами своей фантазии, что программирование изучает сама себя, что это только игра по определенным правилам. В отношении программирования эти слова столь же оправданы или не оправданы, как и в отношении математики. Только в отношении программирования они звучат как-то причудливо. В моих ушах они так же причудливо звучат и в отношении математики.
.399. АРТУР: Ну вот, опять пошел ругать математиков!
.400. Я: Извини.
.401. АРТУР: Ты сказал, что твои утверждения о природе математических объектов – это постулаты и что правильность этих постулатов проверяется тем, насколько хорошо они объясняют различные вещи...
.402. Я: Я такого не говорил. Я говорил, что мои постулаты, как все в мире постулаты, принимаются или отвергаются исходя из того, насколько построенная на них теория пригодна для объяснения различных вещей.
.403. АРТУР: Разница небольшая.
.404. Я: Разница большая. Нельзя проверить ПРАВИЛЬНОСТЬ ПОСТУЛАТОВ. Можно проверить ПРИГОДНОСТЬ ТЕОРИИ. По-моему здесь большая разница.
.405. АРТУР: Но как ты проверишь пригодность своей теории?
.406. Я: Действительно – по каким критериям определить, когда такая система постулатов еще только общефилософская гипотеза и когда она уже нечто большее? Имеется очень широкий спектр возможностей провести эту границу: от того, чтобы считать ее обоснованной с первых же слов, до того, чтобы требовать пройтись с ней по самим мелким тропинкам «сада математики», охватить ею все, что не смогли еще сделать даже Бурбаки. Разные люди, конечно, будут устанавливать эту границу по-разному.
.407. Я буду подносить тебе (и вообще своим читателям) примеры применения этой теории постепенно, по мере их описания. Количество таких примеров будет расти с каждым годом, пока мне не надоест этим заниматься. Когда считать эти примеры достаточно убедительными – это ваше дело, решайте сами! Для меня все ясно не только уже сейчас, но и уже много месяцев тому назад.
.408. Так что, по-моему, проверка пригодности теории – дело субъективное, и не может быть никакого единого для всех критерия: мол, «вот теперь она уже доказана!».
.409. Кстати, почему бы тебе самому не взять какую-нибудь математическую теорию и не попытаться представить ее в той системе понятий, о которой я тут пишу? И таким способом лично «проверить ее пригодность»? Напиши, например, диссертацию на тему «дифференциальное и интегральное исчисление в понятиях теорики» или что-нибудь в этом роде. Или для тебя не мыслимо что-то писать, не заручившись гарантиями, что тебе за это дадут «научную» степень и прибавку к зарплате?