Interprétation combinatoire du lambda calcul

10

Selon Peter Selinger , le Lambda Calculus est algébrique (PDF). Au début de cet article, il dit:

L'interprétation combinatoire du calcul lambda est connue pour être imparfaite, car elle ne satisfait pas à la règle ξ : selon l'interprétation, M=N n'implique pas λx.M=λx.N (Barendregt, 1984).

Des questions:

  • Quel genre d'équivalence veut-on dire ici?
  • Compte tenu de cette définition de l'équivalence, qu'est-ce qu'un contre-exemple de l'implication?
Simon Shine
la source

Réponses:

7

L'équivalence est juste l'équivalence dans la théorie équationnelle en discussion. Dans ce cas, c'est la théorie décrite dans le tableau 1. Notez que cette théorie n'inclut pas : cela rendrait la théorie extensionnelle, et le fait est finalement que respecte l' intensionnalité de , alors que cela ferait CL partiellement extensionnel. Je ne sais pas pourquoi l'autre réponse mentionne .ληξλη

Notez que dans :λ

(1)(M=βN)(λx.M=βλx.N)

Cela devrait être intuitivement évident: si est -convertible à quand il se tient par lui-même, alors il est -convertible à quand c'est un sous-terme de .MβNβNλx.M

La règle , définie comme rend cette inférence directement possible lorsqu'elle fait partie d'une théorie . Son analogue CL serait: ξ

M=N(ξλ)(λx.M)=(λx.N)
λ
M=N(ξCL)(λx.M)=(λx.N)

Maintenant, le fait est qu'en CL, ce qui suit ne tient pas :

(2)(M=wN)(λx.M=wλx.N)

En d'autres termes, si deux termes sont faiblement égaux, cela n'est pas nécessairement vrai pour leurs versions pseudo-abstraites.

Par conséquent, si nous ajoutons à une théorie CL, alors nous commençons à assimiler des termes qui ont différentes formes normales.ξCL


Remarque. Ici, dénote une faible égalité. Cela signifie que peut être converti en (et vice versa) par une série de contractions et (éventuellement aussi , si cela fait partie de la théorie). Comme vous le savez probablement, est l'analogue CL de .M=wNMNSKI=w=β

λ est le pseudo-abstrait tel que défini à la page 5 de votre document. Il a la propriété suivante:

(3)(λx.M)Nw[N/x]M

Cette propriété facilite la recherche d'un analogue CL pour n'importe quel -term: il suffit de changer en et d'appliquer les traductions selon la définition de .λλλλ


Pour être clair, le «contre-exemple» dans cette réponse n'est pas un contre-exemple à (2). Parce que si nous avons:

(4)M=x
(5)N=(λz.z)x

Alors signifie vraiment (en appliquant les traductions de la page 5, et le fait que est défini comme à la fin de la page 4):NISKK

(6)N=(λz.z)x=Ix=SKKx

Depuis , nous avons en effet que . Cependant, s'il s'agit d'un contre-exemple, nous devrions alors avoir cela . Mais si nous traduisons, nous obtenons en fait:SKKxwKx(Kx)wxM=wN(λy.M)w(λy.N)

(7)(λy.M)=(λy.x)=Kx
(8)(λy.N)=(λy.SKKx)=K(SKKx)

Et il est facile de vérifier que (7) et (8) sont encore faiblement égaux, pour:

(9)K(SKKx)wK(Kx(Kx))wKx

Maintenant, un contre-exemple approprié à (2) serait:

M=Kxy
N=x

Depuis , nous avons certainement que . Cependant, si vous traduisez soigneusement pour les versions abstraites, alors vous verrez que les deux sont des formes normales distinctes - et celles-ci ne peuvent pas être converties selon le théorème de Church-Rosser.KxywxM=wN

On vérifie d'abord :M

