Lógica Computacional
Nota 08. Semántica de la lógica de predicados.11El material aquí presentado se basa el libro de Huth y Ryan, Logic in Computer Science; en las notas del prof. Francisco Hernández Q.; y en las notas del prof. Favio Miranda.

Noé Salomón Hernández S

1 Semántica de la lógica de predicados

La semántica de la lógica de predicados es más complicada que la de la lógica proposicional ya que contamos con términos y fórmulas. La verdad de una fórmula de la lógica de predicados depende de los valores de los términos, los cuales a su vez dependen del universo de discurso. En lógica de predicados tendremos un número infinito de evaluaciones, llamadas modelos, a considerar.

En la nota pasada estudiamos al sistema de deducción natural para la lógica de predicados, la semántica provee una caracterización de la lógica diferente pero equivalente. Al decir que son equivalentes queremos decir que podemos demostrar para el sistema de deducción natural los teoremas de correctud y completud.

En el sistema de deducción natural, el objeto básico es una demostración. La deducción natural da una caracterización positiva de la lógica, pero no es útil para obtener evidencia sobre afirmaciones de la forma ‘Γψ no es válida’. La semántica, por otro lado, opera en la dirección opuesta. Demostrar que ψ no es una consecuencia de Γ es sencillo. Es decir, la semántica ofrece una caracterización negativa de la lógica, así obtener evidencia sobre afirmaciones de la forma ‘Γ⊧̸ψ’ es más sencillo que llegar a Γψ.

Es importante que estudiemos tanto el sistema de deducción natural como la semántica.

1.1 Modelos

Tenemos que reflexionar sobre el significado de x y x, sus dependencias y los valores concretos de los argumentos en los predicados P(t1,t2,,tn). El problema es que las variables son posiciones para cualquier, o algún, valor no especificado. Tales valores pueden ser de cualquier clase.

Si nos encontramos con una fórmula yψ, tratamos de encontrar alguna instancia de y tal que ψ se cumpla. Si tenemos éxito, yψ se evalúa a ; de otro modo, regresa . Evaluar xψ consiste en demostrar que ψ se evalúa a para todo valor posible de x; si tenemos éxito, xψ se evalúa a ; de otro modo, regresa . Tales evaluaciones requieren de un universo fijo de valores concretos. El valor de verdad de una fórmula en lógica de predicados depende de la elección específica de valores y el significado de los símbolos de predicados y de función involucrados, esto constituye un modelo.

Definición 1.1.

Sea un conjunto de símbolos de funciones y 𝒫 un conjunto de símbolos de predicado. Un modelo del par (,𝒫) consiste de:

  1. 1.

    Un conjunto no vacío A, el universo de valores concretos.

  2. 2.

    Para cada símbolo de función nula, i.e., símbolo de constante, c, un elemento concreto c de A.

  3. 3.

    Para cada símbolo f con aridad n>0, una función concreta f:AnA.

  4. 4.

    Para cada P𝒫 con aridad n>0, un subconjunto PAn de tuplas de n elementos sobre A.

Los símbolos c, f y P son sólo símbolos, mientras que c, f y P denotan un elemento constante, una función concreta y una relación específica en un modelo , respectivamente.

Es crucial darse cuenta de que la noción de modelo es extremadamente flexible y abierta. Todo lo que se necesita es elegir un conjunto no vacío A, cuyos elementos modelan objetos concretos o reales, y un conjunto de funciones y relaciones, una para cada símbolo de función y predicado, respectivamente. Si acaso se restringe a que las funciones y relaciones concretas sobre A tengan el mismo número de argumentos que sus correspondientes símbolos sintácticos.

Como diseñadores de modelos, tenemos la responsabilidad de escoger nuestros modelos sabiamente, ya que deben representar de manera precisa lo que deseamos modelar, pero deben ignorar aspectos del mundo que son irrelevantes.

Interpretamos fórmulas con relación a un ambiente. Intuitivamente, un ambiente es una tabla de búsqueda para todas las variables; una tabla de búsqueda l asocia a cada variable x una valor l(x) del modelo.

Definición 1.2.

Un ambiente para un universo A es una función l:𝗏𝖺𝗋A del conjunto 𝗏𝖺𝗋 de variables en A. Denotamos por l[xa] el ambiente en el que a x le corresponde a, y a cualquier otra variable y le corresponde l(y).

Definición 1.3.

Dado un modelo para un par (,𝒫) y un ambiente l, definimos la relación de satisfacción lφ, para cada fórmula φ definida sobre el par (,𝒫) y ambiente l, por inducción sobre φ como se ilustra abajo. Si se cumple lφ, decimos que φ se evalúa a en el modelo con respecto al ambiente l.

