In che modo Lambda Calculus è un tipo specifico di sistema di Term Writing?


13

Ora possiamo vedere che la Chiesa era associata al Calcolo Lambda semplicemente tipizzato . In effetti, sembra che abbia spiegato il calcolo lambda semplicemente tipizzato al fine di ridurre i malintesi sul calcolo lambda.

Ora quando John McCarthy ha creato Lisp, lo ha basato sul Lambda Calculus . Questo è per sua stessa ammissione quando ha pubblicato "Funzioni ricorsive di espressioni simboliche e loro calcolo per macchina, Parte I" . Puoi leggerlo qui .

Ora sappiamo che al centro di Mathematica c'è un sistema simile a Lisp , ma invece di basarsi esclusivamente sul Lambda Calculus, si basa su un sistema di riscrittura dei termini .

Qui l'autore afferma:

Mathematica è fondamentalmente un sistema di riscrittura di termini ... un concetto più generale del Calcolo Lambda dietro a Lisp.

Sembra che il Lambda Calculus sia una piccola parte di una categoria molto più generale. (Abbastanza sbalorditivo come un pensiero questo era più di un concetto fondamentale). Sto cercando di leggere di più su questo per avere una prospettiva al riguardo.

La mia domanda è: in che modo Lambda Calculus è un tipo specifico di sistema di Term Writing?

Risposte:


15

La risposta è che dipende da cosa intendi per Term Rewrite System .

Quando è stato introdotto, il concetto di Term Rewrite Systems , o TRS, descriveva quello che ora viene chiamato TRS del primo ordine , che è semplicemente un insieme di regole di calcolo del modulo

lr

lr

t:= x  f(t1,,tn)

xfΣfΣ

Var(r)Var(l)

β

(λx.t) ut[u/x]
λxtλ

SKΣ={S, K,app}

app(app(K,x),y)x
app(app(app(S,x),y),z)app(app(x,z),app(y,z))

C'è un'altra codifica più intuitiva che coinvolge termini lambda con indici de Bruijn e sostituzioni esplicite, ma non entrerò qui.


λ

t := x(t1,,tn)  f(x11xi11.t1,,x1nxinn.tn)

fΣxjitiabs(x.t)λx.t

βηβ

Pertanto i lati di sinistra sono limitati ad essere in un bel sottoinsieme, spesso i "modelli Miller". Numerosi risultati per il caso del primo ordine si generalizzano, anche se ci sono alcune brutte sorprese.

λ βη

λβ

app(abs(x.y(x)),z)y(z)

Una panoramica abbastanza decente delle definizioni e dei risultati di base è fornita da Nipkow e Prehofer qui .


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.