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

Lo que vale lo mismo se puede cambiar

Ejercicio 7 de la lista del parcial 3 · Guía 10, Ejercicio 6 · inducción en el nivel de t: la ocurrencia reemplazada es t entera o vive adentro de un argumento, y la hipótesis se usa una sola vez

La consigna, textual: «Sean t,s1,s2∈Tτ y sea t′ el resultado de reemplazar algunas (posiblemente 0) ocurrencias de s1 en t por s2. Acepte sin demostración que t′∈Tτ. Pruebe que si 𝐀=(A,i) es una estructura de tipo τ y a→∈A𝐍 es una asignación tal que s1𝐀[a→]=s2𝐀[a→], entonces t′𝐀[a→]=t𝐀[a→]». Es el Ejercicio 6 de la Guía 10 (p. 4) con el «acepte» agregado. Está entre los ejercicios 1 a 17, así que se resuelve sin notación declaratoria: con asignaciones infinitas a→∈A𝐍.

01 · Qué dice, con un ejemplo

El valor de un término se calcula de adentro hacia afuera, y cada pedazo aporta sólo su valor. Si dos términos valen lo mismo, al de afuera le da igual cuál de los dos tenga adentro. Es lo que se hace sin pensar al cambiar 2 + 2 por 4 en el medio de una cuenta. El ejercicio pide probarlo para cualquier término, cualquier tipo y cualquier elección de qué ocurrencias se cambian.

Con la estructura del ejemplo de la Guía 10 (p. 1): el tipo ({uno,doli},{MAS,P},{Her},a), el universo 𝐑, i(uno)=9, i(MAS)(x,y,z,w)=2x+4y y i(P)(x)=5x. Con la asignación a→=(1,2,3,…) el término s1=MAS(X1,X1,X1,X1) vale 2·1+4·1=6, y la variable s2=X6 vale a6=6. En

t=MAS(MAS(X1,X1,X1,X1),P(MAS(X1,X1,X1,X1)),X3,uno)

s1 ocurre a partir de 5 y a partir de 24, y t𝐀[a→]=2·6+4·56=62512. Cambiando sólo la segunda ocurrencia queda MAS(MAS(X1,X1,X1,X1),P(X6),X3,uno), que vale 2·6+4·56=62512; cambiando las dos, o ninguna, lo mismo. Con a→=(1,1,1,…) la hipótesis falla, porque s1 sigue valiendo 6 y s2 vale 1, y cambiar la segunda ocurrencia da 2·6+4·51=32.

Dos cosas del enunciado que conviene leer despacio. La hipótesis es sobre una sola asignación: dice que s1 y s2 valen lo mismo en a→, y nada de otras. Alcanza porque calcular t𝐀[a→] nunca sale de a→: las tres cláusulas del valor usan siempre la misma asignación. Y «algunas (posiblemente 0)» quiere decir cualquier elección de ocurrencias: todas, ninguna o un subconjunto. Esa libertad es la que hace andar la inducción.

02 · Las herramientas

El valor de un término (Guía 10, p. 1). Dados 𝐀=(A,i) de tipo τ, t∈Tτ y a→=(a1,a2,…)∈A𝐍: (1) si t=xi∈Var, t𝐀[a→]=ai; (2) si t=c∈𝒞, t𝐀[a→]=i(c); (3) si t=f(t1,…,tn), con f∈ℱn, n≥1 y t1,…,tn∈Tτ, entonces t𝐀[a→]=i(f)(t1𝐀[a→],…,tn𝐀[a→]). Que (3) no sea ambigua lo garantiza la lectura única de términos, que la lista deja usar sin enunciar.

Los niveles (Guía 9, p. 1): T0τ=Var∪𝒞 y

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

con Tτ la unión. La Regla de Inducción desde 0: si Enu0 es verdadero y Enuk implica Enuk+1 para cada k, entonces Enuk vale para todo k∈ω.

El tipo (Guía 8, p. 4). Los nombres de constante son palabras sobre un alfabeto Σ1, los de función sobre Σ2 y los de relación sobre Σ3; los tres alfabetos son disjuntos de a pares y ninguno contiene ∀, ∃, ¬, los nexos, los paréntesis, la coma, ≡, la X ni los numerales itálicos o negritas. Además ninguna palabra de 𝒞 es subpalabra propia de otra palabra de 𝒞, y lo mismo dentro de ℱ y dentro de ℛ.

Lema 2 (Mordisqueo de términos, Guía 9, p. 5). «Sean s,t∈Tτ y supongamos que hay palabras x,y,z, con y≠ε, tales que s=xy y t=yz. Entonces x=z=ε o s,t∈𝒞. En particular si un término es tramo inicial o final de otro término, entonces dichos términos son iguales.» La guía lo acepta sin prueba (Ejercicio 9) y así se usa acá.

El hecho de ocurrencias, que es lo que la prueba necesita saber de dónde está una ocurrencia. Son los incisos (a), (b) y (c) del Lema 4 de la Guía 9 (p. 7), que no están ni en Menú ni en lectura única, así que se enuncian y se prueban (la prueba está en el escarabajo). Sean s,t∈Tτ y una ocurrencia de s en t:

03 · La mariposa: dónde se usa la hipótesis

De atrás para adelante. La meta es t′𝐀[a→]=t𝐀[a→], y la única manera de calcular t′𝐀[a→] es la cláusula que corresponde a la forma de t′. Así que hace falta saber qué forma tiene t′, y eso depende de dónde estaban las ocurrencias reemplazadas. El hecho de ocurrencias responde: una ocurrencia de s1 en f(t1,…,tn) es el término entero o vive adentro de un argumento. Nunca toma un pedazo del nombre f, nunca cruza una coma.

