Lógica para Computação

De Wiki DAINF
(Diferença entre revisões)
Linha 86: Linha 86:
  
 
[[Lógica para Computação - Bibliografia Complementar]]
 
[[Lógica para Computação - Bibliografia Complementar]]
== Bibliografia Complementar ==
 
  
=== Referências  fortemente relacionadas à Computação ===
 
 
 
 
* BRODA, Krysia; EISENBACH, Susan; KHOSHNEVISAN, Hessam; VICKERS, Steve. '''Reasoned Programming'''. Prentice-Hall, 1994. Disponível em: <http://www.doc.ic.ac.uk/pandora/firstyearbook.pdf>. Acesso em: 12 dez. 2008.
 
 
* REEVES, Steve; CLARK, Mike. '''Logic for Computer Science'''. Disponível em: <http://www.cs.waikato.ac.nz/~stever/LCS.html>. Acesso em: 11 junho 2010.
 
 
*  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.
 
 
* GALLIER, Jean H. '''Logic for Computer Science: Foundations of Automatic Theorem Proving'''. 2003. Disponível em: <http://www.cis.upenn.edu/~jean/gbooks/logic.html>. Acesso em: 20 fev. 2009.
 
 
* 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.
 
 
* FITTING, Melvin. First-Order Logic and Automated Theorem Proving. Springer, 2006.
 
** Site do autor do livro: http://comet.lehman.cuny.edu/fitting/
 
 
* NICOLADELLI, José Martim. '''ASA-CALCPRO: Uma ferramenta de cálculo proposicional e sua utilização no ensino'''. Dissertação de Mestrado em Engenharia Elétrica e Informática Industrial. Universidade Tecnológica Federal do Paraná, 2005. Disponível em: <http://arquivos.cpgei.ct.utfpr.edu.br/Ano_2005/dissertacoes/Dissertacao_372_2005.pdf>. Acesso em: 14 set. 2009.
 
 
* DUFFY, David A. '''Principles of Automated Theorem Proving'''. John Wiley & Sons, 1991.
 
 
* WOS, Larry; OVERBEEK, Ross; LUSK, Ewing; BOYLE, Jim. '''Automated Reasoning''': Introduction and Applications. Second edition. McGraw-Hill, 1992.
 
 
* ROBINSON, Alan; VORONKOV, Andrei (eds). '''Handbook of Automated Reasoning.''' Volumes I e II. Elsevier and MIT Press, 2001.
 
 
=== 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.
 
 
* COSTA, Newton C. A.; KRAUSE, Décio. '''Lógica'''. Florianópolis: 2009. Disponível em: <http://www.cfh.ufsc.br/~dkrause/pg/cursos/Rosto.pdf>. Acesso em: 14 set. 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
 
 
* CONIGLIO, Marcelo; CARNIELLI, Walter A.; BIANCONI, Ricardo. '''Lógica e Aplicações''' (em andamento). Disponível em: <http://www.cle.unicamp.br/prof/coniglio/LIVRO.pdf>. Acesso em: 12 dez. 2008.
 
 
* 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 
 
 
*  DETLOVS, Volnis; PODNIEKS, Karlis. '''Introduction to Mathematical Logic.''' Disponível em: <http://www.ltn.lv/~podnieks/mlog/ml.htm>. Acesso em: 20 fev. 2009.
 
 
* 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.
 
 
* SMULLYAN, Raymond. '''First-order logic'''. Dover: 1967. Disponível parcialmente em: <http://books.google.com.br/books?id=AYcr1yKq1BcC&printsec=frontcover&client=firefox-a&source=gbs_v2_summary_r&cad=0#v=onepage&q=&f=false>. Acesso em: 16 set. 2009.
 
 
* Mathematical Logic - an Introduction - free book http://bit.ly/cigC48
 
 
=== 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.
 
 
 
 
== 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.
 
* MARTIN-LÖF, Per. '''Truth of a proposition, evidence of a judgement, validity of a proof'''. Synthese, 73, pp. 407-420, 1987. Disponível em: <http://www.postech.ac.kr/~gla/cs433/papers/ml-truth.pdf>  (cópia) e <http://www.springerlink.com/content/r11317743775t005/> (original, exclusivo para assinantes).
 
  
 
== Referências ==
 
== Referências ==

Edição de 11h11min de 5 de agosto 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


Lógica para Computação - Bibliografia Complementar


Referências

Vídeos

Links Diversos

Lógica de Predicados

Links interesssantes:

Material Adicional

Porque estudar lógica

Programação em Lógica

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

Razões para Estudar Lógica

Ferramentas pessoais