¿Referencia para la indefinibilidad del módulo de continuidad funcional en PCF?


10

¿Alguien puede señalarme la referencia para la no definibilidad del módulo de continuidad funcional en PCF?

Andrej Bauer ha escrito una muy buena publicación de blog explorando algunos de los problemas con más detalle, pero resumiré solo un poco de su publicación para dar un poco de contexto a esta pregunta. El espacio Baire es el conjunto de secuencias de números naturales, o equivalentemente el conjunto de funciones de naturals a naturals . Para esta pregunta, restringiremos nuestra atención solo a las secuencias que son computables.sinortenorte

Ahora, una función es continua si para cada , el valor de depende solo de un número finito de los elementos de , y es computablemente continuo si realmente podemos calcular un valor superior dependiente de cuántos elementos de se necesitan. En algunos modelos de computación, en realidad es posible escribir un programa que toma una función computable en el espacio de Baire y un elemento del espacio de Baire, y devuelve el límite superior en el número de elementos de la secuencia. x s B f ( x s ) x s x s m o d u l u s : ( B b o o l ) B F:sisioolXssiF(Xs)XsXsmetrooretultus:(sisiool)sinorte

Un truco para implementar esto es utilizar el almacenamiento local para registrar el índice máximo en la secuencia vista:

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

Por supuesto, el ysargumento ya no es un programa puramente funcional. Mi interés en este programa proviene del hecho de que solo hace uso de la tienda local y, por lo tanto, es puramente extensional . Trabajo (entre otras cosas) en programación imperativa de orden superior, y estoy diseñando teorías de tipos que podrían clasificar esto como una función pura.

También hay ejemplos más prácticos, que incluyen cosas como la memorización y la agrupación de conexiones, pero este es un ejemplo particularmente hermoso.

Respuestas:


4

La prueba está oculta en algún lugar de Troelstra y van Dalen, Constructivismo en matemáticas, volumen 2, supongo. Lo más probable es que se pueda encontrar en las investigaciones de Troelstra , si puede poner sus manos sobre él.

Dice así. Supongamos que pudiéramos definir el módulo de continuidad en tipeado cálculo con operadores de punto fijo. Entonces podríamos interpretarlo en un modelo de realización teórico de dominio, por ejemplo en donde es el modelo gráfico de Scott. En este modelo, el principio de elección es válido. Pero se sabe que junto con la extensionalidad de las funciones (que se cumple en cada modelo de realización) es incompatible con la existencia de un módulo de continuidad. Si tengo un momento, completaré los detalles más adelante.P E R ( P ω ) P ωλPAGmiR(PAGω)PAGωUNAC2,0 0UNAC2,0 0

Ver también M. Escardo, T. Streicher: en la realización de dominio no todos los funcionales son continuos , publicado en Mathematical Logic Quarterly, volumen 48, número Suplemento 1, páginas 41-44, 2002 .


Lo busqué. Se encuentra en "Constructivismo en matemática, volumen 2" de Troelstra y van Dalen, sección 6.10, página 500. Creo que lo publicaré en mi blog porque es muy difícil de encontrar.
Andrej Bauer el

¡Gracias! ¿Qué es el ? UNAC2,0 0
Neel Krishnaswami

( x X y Y . R ( x , y ) ) f Y Xx X . R ( x , f ( x ) ) A C 2 , 0 A C ( N N N , N )UNAC(X,Y) es , y luego es . (XXyY.R(X,y))FYXXX.R(X,F(X))UNAC2,0 0UNAC(nortenortenorte,norte)
Andrej Bauer

Ok, aquí está la mitad de la prueba: math.andrej.com/2011/07/27/…
Andrej Bauer
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.