Guía 9 · tramos, el único mordisqueo posible, la cancelación, el Teorema 3 y las funciones definidas por recursión sobre los términos
Un término de tipo τ es una palabra, y una palabra no trae marcados sus cortes. es la concatenación de , «(», , «,», …, y «)», y leída de vuelta nada dice cuál de sus comas separa a de . La Guía 9 prueba que, si las piezas tienen que ser términos, hay una sola manera de leerla. La pieza clave es un lema sobre cómo pueden encimarse dos términos —el mordisqueo—, y la consecuencia que la guía remarca es que sobre se pueden definir funciones por recursión, caso por caso, sin que el valor dependa de cómo se lea el término.
La guía los define así: es un tramo inicial de si hay una palabra tal que , y es propio si además . En forma similar, es un tramo final de si para alguna , y es propio con la misma condición. En , es tramo inicial propio, es tramo final propio, y la palabra entera es tramo inicial y final de sí misma, pero no propio.
Un hecho de palabras que se usa en todas las pruebas de abajo: dos tramos iniciales de una misma palabra están uno adentro del otro. Si , los dos son los primeros símbolos de , así que el más corto de y es tramo inicial del más largo. Lo mismo con dos tramos finales. Es una obviedad, y es la mitad de cada prueba de lectura única; la otra mitad es saber que dos términos en esa situación tienen que ser iguales.
La definición de tipo exige que ningún nombre de constante sea subpalabra propia de otro nombre de constante. Eso garantiza que un nombre de constante nunca es tramo inicial ni tramo final propio de otro. Lo que sí puede pasar es que un tramo final propio de un nombre de constante sea un tramo inicial propio de otro nombre de constante : que haya palabras , las tres distintas de , tales que y . En ese caso se dice que y se mordisquean.
El ejemplo de la guía es . Es un tipo, porque ninguno de los dos nombres es subpalabra del otro, y y se mordisquean: con , y , y . Los dos son términos de tipo τ —están en —, así que dos términos sí pueden encimarse: el final de uno es el principio del otro.
El lema siguiente dice que ése es el único caso de mordisqueo de términos.
Lema 2 (Mordisqueo de términos). Sean y supongamos que hay palabras , con , tales que y . Entonces o . En particular, si un término es tramo inicial o final de otro término, entonces dichos términos son iguales.
Leído despacio: si el final de es el principio de , o el encimado es total —, y entonces — o los dos son nombres de constante, como y . Con una variable o un término compuesto en juego, no hay mordisqueo que no sea la igualdad.
La guía lo acepta sin prueba, y su Ejercicio 9 es, textual, «No haga la prueba del lema anterior». Ésa es la consigna: el lema se usa como herramienta. La idea de por qué vale, cuando es compuesto, está en contar paréntesis: termina en «)», así que tiene alguno; un tramo final de que deja afuera algún paréntesis de tiene más «)» que «(», y ningún tramo inicial de un término tiene más «)» que «(». Entonces se lleva todos los paréntesis de , y de ahí, con un poco más de trabajo, sale el resto.
El «en particular» sí conviene saber sacarlo, porque es la forma en que el lema se usa. Si es tramo inicial de , hay con . Se aplica el lema al par con , —que no es vacía, porque ningún término lo es— y : y . Entonces , y ; o , y como es subpalabra de y ningún nombre de constante es subpalabra propia de otro, también . Si es tramo final de , , y el lema va al par con , , ; los dos casos terminan igual.
Dicho al revés: ningún término es tramo inicial propio ni tramo final propio de otro. Tampoco y , que se mordisquean sin que ninguno sea tramo del otro.
El primer uso es el Ejercicio 10:
Ejercicio 10. Sea τ un tipo. Si y , entonces y .
Prueba. y son tramos iniciales de la misma palabra , así que uno es tramo inicial del otro. En cualquiera de los dos casos, por el «en particular» del Lema 2, . Entonces , y como las dos palabras coinciden símbolo a símbolo, lo que sigue a los primeros símbolos también coincide: . ∎
Sin la hipótesis de que las cuatro piezas son términos no se cancela nada: la palabra es seguida de y también seguida de . Con términos, en cambio, el corte entre y está forzado.
Teorema 3 (Lectura única de términos). Dado se da una y sólo una de las siguientes:
Más aún, si , entonces cuando se da (2) los términos están en .
Prueba. Son excluyentes. Ni las variables ni los nombres de constante tienen paréntesis, y sí.
Se da alguna. para algún . Si , vale (1). Si , el Lema 1 (Menú para términos) da (1) o la existencia de lo que pide (2). Falta la unicidad en (2).
Unicidad. Supongamos , con , , y todos los , términos. Ningún nombre de función tiene paréntesis, así que y son, los dos, el tramo de anterior al primer «(»: , y entonces . Sacando «» de las dos escrituras queda
así que y son tramos iniciales de una misma palabra, uno es tramo inicial del otro, y por el Lema 2 . Se cancela con la coma que lo sigue, queda , y el mismo razonamiento da , y así hasta .
Más aún. Sea y supongamos que se da (2). El Menú dice que está en , cosa que (2) excluye, o que con . Por la unicidad, , y , así que . ∎
La prueba también dice cómo leer un término de afuera hacia adentro: el nombre de función es lo que está antes del primer «(», su aridad dice cuántas piezas buscar, y cada pieza es el único tramo inicial de lo que queda que es un término. Quien lee de esta forma no elige nada, y por eso decidir si una palabra es término es un procedimiento.
La unicidad del Teorema 3 es entre descomposiciones cuyas piezas son términos. Sin eso, falla. Es el Ejercicio 2(h):
Ejercicio 2(h). Sea τ un tipo. Si y son palabras tales que , entonces .
Es falso. En el tipo de los reticulados terna, con , tomá y . Entonces es la concatenación de , «(», , «,», y «)», o sea , que es un término de . Pero tiene un «(» y ningún «)», y empieza con sin ser una variable: ninguna de las dos piezas es término. La coma que separa a de no es la que separa los argumentos. La prueba del Teorema 3 no se aplica porque compara con usando el mordisqueo, y el mordisqueo sólo habla de términos.
Lo que sí vale es saber que una de las piezas es término. Es el Ejercicio 11:
Ejercicio 11. Sea τ un tipo. Si y , entonces .
Prueba. Sea . Tiene paréntesis, así que no está en , y por el Teorema 3 hay y con . Como en la prueba del teorema, y son el tramo de anterior al primer «(», así que y . Sacando «» queda . Lo que se sabe que es término es , así que se compara por atrás: sacando el «)» final, y son tramos finales de una misma palabra, uno es tramo final del otro, y por el Lema 2 . Cancelando y la coma que lo precede, . ∎
Por adelante no se podía: comparar con pide que sea término, que es justo lo que había que probar. Los Ejercicios 10 y 11, con el 12, están resueltos en Se compara por el lado de lo que ya se sabe, y qué pasa con cada coma que uno prueba como separadora está en Un corte equivocado rompe las dos piezas.
La guía remarca por qué el Teorema 3 importa: permite definir recursivamente funciones con dominio contenido en . Su ejemplo es una función dada por
Las cuatro ecuaciones definen una función porque cada término cae en exactamente una de ellas, con ingredientes únicos. Eso es el Teorema 3: un término es una variable, o un nombre de constante, o un con , y los determinados. Y el «más aún» asegura que la recursión termina: si , las llamadas a del lado derecho son sobre términos de , así que queda definida primero en , después en , y así. La guía lo dice al revés: si la unicidad de la lectura no fuera cierta, las ecuaciones no estarían definiendo una función, porque el valor de en un término dependería de cuál descomposición se tome.
Calculada, en el tipo de la guía, con , y , sobre el término , de . Cada línea lee de afuera el primer que queda y aplica la única ecuación que le corresponde:
Cinco llamadas a , una por cada término que la recursión visita. Ojo con la cuarta ecuación: del lado derecho no aparece . Da vuelta los dos argumentos y los deja como están, así que una binaria adentro de otra binaria no se toca: . Con el término abierto de la guía es un solo paso:
da vuelta las binarias a las que se llega sin atravesar otra binaria.
Y sin lectura única, ¿qué se rompería? Si se pudiera leer como con y , la cuarta ecuación daría , que no es y ni siquiera es un término. tendría dos valores en el mismo término. El Teorema 3 es lo que descarta esa segunda lectura: y no son términos.