Lógica para Computação (IF61B) Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. [email protected] Lógica para Computação (IF61B) Lógica Proposicional • • • • • Linguagem informal x linguagem formal (1.1); Linguagem proposicional: envolve proposições e conectivos, formando fórmulas complexas; Proposição: enunciado ao qual se pode atribuir um valor verdade (verdadeiro ou falso); Conectivos: conjunção (E), disjunção(OU), negação (NÃO), implicação (SE … ENTÃO…); Não trata de relações sobre elementos de um conjunto, como “todos”, “algum”, o que será visto mais adiante, no estudo da lógica predicativa. 31/05/2017 Prof. Celso A A Kaestner 2 Lógica para Computação (IF61B) Lógica Proposicional A linguagem proposicional (1.2): • Alfabeto: 1. Símbolos proposicionais, variáveis proposicinais ou átomos: P = {p0, p1, p2, …}; 2. Conectivos: 1. unário: negação: (NÃO); 2. binários: conjunção: (E), disjunção: (OU), implicação: (SE…ENTÃO…); 3. Símbolos de pontuação: parênteses “(“e “)”. 31/05/2017 Prof. Celso A A Kaestner 3 Lógica para Computação (IF61B) Lógica Proposicional A linguagem proposicional (1.2.1): • Fórmulas (fórmulas bem formadas, fbf): definidas indutivamente como o menor conjunto LLP com as seguintes regras de formação: 1. Caso básico: todos os símbolos proposicionais são fbf, isto é: P LLP ; 2. Caso indutivo 1: Se A LLP então A LLP ; 3. Caso indutivo 2: Se A, B LLP então (A B) LLP, (A B) LLP, e (A B) LLP. 31/05/2017 Prof. Celso A A Kaestner 4 Lógica para Computação (IF61B) Lógica Proposicional • Fbf… • • • • • • • Exemplos … Regras para a omissão de parênteses; Precedência entre os conectivos. Subfórmulas (1.2.2); Tamanho das fórmulas (1.2.3); Expressando idéias (1.2.4); Exercícios. 31/05/2017 Prof. Celso A A Kaestner 5 Lógica para Computação (IF61B) Lógica Proposicional Semântica (= significado, 1.3): • Em lógica proposicional consiste na atribuição de valores-verdade às fórmulas da linguagem; • Em lógica clássica: verdadeiro (1) e falso (0); • Os valores-verdade são associados aos símbolos proposicionais por meio de uma função de valoração V: P {0,1}. 31/05/2017 Prof. Celso A A Kaestner 6 Lógica para Computação (IF61B) Lógica Proposicional • Para as fórmulas complexas: 1. 2. 3. 4. • • V ( A ) = 1 sse V ( A ) = 0 ; V (A B) = 1 sse V ( A ) = 1 e V ( B ) = 1; V (A B) = 1 sse V ( A ) = 1 ou V ( B ) = 1; V ((A B) = 1 sse V ( A ) = 0 ou V ( B ) = 1. Matrizes dos conectivos … Exercícios (pg.16). 31/05/2017 Prof. Celso A A Kaestner 7 Lógica para Computação (IF61B) Lógica Proposicional • Satisfazibilidade, Validade, Tabelasverdade (1.4): 1. Uma fbf A é satisfazível sse existe uma valoração V de seus átomos tal que V (A ) = 1; 2. Uma fbf A é insatisfazível sse para toda valoração V de seus átomos tem-se que V (A ) = 0; 3. Uma fbf A é válida (ou tautologia) sse toda valoração V de seus átomos é tal que V (A ) = 1; 4. Uma fbf A é falsificável sse existe uma valoração V de seus átomos é tal que V (A ) = 0. 31/05/2017 Prof. Celso A A Kaestner 8 Lógica para Computação (IF61B) Lógica Proposicional • Resultados (1.4): 1. Toda fbf válida é também satisfazível; 2. Toda fbf insatisfazível é falsificável; 3. Uma fbf pode ser satisfazível e falsificável: neste caso é dita contingente; 4. Uma fbf não pode ser válida e falsificável; também não pode ser insatisfazível e satisfazível; 5. Se A é válida, A é insatisfazível e reciprocamente; 6. Se A é satisfazível, A é falsificável e reciprocamente. 31/05/2017 Prof. Celso A A Kaestner 9 Lógica para Computação (IF61B) Lógica Proposicional • Tabelas-verdade… 1. http://www.math.csusb.edu/notes/quizzes/tablequ iz/tablepractice.html ; 2. http://en.wikipedia.org/wiki/Truth_table ; 3. http://www.brian-borowski.com/Truth/. • Exercícios (pg. 20). 31/05/2017 Prof. Celso A A Kaestner 10 Lógica para Computação (IF61B) Lógica Proposicional Conseqüência lógica (1.5): • • 31/05/2017 Uma fbf B é conseqüência lógica de uma fbf A, denotando-se A |= B sse para toda valoração V que satisfaz A também satisfaz B, i.e. tal que V ( A ) = 1 implica V ( B ) = 1; De modo similar B é conseqüência lógica de um conjunto de fbf ={ A1, A2 … An }, denotando-se por |= B sse para toda valoração V que satisfaz todas as fbf de também satisfaz B. Prof. Celso A A Kaestner 11 Lógica para Computação (IF61B) Lógica Proposicional Conseqüência lógica: • Exemplo: Modus ponens: p , (p q) |= q . • Teorema da dedução: , A |= B sse |= A B . • Mais exemplos… 31/05/2017 Prof. Celso A A Kaestner 12 Lógica para Computação (IF61B) Lógica Proposicional Equivalência lógica: • • • • 31/05/2017 Duas fbf A e B são logicamente equivalentes, representando-se por A B sse A |= B e B |= A; Na prática para verificar se duas fbf são logicamente equivalentes basta construir as tabelas-verdade para A e B e verificar se as colunas para A e para B são idênticas; Definição: A B (A B ) (B A ) Teorema: A B sse A B é tautologia. Prof. Celso A A Kaestner 13 Lógica para Computação (IF61B) Lógica Proposicional Equivalência lógica (1.5.1): • Algumas equivalências notáveis: 1. p p (dupla negação); 2. p q p q (definição de em função de e ); 3. (p q ) ( p q ) e (p q ) ( p q ); (Leis de De Morgan) 4. p ( q r ) ( p q ) (p r ) (distributividade de sobre ); 5. p ( q r ) ( p q ) (p r ) (distributividade de sobre ). 31/05/2017 Prof. Celso A A Kaestner 14 Lógica para Computação (IF61B) Lógica Proposicional Equivalência lógica (1.5.2): • (Re)definições de conectivos em função de e: 1. p q p q ( p q); 2. p q ( p q ). • 31/05/2017 É possível se definir todos os conectivos em função de um só ? Prof. Celso A A Kaestner 15 Lógica para Computação (IF61B) Lógica Proposicional Ver http://www.cfh.ufsc.br/~dkrause/pg/cursos/Novo4.pdf “Barras de Sheffer” ou “conectivos de Sheffer” são simbolizados por: 1. # (negação conjunta) e 2. | (disjunção alternativa), definidos pela seguinte tabela: 31/05/2017 p q p#q p|q 1 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 Prof. Celso A A Kaestner 16 Lógica para Computação (IF61B) Lógica Proposicional Fazendo: 1. p = (p # p), e 2. p q =((p # q) # (q # q)), pode-se definir os conectivos e a partir de #, e obter os demais conectivos a partir desses. Deve-se comprovar que as tabelas-verdade que são obtidas coincidem com as previamente conhecidas. Reciprocamente, os conectivos # e | podem ser definidos por: p # q = (p q) e p | q = (p q): 31/05/2017 Prof. Celso A A Kaestner 17 Lógica para Computação (IF61B) Lógica Proposicional • • Exercícios (pg. 27). Desafios da Lógica Proposicional (1.6)… 31/05/2017 Prof. Celso A A Kaestner 18