Lógica para Computação (IF61B) Introdução à Lógica Slides da disciplina “Lógica para Computação”, ministrada pelo Prof. Celso Antônio Alves Kaestner, Dr. Eng. ([email protected]) entre 2007 e 2008. Alterações feitas em 2009 pelo Prof. Adolfo Neto ([email protected]) Versão original disponível em http://www.dainf.ct.utfpr.edu.br/~kaestner/Logica/LogicaProposicional.ppt Lógica para Computação (IF61B) Introdução • Três citações* 1. É razoável esperar que a relação entre a computação e a lógica matemática produza tantos frutos ... quanto a que se instalou entre a Análise Matemática e a Física no curso do século XIX (John McCarthy, 1963). (*) extraídas de “Logique: Méthodes pour l´informatique fondamentale”, de Paul Gochet e Pascal Gribomont, Hermes, Paris, 1990. 12/06/09 Prof. Celso A A Kaestner 2 Lógica para Computação (IF61B) Introdução • Três citações 1. Ao longo da maior parte do século XX, a Lógica Matemática foi principalmente utilizada para a introspecção. Como ferramenta para a criação de provas na prática cotidiana, ainda não teve sua chance. Para que possa realizar todas as potencialidades parece ser necessário conceber o objetivo da Lógica como sendo não de mimetizar o pensamento humano, mas como o de fornecer um substituto a este último na forma de um cálculo (Edsger Dijkstra). 12/06/09 Prof. Celso A A Kaestner 3 Lógica para Computação (IF61B) Introdução • Três citações 1. As conexões entre a Lógica e a Informática crescem e se aprofundam rapidamente. Ao lado da demonstração automática, da programação em lógica, da especificação e verificação de programas, outros setores revelam uma fascinante interação mútua com a Lógica, como a teoria de tipos, a teoria do paralelismo, a inteligência artificial, a teoria da complexidade, as bases de dados, a semântica operacional e as técnicas de compilação (José Meseguer). 12/06/09 Prof. Celso A A Kaestner 4 Lógica para Computação (IF61B) Introdução • História da Lógica: http://pt.wikipedia.org/wiki/História_da_lógica • Lógica: http://pt.wikipedia.org/wiki/Lógica Obs.: Artigos da Wikipédia (pt) em geral são pouco confiáveis, mas contém rerefências para material de melhor qualidade. 12/06/09 Prof. Celso A A Kaestner 5 Lógica para Computação (IF61B) Introdução • O que é Lógica ? 1. O estudo da Lógica é o estudo dos métodos e princípios usados para distinguir o raciocínio correto do incorreto (“Introdução à Lógica”, Irving M. Copi, Ed. Mestre Jou, São Paulo, 1968); 2. A Lógica formal é uma ciência que determina as formas corretas (ou válidas) de raciocínio (“Noções de Lógica Formal”, Joseph Dopp, Ed. Herder, São Paulo, 1970); 12/06/09 Prof. Celso A A Kaestner 6 Lógica para Computação (IF61B) Introdução • O que é Lógica ? 1. Lógica é o estudo de argumentos. Um argumento é uma seqüência de enunciados na qual um dos enunciados é a conclusão e os demais são premissas, as quais servem para provar, ou pelo menos fornecer alguma evidência para a conclusão (“Lógica”, John Nolt e Dennis Rohatyn, Makron Books, São Paulo, 1991). 12/06/09 Prof. Celso A A Kaestner 7 Lógica para Computação (IF61B) Introdução • O que é Lógica ? 1. Lógica, hoje, designa uma vasta área do conhecimento, com implicações em praticamente todas os demais domínios da investigação. Da antiga disciplina que estudava "o raciocínio correto", ou as "formas válidas de inferência (ou de raciocínio)", a lógica transformou-se em uma disciplina que alcançou resultados que, em termos de complexidade e profundidade,nada ficam devendo aos maiores resultados da matemática. Aliás, a lógica é, presentemente, uma disciplina de características matemáticas... (“Lógica: uma visão geral da lógica atual”, Newton C.A. da Costa e Décio Krause, em preparação). 12/06/09 Prof. Celso A A Kaestner 8 Lógica para Computação (IF61B) Introdução • 1. 2. 3. 4. 5. No artigo intitulado “Truth of a proposition, evidence of a judgment, validity of a proof” o lógico-matemático P. Martin-Löf constata que não se pode expor a Lógica (ou uma lógica) sem utilizar 5 noções primitivas: A noção de proposição; A noção de verdade de uma proposição; A noção de asserção ou julgamento; A noção de evidência ou de prova de um julgamento; A noção de correção ou validade de uma prova. 12/06/09 Prof. Celso A A Kaestner 9 Lógica para Computação (IF61B) Introdução • Outros conceitos: 1. Termos gerais (ou universais) X termos singulares (ou individuais); 1. Designação por intenção X por extensão; – – 12/06/09 Intenção: qualidades ou propriedades que constituem o conceito; Extensão: consiste dos elementos (exemplos) que constituem o conceito. Prof. Celso A A Kaestner 10 Lógica para Computação (IF61B) Introdução • • • Conceito de proposição (desde Platão): Combinação de um substantivo e de um verbo, constituindo um sentença declarativa à qual se pode atribuir um valor verdade (no caso clássico, verdadeiro ou falso): “O homem aprende”; “O céu é azul”; “Hoje é terça-feira”. Observe que estão excluídas, entre outras, sentenças interrogativas, auto-referentes, etc. 12/06/09 Prof. Celso A A Kaestner 11 Lógica para Computação (IF61B) Introdução • A tradição aristotélica: lógica é o estudo da concepção, do julgamento, e do raciocínio; – Os conceitos são expressos por termos gerais; – Os julgamentos são expressos por proposições; – Os raciocínios são seqüências de proposições. • Em Aristóteles as proposições são constituídas por dois termos gerais ligados pelo verbo ser na forma “é” ou “não é” (ligação chamada de cópula lógica). • As proposições são relacionadas logicamente de acordo com o “quadrado lógico” ou “ tábua de oposições”. 12/06/09 Prof. Celso A A Kaestner 12 Lógica para Computação (IF61B) Introdução Tábua de oposições contrárias as i r ó it trad con I 12/06/09 E subalternas subalternas A con trad itór subcontrárias Prof. Celso A A Kaestner ias O 13 Lógica para Computação (IF61B) Introdução • Tipos de proposições e exemplos: – – – – A: afirmação universal (todo homem é mortal); E: negação universal (nenhum homem é mortal); I: afirmação particular (algum homem é mortal); O: negação particular (algum homem não é mortal). • Relacionamento entre proposições : – A e E são ditos contrários; se a proposição A é verdadeira então E é falsa; – A e O e também E e I são contraditórios: não podem ser nem verdadeiros nem falsos conjuntamente; – I e O são sub-contrários: não podem ser ambos falsos; – I é subalterno de A, e O é subalterno de E; se A é verdadeira, I também o é, e se E é verdadeira então O também o é. 12/06/09 Prof. Celso A A Kaestner 14 Lógica para Computação (IF61B) Introdução • Relacionamento entre proposições: – A existência de quatro tipos de proposições não é coincidência: representam as quatro relações possíveis entre as extensões dos termos gerais; – O matemático Euler representou as quatro relações lógicas na forma de diagramas de conjuntos (diagramas de Venn-Euler). • Se S é o termo sujeito e se P é um predicado então as proposições correspondem aos diagramas a seguir. 12/06/09 Prof. Celso A A Kaestner 15 Lógica para Computação (IF61B) Introdução • Proposição A: inclusão total (todo S é P) • Proposição E: exclusão total (nenhum S é P) P S P S • Proposição I: inclusão parcial de S em P (algum S é P) • Proposição O: exclusão parcial de S em P (algum S não é P) 12/06/09 Prof. Celso A A Kaestner SP S P 16 Lógica para Computação (IF61B) Introdução • Os raciocínios lógicos ocorrem na forma de seqüências de proposições geradas por inferências imediatas obtidas da tábua de oposições. • Um silogismo é um discurso no qual, estando dadas certas proposições premissas, uma nova proposição conclusão é obtida necessariamente e unicamente a partir das premissas. • Usualmente os silogismos são apresentados da seguinte forma: » Premissa maior » Premissa menor » Conclusão • O termo menor (S) é o sujeito da conclusão, o termo maior (P) é o predicado da conclusão, e o termo comum às premissas é o termo médio (M). 12/06/09 Prof. Celso A A Kaestner 17 Lógica para Computação (IF61B) Introdução • Exemplos: – Todos os mamíferos são vertebrados (premissa maior) – Todos os homens são mamíferos (premissa menor) portanto – Todos os homens são vertebrados (conclusão). • Neste caso o termo menor S é “todos os homens”, o termo maior P é “vertebrados”, e o termo médio M é “mamíferos”. • Este silogismo tem portanto a forma: • Todas as proposições são do tipo A. 12/06/09 Prof. Celso A A Kaestner MP SM SP 18 Lógica para Computação (IF61B) Introdução • Considerando que há 4 tipos de proposições (A,E,I e O) então há 43 = 64 silogismos por figura (ver abaixo) , ou seja 256 silogismos no total; • As figuras do silogismo são: 1ª figura 2ª figura 3ª figura 4ª figura Premissa maior MP PM MP PM Premissa menor SM SM MS MS Conclusão SP SP SP SP 12/06/09 Prof. Celso A A Kaestner 19 Lógica para Computação (IF61B) Introdução • Nem todos os silogismos são válidos; o estudo da Lógica por Aristóteles, e posteriormente na idade média, buscou separar os silogismos válidos, ou seja, aqueles em que a conclusão segue necessariamente das premissas; • Pode-se deduzir a validade ou não de um silogismo a partir dos diagramas de Venn-Euler correspondentes; • Exemplo: • – Nenhum peixe (M) é mamífero (P) <tipo E>; – Todos os robalos (S) são peixes (M) <tipo A>; portanto – Nenhum robalo (S) é mamífero (P) <tipo E>. MP<E> Ou, esquematicamente: SM<A> SP<E> 12/06/09 Prof. Celso A A Kaestner M S P 20 Lógica para Computação (IF61B) Introdução • Exemplo: – Todos os animais venenosos (M) são perigosos (P) <tipo A>; – Algumas serpentes (S) são animais venenosos (M) <tipo I>; portanto – Algumas serpentes (S) são perigosas (P) <tipo I>. • Esquematicamente: 12/06/09 MP<A> SM<I> SP<I> Prof. Celso A A Kaestner P M S 21 Lógica para Computação (IF61B) Introdução • Em alguns casos os diagramas de Venn-Euler apresentam o inconveniente de admitir, para um mesmo silogismo, várias representações geométricas; • Exemplo: MP<E> SM<I> SP<O> M S M S P P M S 12/06/09 Prof. Celso A A Kaestner P 22 Lógica para Computação (IF61B) Introdução • Verdade e validade (ou correção): – Um silogismo é válido (correto) se e somente se (sse) a verdade da conclusão segue necessariamente da verdade das premissas; – Os silogismos portanto “transmitem” a verdade das premissas à conclusão; – Esta definição exclui a possibilidade de que um silogismo válido possa ter premissas verdadeiras e conclusão falsa; – Isto não exclui a possibilidade de que a conclusão de um silogismo válido seja falsa; neste caso alguma das premissas é falsa. • Exemplo: – Todos os animais marinhos são peixes; – Todas as baleias são animais marinhos; portanto – Todas as baleias são peixes. 12/06/09 Prof. Celso A A Kaestner 23 Lógica para Computação (IF61B) Introdução Exercícios introdutórios: 1. Consulte os links indicados e navegue sobre assuntos relacionados à história da Lógica e à sua definição; 2. Pesquise a definição de paradoxo e exemplifique este conceito; 3. Encontre uma “charada” e apresente sua solução. 12/06/09 Prof. Celso A A Kaestner 24 Lógica para Computação (IF61B) Introdução • Exercícios sobre lógica aristotélica: 1. Indique a forma do silogismo (termos, figura, diagrama), e indique se mesmo é válido ou não: a) b) c) 12/06/09 Todos os gregos são homens; Todos os atenienses são gregos; Todos os atenienses são homens. Todos os socialistas são marxistas; Alguns governantes são marxistas; Alguns governantes são socialistas. Todas as ações penais são atos cruéis; Todos os processos por homicídio são ações penais; Todos os processos por homicídio são atos cruéis. Prof. Celso A A Kaestner 25 Lógica para Computação (IF61B) Introdução d) e) f) 12/06/09 Alguns papagaios não são animais nocivos; Todos os papagaios são animais de estimação; Nenhum animal de estimação é nocivo. Nenhum ator dramático é um homem feliz; Alguns comediantes não são homens felizes; Alguns comediantes não são atores dramáticos. Todos os coelhos são corredores muito velozes; Alguns cavalos são corredores muito velozes; Alguns cavalos são coelhos. Prof. Celso A A Kaestner 26 Lógica para Computação (IF61B) Introdução 2. Escreva na forma típica, indique termos, figura, diagrama, e verifique a validade: a) Nenhum submarino de propulsão nuclear é um navio mercante, assim nenhum vaso de guerra é navio mercante, visto que todos os submarinos de propulsão nuclear são vasos de guerra; b) Alguns conservadores não são defensores de tarifas elevadas, porque todos os defensores de tarifas elevadas são republicanos, e alguns republicanos não são conservadores; c) Nenhum indivíduo obstinado que jamais admite um erro é bom professor; portanto, como algumas pessoas bem informadas são indivíduos obstinados que nunca admitem um erro, alguns bons professores não são pessoas bem informadas. 12/06/09 Prof. Celso A A Kaestner 27