I1M2011: Introducción a la programación con Haskell

En la clase de hoy del curso Informática (de 1º de Grado en Matemáticas) se ha presentado una introducción a la programación con Haskell usando emacs como entorno de programación. Concretamente, su objetivo del tema ha sido aprender a:

  • usar Haskell como calculadora aritmética (con las funciones +, -, *, /, div y ^).
  • usar Haskell como calculadora de listas (con las funciones head, tail, take, drop, length, sum, product, ++ y reverse).
  • escribir guiones de Haskell en emacs.
  • cargar los guiones y evaluar expresiones con las funciones definidas.

Como tarea para la próxima clase se ha propuesto instalar GHC y emacs (cuyos enlaces se encuentran en la página de sistemas y escribir de manera colaborativa las soluciones de los ejercicios de la 1º relación.

Las transparencias usadas en la clase son las del tema 2:
Read More “I1M2011: Introducción a la programación con Haskell”

LI2011-12: De la semántica a la deducción natural en lógica proposicional

En la clase de hoy del curso Lógica Informática se ha concluido el estudio de la semántica de la lógica proposicional y se ha empezado el estudio de la deducción natural en lógica proposicional.

De la semántica de la lógica proposicional se ha demostrado la equivalencia entre los distintos problemas semánticos:

  1. decidir si una fórmula es consecuencia lógica de un conjunto finito de as,
  2. decidir si una fórmula es una tautología,
  3. decidir si una fórmula es insatisfacible y
  4. decidir si un conjunto de fórmulas es inconsistente.

También se ha mostrado cómo usar el sistema Gateway to Logic para resolver problemas, aplicándolo al rompecabeza de los veraces y mentirosos. Finalmente, se ha comentado la relación de tipos de problemas.

Teminado el estudio semántico (cuyo problema fundamental es dado un conjunto de fórmulas S y una fórmula F, decidir si F es consecuencia de S (en notación, S |= F)), comenzamos el estudio de los cálculos deductivos (cuyo problema fundamental es dado un conjunto de fórmulas S y una fórmula F, decidir si F es deducible de S (en notación, S |- F)). Además, se requiere que los cálculos sean adecuados y completos (es decir; que S |= F si, y sólo si, S |- F).

El primer cálculo deductivo que estudiamos es el de deducción natural. Las reglas que se han visto en la clase de hoy son las de la conjunción, de la doble negación, de eliminación del condicional, de modus tollens, de introducción del condicional y las de la disyunción.

Como tarea pendiente se propone la resolución de los 36 primeros apartados del ejercicio 5 del tema 2 del libro de ejercicios, cuyas soluciones se encuentran en libro de ejercicios de deducción natural en lógica proposicional.

Las transparencias de esta clase son las páginas 1-12 del tema 2
Read More “LI2011-12: De la semántica a la deducción natural en lógica proposicional”

LI2011-12: Semántica de la lógica proposicional

En la clase de hoy del curso Lógica Informática se ha continuado el estudio de la semántica proposicional desde el punto de vista computacional; es decir, se ha ido definidendo los conceptos semánticos y comentando su posible implementación.

Hemos continuado con el estudio de la semántica de una fórmula planteando los problemas SAT y TAUT y presentando dos algoritmos para su solución: tablas de verdad y método de Quine.

Además, se han definidos los conceptos de equivalencia de fórmulas, modelos de conjuntos de fórmulas, conjuntos consistentes e inconsistentes y la relación de consecuencia lógica.

Se ha visto la equivalencia de los siguientes problemas

  1. decidir si una fórmula es consecuencia lógica de un conjunto finito de fórmulas,
  2. decidir si una fórmula es una tautología,
  3. decidir si una fórmula es insatisfacible y
  4. decidir si un conjunto de fórmulas es inconsistente.

Como aplicación se ha visto la decisión de la corrección de un argumento y la resolución de rompecabezas lógicos.

Como tarea pendientes se propone la resolución de los ejercios 27 a 37 del capítulo 1 del libro de ejercicios.

Las transparencias de esta clase son las páginas 14-34 del tema 1
Read More “LI2011-12: Semántica de la lógica proposicional”