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
Sur la Métathéorie Formelle des Systèmes de Types Purs utilisant des Noms de Variables Monosortés et des Substitutions Multiples
Cet article développe une théorie formelle de la conversion pour les termes λ de style Church avec types Π, en utilisant une syntaxe du premier ordre, des noms de variables monosortés et les substitutions multiples de Stoughton. La formalisation des systèmes de types purs (Pure Type Systems, PTS) et de certaines propriétés métathéoriques fondamentales est ensuite présentée : affaiblissement, validité syntaxique, fermeture sous conversion α et substitution. Enfin, les travaux de formalisation connexes sont comparés. L'ensemble du développement a été vérifié mécaniquement à l'aide du système Agda. Le travail démontre la faisabilité de la mécanisation de la théorie des types dépendants utilisant une syntaxe traditionnelle sans identification des termes λ convertibles-α.
Défis de formalisation: La vérification mécanique de la théorie des types dépendants a toujours été un défi, particulièrement lors du traitement de la liaison de variables et de l'équivalence α
Dilemme du choix syntaxique: Les approches existantes adoptent généralement les indices de de Bruijn ou les noms de variables bisortés pour éviter les problèmes de capture de noms, mais ces méthodes s'écartent des implémentations réelles
Complexité des opérations de substitution: La définition traditionnelle de la substitution unaire n'est pas structurellement récursive, nécessitant des méthodes d'induction complexes dans les preuves mécanisées
Test de scalabilité: Vérifier si le cadre basé sur la théorie de substitution de Stoughton peut s'étendre à des langages plus complexes (comme PTS)
Réduire l'écart théorie-pratique: Utiliser une syntaxe traditionnelle avec noms de variables monosortés, plus proche des implémentations réelles des vérificateurs de types
Simplifier les méthodes de preuve: Grâce à une définition améliorée de la conversion α, utiliser des méthodes d'induction structurelle plus simples pour prouver les lemmes clés
Extension du cadre de substitution de Stoughton: Extension du cadre λ-calcul pur existant pour supporter les abstractions λ de style Church et les types Π
Définition améliorée de la conversion α: Proposition d'une nouvelle définition de la conversion α permettant aux lemmes clés d'être prouvés par induction structurelle
Formalisation de la métathéorie PTS: Vérification mécanique des propriétés métathéoriques fondamentales de PTS, incluant l'affaiblissement, la validité syntaxique, la fermeture sous conversion α et la fermeture sous substitution
Preuve d'équivalence: Démonstration de l'équivalence bidirectionnelle entre le système de règles infinies utilisant l'induction généralisée et le système de règles finies standard
Implémentation Agda complète: Fourniture d'une vérification mécanique complète avec environ 3000 lignes de code
L'article utilise une définition syntaxique du premier ordre traditionnelle pour les termes λ:
data Λ : Set where
c : C → Λ -- constantes
v : V → Λ -- variables
λ[_:_]_ : V → Λ → Λ → Λ -- abstraction λ de style Church
Π[_:_]_ : V → Λ → Λ → Λ -- type Π
_·_ : Λ → Λ → Λ -- application
Vérification de faisabilité: Démonstration de la faisabilité de la mécanisation de la théorie des types dépendants utilisant une syntaxe traditionnelle et des noms de variables monosortés
Avantages de la méthode: La méthode de substitution de Stoughton reste efficace pour traiter les systèmes de types complexes
Contribution théorique: La définition améliorée de la conversion α simplifie les preuves clés
Stoughton (1988): Théorie originale des substitutions multiples
Barendregt (1992): Théorie classique de PTS
McKinna & Pollack (1993, 1999): Formalisation de PTS dans LEGO
Barras & Werner: Formalisation de CC dans Coq
Urban et al. (2011): Métathéorie de LF utilisant Nominal Isabelle
Tasistro et al. (2015): Travail original sur le cadre de substitution de Stoughton
Évaluation générale: Cet article est un travail de haute qualité en informatique théorique, apportant des contributions importantes à la vérification mécanique de la théorie des types dépendants. Les points d'innovation technique de l'article sont clairs, l'implémentation est complète, et il fournit une base théorique et une expérience pratique précieuses pour les recherches ultérieures dans ce domaine.