Professional Documents
Culture Documents
Disciplina:
Matemática Discreta
e Lógica
Luciano Reis Coutinho, Prof.
lrc@deinf.ufma.br
Lógica:
◦ Estudo dos princípios e métodos de raciocínio
(processo de inferência) correto ou válido.
◦ Tipos: Dedutiva, Indutiva ou Abdutiva.
Lógica:
◦ Estudo dos princípios e métodos de raciocínio
(processo de inferência) correto ou válido.
◦ Tipos: Dedutiva, Indutiva ou Abdutiva.
1
19/04/2019
Lógica:
◦ Estudo dos princípios e métodos de raciocínio
(processo de inferência) correto ou válido.
◦ Tipos: Dedutiva, Indutiva ou Abdutiva.
Predicados, Quantificadores;
Origem da Lógica Formal.
Lógica Proposicional
(Álgebra de Boole)
Lógica de Predicados
(1ª Ordem)
(2ª Ordem)
Teoria de Tipos
2
19/04/2019
Importância
◦ Na computação:
Projeto de circuitos eletrônicos,
Análise de programas de computador,
Construção de sistemas “inteligentes”,
Consultas em bancos de dados,
Etc.
Lógica Proposicional
◦ Proposições
◦ Conectivos lógicos
◦ Tabelas-verdade
Aplicações da Lógica
Equivalências Proposicionais
Predicados e Quantificadores
Referência
◦ Rosen, K. H. (2009). Matemática Discreta e suas Aplicações
(6th ed).
Cap 1: Os fundamentos lógicos e demonstrações
3
19/04/2019
D2 : 1 + 1 = 2
D3 : 2 + 2 = 5
◦ E : Ola! (exclamação)
◦ D6 : x + 1 = 3 (sentença aberta)
◦ D7 : x + y = z (sentença aberta)
◦ Princípio da Não-Contradição:
Nenhuma proposição poderá ser verdadeira e falsa ao
mesmo tempo.
4
19/04/2019
5
19/04/2019
Tabela Verdade
◦ Esta tabela tem uma linha para cada valor verdade de uma
proposição p.
◦ Na coluna mais a direita, mostram-se os correspondentes
valores verdade da proposição composta ¬p.
Outras notações
p’
~p
Tabela Verdade
◦ p ∧ q é VERDADEIRO quando ambos p E q são
VERDADEIROs e é FALSO caso contrário.
[
Rato gosta de queijo (T) AND
a Lua é feita de queijo (F)
]
(FALSO)
6
19/04/2019
OU
-inclusivo
Tabela Verdade
◦ p ∨ q é FALSO quando ambos p E q são FALSOs e é
VERDADEIRO caso contrário.
[
Rato gosta de queijo (T) OR
a Lua é feita de queijo (F)
]
(VERDADEIRO)
[
Assobio (T) OR
chupo cana (T)
]
(VERDADEIRO)
OU
-exclusivo
Tabela Verdade
◦ p ⊕ q é VERDADEIRO quando apenas um de p E q é
VERDADEIRO e é FALSO caso contrário.
[
Rato gosta de queijo (T) XOR
a Lua é feita de queijo (F)
]
(VERDADEIRO)
[
Assobio (T) XOR
chupo cana (T)
]
(FALSO )
Tabela Verdade
◦ p → q é FALSO quando p é VERDADEIRO e q é FALSO , e é
VERDADEIRO caso contrário.
p é chamada de Hipótese (ou antecedente, ou premissa).
q é chamada de Conclusão (ou consequencia).
[IF
Rato gosta de queijo (T) THEN
a Lua é feita de queijo (F)
]
(FALSO )
[IF
A Lua é feita de queijo (F) THEN
Rato gosta de queijo (T)
]
(VERDADEIRO )
Lógica Matemática e Métodos de Prova 21
7
19/04/2019
Terminologia:
◦ “Se p, então q” “Se p, q”
◦ “p implica q” “Quando p, q”
◦ “p somente/apenas se q”
◦ “p é (uma condição) suficiente para q”
Outro exemplo:
◦ Se tenho um Ferrari, então 2 + 3 = 5”
8
19/04/2019
Por fim:
◦ Linguagens de programação contêm comandos
if p then S,
onde p é uma proposição e S é um ou mais
comandos a serem executados.
9
19/04/2019
Exemplo:
◦ “Se chover, o time de casa ganha.”
Contrapositivo
◦ “Se o time de casa não ganha, então não chove.”
Converso
◦ “Se o time de casa ganha, então chove.”
Inverso
◦ “Se não chove, então o time de casa não ganha.”
Tabela Verdade
◦ p ↔ q é VERDADEIRO quando p E q têm os
mesmos valores, e FALSO caso contrário.
Bi-condicional ou bi-implicação.
[
Rato gosta de queijo (T) ↔
a Lua é feita de queijo (F)
]
(FALSO )
[
A Lua é feita de queijo (F) ↔
Rato não gosta de queijo (F)
]
(VERDADEIRO )
Lógica Matemática e Métodos de Prova 29
Terminologia:
10
19/04/2019
Equivalente a: (p → q) ∧ (q → p)
Por exemplo:
◦ Se fizer sol, vou a praia.
◦ Se comer tudo, ganha a sobremesa.
Proposições Atômicas
◦ Letras ou variável proposicionais: p, q, r, s, ...
Conectivos
◦ Operadores Lógicos
α β ¬α α∧ β α∨ β α⊕ β α→β α ↔β
V V F V V F V V
V F F F V V F F
F V V F V V V F
F F V F F F V V
11
19/04/2019
Exemplo:
◦ Listar valores verdade de (p ∨ ¬q) →(p∧q)
12
19/04/2019
13
19/04/2019
14
19/04/2019
Lógica Proposicional
◦ Proposições
◦ Conectivos lógicos
◦ Tabelas-verdade
Aplicações da Lógica
Equivalências Proposicionais
Predicados e Quantificadores
Referência
◦ Rosen, K. H. (2009). Matemática Discreta e suas Aplicações
(6th ed).
Cap 1: Os fundamentos lógicos e demonstrações
15
19/04/2019
◦ Ciência da Computação,
Especificação de software e hardware
Projeto de circuitos computacionais
Criação de sistemas especialistas
Definição de sistemas de busca
◦ Dentre outras.
Objetivo:
◦ Remover imprecisão/ambiguidades
◦ Fazer análise lógica
Tabelas verdade
Raciocínio dedutivo
Seja a sentença:
◦ “Voce pode acessar a Internet do campus apenas se você for um
aluno de ciência da computação ou se você não é um calouro.”
Tradução
◦ Identifique proposições atômicas e conectivos lógico;
16
19/04/2019
Tradução
Por exemplo:
◦ “A resposta automática não pode ser enviada quando o
sistema de arquivos estiver cheio.”
Questão
◦ Estes requisitos são consistentes ??
17
19/04/2019
Proposições atômicas:
◦ p ≡ “A mensagem de diagnóstico é armazenada no buffer”
◦ q ≡ “A mensagem de diagnóstico é retransmitida.”
Análise:
◦ p deve ser FALSO para que ¬p seja VERDADEIRO;
p q p∨q ¬p p→ q
V V V F V
V F V F F
F V V V V
F F F V V
◦ AND
Filtra registros que contêm dois (ou mais) termos,
◦ OR
Filtra registros que contêm ao menos um de dois (ou mais)
termos,
◦ NOT
é usado para excluir um termo particular.
Exemplos de Buscas
◦ São AND Luís AND Universidade
◦ (São AND Luís OR Teresina) AND Universidade
◦ (Teresina AND Universidade) NOT UFPI
Lógica Matemática e Métodos de Prova 54
18
19/04/2019
Sejam:
◦ p := A is a knight
◦ q := B is a knight
19
19/04/2019
p q r ¬q p∧¬q ¬r (p∧¬q)∨¬r
0 0 0 1 0 1 1
0 0 1 1 0 0 0
0 1 0 0 0 1 1
0 1 1 0 0 0 0
1 0 0 1 1 1 1
1 0 1 1 1 0 1
1 1 0 0 0 1 1
1 1 1 0 0 0 0
Com relés:
20
19/04/2019
in
out
in out
in
out
Com relés
Com válvulas
Com relés
Com válvulas
Com transistores
Circuitos integrados
21
19/04/2019
Porta XOR
p
p⊕q
q
(¬p ∧ q) ∨ (p ∧¬q)
¬p p q (¬p ∧ q) ∨ (p ∧¬q)
¬q 0 0 0
(¬p∧ q) 0 1 1
(p ∧¬q) 1 0 1
(¬p ∧ q) ∨ (p ∧¬q) 1 1 0
p ¬p
¬p∧q
p∧¬q∨p ∧¬q
q
p∧¬q
¬q
Tabuada
◦ 0+ 0= 0
◦ 0+ 1= 1
◦ 1+ 0= 1
◦ 1+ 1 =10
◦ 0+ 0= 00
◦ 0+ 1= 01
◦ 1+ 0= 01
◦ 1+ 1= 10
22
19/04/2019
Tabuada
◦ Ci a b Co S
◦ 0+0 + 0 =0 0
◦ 0+0 + 1 =0 1
◦ 0+1 + 0 =0 1
◦ 0+1 + 1 =1 0
◦ 1+ 0 + 0 = 0 1
◦ 1+ 0 + 1 = 1 0
◦ 1+ 1 + 0 = 1 0
◦ 1+ 1 + 1 = 1 1
A = a3 a2 a1 a0
B = b3 b2 b1 b0
-------------------------
S = c s3 s2 s1 s0
a0 a1 a2 a3 c
b0 b1 b2 b3
s0 s1 s2 s3
Exemplo
◦ C 1110
◦ A= 1011
◦ B= 0110
◦ -----------
◦ S = 10 0 0 1
23
19/04/2019
24
19/04/2019
Lógica Proposicional
◦ Proposições
◦ Conectivos lógicos
◦ Tabelas-verdade
Aplicações da Lógica
Equivalências Proposicionais
Predicados e Quantificadores
Referência
◦ Rosen, K. H. (2009). Matemática Discreta e suas Aplicações
(6th ed).
Cap 1: Os fundamentos lógicos e demonstrações
proposições equivalentes.
25
19/04/2019
Def. (TAUTOLOGIA):
◦ Uma proposição composta que é SEMPRE VERDADEIRA,
independentemente dos valores verdade das variáveis
proposicionais componentes é dita TAUTOLOGIA.
Def. (CONTRADIÇÃO):
◦ Uma proposição composta que é SEMPRE FALSA é
chamada de CONTRADIÇÃO.
Def. (CONTINGÊNCIA):
◦ Uma proposição composta que nem é uma tautologia,
nem uma contradição, é dita CONTINGÊNCIA.
26
19/04/2019
Def. (EQUIVALÊNCIA)
◦ Duas proposições compostas P e Q são chamadas
de logicamente equivalentes se (P↔Q) for uma
tautologia.
Obs.
◦ A notação P ≡ Q representa o fato de que P e Q
são logicamente equivalentes.
27
19/04/2019
Exemplos
◦ A negação de
“João foi ao cinema OU Maria ficou em casa”
◦ Fica
“João NÃO foi ao cinema E Maria NÃO ficou em casa”
◦ A negação de
“Sou flamengo E tenho uma nêga chamada Teresa”
◦ Fica
“NÃO sou flamengo OU NÃO tenho nêga chamada Teresa”
28
19/04/2019
29
19/04/2019
30
19/04/2019
◦ (p ∧ q) → (p ∨ q) ≡ ¬(p ∧ q) ∨ (p ∨ q)
◦ ≡ (¬p ∨ ¬q) ∨ (p ∨ q)
◦ ≡ (¬p ∨ p) ∨ (¬q ∨ q)
◦ ≡T∨T
◦ ≡T
Exemplos:
◦ (p ∨ ¬q) ∧ (q ∨ ¬r) ∧ (r ∨ ¬p)
SOLUÇÃO: p = T, q = T, r = T
31
19/04/2019
◦ Horas
35212516673,00638888888888888889
◦ Dias
1467188194,70859953703703703704
◦ Anos
4019693,68413314941653982750
◦ Séculos
40196,9368413314941653982750
◦ Milênios
40,1969368413314941653982750
32
19/04/2019
33
19/04/2019
Lógica Proposicional
◦ Proposições
◦ Conectivos lógicos
◦ Tabelas-verdade
Aplicações da Lógica
Equivalências Proposicionais
Predicados e Quantificadores
Referência
◦ Rosen, K. H. (2009). Matemática Discreta e suas Aplicações
(6th ed).
Cap 1: Os fundamentos lógicos e demonstrações
34
19/04/2019
Por exemplo:
◦ Todo cachorro tem quatro patas.
◦ Eu sou um cachorro. Penso
◦ Logo, eu tenho quatro patas. logo existo.
◦ Eu tenho pulgas.
◦ Eu sou um cachorro.
◦ Logo, existe um cachorro pulguento.
Proposição Predicativa
◦ “Eu sou um cachorro”
Sujeito : “Eu”
Predicado: “sou um cachorro” PROPRIEDADE
◦ “O número 2 é par”
Sujeitos : “o número 2”
Predicado: “é par” PROPRIEDADE
Proposição Predicativa
◦ “2 é menor que 3”
Sujeitos : “2”, “3”
Predicado : “é menor que” RELAÇÃO
35
19/04/2019
Expressões como
◦ “x > 3,”
◦ “x = y + 3,”
◦ “x + y = z.”
“x > 3”
◦ Elemento não determinado : “x”
◦ Função Proposicional P(x) ≡ “x > 3”
◦ P(4) ≡ VERD.
Proposições Predicativas
◦ P(2) ≡ FALSO
Função Proposicional
“x = y + 3”
◦ Elementos não determinados : “x”, “y”
◦ Função Proposicional Q(x,y) ≡ “x = y + 3”
◦ Q(4,1) ≡ VERD.
◦ Q(2,2) ≡ FALSO
Função Proposicional
36
19/04/2019
“x + y = z”
◦ Elementos não determinados : “x”, “y”, “z”
◦ Função Proposicional R(x,y,z) ≡ “x + y= z”
◦ R(4,1,5) ≡ VERD.
◦ R(2,2,5) ≡ FALSO
Função Proposicional
Quantificação
◦ Expressa a extensão de um dado domínio de elementos
sobre a qual um predicado é verdadeiro.
◦ EXISTENCIAL
Predicado é verdadeiro para um ou mais dos elementos do
domínio.
37
19/04/2019
Notação: ∀xP(x)
◦ O símbolo ∀ é chamado de QUANTIFICADOR UNIVERSAL.
38
19/04/2019
tem-se
◦ ∀xP(x) ≡ P (e1) ∧ P (e2) ∧ ··· ∧ P (en).
Exemplo:
◦ “Todo computador do campus está conectado à
Internet.”
Domínio ℝ
◦ ∀x(x2 ≥ x) ≡ FALSO
Domínio ℤ
◦ ∀x(x2 ≥ x) ≡ VERD.
39
19/04/2019
Notação ∃xP(x)
◦ O símbolo ∃ é chamado de QUANTIFICADOR
EXISTENCIAL
Domínio ℕ
◦ P(0) ≡ FALSO
◦ P(1) ≡ FALSO
◦ ...
◦ P(4) ≡ VERD.
◦ P(5) ≡ VERD.
◦ ...
◦ ∃xP(x) ≡ VERD.
40
19/04/2019
Domínio ℕ
◦ Q(0) ≡ FALSO
◦ Q(1) ≡ FALSO
◦ ...
◦ Q(n) ≡ FALSO
◦ Q(n+1) ≡ FALSO
◦ ...
tem-se
◦ ∃xP(x) ≡ P (e1) ∨ P (e2) ∨ ··· ∨ P (en).
Exemplo:
◦ “Algum computador do campus está conectado à
Internet.”
41
19/04/2019
Notação
◦ ∃!x P(x)
◦ ∃1x P(x)
Definição a partir de ∃ e ∀:
◦ ∃!x P(x) ≝ ∃x[ P(x) ∧ ∀y(P(y) → x=y) ]
Notação
◦ ∀x<0 (x2 > 0)
◦ ∃z >0 (z2 = 2)
Logo
◦ ∀x<0 (x2 > 0) ≡ ∀x(x < 0 → x2 > 0)
◦ ∃z >0 (z2 = 2) ≡ ∃z(z > 0 ∧ z2 = 2)
∀ e ∃ teriam precedência 0
42
19/04/2019
∃x(x + y = 1)
◦ A variável x é ligada por ∃
◦ A variável y é livre (não-ligada)
◦ P(y) := ∃x(x + y = 1)
◦ Escopo do ∃x(...)
P (x) ∧ Q(x)
◦ Escopo do ∀x...
R(x)
43
19/04/2019
Considere a sentença:
◦ “Todo estudante de computação faz disciplina de
cálculo.”
◦ Formalização
Domínio : “estudantes de computação”
Predicado C(x): “x faz disciplina de cálculo”
∀x C(x)
◦ Ou então:
Domínio : “pessoas”
Predicado E(x): “x é estudante de computação”
∀x [E(x) →C(x)]
A sentença:
◦ “Todo estudante de computação faz disciplina de
cálculo.”
◦ ∀x [E(x) ∧ C(x)]
A negação:
◦ ¬ ∀x C(x)
◦ ¬ ∀x [E(x) →C(x)]
É equivalente a:
◦ “EXISTE estudante de computação que NÃO faz disciplina
de cálculo”
◦ ∃x ¬C(x)
◦ ∃x ¬[E(x) →C(x)] ≡ ∃x ¬[¬E(x) ∨ C(x)]
◦ ≡ ∃x [E(x) ∧ ¬C(x)]
44
19/04/2019
Em suma:
◦ Não importanto, a interpretação dada à P(x), e nem
o domínio considerado:
∀x P(x) é falsa se, e apenas se, existir um elemento x
do domínio para o qual P(x) é falsa.
Ou seja, se somente se ∃x ¬P(x) é verdadeira.
◦ Logo:
◦ ¬∀x C(x) ≡ ∃x ¬C(x)
◦ e
◦ ¬∀x [E(x) →C(x)] ≡ ∃x [E(x) ∧ ¬C(x)]
Considere a afirmativa:
◦ “Há um estudante de computação que passou no
concurso.”
◦ Formalização
Domínio : “estudantes de computação”
Predicado C(x): “x passou no concurso”
∃x C(x)
◦ Ou então:
Domínio : “pessoas”
Predicado E(x): “x é estudante de computação”
∃x [E(x)∧C(x)]
A sentença:
◦ “Há um estudante de computação que passou no
concurso.”
◦ ∃x [E(x) → C(x)]
45
19/04/2019
A negação:
◦ ¬ ∃x C(x)
◦ ¬ ∃x [E(x)∧C(x)]
É equivalente a:
◦ “TODO estudante de computação NÃO passou no
concurso.”
◦ ∀x ¬ C(x)
◦ ∀x ¬[E(x)∧C(x)] ≡ ∀x [¬E(x)∨¬C(x)]
◦ ≡ ∀x [E(x) → ¬C(x)]
Em suma:
◦ Não importanto, a interpretação dada à P(x), e nem
o domínio considerado:
∃x P(x) é falsa se, e apenas se, não houver qualquer
elemento x do domínio para o qual P(x) seja verdade.
Ou seja, se somente se ∀x ¬P(x) é verdadeira.
◦ Logo:
◦ ¬∃x C(x) ≡ ∀x ¬C(x)
◦ e
◦ ¬∃x [E(x)∧C(x)] ≡ ∀x [E(x) → ¬C(x)]
46
19/04/2019
Especificação de Sistemas
◦ Req1
“Todo e-mail maior que 1MB será compactada.”
◦ Formalização
Domínio: qualquer elemento
Predicados
M(x) := x é um e-mail
>(x,y):= x é maior que y
C(x) := x será compactado
Constante
1MB
Especificação de Sistemas
◦ Req2
“Se um usuário está ativo, pelo menos um link de rede estará
disponível.”
◦ Formalização de Req2
Domínio : qualquer elemento
Predicados
S(x,y) := x está no estado y
U(x) := x é um usuário
L(x) := x é um link de rede
Constantes
ativo
disponível
47
19/04/2019
Linguagem de Programação
◦ PROgramming in LOGic
◦ Inteligência Artificial
◦ Noções centrais
http://www.swi-prolog.org/
Predicados
Variáveis
Constantes
Fatos
Regras
cachorro(rex).
cachorro(tob).
cachorro(dolly).
cachorro(baleia).
mae(baleia,rex).
mae(baleia,tob).
mae(dolly,baleia).
quatro_patas(X) :- cachorro(X).
Considere as sentenças:
◦ “Todo mundo tem um melhor amigo.”
◦ “Em ℤ, todo número tem um inverso aditivo.”
Como formalizá-las?
◦ ∀x ∃y Q(x,y)
Domínio : Pessoas
Q(x,y) := “y é o melhor amigo de x”
Domínio : ℤ
Q(x,y) := “( x + y = 0 )”
48
19/04/2019
Em ∀x ∃y Q(x,y):
◦ O escopo de ∀x... é ∃y Q(x,y)
Deste modo, diz-se que o ∃ ocorre ANINHADO ao ∀.
◦ No entanto,
A sub-expressão ∃y Q(x,y) isoladamente é uma função
proposicional pois nela a variável x é livre.
Em ∃y Q(x,y):
◦ O escopo de ∃y... é Q(x,y)
◦ Resposta:
Quando dois números reais
o primeiro, um positivo qualquer
o segundo, um negativo qualquer
são multiplicados, o resultado necessariamente é um
número negativo.
Possibilidades
◦ ∀x∀y Q(x,y)
◦ ∀y∀x Q(x,y)
◦ ∀x∃y Q(x,y)
◦ ∃x∀y Q(x,y)
◦ ∃x ∃y Q(x,y)
◦ ∃y ∃x Q(x,y)
49
19/04/2019
Seja D = {e 1 , e 2 , ..., e n }
Seja D = {e 1 , e 2 , ..., e n }
se achou ≡ FALSO
retorna FALSO
senão
achou:= FALSO
fim_se
fim_para
retorne VERDADEIRO
Lógica Matemática e Métodos de Prova 151
50
19/04/2019
se achou ≡ VERDADEIRO
retorna VERDADEIRO
senão
achou:= VERDADEIRO
fim_se
fim_para
retorne FALSO
Lógica Matemática e Métodos de Prova 152
◦ A sentença
“Para todos x e y, tem-se que x + y = y + x”
Formalização
∀x∀y (x + y = y + x) ≡ ∀y∀x (x + y = y + x)
◦ A sentença
“Existem x e y, tais que x + y = 1”
Formalização
∃x∃y (x + y = 1) ≡ ∃y∃x (x + y = 1)
∃y∀x (x + y = 1)
◦ “Existe um valor y tal que, para todo x, x+y =1”
Domínio ℝ
∃y∀x (x + y = 1) ≡ FALSO
∀x∃y (x + y = 1)
◦ “Para todo x, existe um valor y tal que x+y =1”
Domínio ℝ
∀x∃y (x + y = 1) ≡ VERDADEIRO
51
19/04/2019
Assim, em geral:
◦ ∃y∀x P(x,y) ≢ ∀x∃y P(x,y)
Todavia:
◦ ∃y∀x P(x,y) → ∀x∃y P(x,y)
Considere a expressão
◦ “x + y = z”
Define-se:
lim f (x) L
x a
◦ Se, somente se, para todo ∊>0 existe um δ>0 tal que
| f(x) – L | < ∊ quando 0 < |x-a| < δ.
Formalização lógica:
◦ lim f (x) L ≡ ∀∊>0 ∃δ>0 ∀x (
◦ x a
0<|x-a|<δ → |f(x)–L|<∊
◦ )
◦ ≡ ∀∊ {∊>0 → ∃δ [δ>0 ∧ ∀x (
◦ 0<|x-a|∧|x-a|<δ → |f(x)–L|<∊
◦ )]}
52
19/04/2019
53
19/04/2019
54