Ho quella che definirei una domanda filosofica su λ-calculus.
Quando esplori il calcolo λ rimarrai sorpreso nel vedere tutte le cose che puoi fare lì. È possibile definire numeri interi, operazioni aritmetiche, valori booleani, istruzioni if-then-else, loop, funzioni ricorsive, ecc. Credo che sia stato dimostrato computazionalmente completo.
D'altra parte, se consideri cosa puoi fare con le funzioni in λ-calcolo, ti rendi conto che l'unica cosa che puoi fare è dargli una funzione e restituisce un'altra funzione. E quel processo non finisce mai.
Quindi, come puoi estrarre un risultato da un calcolo?
Supponiamo che il risultato di un'espressione sia la funzione f. Vuoi verificare se fè quello che ti aspettavi. Puoi testarlo, assumere una funzione che conosci, applicarla fe ricevere g. Ma per verificare che gsia corretto, ora è necessario verificare cosa gfa. E ricomincia da capo. Quindi, come puoi dire qualcosa f?
Mi sembra che puoi sostituire tutte le funzioni in λ-calcolo con una singola funzione, la funzione identità I = λx.x, e tutto funziona ancora come descritto in λ-calcolo. Il numero della Chiesa 3quando viene dato fe xritorna f(f(f(x))). Ma poiché fe xpuò essere solo I, ritorna I. Iapplicato a Ie Irestituisce anche I. Quindi Isoddisfa la definizione di 3. I "booleani" (λxy.x)e hanno (λxy.y)bisogno di 2 argomenti, che saranno Ie Icosì ritorneranno entrambi i booleani I. Ognuno equivale all'identità, anche se si comportano esattamente secondo le loro definizioni.
Quindi come fai la differenza? Come dimostrate che λ-calculus si occupa di più di una singola funzione?
Esiste un concetto di identità? Riesci a identificare immediatamente una funzione senza valutarla? Credo che sia stato dimostrato che non c'è modo di testare 2 funzioni per l'uguaglianza.
O λ-calcolo non riguarda le funzioni, ma la descrizione formale di ciò che fanno? Ciò significherebbe che le espressioni λ non solo definiscono ciò che fanno le funzioni, ma sono anche i dati che le funzioni manipolano. Così, quando si scrive A B, non si applica Aa B, ma si applica la funzione descritta dalla stringa Adi definizione formale di una funzione contenuta nel Btornare un'altra definizione formale.
Cosa sta realmente succedendo in λ-calculus? Di quali oggetti matematici si occupa?
Azione supplementare:
OK, dalla risposta sotto sembra che λ-calcolo non sia tanto sulle funzioni in senso matematico, ma sul sottoinsieme di funzioni che possono essere espresse come espressioni λ. O ancora di più sulla manipolazione delle espressioni λ.