Respuestas:
Sí, el teorema de Rice para los reales se mantiene en todas las versiones razonables de los reales computables.
Primero probaré un cierto teorema y un corolario, y luego explicaré qué tiene que ver con la computabilidad.
Teorema: Suponga que es un mapa y a , b ∈ R dos reales tales que p ( a ) = 0 y p ( b ) = 1 . Entonces existe una secuencia de Cauchy ( x i ) i tal que p ( lim i x i ) ≠ p ( x j ) para todo j .
Prueba. Construimos una secuencia de pares de reales siguiente manera: ( y 0 , z 0 )
Por lo tanto, las secuencias y ( z i ) i son Cauchy y convergen en un punto común c = lim i y i = lim i z i . Si p ( c ) = 0 entonces tomamos ( x i ) i = ( z i ) i , y si p ( c ) = 1 tomamos ( x . ◻
Corolario: Suponga que y a , b ∈ R dos reales tales que p ( a ) = 0 y p ( b ) = 1 . Entonces, cada máquina de Turing funciona para siempre o no funciona para siempre.
Prueba. Por el teorema, hay una secuencia de Cauchy tal que p ( x j ) ≠ p ( lim i x i ) para todos j ∈ B . Sin pérdida de generalidad, podemos suponer que p ( x j ) = 1 y p ( lim i x i ) = 0 .
Deje que sea una máquina de Turing. Defina una secuencia y i por y i = { x j si T se detiene en el paso j y j ≤ i x i si T no se detiene dentro de i pasos La secuencia está bien definida porque podemos simular T hasta i pasos y decidir si se ha detenido o no dentro de tantos pasos. Luego, observe que ( y i ) i es una secuencia de Cauchy porque ( x i )
si entonces T se ejecuta para siempre. De hecho, si se detuvo después de j pasos, entonces tendríamos z = x j , y entonces p ( z ) = p ( x j ) = 1 contradeciría p ( z ) = 0 .
si entonces T no se ejecuta para siempre. De hecho, si lo hiciera, entonces tendríamos z = lim i x i , y entonces p ( z ) = p ( lim i x i ) = 0 , contradiciendo p ( z ) = 0 . ◻
Ahora podemos explicar por qué esto nos da el teorema de Rice para números reales. Las pruebas son constructivas, por lo tanto, producen procedimientos computables. Esto es cierto para cualquier modelo de computabilidad y cualquier estructura de cómputo de reales que merezcan ser llamados así. De hecho, puede regresar y leer la prueba como instrucciones para construir un programa: todos los pasos son computables.
Por lo tanto, si tuviéramos un mapa computable y computable a , b ∈ R tal que p ( a ) = 0 y p ( 1 ) = 1 , entonces podríamos aplicar los procedimientos computables que surgen de pruebas constructivas del teorema y el corolario para crear el oráculo de detención. Pero el oráculo de detención no existe, por lo tanto, cada mapa computable p : R → { 0 , 1 } es constante
Suplementario: también hubo una pregunta sobre si el teorema de Rice está relacionado con la conexión de los reales. Sí, es esencialmente la afirmación de que los reales están conectados.
Primero observemos que un mapa continuo (tomamos la topología discreta en { 0 , 1 } ) corresponde a un par de clopen disjuntos (cerrados y abiertos) establece U , V ⊆ X tal que U ∪ V = X . De hecho, tome U = p - 1 ( { 0 } ) y V = p - 1 ( { 1 } . Debido a que p es continua y { 0 } y { 1 } están abiertos, U y V estarán abiertas, disjuntos, y obviamente cubren todos X . Por el contrario, cualquier par ( U , V ) de clopens disjuntos que cubran X determina un mapa continuo p : X → { 0 , 1 } que asigna elementos de U a 0 y elementos de V a 1 .
De esto aprendemos que un espacio se desconecta si, y solo si, existe un mapa continuo p : X → { 0 , 1 } y a , b ∈ X tal que p ( a ) = 0 y p ( 1 ) = b (necesitamos una y b para que podamos obtener una descomposición no trivial de X ). Hay otra forma de decir lo mismo: un espacio X está conectado si, y solo si, todos los mapas continuos son constantes.
En matemática computable tenemos un teorema básico: cada mapa computable es continuo . Entonces, siempre y cuando estemos dentro del ámbito de los objetos computables, el teorema de Rice afirma que cierto espacio está conectado. En el caso del teorema clásico del arroz del espacio en cuestión es el espacio de las funciones computables parciales .
No. O, al menos, la prueba no es trivial, ya que puede elegir entre las (generalmente muchas) formas posibles de calcular un real, y puede elegir una con una estructura que sea total wrt la propiedad elegida para que no reduce la prueba de la propiedad al problema de detención.
Además, creo que necesito una mejor comprensión de lo que "no trivial" significa wrt las propiedades de los números. Para el teorema de Rice, "no trivial" es básicamente no sintáctico y no está implícito en la sintaxis. Sin embargo, cada número real computable no es un solo programa, sino una clase de equivalencia llena de programas.