LMF2016: Deducción natural proposicional en Isabelle/HOL

En la clase de hoy del curso Lógica matemática y fundamentos se ha estudiado la formalización en Isabelle/HOL de las demostraciones por deducción natural estudiadas en el tema 2.

Para cada uno de los ejemplos se ha presentado distintas demostraciones: detallada (que sea parecida a la mostrada en las transparencias), estructurada y automática.

La teoría con los ejemplos presentados en la clase es la siguiente:
Read More “LMF2016: Deducción natural proposicional en Isabelle/HOL”

I1M2015: El TAD de los conjuntos en Haskell

En la segunda parte de la clase de hoy de Informática de 1º del Grado en Matemáticas hemos estudiado el tipo abstracto de datos de los conjuntos y tres de sus implementaciones en Haskell.

Se ha seguido el mismo patrón que en los anteriores tipos de datos:

  • elección de las operaciones básicas,
  • especificación de sus propiedades,
  • implementación en Haskell mediante no ordenadas con duplicados,
  • implementación en Haskell mediante listas no ordenadas sin duplicados,
  • implementación en Haskell mediante listas ordenadas sin duplicados,
  • análisis de la complejidad de las definiciones de las operaciones básicas en las tres implementaciones y
  • verificación con QuickCheck de sus propiedades características.

Las transparencias usadas en la clase son las del tema 17.

También se ha comentado el uso de la librería de conjuntos de Haskell y la complejidad de sus operaciones.

Finalmente, se ha comentado la librería de conjuntos de Maxima.

I1M2015: El tipo abstracto de datos de las colas de prioridad en Haskell

En la primera parte de la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado el tipo abstracto de las colas de prioridad.

Se ha seguido el mismo patrón que en los anteriores tipos de datos:

  • elección de las operaciones básicas,
  • especificación de sus propiedades,
  • implementación en Haskell mediante listas,
  • análisis de la complejidad de las definiciones de las operaciones básicas y
  • verificación con QuickCheck de sus propiedades características.

Las transparencias usadas en la clase son las del tema 16

El código de la implementación de las colas de prioridad mediante listas es el siguiente
Read More “I1M2015: El tipo abstracto de datos de las colas de prioridad en Haskell”