Bitácora · Lógica · Concepto

Fórmulas y sentencias elementales

Guías 7 y 8 · el tipo, las estructuras, los términos y las fórmulas, cuándo una fórmula es verdadera, cómo se lee y cómo se traduce

La Guía 6 armó el lenguaje de los reticulados cuaterna. La Guía 7 lo repitió para posets, grafos, median álgebras y los demás, y la Guía 8 notó que era siempre lo mismo con otros símbolos. Lo que cambia de una estructura a otra es una lista: qué constantes, qué funciones y qué relaciones hay, y cuántos argumentos lleva cada una. Esa lista es el tipo. Fijado el tipo salen tres cosas en cadena: las estructuras que lo interpretan, las palabras que se escriben con sus símbolos, y cuándo una de esas palabras es verdadera.

01 · El tipo: qué símbolos hay y cuántos argumentos lleva cada uno

Definición (Guía 8). Un tipo es una 4-upla τ=(C,F,R,a) donde C es un conjunto de nombres de constante, F uno de nombres de función, R uno de nombres de relación, y a:F∪R→ℕ es una función que le asocia a cada nombre de función o de relación su aridad: cuántos argumentos lleva. Para cada n se escribe

Fn={f∈F:a(f)=n}    Rn={r∈R:a(r)=n}

Los nombres son palabras sobre alfabetos disjuntos de a pares que no usan ninguno de los símbolos lógicos —∀, ∃, ¬, ∨, ∧, →, ↔, los paréntesis, la coma, ≡— ni los que se usan para escribir variables, y ninguna palabra de C (o de F, o de R) es subpalabra propia de otra del mismo conjunto. Las dos restricciones están para que una fórmula se pueda leer de una sola manera.

Los ocho tipos de estructura de la Guía 7, cada uno con su nombre:

Tipo deCFRa
posets∅∅{≤}{(≤, 2)}
reticulados terna∅{s, i}∅{(s, 2), (i, 2)}
reticulados acotados{0, 1}{s, i}∅{(s, 2), (i, 2)}
reticulados complementados{0, 1}{s, i, c}∅{(s, 2), (i, 2), (c, 1)}
reticulados cuaterna∅{s, i}{≤}{(s, 2), (i, 2), (≤, 2)}
median álgebras∅{M}∅{(M, 3)}
grafos∅∅{r}{(r, 2)}
grafos bicoloreados∅∅{r, R}{(r, 2), (R, 1)}

Los elementos de C, F y R son símbolos, no lo que denotan. El tipo de los posets no sabe que ≤ es un orden: sabe que es un nombre de relación de aridad 2, y nada más. Y nada lo ata a la costumbre. En ({≤},∅,∅,∅) el ≤ es un nombre de constante; en (∅,{1},∅,{(1,3)}) el numeral 1 nombra una operación de tres argumentos; en (∅,∅,{≤},{(≤,3)}) el ≤ es una relación ternaria. Los tres son tipos, y los tres son ejemplos de la Guía 8.

02 · Una estructura de tipo τ interpreta cada símbolo

Definición (Guía 8). Una estructura, o modelo, de tipo τ es un par 𝐀=(A,i) tal que A es un conjunto no vacío —el universo— e i es una función con dominio C∪F∪R —la interpretación— que cumple:

La interpretación puede ser cualquiera. Una estructura del tipo de los posets es un conjunto no vacío con una relación binaria cualquiera: ({1,2,3},{(≤,∅)}) es una, y (ℕ,i) con i(≤)={(1,2),(1000,1),(1,1)} es otra. Cuando i(≤) es un orden parcial, la estructura es esencialmente un poset: tiene la misma información, aunque un par (A,i) no sea, letra por letra, un poset.

Cuántas hay. Si A es finito y C, F y R también, las estructuras de tipo τ con universo A son

|A||C|  ·  ∏f∈F|A||A|a(f)  ·  ∏r∈R2|A|a(r)

Prueba. La interpretación se elige símbolo por símbolo, y cada elección es independiente de las otras. Para un nombre de constante hay |A| elecciones. Para un f∈Fn, i(f) es una función con dominio An, que tiene |A|n elementos, e imagen contenida en A: por el Lema 1 (1) de la Guía 8 hay |A||A|n. Para un r∈Rn, i(r) es un subconjunto de An: por el Lema 1 (2) hay 2|A|n. Multiplicando las elecciones queda la fórmula. ∎

