Hechos Clave
- El principio SSOT fue formalizado en Lean 4 (~2.1k líneas de código, cero 'sorry').
- El SSOT Estructural requiere hooks en tiempo de definición e introspección en tiempo de ejecución.
- Macros/codegen (antes de la definición) y reflexión (después de la definición) son insuficientes.
- La derivación debe ocurrir en tiempo de definición para verificar un Grado de Libertad (DOF) de 1.
Resumen Rápido
Un investigador ha formalizado el principio de Fuente Única de la Verdad (SSOT, por sus siglas en inglés) utilizando el asistente de pruebas Lean 4. El proyecto abarca aproximadamente 2,100 líneas de código y no contiene marcadores de posición "sorry", lo que indica una prueba completa.
La formalización demuestra que el SSOT Estructural es alcanzable solo cuando un lenguaje proporciona hooks en tiempo de definición e introspección en tiempo de ejecución. El trabajo demuestra que las macros y la reflexión son insuficientes para lograr el Grado de Libertad (DOF) requerido de 1.
Verificación Formal de SSOT
La formalización en Lean 4 aborda los fundamentos teóricos del principio de Fuente Única de la Verdad. Al traducir el concepto a una prueba matemática, el trabajo va más allá de la discusión teórica para llegar a hechos verificables. La base de código, que totaliza ~2.1k líneas de código, sirve como la especificación definitiva para estos requisitos.
El proyecto alcanzó un hito significativo al mantener cero declaraciones "sorry". En el contexto de los asistentes de pruebas, un "sorry" es un marcador de posición utilizado para omitir declaraciones no probadas. La ausencia de estos marcadores indica que cada afirmación dentro de la formalización ha sido rigurosamente probada dentro del sistema.
Resultados Principales Probados
La formalización estableció dos conclusiones principales sobre la mecánica de la verdad estructural. Estos resultados se presentan como requisitos derivados en lugar de preferencias elegidas, basados en la naturaleza inmutable de los hechos estructurales.
Los hallazgos principales son:
- Se requieren hooks en tiempo de definición porque los hechos estructurales se fijan en el momento de la definición.
- La introspección en tiempo de ejecución es necesaria para verificar que el Grado de Libertad (DOF) sea igual a 1.
- Las macros y la generación de código (que ocurren antes de la definición) son insuficientes.
- La reflexión (que ocurre después de la definición) también es insuficiente.
Estos resultados sugieren que para que un sistema mantenga un verdadero SSOT estructural, el lenguaje en sí mismo debe soportar capacidades específicas que permitan la derivación y verificación en el momento preciso en que se crean las definiciones.
Implicaciones Técnicas
La distinción entre derivación y verificación es central para la prueba. Debido a que los hechos estructurales se fijan en la definición, la derivación debe ocurrir en ese momento específico. Además, el sistema requiere la capacidad de inspeccionar estas definiciones dinámicamente para asegurar que el DOF permanezca en 1.
Este hallazgo impone restricciones específicas al diseño de lenguajes. Las herramientas que operan estrictamente antes o después de la fase de definición—como preprocesadores o APIs de reflexión post-hoc—no pueden satisfacer los requisitos estrictos del SSOT Estructural. La prueba implica que los hooks en tiempo de definición actúan como el puente necesario para asegurar que las verdades derivadas permanezcan sincronizadas con sus definiciones fuente.
Verificación de la Comunidad
El autor ha puesto los scripts de Lean a disposición y está buscando activamente retroalimentación de la comunidad técnica. La invitación se extiende a revisar, criticar y verificar independientemente las pruebas para asegurar la validez de los resultados.
Las partes interesadas pueden ver la discusión y acceder al código a través del enlace proporcionado. La invitación abierta subraya la naturaleza colaborativa de la investigación de verificación formal, donde la validación independiente es un paso estándar para establecer la confiabilidad de nuevas pruebas.




