Lógica Computacional DCC/FCUP 2017/18

Documentos relacionados
Lógica Computacional Aula 1

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica e Computação. Uma Perspectiva Histórica

Lógica Computacional (CC2003)

Fórmulas da lógica proposicional

Dedução Natural e Sistema Axiomático Pa(Capítulo 6)

Lógica Computacional Aulas 8 e 9

3.3 Cálculo proposicional clássico

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Lógica e Raciocínio. Introdução. Universidade da Madeira.

Proposições e Conectivos

Lógica Proposicional e Álgebra de Boole

NHI Lógica Básica (Lógica Clássica de Primeira Ordem)

Lógica Computacional

Lógica Computacional DCC/FCUP 2017/18

Nelma Moreira. Aula 17

Lógica Matemática. Conceitos Gerais. Prof. Guilherme Tomaschewski Netto

Matemática para Ciência de Computadores

Lógica Computacional. Nelma Moreira. Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto

LÓGICA PARA COMPUTAÇÃO

O que é lógica? Lógica é a análise de métodos de raciocínio. Lívia Lopes Azevedo

Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22

Fundamentos de Lógica Lógica Proposicional

Cálculo proposicional

Lógica Computacional. Nelma Moreira. Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Lógica Proposicional (Consequência lógica / Dedução formal)

Lógica Computacional

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 12

Introdução à Computação: Álgebra Booleana

LÓGICA PARA COMPUTAÇÃO

NHI Lógica Básica (Lógica Clássica de Primeira Ordem)

Introdução. Programação em Lógica. Resolução na Lógica Proposional. Resolução na Lógica Proposional. Resolução na Lógica Proposional.

Teoremas de Incompletude de Gödel e os Fundamentos da Matemática

I.2 Introdução a Teoria da Computação

Prof.Letícia Garcia Polac. 6 de abril de 2017

UMA PROVA DE CONSISTÊNCIA

Lógica Computacional

Sistemas Inteligentes

Matemática Discreta - 01

Lógica Computacional. Nelma Moreira. Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto

Lógica. História da Lógica

Matemática para Ciência de Computadores

Lógica e Metodologia Jurídica

A Teoria Matemática que serviu como Base para Turing.

Cálculo proposicional

Conceitos Básicos. LEIC 2 o Semestre, Ano Lectivo 2012/13. c Inês Lynce

Prof. Jorge Cavalcanti

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Lógica para Computação. Álgebra de Boole

Fundamentos de Lógica Matemática

Sistema dedutivo. Sistema dedutivo

Métodos de Verificação

3.4 Fundamentos de lógica paraconsistente

O que é a Teoria em Ciência da Computação. Introdução à Ciência da Computação Mário S. Alvim

MDI0001 Matemática Discreta Aula 01

Capítulo 3 Lógica de Primeira Ordem

Lógica Formal. Matemática Discreta. Prof Marcelo Maraschin de Souza

1 INTRODUÇÃO E CONCEITOS BÁSICOS

MD Lógica de Proposições Quantificadas Cálculo de Predicados 1

Lógica Proposicional

MAC425/5739 Inteligência Artificial 6. Agentes lógicos

Lógica Proposicional Parte II. Raquel de Souza Francisco Bravo 25 de outubro de 2016

CURRÍCULO DO CURSO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO (noturno) [Campus Araranguá] 20171

INF 1771 Inteligência Artificial

Modelos de Computação

Alfabeto da Lógica Proposicional

Lógica. Fernando Fontes. Universidade do Minho. Fernando Fontes (Universidade do Minho) Lógica 1 / 65

Introdução. História. História 18/03/2012. Lógica para Ciência da Computação. O que é Lógica?

Uma História Geométrica

JOÃO NUNES de SOUZA. LÓGICA para CIÊNCIA da COMPUTAÇÃO. Uma introdução concisa

Prof. Tiago Semprebom, Dr. Eng. 09 de abril de 2013

Fundamentos de Lógica e Algoritmos. Aula 1.2 Introdução a Lógica Booleana. Prof. Dr. Bruno Moreno

LÓGICA I. André Pontes

Introdução à Logica Computacional. Aula 1 Ana Cristina Bicharra Garcia Segundas & Quartas 16:00-18:00

Formas Normais para Lógicas Modais

Fundamentos de Lógica Matemática

Lógica para Computação

Lógica. Cálculo Proposicional. Introdução

Matemática discreta e Lógica Matemática

Como podemos provar que este programa termina com x = 100. Correr o programa seguindo a sua semântica operacional é uma opção.

Inteligência Artificial IA II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

Lógica Proposicional

Verificação Formal de Software

Lógica proposicional. Capítulo 1

IBM1088 Linguagens Formais e Teoria da Computação

Dedução Natural LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Matemática Discreta. Lógica Proposicional. Profa. Sheila Morais de Almeida. agosto DAINF-UTFPR-PG

Matemática Discreta. Gabriel David Gil Coutinho José Costa Pereira Renato Soeiro MESTRADO INTEGRADO EM ENGENHARIA INFORMÁTICA E COMPUTAÇÃO

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