M=λx.Kxy=S(λx.Kx)(λx.y)=S(λx.Kx)(Ky)=S(S(λx.K)(λx.x))(Ky)=S(S(λx.K)(I))(Ky)=S(S(λx.K)(SKK))(Ky)=S(S(KK)(SKK))(Ky)
Ici, vous pouvez vérifier que est une forme normale. Ici, vous pouvez vérifier que , comme vous vous en si est censé se comporter comme un abstrait pour CL.M(λx.Kxy)PwPλ

Maintenant, nous vérifions : N

N=λx.x=I=SKK

Ce qui est évidemment une forme normale différente de , donc par le théorème de Church-Rosser. Notez également que , soit et « produisent la même sortie » pour les entrées arbitraires .MMwNNPwPMNP

Nous avons maintenant prouvé que (2) ne tient pas dans CL, et qu'une théorie CL incorporant équivaudrait donc à des termes qui ne sont pas faiblement égaux. Mais pourquoi on s'en soucie?ξ

Eh bien, tout d'abord, cela rend imparfaite l' interprétation combinatoire de : apparemment, toutes les propriétés métathéorétiques ne se répercutent pas.λ

De plus, et peut-être plus important encore, bien qu'il existe des théories extensionnelles de et CL, elles sont à l'origine et communément maintenues intensionnelles. L'intensionnalité est une belle propriété parce que le calcul des modèles et CL en tant que processus, et de ce point de vue deux programmes différents (en particulier, des termes qui ont une forme normale différente) qui produisent toujours les mêmes résultats (avec des entrées égales) ne doivent pas être assimilés. respecte ce principe dans , et si nous voulons rendre l' extension , nous pourrions simplement ajouter par exemple . Mais l'introduction deλλξλληξen CL ne le rendrait plus complètement intensionnel (en fait, seulement partiellement). Et c'est la raison de la «notoriété» de , comme le dit l'article.ξ

Roy O.
la source
1
Je ne peux pas commenter la qualité car je connais peu le sujet, mais cela ressemble à un peu de travail. Apprécié, merci!
Raphael
En effet, le message a fini plus longtemps que je ne l'avais prévu. Merci pour votre commentaire. :)
Roy O.
2
Oh ça. Arrive . Régulièrement .
Raphael
3

MODIFIER Cette réponse est incorrecte, comme l'a correctement signalé l'autre répondeur. J'ai utilisé la traduction en logique combinatoire d'Asperti & Longo, qui est subtilement différente de celle de Selinger.

En fait, cela illustre un point crucial: «l'interprétation combinatoire» du calcul lambda n'est pas une chose unique! Différents auteurs le font légèrement différemment.

Je laisse ma réponse ici pour la postérité, mais l'autre réponse est meilleure.


L'équivalence dans ce contexte est définie par les tableaux 1 et 2 de l'article de Selinger. Cependant, une axiomatisation légèrement différente peut rendre les choses un peu plus claires.

Ce que cela signifie vraiment, c'est que deux termes sont convertibles dans la théorie . On peut définir la "convertibilité" par les deux axiomes suivants:λ

  • β . , si libre pour dans(λx.M)N=[N/x]MxNM
  • η . , si n'est pas libre dansλy.My=MyM

plus, bien sûr, les axiomes et les règles d'inférence habituels nécessaires pour faire une congruence. De cela, il devrait être évident que tout contre-exemple va s'appuyer sur la condition de variable libre sur la règle est brisée.=η

Je pense que c'est probablement le plus simple:

M=x
N=(λz.z)x

Vous pouvez vérifier par vous-même que , mais leurs interprétations combinatoires respectives ne sont pas égales selon les règles du tableau 2.λy.M=λy.N

Pseudonyme
la source
Ce que je ne comprends pas dans votre réponse: 1) pourquoi mentionner , alors que la théorie du tableau 1 ne l'inclut pas et est clairement intensionnelle? 2) Comment sont les interprétations combinatoires de et pas égal? La dérivation dans ma réponse montre qu'ils le sont. 3) La règle n'est pas traitée, alors que c'est le coupable du problème. ηλy.Mλy.Nξ
Roy O.