Existe-t-il des théories intermédiaires eta pour le calcul lambda?

15

Il existe deux principales théories étudiées du calcul lambda, la théorie bêta et son extension post-complète, la théorie bêta-eta.

Ces deux théories ont-elles un entre-deux, une sorte de règle ETA intermédiaire qui donne une théorie de réécriture confluente? Existe-t-il une notion intéressante d’extensionnalité partielle à laquelle elle correspond?

C’est la deuxième question que j’ai posée à la recherche de l’éta intermédiaire, la précédente étant Extensions de la théorie bêta du calcul lambda , ce qui a conduit à s’interroger sur une notion orthogonale d’extension, Caractériser les équivalences invisibles par des règles de réécriture confluentes , qui visait à répondre à cette question précédente.

Charles Stewart
la source

Réponses:

10

Pour les calculs typés, si vous considérez les types négatifs ( , × , ), vous pouvez activer ou désactiver les règles ETA à volonté sans affecter la confluence.1×

Pour les types positifs (sommes et paires avec élimination de correspondance de motifs), la situation est beaucoup plus compliquée. Fondamentalement, la question est de savoir si le terme a une forme d'élimination à portée fermée, ce qui permet aux contextes d'interagir de manière compliquée avec les expansions eta. Par exemple, si a le type A × B , alors son eta-expansion est l e teUNE×B . Mais pour obtenir la théorie équationnelle à laquelle un théoricien de catégorie s'attendrait, vous devez considérer les contextes C [ - ] et généraliser l'équation pour être C [ e ] l e tlet(une,b)=ejen(une,b)C[-] (avec les restrictions de portée attendues).C[e]let(une,b)=ejenC[(une,b)]

Je pense que vous pouvez toujours prouver un résultat de confluence si vous n'autorisez pas les conversions de navettage. Mais c'est du ouï-dire - je ne l'ai jamais essayé moi-même, ni regardé les papiers le documentant.

Je ne connais pas vraiment le calcul lambda non typé, cependant.

EDIT: Charles demande des réductions eta. C'est prometteur pour le genre d'exemple qu'il cherche, car je pense qu'en général, ils ne seront pas assez forts pour modéliser la théorie de l'égalité complète, que j'illustrerai avec un exemple simple impliquant des booléens. L'éta-expansion des booléens est . (L'eta-réduction est bien sûr l'autre sens.)C[e]jeF(e,C[true],C[Funelse])

Maintenant, considérons le terme . Montrant que ce terme est équivalent à i f ( e , fjeF(e,F,g)jeF(e,X,y) doit passer par une eta-expansion, car nous devons remplacer le e dans l'un des if-then-elses par t r u e et f a l s e afin de conduire une β- réduction. jeF(e,FX,gy)etrueFunelseβ

Neel Krishnaswami
la source
J'aurais dû préciser qu'il s'agissait du calcul lambda non typé: la logique mise à part pourrait rendre cela peu clair. Dans le cas typé, je m'attends à ce que l'intégralité de Post soit valable pour la théorie 〈→, ×〉, mais je ne suis pas du tout sûr des autres types. les contextes interagissent de manière compliquée avec les extensions eta - c'est un cas pour considérer la réduction eta, n'est-ce pas, parce que vous n'avez pas besoin de contraindre les réécritures?
Charles Stewart
4

Selon John C.Mitchell dans Foundations of Programming Languages, à la fois dans STLC et dans le calcul lambda non typé, la règle de réduction pair (proj₁ P, proj₂ P) → Prompt la confluence lorsqu'elle est combinée avec la fixréduction (ou, je suppose en regardant la preuve), sans de telles conditions pour le cas non typé. Il s'agit du théorème 4.4.19 (page 272).

Blaisorblade
la source
2
Je suppose que c'est un commentaire étendu sur la réponse de Neel. Klop et De Vrijer (1989) étudient la théorie du calcul lambda non typé avec appariement surjectif: le cas avec les réductions eta n'est en effet pas confluent, mais la théorie est cohérente (elle a un modèle dans la construction D_inf de Scott), et ils fournissent des résultats suggérant une théorie de réécriture conservatrice confluente pour les paires surjectives peut être donnée (toujours un problème ouvert, AFAIK).
Charles Stewart