P: Si φ es de la forma P(t1,,tn), entonces interpretamos los términos t1,,tn en el universo A al reemplazar símbolos de constantes y funciones por los valores asignados en , y todas las variables por sus valores correspondientes en l. Así encontramos valores concretos a1,,an de A para cada uno de estos términos. De modo que lP(t1,,tn) se satisface syss (a1,,an) está en el conjunto P
x: La relación lxφ se satisface syss l[xa]φ se satisface para toda aA.
x: La relación lxφ se satisface syss l[xa]φ se satisface para alguna aA.
¬: La relación l¬φ se satisface syss no es el caso que lφ se satisface.
: La relación lφ1φ2 se satisface syss lφ1 o lφ2 se satisface.
: La relación lφ1φ2 se satisface syss lφ1 y lφ2 se satisfacen.
: La relación lφ1φ2 se satisface syss lφ2 se satisface siempre que lφ1 se satisface.
: La relación lφ1φ2 se satisface syss lφ1 y lφ2 ambos se satisfacen o ambos no se satisfacen.

Se puede demostrar por inducción estructural que lφ syss lφ, siempre que l y l sean dos ambientes idénticos sobre el conjunto de variables libres de φ.

Definición 1.4.

Sea φ una fórmula de la lógica de predicados. Si φ no tiene variables libres, entonces es un enunciado

Con el enunciado φ concluimos que lφ se satisface, o no, sin importar la elección de l. Así que para enunciados φ excluimos al ambiente l, ya que es irrelevante, y escribimos φ. Por lo anterior, la utilidad de un ambiente es latente cuando se requiere conocer el valor de las variables libres. Así que podemos restringir los ambientes para que asignen valores únicamente a variables libres dentro de la fórmula.

2 Consecuencia lógica

Definición 2.1.

Sea Γ un conjunto (posiblemente infinito) de fórmulas en lógica de predicados y ψ una fórmula en dicha lógica.

  1. 1.

    La fórmula ψ es satisfacible syss hay un modelo y un ambiente l tal que lψ se satisface. Por ejemplo, la fórmula ψ=defP(a,y) se satisface tomando como modelo a , donde A=def, a=def0 y P=def{(x,y)|xy}; además, l(y)=100.

  2. 2.

    La fórmula ψ es verdadera en syss para todo ambiente l se satisface lψ. Por ejemplo, la fórmula ψ=defP(a,y) es verdadera en el mismo modelo que el del punto 1, ya que se satisface lψ para todo ambiente l.

  3. 3.

    La fórmula ψ es válida syss lψ se satisface para todos los modelos y ambientes l en los cuales podemos darle sentido a ψ, en tal caso escribimos ψ. La fórmula ψ=defP(a,y) no es válida, pero las fórmulas ¬xφx¬φ, x(B(x)yB(y)) y (x(P(x)yQ(y)))(xy(P(x)Q(y))) sí lo son, como se mostrará en los ejemplos al final de la nota.

  4. 4.

    El conjunto Γ es consistente o satisfacible syss existe un modelo y un ambiente l tal que lφ se satisface para todo φΓ.

  5. 5.

    La consecuencia lógica Γψ se cumple syss para todo modelo y ambiente l, si lφ se satisface para toda φΓ, entonces también lψ se satisface.

Observe que el símbolo está sobrecargado: denota la satisfacción de una fórmula por algún modelo ‘φ’ y la consecuencia lógica ‘φ1,,φnψ’.

Además, considere que al verificar φ1,φ2,,φnψ, hay que comprobarlo para todos los posibles modelos, es decir, todos los modelos que tienen la estructura adecuada (funciones y predicados con el número correcto de argumentos). Esta tarea es imposible de realizar mecánicamente. Esto se debe contrastar con la situación en lógica proposicional, donde las tablas de verdad de las proposiciones involucradas fueron la base para determinar la consecuencia lógica.

Sin embargo, a veces podemos argumentar que ciertas consecuencias lógicas son válidas. Hacemos esto proporcionando un argumento que no depende del modelo en cuestión. Por supuesto, esto funciona solo para un número muy limitado de casos. Veamos un ejemplo.

Ejemplo 2.2.

Justifique la siguiente consecuencia lógica:

x(P(x)Q(x))xP(x)xQ(x)

Sea un modelo que satisface x(P(x)Q(x)). Por demostrar que satisface xP(x)xQ(x). Analicemos los siguiente casos:

  • No todo elemento de nuestro modelo satisface P, entonces satisface xP(x)xQ(x) pues el antecedente de la implicación es falso.

  • Todo elemento de nuestro modelo satisface P, como satisface x(P(x)Q(x)), se tiene que cada elemento del modelo satisface Q también.

Por consiguiente, satisface xP(x)xQ(x).

