INF1009.3WB: Lógica para computação Aula 0: Aula inaugural Cecília Englander Guilherme F. Lima Edward Hermann Lab. TecMF, Dep. Informática, PUC-Rio 2017.2
Sumário 1. Apresentação da disciplina 2. Lógica, computação e matemática 0/11
INF1009.3WB: Lógica para computação, 2017.2 Guilherme F. Lima (glima@inf.puc-rio.br) Prof.: http://www.telemidia.puc-rio.br/~gflima/inf1009 Disc.: http://www.tecmf.inf.puc-rio.br/lgrad
Programa P1: Lógica proposicional Formalização Sintaxe Semântica (tabela-verdade) Tableaux P2: Lógica de primeira ordem (i) Formalização Sintaxe Tableaux P3: Lógica de primeira ordem (ii) Teoria dos conjuntos (básico) Semântica (estruturas) 1/11
Bibliografia principal Mortari, C. A. Introdução à Lógica. Unesp, São Paulo, 2001. Souza, J. N. d. Lógica para Ciência da Computação: Fundamentos de Linguagem, Semântica e Sistemas de Dedução. Campus, Rio de Janeiro, 2002. Silva, F., Finger, M., and Melo, A. Lógica para Computação. Thomson, São Paulo, 2006. 2/11
Bibliografia complementar Enderton, H. B. A Mathematical Introduction to Logic, 2nd ed. Academic Press, Boston, MA, USA, 2001. Smullyan, R. M. First-Order Logic. Dover Publications, New York, NY, USA, 1995. van Dalen, D. Logic and Structure, 5th ed. Springer-Verlag London, London, UK, 2013. 3/11
Lógica? Estudo da (boa) argumentação / ciência da dedução Provê meios sistemáticos para determinar se argumentos são válidos ou inválidos, i.e., sob quais condições suas conclusões decorrem das premissas Todo homem é mortal Sócrates é homem Sócrates é mortal Todo A é B C é A C é B x(h(x) M(x)) H(z) M(z) 4/11
Distinções A ciência que produz conclusões necessárias Pierce O princípio da falseabilidade é essencial Popper Matemática vs. Ciência Engenharia 5/11
Argumentos em matemática Teorema? Proposição que possui prova (demonstração) Prova? Argumento que estabelece que uma proposição é conclusão de um determinado conjunto de premissas premissa 1 premissa 2 premissa n conclusão 6/11
Alguns teoremas 1. h 2 = c 2 1 + c2 2 2. 2 é irracional (Pitágoras, c. 350 a.c.) (Euclides, c. 300 a.c.) 3. Não existe um programa que testa se outro sempre para (Turing, 1935) 4. O programa que controla os trens do metrô não permite colisões (?) 7/11
Teoremas são úteis? Teorema. Toda curva fechada separa o plano em duas regiões disjuntas. (Jordan, 1887). 8/11
Como saber se um argumento é válido? 1. Os cientistas não podem provar que há aquecimento global. Portanto, o aquecimento global não existe. 2. Sabendo-se que as bruxas não existem, todas as bruxas possuem vassouras azuis. 3. Se jogamos bem, ganhamos. Ganhamos. Logo, jogamos bem. 4. Todos os que avançam a linha cairão no buraco. Alguém caiu no buraco, então alguém avançou a linha. 5. Tudo que é raro é caro. Um carro bom e barato é raro. Então um carro bom e barato é caro. 6. Alguns paulistanos são brasileiros. Alguns paulistas são brasileiros. Então alguns paulistanos são paulistas. 9/11
Argumentos: Resolução e explicação de problemas Problema Um quadro foi roubado de um museu. O ladrão [ou ladrões] fugiu [fugiram] de carro. Três suspeitos, A, B e C, foram interrogados. Estabeleceu-se o seguinte: Nenhuma outra pessoa, salvo A, B, e C, estava implicada no roubo C nunca pratica roubo sem usar A (e talvez outros) como cúmplice B não sabe dirigir A é inocente ou culpado? 10/11
Um paradoxo e um teorema da computação Paradoxo do barbeiro Numa cidade há um barbeiro que barbeia todos os homens que não se barbeiam (e apenas estes) Tal barbeiro pode existir? Problema da parada Não existe programa que para somente quando é aplicado a programas que não param (quando aplicados a si mesmos) Suponha que exista tal P, o que acontece se aplicarmos P(P)? 11/11
Fim
Prova por contradição: 2 é irracional Suponha que 2 é racional. Então, existe uma fração p q minimizada tal que 2 = p q ( ) Logo, ( 2) 2 = ( p q )2 = 2 = p2 q 2 = 2(q2 ) = p 2 = p 2 é par = p é par Seja p = 2a. Então 2(q 2 ) = p 2 = 2q 2 = (2a) 2 = 2q 2 = 4a 2 = q 2 = 2(a 2 ) = q é par Mas se p e q são pares, então p q não pode estar minimizada, o que contradiz ( ). Portanto, a hipótese original é falsa: não existe tal fração, i.e., 2 é irracional. Voltar
Prova por contradição: Problema da parada Suponha que existe um programa P tal que { 1 se f(f) não para P(f) = se f(f) para O que acontece se fizermos P(P)? P(P) = 1 = P(P) não para = P(P) = P(P) = = P(P) para = P(P) = 1 Logo, P(P) para P(P) não para O que é absurdo. Portanto, nossa suposição inicial é falsa: não existe tal programa P Voltar