Bitácora · Lógica · Lista del parcial 3

El cero absorbe todo el término

Ejercicio 25 de la lista del parcial 3 · Ejercicio 32 de la Guía 11 · «v₁ ocurre en t» va adentro del Enu_k, y en el paso la hipótesis inductiva trabaja sobre un solo argumento

El enunciado, textual: «Sea τ=({cero},{fu2},∅,a). Sea 𝐀 una estructura de tipo τ tal que fu𝐀(x,cero𝐀)=fu𝐀(cero𝐀,x)=cero𝐀 para cada x∈A. Sea t=dt(v1,…,vn)∈Tτ, con n≥1 y supongamos que v1 ocurre en t. Pruebe que cualesquiera sean a2,…,an∈A, se tiene que t𝐀[cero𝐀,a2,…,an]=cero𝐀.» Es el Ejercicio 32 de la Guía 11.

Está enunciado con =d: se resuelve dentro de la notación declaratoria, con los lemas y convenciones de la sección «Manejo técnico de la notación declaratoria» de la Guía 11.

01 · Qué dice, antes de probar

cero𝐀 se come a cualquier cosa con la que fu𝐀 lo junte, de los dos lados, como el 0 en un producto. Los términos de τ se arman con variables, cero y fu. El enunciado dice que si v1 aparece en t y se le da a v1 el valor cero𝐀, el término entero vale cero𝐀, valgan lo que valgan las otras variables.

Un ejemplo. Sea 𝐀 con universo {0,1,2,3,4,5}, cero𝐀=0 y fu𝐀(x,y) el producto módulo 6, y declaremos t=fu(fu(v2,v3),fu(v1,v2)) como t=dt(v1,v2,v3). En [0,2,5], el argumento fu(v2,v3) vale 10mod6=4, que no es cero; el otro, fu(v1,v2), vale 0 porque tiene a v1; y t𝐀[0,2,5]=fu𝐀(4,0)=0. Un argumento sin v1 puede valer cualquier cosa, y no importa: el que tiene a v1 vale cero y se lo come.

Las dos hipótesis hacen falta. Sin «v1 ocurre en t», el término fu(v2,v3) vale 4 en [0,2,5]. Y con una sola mitad de la absorción tampoco alcanza: con universo {0,1,2}, cero𝐀=0 y fu𝐀(x,y)=x, vale fu𝐀(cero𝐀,x)=cero𝐀 pero no fu𝐀(x,cero𝐀)=cero𝐀, y t=fu(v2,v1) da t𝐀[0,2]=2.

Medido sobre los 404 términos de nivel a lo sumo 2 en v1,v2,v3 y cero, declarados con (v1,v2,v3): en el producto módulo 6, los 257 que tienen a v1 valen 0 en los 36 pares (a2,a3), y de los 147 que no la tienen, 38 dejan de valer 0 en algún par. Con la proyección, 104 de los 257 que tienen a v1 fallan en algún par.

02 · Las herramientas

Los lemas y las convenciones de la sección «Manejo técnico de la notación declaratoria» son lo que el encabezado de la lista manda usar en los ejercicios 21 a 30: se enuncian y se citan. Lo que haga falta de otra parte —acá, un hecho de ocurrencias— se enuncia y se prueba.

La Regla de Inducción desde 0. Si para cada k∈ω hay un enunciado Enuk, y se prueba que Enu0 es verdadero y que Enuk implica Enuk+1 para cada k, entonces Enuk es verdadero para todo k. Se usa con Tkτ: T0τ=Var∪𝒞, los Tkτ crecen con k, y todo término está en alguno.

Lema 1 de la Guía 11, p. 8 (lectura única de términos declarados). Si t∈Tτ y t=dt(v1,…,vn), se da una y sólo una de: (1) t=c para algún c∈𝒞; (2) t=vj para algún j∈{1,…,n}; (3) t=f(t1,…,tm) con f∈ℱm, m≥1 y t1,…,tm∈Tτ únicos. Más aún, si t∈Tk+1τ, en el caso (3) los t1,…,tm están en Tkτ.

