Quali funzioni possono calcolare le espressioni di calcolo combinatore?


13

Un'espressione combinatrice (diciamo nella base SK) può essere pensata come una funzione che mappa le espressioni di calcolo combinatore con le espressioni di calcolo combinatore. Cioè, si può pensare a un'espressione come a una funzione X : L L , dove L è l'insieme di tutte le espressioni combinatorie sintatticamente valide nella base SK. Questa mappatura viene eseguita applicando l'input all'espressione e quindi riducendo alla forma normale per ottenere l'output.XX:LLL

Poiché la base SK è Turing completa, si potrebbe ingenuamente pensare che esista un'espressione che implementa qualsiasi funzione calcolabile daX a L . Tuttavia, questo chiaramente non è il caso, poiché il risultato della riduzione sarà sempre in forma normale. Questo significa che non c'è modo per un'espressione di avere un output che non sia in forma normale.LL

Quindi, invece, potrei pensare alle espressioni di calcolo SK come a mappare a L , dove L è l'insieme di espressioni SK in forma normale. È il caso che, per qualsiasi mappa calcolabile f : L L , vi sia un'espressione SK X che implementa questa mappa? Oppure ci sono ulteriori restrizioni sull'insieme di funzioni che possono essere calcolate in questo modo dalle espressioni di calcolo combinatore?L'L'L'f:L'L'X

Risposte:


6

Far rotolare la palla, e nella speranza che altre persone diano risposte più profonde e dettagliate sulla struttura delle funzioni definibili L L λL'L' , lasciatemi citare Corollary 20.3.3 da The Lambda Calculus, Its Syntax e Barendregts Semantica (alias "la Bibbia").

Corollario 20.3.3: La funzione , definita da δ ( M , N ) = { T r u e  se  M = β η N F a l s e  altrimenti non è definibile nel non tipizzato λ - calcolo, ovvero non esiste un termine D tale che D M N = β η δ ( M , N )δ:L'2L'

δ(M,N)={True Se M=βηNFun'lSe altrimenti
λD
D M N=βηδ(M,N)
per tutte le M,NL' .

La dimostrazione implica considerazioni sugli alberi di Böhm che danno una caratterizzazione piuttosto forte delle possibili "azioni" di termini lambda arbitrari su forme normali. In particolare, per qualsiasi termine chiuso non costante , su può trovare n N e P 1 , , P n tale che F x P 1P n = β η x Q 1Q kFnNP1,...,Pn

F X P1...Pn=βηX Q1...QK

KQ1,...,QKDδD

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.