Bitácora · Lógica · Concepto

Inducción en la construcción

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 k, 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.

01 · Los niveles

La guía define, para cada k≥0, el conjunto de palabras Tkτ:

T0τ=Var∪𝒞
Tk+1τ=Tkτ∪{f(t1,…,tn):f∈ℱn,n≥1yt1,…,tn∈Tkτ}

donde f(t1,…,tn) es la palabra que resulta de concatenar f, «(», t1, «,», …, «,», tn y «)». Los términos de tipo τ son los elementos de la unión, Tτ=⋃k≥0Tkτ. Las fórmulas se arman igual: F0τ son las fórmulas atómicas, y Fk+1τ agrega a Fkτ las negaciones, las combinaciones con un nexo y las cuantificaciones de fórmulas de Fkτ. 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: Tkτ⊆Tk+1τ, porque Tk+1τ empieza con «Tkτ∪». Un término de T2τ está también en T3τ, en T4τ 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. s(s(X1,X2),X3) aparece por primera vez en T2τ: sus piezas son s(X1,X2), de T1τ, y X3, de T0τ.

La herramienta para probar algo de todos los niveles es la Regla de Inducción desde 0: si para cada k∈ω hay un enunciado Enuk, y se prueba que Enu0 es verdadero y que, para cada k, si Enuk es verdadero entonces Enuk+1 lo es, entonces Enuk es verdadero para todo k. Con los dos hechos de arriba, para probar que todo término cumple una propiedad alcanza con tomar como Enuk «todo t∈Tkτ la cumple».

02 · El molde, con el Ejercicio 3

Toda prueba de este tipo tiene cuatro jugadas, siempre en el mismo orden:

  1. EnunciarEnuk: para todo t∈Tkτ, t cumple la propiedad. Si la propiedad tiene otros parámetros —una posición, otro término—, van cuantificados adentro (sección 05).
  2. BaseEnu0: los elementos de T0τ=Var∪𝒞. Una variable es X seguida de numerales; un nombre de constante tiene sólo símbolos de su alfabeto, que no tiene paréntesis, comas ni X. Casi siempre es inmediato, y muchas veces vacuo.
  3. PasoSe supone Enuk y se toma t∈Tk+1τ. Por la definición hay dos casos: t∈Tkτ, y vale por Enuk; o t=f(t1,…,tn) con t1,…,tn∈Tkτ, y se aplica Enuk a cada pieza y se mira cómo están pegadas.
  4. ConcluirVale Enuk para todo k; como todo t∈Tτ está en algún Tkτ, vale para todo término.

El primer caso del paso es el que se olvida, y no cuesta nada: Tk+1τ contiene a Tkτ, y la hipótesis ya habla de esos términos. El Ejercicio 3 es el molde sin nada más:

Ejercicio 3 Si t∈Tτ, entonces |t|(=|t|).

Prueba. Para cada k∈ω sea Enuk: para todo t∈Tkτ, |t|(=|t|).

Enu0. Si t∈Var∪𝒞, t no tiene paréntesis: |t|(=0=|t|).

Enuk⇒Enuk+1. Supongamos Enuk y sea t∈Tk+1τ. Si t∈Tkτ, vale por Enuk. Si no, t=f(t1,…,tn) con f∈ℱn,n≥1yt1,…,tn∈Tkτ. El nombre f y las comas no tienen paréntesis, así que los de t son los de las piezas más el «(» que sigue a f y el «)» del final:

|t|(=1+∑j=1n|tj|(=Enuk1+∑j=1n|tj|)=|t|)

Luego vale Enuk para todo k, y como todo término está en algún Tkτ, vale para todo término. ∎

