Quel est l'intérêt de la conversion

18

Je pense que je ne le comprends pas, mais -conversion me semble être une -conversion qui ne fait rien, un cas particulier de -conversion où le résultat n'est que le terme dans l'abstraction lambda car il n'y a rien à faire, une sorte de conversion inutile.β β βηβββ

Alors peut-être que -conversion est quelque chose de vraiment profond et différent de cela, mais si c'est le cas, je ne comprends pas et j'espère que vous pourrez m'aider.η

(Merci et désolé, je sais que cela fait partie des bases du calcul lambda)

Trylks
la source

Réponses:

20

Mise à jour [2011-09-20]: J'ai développé le paragraphe sur l' expansion η et l'extensionnalité. Merci à Anton Salikhmetov d'avoir signalé une bonne référence.

η -conversion(λx.fx)=f est un cas spécial deconversionβ -uniquementdans le cas spécial lorsquef est lui-même une abstraction, par exemple, sif=λy.yy alors

(λx.fx)=(λx.(λy.yy)x)=β(λx.xx)=αf.
Mais que faire sif est une variable ou une application qui ne se réduit pas à une abstraction?

D'une certaine manière, la règle η est comme un type particulier d'extensionnalité, mais nous devons faire un peu attention à la façon dont cela est énoncé. Nous pouvons affirmer l'extensionnalité comme:

  1. pour tous les λ -terms M et N , si Mx=Nx alors M=N , ou
  2. pour tout si x . f x = g x puis f = g .f,gx.fx=gxf=g

Le premier est une méta-déclaration sur les termes du -calculus. En lui, x apparaît comme une variable formelle, c'est-à-dire qu'il fait partie du λ -calculus. On peut le prouver à partir des règles β η , voir par exemple le théorème 2.1.29 dans "Lambda Calculus: its Syntax and Semantics" de Barendregt (1985). Il peut être compris comme un énoncé de toutes les fonctions définissables , c'est-à-dire celles qui sont des dénotations de termes λ .λxλβηλ

La deuxième affirmation est la façon dont les mathématiciens comprennent généralement les énoncés mathématiques. La théorie du -calcul décrit un certain type de structures, appelons-les " λ -models ". Un modèle λ peut être indénombrable, il n'y a donc aucune garantie que chaque élément de celui-ci correspond à un terme λ (tout comme il y a plus de nombres réels que d'expressions décrivant des réels). L'extensionnalité dit alors: si nous prenons deux choses f et g dans un modèle λ , si f x = g x pour tout x dans le modèle, alors f = gλλλλfgλfx=gxxf=g. Or, même si le modèle satisfait la règle , il n'a pas besoin de satisfaire l'extensionnalité dans ce sens. (Référence nécessaire ici, et je pense que nous devons faire attention à la façon dont l'égalité est interprétée.)η

Il existe plusieurs façons de motiver conversions β - et η . Je choisirai au hasard la catégorie théorique, déguisée en λ -calculus, et quelqu'un d'autre peut expliquer d'autres raisons.βηλ

Considérons le -calculus typé (car il est moins déroutant, mais plus ou moins le même raisonnement fonctionne pour le λ -calculus non typé ). L' une des lois fondamentales qui devraient est la loi détient exponentielle C A × B( C B ) A . (J'utilise les notations A B et B A de manière interchangeable, en sélectionnant celle qui semble meilleure.) Que font les isomorphismes i : C A × B( C B ) A et j :λλ

CA×B(CB)A.
ABBAi:CA×B(CB)UNE ressemble à, écrit en λ -calculus? On peut supposer qu'ils seraient i = λ f : C A × B . λ a : A . λ b : B . f a , b et J = λ g : ( C B ) A . λ p : A × Bj:(CB)UNECUNE×Bλ
je=λF:CUNE×B.λune:UNE.λb:B.Fune,b
Un calculcourte avec un couple de ß -réductions (y compris le β -réductions π 1un , b = a et π 2un , b = b pourproduits) nous apprend que, pour chaque g : ( C B ) A nous avons i ( j g ) =
j=λg:(CB)UNE.λp:UNE×B.g(π1p)(π2p).
ββπ1une,b=uneπ2une,b=bg:(CB)UNE Puisque i et j sont inversesdeautre, nous nous attendons à i ( j g ) = g , mais pour prouver effectivement cenous devons utiliser η -réduction deux fois: i ( j g ) = ( λ a : A . Λ b : B . g a b ) = η (
je(jg)=λune:UNE.λb:B.guneb.
jejje(jg)=gη C'est donc une des raisons pour avoir desréductions η . Exercice: quellerègle η est nécessaire pour montrer que j ( i f ) = f ?
i(jg)=(λa:A.λb:B.gab)=η(λa:A.ga)=ηg.
ηηj(if)=f
Andrej Bauer
la source
ββηβη
ηβη
1
==βMx=NxM=NM=NM=βηNη
MN
1
@AndrejBauer Je suis d'accord que la règle η n'est pas une extensionnalité complète, mais ne pensez-vous pas que c'est encore une forme d'extensionnalité limitée, c'est-à-dire qu'elle représente une classe de cas évidents d'extensionnalité. La question initiale est à la recherche de motivations et de concepts, et dans ce cas, je pense que la réflexion en termes d'extensionnalité est utile (avec un certain soin bien sûr à ne pas aller trop loin).
Marc Hamann
9

Afin de répondre à cette question, nous pouvons fournir la citation suivante de la monographie correspondante «Lambda Calculus. Sa syntaxe et sa sémantique »(Barendregt, 1981):

βηλλ+extextMx=NxM=N

M=βηNληM=Nλ+extM=N

[Sa preuve est basée sur le théorème suivant.]

λ+extλη(ext)(η)

λη

MNληM=Nλη+M=N

Les théories HP-complètes [d'après Hilbert-Post] correspondent aux théories cohérentes maximales en théorie des modèles pour la logique du premier ordre.


la source
7

λβη

  • λxy.Xλxy.y βηβη

  • ι

    1. u =ι vt u =ι t v

    2. βηtut=ιutβηu

tut=βηιu

Ceci est une conséquence du théorème de Böhm.

cody
la source
6

η

=βηβηM=NλX.M=λX.N=β

=β=βηλX.MX=MMX=NXM=N

Marcin Kotowski
la source
η
Voir le théorème 2.1.29 dans la monographie de Barendregt (Lambda Calculus and its Semantics, 1985).
2
ξ
Et je ne suis pas trop heureux à mon tour que le bonheur et les réponses de type «entendu parler» attirent plus l'attention que les citations pertinentes directes avec les références correspondantes.
ξξαβ