Метатеорика

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

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


Любые предложения люди понимают иначе, чем тот, кто их вносит.
Третий закон Чизхолма

Написано: 1980.07 – 1981.02 Рига

1. Три типа множеств
1980.10.28
(раньше на 13 лет, 7 месяцев, 3 дня)

.914. (Диалог 1980.10.28; предыдущий диалог см. в {.899})
.915. ГЕЙДЕМАН: В главе {.500} ты пишешь: «...всякий, кто рассуждает о каком-нибудь множестве, должен ясно отдавать себе отчет в том, каким объектом, по какому алгоритму и из какого материала множество построено». В главе {.570} же ты говоришь: «Нет причин, не позволяющих субъекту (разумеется, по какому-то алгоритму) построить множество (то есть, номиналию), не содержащую ссылок не только на другие номиналии, но и на алгоритм установления таких связей, то есть, построить совершенно НЕОПРЕДЕЛЕННОЕ МНОЖЕСТВО, которое (..) ничем не задано, известно лишь, что существует». Не кажется ли тебе, что введение неопределенного множества противоречит первой цитате?
.916. Я: Мне приятно слышать такие вопросы, свидетельствующие об углублении в суть дела.
.917. Сначала уточним, что означают слова «построить множество». Вот что я писал в {.497}: «О множествах я буду рассуждать с точки зрения второй концепции – каждый строит свои множества, существующие после построения в реальном мире, но отдавать себе отчет ясно в том, что физически это построение отражающего его объекта в голове (..). Множество и его отражение строятся одновременно (..), построение отражения означает создание множества. Существует множество – это значит: существует его отражение (..). Такова в первом приближении моя концепция множества (..). В дальнейшем я, отправляясь от этого первичного понимания, введу все более абстрактные множества».
.918. В цитируемой главе еще используется общий, расплывчатый термин «отражение множества», но через одну главу он заменяется более точным и незадействованным словом «номиналия», а в медитации АЛГОРИТМ {.1565} еще больше уточняется описанием его машинных эквивалентов в Эуклидосе (это таблицы СОМ, АВМ и другие таблицы-номиналии, кодирующие множество).
.919. Итак, в моей концепции слова «построить множество», «создать множество» означают то же самое, что построить номиналию (в Эуклидосе: таблицу СОМ, АВМ или другую). Такие номиналии можно создавать различными способами (и Эуклидос различными путями может создать свои таблицы, но, каким бы он путем их не создавал, разумеется, это работает какая-то его подпрограмма, и работает она по какому-то алгоритму).
.920. Поэтому я и говорю в первой из приведенных тобой цитат, что всякий, кто рассуждает о каком-нибудь множестве, должен ясно отдавать себе отчет в том, в результате каких действий появилось это множество (то есть – на самом деле: номиналия или таблица), а во второй цитате говорю, что даже самое неопределенное множество, о котором мы вообще не в состоянии ничего толкового сказать, все равно появляется в результате отработки какого-то алгоритма (программы) (таблица в Эуклидосе не может появиться ниоткуда, и в голове человека тоже).
.921. Тогда чем же отличаются конкретные, абстрактные и неопределенные множества? Сейчас поясню на примере: допустим, что в Эуклидосе уже построены два конкретных множества А и В (слова «конкретное множество» в Эуклидосе означают, что речь идет именно о таблице СОМ, а не о номиналии какого-нибудь другого вида. Эта таблица, в отличие от других, содержит указатель списка элементов. Вообще: «конкретное множество» – это такое, для которого известен список элементов). Допустим далее, что в Эуклидосе введен Алгоритм сечения, который на словах описан в {.646}, а на Эуклидоле в {.1654}.
.922. Теперь ты можешь ввести в Эуклидос оператор, смысл которого, если его перевести на человеческий язык, будет таким: «Построй мне множество С из множеств А и В по Алгоритму сечения» (или, более абстрактно: С – это пересечение А и В, где А и В известны, конкретны»). Эуклидос построит номиналию (таблицу) для множества С и, выполняя Алгоритм сечения, поместит в список элементов этого множества все те элементы, которые имеются и в А, и в В. Будет создано конкретное множество С.
.923. Но ты можешь ввести в Эуклидос и оператор, смысл которого на человеческом языке будет таким: «Создай множество С по Алгоритму сечения» (или, более абстрактно: «С – это пересечение А и В, где А и В вообще какие-то множества»). Эуклидос и теперь создаст таблицу для С, но единственная определенная и известная Эуклидосу вещь здесь – это указание на Алгоритм сечения. Эуклидос запомнит в номиналии С ссылку на данный алгоритм и этим ограничится. Будет создано абстрактное множество С.
.924. Но ты можешь ввести в Эуклидос и оператор, смысл которого совсем прост: «Существует какое-то множество С». Даже в этом случае Эуклидос построит таблицу для С, но теперь эта таблица останется вообще сама по себе, не привязанной ни к чему ранее известному. Будет создано неопределенное множество.
.925. Если ты пожелаешь теперь рассуждать о множестве С (на основе только той информации, которой располагает Эуклидос), то в первом случае ты сможешь даже перечислить все элементы множества С, во втором случае твои рассуждения о множестве С будут на самом деле рассуждениями об алгоритме сечения как о единственной здесь определенной вещи, а в третьем случае никаких толковых рассуждений у тебя вообще не получится.
.926. Согласно моей концепции аналогично обстоят дела и с множествами у человека. И он либо может перечислить все элементы множества, либо на самом деле изучает алгоритм (под видом абстрактного множества) или же вообще ничего не может сделать с неопределенным множеством.
.927. Мне не кажется, чтобы здесь было какое-то противоречие.

