Je suis souvent confus par la relation entre la conversion η et l'extensionnalité.
Edit: Selon les commentaires, il semble que je sois également confus quant à la relation entre l'équivalence extensionnelle et l'équivalence observationnelle. Mais au moins dans Agda avec l'égalité d'extension pour les fonctions (comme postulat) et pour un calcul lambda simplement tapé (qui a une sémantique entièrement abstraite, si je ne me trompe pas), l'équivalence dénotationnelle est la même que l'équivalence observationnelle. N'hésitez pas à me corriger dans les commentaires ou réponses; Je n'ai jamais reçu d'éducation systématique sur ces questions.
Dans le lambda-calcul non typé, la règle eta donne le même système de preuve que la règle d'extensionnalité, comme l'a prouvé Barendregt (cité dans une réponse à cette question ). Je comprends que cela signifie que le système de preuve avec la règle eta est complet pour l'équivalence d'observation (à partir d'autres réponses, cela pourrait nécessiter la règle de la règle,, c'est-à-dire la réduction sous les classeurs IIUC; je n'ai aucun problème à ajouter cette règle aussi) .
Cependant, que se passe-t-il si nous passons à un calcul typé et ajoutons à l'extension de ce calcul avec des types de base supplémentaires et des formulaires d'introduction et d'élimination correspondants? Peut-on encore écrire un système de preuve complet pour l'équivalence observationnelle? Je parlerai des systèmes de preuve sous la forme d'une sémantique axiomatique, à la suite des fondations de Mitchell des langages de programmation (FPL); le système de preuve / sémantique axiomatique définit l'équivalence du programme.
Question 1 : le théorème de Barendregt s'étend-il au STLC? L'équivalence η est-elle équivalente à l'extensionnalité dans ce contexte?
Je surfe la discussion de FPL du PCF (mais n'a pas terminé la partie encore), et il semble qu'une fois que vous ajoutez des paires, extensionnalité nécessite une règle supplémentaire, à savoir l' appariement surjective: pair (Proj1 P, Proj2 P) = P
. Il est intéressant de noter que cette règle concerne l'introduction et l'élimination de paires exactement comme la règle η concerne l'introduction et l'élimination de fonctions.
Question 2 : Est-il suffisant d'ajouter l'axiome d'appariement surjectif pour prouver l'extensionnalité dans un λ-calcul simplement typé avec des paires? modifier : Question 2b : l'appariement surjectif est-il une loi η, comme les lois η mentionnées dans cet article , en raison de la similitude structurelle que je mentionne?
Allons jusqu'au PCF maintenant. Les descriptions de l'égalité extensionnelle que j'ai vues prouvent alors que l'extensionnalité implique une règle de preuve par induction, mais elles ne disent pas si cela suffit. Puisque PCF est Turing-complete, l' égalité d'extension est indécidable . Mais cela n'implique pas qu'il n'y ait pas de système de preuve complet, car la longueur des preuves n'est pas limitée. Plus pertinent, un tel système de preuve contredirait peut-être les théorèmes d'incomplétude de Gödel. Et cet argument pourrait s'appliquer même à PCF sans fix
, et au système T. de Gödel
Question 3 : Existe-t-il un système de preuve complet pour l'équivalence d'observation dans le PCF? Et PCF sans fix
?
Mise à jour: abstraction complète
Je réponds ici au commentaire sur l'abstraction complète. Je pense que PCF souffre de deux types de problèmes différents: il a une non-terminaison (via un correctif), ce qui provoque la perte de l'abstraction complète, mais il a également des nombres naturels. Les deux problèmes rendent l'équivalence d'observation difficile à traiter, mais je crois indépendamment l'un de l'autre.
D'une part, le PCF perd son abstraction totale car parallèle ou vivant dans le domaine sémantique (Plotkin 1977), et cela semble avoir à voir avec la non-terminaison. Ralph Loader (2000, "Le PCF finitaire n'est pas décidable") montre que le PCF finitaire (sans naturel, mais avec non-terminaison) est déjà indécidable; par conséquent, (si je résume correctement), une sémantique entièrement abstraite ne peut pas se limiter aux domaines avec des opérations calculables.
D'autre part, prenez le système T de Gödel, qui n'a pas de non-terminaison. (Je ne suis pas sûr qu'il ait une sémantique entièrement abstraite, mais je suppose que oui, car le problème n'est mentionné que pour PCF; le domaine doit contenir des fonctions récursives primitives d'ordre supérieur). Les fondements pratiques de Harper pour les langages de programmation discutent de l'équivalence observationnelle pour ce langage; Seconde. 47.4 est intitulé "Quelques lois d'égalité" et montre quelques règles de preuve admissibles pour l'équivalence observationnelle. Nulle part il ne dit si le système de preuve est complet, donc je suppose que ce n'est pas le cas, mais il n'est également nulle part discuté s'il peut être complété. Ma meilleure supposition renvoie au théorème d'incomplétude de Gödel.