Lógica para Computação

De Wiki DAINF
Edição feita às 12h58min de 5 de agosto de 2010 por Adolfo (disc | contribs)

Tabela de conteúdo

Informações Gerais

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/

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