Riferimento per l'indefinibilità del modulo di continuità funzionale in PCF?


10

Qualcuno può indicarmi il riferimento per la non definibilità del modulo di continuità funzionale in PCF?

Andrej Bauer ha scritto un post sul blog molto bello esplorando alcuni dei problemi in modo più dettagliato, ma riassumerò solo un po 'del suo post per dare un po' di contesto a questa domanda. Il Baire spazio B è l'insieme di sequenze di numeri naturali, o equivalentemente l'insieme delle funzioni da naturali a naturali NN . Per questa domanda, limiteremo la nostra attenzione solo ai flussi calcolabili.

Ora, una funzione f:Bbool è continua se per ogni xsB , il valore di f(xs) dipende solo da un numero finito degli elementi di xs , ed è calcolabile in modo continuo se possiamo effettivamente calcolare un valore superiore legato a quanti elementi di xs sono necessari. In alcuni modelli di calcolo, in realtà è possibile scrivere un programma modulus:(Bbool)BN che assume una funzione calcolabile sullo spazio Baire e un elemento dello spazio Baire, e restituisce il limite superiore sul numero di elementi del flusso.

Un trucco per implementare questo è utilizzare l'archiviazione locale per registrare l'indice massimo nel flusso visto:

let modulus f xs =
  let r = ref 0 in
  let ys = fun i -> (r := max i !r; xs i) in 
    f ys;
    !r

Naturalmente, l' ysargomento non è più un programma puramente funzionale. Il mio interesse per questo programma deriva dal fatto che si avvale solo di un negozio locale ed è quindi estremamente puro. Lavoro su (tra le altre cose) programmazione imperativa di ordine superiore e sto progettando teorie di tipo che potrebbero classificarlo come pura funzione.

Ci sono anche altri esempi pratici, che coinvolgono cose come la memoizzazione e il pool di connessioni, ma trovo che questo sia un esempio particolarmente bello.

Risposte:


4

La prova è nascosta da qualche parte in Troelstra e van Dalen, Costruttivismo in matematica, volume 2, suppongo. Più probabilmente, lo si può trovare nelle indagini di Troelstra , se ci si può mettere le mani sopra.

Va così. Supponiamo di poter definire il modulo di continuità in typed -calculus con operatori fixpoint. Quindi potremmo interpretarlo in un modello di realizaiblity teorico del dominio, ad esempio in dove è il modello grafico di Scott. In questo modello è valido il principio di scelta . Ma è noto che insieme all'estensione di funzioni (che è valida in ogni modello di realizzabilità) è incompatibile con l'esistenza di un modulo di continuità. Se avrò un momento, inserirò i dettagli più tardi.λPER(Pω)PωAC2,0AC2,0

Vedi anche M. Escardo, T. Streicher: Nella fattibilità del dominio non tutti i funzionali sono continui , pubblicato in Mathematical Logic Quarterly, volume 48, edizione Supplemento 1, pagine 41-44, 2002 .


Ho cercato. È in "Costruttivismo in matematica, volume 2" di Troelstra e van Dalen, sezione 6.10, pagina 500. Penso che lo metterò sul mio blog perché è terribilmente difficile da trovare.
Andrej Bauer,

Grazie! Che cos'è l' ? AC2,0
Neel Krishnaswami il

AC(X,Y) è , quindi è . (xXyY.R(x,y))fYXxX.R(x,f(x))AC2,0AC(NNN,N)
Andrej Bauer,

Ok, ecco la metà della prova: math.andrej.com/2011/07/27/…
Andrej Bauer,
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.