Un conjunto sera llamado -efectivamente enumerable cuando sea vacio o haya una funcion tal que y sea -efectivamente computable, para cada . Notese que para el caso , la condicion de que sea -efectivamente computable, para cada se cumple vacuamente y por lo tanto la definicion anterior nos dice que un conjunto sera -efectivamente enumerable sii es vacio o hay una funcion -efectivamente computable , tal que . Por supuesto, esto nos dice que y son -efectivamente enumerables.
El siguiente resultado nos permite entender mejor la idea subyacente a esta definicion.
3.7. Un conjunto no vacio es -efectivamente enumerable sii hay un procedimiento efectivo tal que
(1) El conjunto de datos de entrada de es
(2) se detiene para cada
(3) El conjunto de datos de salida de es igual a . (Es decir, siempre que se detiene, da como salida un elemento de , y para cada elemento , hay un tal que da como salida a cuando lo corremos con como dato de entrada)
Proof. El caso es facil y es dejado al lector. Supongamos entonces que .
() Supongamos que es -efectivamente enumerable. Ya que es no vacio, por definicion hay una funcion tal que y cada es -efectivamente computable. Para cada sea un procedimiento efectivo que compute a . Notar que cada tiene a como conjunto de datos de entrada y siempre termina. Sea el siguiente procedimiento efectivo, con conjunto de datos de entrada igual a y conjunto de datos de salida contenido en .
Etapa 1: Correr con dato de entrada y alojar el dato de salida en la variable
Etapa 2: Correr con dato de entrada y alojar el dato de salida en la variable
Etapa : Correr con dato de entrada y alojar el dato de salida en la variable
Etapa : Correr con dato de entrada y alojar el dato de salida en la variable
Etapa : Correr con dato de entrada y alojar el dato de salida en la variable
Etapa : Correr con dato de entrada y alojar el dato de salida en la variable
Etapa : Detenerse y dar como dato de salida
Dejamos al lector la verificacion de que el procedimiento es efectivo y cumple las propiedades (1), (2) y (3).
() Supongamos es un procedimiento efectivo el cual cumple las propiedades (1), (2) y (3). Definamos , de la siguiente manera: Notar que para cada la funcion es -efectivamente computable ya que el siguiente procedimiento efectivo la computa:
Etapa 1: Correr desde y guardar la salida en la variable
Etapa 2: Dar como salida la coordenada -esima de
Cuando un procedimiento cumpla (1), (2) y (3) del lema anterior, diremos que enumera a . O sea que es -efectivamente enumerable sii es vacio o hay un procedimiento efectivo el cual enumera a .
Dicho de otra forma un conjunto no vacio es -efectivamente enumerable sii hay un procedimiento efectivo el cual tiene conjunto de datos de entrada y ademas para los sucesivos datos de entrada , el procedimiento produce respectivamente los datos de salida de manera que . Cabe destacar aqui que puede suceder que , para ciertos , con .
Algunos ejemplos:
E El conjunto es par es -efectivamente enumerable, cualesquiera sea . El siguiente procedimiento enumera a :
- Calcular , darlo como dato de salida y terminar.
E Un procedimiento que enumera es el siguiente:
Etapa 1
Si , dar como salida el par y terminar. Si , calcular y .
Etapa 2
Dar como dato de salida el par y terminar
Como puede notarse el procedimiento es efectivo y ademas el conjunto de datos de salida es ya que si tomamos un par cualquiera , el procedimiento lo dara como dato de salida para la entrada .
E Veamos que es -efectivamente enumerable cualquiera sea el alfabeto no vacio . Sea un orden total para el alfabeto . Utilisando el orden podemos diseñar el siguiente procedimiento para enumerar :
Etapa 1
Si , dar como salida y terminar. Si , calcular
Etapa 2
Dar como dato de salida la 5-upla .
3.8. Sean conjuntos -efectivamente enumerables. Entonces y son -efectivamente enumerables.
Proof. El caso en el que alguno de los conjuntos es vacio es trivial. Supongamos que ambos conjuntos son no vacios y sean y procedimientos que enumeran a y . El siguiente procedimiento enumera al conjunto :
- Si es par realizar partiendo de y dar el elemento de obtenido como salida. Si es impar realizar partiendo de y dar el elemento de obtenido como salida.
Veamos ahora que es -efectivamente enumerable. Si entonces no hay nada que probar. Supongamos entonces que es no vacio. Sea un elemento fijo de . Sea un procedimiento efectivo el cual enumere a (ver el ejemplo de mas arriba). Un procedimiento que enumera a es el siguiente
Etapa 1
Realizar con dato de entrada , para obtener un par .
Etapa 2
Realizar con dato de entrada para obtener un elemento
Etapa 3
Realizar con dato de entrada para obtener un elemento
Etapa 4
Si , entonces dar como dato de salida En caso contrario dar como dato de salida .
Dejamos al lector la prueba de que este procedimiento enumera a .
Dejamos al lector la prueba del siguiente resultado.
3.9. Supongamos , son conjuntos no vacios. Entonces es -efectivamente enumerable sii son -efectivamente enumerables
3.10. Si es -efectivamente computable entonces es -efectivamente enumerable.
Proof. Supongamos . Sea , fijo. Sea un procedimiento efectivo que compute a . Ya vimos en el ejemplo anterior que es -efectivamente enumerable. En forma similar se puede ver que lo es. Sea un procedimiento efectivo que enumera a . Entonces el siguiente procedimiento enumera a :
Etapa 1
Realizar con de entrada para obtener .
Etapa 2
Realizar con de entrada para obtener el valor Booleano de salida.
Etapa 3
Si dar como dato de salida Si dar como dato de salida .
Como veremos mas adelante en la materia (Proposicion 4.15), hay conjuntos que son -efectivamente enumerables y no -efectivamente computables. Sin envargo tenemos el siguiente interesante resultado:
3.1. Sea . Son equivalentes
(a) es -efectivamente computable
(b) y son -efectivamente enumerables
Proof. (a)(b). Por el lema anterior tenemos que es -efectivamente enumerable. Notese ademas que, dado que es -efectivamente computable, tambien lo es (por que?). Es decir que aplicando nuevamente el lema anterior tenemos que es -efectivamente enumerable.
(b)(a). Si o es claro que se cumple (a). O sea que podemos suponer que ni ni son igual al conjunto vacio. Sea un procedimiento efectivo que enumere a y sea un procedimiento efectivo que enumere a . Es facil ver que el siguiente procedimiento computa el predicado predicado :
Etapa 1
Darle a la variable el valor .
Etapa 2
Realizar con el valor de como entrada para obtener de salida la upla .
Etapa 3
Realizar con el valor de como entrada para obtener de salida la upla .
Etapa 4
Si , entonces detenerse y dar como dato de salida el valor . Si , entonces detenerse y dar como dato de salida el valor Si no suceden ninguna de las dos posibilidades antes mensionadas, aumentar en el valor de la variable y dirijirse a la Etapa 2.
Supongamos que y que . Supongamos ademas que . Entonces denotaremos con a la funcion . Notar que Por lo cual cada una de las funciones son -mixtas. Ademas notese que
3.2. Dado , son equivalentes
(1) es -efectivamente enumerable
(2) , para alguna tal que cada es -efectivamente computable.
(3) , para alguna funcion la cual es -efectivamente computable.
Proof. El caso es facil y es dejado al lector. Supongamos entonces que .
(1)(2) es trivial.
(2)(3). Para , sea un procedimiento el cual computa a y sea un procedimiento el cual enumere a El siguiente procedimiento computa la funcion :
Etapa 1
Darle a la variable el valor 0.
Etapa 2
Hacer correr con dato de entrada y obtener como dato de salida.
Etapa 3
Para cada , hacer correr durante pasos, con dato de entrada Si cada procedimiento al cabo de los pasos termino y dio como resultado el valor , entonces comparar con y en caso de que sean iguales detenerse y dar como dato de salida el valor . En el caso en que no son iguales, aumentar en el valor de la variable y dirijirse a la Etapa 2. Si algun procedimiento al cabo de los pasos no termino, entonces aumentar en el valor de la variable y dirijirse a la Etapa 2.
(3)(1). Supongamos . Sea un elemento fijo de . Sea un procedimiento el cual compute a . Sea un procedimiento el cual enumere a Dejamos al lector el diseño de un procedimiento efectivo el cual enumere .
Dejamos como ejercicio la prueba de los dos siguientes lemas.
3.11. Sean y . Supongamos es -efectivamente computable y es -efectivamente enumerable, entonces es -efectivamente enumerable
Sean y . Supongamos es -efectivamente computable y es -efectivamente enumerable, entonces es -efectivamente computable