Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling...
Transcript of Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling...
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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