Con A={1,2}, recorridas una por una: el tipo de los posets da 222=16 estructuras, y 3 son posets —la anticadena y las dos cadenas—. El de los reticulados terna da (222)2=256, y en 2 valen los ocho axiomas de terna: las dos formas de ordenar {1,2} en cadena. Casi todas las estructuras de un tipo no son nada de lo que el nombre del tipo promete. Los Ejercicios 17 a 19 de la lista hacen la misma cuenta con nueve elementos.

03 · Términos: las palabras que nombran elementos

Además de los símbolos del tipo, el lenguaje tiene las variables x,y,z,w,…, los nombres de elementos fijos a,b,c,d,…, los nexos, los cuantificadores, los paréntesis, la coma y el =. Los términos elementales de tipo τ se definen por cláusulas (Guía 8):

  1. cada palabra de C es un término;
  2. cada variable es un término;
  3. cada nombre de elemento fijo es un término;
  4. si f∈Fn, con n≥1, y t1,…,tn son términos, la palabra f(t1,…,tn) es un término;
  5. una palabra es un término si y sólo si se construye con las cláusulas anteriores.

La palabra f(t1,…,tn) mide |f|+|t1|+…+|tn|+(n−1)+2: los dos paréntesis y las n−1 comas cuentan. Un término es puro si no tiene nombres de elementos fijos. En el tipo de los reticulados complementados, s(i(x,0),z) y c(s(i(0,0),0)) son términos puros y s(x,a) no es puro. Y las aridades se respetan: en un tipo con P de aridad 1, P(x,y) no es un término. Que un término es la palabra y no el elemento que termina valiendo es la tesis de Un término es una palabra, no un valor.

04 · Fórmulas: las palabras que pueden ser verdaderas o falsas

Las fórmulas elementales de tipo τ también se definen por cláusulas:

  1. si t y s son términos, (t=s) es una fórmula;
  2. si r∈Rn, con n≥1, y t1,…,tn son términos, r(t1,…,tn) es una fórmula;
  3. si φ1 y φ2 son fórmulas, también lo son (φ1∧φ2), (φ1∨φ2), (φ1→φ2) y (φ1↔φ2);
  4. si φ es una fórmula, también lo son ¬φ, ∀xφ, ∀yφ, … y ∃xφ, ∃yφ, …;
  5. una palabra es una fórmula si y sólo si se construye con las cláusulas anteriores.

Las dos primeras son las atómicas, y son las únicas donde aparecen los términos. Fijate en la cuarta: negar y cuantificar no agregan paréntesis; sólo los nexos los agregan. Por eso ¬ y los cuantificadores se pegan a lo que les sigue y nada más, y (∃z(a≤z)∧(b≤z)) es la conjunción de ∃z(a≤z) con (b≤z), no «existe z tal que las dos». Se cuantifica sólo por delante y sólo variables: (x≤a)∀x y ∀a(a=x) no son fórmulas.

Una fórmula es pura si no tiene nombres de elementos fijos; entonces sus términos también son puros. Los axiomas y lo que la lista pide probar o escribir son sentencias o fórmulas puras: los nombres de elementos fijos aparecen adentro de las pruebas, para hablar de un elemento «fijo pero arbitrario».

05 · Libres, ligadas y sentencias

Una ocurrencia de una variable v en φ es acotada si está adentro de una ocurrencia en φ de una subfórmula de la forma ∀vψ o ∃vψ, y libre si no. La ψ que sigue a una ocurrencia de un cuantificador es su alcance. Una variable libre de φ es una que ocurre libre al menos una vez, aunque también ocurra acotada. Una sentencia es una fórmula sin variables libres.

El ejemplo largo de la Guía 6:

(((x≤z)∨∃x∀y((a≤x)∧(y≤x)))→∀y(z≤y))

Las dos ocurrencias de z son libres. Todas las de y son acotadas: cada una está adentro de algún ∀y. La primera ocurrencia de x es libre y las otras tres son acotadas. Las variables libres son x y z. El a no es ni libre ni acotado: no es una variable, es un nombre de elemento fijo, y la fórmula no es pura.

