Sea un alfabeto finito. Dados , usaremos para abreviar la expresion Por ejemplo, sera una forma abreviada de escribir . Debe quedar claro que estamos haciendo cierto abuso notacional ya que en principio si no hacemos esta convencion notacional, denota un conjunto de pares y es un conjunto de -uplas.
Notese que:
- Cuando , tenemos que denota el conjunto
- Si , entonces denota el conjunto
- Si , entonces denota el conjunto
- Cuando , tenemos que . O sea que por ejemplo
Es decir que tenemos que tener cuidado cuando leemos esta notacion y no caer en la confucion de interpretarla mal.
Con esta convencion notacional, un elemento generico de es una -upla de la forma . Para abreviar, escribiremos en lugar de .
Sea un alfabeto finito. Dada una funcion , diremos que es -mixta si cumple las siguientes propiedades
(M1) Existen , tales que
(M2) Ya sea o
Algunos ejemplos:
(E1) Sea . La funcion es -mixta ya que se cumple (M1) con y tambien cumple (M2). Notese que no es -mixta ya que no cumple (M1) respecto del alfabeto . Sin envargo note que es -mixta
(E2) La funcion es -mixta cualesquiera sea el alfabeto
(E3) Sea . La funcion
es -mixta ya que se cumple (M1) (con y ) y (M2)
(E4) Supongamos . Tenemos entonces que . Por ejemplo donde es impar, es -mixta (con y en (M1)). Tambien notese que es -mixta (con y en (M1)).
Dejamos al lector la facil prueba del siguiente resultado basico.
1.8. Supongamos son alfabetos finitos. Entonces si es una funcion -mixta, es -mixta
Una funcion -mixta es -total cuando haya tales que . El lema anterior nos dice que si , entonces toda funcion -mixta es -mixta. Sin envargo una funcion puede ser -total y no ser -total, cuando . Por ejemplo tomemos y , y consideremos la funcion Es claro que es -mixta y -total. Tambien es -mixta ya que y , por lo cual cumple (M1) y (M2). Sin envargo no es -total ya que no es igual a , cualesquiera sean y .
Como hemos visto recien, una funcion puede ser -mixta y -mixta para dos alfabetos distintos y e incluso es facil construir un ejemplo en el cual y sean incomparables como conjuntos, es decir que ninguno incluya al otro. Dejamos al lector convencerse de que si es una funcion que es -mixta para algun alfabeto , entonces hay un alfabeto el cual es el menor de todos los alfabetos respecto de los cuales es mixta, es decir cumple que es -mixta y si es tal que es -mixta, entonces .
A continuacion daremos algunas funciones -mixtas basicas las cuales seran frecuentemente usadas.
La funcion sucesor es definida por La funcion predecesor es definida por
Sea un alfabeto no vacio. Para cada , definamos La funcion es llamada la funcion derecha sub , respecto del alfabeto .
Sea un alfabeto. Para tales que , definamos Para tales que , definamos Las funciones son llamadas proyecciones. La funcion es llamada la proyeccion , respecto del alfabeto . Notese que esta definicion requiere que ya que debe cumplir . Ademas notese que siempre la funcion aplicada a una -upla da la coordenada -esima de dicha -upla. Por ejemplo:
Sea un alfabeto. Para , y , definamos Por ejemplo: Notese que y que .
Definamos Notese que , , , etc.
Dada una funcion -mixta , si son tales que y ademas , entonces diremos que es una funcion de tipo . Similarmente si son tales que y ademas , entonces diremos que es una funcion de tipo . Notese que si , entonces hay unicos y tales que es una funcion de tipo . Sin envargo es una funcion de tipo cualesquiera sean y . De esta forma, cuando hablaremos de "el tipo de " para refererirnos a esta unica terna . Notese que es de tipo y es de tipo .
Tambien notese que la relacion " es una funcion de tipo " no depende del alfabeto (que significa esto?).
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
Un predicado -mixto es una funcion la cual es -mixta y ademas cumple que . Por ejemplo
Dados predicados y , con el mismo dominio, definamos nuevos predicados , y de la siguiente manera
Dado un alfabeto , una familia -indexada de funciones sera una funcion tal que y para cada se tiene que es una funcion. Algunos ejemplos:
(E1) Sea dada por Claramente es una familia -indexada de funciones. Notar que Se tiene tambien por ejemplo que por lo cual tambien es cierto que , etc.
(E2) Si es un alfabeto no vacio, la funcion es una familia -indexada de funciones. Notar que
(E3) es una flia -indexada de funciones
Si es una familia -indexada de funciones, entonces para , escribiremos en lugar de .
Un conjunto es llamado -mixto si hay tales que . Por ejemplo, son conjuntos -mixtos. Tambien notese que y son conjuntos -mixtos, cualesquiera sea el alfabeto . Por ultimo el conjunto es -mixto (con y ).
Dado un conjunto -mixto , si son tales que , entonces diremos que es un conjunto de tipo . Notese que si , entonces hay unicos tales que es un conjunto de tipo . De esta forma, cuando hablaremos de "el tipo de " para refererirnos a este unico par . Tambien es importante notar que de la definicion anterior sale inmediatemante que es un conjunto de tipo cualesquiera sean , por lo cual cuando hablemos de EL tipo de un comjunto deberemos estar seguros de que dicho conjunto es no vacio.
Notese que es de tipo y es de tipo .
Un conjunto -mixto es llamado rectangular si es de la forma con cada y cada . Notar que todo subconjunto de es rectangular (es el caso y ). Tambien es rectangular (es el caso ). Otros ejemplos:
- es rectangular (aqui y )
- es rectangular (aqui y )
Tambien notese que por lo cual es un conjunto rectangular.
El concepto de conjunto rectangular es muy importante en nuestro enfoque. Aunque en general no habra restricciones acerca del dominio de las funciones y predicados, nuestra filosofia sera tratar en lo posible que los dominios de las funciones que utilicemos para hacer nuestro analisis de recursividad de los distintos paradigmas, sean rectangulares. Aunque en principio puede pareser que todos los conjuntos son rectangulares, el siguiente lema mostrara cuan ingenua es esta vision.
1.9. Sea . Entonces es rectangular si y solo si se cumple la siguiente propiedad:
(R) Si , entonces
Proof. Ejercicio.
Supongamos . Notese que podemos usar el lema anterior para probar por ejemplo que los siguientes conjuntos no son rectangulares
-
-
Dejamos como ejercicio para el lector enunciar un lema analogo al anterior pero que caracterice cuando es rectangular.
Usaremos la notacion lambda de Church en la forma que se explica a continuacion. La idea de usar la notacion lambda fue sacada del libro de Bell y Machover . Esta notacion siempre depende de un alfabeto finito previamente fijado. En general en nuestro lenguaje matematico utilizamos diversas expresiones las cuales involucran variables que una vez fijadas en sus valores hacen que la expresion tambien represente un determinado valor.
En el contexto de la notacion lambda solo se podran utilizar expresiones con caracteristicas muy especiales por lo cual a continuacion iremos describiendo que condiciones tienen que cumplir las expresiones para que puedan ser usadas en la notacion lambda.
(1) Solo utilizaremos expresiones que involucran variables numericas, las cuales se valuaran en numeros de , y variables alfabeticas, las cuales se valuaran en palabras del alfabeto previamente fijado. Las variables numericas seran seleccionadas de la lista Las variables alfabeticas seran seleccionadas de la lista
(2) Por ejemplo la expresion: tiene dos variables numericas e (y ninguna alfabetica). Si le asignamos a el valor 2 y a el valor 45, entonces la expresion produce o representa el valor .
(3) Otro ejemplo, consideremos la expresion la cual tiene una variable numerica y dos variables alfabeticas y . Supongamos ademas que el alfabeto previamente fijado es . Si le asignamos a el valor 2, a el valor y a el valor , entonces la expresion produce o representa el valor .
(4) Para ciertas valuaciones de sus variables la expresion puede no estar definida. Por ejemplo la expresion no asume valor o no esta definida cuando el valor asignado a es . Otro ejemplo, consideremos la expresion Esta expresion no esta definida o no asume valor para aquellas asignaciones de valores a sus variables en las cuales el valor asignado a sea igual a la longitud del valor asignado a .
(5) En los ejemplos anteriores las expresiones producen valores numericos pero tambien trabajaremos con expresiones que producen valores alfabeticos. Por ejemplo la expresion tiene una variable numerica, , una variable alfabetica, , y una vez valuadas estas variables produce un valor alfabetico, a saber el resultado de elevar el valor asignado a la variable , a el valor asignado a .
(6) Tambien consideraremos expresiones en las cuales no ocurren variables, es decir ellas representan un valor concreto. Por ejemplo la expresion siempre produce el valor . O la expresion siempre produce el valor 28. Tambien la expresion no tiene variables y ademas es siempre indefinida. Es decir no representa un valor u objeto.
(7) Una expresion para poder ser utilizada en la notacion lambda relativa a un alfabeto debera cumplir alguna de las dos siguientes propiedades
los valores que asuma cuando hayan sido asignados valores de a sus variables numericas y valores de a sus variables alfabeticas deberan ser siempre elementos de
los valores que asuma cuando hayan sido asignados valores de a sus variables numericas y valores de a sus variables alfabeticas deberan ser siempre elementos de .
(8) Por ejemplo la expresion no cumple la propiedad dada en (7) ya que para ciertos valores de asignados a la variable , la expresion da valores numericos que se salen de por lo cual no cumple ni (a) ni (b).
(9) Otro ejemplo, si el alfabeto fijado es , entonces la expresion no cumple la propiedad dada en (7) ya que por ejemplo cuando le asignamos a el valor 2 y a el valor 6, la expresion nos da la palabra la cual no pertenece a por lo cual no cumple ni (a) ni (b).
(10) No necesariamente las expresiones que usaremos en la notacion lambda deben ser hechas como combinacion de operaciones matematicas conocidas. Muchas veces usaremos expresiones que involucran incluso lenguaje coloquial castellano. Por ejemplo la expresion Es claro que esta expresion para cada valor de asignado a la variable produce o representa un valor concreto de . Otro ejemplo: notese que esta expresion, una ves fijado un alfabeto , estara definida o producira un valor solo cuando le asignamos a una palabra de de longitud mayor o igual a .
(11) Expresiones Booleanas. A las expresiones Booleanas tales como
las pensaremos que asumen valores del conjunto . Por ejemplo la expresion anterior asume o produce el valor cuando le asignamos a el valor 11, a el valor 10 y a la palabra . Las expresiones Booleanas pensadas de esta forma podran ser utilizadas en la notacion lambda si es que tambien cumplen con las anteriores condiciones. Otro ejemplo es una expresion Booleana que no tiene variables y siempre produce el valor 0.
Dado un alfabeto a las expresiones que cumplan las caracteristicas dadas anteriormente las llamaremos lambdificables con respecto a . Notese que este concepto es intuitivo y no un concepto matematicamente definido en forma precisa. Mas aun el concepto de expresion tampoco ha sido definido matematicamente (aunque obviamente si sabemos que una expresion es una palabra de cierto alfabeto). Esto no nos traera problemas para el uso notacional que las utilizaremos. Recien en las secciones de logica veremos la matematizacion de ciertas expresiones (no las lambdificables) y nos servira de ejemplo para imaginar como podriamos matematizar el concepto de expresion.
Algunos ejemplos:
(E1) no es lambdificable con respecto a cualesquiera sea
(E2) es lambdificable con respecto a y no es lambdificable con respecto a
(E3) es lambdificable con respecto a cualesquiera sea
(E4) la expresion es lambdificable con respecto a cualesquiera sea
(E5) la expresion es lambdificable con respecto a cualesquiera sea
(E6) la expresion es lambdificable con respecto a cualesquiera sea . Notese que esta expresion no esta definida o no asume valor para aquellas asignaciones de valores a en las cuales no sea un elemento de ya que en estos casos no pertenece al dominio de . Mas concretamente dicha expresion esta definida o produce un valor cuando le asignamos a un valor multiplo de . Notese que sin enbargo, la expresion no es lambdificable con respecto a cualesquiera sea (por que?).
Supongamos ya hemos fijado un alfabeto finito y supongamos es una expresion la cual es lambdificable con respecto a . Sea (con ) una lista de variables todas distintas tal que las variables numericas que ocurren en estan todas contenidas en la lista y las variables alfabeticas que ocurren en estan en la lista (puede suceder que haya variables de la lista las cuales no ocurran en ). Entonces denotara la funcion definida por:
(L1) El dominio de es el conjunto de las -uplas tales que esta definida cuando le asignamos a cada el valor y a cada el valor .
(L2) valor que asume o representa cuando le asignamos a cada el valor y a cada el valor .
Notese que por tener la propiedad (7) de mas arriba, la funcion es -mixta de tipo para algun . Tambien notese que cuando la expresion debera no tener variables y pasara a ser . Ademas sera la funcion vacia cuando no produsca o represente un valor y en caso contarrio tendra dominio igual a . Algunos ejemplos:
(a) Supongamos fijamos el alfabeto ¡. Entonces es la funcion Aqui el lector puede notar la dependencia de la notacion lambda respecto del alfabeto fijado. Si en lugar de fijar ¡ hubieramos fijado , entonces denotaria otra funcion, a saber
(b) Supongamos fijamos el alfabeto ¡. Entonces es la funcion
(c) Supongamos fijamos el alfabeto . Entonces es la funcion
Tambien tenemos que es la funcion Notese que estas funciones son distintas. Por ejemplo y
(d) Independientemente de quien sea el alfabeto previamente fijado, tenemos que es la funcion Tambien es la funcion
(e) Supongamos fijamos el alfabeto ¡. Entonces por la clausula (L1) tenemos que el dominio de la funcion es Es decir que es la funcion
(f) Atentos a (11) de mas arriba, la funcion es el predicado y es el predicado Tambien es el predicado
(g) Notar que para se tiene que
(h) Como dijimos, la notacion lambda depende del alfabeto previamnete fijado, aunque para el caso en que la lista de variables que sigue a la letra no tenga variables alfabeticas, la funcion representada no depende del alfabeto.
(i) La funcion es la siguiente funcion:
(j) La funcion es la funcion
(k) La funcion es la funcion vacia, es decir
(l) La funcion es la funcion
Algunos ejemplos sutiles
(a) La expresion no es lambdificable respecto de cualquier alfabeto . Esto es porque si bien cualesquiera sea el valor asignado a las variables, ella asume el valor (ya que no tiene variables), no cumple (6) de mas arriba ya que no es un elemento de ni tampoco una palabra (es una funcion!)
(b) La expresion es lambdificable con respecto a cualesquiera sea . Por ejemplo es la funcion , ya que la expresion cualesquiera sean los valores de y no esta definida.
(c) La expresion es lambdificable con respecto a cualesquiera sea ya que no esta definida nunca y obtenemos entonces que es la funcion , cualesquiera sean las variables . En particular .