Resumen
La semántica prometió métodos para decidir la insatisfacibilidad que no recorrieran la tabla de verdad; esta clase entrega el principal de ellos. Se escribe un conjunto de fórmulas como un conjunto de cláusulas, cada una un conjunto finito de literales, por la forma normal conjuntiva o, para evitar su crecimiento exponencial, por cláusulas de definición con variables nuevas, que conservan la satisfacibilidad. Sobre las cláusulas actúa una sola regla, la de resolución: de una cláusula que contiene un literal y otra que contiene su opuesto se infiere la unión de ambas sin ese par. Una refutación es una derivación que llega a la cláusula vacía. Se demuestra la corrección (si hay refutación, el conjunto es insatisfacible), por inducción sobre la longitud de la derivación, y la completitud refutacional (si un conjunto finito es insatisfacible, hay refutación), por inducción sobre el número de variables, eliminándolas una a una; con el teorema de compacidad, la completitud se extiende a conjuntos infinitos. De ello resulta un método para decidir consecuencias, que se compara con las tablas, y una presentación del problema de la satisfacibilidad, con dos casos que se deciden deprisa: las cláusulas de Horn y las de dos literales.
Objetivos de aprendizaje
- Representar un conjunto de fórmulas como un conjunto de cláusulas, por la forma normal conjuntiva o por cláusulas de definición con variables nuevas, y justificar que la representación conserva la satisfacibilidad y la consecuencia.
- Construir refutaciones por resolución y decidir con ellas consecuencias e insatisfacibilidad, sin incurrir en los errores típicos, como eliminar dos pares complementarios en un solo paso.
- Demostrar la corrección de la resolución por inducción sobre la longitud de las derivaciones y su completitud refutacional por eliminación de variables, y extenderla a conjuntos infinitos con el teorema de compacidad.
- Explicar el problema de la satisfacibilidad, su costo conocido y los casos que se deciden con rapidez (cláusulas de Horn y de dos literales), y comparar la resolución con las tablas de verdad.
La clase sobre la semántica de la lógica proposicional mostró que la validez y la satisfacibilidad son decidibles por la tabla de verdad, a un costo que se duplica con cada variable, y anunció métodos que no exigieran recorrerla. La clase sobre consecuencia y equivalencia semántica redujo toda consecuencia a una insatisfacibilidad: si y solo si es insatisfacible. Las clases sobre las formas normales y sobre su algoritmo dieron a toda fórmula una forma conjuntiva, cuya validez se ve a simple vista, pero cuya satisfacibilidad no se ve. Si esto es así, falta un procedimiento que decida la insatisfacibilidad de una conjunción de cláusulas operando sobre las cláusulas mismas. Ese procedimiento es la resolución, propuesta por John Alan Robinson en 1965 sobre ideas de Martin Davis y Hilary Putnam (1960); es el núcleo de los programas que hoy deciden la satisfacibilidad de fórmulas con millones de variables. A diferencia del sistema de la unidad de deducción, cuyas relaciones con la semántica estudian las clases sobre la corrección y la completitud y sobre el teorema de compacidad, la resolución no deduce conclusiones: refuta conjuntos. Esta clase demuestra que lo hace de modo correcto y completo.
Como en las clases anteriores, , , , y nombran las variables a ; la letra sin subíndice, y también , designan valoraciones; y es el conjunto de las variables de .
Cláusulas y conjuntos de cláusulas
Recuérdese de la clase sobre las formas normales que un literal es una variable o la negación de una variable, y que el opuesto de un literal , escrito , es el literal de la misma variable y del otro signo; dos literales opuestos forman un par complementario. Por el lema de la negación de un literal, para toda valoración . Allí una cláusula era una disyunción de literales; aquí conviene olvidar el orden y las repeticiones, que no alteran el valor, y quedarse con el conjunto.
Una cláusula es un conjunto finito de literales. La cláusula sin literales se llama cláusula vacía y se escribe . Una valoración satisface una cláusula , y se escribe , si algún literal de vale en ; en caso contrario, la refuta. Una cláusula de un solo literal se llama unitaria. Las variables de una cláusula forman el conjunto ; las de un conjunto de cláusulas, el conjunto , unión de los anteriores. Una valoración satisface un conjunto de cláusulas, , si satisface cada una de sus cláusulas; es satisfacible si alguna valoración lo satisface, e insatisfacible en caso contrario. Por último, si es un conjunto de cláusulas y una cláusula, significa que toda valoración que satisface satisface .
Dos casos extremos se siguen de la definición y conviene fijarlos. La cláusula vacía no tiene literales; por tanto, ningún literal suyo vale , y ninguna valoración la satisface: es insatisfacible, y todo conjunto que la contenga también. El conjunto vacío de cláusulas, en cambio, no tiene cláusulas que satisfacer, y toda valoración lo satisface. No deben confundirse: es insatisfacible y es satisfecho por todas las valoraciones.
Sea una cláusula no vacía, con sus literales escritos en cualquier orden y sin repetir. Para toda valoración , si y solo si . En particular, todas las disyunciones de los literales de , en cualquier orden y con repeticiones, son equivalentes entre sí. Además, es satisfecha por toda valoración si y solo si contiene un par complementario.
Demostración
Por el lema del valor de las disyunciones de fórmulas, demostrado en la clase sobre las leyes generalizadas de De Morgan y de distribución, la disyunción vale si y solo si alguno de sus términos vale .
Que algún valga es que algún literal de valga , es decir, que satisfaga . La condición no depende del orden ni de las repeticiones, porque solo pregunta qué literales están.
Por el lema de las conjunciones elementales y las cláusulas (clase sobre las formas normales), una disyunción de literales es válida si y solo si contiene un par complementario; por lo anterior, eso mismo vale para .
Una cláusula que contiene un par complementario se llama tautológica: no impone ninguna condición, y puede quitarse de cualquier conjunto sin alterar sus modelos. Escribir las cláusulas como conjuntos no es un capricho de notación. Si de y se quiere obtener , la disyunción da , que equivale a pero no es la misma fórmula; con conjuntos, , y la fusión de los literales repetidos ocurre sola.
Sea . La cláusula exige ; entonces exige , y entonces exige . La valoración que da a y a y a las demás variables satisface , y es la única posibilidad en . Si se añade la cláusula , ninguna valoración satisface el conjunto ampliado: es insatisfacible, aunque no contenga .
Cargando el contenido…