Ementa: |
- Revisão dos fundamentos teóricos da computação: geração e reconhecimento de linguagens formais e funções computáveis.- Fundamentos de programação lógica: noções de lógica matemática, unificação, teoria de pontos fixos, programas definidos, tratamento de informação negativa computabilidade de funções recursivas com programas lógicos.- Fundamentos de teoria de reescrita: lambda cálculo, sistemas abstratos de reescrita, sistemas de reescrita de termos e computabilidade de funções recursivas com sistemas de reescrita. |
Referências: |
- M. Ayala-Rincón. Fundamentos da Programação Lógica e Funcional. Notas de aula versão 2006. Disponível em http://ayala.mat.unb.br- F. Baader and T. Nipkow.Term Rewriting and All That. CUP, 1998.- W. Carnielli e R. L. Epstein. Computabilidade, Funções Computáveis, Lógica e os Fundamentos da Matemática, Editora Unesp, 2006.- K. Doets. From Logic to Logic Programming, MIT Press, 1994.- J. E. Hopcroft, R. Motwani and J. D. Ullman. Introduction to Automata Theory, Languages and Computation.Addison-Wesley, Third Edition, 2006.- D. Kelley Automata and Formal Languages - An Introduction. Prentice Hall, 1995.- J. W. Lloyd. Foundations of Logic Programming, Symbolic Computation - Artificial Intelligence. Springer, second edition, 1987. - M. Sipser Introduction to the Theory of Computation.PWS Publishing Company, 1997.- TERESE. Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, Vol. 55, Cambridge University Press, 2003. |