Guía 9 · el molde nivel por nivel, el menú de los Lemas 1 y 5, la posición cuantificada adentro, las fronteras y cuándo alcanza el menú sin inducción
Un término de tipo es una palabra, y las palabras que son términos se arman por niveles: en el nivel 0 están las variables y los nombres de constante, y cada nivel agrega lo que se arma aplicando un nombre de función a términos del nivel anterior. Por eso casi todo lo que la Guía 9 prueba de todos los términos, o de todas las fórmulas, tiene la misma forma: se enuncia la propiedad para un nivel , se prueba para el nivel 0 y se prueba que pasa de un nivel al siguiente. La forma no cambia de un ejercicio a otro. Lo que cambia es qué se mira en el lugar donde se pegan las piezas.
La guía define, para cada , el conjunto de palabras :
donde es la palabra que resulta de concatenar , «(», , «,», …, «,», y «)». Los términos de tipo son los elementos de la unión, . Las fórmulas se arman igual: son las fórmulas atómicas, y agrega a las negaciones, las combinaciones con un nexo y las cuantificaciones de fórmulas de . Están en la sección 07.
De la definición salen, sin ninguna prueba, los dos hechos de los que vive todo lo demás. Los niveles crecen: , porque empieza con «». Un término de está también en , en y en todos los que siguen; su nivel, cuando se habla del nivel de un término, es el primero en el que aparece. Y todo término está en algún nivel: es lo que dice la unión. aparece por primera vez en : sus piezas son , de , y , de .
La herramienta para probar algo de todos los niveles es la Regla de Inducción desde 0: si para cada hay un enunciado , y se prueba que es verdadero y que, para cada , si es verdadero entonces lo es, entonces es verdadero para todo . Con los dos hechos de arriba, para probar que todo término cumple una propiedad alcanza con tomar como «todo la cumple».
Toda prueba de este tipo tiene cuatro jugadas, siempre en el mismo orden:
El primer caso del paso es el que se olvida, y no cuesta nada: contiene a , y la hipótesis ya habla de esos términos. El Ejercicio 3 es el molde sin nada más:
Ejercicio 3 Si , entonces .
Prueba. Para cada sea : para todo , .
. Si , no tiene paréntesis: .
. Supongamos y sea . Si , vale por . Si no, con . El nombre y las comas no tienen paréntesis, así que los de son los de las piezas más el «(» que sigue a y el «)» del final:
Luego vale para todo , y como todo término está en algún , vale para todo término. ∎
En , de nivel 2, hay dos de cada uno: el «(» de la posición 2 es el que agrega el paso de , y el de la posición 4 es el que trae la pieza . Es el invariante con el que el Ejercicio 8(a) y el 8(e) descartan palabras: tiene 2 que abren y 1 que cierra, y no es término. Para usarlo en otra resolución hay que probarlo antes: la cátedra pide que todo resultado de una guía que se use en una resolución se enuncie y se pruebe.
La definición de dice «lo de antes, más los nuevos». «Lo de antes» puede ser cualquier cosa de , y eso no dice todavía de qué forma es un término. El lema que sigue aplana la recursión:
Lema 1 (Menú para términos). Supongamos , con . Entonces se da alguna de las siguientes:
La guía lo prueba con el molde. es el enunciado del lema para ese : si , entonces se da (a) o (b) con piezas en .
es directo, porque por definición y es más los con piezas en .
Para el paso, se supone y se toma . Por definición hay dos casos. Si , por se da (a), o (b) con piezas en ; y como , las piezas están en , que es la conclusión de . Si con piezas en , es directamente la conclusión de . ∎
El primer caso es donde trabaja el crecimiento de los niveles: la hipótesis da piezas en , y el enunciado siguiente las pide en . Sin no cierra.
Lo que el menú da es la lectura de afuera: si una palabra es término y no es variable ni constante, entonces es con piezas un nivel más abajo. Es lo que usan las pruebas por absurdo de que una palabra no es término, en Probar que una palabra no es término ni fórmula. Lo que no da es que la descomposición sea única: se puede escribir como cortando por cualquiera de sus dos comas, y el menú no dice cuál es la buena. Eso es la lectura única, en Mordisqueo y lectura única de términos.
No toda propiedad de todos los términos pide inducción. Si lo que se pregunta depende sólo de la forma de afuera —el primer símbolo, el último, si hay paréntesis—, el menú lo decide de un saque: un término es una variable, una constante o un , y se mira cada caso.
Ejercicio 4 Probar que si entonces .
está en algún , y porque . El menú, aplicado a , da , porque (a) está excluido. Entonces
usando que un nombre no es vacío y que ningún término lo es. La cota se alcanza: en el tipo con constantes , y una función de aridad 1, tiene longitud 4.
Ejercicio 5 Si es tal que en ocurre el símbolo , entonces con .
Tampoco hace falta inducción. Si , no tiene paréntesis, contra la hipótesis. Si con , el menú da (a), imposible por lo mismo, o con piezas en .
Con el mismo argumento salen el primer símbolo y el último de un término, que las pruebas de la sección 06 usan como lemas: una variable empieza con y termina en un numeral negrita; una constante empieza y termina con símbolos de su nombre; empieza con el primer símbolo de y termina en «)». Ningún término empieza con «,» ni termina en «(». El Ejercicio 14(b) es lo mismo para fórmulas, y también sale del menú, sin inducción.
El criterio, entonces: si la propiedad mira afuera, alcanza el menú; si mira adentro de las piezas —todos los paréntesis, todas las posiciones, toda ocurrencia de una palabra—, hace falta la hipótesis inductiva, porque el menú dice que las piezas son términos y nada más.
Ejercicio 6 Si e es tal que entonces o .
La propiedad tiene un parámetro más que el término: la posición . El enunciado inductivo tiene que llevarlo adentro:
La razón se ve en un término. En , de nivel 3, los «)» están en las posiciones 12, 16 y 20, y las comas en 9, 13 y 17. La primera pieza es , que empieza en la posición 3 y tiene longitud 14. El «)» de la posición 12 de es el símbolo 10 de : para saber qué lo sigue hay que aplicarle la hipótesis a en la posición 10. Si estuviera fijo afuera —un enunciado distinto para cada , con la inducción en hecha para ese —, la hipótesis de = 12 hablaría de la posición 12 de , que es una : no dice nada. La posición se corre al pasar de un término a su pieza, y la hipótesis tiene que valer en la posición corrida.
El paso, con adentro. Sea con piezas en , e con . Ese «)» no es de ni una coma, y no es el del final, que está en la posición . Entonces está en alguna pieza , en una posición de ella:
En el segundo caso la hipótesis no se usa: decide cómo está armado . Lo mismo vale para cualquier otro parámetro: si la propiedad habla de una ocurrencia de otra palabra, o de otro término , se cuantifica adentro de , para que la hipótesis valga para cualquier valor y no sólo para el que se tiene afuera.
Ejercicio 7 Probar que en un término nunca puede ocurrir la palabra
: para todo , la palabra «(,» no ocurre en . En no hay «(». Para el paso, sea con piezas en y supongamos que «(,» ocurre en a partir de . Como no tiene «(», el de la posición es el que sigue a o es un símbolo de alguna pieza:
La hipótesis inductiva cubre un solo caso de tres. Los otros dos son fronteras: los lugares donde las piezas se pegan con lo que agrega el paso —el «(» con el primer símbolo de , el último símbolo de una pieza con la coma o con el «)» final—. Ahí la hipótesis no dice nada, porque habla de lo que pasa adentro de cada pieza; lo que decide son el primer y el último símbolo de un término, que salen del menú. Una prueba por inducción sobre términos casi siempre es eso: la hipótesis para el interior de las piezas, y un lema del menú para cada frontera.
Y por eso una propiedad falsa se cae en una frontera. «Después de cada «(» empieza una variable o un nombre de constante» parece verdadera mirando : en reticulados terna con las variables y , los ocho términos nuevos de la cumplen. Se cae en : no la cumple, y sus dos piezas sí. El paso no tiene de dónde sacarla, porque el «(» de la posición 2 está pegado al primer símbolo de , y ése puede ser el de un nombre de función. De los 192 términos nuevos de , 160 no la cumplen.
Lo que el recorrido muestra y lo que no. Una propiedad falsa se cae siempre en un nivel concreto, y el término de nivel mínimo que no la cumple es exactamente el lugar donde la prueba se rompe: si es de , falla la base; si no, sus piezas son de niveles menores y todas la cumplen, así que falla el paso. Una propiedad verdadera pasa todos los términos que se generan, y eso no es una prueba: «nunca hay tres «)» seguidos» pasa enteros , y y se cae en , con . La prueba es el paso inductivo, que vale para todos los niveles a la vez.
Y una misma propiedad puede ser verdadera para un tipo y falsa para otro. «Tiene tantas comas como «(»» pasa los 81 610 términos de reticulados terna hasta , y en el tipo del Ejercicio 8 se cae en , con . El paso lo explica: cada agrega un «(» y comas, que son iguales sólo si . En reticulados terna todas las funciones son binarias; tiene aridad 1.
Las fórmulas se arman por niveles igual que los términos:
con cualquiera de los cuatro nexos y cualquiera de los dos cuantificadores; la guía escribe los ocho conjuntos por separado. Las atómicas son y con términos cualesquiera. El menú tiene la misma prueba que el Lema 1, con tres casos nuevos en lugar de uno:
Lema 5 (Menú para fórmulas). Sea . Si , entonces se da alguna de las siguientes:
En (a) y (b) los términos están en , no en un nivel: los niveles de las fórmulas no cuentan la profundidad de los términos, y , uno de los ejemplos de la guía, es de aunque sus dos primeros argumentos sean de .
El molde sobre : la base son las atómicas, y en el paso está en o es , o con subfórmulas en . Tres casos nuevos, y en los tres la subfórmula queda pegada a algo distinto.
Ejercicio 14(a) Sea .
: toda termina en «)». En la base, termina en «)», y también, porque y entonces siempre lleva paréntesis. En el paso, termina en su «)», y y terminan con el último símbolo de , que es «)» por . ∎
Comparado con los términos, se invierte algo. El último símbolo de un término sale del menú: termina en su propio «)». El de una fórmula no: y no agregan nada al final, así que la forma de afuera no lo decide y hace falta la hipótesis. En , de nivel 4, el «)» del final es el de la implicación de nivel 1, tres capas más adentro. En cambio el primer símbolo de una fórmula sí sale del menú, porque las cinco formas empiezan con algo propio: «(», el primer símbolo de , «(», , o . Es el 14(b), sin inducción.
Hay propiedades cuya conclusión es que una palabra es término o fórmula: «si es el resultado de remover en cada ocurrencia del símbolo , entonces », que es el 14(c); el 14(d) y el 14(e), con reemplazos de variables y de palabras. El enunciado inductivo es : si , entonces . La conclusión pide y no , que es más débil y alcanza.
En el paso, con , la hipótesis da y , o sea y para algunos niveles que no tienen por qué coincidir. Para armar la definición pide las dos en el mismo . Lo arregla el crecimiento: con , las dos están en , y entonces .
Con términos es igual y con piezas: si cada está en , todas están en con , y . Las resoluciones lo dicen en una palabra —«está en porque sus piezas lo están»—, y el máximo es lo que hay detrás del «porque». El 14(e) usa el crecimiento una vez más: en la hipótesis hace falta para , que está dos capas adentro, en , y se le aplica porque . La resolución entera de los cinco ítems está en Contar paréntesis no alcanza, y la de los Ejercicios 3 a 7 en Para probar que no es término, contá o leé de afuera.