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

El reemplazo entra por un solo argumento

Ejercicio 1 de la lista del parcial 3 · Guía 9 · una ocurrencia de un término en f(t1,…,tn) es el término entero o vive adentro de un argumento, y con eso el reemplazo sale por inducción en el nivel

El enunciado, textual: «Pruebe que si r,s,t∈Tτ y t′ es el resultado de reemplazar una ocurrencia de s en t por r, entonces t′∈Tτ.» Es el inciso (f) del Lema 4 de la Guía 9 (p. 7), el de ocurrencias de términos en términos, cuya prueba la guía deja al lector.

La lista deja usar sin enunciar el menú y la lectura única, y nada más. La prueba de la guía para ocurrencias se apoya en el inciso (c) del mismo lema, y el (c) en el Lema 2, el mordisqueo de términos. El mordisqueo la guía lo da sin prueba (Ejercicio 9), y se puede citar enunciado; acá se lo evita, y se prueba todo lo que se usa con el menú y la lectura única como únicas herramientas.

01 · Qué pide, en criollo

Un término es una palabra. Adentro de esa palabra hay otro término, s, en algún lugar: se lo recorta y en el hueco se pega r. El ejercicio dice que lo que queda vuelve a ser término.

Con el tipo de la guía, τ=({uno,doli},{MAS,P},{Her},a) con a(MAS)=4, a(P)=1 y a(Her)=3, el término de nivel 3 de la página 2 es

t=P(MAS(P(X4),MAS(X1,X2,X3,X4),X19,X5))

Tiene 37 símbolos y once ocurrencias de subtérminos: él mismo, los dos MAS, P(X4) y siete variables, con X4 dos veces, a partir de 9 y de 26. Reemplazando la X4 que empieza en 26 por P(P(uno)) queda

P(MAS(P(X4),MAS(X1,X2,X3,P(P(uno))),X19,X5))

que es un término de nivel 5. Y reemplazando MAS(X1,X2,X3,X4), que empieza en 13, por uno queda P(MAS(P(X4),uno,X19,X5)), de nivel 3. El nivel cambia; lo que se conserva es ser término.

Que s sea término no es decorativo. La palabra X1,X2 también ocurre en t, a partir de 17, y no es un término. Reemplazándola por uno queda P(MAS(P(X4),MAS(uno,X3,X4),X19,X5)), que no es término: el MAS de adentro quedó con tres argumentos. Lo que pasó es que X1,X2 se monta sobre una coma que separa dos argumentos, y el reemplazo se comió la coma.

Eso es exactamente lo que no le puede pasar a un término. La X4 desde 26 no es t, y cae adentro del único argumento de P; adentro de ese argumento, que es un MAS, cae en su segundo argumento, MAS(X1,X2,X3,X4); y ahí es el cuarto argumento entero. En cada piso el reemplazo entra por un solo argumento, y el resto de la palabra queda igual. Esa es toda la prueba: una inducción en el nivel de t, con un hecho de ocurrencias para saber por dónde entra.

02 · Las herramientas

Los términos (Guía 9, p. 1). T0τ=Var∪𝒞 y Tk+1τ=Tkτ∪{f(t1,…,tn):f∈ℱn,n≥1,t1,…,tn∈Tkτ}, con Tτ=⋃k≥0Tkτ. La palabra f(t1,…,tn) es la concatenación del nombre f, el «(», los n argumentos separados por n−1 comas, y el «)». Cada nivel contiene al anterior.

Las variables (p. 1). La variable xn es la palabra X seguida de la escritura decimal de n, con los numerales en itálica salvo el último, que va en negrita. Una variable tiene un solo numeral negrita, y es su último símbolo.

El tipo (Guía 8, p. 4). En τ=(𝒞,ℱ,ℛ,a) los nombres de constante son palabras no vacías de un alfabeto Σ1, los de función de Σ2 y los de relación de Σ3, con estas condiciones: los tres alfabetos son disjuntos de a pares; ninguno contiene ∀, ∃, ¬, ∨, ∧, →, ↔, los paréntesis, la coma, ≡, la X ni los numerales; y (3) ninguna palabra de 𝒞 es subpalabra propia de otra palabra de 𝒞, y lo mismo en ℱ y en ℛ.

Ocurrencias (p. 6). α ocurre a partir de i en β si β=δαγ con |δ|=i−1. Esa ocurrencia ocupa las posiciones i a i+|α|−1, y sucede dentro de otra si todas sus posiciones están entre las de la otra. Reemplazarla por γ′ da δγ′γ.