2. О неопределенных множествах
1980.10.28

.928. ГЕЙДЕМАН: Я не могу согласиться с твоим объяснением. В {.508} ты описываешь процесс образования множества: «Выборка – из всех существующих ранее объектов актом выборки выбираются некоторые и в дальнейшем рассматриваются как новый единый объект: множество выбранных объектов».
.929. Объекты, существующие изначально для некоторой теории ты называешь точками. Следовательно, неопределенное множество может быть только точкой, иначе должна быть известна последовательность выборок, приводящая к образованию данного «неопределенного» множества, и это множество становится «определенным».
.930. Если же неопределенное множество – точка данной теории, то по-моему нет смысла вводить термин «неопределенное множество», так как точки для данной теории считаются существующими априори.
.931. Лично мне кажется, что твое понимание, твоя концепция была бы последовательней, если бы в качестве точек для любой теории рассматривались бы либо реалии некоторой теории, либо материальные объекты, в существовании которых никто не сомневается. Возможно, что так оно и есть, просто я либо чего-то не понял, либо невнимательно читал.
.932. Во всяком случае введение «неопределенных множеств» мне кажется неоправданным в свете твоей собственной теорики.
.933. Я: Мне действительно приятно отвечать на такие вопросы.
.934. Сначала рассмотрим возражение насчет выборки (пункт {.928}). Оно, если я правильно понял, заключается в том, что, согласно написанному в приведенной цитате, всякое множество должно быть образовано таким путем, что «из всех существующих ранее объектов выбираются некоторые и в дальнейшем рассматриваются как новый единый объект», а в случае абстрактных и, тем более, неопределенных, множеств мы этого не наблюдаем.
.935. Вернемся к примерам создания множества С как конкретного, абстрактного и неопределенного множеств в предыдущем ответе. Вряд ли могут быть сомнения в том, что в первом случае действительно Эуклидос «из всех существующих ранее» (у него) объектов выбрал некоторые (те, что общие для множеств А и В) и «в дальнейшем рассматривает их как новый единый объект» – множество С. В общем: в случае конкретных множеств сомнений, наверное, нет.
.936. Для построения в Эуклидосе конкретного, абстрактного и неопределенного множества мы вводили в него некоторые операторы, то есть: какую-то информацию. Что это за информация?
.937. В главах {.458} и {.533} я говорил, что рассматриваю теорию по схеме «построение – изложение – изучение». В случае моего диалога с Эуклидосом можно считать, что я – автор какой-то теории – излагаю ее Эуклидосу. Можно считать, что первый оператор (по которому Эуклидос строит С как конкретное множество) несет для него следующую информацию (об очередном кусочке моей теории):
а) я сделал выборку, построил множество и назвал его С;
б) как выбирал: по алгоритму сечения;
в) из чего выбирал: из множеств А и В.
.938. Если с этой же точки зрения подойти ко второму случаю, то можно считать, что он отличается от первого только тем, что я не сообщил Эуклидосу пункт (в) – не сообщил из чего я выбирал. А в третьем случае можно считать, что я сообщил Эуклидосу только информацию по первому пункту (а).
.939. С такой точки зрения (которая оговаривается неоднократно) множества С в Эуклидосе во всех трех случаях отличаются не принципиально, а только тем, насколько полно я, автор теории, его описал. То есть: эти вопросы являются проблемами изложения, а не построения теории. Предполагается, что я-то как автор теории знаю, что это такое за множество С, даже если оно неопределенное для Эуклидоса.
.940. Конечно, может быть на самом деле я и сам не знаю, что это за множество, которое фигурирует в моей теории, но это уже вопрос ее построения и выходит за пределы темы теорики, так как ее тема – изложение теорий. (Я считаю, что теории, в которых сам автор не знает, что за объекты в них фигурируют, создать возможно, но что этого как раз надо избегать).
.941. Итак, я не вижу ничего страшного в том, чтобы считать даже образование неопределенного множества результатом какой-то неопределенной и точно не оговоренной выборки. Ведь в конце концов выборка, где все факторы (откуда выбирать, как выбирать) полностью оговорены и соответствующее такой выборке конкретное множество – это отправная точка моей концепции, а не единственное, что в ней допускается.
.942. Теперь перейдем ко второму возражению (о том, что «неопределенное множество может быть только точкой, иначе должна быть известна последовательность выборок, приводящая к образованию данного множества»).
.943. Действительно, в идеальном случае должно быть именно так (или что-то близкое к этому). Но в том-то и дело, что этот идеальный вариант неосуществим, по крайней мере во многих случаях. В том-то и проблема, что я – автор теории – не всегда могу точно описать алгоритм своих выборок. Если подойти к этому делу настолько строго, что запрещать автору в этом случае вообще излагать теорию, то мало теорий останется в мире.
.944. Поэтому я и предлагаю разрешать авторам говорить о выборках, алгоритмы которых не описаны. Но при этом считать, что выборка-то все равно состоялась, алгоритм все равно работал, что это вещи существующие, хоть и не описанные.
.945. Теперь насчет того, может ли неопределенное множество быть не точкой.
.946. Допустим, что я сообщил Эуклидосу, что в моей теории изначально существуют множество натуральных чисел и множество кардинальных чисел. Поскольку я не сообщил Эуклидосу ни алгоритмы построения этих множеств, ни, тем более, из чего их строить, то они – неопределенные множества. Но они не точки в этой моей теории, точками являются сами натуральные и кардинальные числа. Наши неопределенные множества – это уже множества первого уровня. В принципе я мог бы объявить свои неопределенные множества множествами еще более высокого уровня (чтобы дать себе возможность потом начать рассматривать сами числа как множества).
.947. Но, хотя эти два неопределенных множества и не точки, существуют они все равно «на входе» теории. Может ли появиться необходимость оставлять неопределенные множества и «на выходе» теории?
.948. Допустим, что я решил дописать к своей первой теории (пространством которой были натуральные и кардинальные числа) другую теорию, такую, чтобы ее «выходами» были «входы» первой теории (то есть, углубить свою первую теорию, подвести под нее фундамент). И вот, допустим, что в этой второй теории мне удалось превратить множество натуральных чисел из неопределенного множества в множество абстрактное, то есть – определить ее каким-то алгоритмом. Допустим, что кардинальные числа мне не удалось аналогично определить каким-то алгоритмом, и они так и остались на выходе новой, второй теории неопределенным множеством. Конечно, можно считать, что вторая теория вообще не затрагивала кардинальных чисел, но это уже несущественный вопрос.
.949. Итак: неопределенные множества – это не только точки.
.950. И, наконец, насчет того, что моя «концепция была бы последовательнее, если бы в качестве точек для любой теории рассматривались бы либо реалии некоторой теории, либо материальные объекты». То, о чем ты здесь говоришь и есть то, к чему я стремлюсь: чтобы непрерывная цепь, исключающая, не допускающая неопределенные множества, вела от материальных объектов через реалии все более и более абстрактных теорий ко всем объектам, которыми мы оперируем. Ты совершенно прав.
.951. Но я не могу выдать желаемое за действительное. Я не могу утверждать, что во всех существующих ныне теориях это соблюдается, пусть даже в замаскированном виде. Наоборот, я считаю, что в них фигурирует много неопределенных множеств. И для того, чтобы говорить об этих теориях, мне и нужно понятие неопределенного множества. Конечно, в хорошей теории (или цепи теорий, системе теорий) не должно быть неопределенных множеств.

