Qual è il punto della conversione


18

Penso di non capirlo, ma la conversione mi sembra una conversione β che non fa nulla, un caso speciale di conversione β in cui il risultato è solo il termine nell'astrazione lambda perché non c'è nulla da fare, tipo di inutile conversione β .ηβββ

Quindi forse -conversion è qualcosa di veramente profondo e diverso da questo, ma, se lo è, non lo capisco e spero che tu mi possa aiutare.η

(Grazie e scusa, so che questo fa parte delle basi del calcolo lambda)

Risposte:


20

Aggiornamento [2011-09-20]: ho ampliato il paragrafo riguardante -expansion e estensionalità. Grazie ad Anton Salikhmetov per avermi indicato una buona referenza.η

-conversion ( λ x . f x ) = f è un caso speciale di β - conversionesolonel caso speciale quando f è esso stesso un'astrazione, ad es. se f = λ y . y y then ( λ x . f x ) = ( λ x . ( λ y . y y ) x ) = β ( λ x .η(λx.fx)=fβff=λy.yyMa cosa succede se f è una variabile o un'applicazione che non si riduce a un'astrazione?

(λx.fx)=(λx.(λy.yy)x)=β(λx.xx)=αf.
f

In un certo senso -rule è come un tipo speciale di estensioni, ma dobbiamo stare un po 'attenti a come viene affermato. Possiamo affermare l'estensione come:η

  1. per tutti gli -term M e N , se M x = N x quindi M = N , oppureλMNMx=NxM=N
  2. per tutte se x . f x = g x quindi f = g .f,gx.fx=gxf=g

La prima è una meta-dichiarazione sui termini del calcolo . In esso x appare come una variabile formale, cioè fa parte del calcolo λ . Può essere provato da β η -rules, vedere ad esempio Teorema 2.1.29 in "Lambda Calculus: its Syntax and Semantics" di Barendregt (1985). Può essere inteso come un'affermazione su tutte le funzioni definibili , cioè quelle che sono denotazioni di λ- term.λxλβηλ

La seconda affermazione è come i matematici di solito comprendono le dichiarazioni matematiche. La teoria del calcolo descrive un certo tipo di strutture, chiamiamole " modelli λ ". Un modello λ potrebbe non essere numerabile, quindi non vi è alcuna garanzia che ogni suo elemento corrisponda a un λ- termine (proprio come ci sono più numeri reali di quante siano le espressioni che descrivono i reali). Estensionalità dice poi: se prendiamo tutte le due cose f e g in un λ -model, se f x = g x per tutti x nel modello, allora f = gλλλλfgλfx=gxxf=g. Ora, anche se il modello soddisfa la regola , non è necessario soddisfare l'estensione in questo senso. (È necessario un riferimento qui e penso che dobbiamo stare attenti a come viene interpretata l'uguaglianza.)η

Esistono diversi modi in cui possiamo motivare le conversioni e η . Prenderò a caso quello teorico-categoria, mascherato da λ -calculus, e qualcun altro può spiegare altre ragioni.βηλ

Consideriamo il calcolo tipizzato (perché è meno confuso, ma più o meno lo stesso ragionamento funziona per il calcolo non tipizzato λ ). Una delle leggi fondamentali che dovrebbero tiene in mano è la legge esponenziale C A × B( C B ) A . (Sto usando le notazioni A B e B A in modo intercambiabile, selezionando quale sembra avere un aspetto migliore.) Cosa fanno gli isomorfismi i : C A × B( C B ) A e j :λλ

CA×B(CB)A.
ABBAi:CA×B(CB)A sembra, scritto in λ -calculus? Presumibilmente sarebbero i = λ F : C A × B . λ un : A . λ B : B . f un , b e j = λ g : ( C B ) A . λ p : A × Bj:(CB)ACA×Bλ
i=λf:CA×B.λa:A.λb:B.fa,b
Un breve calcolo con un paio di beta -reductions (compreso il β -reductions π 1un , b = un e π 2un , b = b per prodotti) ci dice che, per ogni g : ( C B ) A abbiamo i ( j g ) =
j=λg:(CB)A.λp:A×B.g(π1p)(π2p).
ββπ1a,b=aπ2a,b=bg:(CB)A Dal momento che i e j sono inverse l'una dell'altra, ci aspettiamo che i ( j g ) = g , ma in realtà dimostrare questo abbiamo bisogno di usare η -riduzione due volte: i ( j g ) = ( λ un : A . Λ B : B . g a b ) = η (
i(jg)=λa:A.λb:B.gab.
iji(jg)=gη Quindi questa è una ragione per avereriduzioni η . Esercizio: qualeregola η è necessaria per mostrare che j ( i f ) = f ?
i(jg)=(λa:A.λb:B.gab)=η(λa:A.ga)=ηg.
ηηj(if)=f

ββηβη

ηβη

1
==βMx=NxM=NM=NM=βηNη

MN

1
@AndrejBauer Sono d'accordo sul fatto che η-rule non è la piena estendibilità, ma non pensi che sia ancora una forma limitata di estendibilità, cioè rappresenta una classe di casi evidenti di estendibilità. La domanda originale è alla ricerca di motivazioni e concetti, e in questo caso credo che sia utile pensare in termini di estensione (con una certa attenzione, ovviamente, non andare troppo lontano).
Marc Hamann,

9

Per rispondere a questa domanda, possiamo fornire la seguente citazione dalla monografia corrispondente “Calcolo Lambda. La sua sintassi e semantica “(Barendregt, 1981):

βηλλ+extextMx=NxM=N

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

[La sua dimostrazione si basa sul seguente teorema.]

λ+extλη(ext)(η)

λη

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

Le teorie complete di HP [dopo Hilbert – Post] corrispondono alle teorie massime coerenti nella teoria dei modelli per la logica del primo ordine.


7

λβη

  • λxy.xλxy.y βηβη

  • ι

    1. u =ι vt u =ι t v

    2. βηtut=ιutβηu

tut=βηιu

Questa è una conseguenza del teorema di Böhm.


6

η

=βηβηM=Nλx.M=λx.N=β

=β=βηλx.Mx=MMx=NxM=N


η

Vedi Teorema 2.1.29 nella monografia di Barendregt (Lambda Calculus and its Semantics, 1985).

2
ξ

E a mia volta non sono troppo felice che la felicità e le risposte "sentite" simili attirino più attenzione delle citazioni pertinenti dirette con i riferimenti corrispondenti.

ξξαβ
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.