Bitácora · Lógica · Concepto

El valor de un término en una estructura

Concepto · Guía 10 · las asignaciones, la definición recursiva de t𝐀[a→], por qué no es ambigua, ↓ia(a→) y el Lema 1 con su prueba entera

Un término es una palabra: MAS(X1,uno,X3,X554) no vale nada hasta que se dice en qué estructura se lo lee y qué elemento le toca a cada variable. Con esas dos cosas, el valor se calcula de adentro hacia afuera siguiendo la forma del término, y la lectura única de términos de la Guía 9 garantiza que haya una sola manera de hacerlo. Todo lo que la Guía 10 hace con fórmulas —la relación ⊨, las equivalencias, los homomorfismos— se apoya en esta definición.

01 · Asignaciones

Sea 𝐀=(A,i) una estructura de tipo τ. Una asignación de 𝐀 es un elemento de

A𝐍={infinituplas de elementos de A}

Si a→=(a1,a2,…) es una asignación, se dice que aj es el valor que a→ le asigna a la variable xj. La tupla es infinita porque las variables son infinitas: x1,x2,x3,…, y una asignación le da un valor a cada una de una vez, sin tener que saber de antemano cuáles van a aparecer en el término. El lugar j de la tupla es el de la variable xj, la palabra X seguida de la escritura decimal de j: el valor de X554 es a554, el lugar 554, por más que la variable tenga sólo cuatro símbolos.

En el ejemplo de la guía, 𝐀 tiene universo 𝐑 y a→=(1,2,3,4,5,…): a cada xj le toca el número j.

02 · La definición, cláusula por cláusula

Dada una estructura 𝐀 de tipo τ, un término t∈Tτ y una asignación a→=(a1,a2,…)∈A𝐍, se define t𝐀[a→] recursivamente:

  1. (1) VariableSi t=xi∈Var, entonces t𝐀[a→]=ai.
  2. (2) ConstanteSi t=c∈𝒞, entonces t𝐀[a→]=i(c).
  3. (3) FunciónSi t=f(t1,…,tn), con f∈ℱn, n≥1 y t1,…,tn∈Tτ, entonces t𝐀[a→]=i(f)(t1𝐀[a→],…,tn𝐀[a→]).

El elemento t𝐀[a→] se llama el valor de t en la estructura 𝐀 para la asignación a→. La variable mira la tupla, la constante mira la estructura, y la función junta los valores de los argumentos con la operación que la estructura le da al nombre. En la cláusula (3) la asignación es la misma para todos los argumentos: un término no tiene cuantificadores, y nada adentro de él cambia lo que vale una variable.

El ejemplo de la página 1. El tipo es τ=({uno,doli},{MAS,P},{Her},{(MAS,4),(P,1),(Her,3)}), y 𝐀 tiene universo 𝐑 con i(uno)=9, i(doli)=0, i(MAS)(x,y,z,w)=2x+4y, i(P)(x)=5x e i(Her)={(x,y,z)∈𝐑3:x·y·z=9}. Con a→=(1,2,3,…):

En el último, i(MAS) recibe cuatro números y usa los dos primeros: el 3 y el 554 se calculan y se descartan. Eso va a importar en la sección 05.

03 · Por qué la definición no es ambigua

Es el Ejercicio 1 de la guía. Una definición recursiva dice «si t tiene tal forma, su valor es tal cosa». Para que eso defina un elemento hacen falta dos cosas: que cada término caiga en exactamente una cláusula, y que en la cláusula (3) el nombre f, la cantidad n y los argumentos t1,…,tn queden determinados por t. Si un término se pudiera leer como f(t1,…,tn) y también como g(s1,…,sm) con otras piezas, la cláusula (3) daría i(f)(t1𝐀[a→],…) por un lado e i(g)(s1𝐀[a→],…) por el otro, y nada impide que sean distintos.

El teorema de lectura única de términos de la Guía 9 dice exactamente lo que falta: todo t∈Tτ es una variable, o un nombre de constante, o de la forma f(t1,…,tn), una sola de las tres, y en el tercer caso f, n y los tj son únicos. Con eso cada término tiene una sola cláusula que le corresponde y una sola manera de aplicarla.

Para ver qué se perdería, alcanza con imaginarse términos escritos a la manera de la escuela, sin paréntesis: x1+x2·x3 con a→=(1,2,3,…) vale 1+2·3=7 si se lo lee como una suma y (1+2)·3=9 si se lo lee como un producto. La gramática de la Guía 9 —todo nombre de función seguido de sus argumentos entre paréntesis y separados por comas— está hecha para que eso no pase.

Y la recursión termina: en la cláusula (3), si t∈Tk+1τ−Tkτ, los argumentos están en Tkτ. El valor queda definido primero para los términos de T0τ=Var∪𝒞 por (1) y (2), y si ya está definido en Tkτ, la cláusula (3) lo define en Tk+1τ. Como todo término está en algún Tkτ, todo término tiene valor.

04 · Cambiar un lugar: la asignación ↓

Dada una asignación a→∈A𝐍 y a∈A, ↓ia(a→) es la asignación que resulta de reemplazar en a→ el i-ésimo elemento por a:

↓ia(a→)=(a1,…,ai−1,a,ai+1,…)

Por ejemplo, ↓27(1,2,3,4,…)=(1,7,3,4,…). Es la asignación que va a aparecer en la cláusula del ∀ y del ∃: para decidir ∀xiφ se prueba φ con todos los valores posibles en el lugar i, dejando los demás quietos. En términos sirve para comparar valores: MAS(X1,uno,X3,X554) vale 2·5+4·9=46 en ↓15(1,2,3,…), y sigue valiendo 38 en ↓310(1,2,3,…).

