J'ai en fait deux questions:
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.
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?
reference-request
pl.programming-languages
denotational-semantics
logical-relations
Ohad Kammar
la source
la source
Réponses:
Le deuxième paragraphe du Mémo de Plotkin de 1973 sur la définissabilité lambda et les relations logiques dit ceci:
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,
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":
À 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.
la source
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.
la source