Ano lectivo 1999/00 (semestre ímpar)
Programa
Para cumprir com os objectivos expostos, são cobertas as seguintes matérias:
1.Introdução e motivação para a disciplina
1.Apresentação
da disciplina
2.Breve história
da Programação em Lógica
3.Conceitos básicos
de Programação em Lógica
1.Factos e regras
2.Programas e perguntas
3.Semântica declarativa e operacional
4.Mecanismo de retrocesso ("backtracking")
5.Termos
2.Linguagem Prolog e seus constructores
1.Programação
de relações simples sobre números naturais (usando
functor suc/1)
2.Programação
de predicados sobre listas
3.Outras estruturas de dados
recursivas
4.Cálculo aritmético
em Prolog
5.Recursividade terminal
e não-terminal
6.Controlo procedimental
e "cuts"
7.Negação
por falha finita
8.Predicados Prolog de inspecção
de termos e meta-lógicos
9.Predicados de input/output
10.Predicados de manipulação
de programas
3.Técnicas de Programação em Lógica
1.Programação
com uso de não-determinismo
2.Listas de diferença
e outras estruturas incompletas
3.Meta-programação
com Programação em Lógica
4.Programação
de interpretadores
5.Programação
de analisadores sintáticos e aplicação a "interfaces"
de língua natural
4.Tópicos avançados
1.Mecanismos de tabulação
2.Ilustração
do uso de tabulação em programação de fechos
transitivos e em representação de conhecimento