La asignatura Lógica Informática puede verse como una continuación de la asignatura Lógica Matemática, impartida durante el primer cuatrimestre del curso. Su objetivo general es abordar el estudio de la Lógica desde la perspectiva de su aplicación al mundo de la Computación. La Lógica Matemática tiene múltiples aplicaciones en Informática, siendo fundamental, por ejemplo, para la especificación y verificación de programas o para el estudio de la semántica de los lenguajes de programación. El objetivo específico de la presente asignatura será introducir una de las aplicaciones más importantes de la Lógica dentro del campo de la Informática: su utilización como herramienta para la representación del conocimiento y para la resolución de problemas mediante ordenador.
La asignatura pretende por lo tanto ser un curso introductorio a los aspectos básicos de la Demostración Automática en Lógica de Primer Orden, al paradigma de la Programación Lógica y al lenguaje de programación Prolog, uno de los más destacados representantes de dicho paradigma.
Objetivos:
Al terminar el curso, el alumno deberá conocer los principios teóricos subyacentes al paradigma de la programación lógica, y entender cómo se da el paso desde el concepto de programación lógica ``pura'' a un lenguaje de programación ``real''. En lo que se refiere a este último aspecto, deberá conocer los rudimentos básicos del lenguaje Prolog y ser capaz de utilizarlo para la programación de pequeñas aplicaciones.
Temario:
El programa de la asignatura está estructurado en los cuatro siguientes
temas:
Tema I: Introducción: Lógica y Computación
Lógica Matemática y Lógica Informática. Demostración automática. Programación lógica. Otras aplicaciones de la lógica en computación. Otras Lógicas. Evolución Histórica.
Tema II: Demostración Automática mediante Resolución
Bases teóricas de la demostración automática. Unificación. Sistema de Resolución. Estrategias de Resolución.
Tema III: Programación Lógica
El paradigma de la programación lógica. Programas lógicos definidos: sintaxis y semántica (resolución SLD). Negación en programación lógica (resolución SLDNF).
Tema IV: El lenguaje de programación Prolog
El lenguaje ISO-Prolog: sintaxis y semántica. Predicados predefinidos. Aplicaciones.
Bibliografía Básica:
- J. Cuena. Lógica informática (edición revisada). Tomo II: Lógica Computacional. Servicio de Publicaciones de la Facultad de Informática. UPM, 1999.
- L. Sterling and E. Shapiro. The Art of Prolog. The MIT Press, Cambridge, Mass., second edition, 1994.