Ключевые факты
- Принцип SSOT был формализован на Lean 4 (~2,1k LOC, ноль sorry).
- Структурный SSOT требует хуков на этапе определения и рантайм-интроспекции.
- Макросы/кодогенерация (до определения) и рефлексия (после определения) недостаточны.
- Вывод должен происходить в момент определения для верификации DOF = 1.
Краткая сводка
Исследователь формализовал принцип Единого Источника Истины (SSOT) с помощью ассистента доказательств Lean 4. Проект охватывает примерно 2100 строк кода и не содержит плейсхолдеров «sorry», что указывает на полное доказательство.
Формализация доказывает, что Структурный SSOT достижим только тогда, когда язык предоставляет хуки на этапе определения и рантайм-интроспекцию. Работа демонстрирует, что макросы и рефлексия недостаточны для достижения требуемой Степени Свободы (DOF) равной 1.
Формальная верификация SSOT
Формализация на Lean 4 затрагивает теоретические основы принципа Единого Источника Истины. Превращая концепцию в математическое доказательство, работа выходит за рамки теоретического обсуждения и превращается в проверяемый факт. База кода, составляющая ~2,1k LOC, служит окончательной спецификацией этих требований.
Проект достиг значительной вехи, поддерживая нулевое количество операторов «sorry». В контексте ассистентов доказательств «sorry» — это плейсхолдер, используемый для обхода неподтвержденных утверждений. Отсутствие таких плейсхолдеров указывает на то, что каждое утверждение в рамках формализации было строго доказано в системе.
Основные доказанные результаты
Формализация установила два основных вывода относительно механики структурной истины. Эти результаты представлены как необходимые следствия, а не выбранные предпочтения, основанные на неизменной природе структурных фактов.
Основные выводы таковы:
- Хуки на этапе определения требуются, потому что структурные факты фиксируются в момент определения.
- Рантайм-интроспекция необходима для верификации того, что Степень Свободы (DOF) равна 1.
- Макросы и генерация кода (происходящие до определения) недостаточны.
- Рефлексия (происходящая после определения) также недостаточна.
Эти результаты предполагают, что для поддержания истинного структурного SSOT язык сам по себе должен поддерживать определенные возможности, позволяющие производить выводы и верификацию в точный момент создания определений.
Технические последствия
Различие между выводом и верификацией находится в центре доказательства. Поскольку структурные факты фиксируются на этапе определения, вывод должен происходить именно в этот конкретный момент. Кроме того, система требует возможности инспектировать эти определения динамически, чтобы убедиться, что DOF остается равным 1.
Этот вывод накладывает определенные ограничения на проектирование языков. Инструменты, работающие строго до или после фазы определения — такие как препроцессоры или API рефлексии «пост-фактум» — не могут удовлетворить строгие требования Структурного SSOT. Доказательство подразумевает, что хуки на этапе определения выступают в качестве необходимого моста для обеспечения синхронизации выведенных истин с их исходными определениями.
Верификация сообществом
Автор сделал скрипты на Lean доступными и активно ищет обратную связь от технического сообщества. Приглашение распространяется на просмотр, критику и независимую проверку доказательств для обеспечения достоверности результатов.
Заинтересованные стороны могут просмотреть обсуждение и получить доступ к коду по предоставленной ссылке. Открытая версия подчеркивает совместную природу исследований формальной верификации, где независимая валидация является стандартным шагом в установлении надежности новых доказательств.




