Interpretazione combinata del calcolo lambda


10

Secondo Peter Selinger , The Lambda Calculus is Algebraic (PDF). All'inizio di questo articolo dice:

L'interpretazione combinatoria del calcolo lambda è nota per essere imperfetta, perché non soddisfa la regola ξ : sotto l'interpretazione, M=N non implica λx.M=λx.N (Barendregt, 1984).

Domande:

  • Che tipo di equivalenza si intende qui?
  • Data questa definizione di equivalenza, qual è un contro-esempio dell'implicazione?

Risposte:


7

L'equivalenza è solo equivalenza nella teoria equazionale in discussione. In questo caso, è la teoria delineata nella Tabella 1. Nota che questa teoria non include : fare ciò renderebbe la teoria estensiva, e il punto è che infine rispetta l' intensionalità di , mentre renderebbe CL parzialmente estensivo. Non sono sicuro del motivo per cui l'altra risposta menziona .ληξλη

Nota che in :λ

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

Ciò dovrebbe essere intuitivamente ovvio: se è convertibile in quando si trova da solo, allora è anche convertibile in quando si tratta di un sottoterma di .MβNβNλx.M

La -rule, definita come rende direttamente possibile questa inferenza quando fa parte di una teoria . Il suo analogo CL sarebbe: ξ

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

Ora, il punto è che in CL non vale :

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

In altre parole, se due termini sono debolmente uguali, ciò non è necessariamente vero per le loro versioni pseudo-astratte.

Di conseguenza, se aggiungiamo a una teoria CL, allora iniziamo a equiparare i termini che hanno forme normali diverse.ξCL


Nota. Qui, indica uguaglianza debole. Significa che può essere convertito in (e viceversa) da una serie di e (possibilmente anche , se fa parte della teoria). Come probabilmente saprai, è l'analogo CL di .M=wNMNSKI=w=β

λ è lo pseudoastrattore come definito a pagina 5 del documento. Ha la seguente proprietà:

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

Questa proprietà semplifica la ricerca di un analogo CL per qualsiasi -term: basta cambiare in e applicare le traduzioni secondo la definizione di .λλλλ


Per essere chiari, il "contro-esempio" in questa risposta non è un contro-esempio per (2). Perché se abbiamo:

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

Quindi indica davvero (applicando le traduzioni della pagina 5 e il fatto che è definito come alla fine della pagina 4):NISKK

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

Dal momento che , abbiamo infatti ha che . Tuttavia, se si tratta di un contro-esempio, dovremmo avere quello . Ma se traduciamo, effettivamente otteniamo:SKKxwKx(Kx)wxM=wN(λy.M)w(λy.N)

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

Ed è facile verificare che (7) e (8) siano ancora debolmente uguali, per:

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

Ora, un contro-esempio corretto per (2) sarebbe:

M=Kxy
N=x

Dal momento che , abbiamo sicuramente che . Tuttavia, se traduci attentamente per le versioni astratte, vedrai che entrambe sono forme normali distinte - e queste non possono essere convertibili secondo il teorema di Church-Rosser.KxywxM=wN

Per prima cosa controlliamo :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)
Qui puoi verificare che sia un modulo normale. Qui puoi controllare che , come dovresti aspettarti se si suppone che si comporti come un abstractor per CL.M(λx.Kxy)PwPλ

Ora controlliamo : N

N=λx.x=I=SKK

Che è ovviamente una forma normale diversa da , quindi dal teorema di Church-Rosser. Si noti inoltre che , cioè e 'producono lo stesso risultato' per ingressi arbitrari .MMwNNPwPMNP

Abbiamo ora dimostrato che (2) non è valido in CL e che una teoria di CL che incorpora equiparerebbe quindi termini che non sono debolmente uguali. Ma perché ci importa?ξ

Bene, prima di tutto, rende imperfetta l'interpretazione combinatoria di : apparentemente non tutte le proprietà metateoretiche continuano.λ

Inoltre, e forse ancora più importante, mentre esistono teorie estensive di e CL, esse sono originariamente e comunemente mantenute intensionali. L'intensionalità è una bella proprietà perché e il calcolo del modello CL come processo, e da questa prospettiva due programmi diversi (in particolare, termini che hanno una forma normale diversa) che producono sempre gli stessi risultati (dati input uguali) non devono essere equiparati. rispetta questo principio in , e se vogliamo rendere estensione , potremmo semplicemente aggiungere ad esempio . Ma l'introduzione diλλξλληξin CL non lo renderebbe più completamente intenzionale (in effetti, solo parzialmente). E questa è la ragione della "notorietà" di , come afferma l'articolo.ξ


1
Non posso commentare la qualità perché conosco poco l'argomento, ma questo sembra un po 'di lavoro. Grazie, grazie!
Raffaello

In effetti, il post è finito più a lungo di quanto mi aspettassi. Grazie per il tuo commento. :)
Roy O.

2
Oh quello. Succede . Regolarmente .
Raffaello

3

MODIFICA Questa risposta non è corretta, come correttamente sottolineato dall'altro risponditore. Ho usato la traduzione in logica combinatoria di Asperti & Longo, che è leggermente diversa da quella di Selinger.

In effetti, ciò illustra un punto cruciale: "l'interpretazione combinatoria" del calcolo lambda non è una cosa sola! Diversi autori lo fanno in modo leggermente diverso.

Lascio qui la mia risposta per i posteri, ma l'altra risposta è migliore.


L'equivalenza in questo contesto è definita dalle Tabelle 1 e 2 nel documento di Selinger. Tuttavia, un'assiomatizzazione leggermente diversa può rendere le cose un po 'più chiare.

Ciò che significa veramente è che due termini sono convertibili nella teoria . Possiamo definire la "convertibilità" dai due assiomi seguenti:λ

  • β . , se libero per in(λx.M)N=[N/x]MxNM
  • η . , se non libero inλy.My=MyM

inoltre, naturalmente, i soliti assiomi e regole di inferenza necessari per rendere una congruenza. Da ciò, dovrebbe essere ovvio che qualsiasi contro-esempio farà affidamento sulla condizione della variabile libera sulla regola viene infranta.=η

Penso che questo sia probabilmente il più semplice:

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

Puoi verificare tu stesso che , ma le loro rispettive interpretazioni combinatorie non sono uguali secondo le regole della Tabella 2.λy.M=λy.N


Quello che non capisco riguardo alla tua risposta: 1) perché menzionare , mentre la teoria nella Tabella 1 non la include ed è chiaramente intenzionale? 2) Come sono le interpretazioni combinatorie di e non è uguale? La derivazione nella mia risposta mostra che lo sono. 3) La regola non viene risolta, mentre quello è il colpevole del problema. ηλy.Mλy.Nξ
Roy O.
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.