univers en théorie des types : cumulativité et polymorphisme · 4 septembre 2014 damien rouhling...
TRANSCRIPT
![Page 1: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/1.jpg)
Univers en théorie des types :
Cumulativité et polymorphisme
Damien Rouhling
ENS Lyon
4 septembre 2014
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 1 / 13
![Page 2: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/2.jpg)
Types dépendants
Familles de types : B : A→ U
Fonctions dépendantes : Πx :AB
Paires dépendantes : Σx :AB
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 2 / 13
![Page 3: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/3.jpg)
Types dépendants
Familles de types : B : A→ UFonctions dépendantes : Πx :AB
Paires dépendantes : Σx :AB
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 2 / 13
![Page 4: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/4.jpg)
Univers en théorie des types
Univers à la Martin-Löf : U : U
Paradoxe de Girard
Hiérarchie d'univers : U0 : U1 : U2 : . . .
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 3 / 13
![Page 5: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/5.jpg)
Univers en théorie des types
Univers à la Martin-Löf : U : UParadoxe de Girard
Hiérarchie d'univers : U0 : U1 : U2 : . . .
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 3 / 13
![Page 6: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/6.jpg)
Univers en théorie des types
Univers à la Martin-Löf : U : UParadoxe de Girard
Hiérarchie d'univers : U0 : U1 : U2 : . . .
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 3 / 13
![Page 7: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/7.jpg)
Cumulativité
Idée : univers de Grothendieck, si t : Un alors t : Un+1
Concrétisation : sous-typage
` t : T ` T ≤ T′
` t : T ′ ` Un ≤ Un+1
` R ′ ≤ R x : R ′ ` S ≤ S′
` Πx :RS ≤ Πx :R′S′
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 4 / 13
![Page 8: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/8.jpg)
Cumulativité
Idée : univers de Grothendieck, si t : Un alors t : Un+1
Concrétisation : sous-typage
` t : T ` T ≤ T′
` t : T ′ ` Un ≤ Un+1
` R ′ ≤ R x : R ′ ` S ≤ S′
` Πx :RS ≤ Πx :R′S′
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 4 / 13
![Page 9: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/9.jpg)
Cumulativité
Idée : univers de Grothendieck, si t : Un alors t : Un+1
Concrétisation : sous-typage
` t : T ` T ≤ T′
` t : T ′ ` Un ≤ Un+1
` R ′ ≤ R x : R ′ ` S ≤ S′
` Πx :RS ≤ Πx :R′S′
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 4 / 13
![Page 10: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/10.jpg)
Exemples
` Πx :U1U1 ≤ Πx :U0U2
` λX .λx .x :
ΠX :U0X → X 6≤ ΠX :U1X → X
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 5 / 13
![Page 11: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/11.jpg)
Exemples
` Πx :U1U1 ≤ Πx :U0U2
` λX .λx .x : ?
ΠX :U0X → X 6≤ ΠX :U1X → X
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 5 / 13
![Page 12: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/12.jpg)
Exemples
` Πx :U1U1 ≤ Πx :U0U2
` λX .λx .x : ΠX :UnX → X
ΠX :U0X → X 6≤ ΠX :U1X → X
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 5 / 13
![Page 13: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/13.jpg)
Polymorphisme d'univers
Concept : réutiliser des dé�nitions en ne changeant que le niveau des
univers
∀n,` λX .λx .x : ΠX :UnX → X
Aspect pratique : formalisation de la théorie homotopique des types
(Vladimir Voevodsky)
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 6 / 13
![Page 14: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/14.jpg)
Di�érentes tentatives
Robert Harper et Robert Pollack (91) : calcul des constructions
Judicaël Courant (02) : contraintes d'univers explicites
Hugo Herbelin (05) : optimisation
Matthieu Sozeau et Nicolas Tabareau (14) : extension de Coq
Conor McBride (11) : univers explicites
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 7 / 13
![Page 15: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/15.jpg)
Di�érentes tentatives
Robert Harper et Robert Pollack (91) : calcul des constructions
Judicaël Courant (02) : contraintes d'univers explicites
Hugo Herbelin (05) : optimisation
Matthieu Sozeau et Nicolas Tabareau (14) : extension de Coq
Conor McBride (11) : univers explicites
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 7 / 13
![Page 16: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/16.jpg)
La proposition de McBride
Univers explicites dans les déclarations
Polymorphisme d'univers : t+
U+n = Un+1
Si Γ ` t : T alors Γ+ ` t+ : T+
Esquisse
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 8 / 13
![Page 17: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/17.jpg)
Gestion des constantes
U+n = Un+1
Nat+ = Nat
(NatrecT n z s)+ = NatrecT+ n+ z+ s+
Si id : ΠX :U0X → X alors id+ : ΠX :U1X → X
Dé�nitions (c = t : T ) et déclarations (c : T )
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 9 / 13
![Page 18: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/18.jpg)
Contribution
Objectif : préciser la proposition de Conor McBride.
Justi�er l'opération .+ :
Pas de sémantique ensembliste
Preuve de normalisation
Implémentation :
Aspect algorithmique : système bidirectionnel
Programme en Haskell 1
1. Basé sur un travail de Cyril Cohen, Thierry Coquand, Simon Huber et
Anders Mörtberg.Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 10 / 13
![Page 19: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/19.jpg)
Normalisation par évaluation
Évaluation des termes en valeurs sémantiques, réalisée dans un
environnement
Réi�cation des valeurs sémantiques aux termes en forme normale
Typée ou non
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 11 / 13
![Page 20: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/20.jpg)
Systèmes bidirectionnels
Deux jugements :
Véri�cation de type : Γ ` t ⇐ T
Inférence de type : Γ ` t ⇒ T
Une règle importante :
Γ ` t ⇒ T T P T′
Γ ` t ⇐ T′
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 12 / 13
![Page 21: Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling (ENS Lyon) Univers en théorie des yptes 4 septembre 2014 1 / 13. ... Matthieu Sozeau](https://reader035.vdocuments.site/reader035/viewer/2022070719/5edea856ad6a402d6669fd29/html5/thumbnails/21.jpg)
Conclusion
Cumulativité : sous-typage
Polymorphisme d'univers : univers explicites et constructeur .+
Sémantique : preuve de normalisation par évaluation
Tests : système bidirectionnel et implémentation
Damien Rouhling (ENS Lyon) Univers en théorie des types 4 septembre 2014 13 / 13