3. Номиналии букв
1980.10.27
(раньше на 1 день)

.952. ГЕЙДЕМАН: Рассмотрим первый абзац главы ТЕОРИКА,20 {.603}, где вводятся понятия знака и буквы. Здесь тоже используется твоя концепция множества?
.953. Я: Разумеется. Могу объяснить, как она работает в данном случае. Взгляни на схему {.955}! Слева от вертикальной черты у нас будут объекты внешнего реального мира, справа – объекты внутри субъекта.
.954. В нашем «мире» существуют три объекта (пятна на бумаге). Сначала субъект (зрительным аппаратом, «сенсорными» и «перцептивными» выборками) строит три номиналии, каждая из которых соответствует одному из объектов «реального мира». Это номиналии знаков, отдельных элементов буквы. Потом субъект по какому-то алгоритму А (наличие которого мне кажется очевидным из одного того, что субъект смог обнаружить сходство между первыми двумя пятнами и отличие от третьего) строит еще две номиналии: номиналии двух букв, двух множеств знаков. Эти пять номиналий и один алгоритм и есть те главные объекты, которые, согласно моей концепции, задействованы внутри субъекта в этом процессе. Кстати, об этом говорится в {.1900}.
.955.
(см. заставку этой публикации на Прозе.ру)

4. Разговор с Роговым и Калтыгиным
1980.07.02
(раньше на 3 месяца, 25 дней)

