RA2014: Ejercicios de razonamiento automático sobre programas con Isabelle/HOL

En la primera parte de la clase de hoy del curso de Razonamiento automático se ha comentado las soluciones de la 3ª relación de ejercicios cuyo objetivo es demostrar con Isabelle/HOL propiedades de programas.

Los ejercicios y sus soluciones se muestran a continuación
Read More “RA2014: Ejercicios de razonamiento automático sobre programas con Isabelle/HOL”

I1M2014: Funciones de orden superior en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se han estudiado las funciones de orden superior y las funciones de procesamiento de listas (map y filter).

Además, se ha estudiado cómo puede abstraerse los esquemas definición de funciones de recursión sobre listas mediante la función de plegado (foldr) y cómo con dicha función puede simplificarse la definición de funciones.

A continuación se ha visto cómo definir funciones con acumuladores y cómo simplificarlas con el patrón de plegado por la izquierda (foldl).

Finalmente, se ha visto cómo puede simplificarse la definición de funciones usando el operador de composición.

Las transparencias usadas en la clase son las páginas 1 a 22 del tema 7
Read More “I1M2014: Funciones de orden superior en Haskell”

LI2014: Tipos de problemas y su implementación en Haskell

En la primera parte de la clase de hoy del curso [Lógica Informática]http://www.cs.us.es/~jalonso/cursos/li-14) hemos comentado los tipos de problemas que se pueden resolver en los temas de lógica proposicional que hemos estudiado. En concreto,

  1. Sintaxis y semántica de la lógica proposicional.
  2. Deducción natural proposicional.
  3. Tableros semánticos proposicionales.
  4. Formas normales.
  5. Resolución proposicional.

En la segunda parte, hemos visto cómo se pueden definir en Haskell la funciones correspondientes a las soluciones de algunos de dichos problemas. En concreto, hemos comentado las definiciones correspondientes a las 20 primeras páginas del libro Lógica en Haskell.