Язык и текстовая нотация ОТМ
*********
© В.К.
Петросян (Вадимир) © Lag.ru [Large Apeironic Gateway, Большой Апейронический
Портал (Шлюз), Суперпортал в Бесконечность].
При копировании данного материала и размещении его на другом сайте, ссылки
на соответствующие локации порталов Lag.ru и Proza.ru обязательны
Работа написана на основе концепции и разработок В.К. Петросяна при полноценном соавторстве (активном творческом и вычислительном участии) ChatGPT (OpenAI), GPT-5.6 Sol
*********
ЯЗЫК И ТЕКСТОВАЯ НОТАЦИЯ ОТМ
Глава 1. Требования к языку ОТМ
1.1. Чисто текстовая запись
1.2. Совместимость с WordPress
1.3. Совместимость с Proza.ru
1.4. Работа без графических средств
1.5. Работа без специальной математической разметки
1.6. Человеческая читаемость
1.7. Машиночитаемость
1.8. Однозначность
1.9. Семантическая плотность
Глава 2. Алфавит ОТМ
2.1. Одинарные латинские символы
2.2. Двойные буквенные коды
2.3. Служебные комбинации
2.4. Текстовые индексы
2.5. Обозначение ранга
2.6. Обозначение итераций
2.7. Обозначение модификаторов
2.8. Обозначение саморефлексивности
2.9. Код SML
2.10. Зарезервированные символы
Глава 3. Семантика скобок
3.1. Круглые скобки
3.2. Квадратные скобки
3.3. Фигурные скобки
3.4. Удвоенные скобки
3.5. Скобочный ранг
3.6. Сцепленные формы
3.7. Конструкции типа ][
3.8. Конструкции типа ][ ][
3.9. Метакаскадные конструкции
3.10. Морфология скобочных структур
Глава 4. Формальная грамматика OTM-TN
4.1. Общая структура записи
4.2. Параметры
4.3. Каскады
4.4. Законы
4.5. Ранги
4.6. Итерации
4.7. Рефлексивность
4.8. Саморефлексивность
4.9. Модификационные комплексы
4.10. Короткая и расширенная формы
4.11. Декодирование записи SML N
4.12. OTM-TN как прототип языка Изольдионики
По мере развития Общей теории металогарифмов возникает проблема, которая не является чисто технической.
ОТМ требует собственного языка.
Обычная математическая запись хорошо приспособлена для сравнительно коротких формул, функций и систем уравнений. Но металогарифмические конструкции могут одновременно содержать:
основание;
сублогарифм;
ранг;
внешнюю итерационность;
каскады;
вложенные каскады;
модификаторы;
законы перехода;
рефлексивные зависимости;
саморефлексивность;
алгебраические комплексы;
метаправила.
Полная запись таких систем быстро становится громоздкой.
С другой стороны, чрезмерное сокращение создаёт противоположную проблему: запись становится непонятной человеку и неоднозначной для машины.
Поэтому язык ОТМ должен одновременно удовлетворять нескольким требованиям:
быть компактным;
оставаться читаемым;
быть однозначным;
поддерживать многоуровневые структуры;
работать в обычном тексте;
не зависеть от графического редактора формул;
допускать автоматический синтаксический анализ.
Для решения этой задачи вводится рабочая текстовая нотация:
OTM-TN
где:
OTM
означает General Theory of Metalogarithms,
а:
TN
означает Text Notation.
Русское название:
текстовая нотация ОТМ.
OTM-TN должна выполнять одновременно две функции.
Первая — язык публикации.
Вторая — основа будущего формального и машинноисполняемого языка.
В настоящей части устанавливаются её базовые принципы.
ГЛАВА 1. ТРЕБОВАНИЯ К ЯЗЫКУ ОТМ
1.1. Чисто текстовая запись
Первое требование OTM-TN:
любая базовая конструкция ОТМ должна быть записываема обычными текстовыми символами.
Это означает отказ от обязательной зависимости от:
графических формул;
двухмерных математических конструкций;
специальных шрифтов;
редких Unicode-символов;
встроенных объектов математических редакторов.
Например, степенная операция должна записываться:
A^B
а не требовать графического верхнего индекса.
Переход:
A -> B
записывается ASCII-последовательностью.
Умножение:
A*B
Деление:
A/B
Индекс при необходимости:
A_1
Таким образом базовый алфавит языка должен оставаться доступным даже в простейшем текстовом редакторе.
Это имеет не только техническое, но и теоретическое значение.
Если математический объект существует только благодаря сложной системе визуального форматирования, часть его структуры оказывается связана с конкретным способом отображения.
OTM-TN стремится отделить семантику объекта от его графического оформления.
1.2. Совместимость с WordPress
WordPress и аналогичные системы публикации могут изменять:
отступы;
переносы;
HTML-разметку;
вид формул;
специальные символы.
Поэтому базовая OTM-TN не должна зависеть от сложного HTML.
Например:
SML 100
должно сохранять смысл независимо от:
размера шрифта;
стиля;
темы сайта;
наличия математического плагина.
А конструкция:
A -> A^A -> (A^A)^(A^A)
должна читаться непосредственно из текста.
Это позволяет публиковать ОТМ:
в статьях;
на сайтах;
в комментариях;
в электронных книгах;
в текстовых базах знаний.
Специальное форматирование может использоваться как дополнительный слой, но не должно быть обязательным условием понимания записи.
1.3. Совместимость с Proza.ru
Особенно жёсткие ограничения возникают в системах, ориентированных почти исключительно на обычный текст.
Поэтому OTM-TN должна корректно функционировать в среде, где нет полноценной математической разметки.
Например:
a(0) = 2
a(1) = 2^2 = 4
a(2) = 4^4 = 256
a(3) = 256^256
полностью понятны без графического редактора формул.
То же относится к:
SML 100
или:
R=100,I=100
или:
R_next=R^2
Это означает, что базовая нотация должна сохранять структуру даже после копирования:
из текстового редактора;
на сайт;
с сайта;
в другой редактор.
Если запись после такого переноса теряет смысл, она не должна считаться базовой формой OTM-TN.
1.4. Работа без графических средств
Сложные математические системы часто изображаются при помощи:
деревьев;
графов;
блок-схем;
многомерных диаграмм.
Такие средства чрезвычайно полезны.
Но в OTM-TN они должны быть вторичным представлением, а не единственным способом задания объекта.
Например, разветвлённый каскад можно визуализировать графически.
Однако он должен иметь и текстовую запись.
Аналогично:
вложенные ранги;
метакаскады;
алгебраические комплексы;
самомодифицирующиеся среды
должны иметь текстовые генотипы.
Именно текстовый генотип является первичным объектом языка.
Графическое изображение представляет его визуальную экспликацию.
1.5. Работа без специальной математической разметки
OTM-TN не должна требовать:
LaTeX;
MathML;
редакторов формул;
специальной типографики.
Это не означает отказа от этих технологий.
В научных публикациях OTM-TN может автоматически преобразовываться в LaTeX или другую профессиональную систему.
Но исходный объект должен существовать и без этого преобразования.
Например:
R_next = R_current^2
является полноценной записью.
Её можно позднее визуально оформить любым способом.
Так возникает принцип:
семантика первична, типографика вторична.
1.6. Человеческая читаемость
Чрезмерное сокращение способно сделать нотацию формально компактной, но практически бесполезной.
Поэтому кодовые обозначения OTM-TN должны по возможности напоминать смысл соответствующего понятия.
Например:
ML
легко связывается с Metalogarithm.
SL
с Sublogarithm.
CL
с Cyclic Logarithm.
AL
с Absolute Logarithm.
SML
с Self-Reflexive Metalogarithm.
PC
с Power Cascade.
RC
с Recursive Cascade.
В результате читатель после освоения небольшого словаря способен читать сложные конструкции без постоянного обращения к справочнику.
Человеческая читаемость особенно важна потому, что OTM-TN предполагается использовать не только как внутренний технический код, но и как язык математического мышления.
1.7. Машиночитаемость
Одновременно запись должна допускать автоматический разбор.
Это требует:
стабильного алфавита;
фиксированных кодов;
формальных разделителей;
однозначной роли скобок;
явной иерархии вложенности;
предсказуемых правил индексирования.
Например:
ML(A=10,SL=10,R=3,I=2)
машина может разобрать как объект типа ML с четырьмя параметрами:
A=10
SL=10
R=3
I=2
Если после этого добавляется:
{TL:R_next=R^2}
парсер должен понимать, что в фигурных скобках задан закон перехода.
Таким образом OTM-TN проектируется не только как сокращённая математическая запись, но и как потенциальный исходный язык для:
интерпретатора;
компилятора;
верификатора;
генератора графического представления;
системы автоматической экспликации.
1.8. Однозначность
Одинаковая запись не должна иметь два различных допустимых смысла.
Например, если:
AC
одновременно означает «асимметричный каскад» и «алгебраический комплекс», возникает коллизия.
Поэтому OTM-TN должна устранять подобные пересечения.
В настоящей версии устанавливается:
AC = Algebraic Complex, алгебраический комплекс;
ASC = Asymmetric Cascade, асимметричный каскад.
Таким образом ранее возможная коллизия устраняется.
Аналогичный принцип применяется ко всем будущим кодам:
один зарезервированный код — одно базовое значение внутри одного уровня языка.
Дополнительный смысл может задаваться параметрами, но не произвольным переопределением кода.
Однозначность требует также различать:
=
равенство или установленное значение;
:=
определение;
->
переход;
][
соединение каскадов с передачей результата.
Эти различия особенно важны для машинной обработки.
1.9. Семантическая плотность
Одно из центральных требований OTM-TN — высокая семантическая плотность.
Запись:
SML 100
очень коротка.
Но согласно принятому определению она задаёт:
исходный параметр 100;
ранг 100;
100 внешних итераций;
внутренний закон рангового развёртывания;
межитерационное наследование результата.
Поэтому длина записи и объём её семантики радикально различаются.
Можно сформулировать общий принцип:
семантическая мощность выражения определяется не количеством его символов, а объёмом однозначно задаваемой им операторной структуры.
Именно поэтому OTM-TN не должна стремиться только к минимальному числу знаков.
Главная цель — максимальная семантическая ёмкость при сохранении:
понятности;
однозначности;
декодируемости;
машиночитаемости.
В перспективе это свойство связывает OTM-TN с языками высокого семантического уровня.
ГЛАВА 2. АЛФАВИТ ОТМ
Алфавит OTM-TN состоит из нескольких классов элементов:
одинарных символов;
буквенных кодов;
служебных комбинаций;
индексов;
скобочных конструкций;
зарезервированных операторных символов.
Основное правило:
буквы задают семантические единицы, а служебные символы задают отношения между ними.
2.1. Одинарные латинские символы
Одинарные латинские символы используются прежде всего для фундаментальных параметров и локальных переменных.
Базовый набор:
A
исходный объект или текущее основание в контексте конкретной операции.
N
универсальный параметр, особенно важный для SML.
R
ранг.
I
число внешних итераций.
K
коэффициент или параметр асимметрии.
X
универсальный промежуточный объект или результат.
Y
второй промежуточный объект.
Z
третий промежуточный объект.
Например:
A=10
R=3
I=5
K=2
Одновременно допускаются локальные строчные переменные:
i
номер внешней итерации;
j
номер внутреннего элемента или блока;
k
номер ранговой ступени;
n
локальный числовой индекс.
Строчные символы рассматриваются как локальные переменные, если контекстом не установлено иное.
Следует избегать создания большого количества случайных однобуквенных обозначений.
Если понятие имеет самостоятельный устойчивый смысл, предпочтителен семантический буквенный код.
2.2. Двойные буквенные коды
Двухбуквенные коды являются основой семантического словаря OTM-TN.
Предварительный базовый реестр включает:
OL
Ordinary Logarithm — обычный логарифм.
ML
Metalogarithm — металогарифм.
CL
Cyclic Logarithm — циклический логарифм.
AL
Absolute Logarithm — абсолютный логарифм.
SL
Sublogarithm — сублогарифм.
PC
Power Cascade — степенной каскад.
RC
Recursive Cascade — рекурсивный каскад.
DC
Dynamic Cascade — динамический каскад.
SC
Self-generating Cascade — самопорождающий каскад.
AC
Algebraic Complex — алгебраический комплекс.
MC
Modified Cascade — модифицированный каскад.
CM
Cascade Modifier — модификатор каскада.
CA
Cascade Asymmetry — асимметрия каскада.
CI
Cascade Index — индекс каскада.
GL
Generation Law — закон генерации.
TL
Transition Law — закон перехода.
EL
Evolution Law — закон эволюции.
EH
Explication Horizon — экспликационный горизонт.
EC
Explication Complexity — экспликационная сложность.
Некоторые важные понятия требуют трёхбуквенных кодов.
Например:
ASC
Asymmetric Cascade — асимметричный каскад.
SML
Self-Reflexive Metalogarithm — саморефлексивный металогарифм.
Это допустимое исключение.
Принцип языка состоит не в обязательной двухбуквенности любого понятия, а в достижении оптимального баланса между краткостью и отсутствием коллизий.
2.3. Служебные комбинации
Служебные комбинации задают отношения между объектами.
Определение
:=
означает «определяется как».
Например:
R_next := R^2
Это означает, что новый ранг определяется квадратом предыдущего.
Равенство или установленное значение
=
Например:
R=10
или:
A=R
Переход
->
Например:
2 -> 4 -> 256
или:
ENV1 -> ENV2 -> ENV3
Передача результата между каскадами
][
Например:
PC1 ][ PC2 ][ PC3
Эта конструкция означает не простое перечисление, а последовательное соединение каскадов с передачей результата предыдущего блока следующему.
Возведение в степень
^
Например:
A^SL
Умножение
*
Например:
K*A
Деление
/
Например:
SL/A
Сложение
+
Вычитание
-
Следует различать:
-
как знак вычитания
и:
->
как единый оператор перехода.
Разделение параметров
,
Например:
ML(A=10,SL=10,R=3,I=2)
Разделение смысловых условий
;
Например:
{R>10;I=R}
Точная грамматика использования служебных символов будет определена далее.
2.4. Текстовые индексы
OTM-TN не должна зависеть от графических нижних индексов.
Поэтому используется текстовая форма.
Предпочтительная нормативная запись:
A_0
A_1
R_1
R_2
SL_3
X_100
Знак:
_
означает присоединение текстового индекса.
Например:
R_1 -> R_2 -> R_3
или:
A_0 -> A_1 -> A_2
Допускаются символические индексы:
A_i
R_i
X_k
Для сложных индексных обозначений могут использоваться несколько компонентов:
A_i_1
или позднее более компактная нормативная форма, если она будет введена формальной грамматикой.
В ранних главах книги использовалась учебная запись:
a(0)
a(1)
a(2)
Она остаётся допустимой в объяснительном тексте.
Однако для строгой машинной формы предпочтительна запись:
A_0
A_1
A_2
поскольку круглые скобки в OTM-TN получают собственную основную функцию — хранение параметров операции.
2.5. Обозначение ранга
Базовый код ранга:
R
Простейшая запись:
R=3
означает третий ранг.
В составе операции:
ML(A=10,R=3)
означает металогарифмическую конструкцию с исходным объектом 10 и рангом 3.
Если ранг динамический:
R_1=2
R_2=4
R_3=16
или:
{EL:R_next=R^2}
Если ранг зависит от результата:
{TL:R_next=X}
где X является предварительно определённым результатом текущей стадии.
Для рангового профиля может использоваться код:
RP
Rank Profile.
Например:
RP[2,5,3]
означает последовательность ранговых блоков:
ранг 2;
ранг 5;
ранг 3.
Это отличается от:
R=10
которое задаёт один скалярный ранг.
Таким образом язык различает:
скалярный ранг;
динамический ранг;
составной ранговый профиль.
2.6. Обозначение итераций
Базовый код внешней итерационности:
I
Например:
I=10
означает десять полных внешних итераций.
В составе металогарифма:
ML(A=2,R=3,I=10)
означает:
начать с 2;
использовать ранг 3;
выполнить десять полных операций.
Для текущего номера итерации используется локальная переменная:
i
Например:
I(i)=2^i
может использоваться в объяснительном тексте для динамического закона.
В более строгой форме предпочтительно:
{EL:I_next=2*I}
или иной явно заданный закон.
Если число итераций определяется результатом:
{TL:I_next=X}
Если ранг и число итераций равны:
R=I
это записывается непосредственно.
Если они синхронизированы с N:
R=I=N
Так создаётся база для записи SML.
2.7. Обозначение модификаторов
Общий код модификатора:
M
Простейшая логика:
M(X)
означает модификацию объекта X.
Закон модификации может задаваться в фигурных скобках.
Например:
M(A){*2}
означает удвоение основания.
M(R){^2}
означает возведение текущего ранга в квадрат.
Для часто используемых целей допускаются специализированные коды:
MA
Modifier of A — модификатор основания.
MSL
Modifier of Sublogarithm — модификатор сублогарифма.
MR
Modifier of Rank — модификатор ранга.
MI
Modifier of Iterations — модификатор числа итераций.
MK
Modifier of Asymmetry — модификатор коэффициента асимметрии.
Например:
MR(R){R^2}
или в компактном контексте:
MR{R^2}
Первый вариант является более явным.
Для профиля модификации может использоваться:
MP
Modification Profile.
Например:
MP(A=*2,SL=*3,R=^2,I=1)
где:
I=1
в данном контексте может означать отсутствие мультипликативного изменения итерационности, если это правило специально определено.
В строгой версии языка предпочтительно явно писать:
I=KEEP
если позднее будет введено служебное слово KEEP.
До введения такого словаря рекомендуется не использовать неоднозначные сокращения.
2.8. Обозначение саморефлексивности
Для общего рефлексивного режима может использоваться код:
RF
Reflexive.
Для саморефлексивной связи:
SR
Self-Reflexive.
Например, условная конструкция:
RF(ML(...)){R_next=X}
означает рефлексивный металогарифмический режим, в котором следующий ранг зависит от результата.
Код:
SR
следует использовать тогда, когда несколько характеристик системы синхронизируются через собственный параметр или внутреннее состояние.
Однако для центрального класса саморефлексивных металогарифмов вводится отдельный специализированный код:
SML
Таким образом:
RF
является общим маркером рефлексивности;
SR
общим маркером саморефлексивной зависимости;
SML
названием специального класса металогарифмов.
Это разделение предотвращает смешение:
рефлексивности;
саморефлексивности;
конкретной канонической конструкции SML.
2.9. Код SML
Код:
SML
имеет особый статус.
Он представляет не простое трёхбуквенное сокращение, а высокосемантический оператор.
Каноническая запись:
SML N
означает:
A=N
R=N
I=N
с использованием установленного внутреннего закона самостепенного рангового развёртывания и межитерационного наследования результата.
Например:
SML 2
означает:
A=2
R=2
I=2
SML 100
означает:
A=100
R=100
I=100
Запись:
SML N
является основной публикационной формой.
Если параметр представляет собой более сложное выражение, используются круглые скобки:
SML(N^2)
или:
SML(SML 10)
Последняя конструкция читается изнутри наружу.
Сначала определяется:
SML 10
затем его результат используется как параметр внешнего SML.
Тем самым круглые скобки устраняют неоднозначность.
Можно сформулировать важное правило:
после SML без скобок допускается один атомарный параметр; сложный параметр должен быть заключён в круглые скобки.
Поэтому:
SML 100
корректно.
SML N
корректно.
SML(SML 100)
корректно.
А запись:
SML SML 100
не должна использоваться в нормативной OTM-TN из-за потенциальной неоднозначности.
2.10. Зарезервированные символы
Для обеспечения однозначности базовые ASCII-символы получают фиксированные функции.
Круглые скобки
( )
используются прежде всего для параметров операции и группировки сложного аргумента.
Пример:
ML(A=10,R=3,I=2)
SML(N^2)
Повторные круглые скобки:
(( ))
могут использоваться для метапараметрического уровня.
Например:
ML((META_PARAMETERS))
Точное значение скобочного ранга будет установлено в следующей главе.
Квадратные скобки
[ ]
используются для каскадов, последовательностей циклов и структурных блоков.
Например:
PC[C1,C2,C3]
или:
RP[2,5,3]
Повторные квадратные скобки:
[[ ]]
обозначают более высокий каскадный уровень.
Например:
[[C1][C2][C3]]
может представлять связанный метакаскад второго скобочного уровня.
Важно отличать его от:
[C1,C2,C3]
Первая запись подчёркивает многоуровневую структуру.
Вторая — обычную последовательность элементов одного уровня.
Фигурные скобки
{ }
используются для:
законов;
условий;
модификаторов;
правил перехода.
Например:
{TL:R_next=R^2}
или:
{EL:I_next=2*I}
Повторные фигурные скобки:
{{ }}
резервируются для метаправил.
То есть правил, воздействующих на другие правила.
Знак степени
^
резервируется для степенной операции.
A^B
Умножение
*
Деление
/
Сложение
+
Вычитание
-
Переход
->
рассматривается как единая служебная комбинация и имеет приоритет перед отдельным чтением символов - и >.
Соединение каскадов
][
означает явный стык двух каскадных блоков с передачей результата.
Например:
PC1 ][ PC2
Это сильнее обычного соседства двух блоков.
Определение
:=
Равенство или присваивание установленного значения
=
Точное различие математического равенства и процедурного присваивания будет определено формальной грамматикой.
Индекс
_
Например:
R_1
X_100
Запятая
,
разделяет одноуровневые параметры или элементы списка.
Точка с запятой
;
разделяет самостоятельные условия или правила внутри одного блока.
Двоеточие
:
соединяет тип правила с его содержанием.
Например:
TL:R_next=R^2
EL:I_next=2*I
Символы сравнения
<
>
<=
>=
могут использоваться в условиях.
Например:
{R>=100;MR:R_next=R^2}
2.11. Скобочный ранг
Хотя подробная теория скобочной морфологии будет дана далее, базовый принцип необходимо зафиксировать уже сейчас.
Повторение скобок может обозначать повышение структурного уровня.
Первый уровень:
(...)
[...]
{...}
Второй:
((...))
[[...]]
{{...}}
Третий:
(((...)))
[[[...]]]
{{{...}}}
И так далее.
Это позволяет кодировать метауровни без введения графических конструкций.
Такое количество повторений можно назвать:
скобочным рангом.
Например:
[...]
каскад первого скобочного ранга.
[[...]]
каскад второго скобочного ранга.
[[[...]]]
каскад третьего скобочного ранга.
Данный принцип особенно важен для:
каскадов каскадов;
законов законов;
метамодификаторов;
метаалгебраических комплексов.
2.12. Пример полной текстовой конструкции
Рассмотрим условную запись:
ML(A=2,SL=2,R=3,I=2)[PC1 ][ PC2]{TL:A_next=X;MR:R_next=R^2}
Её можно прочитать следующим образом.
Используется металогарифм:
ML
с исходным основанием:
A=2
сублогарифмом:
SL=2
рангом:
R=3
и двумя внешними итерациями:
I=2.
Внутри присутствуют два связанных степенных каскада:
PC1
и:
PC2.
Результат предыдущего блока передаётся следующему через:
][
В фигурных скобках заданы правила.
Первое:
TL:A_next=X
означает передачу результата X в следующее основание.
Второе:
MR:R_next=R^2
означает модификацию следующего ранга по степенному закону.
Даже без графического изображения структура остаётся читаемой.
При этом она уже достаточно формальна для будущего машинного разбора.
2.13. Нормативная и объяснительная запись
В книге необходимо различать два режима.
Объяснительный режим
Он ориентирован на читателя.
Допустимы записи:
a(0)
a(1)
a(2)
и словесные пояснения.
Нормативный OTM-TN
Он ориентирован на однозначный формальный разбор.
Предпочтительны:
A_0
A_1
A_2
ML(A=...,R=...,I=...)
{TL:...}
[PC...]
Оба режима могут сосуществовать.
Объяснительный язык облегчает обучение.
Нормативный язык обеспечивает формализацию.
Это особенно важно для книги, которая должна одновременно выполнять две функции:
вводить новую математическую идею;
и закладывать основу будущего формального языка.
ЗАКЛЮЧЕНИЕ ГЛАВ 1–2
Текстовая нотация ОТМ строится на принципе:
максимум однозначной семантики при минимуме технических требований к среде отображения.
Поэтому базовая OTM-TN:
не требует графики;
не требует LaTeX;
не требует математического редактора;
не требует специальных шрифтов;
не зависит от конкретной веб-платформы.
Она использует:
латинские буквенные коды;
ASCII-операторы;
текстовые индексы;
скобочную морфологию;
явные законы перехода.
Базовая структура языка начинает складываться из нескольких уровней:
символ
-> код
-> оператор
-> каскад
-> закон
-> комплекс
-> метауровень
Особенно важным является введение скобочного ранга.
Он позволяет текстовыми средствами различать:
параметр;
метапараметр;
каскад;
метакаскад;
закон;
метазакон.
Таким образом OTM-TN начинает выполнять ту же функцию, которую в обычных языках программирования выполняют:
синтаксис;
блоковая структура;
операторы;
области вложенности.
Однако задача OTM-TN шире.
Он должен кодировать не просто вычислительные инструкции, а генеративную архитектуру математических объектов.
Поэтому дальнейшее развитие языка требует двух следующих шагов.
Первый — строгой теории скобочной морфологии.
Второй — определения грамматики OTM-TN, то есть правил, по которым из отдельных кодов строятся корректные выражения, каскады, законы, SML и метаоператорные конструкции.
Именно после этого OTM-TN сможет рассматриваться уже не только как удобная текстовая нотация, но и как прототип полноценного формального языка Общей теории металогарифмов.
*********
ГЛАВА 3. СЕМАНТИКА СКОБОК
Скобки в OTM-TN выполняют не только функцию обычной математической группировки.
Они являются самостоятельными носителями структурной информации.
Разные типы скобок обозначают разные классы объектов:
( ) — параметры и локальная группировка;
[ ] — каскады, последовательности и структурные блоки;
{ } — законы, условия и модификационные правила.
Повторение скобок повышает семантический уровень конструкции:
(( ))
[[ ]]
{{ }}
Тем самым скобочная система OTM-TN становится способом кодирования многоуровневой математической архитектуры исключительно текстовыми средствами.
3.1. Круглые скобки
Круглые скобки имеют две основные функции.
Первая — задание параметров оператора.
Например:
ML(A=10,SL=10,R=3,I=2)
Здесь выражение внутри круглых скобок представляет параметрический блок металогарифма.
Вторая функция — группировка сложного выражения.
Например:
SML(N^2)
означает, что параметром SML является всё выражение:
N^2
а не только N.
Аналогично:
SML(SML 10)
означает вложенную конструкцию, в которой сначала определяется внутренний SML.
Таким образом:
OP(...)
следует читать как:
оператор OP применяется к параметрам или объекту, содержащимся внутри круглых скобок.
Круглые скобки имеют преимущественно параметрическую семантику.
3.2. Квадратные скобки
Квадратные скобки обозначают структурные последовательности и каскады.
Простейший пример:
PC[C1,C2,C3]
означает степенной каскад, содержащий три компонента.
Ранговый профиль:
RP[2,5,3]
означает последовательность рангов:
2;
5;
Запись:
[C1,C2,C3]
сама по себе означает одноуровневую последовательность объектов.
Она не обязана означать передачу результата между ними.
Если необходимо явно указать связь и наследование результата, используется сцепление.
Следовательно, квадратные скобки имеют прежде всего каскадно-структурную семантику.
3.3. Фигурные скобки
Фигурные скобки содержат правила.
Например:
{TL:A_next=X}
означает закон перехода, согласно которому следующий объект A получает значение X.
Запись:
{EL:R_next=R^2}
задаёт закон эволюции ранга.
Несколько правил:
{TL:A_next=X;EL:R_next=R^2}
разделяются точкой с запятой.
В фигурных скобках могут находиться:
законы перехода;
законы эволюции;
условия;
модификаторы;
правила активации;
ограничения.
Например:
{R>=100;EL:R_next=R^2}
может означать применение соответствующего закона при выполнении условия:
R>=100
Фигурные скобки имеют преимущественно законодательную семантику.
Если круглые скобки отвечают на вопрос:
с какими параметрами работает оператор?
квадратные:
какую структуру он содержит?
то фигурные:
по каким правилам эта структура действует и изменяется?
3.4. Удвоенные скобки
Удвоение скобок повышает уровень структуры.
Удвоенные круглые скобки
((...))
обозначают метапараметрический блок.
Например:
ML((MP))
может означать, что оператор получает не обычный параметр, а структуру, управляющую системой параметров.
Удвоенные квадратные скобки
[[...]]
обозначают метакаскад или каскад более высокого структурного уровня.
Например:
[[C1][C2][C3]]
содержит не просто три элемента, а систему связанных каскадных блоков.
Удвоенные фигурные скобки
{{...}}
обозначают метазакон.
Если:
{EL:R_next=R^2}
задаёт изменение ранга,
то:
{{...}}
может задавать правило изменения самого закона EL.
Например, концептуально:
{{LAW_next=Transform(LAW_current)}}
Таким образом:
одинарные скобки работают с объектами первого уровня;
удвоенные — с объектами, управляющими структурами первого уровня.
3.5. Скобочный ранг
Количество одинаковых внешних скобочных оболочек называется скобочным рангом.
Например:
[X]
имеет квадратный скобочный ранг 1.
[[X]]
ранг 2.
[[[X]]]
ранг 3.
Аналогично:
{X}
{{X}}
{{{X}}}
и:
(X)
((X))
(((X)))
Скобочный ранг не следует путать с металогарифмическим рангом R.
Это разные характеристики.
Металогарифмический ранг показывает внутреннюю этажность операции.
Скобочный ранг показывает уровень структурной упаковки записи.
Например:
R=3
и:
[[X]]
описывают совершенно разные вещи.
Первое относится к вычислительной архитектуре.
Второе — к языковой морфологии.
Скобочный ранг является одним из механизмов повышения семантического уровня OTM-TN.
3.6. Сцепленные формы
Особое значение имеют конструкции, в которых несколько скобочных блоков располагаются непосредственно друг за другом.
Например:
[C1][C2]
или:
[C1][C2][C3]
Такая форма называется сцепленной.
Она отличается от:
[C1,C2,C3]
Вторая запись представляет плоский список элементов одного блока.
Первая подчёркивает наличие нескольких самостоятельных структурных блоков и границ между ними.
Если сцепление используется внутри метакаскада:
[[C1][C2][C3]]
получаем систему из трёх каскадных компонентов, объединённых общей оболочкой второго скобочного ранга.
Таким образом сцепление позволяет сохранять самостоятельность локальных блоков внутри более крупной структуры.
3.7. Конструкции типа ][
Последовательность:
][
получает в OTM-TN специальное значение.
Она обозначает каскадный стык.
Семантически такой стык означает:
завершение одного блока;
переход через его результат;
запуск следующего блока.
Например:
PC1 ][ PC2
следует читать:
результат каскада PC1 передаётся каскаду PC2.
Это принципиально сильнее простой записи:
PC1,PC2
которая означает только совместное перечисление двух объектов.
Можно представить:
PC1 ][ PC2
как сокращение семантики:
RESULT(PC1) -> INPUT(PC2)
Поэтому ][ является не декоративной комбинацией двух скобок, а зарезервированным оператором каскадного сцепления.
3.8. Конструкции типа ][ ][
Несколько каскадных стыков образуют цепочку.
Например:
PC1 ][ PC2 ][ PC3
означает:
сначала выполняется PC1;
его результат передаётся PC2;
результат PC2 передаётся PC3.
То есть:
PC1
-> PC2
-> PC3
но с дополнительной семантикой именно передачи результата между самостоятельными каскадными блоками.
Такую конструкцию можно назвать сцепленным каскадом.
Более длинная форма:
C1 ][ C2 ][ C3 ][ C4 ][ C5
позволяет задавать большую линейную архитектуру без графической блок-схемы.
При этом каждый C может сам быть:
металогарифмом;
каскадом;
SML;
алгебраическим комплексом;
метакаскадом.
Следовательно, оператор ][ является одним из важнейших средств текстового программирования генеративных структур.
3.9. Метакаскадные конструкции
Обычный каскад:
[C1,C2,C3]
является структурой первого уровня.
Метакаскад:
[[C1][C2][C3]]
является структурой второго уровня.
Здесь каждый элемент может сам представлять отдельный каскад.
Например:
[[PC[A,B]][RC[C,D]][SC[E,F]]]
можно понимать как метакаскад, состоящий из:
степенного каскада;
рекурсивного каскада;
самопорождающего каскада.
При необходимости возможен следующий уровень:
[[[...]]]
Таким образом OTM-TN допускает иерархию:
элемент
-> каскад
-> метакаскад
-> метакаскад второго порядка
-> ...
Количество уровней заранее не ограничивается.
Однако чрезмерная вложенность должна использоваться только тогда, когда она действительно несёт структурную информацию.
Повышение скобочного ранга не должно превращаться в декоративное усложнение.
3.10. Морфология скобочных структур
Скобочная морфология OTM-TN строится на трёх независимых вопросах.
Первый вопрос: какой тип скобок используется?
( )
параметры.
[ ]
структура или каскад.
{ }
правила.
Второй вопрос: каков скобочный ранг?
Одинарный.
Удвоенный.
Утроенный.
И далее.
Третий вопрос: как блок связан с соседними блоками?
Через перечисление:
,
через переход:
->
через каскадный стык:
][
через вложение.
Поэтому структура:
[[C1][C2][C3]]{{L}}
содержит несколько семантических слоёв.
[[...]]
задаёт метакаскад.
[C1][C2][C3]
задаёт сцепленные внутренние блоки.
{{L}}
задаёт метазакон.
Подобная запись уже представляет своего рода текстовую архитектуру математической системы.
Можно сформулировать общий принцип:
тип скобки определяет класс структуры, скобочный ранг определяет её семантический уровень, а форма сцепления определяет отношения между соседними блоками.
Это является основой скобочной морфологии OTM-TN.
ГЛАВА 4. ФОРМАЛЬНАЯ ГРАММАТИКА OTM-TN
После определения алфавита и скобочной морфологии можно перейти к первой формальной грамматике OTM-TN.
Настоящая версия является рабочей спецификацией.
Она должна рассматриваться как основа будущей строгой машинной стандартизации, а не как окончательная и неизменная грамматика.
Для описания правил будем использовать простую текстовую форму:
A := B
означает:
A определяется через B.
Символ:
|
означает альтернативу.
Символ:
?
означает необязательный элемент.
Символ:
*
означает ноль или более повторений.
Символ:
+
означает одно или более повторений.
Эти знаки используются здесь как метаязык описания грамматики, а не как часть обычной записи OTM-TN.
4.1. Общая структура записи
Базовая архитектура выражения:
EXPR := OP PARAM_BLOCK? CASCADE_BLOCK? LAW_BLOCK?
То есть полная конструкция может содержать:
оператор;
параметрический блок;
каскадный блок;
блок законов.
Например:
ML(A=10,SL=10,R=3,I=2)[PC1][PC2]{TL:A_next=X}
Здесь:
ML
оператор;
(...)
параметры;
[...]
каскадная структура;
{...}
законы.
Не все блоки обязательны.
Например:
SML 100
является корректной короткой формой.
PC[C1,C2,C3]
может существовать без отдельного параметрического блока.
Таким образом OTM-TN использует модульную грамматику.
4.2. Параметры
Параметрический блок:
PARAM_BLOCK := "(" PARAM_LIST ")"
Список параметров:
PARAM_LIST := PARAM ("," PARAM)*
Один параметр:
PARAM := NAME "=" VALUE
Например:
A=10
SL=10
R=3
I=2
Полный блок:
(A=10,SL=10,R=3,I=2)
Значением VALUE может быть:
число;
идентификатор;
другое выражение;
результат предварительно определённого оператора.
Например:
R=N
I=R
R=X
A=SML(10)
если контекст допускает использование результата SML как значения параметра.
Для сложных значений предпочтительно использовать круглую группировку.
4.3. Каскады
Базовый каскад:
CASCADE := CODE "[" ELEMENT_LIST "]"
где:
ELEMENT_LIST := ELEMENT ("," ELEMENT)*
Например:
PC[C1,C2,C3]
Сцепленный каскад:
CHAIN := ELEMENT ("][" ELEMENT)+
Например:
PC1][PC2][PC3
В публикационной форме для читаемости допускается:
PC1 ][ PC2 ][ PC3
Пробелы не являются частью семантики.
Метакаскад:
META_CASCADE := "[[" CASCADE_CONTENT "]]"
Более высокий скобочный ранг строится дальнейшим увеличением числа внешних квадратных скобок.
При машинном разборе необходимо сначала установить баланс и ранг скобок, после чего определять внутренние каскадные стыки.
4.4. Законы
Блок законов:
LAW_BLOCK := "{" LAW_LIST "}"
Список:
LAW_LIST := LAW (";" LAW)*
Один закон:
LAW := LAW_CODE ":" RULE
Примеры кодов:
TL
закон перехода.
GL
закон генерации.
EL
закон эволюции.
Пример:
{TL:A_next=X}
или:
{GL:X_next=X^X;EL:R_next=R^2}
Условие может сопровождать закон.
Например:
{R>=100;EL:R_next=R^2}
В дальнейшем для условий может быть введён отдельный код, однако на текущем уровне достаточно однозначной текстовой формы.
Метазакон записывается:
{{...}}
и воздействует на другой закон или на систему законов.
4.5. Ранги
Скалярный ранг:
R=VALUE
Например:
R=10
Динамический ранг задаётся через закон:
{EL:R_next=R^2}
Ранг, определяемый результатом:
{TL:R_next=X}
Ранговый профиль:
RP[2,5,3]
Составной ранговый профиль может содержать вложенные структуры:
RP[[2,5][3,8][10]]
если соответствующая семантика предварительно установлена.
Таким образом OTM-TN различает:
скалярный ранг;
динамический ранг;
ранговый профиль;
метаранговую структуру.
4.6. Итерации
Фиксированная итерационность:
I=10
Динамическая:
{EL:I_next=2*I}
Результат-зависимая:
{TL:I_next=X}
Связанная с рангом:
I=R
Саморефлексивная:
I=N
при одновременном:
A=N
R=N
В более сложных системах возможен итерационный профиль.
Например:
IP[2,4,16,256]
где IP может быть зарезервирован как Iteration Profile.
Подобные расширения должны включаться в официальный словарь только после проверки отсутствия коллизий.
4.7. Рефлексивность
Общая рефлексивность может обозначаться кодом:
RF
Например:
RF(ML(A=10,R=3)){TL:R_next=X}
Эта запись означает, что металогарифмическая конструкция использует собственный результат X для определения следующего ранга.
Однако в большинстве практических случаев специальная оболочка RF необязательна.
Сам факт закона:
{TL:R_next=X}
уже показывает рефлексивную зависимость.
Поэтому код RF выполняет прежде всего классификационную функцию.
Следует различать:
семантику
и
маркировку класса.
Система может быть рефлексивной по своим законам даже без явного кода RF.
4.8. Саморефлексивность
Общий маркер саморефлексивной связи:
SR
может использоваться для расширенных систем.
Например:
SR(A=R=I=N)
Однако канонический саморефлексивный металогарифм имеет собственный код:
SML
Поэтому:
SML N
предпочтительнее длинной записи:
SR(ML(A=N,R=N,I=N))
Канонический SML является семантическим макрооператором.
Он заменяет целый набор параметров и правил одной короткой инструкцией.
Расширенные саморефлексивные системы могут записываться через явные зависимости.
Например:
ML(A=N,R=N^2,I=N){SR}
если в будущей версии языка будет утверждён такой маркер.
Однако основная информация должна находиться в самой структуре зависимостей, а не только в метке SR.
4.9. Модификационные комплексы
Простейший модификатор:
M(X){RULE}
Например:
M(A){*2}
Специализированная форма:
MA(A){*2}
MR(R){^2}
Несколько модификаторов образуют комплекс:
AC[MA(A){*2},MR(R){^2}]
Такая запись означает наличие двух модификационных блоков одного уровня.
Если они должны применяться последовательно с передачей состояния, используется сцепление:
MA(A){*2} ][ MR(R){^2}
При необходимости весь объект заключается в оболочку:
AC[[MA(A){*2}][MR(R){^2}]]
Параллельный режим должен быть обозначен явным законом или параметром комплекса.
Например, в будущей спецификации:
AC(...){MODE=PAR}
Последовательный:
{MODE=SEQ}
До официального закрепления кодов PAR и SEQ их следует рассматривать как рабочие обозначения, а не как окончательно зарезервированные слова.
4.10. Короткая и расширенная формы
OTM-TN допускает два основных способа записи.
Короткая форма
Предназначена для человека и высокосемантических операторов.
Например:
SML 100
или:
PC1 ][ PC2 ][ PC3
Расширенная форма
Показывает внутреннюю структуру.
Например вместо:
SML 100
можно явно указать:
A=100
R=100
I=100
и внутренний закон.
Короткая и расширенная формы должны быть семантически эквивалентны.
Это один из ключевых принципов языка.
Короткая запись является генотипом.
Расширенная запись представляет частичную экспликацию этого генотипа.
Следовательно, OTM-TN должен поддерживать операции:
сжатия
и
декодирования.
В дальнейшем интерпретатор должен уметь преобразовывать короткую форму в расширенную автоматически.
4.11. Декодирование записи SML N
Запись:
SML N
является важнейшим примером семантического макрооператора.
Её декодирование выполняется поэтапно.
Шаг 1. Определение параметра
Получаем значение:
N
Шаг 2. Назначение исходного объекта
A=N
Шаг 3. Назначение ранга
R=N
Шаг 4. Назначение числа внешних итераций
I=N
Шаг 5. Назначение внутреннего закона
В канонической симметричной модели:
X_next=X^X
Шаг 6. Назначение межитерационного наследования
Результат завершённой операции становится входом следующей.
Таким образом семантическая нормальная форма может быть представлена условно:
SML(N) := ML(A=N,SL=A,R=N,I=N){GL:X_next=X^X;TL:A_next=X}
Эта запись не обязана использоваться в обычном тексте книги.
Она представляет машинную семантическую расшифровку короткого оператора.
Например:
SML 2
нормализуется в параметры:
A=2
R=2
I=2
и далее создаёт две полные операции второго ранга.
Для:
SML(SML 2)
алгоритм другой.
Сначала декодируется и выполняется или генеративно определяется внутренний:
SML 2
Пусть его результат:
X
После этого внешняя конструкция нормализуется как:
SML X
то есть:
A=X
R=X
I=X
Таким образом вложенность читается изнутри наружу.
Это правило должно считаться нормативным.
4.12. OTM-TN как прототип языка Изольдионики
OTM-TN создаётся для формализации ОТМ, но его архитектура естественным образом выводит нас за пределы одной теории.
Основные элементы уже напоминают полноценный формальный язык:
алфавит;
операторные коды;
параметры;
каскады;
скобочная вложенность;
законы;
условия;
рефлексивные зависимости;
макрооператоры;
метауровни.
Поэтому OTM-TN может стать одним из первых прототипов будущего языка Изольдионики.
В Изольдионике вместо нескольких десятков операторов потенциально будут использоваться сотни и тысячи кодонов.
Каждый кодон может иметь:
собственный код;
параметры;
законы;
каскады;
условия активации;
метаправила.
Тогда общая структура может иметь вид:
OP(parameters)[structure]{laws}
Эта формула способна стать одним из базовых синтаксических принципов будущего изольдионического языка.
Например:
CODEON(parameters)[cascade]{laws}
где CODEON может представлять:
металогарифм;
SML;
изольдиацию;
ноофакторал;
многосоставное число;
другой оператор Теории Ланумов.
Таким образом OTM-TN является не просто способом печатать металогарифмы на сайте.
Он представляет экспериментальную модель математического языка высокого семантического уровня.
Такой язык должен работать не столько с отдельными арифметическими действиями, сколько с целыми генеративными конструкциями.
4.13. Нормализация записи
Для будущего машинного интерпретатора полезно ввести понятие нормальной формы.
Разные внешние записи могут иметь одинаковую семантику.
Например:
SML 100
и:
SML(100)
для атомарного параметра 100 должны интерпретироваться одинаково.
Однако внутренняя нормальная форма может быть единой:
SML(100)
А затем семантически расширяться в:
ML(A=100,SL=A,R=100,I=100){GL:X_next=X^X;TL:A_next=X}
Таким образом обработка выражения проходит несколько уровней:
исходный текст;
лексический разбор;
синтаксическое дерево;
нормализованная форма;
семантическая форма;
генеративное исполнение или экспликация.
Этот процесс особенно важен для будущей автоматизации ОТМ.
4.14. Порядок разбора выражения
Для устранения неоднозначности устанавливается общий порядок структурного чтения.
Сначала определяется:
внешний оператор.
Затем:
скобочные уровни.
После этого:
параметры.
Затем:
внутренние каскады.
После них:
законы и условия.
Далее строятся зависимости между параметрами.
Только после этого начинается генеративная интерпретация.
Таким образом:
структурный разбор предшествует вычислению.
Для арифметических выражений внутри параметров используется обычный приоритет операций.
В базовой версии:
группировка ( );
степень ^;
умножение * и деление /;
сложение + и вычитание -;
сравнения <, >, <=, >=;
определения и зависимости;
переходы и каскадные связи.
Оператор:
][
не является арифметической операцией.
Он применяется уже после формирования соседних структурных блоков.
4.15. Принцип строгой декодируемости
Любая нормативная запись OTM-TN должна удовлетворять требованию:
для неё должен существовать однозначный путь структурного декодирования.
Это не означает, что числовой результат обязательно должен быть вычислим практически.
Например:
SML 1000
может быть совершенно недоступен полной цифровой экспликации.
Но его структура должна быть однозначно декодируема.
Следовательно, необходимо различать:
декодируемость генотипа
и
эксплицируемость фенотипа.
Первое является требованием языка.
Второе может оказаться физически или вычислительно невозможным.
Это различие будет особенно важно в последующей теории экспликационных уровней.
4.16. Ошибочные и неполные формы
Формальный язык должен уметь не только принимать корректные записи, но и отвергать некорректные.
Например:
ML(A=10,R=3
некорректно из-за незакрытой скобки.
Запись:
SML SML 10
считается ненормативной из-за неоднозначной вложенности.
Следует писать:
SML(SML 10)
Если код имеет два разных значения, запись также считается неприемлемой до устранения коллизии.
Например, именно поэтому:
AC
не должно одновременно обозначать:
Algebraic Complex
и:
Asymmetric Cascade.
Первое сохраняет:
AC
Второе получает:
ASC.
Формальная строгость словаря является частью грамматики.
4.17. Семантические типы
Для будущего интерпретатора полезно различать не только значения, но и типы объектов.
Например:
NUMBER
числовой объект.
RANK
ранг.
ITERATION
итерационность.
CASCADE
каскад.
LAW
закон.
OPERATOR
оператор.
COMPLEX
операторный комплекс.
PROFILE
профиль.
ENVIRONMENT
среда.
META_OBJECT
объект более высокого уровня.
Тогда система сможет обнаруживать семантические ошибки.
Например, если оператор ожидает ранг, а получает закон без правила преобразования закона в число, выражение должно быть признано некорректным.
Таким образом будущая OTM-TN должна иметь не только синтаксис, но и систему семантических типов.
4.18. Генотипическая интерпретация OTM-TN
Наиболее глубокое понимание OTM-TN состоит в том, что запись описывает не столько готовое число, сколько способ его происхождения.
Например:
SML 100
не перечисляет цифры результата.
Она задаёт генотип его генерации.
То же относится к:
ML(A=2,R=10,I=5){...}
или к сложному:
AC[[SML N][MR(R){R^2}]][PC1][PC2]{{...}}
Подобная запись содержит архитектуру порождения объекта.
Поэтому OTM-TN следует рассматривать как генотипический математический язык.
Его первичная единица — не цифра результата.
Его первичная единица — инструкция генерации структуры.
Это принципиально отличает его от обычной записи огромных чисел.
ЗАКЛЮЧЕНИЕ ЧАСТИ VII
Разработка текстовой нотации ОТМ приводит к существенно более широкому результату, чем создание набора сокращений.
Постепенно возникает формальный язык.
Его базовая архитектура включает:
алфавит;
операторные коды;
параметры;
каскады;
законы;
скобочные уровни;
сцепления;
ранги;
итерации;
рефлексивные зависимости;
саморефлексивные макрооператоры;
модификационные комплексы.
Особое значение имеет система скобок.
Круглые скобки кодируют преимущественно параметрическую структуру.
Квадратные — каскадную.
Фигурные — законодательную.
Повторение скобок позволяет поднимать конструкцию на метауровень.
Оператор:
][
создаёт специальную форму каскадного сцепления с передачей результата.
Таким образом даже исключительно ASCII-текст способен представлять сложные многослойные математические архитектуры.
Формальная грамматика закрепляет общий принцип:
OP(parameters)[cascade]{laws}
Эта схема способна охватить значительную часть объектов ОТМ.
Высокосемантические конструкции могут получать собственные короткие коды.
Главный пример:
SML N
Но любой такой код должен иметь однозначное семантическое декодирование.
Тем самым возникает фундаментальная пара:
короткая генотипическая запись
и
развёрнутая семантическая форма.
Это различие в дальнейшем приобретёт особое значение.
Один объект может быть легко записываем на уровне генотипа и практически неэксплицируем на уровне цифрового фенотипа.
Более сложный объект может оказаться неэксплицируемым уже на уровне обычной формулы и потребовать языка следующего семантического порядка.
Поэтому OTM-TN оказывается первой практической демонстрацией более общего принципа:
повышение уровня математического языка позволяет превращать конструкции, чрезвычайно сложные на нижнем уровне, в элементарные операционные единицы более высокого уровня.
Именно этот принцип связывает:
ОТМ;
Изольдионику;
будущую Теорию Ланумов;
теорию экспликационных уровней;
и будущие языки программирования высокого семантического уровня.
OTM-TN поэтому представляет одновременно:
текстовую нотацию;
формальный язык;
язык математических генотипов;
прототип машинного интерпретатора;
и один из первых шагов к будущему высокосемантическому языку Изольдионики.
*******
АППЕНДИКС VII-А. ПРАКТИЧЕСКИЙ АТЛАС ЯЗЫКА И ТЕКСТОВОЙ НОТАЦИИ OTM-TN
Оглавление аппендикса
Минимальная запись металогарифма
Параметрический блок
Базовый словарь OTM-TN
Одинарные символы и их роли
Двух- и трёхбуквенные коды
Круглые скобки на практике
Квадратные скобки на практике
Фигурные скобки на практике
Скобочный ранг
Сцепленные блоки
Оператор ][
Цепочки вида ][ ][
Обычный каскад и метакаскад
Ранговый профиль
Итерационный профиль
Законы перехода, генерации и эволюции
Запись модификаторов
Запись алгебраического комплекса
Запись рефлексивной конструкции
Каноническая запись SML N
Пошаговое декодирование SML 3
Вложенная запись SML(SML N)
Короткая и расширенная формы
Нормализация записи
Порядок машинного разбора
Типичные синтаксические ошибки
Типичные семантические ошибки
Пример полного декодирования сложной конструкции
OTM-TN как генотипическая запись
Сводная таблица основных обозначений
Минимальный нормативный стандарт OTM-TN
Основные выводы
Введение
OTM-TN создаётся как чисто текстовый язык Общей теории металогарифмов.
Его основная задача состоит в том, чтобы сложные металогарифмические конструкции могли быть записаны:
в обычном текстовом редакторе;
в WordPress;
на Proza.ru;
в электронном письме;
в базе данных;
в программном файле;
без обязательного использования LaTeX, графики и специальных математических символов.
Поэтому базовая версия OTM-TN опирается преимущественно на ASCII-символы.
Главный принцип:
математическая структура должна сохраняться даже после полного удаления оформления.
Второй принцип:
одна корректная запись должна иметь одно нормативное структурное прочтение.
Третий принцип:
короткая запись допустима только тогда, когда существует однозначный способ её декодирования.
1. Минимальная запись металогарифма
Простейшая параметрическая форма:
ML(A=2,SL=2,R=1,I=1)
Она содержит:
ML — металогарифм;
A=2 — основание или исходный объект;
SL=2 — сублогарифм;
R=1 — ранг;
I=1 — число внешних итераций.
Для канонической симметричной операции первого ранга это соответствует:
2^2 = 4
Однако запись:
ML(A=2,SL=2,R=1,I=1)
содержит больше структурной информации, чем просто:
2^2
Она сообщает, к какому классу относится операция и какие параметры считаются самостоятельными.
2. Параметрический блок
Круглые скобки после кода оператора содержат параметры.
Общая схема:
OP(parameter=value,parameter=value,...)
Например:
ML(A=10,SL=5,R=3,I=2)
Читается:
металогарифм;
основание 10;
сублогарифм 5;
ранг 3;
две внешние итерации.
Если параметр зависит от другого:
ML(A=N,SL=N,R=N,I=N)
Если ранг отличается:
ML(A=N,SL=N,R=N^2,I=N)
Сложные значения заключаются в скобки:
ML(A=N,R=(N^2+1),I=N)
В публикационном тексте лишние скобки желательно не использовать.
3. Базовый словарь OTM-TN
Рабочее ядро словаря:
OL — Ordinary Logarithm.
ML — Metalogarithm.
CL — Cyclic Logarithm.
AL — Absolute Logarithm.
SL — Sublogarithm.
PC — Power Cascade.
RC — Recursive Cascade.
DC — Dynamic Cascade.
SC — Self-generating Cascade.
ASC — Asymmetric Cascade.
MC — Modified Cascade.
AC — Algebraic Complex.
CM — Cascade Modifier.
CA — Cascade Asymmetry.
CI — Cascade Index.
GL — Generation Law.
TL — Transition Law.
EL — Evolution Law.
RP — Rank Profile.
IP — Iteration Profile.
MP — Modification Profile.
RF — Reflexive.
SR — Self-Reflexive.
SML — Self-Reflexive Metalogarithm.
EH — Explication Horizon.
EC — Explication Complexity.
Этот список является рабочим базовым реестром.
При дальнейшем развитии языка каждый новый код должен проверяться на отсутствие коллизий.
4. Одинарные символы и их роли
Для фундаментальных параметров используются короткие обозначения.
A — основание или исходный объект.
N — универсальный параметр.
R — ранг.
I — внешняя итерационность.
K — коэффициент или показатель асимметрии.
X — текущий или промежуточный результат.
Y — второй промежуточный объект.
Z — третий промежуточный объект.
Строчные символы:
i
j
k
обычно используются как локальные индексы.
Например:
R_i
означает ранг i-й стадии.
X_k
означает k-е состояние.
5. Двух- и трёхбуквенные коды
Длина кода определяется не формальным требованием, а балансом между:
краткостью;
читаемостью;
отсутствием коллизий.
Поэтому:
ML
удобно и однозначно.
SL
удобно и однозначно.
Но:
SML
лучше, чем попытка сократить Self-Reflexive Metalogarithm до двух букв, если двухбуквенная форма создаёт конфликт.
Аналогично:
ASC
используется для Asymmetric Cascade, потому что:
AC
уже закреплено за Algebraic Complex.
Основное правило:
лучше использовать на один символ больше, чем создавать двусмысленность.
6. Круглые скобки на практике
Круглые скобки обозначают прежде всего параметры и группировку аргумента.
Пример:
ML(A=10,R=5,I=3)
Другой пример:
SML(N^2)
Здесь весь объект:
N^2
является параметром SML.
Вложенный оператор:
SML(SML 3)
Читается изнутри наружу.
Сначала:
SML 3
Затем его результат используется как параметр внешнего SML.
Круглые скобки отвечают прежде всего на вопрос:
что подаётся оператору как параметр или аргумент?
7. Квадратные скобки на практике
Квадратные скобки обозначают последовательности, структуры и каскады.
Пример:
PC[C1,C2,C3]
означает степенной каскад из трёх элементов.
Ранговый профиль:
RP[2,5,3]
означает три ранговых значения:
2;
5;
Итерационный профиль:
IP[2,4,8,16]
означает последовательность значений внешней итерационности.
Квадратные скобки отвечают на вопрос:
какие структурные элементы входят в объект?
8. Фигурные скобки на практике
Фигурные скобки содержат законы, условия и правила.
Например:
{TL:A_next=X}
означает:
следующее основание получает значение X.
Запись:
{EL:R_next=R^2}
означает:
новый ранг определяется квадратом текущего.
Несколько правил:
{TL:A_next=X;EL:R_next=R^2}
Условный закон:
{R>=100;EL:R_next=R^2}
Таким образом фигурный блок отвечает на вопрос:
по каким правилам объект действует или изменяется?
9. Скобочный ранг
Сравним:
[X]
[[X]]
[[[X]]]
Это структуры квадратного скобочного ранга:
1;
2;
Аналогично:
{L}
{{L}}
{{{L}}}
Первый объект может быть законом.
Второй — метазаконом.
Третий — законом, управляющим системой метазаконов.
То же возможно для круглых скобок:
(P)
((P))
(((P)))
Важно:
скобочный ранг не является металогарифмическим рангом R.
R=3
означает внутреннюю этажность металогарифма.
[[[X]]]
означает третий структурный уровень записи.
10. Сцепленные блоки
Сравним:
[A,B,C]
и:
[A][B][C]
Первая форма представляет три элемента внутри одного блока.
Вторая сохраняет три самостоятельных блока.
Если они помещаются внутрь общей оболочки:
[[A][B][C]]
получаем метаструктуру, состоящую из трёх самостоятельных компонентов.
Сцепленная морфология полезна, когда необходимо сохранить внутренние границы.
11. Оператор ][
Конструкция:
][
получает специальную семантику передачи результата.
Например:
PC1 ][ PC2
означает:
выполнить PC1;
получить его результат;
использовать этот результат в качестве входа PC2.
Это можно условно развернуть:
RESULT(PC1) -> INPUT(PC2)
Поэтому:
PC1 ][ PC2
не равно простому:
PC1,PC2
Первое означает вычислительную или генеративную связь.
Второе — только совместное перечисление.
12. Цепочки вида ][ ][
Запись:
PC1 ][ PC2 ][ PC3
означает линейную цепь.
Порядок:
PC1;
результат PC1 передаётся PC2;
результат PC2 передаётся PC3.
Внутренние блоки могут быть сложными.
Например:
SML 3 ][ AC1 ][ PC2
Тогда результат SML 3 передаётся алгебраическому комплексу AC1, а затем результат этого блока поступает в PC2.
Таким способом чистый текст начинает выполнять функцию блок-схемы.
13. Обычный каскад и метакаскад
Обычный каскад:
PC[C1,C2,C3]
Метакаскад:
[[PC1][RC1][SC1]]
В первом случае элементы существуют внутри одного каскадного уровня.
Во втором объект состоит из нескольких самостоятельных каскадных блоков.
Можно создать третий уровень:
[[[PC1][RC1]][[SC1][DC1]]]
Такая конструкция уже описывает систему метакаскадов.
Число уровней теоретически может увеличиваться.
Практически повышение скобочного ранга должно происходить только при наличии реального семантического уровня.
14. Ранговый профиль
Простейший постоянный ранг:
R=5
Динамическая последовательность рангов:
RP[1,2,4,8,16]
Составной профиль:
RP[2,5,3]
Можно представить и вложенный профиль:
RP[[2,5][3,8][10]]
Если такая форма используется, её семантика должна быть заранее определена.
Например, каждый внутренний блок может соответствовать отдельной внешней фазе.
Ранговый профиль является более информативным объектом, чем одно число R.
15. Итерационный профиль
Постоянная итерационность:
I=10
Динамический профиль:
IP[2,4,8,16]
Рекуррентное правило:
{EL:I_next=I^2}
Результат-зависимое правило:
{TL:I_next=X}
Таким образом OTM-TN различает:
конкретное значение;
заранее заданный профиль;
генеративный закон.
16. Законы перехода, генерации и эволюции
Три базовых кода:
GL
Generation Law.
TL
Transition Law.
EL
Evolution Law.
Пример генерации:
{GL:X_next=X^X}
Пример перехода между блоками:
{TL:A_next=X}
Пример эволюции ранга:
{EL:R_next=R^2}
Объединённая запись:
{GL:X_next=X^X;TL:A_next=X;EL:R_next=R^2}
Следует различать:
GL говорит, как создаётся новое значение;
TL говорит, куда и как передаётся состояние;
EL говорит, как изменяется некоторый параметр или закон во времени.
17. Запись модификаторов
Общий модификатор:
M(X){RULE}
Например:
M(A){*2}
Специализированные формы:
MA(A){*2}
MSL(SL){^2}
MR(R){*10}
MI(I){I^2}
Более явная форма иногда предпочтительнее сокращённой.
Например:
MR(R){R^2}
лучше, чем просто:
MR{^2}
если существует риск неоднозначности.
Главное правило:
сокращение допустимо только при сохранении однозначности.
18. Запись алгебраического комплекса
Простой комплекс:
AC[MA(A){*2},MR(R){R^2}]
Здесь два модификатора находятся внутри одного комплекса.
Последовательная форма:
MA(A){*2} ][ MR(R){R^2}
может использоваться, если результат первого преобразования структурно передаётся второму.
Вложенный комплекс:
AC[[AC1][AC2][SML N]]
Метаалгебраический комплекс:
[[AC1][AC2]]{{META_LAW}}
Так OTM-TN позволяет описывать сложные операторные системы без графической схемы.
19. Запись рефлексивной конструкции
Рассмотрим:
ML(A=2,R=3,I=1){TL:R_next=X}
Если X является результатом текущей операции, следующий ранг определяется собственным результатом системы.
Это рефлексивная конструкция.
При желании класс можно подчеркнуть:
RF(ML(A=2,R=3,I=1)){TL:R_next=X}
Но маркер RF не является обязательным, если рефлексивность уже однозначно следует из закона.
Это важный принцип:
семантика важнее классификационной метки.
20. Каноническая запись SML N
Основная форма:
SML N
Для атомарного параметра скобки не обязательны.
Поэтому:
SML 100
является нормативной короткой формой.
Для сложного параметра:
SML(N^2)
Для вложенной конструкции:
SML(SML 3)
Канонический смысл:
A=N
R=N
I=N
при фиксированном внутреннем законе:
X_next=X^X
и межитерационном наследовании результата.
Таким образом SML N является семантическим макрооператором.
21. Пошаговое декодирование SML 3
Исходная запись:
SML 3
Шаг 1
Параметр:
N=3
Шаг 2
Начальный объект:
A=3
Шаг 3
Ранг:
R=3
Шаг 4
Внешние итерации:
I=3
Шаг 5
Внутренний закон:
X_next=X^X
Шаг 6
Первая внешняя итерация:
3 -> 3^3 = 27
затем:
27 -> 27^27
затем ещё один внутренний самостепенной переход.
Получаем:
R1
Шаг 7
Вторая внешняя итерация начинается с:
R1
и снова имеет три внутренние ступени.
Шаг 8
Третья итерация начинается с:
R2
и также имеет три ступени.
Итоговая конструкция имеет:
R=3
I=3
и девять последовательных внутренних переходов верхнего операционного уровня.
22. Вложенная запись SML(SML N)
Рассмотрим:
SML(SML 2)
Порядок строго фиксирован.
Сначала:
X := SML 2
После получения или генеративного определения X:
SML X
То есть внешний SML получает:
A=X
R=X
I=X
Недопустимо читать эту запись как одновременную круговую зависимость.
Вложенные операторы читаются:
изнутри наружу.
Это одно из важнейших правил OTM-TN.
23. Короткая и расширенная формы
Короткая запись:
SML 10
Расширенная параметрическая форма:
ML(A=10,R=10,I=10){GL:X_next=X^X;TL:A_next=X}
Эти формы должны передавать одну и ту же каноническую семантику.
Другой пример.
Короткая форма:
PC1 ][ PC2
Расширенная смысловая форма:
RESULT(PC1) -> INPUT(PC2)
Короткая форма удобна для мышления и публикации.
Расширенная — для обучения, проверки и машинной нормализации.
24. Нормализация записи
Разные допустимые формы могут сводиться к одной нормативной внутренней форме.
Например:
SML 100
и:
SML(100)
имеют одинаковый смысл.
Для машинной обработки обе могут нормализоваться в:
SML(100)
Затем:
SML(100)
может быть семантически развёрнут в:
ML(A=100,R=100,I=100){GL:X_next=X^X;TL:A_next=X}
Получаем уровни:
исходный текст
-> нормализованный текст
-> синтаксическое дерево
-> семантическая структура
-> генеративное исполнение
Нормализация особенно важна для будущего интерпретатора OTM-TN.
25. Порядок машинного разбора
Рекомендуемая последовательность:
Шаг 1
Выделить оператор.
Например:
ML
SML
AC
PC
Шаг 2
Проверить скобочный баланс.
Все открытые скобки должны иметь соответствующие закрывающие.
Шаг 3
Определить скобочный ранг.
Шаг 4
Разобрать круглые параметрические блоки.
Шаг 5
Разобрать квадратные каскадные структуры.
Шаг 6
Определить сцепления ][.
Шаг 7
Разобрать фигурные законы.
Шаг 8
Построить зависимости между параметрами.
Шаг 9
Проверить семантические типы.
Шаг 10
Только после этого запускать вычислительную или генеративную интерпретацию.
Таким образом:
парсинг предшествует исполнению.
26. Типичные синтаксические ошибки
Ошибка:
ML(A=10,R=3
Причина:
не закрыта круглая скобка.
Корректно:
ML(A=10,R=3)
Ошибка:
SML SML 10
Причина:
неясна вложенность.
Корректно:
SML(SML 10)
Ошибка:
[A,B,C
Причина:
не закрыт каскадный блок.
Корректно:
[A,B,C]
Ошибка:
{TL:A_next=X
Причина:
не закрыт блок закона.
Корректно:
{TL:A_next=X}
Ошибка:
использование одного и того же кода для разных объектов.
Например:
AC
не должно одновременно означать Algebraic Complex и Asymmetric Cascade.
Для второго используется:
ASC.
27. Типичные семантические ошибки
Синтаксически корректная запись может быть семантически неправильной.
Например:
R=PC1
Если PC1 является каскадом, а R требует числовой ранг, необходимо определить правило преобразования каскада в число.
Без него запись типологически некорректна.
Другой пример:
I=LAW1
Если LAW1 является законом, а I должен быть числом, необходим отдельный оператор вычисления числового значения.
Ещё один пример:
X=X^X
если X ещё не определён.
Это уже прямая самореференция.
Она не становится корректной только потому, что синтаксис записан правильно.
Необходим механизм разрешения самосогласованности.
Таким образом OTM-TN должен проверять два уровня:
синтаксическую корректность;
семантическую корректность.
28. Пример полного декодирования сложной конструкции
Рассмотрим:
ML(A=2,SL=2,R=3,I=2)[PC1 ][ PC2]{TL:A_next=X;EL:R_next=R^2}
Разберём её.
Оператор
ML
Металогарифм.
Параметры
A=2
SL=2
R=3
I=2
Каскадная структура
PC1 ][ PC2
Имеются два степенных каскадных блока.
Результат PC1 передаётся PC2.
Закон перехода
TL:A_next=X
Результат X используется как следующее основание.
Закон эволюции
EL:R_next=R^2
Следующий ранг равен квадрату текущего.
Если текущий:
R=3
то следующий:
R=9
После следующего применения:
R=81
если закон продолжает действовать.
Таким образом короткая строка описывает:
начальные параметры;
два каскада;
передачу результата;
результат-зависимое основание;
динамический ранговый закон.
Это уже полноценный маленький математический генотип.
29. OTM-TN как генотипическая запись
В традиционной записи числа основное внимание уделяется самому значению.
Например:
1000000
просто сообщает величину.
OTM-TN чаще сообщает:
как объект должен быть порождён.
Например:
SML 100
не содержит цифры итогового результата.
Но содержит программу его происхождения.
Поэтому такую запись можно понимать как генотип.
Её развёрнутый математический объект является фенотипом.
Получаем:
генотип
-> генеративное исполнение
-> фенотип
При этом фенотип может быть слишком велик для цифровой экспликации.
Генотип всё равно остаётся конечным и читаемым.
Это различие является фундаментальным для всей дальнейшей Изольдионики.
30. Сводная таблица основных обозначений
Обозначение Значение Пример
ML Металогарифм ML(A=2,R=3)
SL Сублогарифм SL=5
R Ранг R=10
I Внешние итерации I=100
SML Саморефлексивный металогарифм SML 100
PC Степенной каскад PC[C1,C2]
RC Рекурсивный каскад RC[C1,C2]
SC Самопорождающий каскад SC[...]
ASC Асимметричный каскад ASC[...]
AC Алгебраический комплекс AC[M1,M2]
RP Ранговый профиль RP[2,5,3]
IP Итерационный профиль IP[2,4,8]
MP Профиль модификации MP(...)
TL Закон перехода {TL:A_next=X}
GL Закон генерации {GL:X_next=X^X}
EL Закон эволюции {EL:R_next=R^2}
( ) Параметры / группировка ML(A=2)
[ ] Каскад / структура PC[C1,C2]
{ } Законы / условия {EL:R_next=R^2}
[[ ]] Метакаскад [[C1][C2]]
{{ }} Метазакон {{LAW_next=...}}
][ Передача результата между блоками PC1 ][ PC2
-> Переход X1 -> X2
:= Определение X:=SML 3
^ Степень A^B
* Умножение K*A
_ Текстовый индекс R_1
31. Минимальный нормативный стандарт OTM-TN
Для первой рабочей версии языка полезно зафиксировать несколько обязательных правил.
Правило 1
Базовая запись должна использовать обычный текст.
Правило 2
Один код не должен иметь два базовых значения.
Правило 3
Круглые скобки задают параметры и аргументы.
Правило 4
Квадратные скобки задают каскадную структуру.
Правило 5
Фигурные скобки задают законы и условия.
Правило 6
Повторение скобок повышает структурный уровень.
Правило 7
][
означает передачу результата между самостоятельными блоками.
Правило 8
Сложный аргумент оператора должен быть явно сгруппирован.
Поэтому:
SML(SML 10)
предпочтительно и однозначно.
Правило 9
Вложенные операторы читаются изнутри наружу.
Правило 10
Рефлексивная зависимость должна иметь определённый порядок вычисления либо механизм самосогласования.
Правило 11
Короткая запись должна иметь однозначную расширенную семантическую форму.
Правило 12
Неэксплицируемость результата не делает запись некорректной, если её генотип однозначно декодируем.
Правило 13
Синтаксическая корректность и семантическая корректность проверяются отдельно.
Правило 14
Новые коды должны включаться в реестр только после проверки коллизий.
Правило 15
Типографическое оформление никогда не должно быть единственным носителем математического смысла.
32. Основные выводы
OTM-TN начинается как способ записывать металогарифмы обычным текстом.
Но уже первая версия показывает, что фактически возникает значительно более широкий объект.
Это язык, в котором существуют:
операторы;
параметры;
каскады;
законы;
условия;
профили;
рефлексивные связи;
саморефлексивные макрооператоры;
модификационные комплексы;
метауровни.
Особую роль играет трёхчастная скобочная система:
( )
параметрическая структура;
[ ]
каскадная структура;
{ }
законодательная структура.
Её повышение через:
(( ))
[[ ]]
{{ }}
создаёт текстовый механизм перехода к метауровням.
Оператор:
][
даёт возможность записывать передачу результата между самостоятельными блоками.
Короткие конструкции типа:
SML N
показывают, насколько высока может быть семантическая плотность языка.
Несколько символов способны кодировать:
исходный объект;
ранг;
итерационность;
внутренний закон;
наследование результата;
целую генеративную архитектуру.
Поэтому OTM-TN следует рассматривать не просто как математическую нотацию.
Он одновременно является:
языком записи;
языком генеративных операторов;
генотипическим языком;
прототипом машинноисполняемой спецификации;
прототипом языка Изольдионики;
первым примером математического языка высокого семантического уровня.
При этом наиболее фундаментальным свойством OTM-TN является не краткость сама по себе.
Краткость без строгой семантики ничего не даёт.
Главное свойство состоит в другом:
очень короткая текстовая конструкция способна однозначно представлять чрезвычайно большую операторную архитектуру.
Это и есть тот принцип, который позднее позволит переходить:
от металогарифмов к кодонам;
от кодонов к математическим генотипам;
от генотипов к Ланумам;
а затем — к языкам ещё более высокого семантического порядка.
*************
Свидетельство о публикации №226101601522