On the Formal Metatheory of the Pure Type Systems using One-sorted Variable Names and Multiple Substitutions
Urciuoli
We develop formal theories of conversion for Church-style lambda-terms with Pi-types in first-order syntax using one-sorted variables names and Stoughton's multiple substitutions. We then formalize the Pure Type Systems along some fundamental metatheoretic properties: weakening, syntactic validity, closure under alpha-conversion and substitution. Finally, we compare our formalization with others related. The whole development has been machine-checked using the Agda system. Our work demonstrates that the mechanization of dependent type theory by using conventional syntax and without identifying alpha-convertible lambda-terms is feasible.
academic
Sobre la Metateoría Formal de los Sistemas de Tipos Puros utilizando Nombres de Variables Unisortados y Sustituciones Múltiples
Este artículo desarrolla una teoría formal de la conversión para términos λ de estilo Church con tipos Π, utilizando sintaxis de primer orden, nombres de variables unisortados y sustituciones múltiples de Stoughton. Posteriormente, formaliza los Sistemas de Tipos Puros (Pure Type Systems, PTS) y algunas propiedades metatéoricas fundamentales: debilitamiento, validez sintáctica, clausura bajo conversión α y sustitución. Finalmente, compara trabajos de formalización relacionados. Todo el desarrollo ha sido verificado mecánicamente utilizando el sistema Agda. El trabajo demuestra que la mecanización de la teoría de tipos dependientes utilizando sintaxis tradicional sin identificar términos λ convertibles por α es viable.
Desafíos de Formalización: La verificación mecánica de la teoría de tipos dependientes ha sido siempre un desafío, particularmente al tratar con ligaduras de variables y equivalencia α
Dilema de Elección Sintáctica: Los métodos existentes típicamente adoptan índices de de Bruijn o nombres de variables bisortados para evitar problemas de captura de nombres, pero estos métodos se distancian de las implementaciones reales
Complejidad de Operaciones de Sustitución: La definición tradicional de sustitución unaria es no estructuralmente recursiva, requiriendo métodos inductivos complejos en pruebas mecanizadas
Prueba de Escalabilidad: Verificar si el marco basado en la teoría de sustitución de Stoughton puede extenderse a lenguajes más complejos (como PTS)
Reducción de la Brecha Teoría-Práctica: Utilizar sintaxis tradicional de nombres de variables unisortados, más cercana a las implementaciones reales de verificadores de tipos
Simplificación de Métodos de Prueba: Mediante definiciones mejoradas de conversión α, permitir pruebas de lemas clave utilizando métodos de inducción estructural más simples
Extensión del Marco de Sustitución de Stoughton: Extensión del marco original del cálculo λ puro para soportar abstracciones λ de estilo Church y tipos Π
Definición Mejorada de Conversión α: Propuesta de una nueva definición de conversión α que permite que lemas clave se prueben mediante inducción estructural
Formalización de Metateoría de PTS: Verificación mecánica de propiedades metatéoricas fundamentales de PTS, incluyendo debilitamiento, validez sintáctica, clausura bajo conversión α y clausura bajo sustitución
Prueba de Equivalencia: Demostración de la equivalencia bidireccional entre sistemas de reglas infinitas utilizando inducción generalizada y sistemas de reglas finitas estándar
Implementación Completa en Agda: Provisión de verificación mecánica completa con aproximadamente 3000 líneas de código
El artículo utiliza la definición sintáctica tradicional de primer orden para términos λ:
data Λ : Set where
c : C → Λ -- constantes
v : V → Λ -- variables
λ[_:_]_ : V → Λ → Λ → Λ -- abstracción λ de estilo Church
Π[_:_]_ : V → Λ → Λ → Λ -- tipo Π
_·_ : Λ → Λ → Λ -- aplicación
Verificación de Viabilidad: Demostración de la viabilidad de mecanización de teoría de tipos dependientes utilizando sintaxis tradicional y nombres de variables unisortados
Ventajas del Método: El método de sustitución de Stoughton sigue siendo efectivo al tratar sistemas de tipos complejos
Contribución Teórica: La definición mejorada de conversión α simplifica pruebas clave
El artículo cita 31 referencias importantes, incluyendo principalmente:
Stoughton (1988): Teoría original de sustituciones múltiples
Barendregt (1992): Teoría clásica de PTS
McKinna & Pollack (1993, 1999): Formalización de PTS en LEGO
Barras & Werner: Formalización de CC en Coq
Urban et al. (2011): Metateoría de LF utilizando Nominal Isabelle
Tasistro et al. (2015): Trabajo original del marco de sustitución de Stoughton
Evaluación General: Este es un artículo de alta calidad en ciencia de la computación teórica que realiza contribuciones importantes en verificación mecánica de teoría de tipos dependientes. Los puntos de innovación técnica del artículo son claros, la implementación es completa, y proporciona base teórica valiosa y experiencia práctica para investigación posterior en este campo.