Sono spesso confuso dalla relazione tra η-conversione ed estensibilità.
Modifica: Secondo i commenti, sembra che io sia anche confuso sulla relazione tra equivalenza estensiva ed equivalenza osservativa. Ma almeno in Agda con uguaglianza estensionale per le funzioni (come postulato) e per un calcolo lambda tipicamente semplice (che ha una semantica completamente astratta, se non sbaglio), l'equivalenza denotazionale è la stessa dell'equivalenza osservativa. Sentiti libero di correggermi nei commenti o nelle risposte; Non ho mai ricevuto un'educazione sistematica su questi argomenti.
Nel lambda-calcolo non tipizzato, la regola eta fornisce lo stesso sistema di prova della regola dell'estensione, come dimostrato da Barendregt (citato in una risposta a questa domanda ). Capisco che significhi che il sistema di prova con la regola eta è completo per l'equivalenza osservativa (da altre risposte, che potrebbe aver bisogno della regola della regola ξ, cioè riduzione sotto leganti IIUC; non ho problemi ad aggiungere anche quella regola) .
Tuttavia, cosa succede se passiamo a un calcolo tipizzato e aggiungiamo estendere questo calcolo con tipi di base extra e corrispondenti moduli di introduzione ed eliminazione? Possiamo ancora scrivere un sistema di prova completo per l'equivalenza osservativa? Parlerò di sistemi di prova in forma di semantica assiomatica, seguendo le basi di Mitchell dei linguaggi di programmazione (FPL); il sistema di prova / semantica assiomatica definisce l'equivalenza del programma.
Domanda 1 : il teorema di Barendregt si estende a STLC? In questo contesto l'equivalenza η è equivalente all'estensione?
Sto navigando discussione di FPL di PCF (ma non finì la sezione ancora), e sembra che una volta che si aggiunge coppie, estensionalità richiede una regola aggiuntiva, vale a dire l'associazione suriettiva: pair (Proj1 P, Proj2 P) = P
. È interessante notare che questa regola riguarda l'introduzione e l'eliminazione di coppie esattamente come la regola η riguarda l'introduzione e l'eliminazione delle funzioni.
Domanda 2 : È sufficiente aggiungere l'assioma di accoppiamento suriettivo per dimostrare l'estensione nel calcolo λ tipicamente semplice con coppie? modifica : Domanda 2b : l'ipotetico accoppiamento è una legge η, come le leggi η menzionate in questo documento , a causa della somiglianza strutturale che cito?
Andiamo fino al PCF ora. Le descrizioni dell'uguaglianza estensiva che ho visto dimostrano quindi che l'estensione implica una regola di prova per induzione, ma non dicono se sia sufficiente. Poiché PCF è completo di Turing, l' uguaglianza estensiva è indecidibile . Ciò non implica che non esiste un sistema di prova completo, poiché la lunghezza delle prove è illimitata. Più pertinentemente, un sistema di prova del genere contraddirebbe forse i teoremi di incompletezza di Gödel. E tale argomento potrebbe valere anche per PCF senza fix
, e per System T. di Gödel
Domanda 3 : esiste un sistema di prova completo per l'equivalenza osservazionale nella PCF? Che dire di PCF senza fix
?
Aggiornamento: astrazione completa
Rispondo qui sul commento sull'astrazione completa. Penso che PCF soffra di due diversi tipi di problemi: ha una non-terminazione (via fix), che causa la perdita della piena astrazione, ma ha anche numeri naturali. Entrambi i problemi rendono difficile trattare l'equivalenza osservativa, ma credo indipendentemente l'uno dall'altro.
Da un lato, PCF perde piena astrazione perché parallela o vive nel dominio semantico (Plotkin 1977), e questo sembra avere a che fare con il non-termine. Ralph Loader (2000, "PCF Finitario non è decidibile") mostra che il PCF Finitario (senza naturali, ma con nonterminazione) è già indecidibile; quindi, (se riassumo correttamente) un semantico completamente astratto non può limitarsi ai domini con operazioni calcolabili.
D'altra parte, prendi il Sistema T di Gödel, che non ha un termine. (Non sono sicuro che abbia una semantica completamente astratta, ma suppongo di sì, perché il problema è menzionato solo per PCF; il dominio deve contenere funzioni ricorsive primitive di ordine superiore). Le basi pratiche di Harper per i linguaggi di programmazione discutono l'equivalenza osservativa per questo linguaggio; Sez. 47.4 è intitolato "Alcune leggi di uguaglianza" e mostra alcune regole di prova ammissibili per l'equivalenza osservazionale. Da nessuna parte si dice se il sistema di prova sia completo, quindi immagino che non lo sia, ma non si discute nemmeno se può essere completato. La mia ipotesi migliore ricollega al teorema di incompletezza di Gödel.