Приложения по математическим языкам будущего
В. К. ПЕТРОСЯН (Вадимир). Общая теория металогарифмов. В 2 тт.
*********
© В.К.
Петросян (Вадимир) © Lag.ru [Large Apeironic Gateway, Большой Апейронический
Портал (Шлюз), Суперпортал в Бесконечность].
При копировании данного материала и размещении его на другом сайте, ссылки
на соответствующие локации порталов Lag.ru и Proza.ru обязательны
Работа написана на основе концепции и разработок В.К. Петросяна при полноценном соавторстве (активном творческом и техническом участии) ChatGPT (OpenAI), GPT-5.6 Sol
******
Предыдущие приложения показали, что сложность математического объекта не обязательно должна полностью присутствовать в его непосредственной записи.
Огромная структура может быть представлена:
формулой;
генератором;
кодоном;
генотипом;
метагенератором.
Из этого возникает более общий вопрос:
может ли математика последовательно создавать языки, в которых всё более сложные структуры предыдущего уровня становятся элементарными операциональными единицами следующего?
В определённом смысле математика всегда развивалась именно так.
Многократное сложение было свёрнуто в умножение.
Многократное умножение:
в степень.
Последовательности операций:
в функции.
Функции:
в операторы.
Повторяющиеся структуры:
в рекуррентные правила.
ОТМ продолжает эту линию через:
металогарифмы;
ранги;
SML;
кодоны;
генотипы.
Следующий шаг состоит в том, чтобы рассматривать не отдельные сокращающие обозначения, а целые:
математические языки высокого семантического уровня.
ПРИЛОЖЕНИЕ 25. ИЕРАРХИЯ МАТЕМАТИЧЕСКИХ ЯЗЫКОВ ВЫСОКОГО УРОВНЯ
25.1. Низкоуровневое математическое описание
Под низкоуровневым описанием в настоящем приложении понимается представление, в котором объект раскрывается через относительно элементарные единицы языка.
Для числа это могут быть:
цифры.
Для арифметического процесса:
последовательность отдельных операций.
Например:
2+2+2+2+2
является более низкоуровневым описанием по отношению к:
5*2
если язык уже содержит умножение как примитив.
Аналогично:
длинная последовательность:
X_1=X_0^X_0
X_2=X_1^X_1
X_3=X_2^X_2
...
может быть низкоуровневым представлением относительно языка, содержащего:
RankOp.
Относительность низкого уровня
«Низкий» и «высокий» уровень не являются абсолютными характеристиками математического объекта.
Они относятся:
к выбранному языку.
То, что является сложной конструкцией одного языка,
может стать:
одним примитивом другого.
25.2. Формульный язык
Следующий уровень:
формула.
Формула позволяет заменить длинное перечисление:
общим отношением.
Например:
X_(n+1)=X_n^X_n
одной строкой определяет целое семейство переходов.
Так появляется:
генеративная семантика формулы.
Формула может задавать:
отношение;
функцию;
рекурсию;
ограничение;
закон.
Следовательно, формульный язык уже значительно превосходит по семантической плотности непосредственную запись результатов.
25.3. Операторный язык
Операторный язык делает единицами:
не отдельные арифметические действия,
а:
законченные преобразования.
Например:
RankOp(A,R)
обозначает целую ранговую лестницу.
ML(...)
может обозначать металогарифмическую систему.
SML N
целую саморефлексивно синхронизированную конструкцию.
Оператор отвечает не только:
«какое значение?»
но:
«какое преобразование должно быть выполнено?»
Это фундаментальный переход:
VALUE
-> TRANSFORMATION
25.4. Генеративный язык
На генеративном уровне примитив может задавать:
не конкретное преобразование,
а:
правило построения множества преобразований или структур.
Например:
GENERATE_GENOTYPE(N,LAW)
может создавать генотип из N кодонов.
GENERATE_CASCADE(N,PROFILE)
может создавать каскад заданного класса.
Здесь язык работает уже с:
архитектурами математических объектов.
Объектом выражения становится:
не только результат,
но:
способ его систематического построения.
25.5. Кодонный язык
Кодонный язык делает основной единицей:
функционально завершённый семантический блок.
Кодон должен иметь:
имя;
тип;
входы;
выходы;
параметры;
семантику;
правила раскрытия;
условия композиции.
Например:
SML
может выступать как металогарифмический кодон.
Другой кодон может выполнять:
изольдиацию;
ноофакторальное преобразование;
построение многокомпонентной структуры;
управление профилем.
Кодон отличается от короткого имени
Если длинную формулу просто назвать:
C1
это ещё не делает C1 кодоном.
Кодон является полноценной языковой единицей только при наличии:
формальной семантики
и:
правил взаимодействия с другими единицами.
25.6. Метаоператорный язык
На следующем уровне оператор применяется уже:
к операторам.
Например:
META(OP)
может:
изменить параметры OP;
создать его вариант;
построить семейство операторов;
заменить закон;
создать новую композицию.
Схема:
OPERATOR
-> METAOPERATOR
-> NEW OPERATOR
Метаоператорный язык работает не только с математическими объектами,
но:
с механизмами их преобразования.
25.7. Метакодонный язык
Метакодон:
MCD
в перспективном языке Изольдионики является кодоном, объектом воздействия которого выступают:
кодоны;
генотипы;
сети кодонов;
правила их организации.
Например, MCD может:
определить количество кодонов;
соединить их;
выбрать последовательность;
создать ветвление;
изменить профиль активации.
Схема:
MCD
-> GENOTYPE
или:
MCD(G) -> G'
Код:
MCD
является предварительным обозначением Meta-Codon в расширении Изольдионики и не принадлежит нормативному ядру OTM-TN.
25.8. Языки N-го семантического уровня
Общую иерархию можно обозначить:
L0
L1
L2
...
LN
где каждый следующий язык способен использовать целые конструкции предыдущего уровня как свои примитивы.
Однако эти L-уровни не следует автоматически отождествлять с:
E0,E1,E2,...
теории экспликации.
Различие двух иерархий
LN
описывает:
семантическую организацию языка.
EN
описывает:
уровень, необходимый для экспликации конкретного объекта относительно фиксированной языковой системы.
Один язык LN может содержать объекты:
различных экспликационных рангов.
Поэтому:
language level != explication rank
в общем случае.
Общая схема
На уровне:
LN
могут существовать примитивы:
P_N
которые раскрываются в сложные конструкции:
L(N-1).
Тогда:
P_N
является:
семантически элементарным на LN
и:
структурно сложным на L(N-1).
25.9. Семантический подъём
Семантическим подъёмом называется переход, при котором сложная конструкция текущего языка становится формально определённой единицей языка более высокого порядка.
Например:
длинная последовательность степеней
-> RankOp
затем:
рангово-итерационная система
-> SML
затем:
SML внутри более широкого генотипа
-> CODON
Условия семантического подъёма
Настоящий подъём требует:
определения нового примитива;
однозначной семантики;
правила раскрытия;
типизации;
правил композиции;
возможности проверки корректности.
Если эти условия отсутствуют,
происходит лишь:
переименование.
Принцип семантического подъёма
Объект или процесс, требующий сложного описания на уровне LN, может стать элементарной операционной единицей уровня L(N+1), если для него введена однозначная формальная семантика.
25.10. Семантическое сжатие
Семантическое сжатие означает:
представление сложной структуры нижнего уровня короткой формальной единицей верхнего уровня.
Например:
SML 100
представляет:
100 ранговых ступеней
на:
100 внешних итерациях.
Но настоящее семантическое сжатие нельзя оценивать исключительно:
числом символов.
Необходимо фиксировать:
язык;
алфавит;
разрешённые примитивы;
грамматику;
правила декодирования.
Семантическая плотность
Концептуально можно говорить:
SD
Semantic Density,
о семантической плотности записи.
Однако SD пока не является нормативной числовой метрикой ОТМ.
Для её строгого определения потребуется установить:
единицу синтаксической длины;
единицу представляемой структуры;
словарь примитивов;
правила макрооператоров.
Перенос сложности
Главный эффект семантического сжатия:
сложность не исчезает.
Она переносится:
из явной записи
в:
семантику примитива;
компилятор;
декодер;
формальную библиотеку.
Поэтому язык высокого уровня является не уничтожением сложности,
а:
новым способом управления сложностью.
ПРИЛОЖЕНИЕ 26. АНАЛОГИЯ МАТЕМАТИЧЕСКИХ И КОМПЬЮТЕРНЫХ ЯЗЫКОВ
1. Статус аналогии
Аналогия между математическими и компьютерными языками не является утверждением их тождества.
Математическая формула:
не обязательно исполняется машиной.
Программа:
не обязательно представляет математический объект в узком смысле.
Но обе области сталкиваются с общей проблемой:
как выражать сложную структуру через всё более мощные единицы языка?
Поэтому функциональная аналогия оказывается продуктивной.
26.1. Машинный код и цифровая экспликация
Машинный код представляет программу на крайне низком уровне.
Он близок к системе элементарных операций конкретной вычислительной архитектуры.
В математике аналогичную роль в определённом смысле играет:
полная цифровая экспликация.
Например число:
10^100
на символическом уровне чрезвычайно просто.
На цифровом уровне приходится записать:
101 цифру.
Для намного больших объектов разрыв резко увеличивается.
Общая черта
И машинный код,
и цифровая экспликация
обладают:
высокой конкретностью;
низкой семантической плотностью отдельной единицы.
Одна машинная инструкция делает мало.
Одна цифра выражает малую часть большого числа.
26.2. Ассемблер и элементарные математические операции
Ассемблер заменяет машинные коды:
символическими мнемониками.
Но структура программы всё ещё остаётся близка к машинной архитектуре.
В математике аналогичную промежуточную роль можно увидеть в элементарных операциях:
+
*
^
log
Одна операция уже сворачивает множество низкоуровневых действий.
Например:
A^B
гораздо компактнее:
B-кратного умножения.
Важное ограничение
Эта аналогия является функциональной,
а не строгим отображением:
«ассемблер = арифметика».
Она показывает общий принцип повышения семантической мощности символа.
26.3. Языки высокого уровня и операторные нотации
Высокоуровневые компьютерные языки позволяют использовать:
функции;
типы;
объекты;
модули;
абстрактные структуры.
Пользователь перестаёт описывать каждую машинную операцию.
В математике аналогичную роль играют:
функции;
операторы;
специализированные нотации;
структуры;
формальные теории.
Например:
SML 100
не перечисляет 10000 последовательных самостепенных переходов.
Операторная семантика скрывает их.
Получаем общую схему:
many low-level operations
-> one high-level semantic construction
26.4. Метапрограммирование и метаоператоры
Метапрограммирование работает:
с программами как с данными или объектами построения.
Программа может:
создавать код;
изменять код;
порождать специализированные программы.
Математический аналог:
метаоператор.
Например:
META(OP)
создаёт:
новый оператор.
Или:
GENERATOR
создаёт:
генотип.
Главный структурный переход:
OBJECT
-> OPERATION ON OBJECT
-> OPERATION ON OPERATION
26.5. Генеративное программирование и математические генотипы
Программа может быть представлена:
не как полный исполняемый фенотип,
а:
как компактная спецификация его построения.
Аналогично математический генотип задаёт:
способ порождения математического объекта.
Схема программирования:
PROGRAM GENOTYPE
-> GENERATION
-> EXECUTABLE PHENOTYPE
Математическая схема:
MATHEMATICAL GENOTYPE
-> GENERATION
-> MATHEMATICAL PHENOTYPE
Общий принцип
В обоих случаях:
короткая исходная структура
может порождать:
намного более сложный результат.
Но это не означает, что сложность исчезла.
Она распределена между:
генотипом;
генератором;
средой;
правилами исполнения.
26.6. Компиляция и математическое развёртывание
Компиляция в программировании переводит высокоуровневую запись:
в более низкоуровневое представление.
Математический аналог:
семантическое развёртывание.
Например:
SML 10
можно раскрыть:
сначала в:
A=10,R=10,I=10
затем:
в ранговые блоки;
затем:
в последовательность:
X -> X^X
затем при необходимости:
в полное синтаксическое дерево.
Получаем:
HIGH-LEVEL MATHEMATICAL FORM
-> INTERMEDIATE FORM
-> LOWER-LEVEL FORM
Промежуточные представления
Будущий математический компилятор может использовать:
IR
Intermediate Representation.
Например:
OTM-TN
-> AST
-> normalized OTM
-> cascade graph
-> elementary operation graph
Это делает математическое развёртывание управляемым.
26.7. Декомпиляция и математическая реконструкция
Обратная задача в программировании:
по низкоуровневой реализации восстановить более высокоуровневую структуру.
Математический аналог:
распознать в длинном выражении:
повторяющуюся структуру;
ранговый оператор;
SML;
генотип.
Например:
длинная последовательность:
X_(k+1)=X_k^X_k
может быть реконструирована как:
RankOp.
Несколько одинаково устроенных ранговых блоков:
как более высокоуровневая конструкция.
Неоднозначность декомпиляции
Одна низкоуровневая структура может иметь:
несколько высокоуровневых интерпретаций.
Поэтому математическая декомпиляция требует:
контекста;
критерия минимальности;
теории эквивалентности;
формального словаря семантических шаблонов.
26.8. Уровни абстракции и уровни экспликации
Здесь аналогия особенно важна.
В программировании:
высокоуровневый язык
не означает автоматически:
меньшую программу во всех смыслах.
Он означает:
более высокий уровень абстракции.
В теории экспликации:
высокий EN
означает:
что конкретному объекту требуется более высокий язык представления в принятой системе.
Это связанные,
но различные координаты.
Языковой уровень
Характеристика самого языка:
L0,L1,...,LN
Экспликационный уровень
Характеристика объекта относительно языков:
ER(X)=N
Поэтому:
высокоуровневый язык может содержать:
очень простые объекты.
А сложный объект может требовать:
метаязыка.
9. Сводная аналогия
Математическая сторона Компьютерная сторона Общий принцип
Цифровая запись Машинное представление Низкоуровневая конкретизация
Элементарная операция Машинная/базовая инструкция Локальное действие
Формула Функция/выражение Компактное правило
Оператор Высокоуровневая инструкция Крупная семантическая единица
Генеративный оператор Генератор программы Порождение структур
Кодон Высокоуровневый функциональный компонент Завершённая семантическая единица
Генотип Исходная генеративная спецификация Программа построения фенотипа
Метакодон Метапрограмма Управление структурой программы
Семантическое развёртывание Компиляция Понижение уровня
Реконструкция Декомпиляция Повышение уровня
Контролируемая экспликация Отладочный/инспекционный просмотр уровней Частичное раскрытие
10. Основной вывод аналогии
История компьютерных языков показывает:
человек способен эффективно работать с системой,
не контролируя вручную каждую низкоуровневую инструкцию.
Аналогичный принцип может быть применён к математическому языку.
Математик будущего может работать:
не с миллионами формул,
а:
с несколькими высокосемантическими конструкциями,
если их внутренняя семантика:
строга;
проверяема;
декодируема.
ПРИЛОЖЕНИЕ 27. ПРОЕКТ МАТЕМАТИЧЕСКОГО ЯЗЫКА СВЕРХВЫСОКОГО УРОВНЯ
27.1. Базовые требования
Проектируемый язык должен быть:
формальным;
однозначным;
типизированным;
масштабируемым;
человекочитаемым;
машиночитаемым;
генеративным;
многоуровневым.
Он должен позволять работать с:
числами;
операторами;
каскадами;
кодонами;
генотипами;
геномами;
метагенераторами.
Требование 1. Формальная семантика
Каждая конструкция должна иметь определённый смысл.
Не должно существовать ситуации, когда один и тот же нормативный код означает:
два разных базовых объекта.
Требование 2. Типизация
Объекты должны иметь типы:
NUMBER
RANK
ITERATION
CASCADE
LAW
OPERATOR
CODON
GENOTYPE
GENOME
PROFILE
META_OBJECT
Требование 3. Композиционность
Сложная конструкция должна строиться из:
корректных меньших блоков.
Требование 4. Декодируемость
Каждый высокоуровневый примитив должен иметь:
правило раскрытия.
Требование 5. Контролируемая экспликация
Необходимо иметь возможность:
раскрыть только выбранную часть объекта.
Требование 6. Верифицируемость
Машина должна иметь возможность проверить:
синтаксис;
типы;
зависимости;
инварианты;
корректность композиции.
27.2. Семантические примитивы
Главный вопрос языка:
что считать элементарной единицей?
В обычной арифметике примитивами могут быть:
числа;
арифметические операции.
В языке сверхвысокого уровня примитивами могут стать:
металогарифмический каскад;
SML;
генотипический генератор;
метакодон;
экспликационный переход.
Примитив должен иметь:
NAME
TYPE
INPUTS
OUTPUTS
SEMANTICS
EXPANSION
INVARIANTS
Пример
SML
является кандидатом на высокоуровневый математический примитив.
Он скрывает:
ранговую;
итерационную;
самостепенную
архитектуру.
27.3. Операторы
Оператор языка должен иметь сигнатуру.
Например концептуально:
RankOp(NUMBER,RANK) -> NUMBER
SML(NUMBER) -> NUMBER
GenerateGenotype(NUMBER,LAW) -> GENOTYPE
Transform(GENOTYPE,LAW) -> GENOTYPE
Типизированная композиция
Если:
OP1 -> NUMBER
а:
OP2
ожидает:
RANK
то требуется явное преобразование:
NUMBER -> RANK
Таким образом язык предотвращает:
семантическое смешение одинаковых числовых значений в разных ролях.
27.4. Металогарифмические кодоны
ОТМ может стать одним из модулей сверхвысокого языка.
Например:
OTM.ML
OTM.SML
OTM.RankOp
OTM.AC
Такая namespace-запись является проектной и пока не относится к нормативному OTM-TN.
Паспорт SML
Концептуально:
NAME:SML
MODULE:OTM
INPUT:N
OUTPUT:X
TYPE(N):NUMBER
TYPE(X):NUMBER
PARAMETER_LINK:A=R=I=N
EXPANSION:canonical
COMPUTABILITY:effective for finite canonical N
Это превращает SML в машинно зарегистрированный кодон.
27.5. Кодоны Изольдионики
Изольдионика должна иметь более широкий семантический алфавит.
В него могут входить:
металогарифмические кодоны;
изольдиационные;
ноофакторальные;
многокомпонентные;
структурные;
управляющие.
Предварительные проектные имена:
ISO
NF
MCC
MCD
где:
MCC
Multi-Component Codon;
MCD
Meta-Codon.
Эти коды должны пройти отдельную регистрацию.
Реестр кодонов
Каждый кодон требует паспорта:
NAME
VERSION
MODULE
INPUT
OUTPUT
PARAMETERS
SEMANTICS
PRECONDITIONS
POSTCONDITIONS
EXPANSION
INVARIANTS
27.6. Генотипы
Генотип представляет:
структурированную композицию кодонов.
Простейшая форма:
G := C1 ][ C2 ][ C3
Но развитый генотип должен поддерживать:
последовательную композицию;
параллельную;
перекрёстную;
рефлексивную;
метакомпозицию.
Генотип как граф
В общем случае:
G=(C,L)
где:
C — множество кодонов;
L — множество типизированных связей.
Таким образом текст является:
одним из способов сериализации графа.
Типизированное ребро
Например:
C1.VALUE -> C2.RANK
означает:
результат C1
используется как:
ранг C2.
Это информативнее простой передачи:
C1 -> C2.
27.7. Метагенотипы
Если генотип сам создаётся:
генератором,
возникает:
GG -> G
Если GG создаётся:
метагенератором:
MGG -> GG -> G
Можно назвать:
структуру, описывающую генерацию генотипов,
метагенотипической.
Метагенотип
Метагенотип может определять:
класс разрешённых кодонов;
число блоков;
топологию;
правила соединения;
механизм эволюции.
Он описывает:
не отдельный объект,
а:
пространство возможных генотипов.
27.8. Автоматическое развёртывание
Язык сверхвысокого уровня нуждается в:
семантическом компиляторе.
Пример цепи:
MCD
-> GENOTYPE
-> OTM STRUCTURE
-> ELEMENTARY OPERATIONS
Полное раскрытие не должно быть обязательным.
Уровень раскрытия
Пользователь может запросить:
EXPAND level=1
только основные кодоны.
EXPAND level=2
внутренние операторы.
EXPAND level=3
законы.
EXPAND steps=10
первые десять стадий.
Селективное развёртывание
Можно раскрыть:
только C7
в генотипе,
не раскрывая остальные кодоны.
Это необходимо для работы с огромными объектами.
27.9. Машинная проверка
Высокоуровневый язык становится практически полезным только при наличии формальной проверки.
Проверка должна включать:
Лексическую корректность
Все символы распознаны.
Синтаксическую
Скобки и конструкции образованы правильно.
Типовую
Выходы совместимы со входами.
Семантическую
Используемый оператор имеет определённое значение.
Зависимостную
Не существует неразрешённых циклов.
Рефлексивную
Прямые самореференции имеют механизм самосогласования.
Инвариантную
Компиляция не нарушает заявленные свойства.
27.10. Обратная реконструкция
Язык должен поддерживать не только:
развёртывание,
но и:
свёртывание.
Например:
низкоуровневая последовательность
X -> X^X -> ...
может распознаваться как:
RankOp.
Несколько блоков:
как:
SML-подобная структура.
Обратный конвейер
LOW-LEVEL STRUCTURE
-> PATTERN ANALYSIS
-> OPERATOR CANDIDATES
-> GENOTYPE CANDIDATES
-> HIGH-LEVEL REPRESENTATION
Неединственность
Обратная реконструкция может иметь:
несколько решений.
Тогда система должна выдавать:
варианты;
оценку сложности;
обоснование;
класс эквивалентности.
27.11. Человекочитаемая форма
Высокий семантический уровень не должен приводить к языку, который понимает только компилятор.
Человекочитаемая форма должна быть:
компактной;
структурированной;
объяснимой.
Например:
SML 100
намного удобнее полного раскрытия.
Для сложного генотипа полезен формат:
GENOTYPE G1
INPUT:N
C1:SML N
C2:MCC
LINK:C1.VALUE -> C2.RANK
OUTPUT:C2.VALUE
Так запись одновременно остаётся:
текстовой;
структурной.
27.12. Машиночитаемая форма
Машинная форма может быть более строгой.
Она должна представлять:
AST;
граф;
таблицу символов;
типы;
метаданные;
версии кодонов.
Концептуальная внутренняя структура
GENOTYPE
содержит:
NODES
EDGES
PARAMETERS
LAWS
PROFILES
META_RULES
INVARIANTS
Разделение поверхностного и внутреннего языка
Пользователь может писать:
компактную форму.
Парсер преобразует её:
в нормализованное представление.
Например:
SML 10
становится внутренне:
Operator:SML
Input:10
A:10
R:10
I:10
Law:SelfPower
Inheritance:ResultToNextInput
Нормализация
Конвейер:
SOURCE
-> TOKENIZATION
-> PARSE
-> AST
-> TYPE CHECK
-> NORMAL FORM
-> SEMANTIC GRAPH
-> EXECUTION / ANALYSIS / EXPANSION
Так математический язык получает архитектуру, сходную с современными формальными и программными языками.
13. Два представления одного объекта
Будущий язык должен хранить связь между:
человекочитаемым представлением
и:
машинным.
Например:
человек видит:
SML 100
машина видит:
формальную семантическую структуру.
Обе формы должны ссылаться:
на один и тот же математический объект.
14. Семантическая трассировка
Каждый элемент раскрытого объекта должен по возможности иметь:
источник происхождения.
Например:
конкретный ранговый блок возник:
из кодона SML.
Конкретный параметр R:
из N.
Конкретный кодон:
из MCD.
Получаем:
HIGH-LEVEL SOURCE
-> GENERATED COMPONENT
-> LOWER-LEVEL STRUCTURE
Это создаёт:
семантическую трассировку.
15. Объяснимость
Машина должна быть способна отвечать:
почему этот блок существует?
какой оператор его породил?
почему его ранг равен R?
какой закон создал связь?
Так высокосемантическая математика остаётся:
интерпретируемой человеком.
16. Версионирование языка
Поскольку кодоны и семантика могут развиваться, будущий язык должен иметь версии.
Например концептуально:
OTM-TN 1.0
ISOLDIONICS-L 1.0
Это необходимо, чтобы:
одна и та же запись
не меняла значение незаметно между поколениями языка.
17. Пространства имён
Большая кодонная система неизбежно столкнётся с коллизиями имён.
Поэтому необходимы пространства имён.
Например концептуально:
OTM.AC
ISO.AC
если разные модули когда-либо потребуют одинаковых локальных сокращений.
Однако ядро OTM-TN по возможности должно сохранять уникальные коды.
18. Библиотеки кодонов
Язык может иметь библиотеки:
OTM
ARITHMETIC
COMBINATORICS
ISOLDIONICS
LANUM
и другие.
Тогда математик подключает:
не отдельные тысячи формул,
а:
семантические модули.
19. Математический код как генотип
Исходный текст языка может стать:
не полной конструкцией,
а:
генотипом.
Например несколько строк описывают:
огромную операторную сеть.
Это программная логика,
перенесённая в математическое представление.
20. Семантический компилятор
Классический компилятор преобразует:
языковую конструкцию
в:
низкоуровневую реализацию.
Семантический математический компилятор должен преобразовывать:
высокоуровневую математическую архитектуру
в:
нижележащие формальные структуры.
Он должен сохранять:
значение;
тип;
зависимости;
инварианты.
21. Семантический декомпилятор
Обратная система должна:
находить;
распознавать;
предлагать
более высокоуровневые структуры.
Например:
10000
низкоуровневых однотипных переходов
могут быть распознаны как:
одна более компактная генеративная конструкция.
Так язык получает:
двустороннюю навигацию по уровням.
22. Семантический масштаб
Для пользователя можно представить режим:
SEMANTIC ZOOM
На далёком уровне:
виден геном.
Ближе:
генотип.
Ещё ближе:
кодоны.
Ещё:
операторы.
Ещё:
формулы.
Ещё:
элементарные действия.
Это может стать фундаментальным интерфейсом будущей математической среды.
23. Математическая среда сверхвысокого уровня
В перспективе пользователь не просто вводит формулу.
Он задаёт:
цель;
класс объекта;
ограничения;
кодоны;
экспликационный горизонт.
Система строит:
кандидатные генотипы;
проверяет их;
сравнивает;
разворачивает нужные части.
Получаем:
INTENT
-> FORMAL SPECIFICATION
-> GENOTYPE
-> VERIFIED MATHEMATICAL OBJECT
24. Искусственный интеллект в такой среде
ИИ может помогать:
переводить естественно-языковую постановку в формальную;
искать подходящие кодоны;
строить варианты генотипов;
находить потенциальные ошибки;
объяснять конструкции.
Но ИИ не должен заменять:
формальную семантику.
Оптимальная схема:
AI PROPOSES
FORMAL LANGUAGE REPRESENTS
VERIFIER CHECKS
25. Язык и доказательство
Высокосемантическая генерация должна сопровождаться:
высокосемантической проверкой.
Поэтому будущий язык должен содержать или поддерживать:
предусловия;
постусловия;
инварианты;
доказательства;
сертификаты корректности.
Иначе компактность приведёт к:
непрозрачности.
26. Язык и неэксплицируемые объекты
Особенно важен язык для объектов, фенотип которых невозможно полностью раскрыть.
В таком случае пользователь должен иметь возможность:
проверить генотип;
проверить отдельные свойства;
исследовать локальные участки;
не создавая весь фенотип.
Это принцип:
верификация без полной экспликации.
27. Язык и Ланумы
Для Теории Ланумов такой язык может стать необходимостью.
Ланум потенциально содержит:
генотип;
геном;
среду;
историю;
экспликационный профиль.
Обычной линейной формулы может оказаться недостаточно.
Поэтому теория Ланумов естественно требует:
языка более высокого порядка.
28. Язык как пространство мышления
Самая широкая перспектива:
математический язык является не только способом записи уже имеющейся мысли.
Он определяет:
какие структуры можно непосредственно удерживать как единицы рассуждения.
Если сложная теория превращается в:
один проверяемый примитив,
интеллект получает возможность строить:
следующий уровень.
Так семантическая иерархия математических языков становится моделью:
иерархии когнитивных примитивов.
29. Итоговая архитектура языка будущего
Её можно представить:
DIGITS
-> FORMULAS
-> OPERATORS
-> GENERATORS
-> CODONS
-> GENOTYPES
-> METACODONS
-> META-GENOTYPES
-> N-LEVEL SEMANTIC OBJECTS
При этом в обратном направлении действует:
DECOMPILATION / RECONSTRUCTION
а вниз:
COMPILATION / EXPLICATION
30. Главный принцип Приложений 25–27
Высокоуровневый математический язык не должен оцениваться только:
по краткости записи.
Его истинная сила определяется тем:
какие сложные структуры он способен сделать:
элементарными;
композируемыми;
проверяемыми;
декодируемыми
операциональными единицами.
Поэтому развитие языка можно представить:
LONG DESCRIPTION
-> FORMULA
-> OPERATOR
-> GENERATOR
-> CODON
-> GENOTYPE
-> METALANGUAGE
Главный метапринцип:
повышение уровня языка не обязательно увеличивает сам математический объект. Оно увеличивает семантическую мощность единицы, которой человек и машина способны непосредственно оперировать.
Именно этот принцип связывает:
Общую теорию металогарифмов;
теорию экспликации;
Изольдионику;
Теорию Ланумов;
будущее генеративной математики;
и следующий этап — высокосемантическое генеративное программирование.
*******
Свидетельство о публикации №226101701126