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.
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 y , sus dependencias y los valores concretos de los argumentos en los predicados . 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 , tratamos de encontrar alguna instancia de tal que se cumpla. Si tenemos éxito, se evalúa a ; de otro modo, regresa . Evaluar consiste en demostrar que se evalúa a para todo valor posible de ; si tenemos éxito, 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.
Un conjunto no vacío , el universo de valores concretos.
-
2.
Para cada símbolo de función nula, i.e., símbolo de constante, , un elemento concreto de .
-
3.
Para cada símbolo con aridad , una función concreta .
-
4.
Para cada con aridad , un subconjunto de tuplas de elementos sobre .
Los símbolos , y son sólo símbolos, mientras que , y 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 , 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 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 asocia a cada variable una valor del modelo.
Definición 1.2.
Un ambiente para un universo es una función del conjunto de variables en . Denotamos por el ambiente en el que a le corresponde , y a cualquier otra variable le corresponde .
Definición 1.3.
Dado un modelo para un par y un ambiente , definimos la relación de satisfacción , para cada fórmula definida sobre el par y ambiente , por inducción sobre como se ilustra abajo. Si se cumple , decimos que se evalúa a en el modelo con respecto al ambiente .
: | Si es de la forma , entonces interpretamos los términos en el universo al reemplazar símbolos de constantes y funciones por los valores asignados en , y todas las variables por sus valores correspondientes en . Así encontramos valores concretos de para cada uno de estos términos. De modo que se satisface syss está en el conjunto |
---|---|
: | La relación se satisface syss se satisface para toda . |
: | La relación se satisface syss se satisface para alguna . |
: | La relación se satisface syss no es el caso que se satisface. |
: | La relación se satisface syss o se satisface. |
: | La relación se satisface syss y se satisfacen. |
: | La relación se satisface syss se satisface siempre que se satisface. |
: | La relación se satisface syss y ambos se satisfacen o ambos no se satisfacen. |
Se puede demostrar por inducción estructural que syss , siempre que y 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 se satisface, o no, sin importar la elección de . Así que para enunciados excluimos al ambiente , 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.
La fórmula es satisfacible syss hay un modelo y un ambiente tal que se satisface. Por ejemplo, la fórmula se satisface tomando como modelo a , donde , y ; además, .
-
2.
La fórmula es verdadera en syss para todo ambiente se satisface . Por ejemplo, la fórmula es verdadera en el mismo modelo que el del punto 1, ya que se satisface para todo ambiente .
-
3.
La fórmula es válida syss se satisface para todos los modelos y ambientes en los cuales podemos darle sentido a , en tal caso escribimos . La fórmula no es válida, pero las fórmulas , y sí lo son, como se mostrará en los ejemplos al final de la nota.
-
4.
El conjunto es consistente o satisfacible syss existe un modelo y un ambiente tal que se satisface para todo .
-
5.
La consecuencia lógica se cumple syss para todo modelo y ambiente , si se satisface para toda , entonces también 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 ‘’.
Además, considere que al verificar , 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:
Sea un modelo que satisface . Por demostrar que satisface . Analicemos los siguiente casos:
-
No todo elemento de nuestro modelo satisface , entonces satisface pues el antecedente de la implicación es falso.
-
Todo elemento de nuestro modelo satisface , como satisface , se tiene que cada elemento del modelo satisface también.
Por consiguiente, satisface .
¿Qué hay de la consecuencia lógica inversa? ¿Es válido también? No es el caso, supongamos que es un modelo que satisface . Si es el universo, y y son las interpretaciones correspondientes de y , entonces dice que si es igual a , entonces también debe ser igual a . Sin embargo, si no es igual a , entonces esta implicación es trivialmente verdadera. Como no se cuentan con restricciones adicionales sobre nuestro modelo , podemos construir el contraejemplo siguiente: sea , y . Entonces es cierto, pero 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.
es verdadera en .
-
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.
Sea un modelo y un ambiente.
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, . Sea un modelo y un ambiente, veamos que se satisface , es decir, se cumple para algún en el universo . Tenemos dos casos:
-
. Se tiene para toda . Así, . Como es un enunciado, tenemos que con un elemento del universo, sabemos que hay al menos uno porque el universo no es vacío. Así se cumple .
-
. Se tiene un individuo del universo que no cumple . Sea tal individuo, de modo que , en tal caso , pues el antecedente de la implicación se evalúa a falso.
Por lo tanto, se satisface .
Ejemplo 2.10.
Demuestre que la fórmula es válida.
Sea un modelo y un ambiente. Supongamos , es decir, para toda se cumple .
Vamos a suponer además que , entonces . Así, hay una tal que , luego . Llegamos a que si , entonces , esto es .
Actualizando el ambiente con , tenemos . Por lo tanto, . Esto se vale para toda , de manera que .
Ejercicio
Considere los siguientes tres enunciados:
los cuales expresan que el predicado 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.