Esto último tiene una consecuencia que conviene tener presente: ∀x(a≤x) es una sentencia —no tiene variables libres— y aun así su valor de verdad depende del valor que se le dé a a. En ({A⊆ℕ:A es finito},∪,∩,⊆) es verdadera si a vale ∅ y falsa con cualquier otro valor. Sólo una sentencia pura queda decidida por la estructura sola.

06 · Verdadera en una estructura, con una asignación

Una fórmula sola no es verdadera ni falsa. Hacen falta una estructura 𝐀=(A,i) de su tipo y una asignación: un elemento de A para cada variable y para cada nombre de elemento fijo. Con eso, primero cada término asume un valor:

Y después cada fórmula es verdadera o falsa, siguiendo cómo se construyó:

Los cuantificadores recorren el universo de la estructura, y nada más. Es la versión que usan las guías: el segundo punto del programa de la Guía 8 es dar una definición matemática precisa de esto.

Propiedad: sólo importan las libres. Si dos asignaciones les dan los mismos valores a las variables libres y a los nombres de elementos fijos de φ, entonces φ tiene el mismo valor de verdad con las dos.

Prueba, siguiendo la construcción de φ. Primero para términos: si las dos asignaciones coinciden en las variables y los nombres fijos que ocurren en t, t vale lo mismo con las dos; es inmediato en las tres cláusulas de valor. Si φ es atómica, todas las ocurrencias de variables en φ son libres, así que sus términos valen lo mismo con las dos asignaciones, y φ tiene el mismo valor. Si φ es ¬ψ o (φ1∧φ2) —o con cualquier otro nexo—, las libres de ψ, φ1 y φ2 son libres de φ, así que por hipótesis inductiva cada pedazo vale lo mismo con las dos, y φ también. Si φ es ∀xψ, las libres de ψ son las de φ más, quizás, x. Para cada elemento e∈A, cambiar en las dos asignaciones el valor de x por e da dos asignaciones que coinciden en todas las libres de ψ: por hipótesis inductiva ψ vale lo mismo con las dos. Como eso pasa para cada e, ∀xψ vale lo mismo con las dos. El caso ∃xψ es el mismo argumento cambiando «cada» por «alguna». ∎

Consecuencia. Una sentencia pura no tiene ni libres ni nombres fijos, así que es verdadera con todas las asignaciones o con ninguna: en cada estructura de su tipo es verdadera o falsa, sin asignar nada. Por eso los axiomas son sentencias puras, y por eso un modelo de un conjunto de sentencias puras es simplemente una estructura donde todas son verdaderas.

Y una más, que la Guía 6 deja escrita: el papel de una variable acotada es mudo. Cambiar todas sus ocurrencias en un bloque ∀yψ por una variable w que no figure en ψ no cambia lo que la fórmula dice. Abajo, ((x≤y)∧∀y((y≤x)→(y=x))) y la misma con ∀w en lugar de ∀y dan el mismo valor en las 72 asignaciones de x e y sobre las dos estructuras del widget.

Simulación El valor de verdad, renglón por renglón — elegí el valor de cada variable libre. Arranca verdadera: buscá una asignación que la haga falsa y mirá qué renglón la tira abajo. Debajo de un cuantificador, tocá un elemento para mirar adentro con ese valor.
variables libres — asignación — valor —

En «y cubre a x» sobre los divisores de 12, con x=2 e y=12 el renglón que cae es el del ¬∃z: el ∃z encuentra un testigo, el 4, que está en el medio. De las 36 asignaciones, la fórmula es verdadera en 7, las siete aristas del diagrama de Hasse. Con la estructura cambiada —el mismo símbolo ≤ interpretado como el menor estricto entre números, que no es un orden parcial— es verdadera en 5: los pares de vecinos de la lista 1,2,3,4,6,12. La palabra no cambió; cambió lo que dice.