Convención Notacional 5 de la Guía 11, p. 8. Si t=dt(v1,…,vn) y se da el caso (3) del Lema 1, se supone hecha también la declaración tj=dtj(v1,…,vn) para cada j: la misma lista de variables.

Lema 3 de la Guía 11, p. 9. Si t=dt(v1,…,vn), 𝐀 es un modelo de tipo τ y a1,…,an∈A: (1) si t=c, t𝐀[a1,…,an]=c𝐀; (2) si t=vj, t𝐀[a1,…,an]=aj; (3) si t=f(t1,…,tm), entonces

t𝐀[a1,…,an]=f𝐀(t1𝐀[a1,…,an],…,tm𝐀[a1,…,an])

Lo que hay que saber de ocurrencias, y no es de la Guía 11. Tres hechos: v1 no ocurre en cero; si v1 ocurre en vj, entonces j=1; y si v1 ocurre en fu(t1,t2), entonces ocurre en t1 o en t2. Salen de dos cosas de la Guía 9: los símbolos de una variable son la X y numerales itálicos y negritas, y ningún nombre del tipo usa esos símbolos; y en una variable la X es el primer símbolo y el único negrita es el último. Se enuncian y se prueban en el escarabajo.

03 · La mariposa: la hipótesis «v₁ ocurre» viaja adentro

Es una propiedad de todos los términos en los que ocurre v1, así que va por la Regla de Inducción desde 0 en el nivel. La pregunta es qué escribir en Enuk.

«v1 ocurre en t» va en la hipótesis de Enuk. Si se lo deja afuera —«fijemos t con v1 adentro; Enuk: si t∈Tkτ…»— no hay inducción: Enuk habla de un solo término y no se puede aplicar a sus argumentos. Y si se lo saca del todo —«todo t∈Tkτ cumple t𝐀[cero𝐀,a2,…,an]=cero𝐀»— el enunciado es falso: ya Enu0 falla con t=v2. La forma correcta es una implicación adentro de Enuk, cuantificada sobre todos los t de Tkτ: si v1 ocurre en t, entonces t vale cero.

El caso base deja un solo término. En T0τ están cero y las variables. v1 no ocurre en cero, ni en vj con j≠1: la hipótesis descarta todo salvo t=v1, y ahí el Lema 3 (2) da el valor de la primera variable, que es cero𝐀.

En el paso, la hipótesis inductiva se usa sobre un solo argumento. t=fu(t1,t2), y v1 ocurre en t1 o en t2, pero no necesariamente en los dos. Si ocurre en t1, Enuk da t1𝐀[cero𝐀,a2,…,an]=cero𝐀; de t2 no se sabe nada, y no hace falta, porque fu𝐀(cero𝐀,x)=cero𝐀 para cualquier x. Si no ocurre en t1, ocurre en t2, y trabaja la otra mitad: fu𝐀(x,cero𝐀)=cero𝐀. Cada mitad de la absorción sirve a un lado.

n y a2,…,an pasan iguales. La Convención 5 declara t1 y t2 con la misma lista (v1,…,vn), así que Enuk se aplica a los argumentos con los mismos elementos. En fórmulas no es así: un cuantificador alarga la lista, y entonces n tiene que quedar cuantificado adentro de Enuk, como en el Ejercicio 26.

Abajo, el término desarmado en sus subtérminos, con v1 valiendo cero. Los que tienen a v1 tienen que dar cero; los otros dan lo que den.

Simulación El término con v₁ en cero, subtérmino por subtérmino — declarado con (v₁, v₂, v₃) y evaluado en [cero, a₂, a₃]. En rojo, un subtérmino que tiene a v₁ y no vale cero. Cambiá la estructura para ver qué pasa con una sola mitad de la absorción.
subtérmino¿v₁ ocurre?valor
fu(cero, x) = cero para todo x — fu(x, cero) = cero para todo x — t[cero, a₂, a₃] —