.956. РОГОВ: Ты говоришь, что множество задаешь каким-то алгоритмом. В традиционной теории множеств говорится, что множество задано каким-то свойством, признаком. Не является ли твое утверждение просто игрой в слова, не говорите ли вы одно и то же?
.957. Я: Да, мы ДЕЛАЕМ одно и то же, когда «задаем» множества. И я, и «они» на самом деле задаем множество алгоритмом. Только я говорю об этом открыто, а они «скрыто». Мой подход в том и заключается, чтобы лучше приспособить язык, терминологию к сущности того, что происходит.
.958. РОГОВ: Ты принял такую концепцию множества, согласно которой ты сам создаешь множества во внешнем мире. Это субъективный идеализм. По крайней мере тебя в этом могут обвинить.
.959. Я: Я принял эту концепцию после долгих колебаний {.490}, признав (или даже не признав) ее немножко лучше, чем две других. Если ты выложишь мне четвертую концепцию, если я проверю ее по всем пунктам так, как проверял эти три, и найду, что она лучше, то я пожму тебе руку и скажу «спасибо!». Но сначала найди ее, эту концепцию.
.960. Что касается субъективного идеализма, то, согласно этой концепции, я создаю только множества, а не точки. Точки (то есть материя в конечном счете) существуют до меня и без меня. Я только это пространство точек разбиваю на части, на множества. А как делить, какие границы множеств умственно проводить, какие «куски мира» рассматривать – это действительно мое дело. Здесь все зависит только от меня. И то, как я исходное пространство разделил, вообще видно только мне, другим эти множества недоступны (непосредственно). Это и есть то построение множеств, о котором я говорю.
.961. РОГОВ: Лучше избрать концепцию, согласно которой множество «лес» существует только в моей голове, а во внешнем мире имеются только точки-деревья.
.962. Я: Тогда я буду вынужден на сотнях страниц следить, чтобы нигде не оговорился и не сказал, вопреки принятой концепции, что на земле существует народ «русские» (определенное множество людей), а вынужден буду говорить, что множество «русские» существует только в моей голове, но люди – элементы этого множества – существуют в реальном мире. Мне это кажется неудобным.
.963. РОГОВ: Если начать думать, свихнуться можно.

