This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 1
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 1
UFMA-CCET-DEINFEstruturas Discretas e Lógica Matemática
Slides adaptados de Kees Van DemterCurso baseado no Livro: Discrete Mathemathics & Its Applications(5th Edition) Kenneth H. Rosen
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 2
Módulo 1:Fundamentos de Lógica
Rosen 5th ed., §§1.1-1.44 aulas
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 2
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 3
Fundamentos da Lógica
Lógica Matemática é uma ferramenta paratrabalhar com afirmativas compostas, inclui:
l Linguagem formal para expressá-las.l Metodologia para concluir objetivamente
sobre sua verdade ou falsidade.l Fundamento para expressar provas
formais em todos os ramos damatemática.
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 4
Fundamentos da Lógica- Roteiro:
l Lógica proposicional (§1.1-1.2):l Definições básicas. (§1.1)l Regras de equivalência ede derivação.
(§1.2)
l Lógica de Predicados (§1.3-1.4)l Predicados.l Expressões de predicados quantificados.l Equivalências e derivações.
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 3
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 5
Lógica Proposiciona (§1.1)
Lógica Proposicional é a lógica dasafirmativas compostas, construídas a partir de afirativas simples, usando osconectivos Booleanos.
Aplicações na Ciência da Computação:l Projeto de circuitos eletrônicos digitais.l Expressão de condições em
programas.l Consultas a bases de dados e
máquinas de busca.
George Boole(1815-1864)
Chrysippus of Soli(ca. 281 B.C. – 205 B.C.)
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 6
Proposições em linguagem natural
Definição: Uma proposição é simplesmente:l Uma afirmativa (i.e., uma sentença declarativa)
l Com algum significado definido (não ambíguo ouinválido)
l Que possui um valor verdade que pode ser true(T) ou false (F) l Nunca pode assumir ambos os valores ou estar
entre os dois!”l Mas, eu posso a priori não saber qual é este valor verdade
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 4
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 7
Exemplos de Proposições em LN
l “Está chovendo.” (Em uma dada situação.)l “Beijing é a capital da China, e 1 + 2 = 2”Mas as seguintes NÃO são proposições:l “La la la la la.” (sem significado)l “Quem esta aí??” (interrogativa: sem valor
verdade)l “x := x+1” (imperativa: sem valor verdade)l “1 + 2”
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 8
Proposições em Lógica Proposicional
l Átomos: p, q, r, …(Correspondem com simples sentenças emLN, e.g.`Eu como salada no almoço’)
l Proposições complexas: construída a partirdos átomos usando operadores: p∧q(Correspondem a sentenças compostas emLN, e.g., “Eu como salada no almoço e carne no jantar.”)
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 5
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 9
Lógica Matemática
l LM oferece:l definições formalmente precisas para
essas noções e para o significado de proposições compostas.
l Por enquanto: sem definições precisas.Explicações baseadas em exemplos.
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 10
l Um operador ou conectivo combina n operandos (expressões) em umaexpressão maior. (E.g., “+” emexpressões numéricas.)l Operadores unários: só um operando (- 3); l Operadores binários: dois operandos (3 × 4).
l Operadores Booleanos operam emproposições ao invés de números.
Operador “¬” (NOT) transforma umaproposição na sua negação
E.g. Se p = “Eu tenho cabelos castanhos.”então ¬p = “Eu não tenho cabelos
castanhos.”Tabela Verdade: p ¬p
T F F T
T := True; F := False“:=” significa “é definido como”
Coluna doOperando
Coluna doResultado
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 7
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 13
Operador de Conjunção
Operador de conjunção “∧” (AND) combina duas proposições para formar a conjunção lógicas delas.
E.g. Se p=“Eu comi salad no almoço.”q=“Eu comi salada no jantar”,
then p∧q=“Eu comi salada no almoço a carne
no jantar.”
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 14
l A conjunçãop1 ∧ p2 ∧ … ∧ pnde n proposiçõesterá 2n linhasna Tab. Verdade.
l ¬ e ∧ são suficientes para expressarqualquer Tab. Verdade Booleana!
Conjunction Truth Table
p q p∧qF F FF T FT F FT T T
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 8
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 15
Operador Disjunção
O operador binário de disjunção “∨” (OR) combina duas proposições para formara disjunção lógica das mesmas.
p=“Meu carro tem motor ruim.”q=“Me carro tem pneu ruim.”
p∨q=“Meu carro tem motor ou pneu ruim.”
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 16
l Note que p∨q significase p é true, ou q é true, ou ambos são true!
l Por isso é chamadoou inclusivo,porque inclui a possibilidade de ambos serem true.
l “¬” e “∨” juntos são também universais.
Tabela Verdade da Disjunção
p q p∨qF F FF T TT F TT T T
Note adiferençado AND
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 9
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 17
Expressões Proposicionais
l Use parênteses para agrupar sub-expressões:“I conheci seu amigo e ele é doido oumuito inteligente.” = f ∧ (g ∨ s)l (f ∧ g) ∨ s pode significar algo diferentel f ∧ g ∨ s pode ser ambíguo
l Por convenção, “¬” tem precedênciasobre “∧” e “∨”.l ¬s ∧ f significa (¬s) ∧ f , não ¬ (s ∧ f)
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 18
Lógica – Forma concisa para LN
Seja p=“Choveu ontem a noite”, q=“O jardineiro molhou a grama ontem a noite,”r=“O gramado estava molhado esta manhã.”
¬p = r ∧ ¬p = ¬ r ∨ p ∨ q =
“Não choveu ontem a noite.”“O gramado estava molhado estamanhã e não choveu ontem a noite.”
“Ou o gramado não estava molhado hojepela mnahã ou choveu ontem a noite ou o jardineiro molhou o gramado.”
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 10
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 19
Algumas idéias importantes:
l Distinguir entre diferentes tipos de fórmulas
l Verificar que algumas fórmulas queparecem diferentes podem expressar a mesma informação
l Primeiro: diferente tipos de fórmulas
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 20
Tautologias
É uma proposição composta que é sempretrue não importando quais os valoresverdade das proposições atômicas!
Ex. p ∨ ¬p [Qual é a tabela verdade?]
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 11
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 21
Tautologias
l Quando todas as linhas da tabelaverdade resulta em valor True.
l Exemplo: p ¬p p ∨ ¬p T T TF T T
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 22
Contradições
Proposição composta que resultasempre em valor False não importandoos valores verdade das proposiçõesatômicas!
Ex. p ∧ ¬p [Tabela verdade?]
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 12
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 23
Contradições
l Quando cada linha da tabela verdaderesulta em valor False
l Exemplo: p ¬p p∧¬pT F FF F F
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 24
O que sobra?
Todas as outras proposições sãocontingências:
Algumas linhas da tabela verdaderesultam em True e outras em False
Agora: fórmulas que possuem o mesmosignificado
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 13
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 25
Equivalência de Proposições
l Duas proposições sintaticamentediferentes (i.e., textualmente) podem ser semânticamente idênticas (i.e., possuir o mesmo significado).
l Denominamos isto de: equivalêncialógica.
Notação: … ⇔ …
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 26
Equivalência Lógica
l Uma proposição composta p élógicamente equivalente a umaproposição composta q, que escrevemosp⇔q, se e somente se p e q possuem o mesmo valor em todasas linhas de sua tabela verdadein all rows of their truth tables
l As duas proposições expressam a mesma função verdade.
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 14
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 27
Ex. Prove que p∨q ⇔ ¬(¬p ∧ ¬q).
p q pp∨∨qq ¬¬pp ¬¬qq ¬¬pp ∧∧ ¬¬qq ¬¬((¬¬pp ∧∧ ¬¬qq))F FF TT FT T
3. Explique porque ¬ e ∧ juntos são suficientespara expressar qualquer coisa que possaser expresso pela lógica booleana
l Obviamente se eu adicionar novosconectivos posso escrever novas fórmulas
l Mas estas novas fórmulas serão sempreequivalentes a uma fórmula escrita usandosomente ¬ e ∧(Isto que precisamos demonstrar)
Questões
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 16
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 31
l Exemplo de escrita de uma disjunção emoutra forma:
p ∨ q ⇔ ¬(¬p ∧ ¬q) l Se nenhuma da linhas da tabela verdade
tem valor True, então temos umacontradição.l Contradições podem ser escritas com ¬ e ∧
l Suponha que 2 linhas resultam em True.l P=T, Q=T, R=F. Isto é P ∧ Q ∧ ¬Rl P=T, Q=F, R=T. Isto é P ∧ ¬Q ∧ R
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 32
l Provamos nossa afirmativa se pudermos expressar a disjunçãodestas duas linhas : (P ∧ Q ∧ ¬R) ∨ (P ∧ ¬Q ∧ R)
l Vimos que disjunção pode expressausando ∧ e ¬:
p ∨ q ⇔ ¬(¬p ∧ ¬q) l CQD.
Tabela como uma disjunction de T-linhas
Topic #1.0 – Propositional Logic: Operators
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 17
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 33
Alguns Conectivos Adicionais
l Variação da disjunção
l Condicional
l Biconditional
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 34
Operador OU Exclusivo
O operador binário ou exclusivo “⊕” (XOR) combina duas proposicões de modo quesomente terá valor True se uma for True e a outra não.
p = “Vou tirar 10 em EDLM,”q = “Vou reprovar em EDLM,”p ⊕ q = “Eu vou tirar 10 em EDLM ou eu
vou reprovar em EDLM (mas nãoambos!)”
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 18
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 35
l Note que p⊕q significaque p é true, ou q étrue, mas não ambos!
l Esta operação sechama ou exclusivo,porque exclui apossibilidade de ambos, p e q serem true.
l “¬” e “⊕” juntos não são operadoresuniversais para lógica booleana.
Ou Exclusivo – Tabela Verdade
p q p⊕qF F FF T TT F TT T F
Note adiferençapara OU.
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 36
Operador de Implicação
A implicação p → q afirma que p implica q.I.e., Se p é true, então q é true; mas se p
não é true, então q pode ser true oufalse.
E.g., Seja p = “Vc estuda muito.”q = “Vc vai tirar nota boa.”
p → q = “Se vc estuda muito, então vc irátirar nota boa.”
antecedente consequente
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 19
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 37
Implicação – Tabela Verdade
l p → q é false somente quandop é true as q não é true.
l p → q não requer quep ou q sejam true!
l E.g. “(1=0) → porcos podem voar” is TRUE!
p q p→q F F T F T T T F F T T T
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 38
Exemplos de Implicaçõesl “Se esta aula acabar, então o sol nasceu esta
manhã.”l True ou False?
l “Se Terça feira é um dia da semana, então eusou um pinguim.”l True ou False?
l “Se 1+1=6, então Lula é o presidente.”l True ou False?
l “Se a lua e feita de queijo, então sou mais ricoque Bill Gates.”l True ou False?
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 20
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 39
O que parece errado?
l Considere uma frase como,l “Se eu usar um calção vermelho amanhã, então
Osama bin Laden vai ser capturado!”
l Em lógica, consideremos a frase True mesmoque eu não use um calção vermelho ou Bin Laden seja preso.
l Mas, em linguagem normal se eu dissesseesta frase, todos pensariam que estoumentindo.l Porquê esta discrepância entre lógica e LN?
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 40
Resolvendo esta discrepância
l Em LN, a frase “se p então q” usualmente significaimplicitamente algo como:l “Em todas as possíveis situações, se p então q.”
l Ou seja, “Para p ser true e q false é impossível.”l Ou, “Eu garanto que não há dúvida que se p acontecer então q
acontece.”
l Em lógica isto deve ser expresso como::l “Para todas as possíveis situações s, se p é true na situação s,
então q é true na situação s”l Formalmente: ∀s, P(s) ? Q(s)
l Esta afirmativa é False no nosso exemplo, porque euposso usar um calção vermelho e Bin Laden continuarlivre.l LN e lógica então concordam uma com a outra.
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 21
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 41
Frases em LN que significa p → q
l “p implica q”l “Se p, então q”l “Se p, q”l “quando p, q”l “sempre que p, q”l “q se p”l “q quando p”l “q sempre que p”
l “p somente se q”l “p é suficiente para q”l “q é necessário para p”l “q segue de p”l “q é implicado por p”
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 42
Mas não estamos estudando LN ..
l Provavelmente não existem duas dessas frasecom mesmo significado em LN
l Por exemplo:, `Eu vou a festa se Maria for’pode ser interpretado como uma implicação`Somente vou à festa se Maria for’transformando a frase em uma bicondicional:`Eu vou a festa se e somente se Maria for’
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 22
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 43
Linguagem da Lógica ProposicionalDefinições Formais
l Átomos: p1, p2, p3, ..
l Fórmulas:l Todos os átomos são fórmulasl Se α é uma fórmula então ¬ α é uma fórmulal Se α e β são fórmulasentão as seguintes também
são fórmulas: (α ∧ β), (α ∨ β), (α → β) (etc.)
l Exemplos de fórmulas: (p1 ∨ ¬ p2), ¬ ¬ ¬(p9 → p8), (p1∧ (p2 ∨ p3))
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 44
Linguagem da Lógica ProposicionalDefinições Formais
l Exemplos de fórmulas: (p1 ∨ ¬ p2), ¬ ¬ ¬(p9 → p8), (p1∧ (p2 ∨ p3))
l Convenção 1: parênteses mais externos sãoomitidos:p1 ∨ ¬ p2, ¬ ¬ ¬(p9 → p8), p1∧ (p2 ∨ p3)
l Convenção 2: associatividade permite omitirmais parênteses, e.g.:p1∧ p2 ∧ p3, p1 ∨ p2 ∨ p3
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 23
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 45
Implicação Contrapositiva
Seja a implicação p → q:l Sua inversa é: q → p.l Sua contrapositiva: ¬q → ¬ p.
Qual tem mesmo significado da implicação(mesma tabela verdade) de p → q?
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 46
Como comprovar isto?
Provando a equivalência p → q suainversa e contrapositiva usando tabelasverdade:p q ¬q ¬p p→q ¬q →¬pF F T T T TF T F T T TT F T F F FT T F F T T
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 24
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 47
Operador bicondicional
Biconditional p ↔ q afirma que p é true se e somente se (SSS) q é true.
p = “Lula ganhou a última eleição.”q = “Lula será presidente até 2006.”
p ↔ q = “Se, e somente se, Lula ganhou a última eleição, ele será presidente até 2006.”
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 48
Bicondicional – Tabela Verdade
l p ↔ q significa que p e qtem mesmo valor verdade.
l A tabela verdade éexatamente a oposta de ⊕!
p ↔ q significa ¬(p ⊕ q)
l p ↔ q não implicaque p e q são true, ou que um deles causa o outro.
p q p ↔ qF F TF T FT F FT T T
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 25
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 49
Operadores Booleanos - Resumo
l Vimos 1 operador unário e 5 binários:
p q ¬p p∧q p∨q p⊕q p→q p↔qF F T F F F T TF T T F T T T FT F F F T T F FT T F T T F T T
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 50
Para pensar:
1. Quantos conectivos distintos podem existir? p connective qT ? TT ? FF ? T F ? F
cada interrogação pode ser T ou F, então2.2.2.2=16 conectivos
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 26
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 51
Para pensar:
Exemplo de outro conectivop conectivo q compare: p and q T F T TT T F FF T T FF T F F
Nomes: NAND, Sheffer stroke
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 52
Para pensar:
Notações Alternativas
Name: not and or xor implies iffPropositional logic: ¬ ∧ ∨ ⊕ → ↔Boolean algebra: p pq + ⊕C/C++/Java (wordwise): ! && || != ==C/C++/Java (bitwise): ~ & | ^Logic gates:
Discrete Math - Module #0 - Overview 8/24/2005
(c)2001-2003, Michael P. Frank 27
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 53
Para pensar:
2. Qual a diferença entre ↔ e ⇔ ?l A ⇔ B l que não existe valor verdade que possa
ser atribuido a A e B de modoa tornar A ↔B false
l So pode ser usado de maneira apropriadap∨q ⇔ ¬(¬p ∧ ¬q).
l A ↔ B l A e B tem o mesmo valor verdade
8/24/2005 Prof.Anselmo Paiva - DEINF/UFMA 54
Tautologias de novo
l Introduzimos a noção de tautologiausando o exemplo p ∨ ¬p
l Agora conhecemos mais operadores, podemos construir mais tautologias, e.g.,(p∨q) ↔ ¬(¬p ∧ ¬q)(p→q) ↔ (¬q → ¬ p)