¿Qué hay de la consecuencia lógica inversa? ¿Es xP(x)xQ(x)x(P(x)Q(x)) válido también? No es el caso, supongamos que es un modelo que satisface xP(x)xQ(x). Si A es el universo, y P y Q son las interpretaciones correspondientes de P y Q, entonces xP(x)xQ(x) dice que si P es igual a A, entonces Q también debe ser igual a A. Sin embargo, si P no es igual a A, entonces esta implicación es trivialmente verdadera. Como no se cuentan con restricciones adicionales sobre nuestro modelo , podemos construir el contraejemplo siguiente: sea A=def{a,b}, P=def{a} y Q=def{b}. Entonces xP(x)xQ(x) es cierto, pero x(P(x)Q(x)) no lo es.

A continuación se presentan algunas ideas y definiciones que serán útiles en notas futuras.

Definición 2.3.

Sean un modelo y ψ una fórmula de la lógica de predicados. Decimos que ψ es falsa en syss ¬ψ es verdadera en .

Así, una fórmula ψ no es verdadera si es insatisfacible en algún ambiente, es decir, ψ no es verdadera si ¬ψ es satisfacible en ‘algún’ ambiente. Pero para afirmar que ψ es falsa tendríamos que demostrar que ¬ψ es satisfacible en ‘todos’ los ambientes posibles. Por lo tanto, la noción de falsedad es más fuerte que la noción de no ser verdad.

Proposición 2.4.

Sean un modelo y φ una fórmula de la lógica de predicados. Escribimos φ como la cerradura universal de φ, es decir, la fórmula obtenida al ligar mediante cuantificadores universales a todas las variable libres de φ. Entonces,

φ es verdadera en syss φ es verdadera en .

La cerradura universal de una fórmula es un enunciado, por lo que razonar sobre su verdad es más simple puesto que los enunciados se comportan del mismo modo que las fórmulas proposicionales, como lo indica la siguiente proposición:

Proposición 2.5.

Sean φ un enunciado y un modelo. Entonces, se cumple una y sólo una de las siguientes condiciones:

  1. 1.

    φ es verdadera en .

  2. 2.

    φ es falsa en .

Corolario 2.6.

Si φ es un enunciado, entonces φ es falso si y sólo si φ no es verdadero en .

Por último, notemos los siguiente referente a la validez en lógica de predicados: Dada una fórmula φ en lógica de predicados, ¿se satisface φ, sí o no?

Teorema 2.7.

El problema de decisión de la validez en lógica de predicados es indecidible: no existe un algoritmo (o programa) tal que, dada cualquier φ, decida si φ.

Ejemplo 2.8.

¬xφx¬φ

Sea un modelo y un ambiente.

¬xφ⊧̸xφno existe a en el universo tal que [xa]φpara todo a en el universo tenemos ⊧̸[xa]φpara todo a se cumple [xa]¬φx¬φ.
Ejemplo 2.9.

Vamos a demostrar la existencia del dios Baco quien tiene la propiedad de que si él bebe, entonces todos beben, es decir, x(B(x)yB(y)). Sea un modelo y un ambiente, veamos que se satisface x(B(x)yB(y)), es decir, se cumple [xb](B(x)yB(y)) para algún b en el universo A. Tenemos dos casos:

  • B=A. Se tiene [ya]B(y) para toda aA. Así, yB(y). Como yB(y) es un enunciado, tenemos que [xb]yB(y) con b un elemento del universo, sabemos que hay al menos uno porque el universo no es vacío. Así se cumple [xb](B(x)yB(y)).

  • BA. Se tiene un individuo del universo que no cumple B. Sea b tal individuo, de modo que ⊧̸[xb]B(x), en tal caso [xb](B(x)yB(y)), pues el antecedente de la implicación se evalúa a falso.

Por lo tanto, se satisface x(B(x)yB(y)).

Ejemplo 2.10.

Demuestre que la fórmula (x(P(x)yQ(y)))(xy(P(x)Q(y))) es válida.

Sea un modelo y un ambiente. Supongamos x(P(x)yQ(y)), es decir, para toda aA se cumple [xa]P(x)yQ(y).

Vamos a suponer además que [xa]P(x), entonces [xa]yQ(y). Así, hay una bA tal que [xa,yb]Q(y), luego [xa]Q(b). Llegamos a que si [xa]P(x), entonces [xa]Q(b), esto es [xa]P(x)Q(b).

Actualizando el ambiente con yb, tenemos [xa,yb]P(x)Q(y). Por lo tanto, [xa]y(P(x)Q(y)). Esto se vale para toda aA, de manera que xy(P(x)Q(y))).

Ejercicio

Considere los siguientes tres enunciados:

φ1=defxP(x,x)φ2=defxy(P(x,y)P(y,x))φ3=defxyz((P(x,y)P(y,z))P(x,z))

los cuales expresan que el predicado P(2) es reflexivo, simétrico y transitivo, respectivamente. Muestre que ninguno de estos enunciados es consecuencia lógica de los otros dos, escogiendo para cada par de enunciados un modelo que los satisfaga, pero no al tercer enunciado. Es decir, se pide encontrar tres relaciones binarias, cada una satisfaciendo solo dos de estas propiedades.