Lógica para Computação
De Wiki DAINF
Tabela de conteúdo |
Professores responsáveis
- Celso Kaestner
- O prof. Celso ministrou a disciplina no períodos 2007.1, 2007.2, 2008.1 e 2008.2 no curso de Engenharia de Computação. Em virtude de ter assumido o cargo de Assessor da Pró-Reitoria de Pesquisa e Pós-Graduação da UTFPR, esta disciplina será assumida pelo professor Adolfo Neto a partir do primeiro semestre de 2009.
- Adolfo Neto
- A partir de 2009.1, o professor Adolfo lecionará a disciplina para os cursos de Engenharia de Computação e Bacharelado em Sistemas de Informação.
Ementa
- Lógica Proposicional.
- Linguagem e Semântica.
- Sistemas Dedutivos.
- Aspectos Computacionais.
- O Princípio da Resolução.
- Lógica de Predicados.
- Substituição e Resolução.
- Introdução ao PROLOG.
- Aplicações em Computação: Introdução à Especificação e Verificação de Programas.
Objetivos da disciplina
Os objetivos da disciplina Lógica para Computação são "desenvolver conceitos de lógica proposicional e de predicados, prova automática de teoremas e programação em lógica".
O papel desta disciplina é o de mostrar como uma lógica pode ser vista como uma linguagem de especificação tanto de sistemas como de suas propriedades.
Sendo assim, pode-se entender a disciplina como o estudo das lógicas proposicional e predicativa do ponto de vista da verificação de propriedades por elas expressas, permitindo que o aluno seja capaz de identificar o tipo de lógica que pode ser usada para especificar um sistema ou propriedade, bem como realizar a modelagem de sistemas e propriedades por meio da lógica escolhida.
Bibliografia Básica
- SILVA, Flávio S. C. da; FINGER, Marcelo; MELO, Ana C. V. de. Lógica para Computação. São Paulo: Thomson Learning, 2006.
- Este livro conquistou o primeiro lugar do Prêmio Jabuti 2007 na categoria Ciência Exatas, Tecnologia e Informática.
- SANT'ANNA, Adonai S. O que é um Axioma. Barueri: Manole, 2003.
- SOUZA, João N. de. Lógica para Ciência da Computação. Segunda edição. Rio de Janeiro: 2008.
- Leia resenha bastante crítica de Walter Carnielli sobre a primeira edição deste livro publicada na revista Espiral: http://www.eca.usp.br/njr/espiral/noosfera18b.htm
Bibliografia Complementar
- CARNIELLI, Walter A.; EPSTEIN, Richard L. Computabilidade, funções computáveis, lógica e os fundamentos da matemática. São Paulo: Editora UNESP, 2006.
- SIPSER, Michael. Introdução à Teoria da Computação. São Paulo: Thomson Learning, 2007.
- WITTGENSTEIN, Ludwig. Tractatus Logico-Philosophicus. São Paulo: Editora da Universidade de São Paulo, 1994.
- CASANOVA, MARCO A.; GIORNO, F.A.C.; FURTADO, A.L. Programação em Lógica e a Linguagem Prolog. São Paulo: Edgard Blücher, 1987.
- CLOCKSIN, W.; MELLISH, C. Programming in Prolog. Springer Verlag, 1982.
- LLOYD, J. W. Foundations of Logic Programming. Springer Verlag, 1987.
- CHANG, C. L.; LEE, R. C-T. Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1987.
- HAMILTON, A. G. Logic for Mathematicians. Cambridge University Press: 1988.
- COSTA, Newton Carneiro Affonso da. Ensaio sobre os fundamentos da lógica. São Paulo: Hucitec, 1980.
- HUTH, Michael; RYAN, Michael. Logic in Computer Science: modelling and reasoning about systems. Segunda edição. Cambridge University Press: 2004. 427 p.
- Página do livro (contém errata): http://www.cs.bham.ac.uk/research/projects/lics/
(A FORMATAR...)
- Chin-Liang Chang; Richard Char-Tung Lee (1973). Symbolic Logic and Mechanical Theorem Proving, Academic Press1.
- Loveland, Donald W. (1978). Automated Theorem Proving: A Logical Basis. Fundamental Studies in Computer Science Volume 6, North-Holland Publishing.
- Gallier, Jean H. (1986). Logic for Computer Science: Foundations of Automatic Theorem Proving, Harper & Row Publishers. http://www.cis.upenn.edu/~jean/gbooks/logic.html.
- Duffy, David A. (1991). Principles of Automated Theorem Proving, John Wiley & Sons.
- Wos, Larry; Overbeek, Ross; Lusk, Ewing; Boyle, Jim (1992). Automated Reasoning: Introduction and Applications (2nd edition ed.), McGraw-Hill.
- Alan Robinson and Andrei Voronkov (eds.), ed. (2001). Handbook of Automated Reasoning Volume I & II, Elsevier and MIT Press.
- Fitting, Melvin (1996). First-Order Logic and Automated Theorem Proving (2nd edition ed.), Springer. http://comet.lehman.cuny.edu/fitting/.
Artigos
- CARNIELLI, Walter A.; CONIGLIO, Marcelo E. A lógica e o consortio daemoniorum. Disponível em: <ftp://ftp.cle.unicamp.br/pub/arquivos/educacional/consortio-daemoniorum.pdf>. Acesso em: 09 dez. 2008.
Referências
- KAESTNER, Celso. Página dos oferecimentos de "LÓGICA PARA COMPUTAÇÃO". 2008. Disponível em: <http://www.dainf.ct.utfpr.edu.br/~kaestner/Logica.htm>. Acesso em: 09 dez. 2008.
Links Diversos
- KOWALSKI, Robert. How to be Artificially Intelligent – the Logical Way. Disponível em: <http://www.doc.ic.ac.uk/~rak/>. Acesso em: 09 dez. 2008.
- http://en.wikipedia.org/wiki/Automated_theorem_proving
Sistemas Computacionais de Auxílio ao Aprendizado de Lógica
- NICOLADELLI, José Martim. ASA-CalcPro. Disponível em: <http://www.asacalcpro.com.br/GiacomoN/index.htm>. Acesso em: 09 dez. 2008.
- Vínculo direto para o download do programa: http://www.asacalcpro.com.br/GiacomoN/downloads/asa.exe
- NICOLADELLI, José Martim. ASA-Tableaux. Disponível em: <http://www.asacalcpro.com.br/>. Acesso em: 09 dez. 2008.
- Vínculo direto para o download do programa: http://www.asacalcpro.com.br/InstallTableaux/InstallTableaux.exe
- ENDRISS, Ulle. WinKE: A Proof Assistant for Teaching Logic. Disponível em: <http://staff.science.uva.nl/~ulle/WinKE/>. Acesso em: 12 dez. 2008.
- NETO, Adolfo. KEMS: Um provador de teoremas multi-estratégia baseado no método KE. Disponível em: <http://kems.iv.fapesp.br>. Acesso em: 12 dez. 2008.
(A FORMATAR...)
- Prática em tabelas-verdade: http://www.math.csusb.edu/notes/quizzes/tablequiz/tablepractice.html ; http://en.wikipedia.org/wiki/Truth_table ; http://www.brian-borowski.com/Truth/.
- Provador de teoremas: YACAS (http://yacas.sourceforge.net/ ) um sistema geral para computar sistemas lógicos (freeware em Applet Java)
- Tarski's World: http://ggww2.stanford.edu/GUS/tarskisworld/index.jsp
- Interpretador SWI-Prolog ( http://www.swi-prolog.org/, freeware).