En esta seccion daremos biyecciones naturales entre y , para cada alfabeto no vacio . Dichas biyecciones dependen de tener asociado a un orden total, el cual nos permite de manera “lexicografica” listar con el tipo de orden de a todos los elementos de . El tratamiento de este tema fue sacado del libro de Davis y Weyuker .
Primero haremos un caso particular pero que tiene un interes extra ya que esta emparentado con nuestra notacion decimal clasica de los numeros de .
Llamaremos numerales a los siguientes simbolos Usaremos para denotar el conjunto de numerales. Notese que . Es decir, no debemos confundir los simbolos que usualmente denotan los primeros diez numeros enteros con los numeros que ellos denotan. De hecho en china o japon los primeros diez numeros enteros se denotan con otros simbolos. Similarmente las palabras pertenecientes a denotan (notacion decimal) a los numeros de pero debemos tener en cuenta que . Cuando tratamos con palabras de , debemos ser cuidadosos ya que muchas veces en nuestro discurso matematico (es decir las guias, el apunte, lo que escriben los profesores en el pizarron, etc) representamos dos objetos diferentes de la misma forma. Por ejemplo puede estar denotando al numero entero cuarenta y cinco o tambien puede estar denotando la palabra de longitud cuyo primer simbolo es el numeral y cuyo segundo simbolo es el numeral , es decir ella misma. Por dar otro ejemplo, el simbolo en nuestro discurso algunas veces se denotara a si mismo y otras veces denotara al numero uno.
Es bien conocido que, en notacion decimal, las siguientes palabras del alfabeto , denotan, de menor a mayor, a los numeros de Por supuesto esta lista de palabras es infinita pero asumimos que el lector sabe como obtener la palabra siguiente a cada miembro de la lista (i.e. sumar 1 en notacion decimal), lo cual determina por completo la lista conociendo que la misma comienza con la palabra .
Cabe destacar que debido a la presencia del numeral en la lista, la -esima palabra representa o denota al numero o, dicho de otra forma, el numero es representado por la -esima palabra de la lista.
Un detalle de la representacion decimal de numeros de mediante palabras de es que la misma no nos da una biyeccion entre y ya que por ejemplo las palabras y representan el mismo numero. Dicho de otra forma en la lista anterior no figuran todas las palabras de , a saber estan omitidas todas las palabras que comienzan con el simbolo y tienen longitud mayor que uno. A continuacion daremos una representacion de los numeros de mediante palabras, la cual no tendra este problema. El alfabeto que usaremos tendra todos los numerales menos el y ademas tendra un simbolo para denotar al numero diez, a saber el simbolo . Es decir Representaremos a los numeros de con la siguiente lista infinita de palabras de
El lector ya se habra dado cuenta de que el siguiente a una palabra de la lista anterior se obtiene aplicando las siguientes clausulas
- Si , con entonces el siguiente de es
- Si no es de la forma , con , entonces el siguiente de se obtiene de la siguiente manera:
buscar de derecha a izquierda el primer simbolo no igual a
reemplazar dicho simbolo por su siguiente en la lista
reemplazar por el simbolo a todos los simbolos iguales a que ocurrian a la derecha del simbolo reemplazado
Para hacer las cosas mas formalmente, definamos de la siguiente manera
- , para cada
- , cada vez que y
- , cada vez que y
- , cada vez que y
- , cada vez que y
- , cada vez que y
- , cada vez que y
- , cada vez que y
- , cada vez que y
- , cada vez que y
Notese que la definicion de es correcta ya que una palabra de ya sea es de la forma , con , o es de la forma , con , y ; y estos casos posibles son mutuamente excluyentes.
Claramente se tiene entonces que la lista anterior puede ser escrita de la siguiente manera
Y como ya dijimos, pensamos que las palabras de la lista van representando en forma creciente los elementos de :
- El numero es representado en la lista anterior con la palabra
- El numero es representado en la lista anterior con la palabra
- El numero es representado en la lista anterior con la palabra
- El numero es representado en la lista anterior con la palabra
- El numero es representado en la lista anterior con la palabra
- El numero es representado en la lista anterior con la palabra
- El numero es representado en la lista anterior con la palabra
- El numero es representado en la lista anterior con la palabra
- El numero es representado en la lista anterior con la palabra
Como puede notarse en estos primeros veinte y pico numeros solo dos (el y el ) se representan en forma distinta a la reprentacion decimal clasica. Es natural que denote al numero y ademas notese que la palabra (que en la lista representa el ) puede leerse como "diecidiez" (es decir la palabra que sigue a "diecinueve") que justamente es . Por supuesto con esta manera de pensar la palabra deberiamos leerla como "ventidiez" y si nos fijamos en la lista ella representa al numero treinta lo cual nuevamente es muy natural. Otro ejemplo: a deberiamos leerla como "sesentidiez" y es natural ya que en la lista representa al setenta. Tambien, la palabra puede leerse noventidiez ya que representa en la lista al numero .
La lista anterior va representando los numeros de en forma muy natural pero aunque nuestra intuicion nos diga que no, en principio podria pasar que una misma palabra del alfabeto ocurra dos veces en la lista y esto nos diria que una misma palabra estaria representando a dos numeros distintos. Tambien, en principio podria suceder que haya una palabra del alfabeto la cual nunca figure en la lista. Mas abajo probaremos que estas dos posibilidades no suceden, es decir mostraremos que
(S) Toda palabra de aparece en la lista
(I) Ninguna palabra de aparece mas de una ves
Notese que la propiedad (S) nos dice que la funcion es suryectiva y la propiedad (I) nos garantiza que dicha funcion es inyectiva, por lo cual entre las dos nos garantizan que dicha representacion establece una biyeccion entre y .
Por supuesto, la pregunta que inmediatamente surge es como calcular la inversa de . Llamemos a la inversa de . Notese que dada una palabra , el numero es justamente el numero representado por la palabra , o dicho de otra forma es la posicion que ocupa en la lista, contando desde el (es decir es la -esima palabra de la lista). Por ejemplo: Aqui hay que tener cuidado como leemos las igualdades anteriores. Por ejemplo en la igualdad la primera ocurrencia del simbolo se refiere al numeral uno, es decir denota una palabra y la segunda ocurrencia se esta refiriendo al numero uno, es decir denota un numero.
Dejamos al lector el ejercicio de ganar intuicion con ejemplos hasta que se convensa de que tal como en el caso de la notacion decimal, el numero se expresa como una suma de potencias de , con los coeficientes dados en funcion de los simbolos de . Mas concretamente si con y , entonces No daremos aqui una prueba de este hecho ya que lo probaremos abajo para el caso general. Para ganar intuicion sobre el mismo el lector puede ver mas abajo la prueba de las propiedades (S) e (I), desde donde se ve con mas claridad como va aumentando la funcion a medida que recorremos la lista de izquierda a derecha. Algunos ejemplos
Ahora que sabemos que las palabras de representan los numeros como suma de potencias de diez, en forma analoga a la notacion decimal clasica, podemos refozar aun mas la analogia poniendo nombres adecuados que, tal como en el caso clasico, nos permitan leer las palabras de describiendo su suma de potencias asociada. Por ejemplo podriamos llamar "decenta" al numero , por analogia a "treinta", "cuarenta",...,"noventa". O sea una decenta es diez veces diez. De esta forma la palabra se leera "decenta y uno" y esto es natural ya que en la lista representa al . La palabra se leera "decenta y diez" y esto describe a la perfeccion el numero que representa, i.e. el . La palabra que sigue en la lista a es la cual representa al , es decir aqui como en los otros casos vistos en los cuales no hay ocurrencias del simbolo la palabra representa al mismo numero que representa en la notacion decimal clasica. Por dar otro ejemplo, la palabra se leera "cinco mil novecientos decenta y tres" y representara al numero .
Para seguir debemos ponerle nombre a "diez veces cien", es decir, "decientos" (por analogia con "novecientos = nueve veces cien") denotara al numero . De esta forma la palabra se leera "decientos cincuenta y uno" y esto es natural ya que pensando un rato se puede ver que ella representa al . Tambien, la palabra se leera "decientos decenta y diez" y representara al numero .
Dado que el siguiente a un elemento de la lista es de la misma longitud que o tiene longitud igual a , podemos representar la lista anterior de la siguiente manera: donde cada es, por definicion, la parte de la lista en la cual las palabras tienen longitud exactamente . Por ejemplo:
- es
- es
- es
Notese que hasta el momento nada nos asegura que no suceda que para algun se de que sea una lista infinita, lo cual ademas nos diria que los bloques son todos vacios. Es decir podria pasar que la lista se estanque en una longitud y nunca aparezca una palabra de longitud mayor que . Esto por supuesto obligaria a que se repitan muchas veces palabras de dicha longitud ya que hay una cantidad finita de las mismas ().
Por supuesto nuestra intuicion nos dice que en el bloque estan listadas sin repeticion todas las palabras de de longitud , pero debemos justificar esto con argumentos solidos. Algunas propiedades basicas que se pueden probar facilmente son:
(1) Si , entonces y
(2) ocurre en solo en la ultima posicion
estas propiedades son consecuencias inmediatas de como se calcula el elemento siguiente a uno dado en la lista y son dejadas como ejercicio. Otra propiedad importante es la siguiente
(3) Si , entonces
Para probar (3) es muy util el siguiente resultado obvio
2.1. Sea y supongamos no es de la forma . Entonces .
Dejamos como ejercicio al lector hacer la prueba de (3) usando el lema anterior y las propiedades (1) y (2). Ahora es facil usando (3) probar inductivamente que
(4) es una lista sin repeticiones de todas las palabras de longitud
Pero claramente de (4) se desprenden en forma obvia las propiedades (S) y (I).
Sea un alfabeto no vacio y supongamos es un orden total sobre . Supongamos que , con . Inspirados en la lista dada anteriormente de las palabras de , podemos dar la siguiente lista de palabras de
El objetivo es probar que la lista anterior enumera sin repeticiones todas las palabras de , i.e. produce naturalmente una biyeccion entre y . Pero antes debemos definir mas formalmente la lista. Para esto definamos de la siguiente manera
- , para cada
- , cada vez que , y
Notese que la definicion de es correcta ya que una palabra de ya sea es de la forma , con , o es de la forma , con , y ; y estos dos casos posibles son mutuamente excluyentes.
Claramente se tiene entonces que la lista anterior puede ser escrita de la siguiente manera Con esta definicion formal de la lista, podemos probar de la misma forma en la que lo hicimos arriba para el caso que:
(S) Toda palabra de aparece en la lista
(I) Ninguna palabra de aparece mas de una ves en la lista
(dejamos al lector los detalles por tratarse de un argumento completamente similar).
Definamos recursivamente de la siguiente manera:
-
-
Notese que dado , tenemos que: Es claro que entonces nos da el -esimo elemento de la lista, o lo que es lo mismo, el -esimo elemento de la lista contando desde el . O sea que las propiedades (S) y (I) nos garantizan que la funcion es biyectiva. A continuacion describiremos su inversa. Primero un lema obvio pero muy importante.
2.2. Sea un alfabeto no vacio y supongamos es un orden total sobre . Supongamos que , con . Entonces para cada hay unicos y tales que
Notar que el del lema anterior es y los numeros van dando el numero de orden de cada simbolo de yendo de izquierda a derecha. Por ejemplo si y es el orden total sobre dado por (es decir que aqui , y ) entonces para la palabra tenemos y , , , y . Sin envargo si hubieramos tomado el orden dado por , para la misma palabra hubieramos tenido , , , y .
Ahora podemos definir la funcion de la siguiente manera
2.3. La funcion es la inversa de
Proof. Primero probaremos por induccion en que
(a) Para cada , se tiene que
El caso es trivial. Supongamos que , veremos entonces que . Sean y tales que . Ya que tenemos que . Hay varios casos.
Caso . Entonces por lo cual Caso . Entonces por lo cual Caso , , para algun . Entonces por lo cual De esta forma hemos probado (a).
Por definicion la inversa de es la funcion con dominio que a una palabra le asocia el unico tal que . Es decir debemos probar que
(b) unico tal que , para cada
Sea entonces . Ya que es biyectiva (por las propiedades (S) e (I)) hay un tal que . Pero (a) nos dice que por lo cual .
Cabe destacar que dada una palabra , el numero nos dice en que posicion se hubica en la lista, es decir es la ()-esima palabra de la lista. O sea que:
De los desarrollos hechos se desprende el siguiente interesante resultado. Dejamos al lector la prueba como ejercicio.
2.4. Sea fijo. Entonces cada se escribe en forma unica de la siguiente manera: con y .
Como hemos visto las biyecciones dadas producen una "identificacion" entre numeros de y palabras del alfabeto . Es decir, en algun sentido identificamos palabras y numeros ya que se corresponden biunivocamente. Supongamos que es una palabra de y queremos "verla como un numero". Entonces en ves de ver sus simbolos vemos los ordenes de aparicion en de los mismos y miramos la suma de potencias asociada.
Supongamos ahora que es un numero de y ademas supongamos que somos super inteligentes y que cuando vemos a vemos la secuencia unica de numeros que nos permite expresarlo como suma de potencias segun el lema anterior. Entonces si queremos ver a como una palabra simplemente miramos la secuencia como palabra, reemplazando cada por el simbolo -esimo de .
Es un ejercicio (dejado al lector) probar que cualquiera sea , se tiene que Notese que esto nos permite calcular recursivamente el valor de ya que las ecuaciones anteriores nos muestran como obtener rapidamente en terminos de y , donde es un elemento cualquiera de . Por supuesto, en algun momento deberemos usar el dato inicial . En un lenguaje de programacion funcional, las tres ecuaciones anteriores son directamente un programa para computar o si se quiere una definicion de dicha funcion. Dejamos al lector que intente usar las ecuaciones anteriores para dar un programa imperativo que compute (esto esta hecho mas adelante en la primera lista de funciones -efectivamente computables).
Lo mismo sucede con la funcion la cual fue directamente definida en forma recursiva por las ecuaciones Dejamos al lector corroborar que la funcion verifica las siguientes ecuaciones, las cuales obviamente pueden ser usadas para calcular recursivamente sus valores
Podemos extender a usando el orden de aparicion en la lista, es decir
- sii
Es decir sii o ocurre antes que en la lista. Obviamente este orden es un es un orden total sobre . Llamaremos a este orden el orden total de inducido por . Tal como en el caso de la notacion decimal clasica (con ) el orden total de inducido por puede ser caracterizado “lexicograficamente” en forma similar al orden de los diccionarios. Ya que se vuelve mas facil de escribir daremos a continuacion la caracterizacion lexicografica del orden asociado al orden total de inducido por . Antes un lema tecnico.
2.5. Si y con , y , entonces
Proof. Lo probaremos por el absurdo. O sea supongamos hay tales que y ademas con . Podemos tambien suponer que tomamos un caso en el que es minimo. Supongamos . Veamos primero el caso . Entonces lo cual produce un absurdo porque nos diria que no es minimo. Veamos ahora el caso . Notese que ya que si asi fuera tendriamos: O sea que , con , y . Pero entonces lo cual nos dice que Ya que volvemos a encontrar un caso que nos diria que no es minimo. Ahora supongamos . Entonces y claramente entonces volvemos a obtener un caso que nos dice que no es minimo.
2.6 (Orden lexicografico de ). Sea un orden total sobre . Sean . Entonces o y hay un tal que
(1) Si , entonces si y solo si
(2) Si , entonces si y solo si existen y tales que
Proof. (1). Como ya lo vimos para el caso , ya que la funcion siempre agranda en 1 la longitud de la palabra o la deja igual, la lista de palabras es de la forma donde cada es, por definicion, la parte de la lista en la cual las palabras tienen longitud exactamente . Ademas las propiedades (S) e (I) nos garantizan que para cada : Note que si entonces ocurren en distintos bloques por lo cual tenemos que que si y solo si (por definicion) ocurre antes que en la lista si y solo si
(2). Supongamos que Es claro que la equivalencia se cumple cuando ya que en tal caso ambas condiciones no se cumplen. O sea que podemos suponer que y . Entonces y con , y . Supongamos que , es decir y . Ya que , tenemos que . Ademas ya que tenemos por definicion del orden total de inducido por que ocurre antes que en la lista, es decir El Lema 2.5 nos dice que no puede ser mayor que por lo cual tenemos que . Claramente entonces existen y tales que
Supongamos ahora que existen y tales que Note que . Ya que (puesto que ) tenemos que el Lema 2.5 (aplicado a ) nos dice que Esto nos dice que no esta a la derecha de en la lista por lo cual esta a la izquierda de en la lista o lo que es lo mismo .
Cabe destacar que si bien la condicion del item (2) del lema anterior es de tipo descriptiva, tiene un caracter algotitmico bien marcado ya que cuando tenemos dos palabras no iguales a , de la misma longitud, podemos ver el primer par de dijitos en los que difieren y la relacion de orden que tienen dichos simbolos es la que tienen dichas palabras.
Tambien es interesante tener caracterizado el orden sin dividir por casos:
2.7. Sea un orden total sobre . Sean . Entonces si y solo si o y existen y tales que
Proof. Es un corolario directo del lema anterior.
Una consecuencia inmediata del Lema 2.6 es la siguiente propiedad de la funcion :
- , cualesquiera sea
Dejamos esto como ejercicio. Tambien se puede caracterizar la relacion asociada al orden total de inducido por de manera recursiva:
2.8. Sea un orden total sobre . Sean . Entonces si y solo si se da alguna de las siguientes
-
- y
- , y
( es definido aqui.)
Proof. Es un corolario directo del Lema 2.6.
Deberia ser intuitivamente claro que el orden recien definido sobre posee las mismas propiedades matematicas que el orden usual de . Esto se entendera en forma mas profunda cuando veamos el concepto de isomorfismo de posets mas adelante. Veamos un ejemplo de una propiedad del orden usual de que tambien vale en con el orden inducido por un orden total sobre :
2.9. Si es no vacio, entonces existe tal que , para cada .
Proof. Es un corolario directo del Lema 2.6.