En esta seccion presentaremos varios de los resultados basicos de computabilidad, expresados en el paradigma recursivo, ya que es el mas habitual y comodo. Varios de estos resultados ya han sido establecidos dentro del desarrollo de la computabilidad efectiva en el Capitulo 3. A estos resultados los enunciaremos dentro del paradigma de Godel y daremos pruebas rigurosas matematicas de ellos usando la teoria desarrollada hasta ahora. Sin envargo, veremos que hay otros resultados que son dependientes del desarrollo matematico hecho y aportan nueva informacion al paradigma filosofico (la indecidibilidad del halting problem, por ejemplo).
Como veremos muchas de las pruebas seran de naturaleza imperativa basadas en la equivalencia del paradigma de Godel con el imperativo de Neumann.
4.57. Supongamos , , son funciones -recursivas tales que para . Entonces la funcion es -recursiva.
Proof. Probaremos el caso y . Ademas supondremos que . Sean y programas que computen las funciones y , respectivamente. Para , definamos Notar que y que es -mixta. Ademas sabemos que la funcion es -p.r. por lo cual resulta facilmente que es -p.r.. Por Independencia del Alfabeto tenemos que es -p.r. y por lo tanto el Segundo Manantial de Macros nos dice que en hay un macro: Para hacer mas intuitivo el uso de este macro lo escribiremos de la siguiente manera Ya que cada es -computable, el Primer Manantial de Macros nos dice que en hay macros Sea el siguiente programa: Notese que computa la funcion por lo cual ya que sabemos que Godel vence a Neumann, la funcion es -recursiva.
La prueba del lema anterior es de naturaleza imperativa ya que da explicitamente un programa (de todas maneras usa el paradigma recursivo o Godeliano para justificar la existencia de los macros). A continuacion daremos una prueba la cual es mas recursiva (aunque aun usa el paradigma imperativo en la existencia de los programas ).
Proof. Sean y programas que computen las funciones y , respectivamente. Sean Notese que y que y son -p.r.. Ya que son -mixtos, el Teorema 4.2 nos dice que son -p.r.. Tambien notese que . Definamos Notese que y son -recursivas y que , Ademas notese que O sea que es -recursiva.
A continuacion probaremos los resultados basicos sobre conjuntos -efectivamente computables y -efectivamente enumerables, dados en las Secciones [definicion=000020de=000020conjunto=000020sigma-efectivamente=000020enumerable] y [definicion=000020de=000020conjunto=000020sigma-efectivamente=000020computable], pero enunciados dentro del paradigma de Godel.
4.58. Si y son predicados -r., entonces , y lo son tambien.
Proof. Note que
4.59. Supongamos son conjuntos -recursivos. Entonces , y son -recursivos
Proof. Es directa del lema anterior.
4.60. Supongamos son conjuntos -r.e.. Entonces
(1) es -r.e..
(2) es -r.e..
Proof. Podemos suponer que ni ni son vacios ya que de lo contrario (1) y (2) se cumplen trivialmente. Ademas supondremos que y .
(1). La idea de la prueba es la misma que la que usamos para probar que la union de conjuntos -efectivamente enumerables es -efectivamente enumerable. Daremos usando macros un programa que enumera a y luego aplicaremos la Caracterizacion de -enumerabilidad. Por hipotesis hay funciones y tales que , , , , y son -recursivas, y . Ya que estas funciones tambien son -computables, hay macros Ya que el predicado es par es -p.r., tenemos que hay un macro: el cual escribiremos de la siguiente manera mas intuitiva Ya que la funcion es -p.r., tenemos que hay un macro: el cual escribiremos de la siguiente manera mas intuitiva Sea el siguiente programa: Es facil ver que cumple (a) y (b) de (3) de la Caracterizacion de -enumerabilidad por lo cual es -enumerable. Esto nos dice que es -r.e. ya que como vimos Godel vence a Neumann.
(2). Es dejada al lector
Tal como veremos mas adelante hay conjuntos -recursivamente enumerables los cuales no son -recursivos. Sin envargo tenemos el siguiente interesante resultado.
4.11 (Caracterizacion de conjuntos -r.). Sea . Son equivalentes
(a) es -recursivo
(b) y son -recursivamente enumerables
Proof. (a)(b). Si , por definicion es -recursivamente enumerable. Supongamos entonces . Haremos el caso en el que y . Sea un orden total sobre . Por hipotesis tenemos que es -recursiva por lo cual hay un macro Ya que la funcion es -p.r. hay un macro el cual escribiremos de la siguiente manera: Ya que la funcion es -p.r. hay un macro el cual escribiremos de la siguiente manera: (Dejamos al lector entender bien el funcionamiento de estos macros.) Sea el siguiente programa: Notese que y que por lo cual es -enumerable lo que nos dice que es -recursivamente enumerable.
(b)(a). Haremos el caso en que los conjuntos y son no vacios. Tambien supondremos . Por hipotesis hay funciones y tales que , , y son -recursivas, y . Hay macros Ya que los predicados y son -p.r. hay macros los cuales para hacer mas amigable la lectura los escribieremos de la siguiente manera Tambien usaremos el macro (asociado a la funcion -p.r. ), el cual escribiremos de la siguiente manera Sea el siguiente programa: Notese que computa a la funcion por lo cual es -computable lo que nos dice que es -recursiva. Esto por definicion nos dice que es -recursivo
4.61. Supongamos es -recursiva y es -r.e., entonces es -recursiva.
Proof. Si , entonces y por lo tanto es -recursiva. Supongamos . Haremos el caso y . Tenemos que hay una tal que y , son -recursivas. Ya que , y son -recursivas, hay macros Usaremos los macros Sea el siguiente programa Es facil ver que computa a
Ahora probaremos el analogo recursivo del Teorema 3.2.
4.12 (Caracterizacion de conjuntos -r. e.). Dado , son equivalentes
(1) es -recursivamente enumerable
(2) , para alguna tal que cada es -recursiva.
(3) , para alguna funcion -recursiva
(4) o , para alguna tal que cada es -p.r.
Proof. El caso es facil y es dejado al lector. Supongamos entonces que .
(2)(3). Haremos el caso y . El caso general es completamente analogo. Notese que entonces tenemos que y es tal que y , , , son -recursivas. Para cada , sea un programa el cual computa a . Sea un orden total sobre . Definamos Notar que y que es -mixta. Ademas sabemos que la funcion es -p.r. por lo cual resulta facilmente que es -p.r.. Por Independencia del Alfabeto tenemos que es -p.r., por lo cual el Segundo Manantial de Macros nos dice que hay un macro: Para hacer mas intuitivo el uso de este macro lo escribiremos de la siguiente manera Para , definamos Para , definamos Dejamos al lector probar que las funciones son -p.r.. O sea que para cada hay un macro y para cada hay un macro Haremos mas intuitiva la forma de escribir estos macros, por ejemplo para , lo escribiremos de la siguiente manera Ya que la funcion es -p.r., hay un macro el cual escribiremos de la siguiente manera: Similarmente hay macros: (dejamos al lector entender bien el funcionamiento de estos macros). Sea el siguiente programa de : Dejamos al lector la tarea de comprender el funcionamiento de este programa y convenserse de que computa la funcion . Pero entonces es -computable por lo cual es -recursiva, lo cual prueba (3) ya que .
(3)(4). Supongamos . Sea fijo. Sea un programa el cual compute a y Sea un orden total sobre . Sea dado por sii Es facil ver que es -p.r. por lo cual es -p.r.. Sea . Para , definamos de la siguiente manera Para , definamos de la siguiente manera Por el Lema de Division por Casos, cada es -p.r.. Es facil ver que cumple (4).
La prueba de (2)(3) del teorema anterior es de naturaleza imperativa ya que da explicitamente un programa (de todas maneras usa el paradigma recursivo o Godeliano para justificar la existencia de los macros). A continuacion daremos una prueba de (2)(3) la cual es mas recursiva (aunque aun usa el paradigma imperativo en la existencia de los programas ).
Proof. (De (2)(3)). Para , sea un programa el cual computa a y Sea un orden total sobre . Sea dado por sii se cumplen las siguientes condiciones Note que es -p.r. y por lo tanto es -p.r.. Pero entonces es -r. lo cual nos dice que se cumple (3) ya que .
4.6. Supongamos es -recursiva y es -r.e., entonces es -r.e..
Proof. Por el teorema anterior , para alguna funcion -recursiva . Note que , lo cual nuevamente por el teorema anterior nos dice que es -r.e..
Dejamos como ejercicio dar una prueba imperativa del corolario anterior. Los Lemas 4.61 y 4.60 pueden obtenerse facilmente como corolarios del teorema anterior. Se gana en elegancia y simplicidad pero cabe destacar que se pierde en intuicion.
4.7. Supongamos es -recursiva y es -r.e., entonces es -recursiva.
Proof. Supongamos . Por el teorema anterior , para alguna funcion -recursiva . Notese que componiendo adecuadamente podemos suponer que O sea que tenemos .
4.8. Supongamos son conjuntos -r.e.. Entonces es -r.e..
Proof. Por el teorema anterior , con funciones -recursivas Notese que podemos suponer que por lo que es -r.e.
4.9. Supongamos son conjuntos -r.e.. Entonces es -r.e.
Proof. Supongamos Sean tales que , y las funciones y son -recursivas. Sean y Sea dada por Por el Lema 4.61 y el Lema 4.57, cada es -recursiva. Ya que , tenemos que es -r.e.
A continuacion dejamos un sketch de una prueba alternativa del Teorema 4.11. Dejamos al lector completar los detalles. Proof. (a)(b) Note que
(b)(a). Note que .
Los dos siguientes teoremas, nos agregan una equivalencia mas al Teorema 4.12, para el caso , .
4.13. Si es -r.e., entonces para alguna maquina de Turing .
Proof. La prueba es similar a la del Teorema 4.7 asique solo daremos un skech de la misma. Por el Teorema 4.12 para alguna funcion la cual es -recursiva. Notese que podemos suponer que . Ya que es -recursiva, tambien es -computable. Por el Lema 4.56 existe el cual computa y tiene las propiedades (1) y (2). Sea y sea la maquina de Turing con unit que simula a respecto de . Sea una maquina de Turing con un solo estado final (del cual no salen flechas) y tal que para todo , Note que la concatenacion de con produce una maquina de Turing tal que . Dejamos al lector los detalles de la construccion de
4.14. Sea una maquina de Turing. Entonces y son -recursivamente enumerables.
Proof. Veamos que es -recursivamente enumerable. Sea el siguiente predicado -mixto Notese que . Dejamos al lector probar que es -p.r.. Sea . Notese que sii atestiguado por una computacion de longitud . Ya que es -p.r. (por que?) y ademas es -mixto, el Teorema 4.2 nos dice que es -p.r.. Ya que , el Teorema 4.12 nos dice que es -r.e..
Dejamos al lector la prueba parecida de que es -recursivamente enumerable.
Cuando , podemos definir Notar que el dominio de es y que para cada tenemos que
(*) sii se detiene partiendo del estado .
4.62. Supongamos . Entonces no es -recursivo.
Proof. Supongamos es -recursivo. Por el Segundo Manantial de Macros tenemos que hay un macro Sea el siguiente programa de Note que
- termina partiendo desde sii ,
lo cual produce una contradiccion si tomamos en (*) .
Usando el lema anterior y la Tesis de Church podemos probar el siguiente impactante resultado.
4.15. Supongamos . Entonces no es -efectivamente computable. Es decir no hay ningun procedimiento efectivo que decida si un programa de termina partiendo de si mismo.
Proof. Si fuera -efectivamente computable, la Tesis de Church nos diria que es -recursivo, contradiciendo el lema anterior.
Notese que provee de un ejemplo natural en el cual la cuantificacion (no acotada) de un predicado -p.r. con dominio rectangular no es -efectivamente computable
Ahora estamos en condiciones de dar un ejemplo natural de un conjunto que es -recursivamente enumerable pero el cual no es -recursivo.
4.63. Supongamos que Entonces es -r.e. y no es -recursivo. Mas aun el conjunto no es -r.e.
Proof. Para ver que es -r.e. se lo puede hacer imperativamente dando un programa (usando macros) que enumere a . De esta forma probariamos que es -enumerable y por lo tanto es -r.e.. Daremos ahora una prueba no imperativa de este hecho, es decir mas propia del paradigma funcional. Sea . Note que es -p.r. por lo que es -r.. Ademas note que , lo cual implica que es -r.e..
Supongamos ahora que es -r.e.. Entonces la funcion es -recursiva ya que lo es. Ademas ya que es -r.e. tenemos que es -recursiva. Ya que el Lema 4.57 nos dice que es -recursivo, contradiciendo el Lema 4.62. Esto prueba que no es -r.e..
Finalmente supongamos es -recursivo. Entonces el conjunto deberia serlo, lo cual es absurdo. Hemos probado entonces que no es -recursivo.
Cabe destacar aqui que el dominio de una funcion -recursiva no siempre sera un conjunto -recursivo. Por ejemplo si tomamos tal que , entonces es una funcion -recursiva ya que es la restriccion de la funcion -recursiva al conjunto -r.e. , pero no es -recursivo.
Usando la Tesis de Church obtenemos el siguiente resultado.
4.17. Supongamos que Entonces es -efectivamente enumerable y no es -efectivamente computable. El conjunto no es -efectivamente enumerable. Es decir, puede ser enumerado por un procedimiento efectivo pero no hay ningun procedimiento efectivo que decida la pertenencia a y no hay ningun procedimiento efectivo que enumere a . Mas aun, si un procedimiento efectivo da como salida siempre elementos de , entonces hay una cantidad infinita de elementos de los cuales nunca da como salida
Con los resultados anteriores estamos en condiciones de dar un ejemplo de un predicado -recursivo, cuya minimizacion no es -efectivamente computable (y por lo tanto es no -recursiva).
4.18. Supongamos que . Sea . La funcion no es -efectivamente computable (y por lo tanto es no -recursiva)
Proof. Notese que y que para cada se tiene que O sea que lo cual nos dice que no es -recursiva ya que si lo fuese lo seria tambien . Por la Tesis de Church tampoco es -efectivamente computable
Supongamos . Sea . Note que y es la cantidad de pasos en la que se detiene partiendo de .
4.64. No hay ninguna funcion la cual sea -recursiva y extienda a
Proof. Supongamos hay una tal . Notese que lo cual nos dice que es -recursiva, llegando a una contradiccion.