Funciones de orden superior en programación funcionaluna perspectiva categórica

  1. FREIRE BRAÑAS JOSÉ ENRIQUE
Dirigida por:
  1. José Luis Freire Nistal (1943-) Director/a

Universidad de defensa: Universidade da Coruña

Fecha de defensa: 24 de julio de 2003

Tribunal:
  1. Antonio Blanco Ferro Presidente/a
  2. Felicidad Aguado Secretario/a
  3. Felipe Gago Couso Vocal
  4. Eladio Domínguez Murillo Vocal
  5. Laureano Lambán Pardo Vocal

Tipo: Tesis

Teseo: 99236 DIALNET

Resumen

Identificación de las estructuras subyacentes a las categorías de Eilenberg-Moore y de Kleisli asociadas a las mónadas usadas en algunos lenguajes funcionales puros para modelizar aspectos imperativos. Dar una adecuada definición de la noción de tipo que permita abarcar estructuras abstractas. Definición de morfismos genéricos sobre esos tipos de forma que, aplicados a parámetros adecuados, posibiliten la construcción de programas funcionales verificables. Generalización de los teoremas de optimización (fusión y deforestación) aplicables a los morfismos previamente declarados. Implementación y optimización en CAML, usando los teoremas descritos en el apartado anterior, de los siguientes problemas: resolución, por medio de un algoritmo de búsqueda ciega, del problema PS de McCarthy, cálculo del número cromático y del spanning-tree de un grafo. Construcción de morfismos sobre tipos anidados con la posibilidad de ser singularizados analizando qué requerimientos son precisos para poder definir tales funciones. Caracterización de las funciones tail-recursive sobre los tipos regulares. Implementación y demostración en Coq de las propiedades previamente reseñadas. Definición en Coq de las funciones primitivo recursivas y de la noción de catamorfismo generalizado. Demostración en Coq del carácter catamórfico de la función de Ackermann. Demostración en Coq de la imposibilidad de declarar la función de Ackermann como catamorfismo generalizado. Caracterización de los cotipos según su carácter coninductivo analizando la equivalencia con su definición en Coq.