Lógica para Computação

De Wiki DAINF
(Diferença entre revisões)
Linha 3: Linha 3:
  
 
* [[Objetivos da disciplina Lógica para Computação]]
 
* [[Objetivos da disciplina Lógica para Computação]]
 +
* [[Competências da disciplina Lógica para Computação]]
  
  
Linha 10: Linha 11:
  
  
 
=== Em construção ===
 
 
Ao final da disciplina o aluno deverá será capaz de:
 
 
* Sintaxe e Semântica de Lógica Proposicional
 
* Sintaxe de Lógica de Predicados
 
* Algum método de demonstração (Tablôs Analíticos e/ou KE) para Lógica Proposicional
 
**(os três itens acima são assuntos da prova 1 - serão cobrados indiretamente)
 
 
* Algum método de demonstração (Tablôs Analíticos e/ou KE) para Lógica de Predicados
 
** saber fazer demonstrações de sequentes da lógica de predicados usando o sistema KE
 
 
* Substituição/Unificação (ver Apostila)
 
** conceitos (substituição, unificação, unificador mais geral, etc.)
 
** saber executar o Algoritmo de Unificação
 
 
* Semântica de Lógica de Predicados (Cap.2 HuthRyan)
 
** conceitos (modelo, tabela/contexto, etc.)
 
** saber construir um modelo para uma fórmula/sequente
 
** saber demonstrar se um modelo satisfaz/falsifica/valida uma fórmula/sequente
 
 
* Formas Normais (Cap.3 de SFM06):
 
** saber obter a forma normal conjuntiva/disjuntiva de uma fórmula, justificando cada passo.
 
** conceitos
 
 
Prolog (livro do Eloi Favero):
 
** Saber qual vai ser a resposta do Prolog a determinadas consultas (com uso, inclusive, de assert e retract) (ex.: mini-prova 2 do BSI)
 
** Saber escrever programinhas do nível de complexidade dos vistos em sala de aula (ex.: questões genealógicas) exceto Torre de Hanoi
 
** conceitos
 
 
* Especificação Formal (Cap.6 de SFM06):
 
 
** Saber escrever uma especificação de uma operação (ex. Copa dp Brasil, Jogo da Velha, Ordenações de Vetores)
 
** conceitos
 
 
* Verificação Formal (Cap.6 de SFM06):
 
 
** ideia geral de todos os conceitos (sistema, regras, correção, completude, etc).
 
** Correção Parcial
 
** Até antes de While Parcial
 
** saber escrever uma demonstração em formato de tabela
 
** While Parcial
 
** (NÃO) saber escrever uma demonstração em formato de tabela
 
** saber ver uma demonstração em formato de tabela e dizer se ela está correta ou não
 
** Correção Total
 
** While Total
 
**(NÃO) saber ver uma demonstração em formato de tabela e dizer se ela está correta ou não
 
** NÃO exigirei que saiba escrever uma demonstração
 
  
 
= Porque estudar lógica? =
 
= Porque estudar lógica? =

Edição de 16h53min de 29 de maio de 2013

Tabela de conteúdo

Informações Gerais



Porque estudar lógica?


Bibliografia Básica

  • HUTH, Michael; RYAN, Mark. 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, Mark. 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

Outros materiais

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

Ferramentas pessoais