Con eso hay dos situaciones, y son los dos subcasos del paso:

Qué va adentro del Enuk. Lo que cambia al bajar de t a tj: el término, y también cuáles ocurrencias se reemplazan, porque en tj se reemplazan sólo las que caen ahí, que pueden ser todas, algunas o ninguna. Por eso el Enuk dice «si t′ es el resultado de reemplazar algunas (posiblemente 0) ocurrencias», y no habla de un t′ fijo de antemano. El «posiblemente 0» es el que deja aplicar la hipótesis inductiva a los argumentos donde no se reemplazó nada, sin un caso aparte. Con un Enuk escrito para «una ocurrencia», los argumentos intactos quedarían sin cubrir.

La estructura y la asignación no cambian nunca: la cláusula (3) evalúa los argumentos en la misma a→. Acá se podrían fijar afuera de la inducción y la prueba andaría. Se escriben adentro igual, porque es el molde de los Ejercicios 5 y 6 y porque en el Ejercicio 13, que usa éste, la asignación sí cambia al pasar por un cuantificador, y ahí dejarla afuera rompe la prueba.

Simulación Reemplazar y evaluar — arranca sin reemplazar nada, en la asignación (1, 2, 3, …), donde s₁ y s₂ valen 6. Tocá las ocurrencias de s₁ para cambiarlas por X6, y después probá la asignación (1, 1, 1, …).
Las ocurrencias de s₁ = MAS(X1,X1,X1,X1) en t
s₁ᴬ[a→] — s₂ᴬ[a→] — tᴬ[a→] — t′ᴬ[a→] — reemplazadas —

Con la hipótesis en pie, cualquier combinación de ocurrencias deja el valor quieto, y la lista de argumentos muestra por qué: cada argumento cambia de palabra pero no de valor. Sin la hipótesis, el argumento que tiene la ocurrencia reemplazada cambia de valor y arrastra al término entero. El último término tiene la ocurrencia en el tercer argumento de MAS, que i(MAS) no mira: ahí el valor no cambia aunque la hipótesis falle. La hipótesis es suficiente para cualquier término, no necesaria en cada uno.

04 · El escarabajo: la prueba escrita

Primero, tres observaciones sobre símbolos.

Prueba del hecho de ocurrencias.

Prueba del ejercicio. Fijemos s1,s2∈Tτ. Usaremos la Regla de Inducción desde 0. Para cada k∈ω sea Enuk el enunciado:

Enuk: Si t∈Tkτ y t′ es el resultado de reemplazar algunas (posiblemente 0) ocurrencias de s1 en t por s2, entonces para cualquier estructura 𝐀=(A,i) de tipo τ y cualquier asignación a→∈A𝐍 tal que s1𝐀[a→]=s2𝐀[a→], se tiene que t′𝐀[a→]=t𝐀[a→].

Por la Regla de Inducción desde 0, Enuk vale para todo k∈ω. Dados t, t′, 𝐀 y a→ como en el ejercicio, t∈Tkτ para algún k, y Enuk da t′𝐀[a→]=t𝐀[a→]. ∎

05 · Lo que hace perder puntos y lo que se lleva

Lo que hace perder puntos. Escribir el Enuk con un t′ fijo, o para «una ocurrencia»: en el paso, lo que se reemplaza en tj es otra elección, y la hipótesis inductiva tiene que cubrirla. No nombrar la Regla de Inducción desde 0. Olvidar el subcaso s1=t, que es el único donde trabaja la hipótesis: sin él la prueba nunca usa que s1 y s2 valen lo mismo, y eso tiene que hacer sospechar. Decir «la ocurrencia está en algún argumento» sin enunciar ni probar el hecho de ocurrencias. Y calcular tj′𝐀[a→] sin decir que tj′ es término: lo da el «acepte» de la consigna, que vale para cualquier término, no sólo para t.

Lo que se lleva. El Ejercicio 13 lo usa adentro de las fórmulas atómicas, con t en el lugar de s1 y s en el de s2, y una asignación distinta en cada piso del cuantificador. El Ejercicio 5 y el Ejercicio 6 tienen el mismo esqueleto: inducción en el nivel, la ocurrencia entera o adentro de un argumento, la cláusula (3) para subir. El hecho (O3), con «es término» en lugar de «vale lo mismo», es el Ejercicio 1. Y el Ejercicio 9 es este mismo ejercicio un piso más arriba: fórmulas equivalentes en lugar de términos que valen lo mismo.

Para tener a mano

  1. Enuk: si t∈Tkτ y t′ es el resultado de reemplazar algunas (posiblemente 0) ocurrencias de s1 en t por s2, para toda 𝐀 y toda a→ con s1𝐀[a→]=s2𝐀[a→] vale t′𝐀[a→]=t𝐀[a→].
  2. Una ocurrencia de s1 en f(t1,…,tn) es el término entero (y entonces s1=t) o vive adentro de un único tj. Se prueba con el Lema 2 de mordisqueo y las condiciones de tipo.
  3. Si s1=t, la hipótesis cierra: t′=s2 y s2𝐀[a→]=s1𝐀[a→]. Si s1≠t, t′=f(t1′,…,tn′) y la cláusula (3) sube lo que da Enuk.
  4. La asignación no cambia en ninguna cláusula del valor de un término: por eso alcanza con la hipótesis en una sola a→.
← Anterior Siguiente → Inicio
Relacionados El valor de un término en una estructura Ocurrencias y reemplazos Mordisqueo y lectura única de términos El término que cambia vive en una atómica