LI2014: Sintaxis de la lógica proposicional

La clase de hoy del curso Lógica Informática ha tenido dos partes.

En la primera parte se ha presentado un panorama de la lógica y sus aplicaciones a la informática. Como ejemplo de aplicación se ha mostrado cómo se puede generar automáticamente programas usando MagicHaskeller.

En la segunda parte se ha explicado la sintaxis de la lógica proposicional insistiendo en el carácter inductivo del tipo de datos de las fórmulas proposicionales, del procedimiento de definiciones por recursión sobre las fórmulas y de demostración de propiedades por inducción sobre las fórmulas.

Como tarea se ha propuesto resolver de los ejercicios de la 1ª relación.

Las transparencias de esta clase son las páginas 1-13 del tema 1
Read More “LI2014: Sintaxis de la lógica proposicional”

LMF2014: Resolución proposicional

En la clase de hoy del curso Lógica matemática y fundamentos hemos continuado la búsqueda de la automatización del razonamiento.

Comenzamos observando que, a partir de la forma normal conjuntiva, podemos representar las fórmulas, y los conjuntos de fórmulas, mediante conjunto de conjuntos de literales. Con esta nueva representación, basta una única regla de demostración: la regla de resolución. Esta regla engloba distintas reglas (como modus pones, modus tollens y encadenamiento).

Mediante las cláusulas, el problema de inconsistencia de un conjunto de de fórmulas se reduce al de la inconsistencia de un conjunto de cláusulas.

Mediante resolución, el problema de la inconsistencia de un conjunto de cláusulas se reduce a buscar la cláusula vacía entre las resolventes del conjunto S.

Finalmente, hemos visto propiedades del método (adecuación y completitud) y algoritmos de búsqueda de demostraciones por resolución.

Las transparencias de esta clase son las páginas 1 a 24 del tema 5
Read More “LMF2014: Resolución proposicional”

LMF2014: Tableros semánticos en Haskell

En la clase de hoy del curso de Lógica matemática y fundamentos (de 3º de Grado en Matemáticas) se ha comentado las soluciones de los ejercicios sobre la implementación en Haskell de los tableros semánticos.

En los ejercicios se usa el módulo SintaxisSemantica desarrollado anteriormente.

Las soluciones de los ejercicios se muestran a continuación.
Read More “LMF2014: Tableros semánticos en Haskell”

LMF2014: Formales normales conjuntivas y disyuntivas

En la clase de hoy del curso Lógica matemática y fundamentos hemos continuado la búsqueda de métodos automáticos para el problema TAUT (i.e. decidir si una fórmula dada es una tautología) y el problema SAT (i.e decidir si una fórmula dada es satisfacible).

Comenzamos observando que:

  • el problema TAUT se resuelve fácilmente para las fórmulas que son conjunciones de disyunciones de literales (es decir, están en forma normal conjuntiva (FNC)) y
  • el problema SAT se resuelve fácilmente para las fórmulas que son disyunciones de conjunciones de literales (es decir, están en forma normal disyuntiva (FND)).

Por tanto,

  • para la solución del problema TAUT sólo nos falta un procedimiento mecánico que dada una fórmula calcule otra que sea equivalente a la dada y que esté en FNC y
  • para la solución del problema SAT sólo nos falta un procedimiento mecánico que dada una fórmula calcule otra que sea equivalente a la dada y que esté en FND.

Mostramos las reglas equivalencia para el cálculo de los formas normales y los procedimientos de decisión para los porblemas TAUT y SAT.

Por último, vemos cómo el método de los tableros semánticos proporciona otro procedimiento de cálculo de las formas normales.

Las transparencias de esta clase son las del tema 4
Read More “LMF2014: Formales normales conjuntivas y disyuntivas”