Lema 1 (Menú para términos, p. 3) y Teorema 3 (Lectura única de términos, p. 5). Se usan sin enunciar; quedan acá para tenerlos a mano. El menú: si t∈Tk+1τ, entonces t∈Var∪𝒞 o t=f(t1,…,tn) con f∈ℱn, n≥1 y t1,…,tn∈Tkτ. La lectura única: dado t∈Tτ se da una y sólo una de (1) t∈Var∪𝒞, (2) hay únicos n≥1, f∈ℱn, t1,…,tn∈Tτ con t=f(t1,…,tn).

Hecho 0 (el primer símbolo). Sea s∈Tτ. Si s empieza con X, es una variable; si empieza con un símbolo de Σ1, es un nombre de constante; si empieza con un símbolo de Σ2, es de la forma g(s1,…,sm), y entonces g es el tramo de s que va hasta antes de su primer «(». Ningún término empieza con «(», «)», una coma ni un numeral.

Prueba. Por la lectura única, s es una variable, que empieza con X; un nombre de constante, que empieza con un símbolo de Σ1; o g(s1,…,sm), que empieza con el primer símbolo de g, que está en Σ2. Como Σ1 y Σ2 son disjuntos y ninguno tiene la X, el primer símbolo dice cuál de los tres casos es. Ninguno empieza con paréntesis, coma ni numeral. Y como g no tiene paréntesis, el primer «(» de g(s1,…,sm) es el que sigue a g. ∎

03 · El hecho de ocurrencias: por dónde entra el reemplazo

Lo que la inducción necesita es el inciso (c) del Lema 4 de la Guía 9:

Lema 4(c). Si s∈Tτ, s≠f(t1,…,tn) y s ocurre en f(t1,…,tn), entonces dicha ocurrencia sucede dentro de algún tj.

Para probarlo conviene uno un poco más fuerte, que se deja probar por inducción. La palabra z que va después es lo que el término tiene a su derecha cuando es un argumento de otro: una coma y el resto, o el «)» del final.

Lema A. Sean u,s∈Tτ y z una palabra que es ε o empieza con una coma o con «)». Si s ocurre en uz a partir de p, con p≤|u|, entonces la ocurrencia está dentro de u, o sea p+|s|−1≤|u|; y si además p=1, entonces s=u.

Leído en criollo: un término que empieza adentro de otro termina adentro de él, y si empiezan juntos son el mismo. La condición sobre z hace falta. Con las constantes uno y noli de la página 5, que se mordisquean, en uno seguida de li el término noli empieza en la posición 2, adentro de uno, y se sale.

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

Enuk: para todo u∈Tkτ, todo s∈Tτ, toda palabra z que sea ε o empiece con una coma o con «)», y todo p≤|u|: si s ocurre en uz a partir de p, entonces p+|s|−1≤|u|, y si además p=1, entonces s=u.

Llamemos w=uz.

Enu0 es verdadero. Sea u∈T0τ=Var∪𝒞.

Enuk implica Enuk+1. Supongamos que vale Enuk y sean u∈Tk+1τ, s, z y p como en Enuk+1.

Por la Regla de Inducción desde 0 vale Enuk para todo k, y como todo término está en algún Tkτ, vale el Lema A. ∎

Prueba del Lema 4(c). Sea t=f(t1,…,tn) y una ocurrencia de s en t a partir de p. Si fuera p=1, el Lema A con u=t y z=ε daría s=t, contra la hipótesis. Con p>1 los casos son los tres últimos del paso de arriba, con u=t y z=ε: dentro del nombre f no se da, en un paréntesis o una coma de t no se da, y si cae en las posiciones de un tj, el Lema A aplicado a tj dice que la ocurrencia está dentro de tj. Es un solo tj, porque los argumentos ocupan posiciones disjuntas. ∎

Al revés también vale: si s=t, la única ocurrencia es a partir de 1, porque desde p>1 no entran |t| símbolos. Así que hay exactamente dos posibilidades, y son las dos del paso de la inducción del ejercicio: la ocurrencia empieza en 1 y es t entera, o empieza después y vive adentro de un único argumento.

04 · La mariposa: de atrás para adelante

La meta es t′∈Tτ, y lo único que se sabe de t′ es cómo se obtuvo de t. Las propiedades de todos los términos se prueban por inducción en el nivel, así que la pregunta es qué pasa en el paso: t=f(t1,…,tn) con argumentos de nivel más bajo, y se reemplaza una ocurrencia de s en algún lado.

Si la ocurrencia es t entera, t′=r, que es término por hipótesis. Si no, por el Lema 4(c) está adentro de un único tj, y reemplazarla en t es reemplazarla en tj y dejar todo lo demás —el nombre, los paréntesis, las comas, los otros argumentos— como estaba:

t′=f(t1,…,tj−1,tj′,tj+1,…,tn)

