Lógica Computacional

Documentos relacionados
Lógica Computacional

Faculdade de Informática e Tecnologia de Pernambuco

Noções de Lógica Matemática

O Cálculo λ sem Tipos

Lista de Exercícios 5: Soluções Teoria dos Conjuntos

Lógica de Predicados

Álgebra Booleana. Introdução ao Computador 2010/01 Renan Manola

Inteligência Artificial

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Álge g bra b B ooleana n Bernardo Gonçalves

Fundamentos de Matemática

(Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina

ESTUDO COMPARATIVO DE MODELOS EM SISTEMAS ESPECIALISTAS ATRAVÉS DE LÓGICA DE PRIMEIRA ORDEM

Teoria da Prova e da Programação

Emparelhamentos Bilineares Sobre Curvas

Recorrendo à nossa imaginação podemos tentar escrever números racionais de modo semelhante: 1 2 =

Notas de Aula - Álgebra de Boole Parte 1

Guia do Mestrado em Informática Sistemas e Redes & Ciência de Computadores

Depois do estudo deste capítulo, o estudante deve ser capaz de:

Entropia, Entropia Relativa

Fundamentos de Programação. Diagrama de blocos

Cap. II EVENTOS MUTUAMENTE EXCLUSIVOS E EVENTOS NÃO- EXCLUSIVOS

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Números Inteiros AULA. 3.1 Introdução

O papel do Professor como mediador 1

Sistemática dos seres vivos

Universidade Federal de Alfenas

(RelGradeCurricular) Número de créditos no período: 30 2 CMP4121 INTROD CIENCIA DA COMPUTACAO II MAF4231 CALCULO PARA COMPUTACAO III

Autómatos finitos não determinísticos (AFND)

Exercícios de Lógica para Programação

Representação de Conhecimento. Lógica Proposicional

Objetivos: -Dar uma visão integrada do que é a Informática -Refletir sobre as motivações e problemas que envolvem o uso de ferramentas computacionais

Lógica Paraconsistente

Sergio da Silva Aguiar Universidade Estadual do Sudoeste da Bahia - I Seemat

Faculdade de Computação

Tratamento e Análise de Dados e Informações (TADI)

Universidade Estadual de Campinas Departamento de Matemática. Teorema de Jacobson. Adriana Wagner(RA: ) Gustavo Terra Bastos(RA: )

Introdução à Lógica Simbólica

Matemática - Módulo 1

Probabilidade. Luiz Carlos Terra

A LÓGICA NA MATEMÁTICA

ÁLGEBRA BOOLEANA. Foi um modelo formulado por George Boole, por volta de 1850.

Noções básicas de Lógica

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Sistemas Distribuídos

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos.

Programação Orientada a Objetos SANTOS, Rafael

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

Mobilidade: implicações económicas. Prof. João Confraria ( UCP )

Optimização e Algoritmos (2004/2005)

(72) Inventor(es): (74) Mandatário: (54) Epígrafe: APLICAÇÃO COMPUTORIZADA PARA O CONTROLO DE ROBOTS INDUSTRIAIS

Unidade 1: O Computador

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Introdução à orientação a objetos

AULA 07 Distribuições Discretas de Probabilidade

Introdução ao cálculo-λ

Fundamentos de Lógica Matemática

Ficha de Unidade Curricular (FUC) de Controlo de Gestão de Projectos

Afirmação verdadeira: frase, falada ou escrita, que declara um facto que é aceite no momento em que é ouvido ou lido.

LÓGICA A ARTE DE PENSAR

Renata de Freitas e Petrucio Viana. IME, UFF 12 de março de 2015

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

RELATÓRIO DEFINIÇÃO. Resumo

Os limites da computação algorítmica

Universidade Estadual de Ponta Grossa PRÓ-REITORIA DE GRADUAÇÃO DIVISÃO DE ENSINO

Lógica para computação Professor Marlon Marcon

COMO AVALIAR A INFORMAÇÃO DA INTERNET

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

Informática I. Aula Aula 19-20/06/06 1

Engenharia de Software II

GESTÃO E SEGURANÇA DE OBRAS E ESTALEIROS

INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing

Forma Normal de Boyce-Codd

Modelo Comportamental

física e astronomia aristotélica

COMPUTAÇÃO UBIQUA E INTERNET DAS COISAS, PROPOSTA DE ELETIVA NA FORMAÇÃO DO TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

OBJETIVO GERAL DA DISCIPLINA

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

Programa de Unidade Curricular

Prof. Daniela Barreiro Claro

Aula 5: determinação e simplificação de expressões lógicas

Índice Geral. O Problema do Caminho Mais Curto com um só Objectivo

Fundamentos de Teste de Software

Exercício. Exercício

Faculdades Pitágoras de Uberlândia. Lógica Matemática e Computacional

MODELAGENS. Modelagem Estratégica

Ficha Prática 5: Cap 3.Princípios Elementares de Contagem

Álgebra Booleana e Aplicações

Parece claro que há uma, e uma só, conclusão a tirar destas proposições. Esa conclusão é:

Tipos de investigação educacional diferenciados por:

Projeto de Circuitos. Introdução ao Computador 2008/01 Bernardo Gonçalves

Banco de Dados. Modelo Entidade - Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP

PRINCÍPIOS DA MULTIPLICAÇÃO, DA ADIÇÃO E DA INCLUSÃO-

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Transcrição:

Lógica Computacional Nelma Moreira: T, PL02,PL03 Rogério Reis: PL01,PL04 Departamento de Ciência de Computadores da FCUP Lógica Computacional Aula 1

www.dcc.fc.up.pt/~nam/web/teaching/lc16/index.html Cursos: LCC, MIERSI,... Escolaridade: 2T e 2P Obtenção de frequência : Serão propostos trabalhos práticos que serão apresentados nas aulas práticas. frequência: 1 valores em 4 na totalidade dos trabalhos assistir a pelo menos 1 2 das aulas de exercícios. Método de avaliação Trab trabalhos apresentados nas aulas práticas Exame Exame final (Normal ou Recurso) Aprovação: (Trab 4 + Exame 16) 9.5, Trab 4 1, Exame 16 6. Estudantes trabalhadores: Exame para 20 valores. Melhoria de Nota: Exame para 20 valores.

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

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? Solução: Considerar hierarquia de tipos de conjuntos. 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

Postulados de Euclides 1 Uma linha recta pode ser desenhada entre quaisquer dois pontos. 2 Qualquer segmento de recta pode ser estendido indefenidamente a uma linha recta 3 Dado qualquer segmento de recta, um círculo pode ser desenhado tendo segmento como raio e um dos seus pontos extremos como centro 4 Todos os ângulos são congruentes 5 Dado uma linha recta e um ponto exterior existe uma recta que passa por esse ponto e é paralela à primeira

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 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)

Lógicas há muitas... 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 especificas (inteiros, arrays, listas,... ) SAT/SMT solvers Assistentes de demonstração de teoremas Extracção de programas a partir de especificações Isabelle Coq KeYmaera

Correção de Programas

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)

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).

Bibliografia Apontamentos Serão fornecidos ao longo do curso... Livros recomendados [BA01] [AFPMdS11] (Cap. 3 e 4) [HR00](Cap 1. e 2.) [BE00]

José Bacelar Almeida, Maria João Frade, Jorge Sousa Pinto, and Simão Melo de Sousa. Rigorous Software Development: An Introduction to Program Verification. Springer, 2011. Mordechai Ben-Ari. Mathematical Logic for Computer Science. SV, 2nd edition, 2001. Jon Barwise and John Etchmendy. Language, Proof, and Logic. CSLI, 2000. Michael Huth and Mark Ryan. Logic in Computer Science: Modelling and reasoning about systems. CUP, 2000. 430 DCCBIB.