Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling...

21

Transcript of Univers en théorie des types : Cumulativité et polymorphisme · 4 septembre 2014 Damien Rouhling...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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