Cuatro cuentas que se usan sin decirlo, y que salen de comparar lugar por lugar:

Simulación Cambiá la asignación y seguí el valor, nodo por nodo — arranca en la estructura de la guía con la asignación (1, 2, 3, …). Cambiá un lugar de la tupla: cada nodo del término se recalcula, y los que cambiaron quedan marcados. Probá con una variable que no ocurre, y después con a₃.
La asignación (los lugares que no se muestran valen su índice)
    valor — ocurren — último cambio — nodos que cambiaron —

    Lo que se ve al tocar la tupla es la mitad del Lema 1: si el lugar que cambiaste no es el de una variable que ocurre en t, no cambia ningún nodo. La otra mitad no vale. X3 ocurre en MAS(X1,uno,X3,X554), su nodo cambia, y la raíz no se entera.

    05 · El Lema 1: sólo importan las variables que ocurren

    Lema 1 (Guía 10, p. 2). Sea 𝐀 una estructura de tipo τ y sea t∈Tτ. Supongamos que a→,b→ son asignaciones tales que ai=bi cada vez que xi ocurra en t. Entonces t𝐀[a→]=t𝐀[b→].

    Las dos asignaciones pueden diferir en infinitos lugares; mientras coincidan en los lugares de las variables que aparecen en t, el valor es el mismo. Con b→=(1,1002,3,1004,1005,…), que coincide con (1,2,3,…) en los lugares 1, 3 y 554, MAS(X1,uno,X3,X554) vale 38 en las dos. La guía hace la prueba por inducción y deja el caso base al lector; acá va entera.

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

    Enuk: Sea 𝐀 una estructura de tipo τ y sea t∈Tkτ. Supongamos que a→,b→ son asignaciones tales que ai=bi cada vez que xi ocurra en t. Entonces t𝐀[a→]=t𝐀[b→].

    Prueba de que Enu0 es verdadero. Sea 𝐀 una estructura de tipo τ, sea t∈T0τ=Var∪𝒞 y sean a→,b→ asignaciones tales que ai=bi cada vez que xi ocurra en t. Hay dos casos.

    Prueba de que si Enuk es verdadero, entonces Enuk+1 lo es. Supongamos que vale Enuk. Sea 𝐀 una estructura de tipo τ, sea t∈Tk+1τ y sean a→,b→ asignaciones tales que ai=bi cada vez que xi ocurra en t. Por definición de Tk+1τ hay dos casos.

    Luego Enuk es verdadero para todo k∈ω. Como todo t∈Tτ está en algún Tkτ, el lema vale para todo término. ∎

    Dos cosas de la forma de la prueba. El Enuk tiene adentro la estructura y las dos asignaciones: «sea 𝐀… supongamos que a→,b→…». En esta prueba la hipótesis inductiva se aplica con las mismas 𝐀, a→ y b→ que se tienen afuera, así que no se nota; en el Lema 2, que es la versión para fórmulas, el caso ∀xjφ1 aplica la hipótesis con ↓ja(a→) y ↓ja(b→), y si las asignaciones hubieran quedado fijas afuera del Enuk, la prueba no cerraría. Y el lema va en una sola dirección: que x3 ocurra en t no quiere decir que el valor dependa de a3. Lo que cuenta en la cláusula (3) es la operación i(f), y i(MAS) ignora sus dos últimos argumentos.

    06 · Cómo se usa en los ejercicios

    Los Ejercicios 5 a 8 de la lista comparan el valor de un término t con el de un término t′ que sale de t por un reemplazo, y todos se prueban con el molde del Lema 1: Regla de Inducción desde 0, Enuk con la estructura y las asignaciones cuantificadas adentro, caso base con t=xj y t=c, y en el paso el caso t∈Tkτ y el caso t=f(t1,…,tn). Lo que cambia de uno a otro es qué pasa con las ocurrencias de lo reemplazado: en el Ejercicio 5 se cambia xi por xl y se compara t′𝐀[↓la(a→)] con t𝐀[↓ia(a→)]; en el 6 y el 7 se reemplaza un término por otro que vale lo mismo; en el 8, un nombre de función por otro con la misma interpretación. En los cuatro, el paso necesita saber dónde puede estar una ocurrencia de lo reemplazado adentro de f(t1,…,tn): o es el término entero, o vive adentro de un único argumento.

    Y en el Ejercicio 13 el resultado de términos se sube a fórmulas: el término que se cambia vive en una atómica, y ahí la cláusula de ≡ o de r compara valores de términos.

    Para tener a mano

    1. Una asignación es una infinitupla a→=(a1,a2,…)∈A𝐍; aj es el valor de xj. El lugar es el índice de la variable, no su largo.
    2. t𝐀[a→]: variable xi da ai; constante c da i(c); f(t1,…,tn) da i(f) aplicada a los valores de los argumentos, con la misma a→.
    3. No es ambigua por la lectura única de términos: cada término cae en una sola cláusula, y en la (3) f, n y los tj son únicos. Termina porque los argumentos están un nivel más abajo.
    4. ↓ia(a→) cambia sólo el lugar i. Cambios en lugares distintos conmutan; en el mismo lugar, gana el último.
    5. Lema 1: si a→ y b→ coinciden en las variables que ocurren en t, t𝐀[a→]=t𝐀[b→]. La vuelta no vale.
    6. El molde: Regla de Inducción desde 0; Enuk con 𝐀 y las asignaciones adentro; base xi y c; paso con el caso t∈Tkτ y el caso f(t1,…,tn), justificando que lo que ocurre en un tj ocurre en t.
    ← Anterior Siguiente → Inicio
    Relacionados Variables y términos de tipo τ Mordisqueo y lectura única de términos Inducción en la construcción La relación ⊨ y la validez universal La notación declaratoria