En s(s(X1,X2),X3), de nivel 2, hay dos de cada uno: el «(» de la posición 2 es el que agrega el paso de T2τ, y el de la posición 4 es el que trae la pieza s(X1,X2). Es el invariante con el que el Ejercicio 8(a) y el 8(e) descartan palabras: glp((X13) 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.

03 · El menú: Lema 1

La definición de Tk+1τ dice «lo de antes, más los f(t1,…,tn) nuevos». «Lo de antes» puede ser cualquier cosa de Tkτ, 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 t∈Tk+1τ, con k≥0. Entonces se da alguna de las siguientes:

  1. t∈Var∪𝒞
  2. t=f(t1,…,tn), con f∈ℱn,n≥1yt1,…,tn∈Tkτ.

La guía lo prueba con el molde. Enuk es el enunciado del lema para ese k: si t∈Tk+1τ, entonces se da (a) o (b) con piezas en Tkτ.

Enu0 es directo, porque por definición T0τ=Var∪𝒞 y T1τ es T0τ más los f(t1,…,tn) con piezas en T0τ.

Para el paso, se supone Enuk y se toma t∈T(k+1)+1τ. Por definición hay dos casos. Si t∈Tk+1τ, por Enuk se da (a), o (b) con piezas en Tkτ; y como Tkτ⊆Tk+1τ, las piezas están en Tk+1τ, que es la conclusión de Enuk+1. Si t=f(t1,…,tn) con piezas en Tk+1τ, es directamente la conclusión de Enuk+1. ∎

El primer caso es donde trabaja el crecimiento de los niveles: la hipótesis da piezas en Tkτ, y el enunciado siguiente las pide en Tk+1τ. Sin Tkτ⊆Tk+1τ 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 f(t1,…,tn) 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: s(s(X1,X2),X3) se puede escribir como s(α,β) 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.

04 · Cuándo alcanza el menú

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 f(t1,…,tn), y se mira cada caso.

Ejercicio 4 Probar que si t∈Tτ−(Var∪𝒞) entonces |t|≥4.

t está en algún Tkτ, y k≥1 porque T0τ=Var∪𝒞. El menú, aplicado a t∈T(k−1)+1τ, da t=f(t1,…,tn), porque (a) está excluido. Entonces

|t|=|f|+|t1|+⋯+|tn|+(n−1)+2≥1+1+0+2

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 0, 1 y una función ↑ de aridad 1, ↑(0) tiene longitud 4.

Ejercicio 5 Si t∈Tτ es tal que en t ocurre el símbolo ), entonces t=f(t1,…,tn) con f∈ℱn,n≥1yt1,…,tn∈Tτ.

Tampoco hace falta inducción. Si t∈T0τ, no tiene paréntesis, contra la hipótesis. Si t∈Tkτ con k≥1, el menú da (a), imposible por lo mismo, o f(t1,…,tn) con piezas en Tk−1τ⊆Tτ.

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 X y termina en un numeral negrita; una constante empieza y termina con símbolos de su nombre; f(t1,…,tn) empieza con el primer símbolo de f 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.

05 · El índice va adentro: Ejercicio 6

Ejercicio 6 Si t∈Tτ e i∈{1,…,|t|−1} es tal que [t]i=) entonces [t]i+1=, o [t]i+1=).

La propiedad tiene un parámetro más que el término: la posición i. El enunciado inductivo tiene que llevarlo adentro:

Enuk:para todot∈Tkτytodoi<|t|,si[t]i=)entonces[t]i+1∈{,,)}

La razón se ve en un término. En s(s(s(X1,X2),X3),X1), 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 t1=s(s(X1,X2),X3), que empieza en la posición 3 y tiene longitud 14. El «)» de la posición 12 de t es el símbolo 10 de t1: para saber qué lo sigue hay que aplicarle la hipótesis a t1 en la posición 10. Si i estuviera fijo afuera —un enunciado distinto para cada i, con la inducción en k hecha para ese i—, la hipótesis de i = 12 hablaría de la posición 12 de t1, que es una X: 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 i adentro. Sea t=f(t1,…,tn) con piezas en Tkτ, e i<|t| con [t]i=). Ese «)» no es de f ni una coma, y no es el del final, que está en la posición |t|. Entonces está en alguna pieza tj, en una posición p de ella:

En el segundo caso la hipótesis no se usa: decide cómo está armado f(t1,…,tn). Lo mismo vale para cualquier otro parámetro: si la propiedad habla de una ocurrencia de otra palabra, o de otro término s, se cuantifica adentro de Enuk, para que la hipótesis valga para cualquier valor y no sólo para el que se tiene afuera.

06 · Las fronteras: Ejercicio 7

Ejercicio 7 Probar que en un término nunca puede ocurrir la palabra (,

Enuk: para todo t∈Tkτ, la palabra «(,» no ocurre en t. En T0τ no hay «(». Para el paso, sea t=f(t1,…,tn) con piezas en Tkτ y supongamos que «(,» ocurre en t a partir de i. Como f no tiene «(», el de la posición i es el que sigue a f 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 t1, 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 T1τ: en reticulados terna con las variables X1 y X2, los ocho términos nuevos de T1τ la cumplen. Se cae en T2τ: s(s(X1,X1),X1) 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 t1, y ése puede ser el de un nombre de función. De los 192 términos nuevos de T2τ, 160 no la cumplen.

Simulación Dónde se cae una propiedad — elegí una propiedad y un tipo, apostá si vale para todo término, y recorré los términos nivel por nivel.
Tipo

Tu apuesta
    niveles probados ninguno términos revisados 0 veredicto sin probar

    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 T0τ, 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 T0τ, T1τ y T2τ y se cae en T3τ, con s(X1,s(X1,s(X1,X1))). 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 T3τ, y en el tipo del Ejercicio 8 se cae en T1τ, con glp(1). El paso lo explica: cada f(t1,…,tn) agrega un «(» y n−1 comas, que son iguales sólo si n=2. En reticulados terna todas las funciones son binarias; glp tiene aridad 1.

    07 · El mismo molde sobre fórmulas

    Las fórmulas se arman por niveles igual que los términos:

    F0τ={fórmulas atómicas de tipoτ}
    Fk+1τ=Fkτ∪{¬φ:φ∈Fkτ}∪{(φηψ):φ,ψ∈Fkτ}∪{Qvφ:φ∈Fkτ,v∈Var}

    con η cualquiera de los cuatro nexos y Q cualquiera de los dos cuantificadores; la guía escribe los ocho conjuntos por separado. Las atómicas son (t≡s) y r(t1,…,tn) 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 k≥0. Si φ∈Fk+1τ, entonces se da alguna de las siguientes:

    1. φ=(t≡s), con t,s∈Tτ
    2. φ=r(t1,…,tn), con r∈ℛn, n≥1, t1,…,tn∈Tτ
    3. φ=(φ1ηφ2), con η∈{∧,∨,→,↔}, φ1,φ2∈Fkτ
    4. φ=¬φ1, con φ1∈Fkτ
    5. φ=Qvφ1, con Q∈{∀,∃}, v∈Var y φ1∈Fkτ

    En (a) y (b) los términos están en Tτ, no en un nivel: los niveles de las fórmulas no cuentan la profundidad de los términos, y Her(P(P(uno)),MAS(P(X4),doli,X19,X5),X19), uno de los ejemplos de la guía, es de F0τ aunque sus dos primeros argumentos sean de T2τ.

    El molde sobre Fkτ: la base son las atómicas, y en el paso φ∈Fk+1τ está en Fkτ o es (φ1ηφ2), ¬φ1 o Qvφ1 con subfórmulas en Fkτ. Tres casos nuevos, y en los tres la subfórmula queda pegada a algo distinto.

    Ejercicio 14(a) Sea φ∈Fτ. [φ]|φ|=)

    Enuk: toda φ∈Fkτ termina en «)». En la base, (t≡s) termina en «)», y r(t1,…,tn) también, porque n≥1 y entonces siempre lleva paréntesis. En el paso, (φ1ηφ2) termina en su «)», y ¬φ1 y Qvφ1 terminan con el último símbolo de φ1, que es «)» por Enuk. ∎

    Comparado con los términos, se invierte algo. El último símbolo de un término sale del menú: f(t1,…,tn) termina en su propio «)». El de una fórmula no: ¬φ1 y Qvφ1 no agregan nada al final, así que la forma de afuera no lo decide y hace falta la hipótesis. En ¬∃X9∀X7(Her(X9,doli,X7)→(P(doli)≡X7)), 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 r, «(», ¬, ∀ o ∃. Es el 14(b), sin inducción.

    08 · Cuando las piezas nuevas caen en niveles distintos

    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 φ′∈Fτ», que es el 14(c); el 14(d) y el 14(e), con reemplazos de variables y de palabras. El enunciado inductivo es Enuk: si φ∈Fkτ, entonces φ′∈Fτ. La conclusión pide Fτ y no Fkτ, que es más débil y alcanza.

    En el paso, con φ=(φ1ηφ2), la hipótesis da φ1′∈Fτ y φ2′∈Fτ, o sea φ1′∈Fm1τ y φ2′∈Fm2τ para algunos niveles que no tienen por qué coincidir. Para armar (φ1′ηφ2′) la definición pide las dos en el mismo Fkτ. Lo arregla el crecimiento: con M=max(m1,m2), las dos están en FMτ, y entonces (φ1′ηφ2′)∈FM+1τ⊆Fτ.

    Con términos es igual y con n piezas: si cada tj′ está en Tmjτ, todas están en TMτ con M=max(m1,…,mn), y f(t1′,…,tn′)∈TM+1τ. Las resoluciones lo dicen en una palabra —«está en Fτ 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 φ=∀x1∃x2ψ la hipótesis hace falta para ψ, que está dos capas adentro, en Fk−1τ, y se le aplica porque Fk−1τ⊆Fkτ. 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.

    Para tener a mano

    1. T0τ=Var∪𝒞 y Tk+1τ agrega los f(t1,…,tn) con piezas en Tkτ. Los niveles crecen, y todo término está en alguno. Las fórmulas igual, desde las atómicas.
    2. El molde: enunciar Enuk para todo t∈Tkτ; base en Var∪𝒞 (o las atómicas); paso con dos casos, t∈Tkτ o f(t1,…,tn) con piezas en Tkτ (con fórmulas, cuatro); concluir porque todo término está en algún nivel.
    3. Lema 1: un t∈Tk+1τ es variable, constante o f(t1,…,tn) con piezas en Tkτ. Lema 5: las cinco formas, con las subfórmulas en Fkτ y los términos de las atómicas en Tτ. Los dos se prueban con el molde y usan que los niveles crecen.
    4. Si la propiedad mira afuera —primer símbolo, último símbolo de un término, si hay paréntesis—, alcanza el menú: Ejercicios 4, 5 y 14(b). Si mira adentro de las piezas, inducción: 3, 6, 7, 14(a).
    5. Todo parámetro de la propiedad —una posición, otro término, una ocurrencia— va cuantificado adentro de Enuk: la posición se corre al pasar a una pieza.
    6. En el paso, la hipótesis cubre el interior de las piezas; las fronteras las deciden el primer y el último símbolo. Una propiedad falsa se cae en una frontera, en un nivel concreto.
    7. Si la conclusión es «está en Fτ», las piezas nuevas caen en niveles distintos: se toma el máximo.
    8. Un resultado de la guía que se use en una resolución se enuncia y se prueba aparte.
    ← Anterior Siguiente → Inicio
    Relacionados Variables y términos de tipo τ Probar que una palabra no es término ni fórmula Fórmulas de tipo τ y su lectura única Para probar que no es término, contá o leé de afuera Contar paréntesis no alcanza