Lambda Calculus: perché la seconda equazione è più generale della prima?
Oct 25 2020
Stavo leggendo il lambda calcolo da Introduzione al Lambda Calculus di Henk Barendregt ed Erik Barendsen e mi sono imbattuto in questo:
$(λ~x.f[\textbf{x}])\textbf{x} = f[\textbf{x}]$ più in generale si ha $(λ~x.f[\textbf{x}])\textbf{N} = f[\textbf{N}]$
Perché la seconda equazione è più generale della prima?
Risposte
2 MJD Oct 25 2020 at 13:21
La mia ipotesi nel commento sembra essere corretta: In
$$(λ\vec x.f[\vec x])\vec x = f[\vec x]$$
l'espressione λ viene applicata a un elenco di variabili $\vec x$, ma in
$$(λ\vec x.f[\vec x])\vec N = f[\vec N]$$
viene applicato a un elenco di termini arbitrari $\vec N$.
Una singola variabile è il caso speciale più semplice possibile di un termine, come spiegato nella definizione 2.1 a pagina 9.