Lógica para Computação Prof. Celso Antônio Alves Kaestner, D.E.E. celsokaestner (at) utfpr (dot) edu (dot) br Lógica para Computação (IF61B) Introdução Três citações extraídas de “Logique: Méthodes pour l´informatique fondamentale”, de Paul Gochet e Pascal Gribomont, Hermes, Paris, 1990: 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). 2 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Introdução 2. 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). 3 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Introdução 3. 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). 4 Prof. Celso A A Kaestner 10/04/2014 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 5 Prof. Celso A A Kaestner 10/04/2014 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); 6 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Introdução 3. Lógica é o estudo de argumentos. Um argumento é uma sequencia 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). 7 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Introdução 4. 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. Alias, a lógica é, presentemente, uma disciplina de características matemáticas... (Newton C.A. da Costa). 8 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Introdução Outros conceitos: Termos gerais (ou universais) X termos singulares (ou individuais); Designação por intenção X por extensão; • Intenção: qualidades ou propriedades que constituem o conceito; • Extensão: consiste dos elementos (exemplos) que constituem o conceito. 9 Prof. Celso A A Kaestner 10/04/2014 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, autoreferentes, etc. 10 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica 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 sequencias 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 é ” (cópula lógica). As proposições são relacionadas logicamente de acordo com o “quadrado lógico” ou “ tábua de oposições”. 11 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica Tábua de oposições contrárias E subalternas subalternas A I O subcontrárias 12 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica 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). 13 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica 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 subcontrá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 é. 14 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica 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. 15 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica P Proposição A: inclusão total (todo S é P) Proposição E: exclusão total (nenhum S é P) S P S Proposição I: inclusão parcial de S em P (algum S é P) SP Proposição O: exclusão parcial de S em P (algum S não é P) S P 16 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica Os raciocínios lógicos ocorrem na forma de sequencias 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; 17 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica 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). 18 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica 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. MP SM SP 19 Prof. Celso A A Kaestner 10/04/2014 Lógica para Computação (IF61B) Lógica Aristotélica 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 10/04/2014 Prof. Celso A A Kaestner 20 Lógica para Computação (IF61B) Lógica Aristotélica 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; 10/04/2014 Prof. Celso A A Kaestner 21 Lógica para Computação (IF61B) Lógica Aristotélica 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>. Ou, esquematicamente: 10/04/2014 MP <E> SM <A> SP <E> Prof. Celso A A Kaestner M S P 22 Lógica para Computação (IF61B) Lógica Aristotélica 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: MP <A> SM <I> SP <I> 10/04/2014 Prof. Celso A A Kaestner M S P 23 Lógica para Computação (IF61B) Lógica Aristotélica 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 M S 10/04/2014 Prof. Celso A A Kaestner P P P 24 Lógica para Computação (IF61B) Lógica Aristotélica 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. 10/04/2014 Prof. Celso A A Kaestner 25 Lógica para Computação (IF61B) Lógica Aristotélica Exemplo: • • • • Todos os animais marinhos são peixes; Todas as baleias são animais marinhos; portanto Todas as baleias são peixes. 10/04/2014 Prof. Celso A A Kaestner 26 Lógica para Computação (IF61B) Lógica Aristotélica Indique a forma do silogismo (termos, figura, diagrama), e indique se mesmo é válido ou não: a) Todos os gregos são homens; Todos os atenienses são gregos; Todos os atenienses são homens. b) Todos os socialistas são marxistas; Alguns governantes são marxistas; Alguns governantes são socialistas. c) 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. 10/04/2014 Prof. Celso A A Kaestner 27 Lógica para Computação (IF61B) Lógica Aristotélica d) Alguns papagaios não são animais nocivos; Todos os papagaios são animais de estimação; Nenhum animal de estimação é nocivo. e) Nenhum ator dramático é um homem feliz; Alguns comediantes não são homens felizes; Alguns comediantes não são atores dramáticos. f) Todos os coelhos são corredores muito velozes; Alguns cavalos são corredores muito velozes; Alguns cavalos são coelhos. 10/04/2014 Prof. Celso A A Kaestner 28 Lógica para Computação (IF61B) Lógica Aristotélica Exercício similar, porém com a necessidade de determinar as proposições: 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. 10/04/2014 Prof. Celso A A Kaestner 29 Lógica para Computação (IF61B) Introdução Atividades complementares: 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 lógica” e apresente sua solução. 10/04/2014 Prof. Celso A A Kaestner 30