Quelle est l'origine des relations logiques?


15

J'ai en fait deux questions:

  1. Qui a d'abord utilisé les relations logiques pour relier la sémantique?

    Je les ai retracés à " Sur la relation entre la sémantique directe et la continuation " de Reynold " , mais je ne peux pas prétendre avoir fait une recherche exhaustive.

    J'ai trouvé des références à des relations logiques datant plus tôt (Tait, '67), mais pas pour relier la sémantique.

  2. Quelle est la meilleure introduction actuelle aux relations logiques?

Je connais les « systèmes de types pour les langages de programmation » de Mitchell dans le Handbook of TCS. Quelles sont les autres expositions?


2
Il y a un chapitre sur les relations logiques dans les fondations de Mitchell pour les langages de programmation . Le bas de la première page donne un bref aperçu historique, citant les principaux articles. Je pourrais taper ça si vous ne pouvez pas mettre la main sur le livre de Mitchell.
Dave Clarke

Je peux mettre la main dessus, merci! J'irai voir quand j'arriverai au bureau.
Ohad Kammar

OK, le livre est beaucoup plus élaboré que le chapitre du manuel, bien qu'il couvre à peu près le même matériel (moins Sconing, malheureusement). Les notes historiques sont presque identiques, à l'exception notable que le livre mentionne le rapport technique de Plotkin NeelK ci-dessous.
Ohad Kammar

Réponses:


6

Le deuxième paragraphe du Mémo de Plotkin de 1973 sur la définissabilité lambda et les relations logiques dit ceci:

"La définition de la [relation] logique est dérivée d'une définition correspondante de M. Gordon pour le λ-calcul typé."

Cela ne dit pas explicitement que le terme a été inventé par Gordon. Mais, étant donné que le mémo est intitulé "Lambda-définissabilité et relations logiques" comme si "relation logique" était une idée déjà connue, et le deuxième paragraphe dit "construire certains, soi-disant relations logiques", je pense qu'il est très probable que Gordon a inventé le terme et Plotkin l'a utilisé par la suite. (Plotkin m'a confirmé que tout ce qu'il écrivait dans le mémo était correct.)

Gordon est à nouveau crédité en haut de la p. 12,

"M. Gordon a proposé, comme remède possible, que les relations ... soient prolongées - et pas seulement les permutations."

La version publiée de l'article ("Lambda-definability in the full type hierarchy" dans To HB Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism ) a cette remarque. Il contient également une remarque qui pourrait être interprétée comme une explication du terme "relation logique":

En raison de la nature « logique » des éléments -definable, ils devraient être invariante par les permutations de D .λ

À mon avis, c'est une explication extrêmement satisfaisante de la raison pour laquelle les relations logiques sont «logiques». Le calcul lambda est logique et, par conséquent, les fonctions définies à l'aide de celui-ci seront uniformes par rapport aux types de base. Ils ne peuvent pas "voir" les permutations que nous pourrions faire aux valeurs des types de base. Vu sous cet angle, ce que Gordon et Plotkin entendaient par «logique» est essentiellement le même que ce que Reynolds appelle «paramétrique».

Cependant, le terme «relation logique» n'apparaît pas dans la version publiée de l'article. Il est possible que les arbitres aient objecté que le terme soit source de confusion et Plotkin aurait décidé qu'il valait mieux éviter le terme. Mais, Statman est revenu à l'ancienne terminologie et le terme est revenu dans le langage populaire.


14

Plotkin a utilisé les relations logiques dans son article de 1973 non publié mais néanmoins largement diffusé et influent "Lambda Definability and Logical Relations". J'ai une copie de cette note sur ma page Web.

Je pensais que c'est de là que venait le nom, mais quand j'ai interrogé Rick Statman à ce sujet, il m'a dit que Mike Gordon avait inventé le terme relation logique pour décrire la méthode de Tait, et que lui et Gordon Plotkin l'avaient choisi. Je pense que c'est ainsi qu'il est entré dans le jargon du langage de programmation, bien que vous puissiez vous en assurer en demandant à Plotkin.


1
Cela ressemble presque à des potins TCS juteux.
Dave Clarke

5
Ne demandez pas à Gordon, obligez-le simplement à participer à ce site, comme je l'ai fait avec Dana.
Andrej Bauer

1
OK, j'ai demandé à Gordon Plotkin et à Mike Gordon. Tous deux conviennent que Gordon Plotkin a inventé le terme «relations logiques», et chacun a affirmé que l'idée d'utiliser des relations venait de l'autre.
Ohad Kammar

1
La thèse de Gandy est désormais disponible gratuitement en ligne: repository.cam.ac.uk/handle/1810/245090
Ohad Kammar

2
@OhadKammar: La "définissabilité lambda de Plotkin dans la hiérarchie des types complets" donne un crédit précis à Howard en disant que l'idée d'utiliser des relations plutôt que des permutations "a également été utilisée par Howard pour définir ses fonctionnels [Tro]" majoritairement héréditaires. La citation est à un livre, mais le seul chapitre de Howard est l'annexe, "Fonctionnelles héréditairement majoritaires de type fini": download.springer.com/static/pdf/314/… (à partir de link.springer.com/book/10.1007 % 2FBFb0066739 ).
Blaisorblade
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.