BCC101 Matemática Discreta I Lógica Proposicional 1 Lógica Proposicional Uma proposição é uma sentença declarativa que é verdadeira ou é falsa • • • • Belo Horizonte é a capital de Minas Gerais True Brasilia é a capital da Argentina False True 1+1=2 False 2+2=3 • 1+2 é impar e 1+3 > 5 • ⊆𝐙 ou 2>5 • Para todo inteiro n>1, 2n-1 é primo False True False 2 Axiomas Princípio da não contradição: Nenhuma proposição é simultaneamente verdadeira e falsa. Princípio do terceiro excluído: Toda proposição é verdadeira ou é falsa. Sentenças que não são proposições: •Esta sentença é falsa simultaneamente T e F •Que horas são? não se pode atribuir T ou F depende do valor da variável x • x+1 = 2 3 Lógica Proposicional Proposições podem ser combinadas para formar novas proposições: Belo Horizonte é a capital de Minas Gerais e o Cruzeiro é o melhor time do Brasil Duas proposições simples: Belo Horizonte é a capital de Minas Gerais Cruzeiro é o melhor time do Brasil Combinadas usando-se o conectivo e 4 Lógica Proposicional Vamos usar variáveis para representar proposições: P, Q, R, … P: Belo Horizonte é a capital de Minas Gerais Q: Cruzeiro é o melhor time do Brasil A sentença anterior seria representada como PeQ 5 Vamos usar símbolos especiais para representar os conectivos lógicos: Conectivo Negação (não) Conjunção (ê) Disjunção (ou) Ou exclusivo Condicional (implicação) Equivalência (bi-implicação) Simbolo → =⟷ Exemplo: (P ÙQ)Ú(ØR ® (P ÚQ)) 6 Lógica Proposicional – sintaxe Consideramos um conjunto enumerável de variáveis de proposição: P1, P2, P3, …. Seja var uma variável de proposição. O conjunto prop das fórmulas da LP pode ser definido pela seguinte gramática: prop := var |true | false |(¬ prop) |(prop ∧ prop) |(prop ∨ prop) |(prop -> prop) |(prop <-> prop) fórmulas atômicas 7 Fórmula? Usando a gramática podemos determinar se uma sequência de símbolos é uma fórmula (sentença válida) Prop? ((P Q)((P)Q)) Constituintes (devem ser props) (P Q) ((P)Q) Constituintes (dos constituintes) P (P) Constituintes (dos constituintes dos constituintes) Q Q P Sim, é uma Prop – constituintes casam com as regras da gramática, até o nível de fórmulas atômicas 8 Fórmula? Prop? (( P ((Q)))((P)Q)) Constituintes (devem ser props) ( P ((Q))) Constituintes (de constituintes) P Constituintes (de constituintes de constituintes) ((Q)) (Q) ((P)Q) (P) Q P Ôpa! Q não é uma Prop Nenhuma Prop começa com 9 Exercício Quais das seguintes sentenças são fórmulas da Lógica Proposicional? Caso a sentença seja uma fórmula, relacione todas as suas subfórmulas. 1. ((P ∨ Q) → P) 2. ((P ∧ ∨ P) → ¬) 10 Conectivos: precedência associatividade Para evitar excesso de parênteses, é estabelecida uma precedência entre os operadores lógicos: maior precedência ¬ ∧ ∨ ➝ = menor precedência ∧ e ∨ têm associatividade à esquerda ➝ tem associatividade à direita 11 Conectivos: precedência associatividade Exemplos: ¬P ∧ Q ➝ R = (((¬P) ∧ Q) ➝ R) P ∧ Q ∨ R = ((P ∧ Q) ∨ R) P ∧ Q ∧ R = ((P∧Q)∧R) = (P∧(Q∧R)) P → Q → R = (P → (Q→R)) ≠ ((P→Q) →R) 12 Exercício Elimine os parênteses desnecessários: ((P ∨ Q) ∨ (R ∨ S)) (P ➝ (Q ➝ (P ∧ Q))) ¬ (P ∨(Q ∧ R)) ¬ (P ∧(Q ∨R)) 13 Lógica Proposicional - semântica O significado de uma proposição é um valor booleano: T ou F O significado da constante true é T O significado da constante false é F Existem 2 possíveis interpretações para uma variável de proposição P : T ou F Como determinar o significado de fórmulas compostas, como ((P˄Q) R) ? 14 Negação p T F ¬ p F T Verdadeiro se e somente se o operando é Falso 15 Conjunção p T T F q T F T p ∧ q T F F F F F Verdadeiro se e somente se ambos os operandos verdadeiros 16 Disjunção p T q T p ∨ q T T F F F T F T T F Verdadeiro se e somente se qualquer dos operandos é verdadeiro 17 Ou Exclusivo p q T T F T F T F T T F F F p ⊕ q Verdadeiro se e somente se os operandos tem valores diferentes 18 Implicação p T q T p ➝ q T T F F F T F F T T Falso se e somente se o 1o operando é verdadeiro e 2o operando é falso 19 Equivalência ou Bi-implicação p T q T p ⟷ q T T F F F T F F F T Verdadeiro sse ambos operandos têm o mesmo valor p ⟷ q tem o mesmo valor que (pq)(qp) p ⟷ q tem o mesmo valor que (p q) OBS: Também escrito como p=q 20 Implicação – algumas observações Existem várias maneiras de expressar uma implicação p ➝ q: se p então q p implica q q segue de p q somente se p p é suficiente para q q é necessário para p Exemplos: É suficiente que x>10 para que x>5 É necessário que x>5 para que x>10 21 Implicação – algumas observações pq Contrapositivo: q p Implicação: Inverso: Converso: q p p q equivalentes (mesma tab-verdade) equivalentes 22 Bi-implicação – algumas observações p « q ou p = q Relação Equivalência: a = b ou a º b ou a == b Bi-implicação: Exemplos: relação de equivalência notação abreviada para (6 º 2 + 4)Ù(6 º 3.3) 6 = 2 + 4 = 3.3 true = false = false ? true º false º false true « false « false 23 Tabela-verdade Proposição: (P Q) ( P Q) P Q (P Q) P (PQ) (PQ) (PQ) F F F T F F F T T T T T T F T F T T T T T F T T Verdadeiro p/ alguma: Satisfazível Verdadeiro p/ todas: Tautologia Falso p/ todas : Contradição (não satisfazível) 24 Outra Tabela-verdade Proposição: ( PQ) (P Q) (PQ) P Q F F T F F F F T T T T T T F F F T F T T F F T F P (P Q) (PQ) (P Q) Equivalência Lógica: (PQ) = (PQ) (P Q) 25 Sherlock Holms O mordomo e o cozinheiro não são ambos inocentes Ou o mordomo está mentindo ou o cozinheiro é inocente Então ou o mordomo está mentindo ou ele é culpado M = o mordomo é inocente C = o cozinheiro é inocente L = o mordomo está mentindo (M C) LC LM 26 Sherlock Holms (M C) LC LM (M C), L C ⇒ L M M C L (M C) LC Consequência Lógica L M False False False True False True False False True True True True False True False True True True False True True True True True True False False True False False True False True True True True True True False False True False True True True False True True 27 O raciocínio com tabela-verdade é viável na prática? É bom quando existem apenas 2 variáveis {T,F} {T,F} = possíveis valores de variáveis 2 2 linhas na tabela-verdade Três variáveis — começa a ficar tedioso {T,F} {T,F} {T,F} = possíveis valores 2 2 2 linhas na tabela-verdade Vinte variáveis — impraticável! 2 2 … 2 linhas (220) Você gostaria de preencher um milhão de linhas? Nesse caso, como faria para evitar erros? Centenas de variáveis — + de1 milhão de anos! 28 Adição Binária Circuitos Digitais 1001 (9) + 1 1 (3) -----1100 (12) Portas Lógicas AND OR NOT XOR 29 Circuito Meio Somador Entradas Saídas S=A B A B C S 0 1 0 1 0 0 0 1 0 0 1 1 0 1 1 0 Cout=(AB) 30 Somador Completo S=A B Cin Cout=(AB) (Cin (AB) Entradas Saídas A B Cin Cout S 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 01 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 31