I1M2017: Emacs para ciencias del dato

En la primera parte de la clase de hoy de Informática de 1º del Grado en Matemáticas hemos seguido comentando cómo se puede usar emacs como

  • entorno de trabajo de programación (en Haskell, Python y R),
  • procesador de texto con posibildad de exportarlo a HTM, LaTeX, PDF y otros formatos y
  • soporte para la programación literaria integrando en un mismo documento código (en distintos lenguajes) y generando dinámicamente los resultados de las evaluaciones.

Como soporte se ha usado los apuntes de

LMF2017: Tableros semánticos.

En la clase de hoy del curso Lógica matemática y fundamentos se ha presentado un nuevo sistema deductivo: los tableros semánticos.

Hemos visto cómo los problemas de tautología y de consecuencia lógica se reducen a problemas de consistencia:

  1. F es una tautología syss {¬F} es inconsistente.
  2. F es consecuencia lógica de S syss S ∪ {¬F} es inconsistente.

Por tanto, para resolver ambos problemas basta con tener un procedimiento sistemático de búsqueda de modelos. Uno de dichos procedimientos es el de tableros semánticos.

Una ventaja de los tableros semánticos frente a la deducción natural es la reducción del número de reglas lo que facilita su automatización.

Además, se ha presentado el sistema Tree Proof Generator que busca automáticamente el tablero semántico correspondiente a la fórmula introducida.

Las transparencias de esta clase son las de las del tema 3 y del tema 9

I1M2017: El TAD de los polinomios en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos estudiado el tipo abstracto de los polinomios y su implementación en Haskell.

Comenzamos la clase analizando las posibles representaciones de los polinomios y, como consecuencia, establecer la signatura y las propiedades del TAD de los polinomios.

A continuación, estudiamos tres prosibles representaciones del TAD de los polinomios mediante tipos algebraicos, mediantes listas dispersas y mediante listas densas y sus implementaciones en Haskell

Finalmente, hemos estudiado las operaciones con los polinomios usando el TAD de los polinomios.

Los apuntes correspondientes a la clase son

LMF2017: Deducción natural de primer orden con Isabelle/HOL

En la clase de hoy del curso de Lógica matemática y fundamentos se ha presentado la deducción natural de primer orden Isabelle/HOL. La presentación se basa en los ejemplos del tema 8 que, a su vez, se basa en el capítulo 2 del libro de Huth y Ryan Logic in Computer Science (Modelling and reasoning about systems).

La página al lado de cada ejemplo indica la página de las transparencias donde se encuentra la demostración.

Para cada ejemplo se presentan distintas demostraciones. La primera intenta reflejar la demostración de las transparencias, las siguientes van eliminando detalles de la prueba hasta la última que es automática.

A los largos de los ejemplos se van comentando los elementos del lenguaje conforme van entrando en el juego.

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

I1M2017: Las librerías de conjuntos y de diccionarios en Haskell

En la segunda parte de la clase de hoy de Informática de 1º del Grado en Matemáticas se han estudiado las librerías de diccionarios y de conjuntos en Haskell.

Como primera aproximación se ha explicado su exposición en ¡Aprende Haskell por el bien de todos!. Concretamente las secciones: Data.Map y Data.Set.

En segundo lugar se ha comentado las funciones con las librerías con sus ejemplos:

Finalmente, para comentar las complejidades de las funciones, se ha visto la documentación de las librerías Data.Set y Data.Map.