En esta obra sólo se asumen conocimientos previos muy básicos de matemáticas, conocimientos que además se revisan brevemente en un capítulo de preliminares. El libro está escrito de forma amena y cercana, simplificando al máximo la carga notacional y con numerosos ejemplos que ilustran los conceptos explicados. Todos los ejercicios propuestos, más de 200, van acompañados de su correspondiente solución, desarrollada en todo detalle.
El libro trata de dos lógicas fundamentales: la Lógica Proposicional y la Lógica de Primer Orden. Después del capítulo de preliminares matemáticos, los dos siguientes capítulos giran alrededor de la definición de la Lógica Proposicional y de las técnicas de deducción en esta lógica y sus aplicaciones. Siguiendo el mismo esquema, en la segunda parte del libro se define la Lógica de Primer Orden y se explican los métodos de deducción y algunas aplicaciones, en el primer capítulo. El siguiente capítulo está dedicado a una aplicación relevante de la lógica y sus métodos deductivos en la informática: la programación lógica. Un último capítulo recopila todos los problemas propuestos junto a sus correspondientes soluciones.
Los autores del libro son Doctores en Informática o Matemáticas. En la actualidad ocupan plazas de Lector, Profesor Titular o Catedrático en la Universidad Politécnica de Cataluña y cuentan con muchos años de experiencia en la docencia y la investigación de la lógica en el ámbito de la informática. 1. Preliminares 1 1.1. Conjuntos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1. Inclusión e igualdad de conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2. Operaciones sobre conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.3. Propiedades de las operaciones sobre conjuntos . . . . . . . . . . . . . . . . . . . 2 1.1.4. Partes de un conjunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.5. Cadenas sobre un conjunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Relaciones y funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1. Relación de equivalencia y conjunto cociente . . . . . . . . . . . . . . . . . . . . 4 1.2.2. Relaciones de orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Combinatoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4. Demostración de propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4.1. Inducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4.2. Contra recíproco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4.3. Reducción al absurdo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2. Definición de la lógica proposicional 7 2.1. ¿Qué es una lógica? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2. Lógica proposicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. Explicaciones sobre la definición de la lógica proposicional . . . . . . . . . . . . . . . . . 8 2.4. Satisfactibilidad, tautología, consecuencia y equivalencia . . . . . . . . . . . . . . . . . . 9 3. Deducción en la lógica proposicional 19 3.1. Formas normales y clausulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2. Nociones informales de divisibilidad y complejidad . . . . . . . . . . . . . . . . . . . . . 21 3.2.1. Lo importante es el coste como función del tamaño de la entrada . . . . . . . . . . 22 3.3. Resolución. Corrección y completitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4. Resolver problemas prácticos con la lógica proposicional . . . . . . . . . . . . . . . . . . 27 3.5. El procedimiento DPLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4. Definición de la lógica de primer orden 35 4.1. Lógica de primer orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.1.1. Sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.1.2. Interpretación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.1.3. Satisfacción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.1.4. Formulas cerradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2. Explicaciones sobre la definición de la lógica de primer orden . . . . . . . . . . . . . . . 37 4.3. Lógica de primer orden con igualdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.4. Formalización del lenguaje natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5. Deducción en la lógica de primer orden 51 5.1. Formas normales y clausulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.2. Transformación a forma clausal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3. Unificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.4. Resolución y factorización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6. Fundamentos de la programación lógico 61 6.1. Cálculo de respuestas mediante resolución . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.1.1. Bases de datos deductivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.1.2. Programas lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.1.3. Completitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.2. La ejecución de programas Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.2.1. La resolución SLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6.2.2. Ejemplos de Prolog . Unificación, listas . . . . . . . . . . . . . . . . . . . . . . . 66 6.2.3. La programación recursiva y la inducción . . . . . . . . . . . . . . . . . . . . . . 68 6.2.4. Los aspectos extra-lógicos de Prolog . . . . . . . . . . . . . . . . . . . . . . . . 69 7. Ejercicios resueltos 79 7.1. Ejercicios de definición de la lógico proposicional . . . . . . . . . . . . . . . . . . . . . . 79 7.2. Ejercicios de deducción en la lógico proposicional . . . . . . . . . . . . . . . . . . . . . . 114 7.2.1. Formas normales y clausulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.2.2. Nociones informales de divisibilidad y complejidad . . . . . . . . . . . . . . . . 123 7.2.3. Resolución. Corrección y completitud . . . . . . . . . . . . . . . . . . . . . . . . 124 7.2.4. Resolver problemas prácticos con la lógica proposicional . . . . . . . . . . . . . . 132 7.2.5. El procedimiento DPLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 7.3. Ejercicios de definición de la lógica de primer orden . . . . . . . . . . . . . . . . . . . . . 153 7.3.1. Lógica de primer orden con igualdad. . . . . . . . . . . . . . . . . . . . . . . . 169 7.3.2. Formalización del lenguaje natural. . . . . . . . . . . . . . . . . . . . . . . . . . 176 7.4. Ejercicios de deducción en la lógica de primer orden . . . . . . . . . . . . . . . . . . . . 177 7.5. Ejercicios de fundamentos de la programación lógica . . . . . . . . . . . . . . . . . . . . 194