En la segunda fórmula la y es libre por su primera ocurrencia y acotada en el ∀y. Mové y y mirá el renglón del ∀y: no lista a y entre sus valores, y no cambia nunca. Es la propiedad de arriba, vista de cerca. La tercera es una sentencia pura: no hay nada que asignar, y el valor lo decide la estructura sola —verdadera con la divisibilidad, donde el 12 está arriba de todos, y falsa con el menor estricto, donde nadie está arriba de sí mismo—.

07 · Leer una fórmula en castellano

Leer es desarmar la fórmula en el orden inverso al que se construyó. Cuatro pasos:

  1. El conectivo principal. Si la fórmula empieza con ¬ o con un cuantificador, es ése. Si no, es el único nexo que queda afuera de todos los paréntesis interiores.
  2. Cada cuantificador, con su alcance. ∀x es «para todo x de la estructura»; ∃x, «hay un x tal que». El alcance es exactamente la fórmula que le sigue.
  3. Nombre para los bloques. (x≤z∧¬(z=x)) es «z está estrictamente arriba de x»; con un ¬∃z adelante es «nada está estrictamente arriba de x», o sea, x es maximal.
  4. La frase, hablando de las libres. Una fórmula con x libre dice algo de x; una sentencia pura dice algo de la estructura.

Un ejemplo de grafos, que es el del Ejercicio 15 de la Guía 7 y el 16 de la lista:

∀x(∀z(¬(z=x)→r(x,z))→∀u∀v((¬(u=x)∧¬(v=x))→¬r(u,v)))

El conectivo principal es el ∀x, y adentro hay una implicación. El antecedente, ∀z(¬(z=x)→r(x,z)), dice que x está conectado con todos los otros vértices. El consecuente dice que entre dos vértices distintos de x no hay arista. Junto: si un vértice está conectado con todos los demás, entre los demás no hay ninguna arista. Comparado con la propiedad calculada directamente sobre los 64 grafos con vértices {0,1,2,3}, la sentencia coincide con la frase en los 64.

Dos parejas que se confunden. «Todo φ es ψ» es ∀x(φ→ψ), no ∀x(φ∧ψ), que dice que todo es φ y ψ. Y «algún φ es ψ» es ∃x(φ∧ψ), no ∃x(φ→ψ), que es verdadera apenas hay un elemento que no es φ. Con Max(x)=¬∃z(x≤z∧¬(z=x)), en ({1,2,3,4,6,12},∣):

SentenciaValorPor qué
∃x(Max(x) ∧ ∀y(x ≤ y))falsael único maximal, 12, no es mínimo
∃x(Max(x) → ∀y(x ≤ y))verdadera1, 2, 3, 4 y 6 no son maximales
∀x(Max(x) → ∀y(y ≤ x))verdaderael único maximal, 12, es máximo
∀x(Max(x) ∧ ∀y(y ≤ x))falsafalla en 1, 2, 3, 4 y 6

Las filas en rojo son la traducción equivocada de la de arriba. La tercera es «todo maximal es máximo», la del Ejercicio 4 de la lista; cuándo vale en un poset es lo que mira Maximal no es máximo, salvo que todo par tenga cota.

08 · Traducir una propiedad a una fórmula

El camino inverso, y el que piden los Ejercicios 7, 8, 9, 20 y 21 de la lista. Cuatro pasos:

  1. Mirá el tipo. Sólo se escribe con sus símbolos. En el tipo de los posets no hay s, ni 0, ni numerales: un elemento concreto no se nombra, se describe por su lugar en el orden. (x=4) no es una fórmula de un tipo donde 4 no es un nombre de constante, por más que «diga» lo correcto.
  2. Decila en castellano matemático, con cada «para todo» y cada «existe» a la vista, y sin palabras que el tipo no tenga: «mayor», «par», «primo» se reemplazan por lo que significan en términos de la estructura.
  3. Armá fórmulas auxiliares para los pedazos con nombre —Max(x), Cub(x,y)— y reemplazá. Al reemplazar, renombrá las ligadas para que no atrapen nada.
  4. Controlá. Que las variables libres sean exactamente las que pide el enunciado, y evaluala en la estructura del enunciado, elemento por elemento.

