Lógica para Computação

De Wiki DAINF
(Diferença entre revisões)
(Tabelas-verdade)
(Tabelas-verdade)
Linha 179: Linha 179:
 
* http://turner.faculty.swau.edu/mathematics/materialslibrary/truth/
 
* http://turner.faculty.swau.edu/mathematics/materialslibrary/truth/
 
* http://www.math.csusb.edu/notes/quizzes/tablequiz/tablepractice.html
 
* http://www.math.csusb.edu/notes/quizzes/tablequiz/tablepractice.html
* http://www-cs-students.stanford.edu/~silver//truth/ (bloqueado pelo RLE)
+
* http://www-cs-students.stanford.edu/~silver//truth/
 
* http://en.wikipedia.org/wiki/Truth_table
 
* http://en.wikipedia.org/wiki/Truth_table
 
* http://www.brian-borowski.com/Truth/
 
* http://www.brian-borowski.com/Truth/

Edição de 11h27min de 2 de setembro de 2009

Tabela de conteúdo

Professores responsáveis

Oferecimentos

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

  • HUTH, Michael; RYAN, Michael. Lógica em Ciência da Computação: modelagem e argumentação sobre sistemas. Segunda edição. Editora LTC: 2008. 326 p.
    • Tradução de:
      • 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 original (contém errata): http://www.cs.bham.ac.uk/research/projects/lics/

Slides

Bibliografia Complementar

Referências fortemente relacionadas à Computação

  • CHANG, Chin-Liang; LEE, Richard Char-Tung. Symbolic logic and mechanical theorem proving. Boston: Academic Press, 1987. 331 p. ISBN 0121703509 (enc.)
  • 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.
  • HOARE, Charles Antony Richard; SHEPHERDSON, J. C. (Ed.) Mathematical logic and programming languages. Englewood Cliffs: Prentice-Hall, c1985. 184 p. (Prentice hall international series in computer science) ISBN 0135614651 (enc.).
  • LOVELAND, Donald W. Automated Theorem Proving: A Logical Basis. Fundamental Studies in Computer Science, Volume 6, North-Holland Publishing. 1978.
  • 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.

Livros com abordagem mais filosófica ou matemática

  • SANT'ANNA, Adonai S. O que é um Axioma. Barueri: Manole, 2003.
  • MORTARI, Cezar A. Introdução à lógica. São Paulo: UNESP, 2001. 393 p. ISBN 85-7139-337-0
  • 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.
  • NOLT, John Eric; ROHATYN, Dennis. Lógica. São Paulo: Makron, 1991. 596 p. ISBN 0-07-460872-X
  • MATES, Benson. Lógica elementar. São Paulo: Companhia Editora Nacional, 1968. 298 p.
  • MATES, Benson. Elementary logic. 2. ed. New York: Oxford University Press, 1972. 237 p.
  • COSTA, Newton Carneiro Affonso da. Ensaio sobre os fundamentos da lógica. São Paulo: Hucitec, 1980.
  • HAMILTON, A. G. Logic for Mathematicians. Cambridge University Press: 1988.

Livros de Divulgação

  • BERLINSKI, David. O advento do algoritmo: a idéia que governa o mundo. São Paulo: Globo, 2002.
  • SMULLYAN, Raymond. O enigma de Sherazade; e outros incríveis problemas das Mil e uma noites à lógica moderna. Rio de Janeiro: Jorge Zahar Ed., 1998.

Livros relacionados à disciplina

  • 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.

A classificar e colocar no formato ABNT

  1. Duffy, David A. (1991). Principles of Automated Theorem Proving, John Wiley & Sons.
  2. Wos, Larry; Overbeek, Ross; Lusk, Ewing; Boyle, Jim (1992). Automated Reasoning: Introduction and Applications (2nd edition ed.), McGraw-Hill.
  3. Alan Robinson and Andrei Voronkov (eds.), ed. (2001). Handbook of Automated Reasoning Volume I & II, Elsevier and MIT Press.

Artigos

Referências

Vídeos

Links Diversos

Sistemas Computacionais de Auxílio ao Aprendizado de Lógica

Para diversos métodos relacionados à lógica proposicional

Tablôs

Tablôs KE
  • 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.

Dedução Natural

  • BRODA, K.;EISENBACH, S.; KHOSHNEVISAN, H.; VICKERS, S. Pandora: Proof Assistant for Natural Deduction using Organised Rectangular Areas. Disponível em: <http://www.doc.ic.ac.uk/pandora/>. Acesso em: 15 dez. 2008.
    • A learning support tool designed to guide the construction of natural deduction proofs.

Tabelas-verdade

Lógica de Predicados

Programação em Lógica

Outras linguagens de programação utilizadas para programação de sistemas lógicos

Algoritmo de Wang

Resolução

A organizar

  • Provador de teoremas YACAS:
    • http://yacas.sourceforge.net/
      • um sistema geral para computar sistemas lógicos (freeware em Applet Java)
      • an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions.

Listas de sistemas

Ferramentas pessoais