I1M2015: Definiciones por comprensión

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha explicado la primera parte tema 5 en la que se estudia cómo definir funciones en Haskell usando listas de comprensión. En concreto, hemos visto cómo definir:

  • listas con un generador,
  • listas con varios generadores,
  • listas con generadores dependientes,
  • listas con guardas,
  • listas con guardas e igualdad y
  • emparejamiento de listas con zip.

Las transparencias usadas en la clase son las comprendidas entre las páginas 1 y 13 del tema 5

LI2015: Semántica de la lógica proposicional y deducción natural

En la primera parte de la clase de hoy del curso de Lógica Informática se ha demostrado 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.

A continuación, se ha comentado distintos tipos de problemas que se pueden plantear sobre la sintaxis y semántica de la lógica proposicional.

Finalmente, se ha comenzado 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 y de la doble negación.

En la segunda parte de la clase se han comentado las soluciones de los ejercicios 26.1, 27.1, 28, 29.2, 30.1 del capítulo 1 del libro de ejercicios. En la solución del último, se ha explicado cómo comprobar las formalizaciones usando APLI2.

Se propusieron para la próxima clase los ejercicios 32 a 37 del capítulo 1 del libro de ejercicios.

Las transparencias de esta clase son las páginas 1-5 del tema 2

I1M2015: Ejercicios de definiciones por composición sobre números, listas y booleanos

En la segunda parte e la clase de hoy del curso de Informática de 1º del Grado en Matemáticas hemos comentado las soluciones de los ejercicios de la 1ª relación sobre definiciones por composición de funciones sobre números, listas y booleanos.

Los ejercicios y su solución se muestran a continuación
Read More “I1M2015: Ejercicios de definiciones por composición sobre números, listas y booleanos”

I1M2015: Métodos elementales de definición de funciones en Haskell

En la primera parte de la clase de hoy del curso Informática (de 1º de Grado en Matemáticas) se ha explicado el tema 4 donde se estudia cómo definir funciones en Haskell usando los formas básicas: composición, condicionales, guardas y patrones.

Como tarea para la próxima clase se ha propuesto resolver de manera colaborativa los ejercicios de la 2ª relación.

Las transparencias usadas en la clase son las del tema 4

LI2015: Semántica de la lógica proposicional

El objetivo fundamental de primera parte de la clase de hoy del curso Lógica Informática ha consistido en responder estas dos preguntas:

  • ¿cómo se puede construir un programa para que dada una fórmula decida si es verdadera?
  • ¿cómo se puede construir un programa para que dada un conjunto de fórmulas S una fórmula F decida si es consecuencia de S?

Para responder a la primera pregunta, desarrollamos la semántica de la lógica proposicional. En primer lugar, el valor de verdad de una fórmula en una interpretación se define por recursión. A partir del valor de verdad podemos, dada una fórmula F, dividir las interpretaciones entre las que son modelo de F y las que no lo son. Además, las fórmulas pueden clasificarse en satisfacibles (las que tienen modelos) e insatisfacibles (en caso contrario). Las fórmulas satisfacibles se pueden clasificar en tautologías (para las que todas las interpretaciones son modelo) y contingentes (en caso contrario).

Hemos continuado 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.

En la segunda parte de la clase se han comentado las soluciones de los ejercicios 22, 23, 24.1 y 25 del capítulo 1 del libro de ejercicios. Se propusieron para la próxima clase los ejercicios 26 a 31.

Las transparencias de esta clase son las páginas 14-34 del tema 1