Lógica para Computação

De Wiki DAINF
(Diferença entre revisões)
Linha 63: Linha 63:
 
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.
 
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 ==
+
== Bibliografia ==
 +
 
 +
=== 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.  
 
* SILVA, Flávio S. C. da; FINGER, Marcelo; MELO, Ana C. V. de. '''Lógica para Computação'''. São Paulo: Thomson Learning, 2006.  
Linha 79: Linha 80:
 
**  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. Leia também, de Carnielli e Coniglio, uma crítica mais detalhada:  '''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.
 
**  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. Leia também, de Carnielli e Coniglio, uma crítica mais detalhada:  '''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.
  
== Slides ==
 
  
* [http://www.slideshare.net/adolfont/introducao-a-logica Introdução à Lógica]
 
* [http://www.slideshare.net/adolfont/logica-proposicional Lógica Proposicional]
 
  
 +
=== [[Lógica para Computação - Bibliografia Complementar]] ===
  
[[Lógica para Computação - Bibliografia Complementar]]
+
=== Slides ===
 +
 
 +
* [http://www.slideshare.net/adolfont/introducao-a-logica Introdução à Lógica]
 +
* [http://www.slideshare.net/adolfont/logica-proposicional Lógica Proposicional]
  
  

Edição de 11h15min 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

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/


Lógica para Computação - Bibliografia Complementar

Slides


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