* * *
.964. КАЛТЫГИН: Можно ли при помощи Эуклидола описать сам Эуклидол?
.965. Я: Уже один из первых рабочих аппаратов Эуклидола будет использован при описании самого этого языка. Об этом говорится в {.1325}.
.966. КАЛТЫГИН: Можно ли на Эуклидоле описать, например, теорию относительности?
.967. Я: Вопрос не точен. Вместо него я сформулирую три вопроса и отвечу на них:
.968. а) можно ли описать теорию относительности при помощи существующих в настоящее время аппаратов Эуклидола? (Ответ: нет, нельзя);
.969. б) создам ли я когда-нибудь такие аппараты Эуклидола, при которых это можно будет сделать? (Ответ: не знаю, так как не известно, сколько будет дано мне дней жизни и работы);
.970. в) можно ли расширить Эуклидол до такой степени, чтобы на нем можно было описать теорию относительности? (Ответ: да, можно).
.971. Человеческие языки – это такие же алгоритмические языки, как и Эуклидол, только создавались они стихийно и неосознанно, потому они нелогичны, сумбурны и мало кто понимает до конца принципы, лежащие в их основе. В значительной степени аналогично дела обстоят и с языком символики математики. Но даже на таких (плохих) языках теория относительности описана, так почему же ее нельзя будет хотя бы на таком же (невысоком) уровне описать на более точном, логичном и стройном языке?
.972. При создании Эуклидола я иду от самого простого к более сложному, но при этом стараюсь четко осознать и оговорить каждый свой шаг.

5. Высокий язык
1981.01.31
(через 6 месяцев, 29 дней)