Antonio Paulo Muccillo de Medeiros

LÓGICOS E ALGÉBRICOS DA PROGRAMAÇÃO Licenciaturas em Engenharia Informática, Ensino de Informática e Matemática 2º Semestre 2005/2006

MAC Trabalho de Formatura Supervisionado Proposta de Trabalho de Conclusão de Curso

LÓGICA EM COMPUTAÇÃO

Transcrição:

2017/18

Funcionamento da disciplina Docentes: Teóricas: Sandra Alves Práticas: Sandra Alves e Nelma Moreira Página web http://www.dcc.fc.up.pt/~sandra/home/lc1718.html (slides de aulas e folhas de exercícios, etc...) Avaliação: Teste intercalar (TI) + Exame Final (EF) Final = TI (0.5) + EF (0.5) 1 Recurso cotado para 20 valores. Data do teste intercalar: 28 de Outubro. 1 TI, EF 6 e Final 9.5

Alguma Bibliografia Logic in Computer Science, Michael Huth, 1962. Language, proof, and logic, Jon Barwise, 1999. Essentials of logic programming, Christopher John Hogger, 1990. Rigorous software development, José Bacelar Almeida et al., 2011. Mathematical Logic for Computer Science. Mordechai Ben-Ari 2001.

Objectivos Introdução à lógica matemática numa perspectiva computacional. noções básicas do raciocínio lógico e utilização correcta dos sistemas dedutivos Relação entre semântica e sistemas dedutivos: integridade e completude (o que é válido é deduzível; o que é deduzível é válido)... Lógica proposicional e Lógica de primeira ordem Axiomatizações Breve introdução à Programação em Lógica (base da linguagem de programação prolog).

Programa 1 Lógica proposicional sintaxe; semântica (tautologias, satisfazibilidade, validade); formas normais; sistema dedutivo de dedução natural, DN; Completude e integridade do sistema DN; outros sistemas dedutivos (Hilbert, tableaux, resolução); decidibilidade e algoritmos de satisfazibilidade 2 Lógica de primeira ordem (de predicados) linguagens; sintaxe; semântica (interpretações, modelos, satisfazibilidade, validade); sistema dedutivo de dedução natural; completude e integridade do DN; teorias e axiomatizações; indecidibilidade da lógica de primeira ordem; limite dos métodos formais (Teorema de Gödel) 3 Programação em lógica resolução; fórmulas de Horn e programas definidos; unificação de termos, resolução-sld, completude e integridade. 4 Introdução à especificação e verificação de programas.

O que é a lógica? A distinção entre o raciocínio correcto e incorrecto é o principal problema que aborda a lógica. A lógica estuda a razão como ferramenta do conhecimento. A lógica é a ciência do pensamento correcto. Irving Copi Jacques Maritain Raymond McCall

Breve História da Lógica (matemática) Aristóteles (384-322 AC) Criador da Lógica formal como uma ciência que estuda e classifica as formas de raciocínio (válidas ou não): noção de proposição (verdadeiras ou falsas) conjunção, disjunção, implicação e negação quantificadores silogismos

Breve História da Lógica (matemática) Exemplo: modus ponens de A B e de A inferir B Todos os homens são mortais Sócrates é homem Logo Sócrates é mortal Cuidado com os silogismos Todos os homens são mortais. Sócrates era mortal. Logo todos os homens são Sócrates... Woody Allen

Breve História da Lógica (matemática) Gottfried Leibniz (1646-1716) Ideia maravilhosa:...um alfabeto cujos elementos representam não sons, mas conceitos. Uma linguagem baseada nesse alfabeto permitiria determinar por calculos simbólicos quais as frases da linguagem que são verdadeiras e quais as relações lógicas que existem entre elas. Iniciou a sistematização dum calculus rationcinator

Breve História da Lógica (matemática) George Boole (1815-1846) Fundador da lógica matemática. Sistematizou a lógica proposicional como uma álgebra. ({0, 1} S,, ) é uma álgebra com os axiomas: comutatividade de e ; 0 e 1 identidades; distributividade ; inversos Outras propriedades são teoremas (i.e podem ser demonstradas a partir dos axiomas): associatividade, elementos absorventes, idempotência, leis de De Morgan, etc...

Breve História da Lógica (matemática) Gottlob Frege (1880) Criador da Lógica de predicados (de primeira ordem): notação simbólica para formalizar as demonstrações da matemática Axiomas lógicos e um sistema formal (p.e conjuntos, números naturais, reais, etc). Pretendia reduzir a matemática à lógica: Logicismo.

Breve História da Lógica (matemática) Peano (1888) Axiomatização dos números naturais.

