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ℳ:An→A.

  4. 4.

    Para cada P∈𝒫 con aridad n>0, un subconjunto Pℳ⊆An 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⁢[x↦a] 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 ℳ⊧l∀x⁢φ se satisface syss ℳ⊧l⁢[x↦a]φ se satisface para toda a∈A.
∃x: La relación ℳ⊧l∃x⁢φ se satisface syss ℳ⊧l⁢[x↦a]φ se satisface para alguna a∈A.
¬: 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)|x≤y}; 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)→∀y⁢B⁢(y)) y (∀x⁢(P⁢(x)→∃y⁢Q⁢(y)))→(∀x⁢∃y⁢(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))⊧∀x⁢P⁢(x)→∀x⁢Q⁢(x)

Sea ℳ un modelo que satisface ∀x⁢(P⁢(x)→Q⁢(x)). Por demostrar que ℳ satisface ∀x⁢P⁢(x)→∀x⁢Q⁢(x). Analicemos los siguiente casos:

  • No todo elemento de nuestro modelo satisface P, entonces ℳ satisface ∀x⁢P⁢(x)→∀x⁢Q⁢(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 ∀x⁢P⁢(x)→∀x⁢Q⁢(x).

¿Qué hay de la consecuencia lógica inversa? ¿Es ∀x⁢P⁢(x)→∀x⁢Q⁢(x)⊧∀x⁢(P⁢(x)→Q⁢(x)) válido también? No es el caso, supongamos que ℳ′ es un modelo que satisface ∀x⁢P⁢(x)→∀x⁢Q⁢(x). Si A′ es el universo, y Pℳ′ y Qℳ′ son las interpretaciones correspondientes de P y Q, entonces ℳ′⊧∀x⁢P⁢(x)→∀x⁢Q⁢(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 ℳ′⊧∀x⁢P⁢(x)→∀x⁢Q⁢(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 ⁢ℳ⊧ℓ⁢[x↦a]φ⇔para todo a en el universo tenemos ⁢ℳ⊧̸ℓ⁢[x↦a]φ⇔para todo a se cumple ⁢ℳ⊧ℓ⁢[x↦a]¬φ⇔ℳ⊧ℓ∀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)→∀y⁢B⁢(y)). Sea ℳ un modelo y ℓ un ambiente, veamos que se satisface ℳ⊧ℓ∃x⁢(B⁢(x)→∀y⁢B⁢(y)), es decir, se cumple ℳ⊧ℓ⁢[x↦b](B⁢(x)→∀y⁢B⁢(y)) para algún b en el universo A. Tenemos dos casos:

  • Bℳ=A. Se tiene ℳ⊧ℓ⁢[y↦a]B⁢(y) para toda a∈A. Así, ℳ⊧ℓ∀y⁢B⁢(y). Como ∀y⁢B⁢(y) es un enunciado, tenemos que ℳ⊧ℓ⁢[x↦b]∀y⁢B⁢(y) con b un elemento del universo, sabemos que hay al menos uno porque el universo no es vacío. Así se cumple ℳ⊧ℓ⁢[x↦b](B⁢(x)→∀y⁢B⁢(y)).

  • Bℳ≠A. Se tiene un individuo del universo que no cumple B. Sea b tal individuo, de modo que ℳ⊧̸ℓ⁢[x↦b]B⁢(x), en tal caso ℳ⊧ℓ⁢[x↦b](B⁢(x)→∀y⁢B⁢(y)), pues el antecedente de la implicación se evalúa a falso.

Por lo tanto, se satisface ℳ⊧ℓ∃x⁢(B⁢(x)→∀y⁢B⁢(y)).

Ejemplo 2.10.

Demuestre que la fórmula (∀x⁢(P⁢(x)→∃y⁢Q⁢(y)))→(∀x⁢∃y⁢(P⁢(x)→Q⁢(y))) es válida.

Sea ℳ un modelo y ℓ un ambiente. Supongamos ℳ⊧ℓ∀x⁢(P⁢(x)→∃y⁢Q⁢(y)), es decir, para toda a∈A se cumple ℳ⊧ℓ⁢[x↦a]P⁢(x)→∃y⁢Q⁢(y).

Vamos a suponer además que ℳ⊧ℓ⁢[x↦a]P⁢(x), entonces ℳ⊧ℓ⁢[x↦a]∃y⁢Q⁢(y). Así, hay una b∈A tal que ℳ⊧ℓ⁢[x↦a,y↦b]Q⁢(y), luego ℳ⊧ℓ⁢[x↦a]Q⁢(b). Llegamos a que si ℳ⊧ℓ⁢[x↦a]P⁢(x), entonces ℳ⊧ℓ⁢[x↦a]Q⁢(b), esto es ℳ⊧ℓ⁢[x↦a]P⁢(x)→Q⁢(b).

Actualizando el ambiente con y↦b, tenemos ℳ⊧ℓ⁢[x↦a,y↦b]P⁢(x)→Q⁢(y). Por lo tanto, ℳ⊧ℓ⁢[x↦a]∃y⁢(P⁢(x)→Q⁢(y)). Esto se vale para toda a∈A, de manera que ℳ⊧ℓ∀x∃y(P(x)→Q(y))).

Ejercicio

Considere los siguientes tres enunciados:

φ1=def∀x⁢P⁢(x,x)φ2=def∀x⁢∀y⁢(P⁢(x,y)→P⁢(y,x))φ3=def∀x⁢∀y⁢∀z⁢((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.