Paramétricité et éliminations projectives pour les enregistrements dépendants

16

Il est bien connu que dans le système F, vous pouvez coder des produits binaires avec le type Vous pouvez alors définir des fonctions de projection de pi_1 de: A \ fois B \ to A et \ pi_2: Temps A \ B \ B .π 1 : A × B A π 2 : A × B B

UNE×Bα.(UNEBα)α
π1:UNE×BUNEπ2:UNE×BB

Ce n'est pas si surprenant, même si la lecture naturelle du type F est d'une paire avec une élimination de style let let(X,y)=pjene , parce que les deux types de paires sont interconnectables dans la logique intuitionniste.

Maintenant, dans une théorie de type dépendante avec une quantification imprédicative, vous pouvez suivre le même modèle pour coder un type d'enregistrement dépendant ΣX:UNE.B[X] as

ΣX:UNE.B[X]α.(ΠX:UNE.B[X]α)α
Mais dans ce cas, il n'y a pas de moyen simple de définir les éliminateurs projectifs π1:ΣX:UNE.B[X]UNE et π2:Πp:(ΣX:UNE.B[X]).B[π1p] .

Cependant, si la théorie des types est paramétrique, vous pouvez utiliser la paramétrie pour montrer que π2 est définissable. Cela semble être connu --- voir, par exemple, ce développement Agda par Dan Doel dans lequel il le dérive sans commentaire --- mais je n'arrive pas à trouver une référence pour ce fait.

Quelqu'un connaît-il une référence au fait que la paramétricité permet de définir des éliminations projectives pour les types dépendants?

EDIT: La chose la plus proche que j'ai trouvée jusqu'à présent est cet article de 2001 de Herman Geuvers, Induction n'est pas dérivable dans la théorie des types dépendants du second ordre , dans laquelle il prouve que vous ne pouvez pas le faire sans paramétrie.

Neel Krishnaswami
la source
Je ne peux pas dire à partir de ce post quelle est la question. (Je ne connais rien de la région et je ne le saurais pas de toute façon, mais j'aimerais pouvoir articuler la question)
Vijay D
2
J'ai ajouté une ligne de question explicite au-dessus de la modification. est-ce que cela aide?
Neel Krishnaswami
Oui. Je n'étais tout simplement pas sûr au départ s'il s'agissait uniquement d'une demande de référence ou d'une demande de preuve. Je vais demander autour.
Vijay D
J'ai eu une discussion il y a quelques mois ici: queuea9.wordpress.com/2012/03/28/why-not-lambda-encode-data et je crois que le principe d'élimination de la paramétricité-> est le folklore / œuvre originale de Dan. Ces discussions sont proches de celles concernant la paramétricité par J.-P. Bernardi. Vous voudrez peut-être jeter un œil aux développements de la bibliothèque standard Coq autour des sommes dépendantes: coq.inria.fr/stdlib/Coq.Init.Specif.html et peut-être coq.inria.fr/stdlib/Coq.Logic.EqdepFacts.html#
cody
1
@kvb: Je ne pense pas qu'il y ait encore de réponse positive. Dans mon récent projet (avec Derek Dreyer) sur paramétricité dans le calcul des constructions ( mpi-sws.org/~neelk/internalizing-parametricity.pdf ), nous montrons que paramétricité rend le son d'ajouter axiomes qui vous permettent d' obtenir elims fortes sur de l'encodage de l'Église. Cependant, nous n'avons pas encore une bonne histoire sur la façon d'intérioriser la paramétricité d'une manière qui calcule bien (nous avons probablement besoin d'intégrer les méthodes de JP Bernardy dans notre théorie des types). Cela ne semble pas impossible, mais nous ne savons pas encore comment.
Neel Krishnaswami

Réponses:

6

Je viens de parler à Dan Doel et il a expliqué que sa référence était en fait une Neel Krishnaswami. Il a vu un commentaire sur n-cafe par vous que l'on pouvait faire une forte induction en utilisant la paramétricité, alors il est allé de l'avant et l'a fait comme un exercice, ne réalisant pas que le faire pour sigma était apparemment un résultat nouveau.

La citation précise: "Ma référence était lui. Je pensais qu'il avait dit que c'était possible, alors je l'ai fait."

sclv
la source