La trampa del tercer paso, concreta: Max(z) escrito cambiando x por z en ¬∃z(x≤z∧¬(z=x)) da ¬∃z(z≤z∧¬(z=z)). La z que se quería libre quedó atrapada por el ∃z: la palabra resultante es una sentencia, y como ¬(z=z) es falsa siempre, es verdadera en toda estructura. No dice nada. Renombrando la ligada antes de reemplazar sale ¬∃w(z≤w∧¬(w=z)), que en los divisores de 12 es verdadera sólo con z=12.

Un ejemplo entero, el Ejercicio 3 (b) de la Guía 7: una fórmula pura de posets, con x como única libre, verdadera en ({1,2,4,9},∣) si y sólo si a x se le asigna el 4. Primer intento, «x es maximal»: vale en el 4 y en el 9. Hay que separarlos, y la diferencia está abajo: debajo del 4 hay una cadena de dos pasos, 1∣2∣4, y debajo del 9 sólo está el 1. Eso se escribe:

φ=∃y∃z(y≤x∧¬(y=x)∧z≤y∧¬(z=y))

Su única libre es x, y evaluada elemento por elemento:

xMax(x)φ
1falsafalsa
2falsafalsa
4verdaderaverdadera
9verdaderafalsa

«Tener al menos dos elementos distintos estrictamente debajo» también separa al 4, y evaluada da la misma columna. Hay muchas respuestas correctas; lo que no se negocia es que la columna dé verdadera exactamente en el elemento pedido.

09 · Las abreviaturas que permite la lista

La Guía 8 escribe todo en la forma general —≤(x,y), s(x,y)— para no tratar distinto a los símbolos binarios. La lista, para que se lea, permite:

La última es la delicada. Una cadena del mismo nexo, x≤y∧y≤z∧z=c, se lee de una sola manera. Mezclar nexos no: x≤y∧y≤z∨a=b puede ser dos fórmulas distintas, y la Guía 6 escribe (x≤y∧y≤z)∨a=b. Y los paréntesis que siguen a un cuantificador no son de lectura: marcan el alcance. ∃z(a≤z∧b≤z) y ∃z a≤z∧b≤z son fórmulas distintas, y la segunda tiene a z libre. Abreviar es escribir menos; la fórmula sigue siendo la palabra entera, y sus libres y su longitud se cuentan sobre ella.

10 · Palabras que parecen fórmulas y no lo son

Las cláusulas dicen qué es una fórmula, y con eso dicen qué no. Las que más se cuelan:

Y al revés: una misma palabra puede ser fórmula de dos tipos. (x≤y) es fórmula de posets y de reticulados cuaterna; ∀x∀y(xsy=y→xiy=x) es sentencia de terna y de cuaterna. Ser fórmula es relativo al tipo, y lo que eso le hace a una prueba es otra historia.

Para tener a mano

  1. Un tipo τ=(C,F,R,a) es la lista de símbolos y sus aridades. Son palabras, no lo que denotan.
  2. Una estructura (A,i) interpreta cada símbolo en un universo no vacío, como se le ocurra. Con A, C, F, R finitos hay |A||C|·∏|A||A|a(f)·∏2|A|a(r).
  3. Términos y fórmulas son palabras, construidas por cláusulas. Negar y cuantificar no agregan paréntesis. Pura: sin nombres de elementos fijos.
  4. Libre es una propiedad de cada ocurrencia; una variable es libre de φ si ocurre libre al menos una vez. Sentencia: sin variables libres.
  5. Verdadera es siempre «en una estructura, con una asignación». Sólo importan las libres y los nombres fijos; una sentencia pura queda decidida por la estructura.
  6. Leer: conectivo principal, cuantificadores con su alcance, nombre a los bloques. «Todo φ es ψ» es ∀x(φ→ψ); «algún φ es ψ» es ∃x(φ∧ψ).
  7. Traducir: sólo con los símbolos del tipo, con auxiliares renombrando las ligadas, y evaluando en la estructura elemento por elemento.
← Anterior Siguiente → Inicio
Relacionados Decilo con una fórmula Un término es una palabra, no un valor La misma prueba, y depende del tipo Teorías elementales y modelos Distributivo, sin s ni i Lo que sólo tiene el 14 Cinco elementos con dos variables Al 3 lo delata el 6 El 4 y la raíz de 5, sin suma y sin cero