Con el producto, cada fila con v1 vale 0, aunque al lado haya un argumento sin v1 que vale cualquier cosa. Con la proyección, el primer subtérmino que falla es uno de la forma fu(s,u) con v1 sólo en u: es exactamente el caso del paso que usa fu𝐀(x,cero𝐀)=cero𝐀, la mitad que la proyección no cumple.

04 · El escarabajo: la prueba escrita

Hecho (ocurrencias). Sean v1,…,vn variables distintas y t1,t2∈Tτ. (a) v1 no ocurre en cero. (b) Si v1 ocurre en vj, entonces j=1. (c) Si v1 ocurre en fu(t1,t2), entonces v1 ocurre en t1 o en t2.

Prueba. Los símbolos de v1 son una X y numerales itálicos o negritas, y por la definición de tipo ningún símbolo de un nombre de constante o de función es X ni un numeral itálico o negrita.

El ejercicio. Prueba. Usaremos la Regla de Inducción desde 0. Para cada k∈ω sea Enuk el enunciado:

Enuk: Sea 𝐀 una estructura de tipo τ tal que fu𝐀(x,cero𝐀)=fu𝐀(cero𝐀,x)=cero𝐀 para cada x∈A. Cualesquiera sean n≥1 y las variables distintas v1,…,vn: si t∈Tkτ, t=dt(v1,…,vn) con n≥1, y v1 ocurre en t, entonces para cualesquiera a2,…,an∈A se tiene que t𝐀[cero𝐀,a2,…,an]=cero𝐀.

Por la Regla de Inducción desde 0, Enuk vale para todo k∈ω. Sea ahora t=dt(v1,…,vn)∈Tτ con n≥1 y v1 ocurriendo en t, y sea k tal que t∈Tkτ: por Enuk, t𝐀[cero𝐀,a2,…,an]=cero𝐀 para cualesquiera a2,…,an∈A. ∎

05 · Lo que se lleva a otros ejercicios

Una hipótesis sobre t va adentro de Enuk, como antecedente. Es la misma jugada que «xl no ocurre en t» en el Ejercicio 5: lo que la consigna supone de t es parte de lo que se prueba para cada nivel. Lo que cambia acá es que la hipótesis no pasa a todos los argumentos: pasa a uno, y el otro se resuelve sin la hipótesis inductiva.

El hecho de ocurrencias es el de siempre. Una ocurrencia de algo que no tiene paréntesis ni comas en f(t1,…,tm) cae adentro de un argumento: es lo mismo que el Ejercicio 1 enuncia para términos cualesquiera, donde además puede ser el término entero. Para una variable alcanza con mirar los símbolos.

Lo que hace perder puntos. Escribir Enuk sin «v1 ocurre en t», que lo vuelve falso, o con esa hipótesis afuera del enunciado. En el caso base, olvidar descartar cero y las vj con j≠1, o descartarlas sin decir por qué. En el paso, aplicar Enuk a los dos argumentos, cuando uno puede no tener a v1. Usar «v1 ocurre en t1 o en t2» sin justificarlo. Usar sólo una mitad de la absorción: hacen falta las dos, una por lado. Y olvidar el caso t∈Tkτ.

Para tener a mano

  1. Enuk: si t∈Tkτ, t=dt(v1,…,vn), n≥1 y v1 ocurre en t, entonces t𝐀[cero𝐀,a2,…,an]=cero𝐀 para todos a2,…,an. La hipótesis va adentro.
  2. Caso base: cero no tiene a v1; vj la tiene sólo si j=1. Queda t=v1, y el Lema 3 (2).
  3. Paso: t=fu(t1,t2); v1 ocurre en t1 o en t2 (los símbolos de fu, los paréntesis y la coma no son de v1); Enuk en ese argumento, y la mitad de la absorción que corresponde se come al otro.
  4. Sin «v1 ocurre», fu(v2,v3) vale 4 en [0,2,5] con el producto módulo 6. Con una sola mitad, fu(v2,v1) vale 2 en [0,2] con fu𝐀(x,y)=x.
← Anterior Siguiente → Inicio
Relacionados La notación declaratoria Ocurrencias y reemplazos El reemplazo entra por un solo argumento Los términos de reticulado son monótonos