donde tj′ es el resultado de reemplazar esa ocurrencia en tj por r. tj tiene nivel más bajo, y la hipótesis inductiva dice que tj′ es término. Falta un detalle: tj′ puede tener un nivel más alto que los otros argumentos —en el ejemplo de la sección 01 pasó de 0 a 2—, y la definición pide los n argumentos en un mismo TMτ. Se toma M el máximo, y como los niveles crecen, todos están ahí.

Por qué Enuk lleva a r, a s y a la ocurrencia adentro. La hipótesis inductiva se aplica a tj, no a t, y a una ocurrencia que es la misma pero contada desde otro lugar: en tj empieza en otra posición. Si Enuk hablara de una ocurrencia fija de t, no diría nada de tj. En este ejercicio r y s son los mismos en el paso y en la hipótesis, así que dejarlos afuera no rompería la prueba; escribirlos adentro no cuesta nada y es lo que pide la lista: todas las cuantificaciones adentro.

Abajo se elige dónde empieza s, tocando un símbolo del término. Si ahí empieza un término, se ve por qué argumento entra el reemplazo en cada piso; si no, en qué caso del Lema A cae esa posición.

Simulación Por dónde entra el reemplazo — tocá un símbolo de t: si ahí empieza un subtérmino, ese es s. Probá la primera posición, una coma, un numeral y la segunda letra de MAS.
Tocá dónde empieza s

    posición — s — pisos que baja — t′ es término — nivel de t′ —

    Las posiciones donde no empieza ningún término son las de los tres casos imposibles del Lema A: adentro de un nombre de función, en un paréntesis o una coma, en un numeral o adentro de un nombre de constante. En las otras, la bajada termina siempre igual: en algún piso, s es el argumento entero.

    05 · El escarabajo: la prueba como se entrega

    Se escriben, en este orden, el Hecho 0, el Lema A y el Lema 4(c), con sus pruebas, como en las secciones 02 y 03. Después:

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

    Enuk: para todo t∈Tkτ y todos r,s∈Tτ, si t′ es el resultado de reemplazar una ocurrencia de s en t por r, entonces t′∈Tτ.

    Por la Regla de Inducción desde 0, Enuk vale para todo k∈ω. Dado t∈Tτ, está en algún Tkτ, y Enuk da t′∈Tτ. ∎

    06 · Lo que hace perder puntos, y lo que se lleva

    Lo que hace perder puntos. Decir «la ocurrencia está en algún tj» sin enunciar ni probar el Lema 4(c): es un resultado de la guía, no el menú ni la lectura única. Olvidar el caso en que la ocurrencia es t entera, que es el único en que el (c) no se aplica. Olvidar el caso t∈Tkτ del paso. Escribir t′∈Tk+1τ: no es cierto en general, porque r puede tener cualquier nivel; lo que se prueba es t′∈Tτ, con el máximo de los niveles. Y escribir un Enuk que no dice para qué términos vale: «Enuk: t′∈Tτ» sin el «para todo t∈Tkτ» no es un enunciado.

    Lo que se lleva. El molde —el caso de la ocurrencia entera, y el (c) para mandar la ocurrencia adentro de un argumento— es el de los Ejercicios 6, 7 y 8 de la lista, que también reemplazan ocurrencias en un término: sacar algunas P(x1), cambiar s1 por s2 y cambiar F1 por F2. En el Ejercicio 3 lo que se reemplaza, ,X1, no es un término, y una ocurrencia sí puede montarse sobre una coma de afuera: ese caso es justamente el que hay que agregar. Las ocurrencias y los reemplazos, con más ejemplos, están en Ocurrencias y reemplazos, y la prueba de la guía, que usa el mordisqueo, en Se compara por el lado de lo que ya se sabe.

    Para tener a mano

    1. Inducción en el nivel de t, con Enuk: para todo t∈Tkτ y todos r,s∈Tτ, el resultado de reemplazar una ocurrencia de s en t por r es término.
    2. En el paso, la ocurrencia empieza en 1 y es t entera (entonces t′=r), o empieza después y vive adentro de un único argumento (entonces se reemplaza ahí y se usa Enuk).
    3. Ese hecho es el Lema 4(c) de la Guía 9, y se enuncia y se prueba. Sin el mordisqueo sale del Lema A: un término que empieza adentro de otro termina adentro de él, y si empiezan juntos son el mismo.
    4. El primer símbolo decide: X es variable, Σ1 es constante, Σ2 es g(…); con «(», «)», coma o numeral no empieza ningún término.
    5. tj′ puede subir de nivel: se toma M el máximo y t′∈TM+1τ.
    ← Anterior Inicio Siguiente →
    Relacionados Ocurrencias y reemplazos Mordisqueo y lectura única de términos Inducción en la construcción La coma delata un argumento