Lógica para Computação

De Wiki DAINF
(Diferença entre revisões)
(Tablôs)
(Tablôs)
Linha 214: Linha 214:
 
* [[WDTP - Wagner Dias Tableau Prover]] (para tablôs analíticos e tablôs KE)
 
* [[WDTP - Wagner Dias Tableau Prover]] (para tablôs analíticos e tablôs KE)
  
* [http://www.umsu.de/logik/trees/ Tree Proof Generator, by Wolfgang Schwarz] - um demonstrador de teoremas baseado em tablôs analíticos (árvores de prova) para lógicas clássica proposicional e de predicados.
+
* [http://www.umsu.de/logik/trees/ Tree Proof Generator, by Wolfgang Schwarz] - um demonstrador de teoremas ''online'' baseado em tablôs analíticos (árvores de prova) para lógicas clássica proposicional e de predicados.
  
 
===== Tablôs KE =====
 
===== Tablôs KE =====

Edição de 11h41min de 28 de maio de 2010

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.

Pré-requisitos

  • Conhecimentos básicos de matemática do ensino médio, principalmente álgebra matemática.

Ou, baseado em http://portal.mec.gov.br/index.php?option=com_docman&task=doc_download&gid=841&Itemid= :

  • Eixo cognitivo:
    • Dominar linguagens (DL): dominar a norma culta da Língua Portuguesa e fazer uso da linguagem matemática.
  • Competência exigida:
    • Modelar e resolver problemas que envolvem variáveis socioeconômicas ou técnico-científicas, usando representações algébricas.
      • H19 - Identificar representações algébricas que expressem a relação entre grandezas.
      • H20 - Interpretar gráfico cartesiano que represente relações entre grandezas.
      • H21 - Resolver situação-problema cuja modelagem envolva conhecimentos algébricos.
      • H22 - Utilizar conhecimentos algébricos/geométricos como recurso para a construção de argumentação.
      • H23 - Avaliar propostas de intervenção na realidade utilizando conhecimentos algébricos.
  • Objetos de conhecimento:
    • Conhecimentos algébricos: gráficos e funções; funções algébricas do 1.º e do 2.º graus, polinomiais, racionais, exponenciais e logarítmicas; equações e inequações; relações no ciclo trigonométrico e funções trigonométricas.
    • Conhecimentos algébricos/geométricos: plano cartesiano; retas; circunferências; paralelismo e perpendicularidade, sistemas de equações.

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

  • CARNIELLI, Walter; EPSTEIN, Richard L. Pensamento Crítico: O poder da lógica e da argumentação. São Paulo: Rideel, 2009.
  • 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

Lógica de Predicados

Links interesssantes:

Material Adicional e/ou Sistemas Computacionais de Auxílio ao Aprendizado de Lógica

Simuladores de lógica digital

Para diversos métodos relacionados à lógica proposicional

Tablôs

Tablôs KE

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

Formas normais

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


Exemplos de especificação formal

Ferramentas pessoais