Axiomas de Peano para a aritmética Os axiomas são factos básicos dos números naturais: 1 x(x + 1 0) 2 x y(x + 1 = y + 1 x = y) 3 0 + 1 = 1 4 x x + 0 = x 5 x y x + (y + 1) = (x + y) + 1 6 x x 0 = 0 7 x y x (y + 1) = (x y) + x 8 (princípio da indução) (Q(0) ( x(q(x) Q(x + 1)) xq(x)

Breve História da Lógica (matemática) Russell (1901) Russell encontra um paradoxo (contradição) nos axiomas de Frege para a teoria dos conjuntos: Seja Z o conjunto de todos os conjuntos que não pertencem a si próprios. Será que Z Z? Juntamente com Whitehead escreve os Principia Matemática, onde se pretende que todos os teoremas da matemática se podem deduzir de princípios puramente lógicos.

David Hilbert (1900) Pretende que todas as demonstrações matemáticas se podem mecanizar (automatizar) usando sistemas dedutivos lógicos (de primeira ordem). Isto para verificar a Consistência das axiomatizações: De um conjunto de axiomas garantir que não se deduz proposições contraditórias. Normalmente bastaria mostrar que têm um modelo...mas como garantir que o modelo é verdadeiro/existe se for infinito...

Axiomatização de Grupos 1 x y z (x y) z = x (y z) 2 x (x 1) = x 3 x y (x y) = 1

K. Gödel (1930) Mostra os limites dos sistemas dedutivos formais: um sistema que contenha os axiomas de Peano admite proposições válidas que não são demonstráveis no sistema. Church (1936) Tese de Church-Turing: todas as funções computáveis são-no por uma máquina de Turing (=λ definíveis)

Turing (1936) Limites da computação: existem funções que não são computáveis por uma máquina de Turing (Problema da paragem). Church e Turing (1936) A lógica de predicados não é decidível. Ver http://www.sandiego.edu/logicslave/fmslog.html Ver http://www.logicomix.com/en/

Lógicos em CC

Por linha Tony Hoare, www.cs.ox.ac.uk/people/tony.hoare/ Dexter Kozen, www.cs.cornell.edu/~kozen/ Patricia Bouyer-Decitre www.lsv.ens-cachan.fr/~bouyer/ Tobias Nipkow, http://www21.in.tum.de/~nipkow/ Gilles Barthe, software.imdea.org/people/gilles.barthe/ Andre Platzer, symbolaris.com/index.html Gerard Huet, pauillac.inria.fr/~huet/ Alexandra Silva, alexandrasilva.org

O que é a lógica matemática? Boole Frege... Hilbert Gödel... Formalizações simbólicas essencialmente associadas com problemas dos fundamentos da matemática... teoria de modelos teoria da dedução (ou demonstração) sistemas axiomáticos (p.e., teoria dos conjuntos)

Uma variedade de lógicas Lógica clássica: proposicional e de predicados (primeira ordem) Lógicas de ordem superior Lógicas subestruturais (p.e intuicionista): modificação das propriedades das conectivas lógicas. Ex: A A; A A A Lógicas modais: necessidade, conhecimento, temporais, descrições, etc. A noção de verdade é parametrizada...exemplo: Hoje é segunda-feira

O que é uma lógica? uma linguagem de um alfabeto em que se define o que são fórmulas e outros objectos. Uma maneira de definir uma semântica (=noção do que é verdadeiro) para as fórmulas. Uma mesma lógica pode ter várias semânticas... Um sistema de dedução que, usando um número finito de regras permita a obtenção de fórmulas a partir de outras (=raciocínio). Deve ser íntegro: o que se deduz deve ser verdadeiro...mas também será bom que o que é verdadeiro deve ser deduzível (completo)...mas isto nem sempre é possível.

Lógica e Ciência de Computadores Circuitos lógicos: lógicas Booleanas Bases de dados: lógicas em modelos finitos (SQL=FO) Inteligência artificial: sistemas periciais, linguagem natural, web semântica, data mining, etc. Robert Kowalski : www.youtube.com/watch?v=h2goqbeftmu Autómatos Finitos: lógica de segunda ordem monádica com um sucessor (os modelos são conjuntos de palavras) XML: Um documento estruturado é uma árvore de uma linguagem representada por autómatos de árvores a que correspondem fórmulas duma lógica de segunda ordem.

Algoritmos e complexidade: classes de complexidade de problemas podem ser caracterizadas por classes de fórmulas lógicas Linguagens de programação: programação em lógica (p.e prolog) teoria de tipos (sistemas tipos= sistemas dedutivos) para linguagens funcionais

Especificação formal e verificação: verificação de hardware (circuitos) testes de correção de software: lógicas de programas (dinâmicas,temporais, etc) cyber-sistemas protocolos de segurança sistemas multi-agentes Demonstração automática Teorias específicas (inteiros, arrays, listas,... ) SAT/SMT solvers Assistentes de demonstração de teoremas Extracção de programas a partir de especificações Isabelle Coq KeYmaera

On the unusual effectiveness of logic in Computer Science, Halpern. J. et al., The bulletin of Symbolic Logic, vol 7, n. 2, June 2001 (http://www.math.ucla.edu/ asl/bsltoc.htm)