.973. АРТУР: Твой Эуклидол похож на Ассемблер.
.974. Я: Зато ты похож на того иностранца, который, увидев портрет Пушкина, сказал, что русские поэты похожи на эфиопцев.
.975. Ты пока что видел только один единственный рабочий аппарат Эуклидола. Самый первый, самый начальный. Ассемблеры на ЭВМ – это самые простые языки, однозначно соответствующие машинным командам. А к выполнению этих команд все равно сводится работа всех программ, даже написанных на языке самого сверхвысокого уровня. Далеко бы ушла наука компьютеров, если в свое время она начала бы не с изобретения машинных команд, а с выдумывания высоких языков! И я начал с начала – с команд, с Ассемблера. Понимаешь: начал, но не кончил.
.976. Да, отправившись от аксиом Эвклида, я очутился в знакомых местах – в краю алгоритмов. Нужно было рассмотреть и описать способы, при помощи которых можно из одних множеств построить другие (дедуктивные алгоритмы), а сначала принять соглашения для точного описания таких алгоритмов, то есть – придумать язык.
.977. В вычислительном мире существуют сотни алгоритмических языков и «высоких» и «низких» уровней, и в этом деле вряд ли можно обойтись без плагиата. Несмотря на многочисленные нападки со стороны теоретиков программирования, в кругах программистов продолжает бытовать мнение, что люди, пишущие на Ассемблере, имеют более высокую квалификацию, чем программирующие на языках «высокого» уровня. Я придерживаюсь не того мнения, что ассемблеристы имеют более высокую квалификацию потому, что они пишут на Ассемблере, а того мнения, что их пристрастие к Ассемблеру и их высокая квалификация – это не причина и следствие, а два параллельных проявления одной и той же причины – желания и стремления проникнуть в глубь, к основам происходящего, понять все до последних деталей. Признавая во многих случаях преимущества языков высокого уровня, я сам их не люблю и являюсь «ярым» ассемблеристом.
.978. На языке, построенном по типу Ассемблера (описание алгоритма состоит из большого числа очень элементарных и очень точно описанных команд), можно описать чрезвычайное разнообразие алгоритмов (правда, может быть такое разнообразие и не нужно вовсе или даже вредно?) и можно описать их точнее (реже возникают разногласия в интерпретации команды). Набор таких команд относительно небольшой, и они относительно просты, из-за чего язык может быть описан очень точно, что исключает разночтения по вине языка. Но, с точки зрения описания дедуктивных алгоритмов, такой язык имеет два главных недостатка:
.979. а) язык получается ориентированным на определенную систему команд, а в действительности данный алгоритм может у разных субъектов реализоваться разными путями, так что на самом деле нам в алгоритме важен лишь результат, а не последовательность столь точно описанных команд;
.980. б) из-за элементарности команд описание алгоритма получается громоздким, что создает трудности в понимании его и ориентации в нем как для человека, так и, тем более, для ЭВМ, если перед ней поставить цель не интерпретировать (выполнять) алгоритм, а анализировать и оценивать его.
.981. Из этого кажется очевидной необходимость языка «высокого уровня» и даже не языка типа Фортрана или Кобола, а языка еще более «высокого» и оперирующего крупномасштабными блоками. Сначала я и хотел идти по этому пути. Но при попытках создать такой язык я скоро обнаружил, что у меня нет точных и удобных средств описания этих «крупномасштабных блоков» и что они могут быть значительно точнее, чем на словах, описаны последовательностью или набором более элементарных действий. Таким образом, пытаясь вскарабкаться на «высокий уровень» нового языка, я, как по льду, неизменно соскальзывал обратно в Ассемблер.
.982. Тогда я решил создать в Эуклидоле то же положение, которое существует в программистском мире уже десятилетиями – иметь параллельно и Ассемблер, и блочный язык, и по необходимости выбирать тот или другой.
.983. Так получился аппарат «Алгоритм» – ассемблер Эуклидола. Это язык точного описания различных блоков алгоритмов, причем нужно помнить, что, как правило, нас интересует сам блок в целом, что команды этого ассемблера – лишь способ описания свойств блока, что эти команды могут не иметь точных аналогов в субъекте, реализующем блок другим путем, и что все это надо понимать так: «Если Вы проделаете то, что предписывают команды ассемблера, то получите тот же (аналогичный) результат, который получил субъект, проделывая свои команды».
.984. При помощи этого аппарата очень удобно определять, описывать такие «блоки», как понятия «взаимно-однозначного соответствия», объединения, пересечения множеств и т.д., то есть понятия, которые обычно вообще не определяются. Я считаю, что одним этим уже создание аппарата «Алгоритм» оправдано.
.985. Но, повторяю еще раз: ассемблер Эуклидола (аппарат «Алгоритм») – это не только не единственный, но и даже не главный из аппаратов Эуклидола. С него все начинается, но впереди у нас еще много аппаратов все более и более «высоких» и все более и более близких к знакомым вещам из математики. Мой подход, как я считаю, тем и хорош, что я начинаю с начала, а не с конца подобно математикам. Понятия математики именно потому так расплывчаты, что математики начали не с того конца: они сначала употребляют понятие, а потом начинают копаться, что же оно означает.
.986. Такие вещи математики как, например, ln x, sin a и т.д. – это на самом деле описания определенных алгоритмов на языке очень высокого уровня. Я тоже со временем дойду до блоков такого уровня, но начать я начну при этом с 12 элементарных операций, без всякого труда моделируемых на ЭВМ.