SlideShare ist ein Scribd-Unternehmen logo
1 von 165
Downloaden Sie, um offline zu lesen
Conceitos 
Preliminares 
1 
EDUARDO 
FREIRE 
NAKAMURA 
I n s / t u t o 
d e 
C ompu t a ç ã o 
U n i v e r s i d a d e 
F e d e r a l 
d o 
A m a z o n a s 
n a k a m u ra@i comp . u fam. e d u . b r 
1Este material baseia-se no capítulo 1 do livro: Vieira, N.J. Introdução aos Fundamentos da Computação: Linguagens e Máquinas, Pioneira 
Thomson Learning (atualmente, CENGAGE), 2006. 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Lógica 
formal 
2 
OBJ E T IVO 
REVISAR 
OS 
CONCEITOS 
D E 
LÓGICA 
FORMAL 
Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
Lógica 
Formal 
3 
— Fornece 
bases 
para 
o 
método 
de 
pensar 
organizado; 
— Expressa 
métodos 
de 
raciocínio 
sob 
a 
forma 
de 
argumentos. 
— Tem 
duas 
aplicações 
diretas 
em 
Ciência 
da 
Computação 
1. Programação 
Lógica 
2. Prova 
se 
programas 
estão 
corretos 
ou 
não 
— É 
análoga 
à 
lógica 
de 
circuitos 
de 
um 
computador 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Lógica 
Formal 
4 
— Exemplos 
de 
uLlização 
em 
computação: 
¡ Inteligência 
ArLficial; 
¡ Circuitos 
Lógicos; 
¡ Banco 
de 
Dados; 
¡ Sistemas 
Computacionais 
(hardware 
e 
soWware) 
¡ Sistemas 
Distribuídos; 
¡ Teoria 
de 
autômatos 
e 
computabilidade; 
¡ Teoria 
de 
linguagens; 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Proposições 
5 
— Uma 
proposição 
é 
uma 
sentença 
declaraLva, 
ou 
uma 
afirmação, 
que 
admite 
apenas 
um 
dos 
dois 
valores 
lógicos 
verdadeiro 
ou 
falso, 
nunca 
ambos 
— Proposições????? 
¡ Manaus 
é 
a 
capital 
do 
Amazonas 
¡ 1 
+ 
1 
= 
2 
¡ Como 
você 
está? 
¡ 9 
< 
6 
¡ Estudem 
regularmente 
¡ Londres 
é 
na 
Dinamarca 
¡ MatemáLca 
Discreta 
é 
fácil 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Proposições 
6 
— PROPOSIÇÕES 
ATÔMICAS 
não 
podem 
ser 
sub-­‐divididas 
em 
proposições 
mais 
simples 
¡ Ex: 
O 
servidor 
de 
arquivos 
está 
desligado 
— PROPOSIÇÕES 
COMPOSTAS 
são 
combinações 
de 
proposições 
atômicas 
via 
conecLvos 
lógicos 
¡ Ex: 
A 
rede 
local 
está 
mal 
configurada 
ou 
o 
servidor 
de 
arquivos 
está 
desligado 
¡ O 
valor 
verdade 
é 
completamente 
determinado 
pelos 
valores-­‐verdade 
das 
subproposições 
junto 
com 
a 
forma 
que 
estão 
conectadas 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Proposições 
7 
— PROPOSIÇÕES 
ATÔMICAS 
são 
representadas 
por 
meio 
de 
variáveis 
proposicionais 
¡ Variáveis 
proposicionais: 
(P, 
Q, 
R, 
S, 
. 
. 
.) 
¡ Constantes 
proposicionais: 
(V, 
F) 
→ 
(T, 
F) 
— Nas 
PROPOSIÇÕES 
COMPOSTAS, 
as 
variáveis 
proposicionais 
são 
combinadas 
através 
de 
pelo 
menos 
um 
operador 
ou 
conecLvo 
lógico 
¡ Operadores 
lógicos 
são 
uLlizados 
para 
combinar 
proposições 
e 
formar 
novas 
proposições 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
ConecLvos 
Lógicos 
8 
— Terminologia 
¡ Negação: 
¬ 
¡ Conjunção 
(e): 
∧ 
¡ Disjunção 
(ou): 
∨ 
¡ Condicional: 
→ 
¡ Bicondicional: 
↔ 
¡ QuanLficação 
Universal: 
∀ 
¡ QuanLficação 
Existencial: 
∃ 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
ConecLvos 
Lógicos 
9 
— Tabela 
da 
Verdade 
— Negação 
Negação 
P 
¬P 
V 
F 
F 
V 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
ConecLvos 
Lógicos 
10 
— Tabela 
da 
Verdade 
— Conjunção 
Conjunção 
P 
Q 
P∧Q 
V 
V 
V 
V 
F 
F 
F 
V 
F 
F 
F 
F 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
ConecLvos 
Lógicos 
11 
— Tabela 
da 
Verdade 
— Disjunção 
Disjunção 
P 
Q 
P∨Q 
V 
V 
V 
V 
F 
V 
F 
V 
V 
F 
F 
F 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
ConecLvos 
Lógicos 
12 
— Tabela 
da 
Verdade 
— Condicional 
Condicional 
P 
Q 
P→Q 
V 
V 
V 
V 
F 
F 
F 
V 
V 
F 
F 
V 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
ConecLvos 
Lógicos 
13 
— Tabela 
da 
Verdade 
— Bicondicional 
Bicondicional 
P 
Q 
P↔Q 
V 
V 
V 
V 
F 
F 
F 
V 
F 
F 
F 
V 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
QuanLficação 
14 
— QuanLficação 
Universal 
¡ ∀x 
P(x) 
¡ P(x) 
é 
um 
predicado 
¡ P(x) 
é 
verdadeiro 
para 
todo 
x 
do 
universo 
— Exemplo 
¡ Todo 
número 
natural 
par 
ao 
quadrado 
é 
par 
— QuanLficação 
Existencial 
¡ ∃x 
P(x) 
¡ P(x) 
é 
um 
predicado 
¡ P(x) 
é 
verdadeiro 
para 
algum 
x 
do 
universo 
— Exemplo 
¡ Existe 
um 
número 
natural 
que 
ao 
quadro 
é 
igual 
a 
ele 
mesmo 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
AfirmaLva 
Válida 
(Tautologia) 
15 
— Verdadeira 
para 
todos 
os 
valores 
verdades 
de 
suas 
sub 
afirmaLvas 
— Exemplos 
¡ P∨¬P 
¡ P 
→ 
P 
¡ P 
∨ 
(P 
→ 
Q) 
¡ P(a) 
→∃x 
P(x) 
¡ ∀x 
P(x) 
↔ 
¬∃x 
¬P(x) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Contradição 
16 
— Falsa 
para 
todos 
os 
valores-­‐verdade 
de 
suas 
subafirmaLvas 
— Exemplos 
¡ P∧¬P 
¡ P 
↔ 
¬P 
¡ (P 
∧ 
(P 
→ 
Q)) 
∧ 
¬Q 
¡ P(a) 
∧ 
¬∃x 
P(x) 
¡ ∀x 
P(x) 
∧ 
∃x 
¬P(x) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Equivalência 
Lógica 
17 
— Duas 
proposições 
P 
e 
Q 
são 
logicamente 
equivalentes 
(P 
≡ 
Q), 
se 
ambas 
possuem 
tabelas-­‐verdade 
idênLcas 
— Exemplos 
¡ P∨Q 
≡ 
Q∨P 
¡ P 
∨ 
(Q 
∧ 
R) 
≡ 
(P 
∨ 
Q) 
∧ 
(P 
∨ 
R) 
¡ ¬(P 
∧ 
Q) 
≡ 
¬P 
∨ 
¬Q 
¡ P 
→ 
Q 
≡ 
¬P 
∨ 
Q 
¡ P 
↔ 
Q 
≡ 
(P 
→ 
Q) 
∧ 
(Q 
→ 
P) 
¡ ¬∀x 
P(x) 
≡ 
∃x 
¬P(x) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Regras 
de 
equivalência 
18 
Fórmula 
Lei 
P∨P 
≡ 
P 
P∧P 
≡ 
P 
Idempotência 
(P∨Q)∨R 
≡ 
P∨(Q∨R) 
(P∧Q)∧R 
≡ 
P∧(Q∧R) 
AssociaLva 
P∨Q 
≡ 
Q∨P 
P∧Q 
≡ 
Q∧P 
ComutaLva 
(P∧Q)∨R 
≡ 
(P∨R)∧(Q∨R) 
(P∨Q)∧R 
≡ 
(P∧R)∨(Q∧R) 
DistribuLva 
P∨F 
≡ 
P 
P∨V 
≡ 
V 
P∧V 
≡ 
P 
P∧F 
≡ 
F 
IdenLdade 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Regras 
de 
equivalência 
19 
Fórmula 
Lei 
P∨¬P 
≡ 
V 
¬V 
≡ 
F 
P∧¬P 
≡ 
F 
¬F 
≡ 
V 
Complemento 
¬¬P 
≡ 
P 
Involução 
¬(P∧Q) 
≡ 
¬P∨¬Q 
¬(P∨Q) 
≡ 
¬P∧¬Q 
DeMorgan 
P→Q 
≡ 
¬P∨Q 
Condicional 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Regras 
de 
equivalência 
(resumo) 
20 
Fórmula 
Lei 
P∨P 
≡ 
P 
P∧P 
≡ 
P 
Idempotência 
(P∨Q)∨R 
≡ 
P∨(Q∨R) 
(P∧Q)∧R 
≡ 
P∧(Q∧R) 
AssociaLva 
P∨Q 
≡ 
Q∨P 
P∧Q 
≡ 
Q∧P 
ComutaLva 
(P∧Q)∨R 
≡ 
(P∨R)∧(Q∨R) 
(P∨Q)∧R 
≡ 
(P∧R)∨(Q∧R) 
DistribuLva 
P∨F 
≡ 
P 
P∨V 
≡ 
V 
P∧V 
≡ 
P 
P∧F 
≡ 
F 
IdenLdade 
P∨¬P 
≡ 
V 
¬V 
≡ 
F 
P∧¬P 
≡ 
F 
¬F 
≡ 
V 
Complemento 
¬¬P 
≡ 
P 
Involução 
¬(P∧Q) 
≡ 
¬P∨¬Q 
¬(P∨Q) 
≡ 
¬P∧¬Q 
DeMorgan 
P→Q 
≡ 
¬P∨Q 
Condicional 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Consequência 
Lógica 
(Implicação 
Lógica) 
21 
— P 
⇒ 
Q, 
se 
Q 
é 
verdade 
sempre 
que 
P 
é 
verdade 
— Exemplos 
¡ {P 
→ 
Q, 
P} 
⇒ 
Q 
¡ {P 
→ 
Q, 
¬Q} 
⇒ 
¬P 
¡ {P 
→ 
Q, 
¬P 
→ 
Q} 
⇒ 
Q 
¡ {P 
→ 
Q, 
Q 
→ 
R} 
⇒ 
P 
→ 
R 
¡ {P(a)} 
⇒ 
∃x 
P(x) 
¡ {P(a), 
∀x 
(P(x) 
→ 
Q(x))} 
⇒ 
Q(a) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplos 
de 
regras 
de 
inferência 
22 
Modus 
ponens 
P 
P→Q 
Q 
FTC 
é 
fácil 
SE 
FTC 
é 
fácil, 
ENTÃO 
serei 
aprovado 
serei 
aprovado 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplos 
de 
regras 
de 
inferência 
23 
Modus 
ponens 
P 
P→Q 
Q 
Modus 
tollens 
¬Q 
P→Q 
¬P 
NÃO 
fui 
aprovado 
SE 
estudei, 
ENTÃO 
fui 
aprovado 
NÃO 
estudei 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplos 
de 
regras 
de 
inferência 
24 
Modus 
ponens 
P 
P→Q 
Q 
Modus 
tollens 
¬Q 
P→Q 
¬P 
Conjunção 
P 
Q 
P∧Q 
estudei 
fui 
aprovado 
estudei 
E 
fui 
aprovado 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplos 
de 
regras 
de 
inferência 
25 
Modus 
ponens 
P 
P→Q 
Q 
Modus 
tollens 
¬Q 
P→Q 
¬P 
Conjunção 
P 
Q 
P∧Q 
Adição 
P 
P∨Q 
estudei 
estudei 
OU 
dormi 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplos 
de 
regras 
de 
inferência 
26 
Modus 
ponens 
P 
P→Q 
Q 
Modus 
tollens 
¬Q 
P→Q 
¬P 
Conjunção 
P 
Q 
P∧Q 
Adição 
P 
P∨Q 
Silogismo 
hipotéLco 
P→Q 
Q→R 
P→R 
SE 
estudar, 
ENTÃO 
FTC 
é 
fácil 
SE 
FTC 
é 
fácil, 
ENTÃO 
serei 
aprovado 
SE 
estudar, 
ENTÃO 
serei 
aprovado 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplos 
de 
regras 
de 
inferência 
27 
Modus 
ponens 
P 
P→Q 
Q 
Modus 
tollens 
¬Q 
P→Q 
¬P 
Conjunção 
P 
Q 
P∧Q 
Adição 
P 
P∨Q 
estudo 
SE, 
quero 
passar 
SE, 
estudo 
SE, 
Silogismo 
hipotéLco 
P↔Q 
Q↔R 
P↔R 
Silogismo 
hipotéLco 
P→Q 
Q→R 
P→R 
E 
SOMENTE 
SE, 
quero 
passar 
E 
SOMENTE 
SE, 
aprendo 
E 
SOMENTE 
SE, 
aprendo 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplos 
de 
regras 
de 
inferência 
28 
Modus 
ponens 
P 
P→Q 
Q 
Modus 
tollens 
¬Q 
P→Q 
¬P 
Conjunção 
P 
Q 
P∧Q 
Adição 
P 
P∨Q 
Silogismo 
disjunLvo 
P∨Q 
¬Q 
P 
estudei 
OU 
dormi 
NÃO 
dormi 
estudei 
Silogismo 
hipotéLco 
P↔Q 
Q↔R 
P↔R 
Silogismo 
hipotéLco 
P→Q 
Q→R 
P→R 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplos 
de 
regras 
de 
inferência 
29 
Modus 
ponens 
P 
P→Q 
Q 
Modus 
tollens 
¬Q 
P→Q 
¬P 
Conjunção 
P 
Q 
P∧Q 
Adição 
P 
P∨Q 
Silogismo 
disjunLvo 
P∨Q 
¬Q 
P 
Silogismo 
hipotéLco 
P↔Q 
Q↔R 
P↔R 
Silogismo 
hipotéLco 
P→Q 
Q→R 
P→R 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
30 
— Você 
está 
saindo 
para 
a 
UFAM 
de 
manhã 
e 
percebe 
que 
não 
está 
usando 
os 
óculos. 
Ao 
tentar 
descobrir 
onde 
estão 
os 
óculos 
você 
começa 
a 
pensar 
sobre 
os 
seguintes 
fatos 
que 
são 
verdadeiros 
1. Se 
os 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha 
então 
eu 
os 
vi 
no 
café 
da 
manhã; 
2. Eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
ou 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha; 
3. Se 
eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
então 
meus 
óculos 
estão 
na 
mesa 
do 
café; 
4. Eu 
não 
vi 
meus 
óculos 
no 
café 
da 
manhã; 
5. Se 
eu 
estava 
lendo 
um 
livro 
na 
cama 
então 
meus 
óculos 
estão 
no 
criado-­‐ 
mudo; 
6. Se 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha 
então 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha; 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
31 
— Você 
está 
saindo 
para 
a 
UFAM 
de 
manhã 
e 
percebe 
que 
não 
está 
usando 
os 
óculos. 
Ao 
tentar 
descobrir 
onde 
estão 
os 
óculos 
você 
começa 
a 
pensar 
sobre 
os 
seguintes 
fatos 
que 
são 
verdadeiros 
1. Se 
os 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha 
então 
eu 
os 
vi 
no 
café 
da 
manhã; 
P→Q 
2. Eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
ou 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha; 
3. Se 
eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
então 
meus 
óculos 
estão 
na 
mesa 
do 
café; 
4. Eu 
não 
vi 
meus 
óculos 
no 
café 
da 
manhã; 
5. Se 
eu 
estava 
lendo 
um 
livro 
na 
cama 
então 
meus 
óculos 
estão 
no 
criado-­‐ 
mudo; 
6. Se 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha 
então 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha; 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
32 
— Você 
está 
saindo 
para 
a 
UFAM 
de 
manhã 
e 
percebe 
que 
não 
está 
usando 
os 
óculos. 
Ao 
tentar 
descobrir 
onde 
estão 
os 
óculos 
você 
começa 
a 
pensar 
sobre 
os 
seguintes 
fatos 
que 
são 
verdadeiros 
1. Se 
os 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha 
então 
eu 
os 
vi 
no 
café 
da 
manhã; 
P→Q 
2. Eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
ou 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha; 
R∨S 
3. Se 
eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
então 
meus 
óculos 
estão 
na 
mesa 
do 
café; 
4. Eu 
não 
vi 
meus 
óculos 
no 
café 
da 
manhã; 
5. Se 
eu 
estava 
lendo 
um 
livro 
na 
cama 
então 
meus 
óculos 
estão 
no 
criado-­‐ 
mudo; 
6. Se 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha 
então 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha; 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
33 
— Você 
está 
saindo 
para 
a 
UFAM 
de 
manhã 
e 
percebe 
que 
não 
está 
usando 
os 
óculos. 
Ao 
tentar 
descobrir 
onde 
estão 
os 
óculos 
você 
começa 
a 
pensar 
sobre 
os 
seguintes 
fatos 
que 
são 
verdadeiros 
1. Se 
os 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha 
então 
eu 
os 
vi 
no 
café 
da 
manhã; 
P→Q 
2. Eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
ou 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha; 
R∨S 
3. Se 
eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
então 
meus 
óculos 
estão 
na 
mesa 
do 
café; 
R→T 
4. Eu 
não 
vi 
meus 
óculos 
no 
café 
da 
manhã; 
5. Se 
eu 
estava 
lendo 
um 
livro 
na 
cama 
então 
meus 
óculos 
estão 
no 
criado-­‐ 
mudo; 
6. Se 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha 
então 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha; 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
34 
— Você 
está 
saindo 
para 
a 
UFAM 
de 
manhã 
e 
percebe 
que 
não 
está 
usando 
os 
óculos. 
Ao 
tentar 
descobrir 
onde 
estão 
os 
óculos 
você 
começa 
a 
pensar 
sobre 
os 
seguintes 
fatos 
que 
são 
verdadeiros 
1. Se 
os 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha 
então 
eu 
os 
vi 
no 
café 
da 
manhã; 
P→Q 
2. Eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
ou 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha; 
R∨S 
3. Se 
eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
então 
meus 
óculos 
estão 
na 
mesa 
do 
café; 
R→T 
4. Eu 
não 
vi 
meus 
óculos 
no 
café 
da 
manhã; 
¬Q 
5. Se 
eu 
estava 
lendo 
um 
livro 
na 
cama 
então 
meus 
óculos 
estão 
no 
criado-­‐ 
mudo; 
6. Se 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha 
então 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha; 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
35 
— Você 
está 
saindo 
para 
a 
UFAM 
de 
manhã 
e 
percebe 
que 
não 
está 
usando 
os 
óculos. 
Ao 
tentar 
descobrir 
onde 
estão 
os 
óculos 
você 
começa 
a 
pensar 
sobre 
os 
seguintes 
fatos 
que 
são 
verdadeiros 
1. Se 
os 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha 
então 
eu 
os 
vi 
no 
café 
da 
manhã; 
P→Q 
2. Eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
ou 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha; 
R∨S 
3. Se 
eu 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
então 
meus 
óculos 
estão 
na 
mesa 
do 
café; 
R→T 
4. Eu 
não 
vi 
meus 
óculos 
no 
café 
da 
manhã; 
¬Q 
5. Se 
eu 
estava 
lendo 
um 
livro 
na 
cama 
então 
meus 
óculos 
estão 
no 
criado-­‐ 
mudo; 
U→X 
6. Se 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha 
então 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha; 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
36 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
R→T 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
Variável 
Argumento 
P 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha 
Q 
eu 
os 
vi 
no 
café 
da 
manhã 
R 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
S 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha 
T 
meus 
óculos 
estão 
na 
mesa 
do 
café 
U 
eu 
estava 
lendo 
um 
livro 
na 
cama 
X 
meus 
óculos 
estão 
no 
criado-­‐mudo 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
37 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
R→T 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
1. 
P→Q 
4. 
¬Q 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
38 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
R→T 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
1. 
P→Q 
4. 
¬Q 
7. 
¬P 
Modus 
tollens 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
39 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
R→T 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
1. 
P→Q 
4. 
¬Q 
7. 
¬P 
Modus 
tollens 
6. 
S→P 
7. 
¬P 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
40 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
R→T 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
1. 
P→Q 
4. 
¬Q 
7. 
¬P 
Modus 
tollens 
6. 
S→P 
7. 
¬P 
8. 
¬S 
Modus 
tollens 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
41 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
R→T 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
1. 
P→Q 
4. 
¬Q 
7. 
¬P 
Modus 
tollens 
6. 
S→P 
7. 
¬P 
8. 
¬S 
Modus 
tollens 
2. 
R∨S 
8. 
¬S 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
42 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
RàT 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
1. 
P→Q 
4. 
¬Q 
7. 
¬P 
Modus 
tollens 
6. 
S→P 
7. 
¬P 
8. 
¬S 
Modus 
tollens 
2. 
R∨S 
8. 
¬S 
9. 
R 
Silogismo 
disjun@vo 
9. 
R→T 
8. 
R 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
43 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
R→T 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
1. 
P→Q 
4. 
¬Q 
7. 
¬P 
Modus 
tollens 
6. 
S→P 
7. 
¬P 
8. 
¬S 
Modus 
tollens 
2. 
R∨S 
8. 
¬S 
9. 
R 
Silogismo 
disjun@vo 
9. 
R→T 
8. 
R 
10. 
T 
Modus 
Ponens 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
44 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
R→T 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
1. 
P→Q 
4. 
¬Q 
7. 
¬P 
Modus 
tollens 
6. 
S→P 
7. 
¬P 
8. 
¬S 
Modus 
tollens 
2. 
R∨S 
8. 
¬S 
9. 
R 
Silogismo 
disjun@vo 
9. 
R→T 
8. 
R 
10. 
T 
Modus 
Ponens 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
45 
Fatos 
transformados 
em 
proposições 
1. 
P→Q 
2. 
R∨S 
3. 
R→T 
4. 
¬Q 
5. 
U→X 
6. 
S→P 
Variável 
Argumento 
P 
meus 
óculos 
estão 
na 
mesa 
da 
cozinha 
Q 
eu 
os 
vi 
no 
café 
da 
manhã 
R 
estava 
lendo 
o 
jornal 
na 
sala 
de 
estar 
S 
eu 
estava 
lendo 
o 
jornal 
na 
cozinha 
T 
meus 
óculos 
estão 
na 
mesa 
do 
café 
U 
eu 
estava 
lendo 
um 
livro 
na 
cama 
X 
meus 
óculos 
estão 
no 
criado-­‐mudo 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Prova 
de 
teoremas 
46 
OBJ E T IVO 
REVI S A R 
A S 
PRINCI P A I S 
T É CNICAS 
DE 
PROVA 
DE 
TEOREMAS 
Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
Prova 
de 
teoremas 
47 
— Argumentação 
induLva 
¡ Parte 
de 
dados 
da 
experiência 
para 
concluir 
que 
uma 
dada 
proposição, 
provavelmente, 
é 
verdadeira 
¡ Exemplo: 
se 
em 
várias 
situações, 
sempre 
que 
P 
é 
verdade, 
Q 
também 
é, 
formula-­‐se 
a 
conjectura 
P→Q 
— Argumentação 
induLva 
é 
uma 
prova? 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Argumentação 
induLva 
48 
Considere 
o 
seguinte 
exemplo: 
Seja 
o 
polinômio 
p(x) 
= 
x2 
+ 
x 
+ 
41, 
então 
∀x 
∈ 
N, 
p(x) 
é 
primo? 
Verificando 
a 
conjectura 
observamos…. 
x 
0 
1 
2 
3 
… 
20 
… 
39 
p(x) 
41 
43 
47 
53 
… 
461 
… 
1601 
Todos 
primos! 
Parece 
verdade… 
Podemos 
assumir 
válida 
a 
conjectura? 
Não, 
p(40) 
= 
1681 
não 
é 
um 
número 
primo, 
1681 
= 
41*41! 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
caso… 
49 
Em 
1769, 
Euler 
conjecturou 
que 
a4 
+ 
b4 
+ 
c4 
= 
d4 
não 
Lnha 
solução 
no 
conjunto 
dos 
números 
inteiros 
posiLvos 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br) 
http://en.wikipedia.org/wiki/Leonhard_Euler 
http://www.log24.com/log/pix06/060410-Elkies3.jpg 
218 
anos 
depois, 
em 
1987, 
Noam 
Elkies 
provou 
que 
a 
conjectura 
era 
falsa, 
pois 
95.8004 
+ 
217.5194 
+ 
414.5604 
= 
422.4814
Mais 
um… 
50 
— Conjectura: 
313(x3+y3) 
= 
z3 
não 
tem 
solução 
no 
conjunto 
dos 
inteiros 
posiLvos 
¡ Falso, 
mas 
o 
menor 
contra-­‐exemplo 
tem 
mais 
de 
1000 
dígitos 
¡ O 
computador 
mais 
“poderoso” 
não 
seria 
capaz 
de 
obter 
essa 
solução 
usando 
uma 
estratégia 
exausLva 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
úlLmo 
teorema 
de 
Fermat 
51 
— Pierre 
de 
Fermat 
(1601/1607 
– 
1665) 
¡ Advogado 
e, 
nas 
horas 
vagas, 
matemáLco 
¡ Contribuições 
÷ Cálculo 
infinitesimal 
÷ Teoria 
dos 
números 
÷ Gemoetria 
analíLca 
÷ Probabilidade 
÷ ÓLca 
¡ Já 
como 
advogado 
… 
http://en.wikipedia.org/wiki/Pierre_de_Fermat 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
úlLmo 
teorema 
de 
Fermat 
52 
— Em 
1637, 
ele 
escreveu 
o 
“úlLmo 
teorema 
de 
Fermat”, 
como 
uma 
nota 
parLcular 
nas 
margens 
da 
obra 
ArithmeLca, 
escrita 
pelo 
matemáLco 
grego 
Diophantus 
300 
anos 
A.C. 
“É 
impossível 
separar 
um 
cubo 
em 
dois 
cubos, 
ou 
uma 
quarta 
potência 
em 
duas 
quartas 
potências, 
ou 
em 
geral, 
qualquer 
potência 
maior 
que 
dois, 
em 
duas 
potências 
da 
mesma 
ordem. 
Eu 
descobri 
uma 
prova 
maravilhosa 
para 
este 
problema, 
mas 
não 
cabe 
nesta 
margem” 
Não 
existem 
inteiros 
posiLvos 
a, 
b, 
com 
n 
> 
2 
que 
saLsfaçam 
— Fermat 
morreu 
em 
1665 
sem 
revelar 
a 
sua 
maravilhosa 
prova! 
c 
e 
n, 
an 
= 
bn 
+ 
cn 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
úlLmo 
teorema 
de 
Fermat 
53 
— Andrew 
Wiles 
provou 
o 
teorema 
em 
1995* 
¡ Trabalho 
de 
sete 
anos 
de 
pesquisa 
¡ ArLgo 
de 
108 
páginas 
¡ Introdução, 
cinco 
capítulos, 
mais 
apêndice 
http://en.wikipedia.org/wiki/Wiles'_proof_of_Fermat's_Last_Theorem 
Fermat's 
Last 
Theorem: 
The 
story 
of 
a 
riddle 
that 
confounded 
the 
world's 
greatest 
minds 
for 
358 
years 
Simon 
Singh 
*http://en.wikipedia.org/wiki/Wiles'_proof_of_Fermat's_Last_Theorem 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Um 
caso 
em 
aberto… 
54 
— Conjectura 
de 
Goldbach 
(1690–1764) 
¡ 07/06/1742 
carta 
para 
Euler 
¡ “Todo 
inteiro 
par 
maior 
que 
2 
é 
a 
soma 
de 
dois 
primos” 
¡ Verificada 
até 
4x1018 
(04/04/2012)* 
¡ Para 
valores 
entre 
4x1018 
e 
∞ 
? 
*www.ieeta.pt/~tos/goldbach.html 
Imagem: 
h„p://en.wikipedia.org/wiki/Goldbach's_conjecture 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Por 
quê? 
55 
— Por 
que 
esses 
problemas 
são 
importantes? 
¡ Achar 
soluções 
para 
tais 
equações 
é 
importante 
na 
área 
de 
curvas 
elípLcas 
¡ Curvas 
elípLcas 
são 
importantes 
no 
estudo 
de 
fatoração 
de 
inteiros 
“grandes” 
¡ Fatorar 
inteiros 
“grandes” 
é 
importante 
no 
estudo 
de 
sistemas 
criptográficos 
¡ Criptografia 
é 
a 
base 
de 
todos 
os 
sistemas 
seguros 
de 
comunicação 
atualmente! 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Prova 
de 
teoremas 
56 
— Argumentação 
induLva 
¡ Apenas 
para 
conjecturar 
— Argumentação 
deduLva 
¡ Garante 
que 
se 
todas 
as 
premissas 
forem 
verdadeiras, 
a 
conclusão 
também 
o 
será; 
¡ Exemplo: 
demonstrar 
P→Q 
(de 
conjectura, 
torna-­‐se 
teorema); 
¡ Duas 
opções 
1. Provar 
o 
teorema 
2. Encontrar 
um 
contra-­‐exemplo 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Prova 
de 
teoremas 
57 
— Contra-­‐exemplo 
¡ Apenas 
um 
é 
sufiente 
para 
provar 
a 
falsidade 
¡ Se 
um 
contra-­‐exemplo 
não 
for 
encontrado, 
não 
há 
garanLas 
de 
que 
a 
conjectura 
é 
verdadeira 
— Encontre 
um 
contra-­‐exemplo 
para 
a 
conjectura 
¡ Para 
todo 
inteiro 
posiLvo 
n, 
n! 
≤ 
n2 
¡ Todo 
inteiro 
menor 
que 
10 
é 
maior 
do 
que 
5 
O 
que 
fazer 
quando 
não 
é 
possível 
encontrar 
um 
contra-­‐exemplo? 
Solução: 
Buscar 
uma 
prova 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
que 
é 
uma 
prova? 
58 
— Em 
Ciência, 
a 
verdade 
surge 
da 
experimentação 
— Na 
Lei, 
a 
verdade 
é 
avaliada 
por 
um 
julgamento 
e 
decidida 
por 
um 
juíz 
ou 
um 
júri 
— Em 
MatemáLca 
temos 
a 
prova 
¡ Argumentação 
que 
mostra, 
de 
maneira 
indiscu‡vel, 
que 
uma 
afirmação 
é 
verdadeira 
¡ As 
provas 
matemáLcas 
são 
estruturadas 
cuidadosamente 
e 
escritas 
em 
uma 
forma 
esLlizada 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
59 
— Hipótese 
— Todos 
números 
ímpares 
maiores 
que 
1 
são 
primos 
— MatemáLco 
— 3 
é 
primo, 
5 
é 
primo, 
7 
é 
primo, 
mas 
9 
= 
3*3, 
não 
é 
primo. 
Portanto, 
a 
hipótese 
é 
falsa! 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
60 
— Hipótese 
— Todos 
números 
ímpares 
maiores 
que 
1 
são 
primos 
— Físico 
experimental 
— 3 
é 
primo, 
5 
é 
primo, 
7 
é 
primo, 
mas 
9 
não 
é 
primo, 
11 
é 
primo, 
13 
é 
primo. 
Portanto, 
9 
deve 
ser 
um 
erro 
experimental, 
e 
assim, 
a 
hipótese 
é 
verdadeira! 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exemplo 
61 
— Hipótese 
— Todos 
números 
ímpares 
maiores 
que 
1 
são 
primos 
— Advogado 
— Senhores 
e 
senhoras 
do 
júri: 
não 
há 
dúvida 
que 
números 
ímpares 
são 
primos. 
A 
evidência 
é 
clara: 
3 
é 
primo, 
5 
é 
primo, 
7 
é 
primo, 
9 
é 
primo, 
11 
é 
primo, 
e 
assim 
por 
diante! 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Técnicas 
de 
prova: 
demonstração 
exausLva 
Obje/vo: 
Provar 
que 
P→Q 
— Abordagem 
¡ Mostrar 
que 
P→Q 
para 
todos 
os 
elementos 
do 
domínio 
individualmente 
¡ O 
domínio 
deve 
ser 
um 
conjunto 
finito 
Demonstração 
Prova: 
Sim, 
pois: 
¡ 12 
= 
1 
≤ 
10 
+ 
5(1) 
= 
15 
¡ 22 
= 
4 
≤ 
10 
+ 
5(2) 
= 
20 
¡ 32 
= 
9 
≤ 
10 
+ 
5(3) 
= 
25 
¡ 42 
= 
16 
≤ 
10 
+ 
5(4) 
= 
30 
¡ 52 
= 
25 
≤ 
10 
+ 
5(5) 
= 
35 
62 
Para 
qualquer 
inteiro 
posi@vo 
menor 
ou 
igual 
a 
5, 
o 
quadrado 
do 
inteiro 
é 
menor 
ou 
igual 
à 
soma 
de 
10 
mais 
5 
vezes 
o 
inteiro? 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Técnicas 
de 
prova: 
falsidade 
por 
contra-­‐exemplo 
Obje/vo: 
Provar 
que 
P→Q 
— Abordagem 
¡ Mostrar 
que 
P→Q 
para 
todos 
os 
elementos 
do 
domínio 
individualmente 
¡ O 
domínio 
deve 
ser 
um 
conjunto 
finito 
Para 
qualquer 
inteiro 
posi@vo, 
o 
quadrado 
do 
inteiro 
é 
menor 
ou 
igual 
à 
soma 
de 
— Exemplo 
A 
Demonstração 
Prova: 
Não, 
pois 
72 
= 
49 
é 
maior 
que 
10 
+ 
5(7) 
= 
45! 
Há 
outros 
contra-­‐exemplos? 
É 
preciso 
mostrar 
mais 
de 
um? 
63 
10 
mais 
5 
vezes 
o 
inteiro? 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Técnicas 
de 
prova: 
direta 
Obje/vo: 
Provar 
que 
P→Q 
— Abordagem 
P→Q 
¡ Supor 
P 
(hipótese) 
¡ Derivar 
Q 
(tese) 
— Exemplo 
A 
Demonstração 
Prova: 
P 
(hipótese): 
x 
e 
y 
são 
inteiros 
pares 
Q 
(tese): 
xy 
é 
um 
inteiro 
par 
Sejam 
os 
inteiros 
pares 
x 
= 
2m 
e 
y 
= 
2n, 
onde 
m,n 
∈ 
Z. 
Portanto, 
xy 
= 
(2m)(2n) 
= 
2(2mn). 
Como 
2mn 
é 
um 
inteiro, 
xy 
é 
um 
inteiro 
par. 
64 
Prove 
que 
o 
produto 
de 
dois 
inteiros 
pares 
é 
par. 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Técnicas 
de 
prova: 
direta 
Obje/vo: 
Provar 
que 
P→Q 
— Abordagem 
P→Q 
¡ Supor 
P 
(hipótese) 
¡ Derivar 
Q 
(tese) 
— Exemplo 
B 
Demonstração 
Prova: 
P 
(hipótese): 
x 
= 
6k, 
k 
∈ 
Z 
Q 
(tese): 
2x 
= 
4m, 
m 
∈ 
Z 
Seja 
x 
= 
6k, 
tal 
que 
k 
∈ 
Z. 
Portanto, 
2x 
= 
2(6k) 
= 
4(3k). 
Como 
3k 
é 
inteiro, 
2x 
é 
um 
inteiro 
divisível 
por 
4. 
65 
Se 
um 
inteiro 
é 
divisível 
por 
6, 
então 
duas 
vezes 
esse 
inteiro 
é 
divisível 
por 
4. 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Técnicas 
de 
prova: 
pela 
contraposiLva 
Obje/vo: 
Provar 
que 
P→Q 
— Abordagem 
¬Q→¬P 
¡ Supor 
¬Q 
(hipótese) 
¡ Derivar 
¬P 
(tese) 
— Exemplo 
A 
Demonstração 
Prova: 
¬Q 
(hipótese): 
x 
é 
par 
¬P 
(tese): 
x2 
é 
par 
Seja 
x 
= 
2k, 
tal 
que 
k 
∈ 
Z. 
Portanto, 
x2 
= 
(2k)2 
= 
2(2k2) 
. 
Como 
k2 
é 
um 
inteiro, 
x2 
é 
um 
inteiro 
par. 
Logo, 
se 
o 
quadrado 
de 
um 
inteiro 
é 
ímpar, 
então 
o 
inteiro 
tem 
que 
ser 
ímpar. 
66 
Se 
o 
quadrado 
de 
um 
inteiro 
é 
ímpar, 
então 
o 
inteiro 
tem 
que 
ser 
ímpar. 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Técnicas 
de 
prova: 
pela 
contraposiLva 
Obje/vo: 
Provar 
que 
P→Q 
— Abordagem 
¬Q→¬P 
¡ Supor 
¬Q 
(hipótese) 
¡ Derivar 
¬P 
(tese) 
— Exemplo 
B 
Demonstração 
Prova: 
¬Q 
(hipótese): 
a 
ou 
b 
divisíveis 
por 
k 
¬P 
(tese): 
ab 
divisível 
por 
k 
Caso 
1. 
Sejam 
a 
= 
mk 
e 
b, 
tais 
que 
m, 
k, 
b 
∈ 
Z. 
Assim, 
ab 
= 
k(bm). 
Como 
bm 
é 
inteiro, 
ab 
é 
um 
inteiro 
divisível 
por 
k. 
Caso 
2. 
Sejam 
b 
= 
nk 
e 
a, 
tais 
que 
a, 
n, 
k 
∈ 
Z. 
Assim, 
ab 
= 
k(an). 
Como 
mb 
é 
inteiro, 
ab 
é 
um 
inteiro 
divisível 
por 
k. 
67 
Se 
o 
produto 
de 
dois 
inteiros 
a 
e 
b 
não 
é 
divisível 
por 
um 
inteiro 
k, 
então 
os 
dois 
inteiros 
a 
e 
b 
não 
são 
divisíveis 
por 
k. 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Técnicas 
de 
prova: 
por 
contradição 
Obje/vo: 
Provar 
que 
P→Q 
— Abordagem 
¡ Supor 
P∧¬Q 
(hipótese) 
¡ Derivar 
F, 
contradição 
(tese) 
— Exemplo 
A 
Demonstração 
Prova: 
Hipótese: 
x+x 
= 
x 
, 
x 
≠ 
0 
Tese: 
F, 
uma 
contradição 
Seja 
x 
um 
inteiro. 
Por 
hipótese, 
x 
+ 
x 
= 
x, 
ou 
seja, 
x 
= 
x 
– 
x 
e, 
portanto, 
x 
= 
0. 
Mas 
por 
hipótese, 
x 
≠ 
0, 
uma 
contradição. 
68 
Se 
um 
inteiro 
somado 
a 
ele 
mesmo 
é 
igual 
a 
ele 
mesmo, 
então 
esse 
número 
é 
0. 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Técnicas 
de 
prova: 
por 
contradição 
Obje/vo: 
Provar 
que 
P→Q 
— Abordagem 
¡ Supor 
P∧¬Q 
(hipótese) 
¡ Derivar 
F, 
contradição 
(tese) 
— Exemplo 
B 
Demonstração 
Prova: 
Hipótese: 
a, 
b 
ímpares, 
ab 
par 
Tese: 
F, 
uma 
contradição 
Sejam 
a 
= 
2m+1 
e 
b 
= 
2n+1, 
tais 
que 
m, 
n 
∈ 
Z. 
Portanto, 
ab 
= 
(2m+1)(2n 
+1) 
= 
2(2mn 
+ 
m 
+ 
n) 
+ 
1. 
Como, 
m 
e 
n 
são 
inteiros, 
ab 
é 
um 
inteiro 
ímpar. 
Mas 
por 
hipótese, 
ab 
é 
par, 
uma 
contradição. 
69 
O 
produto 
de 
dois 
inteiros 
ímpares 
não 
é 
par. 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exercício 
70 
Prove 
as 
seguintes 
proposições 
1. Se 
n 
é 
um 
inteiro 
par, 
4 
≤ 
n 
≤ 
12, 
então 
n 
é 
uma 
soma 
de 
dois 
números 
primos 
2. A 
soma 
de 
um 
inteiro 
par 
com 
um 
inteiro 
ímpar 
é 
ímpar. 
3. O 
produto 
de 
dois 
inteiros 
ímpares 
é 
ímpar. 
4. O 
produto 
de 
dois 
inteiros 
consecuLvos 
é 
par. 
5. Se 
a 
e 
b 
são 
números 
reais, 
tais 
que 
0 
< 
a 
< 
b, 
então 
a2 
< 
b2. 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Conjuntos 
71 
OBJ E T IVO 
REVISAR 
OS 
CONCEITOS 
BÁSICOS 
D E 
CONJUNTOS 
Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
Conjuntos 
72 
— Conjunto 
é 
uma 
abstração 
matemáLca 
que 
visa 
capturar 
o 
conceito 
de 
coleção 
¡ Lista 
não 
ordenada 
de 
elementos 
ou 
membros 
¡ {1, 
2} 
= 
{2, 
1} 
— Notação 
¡ a 
∈ 
A: 
a 
pertence 
ao 
conjunto 
A 
¡ a 
∉ 
A: 
a 
não 
pertence 
ao 
conjunto 
A 
— Exemplos 
¡ {PAA, 
FTC, 
AED, 
IHC, 
ICC} 
¡ {7, 
PAA, 
{1}, 
{FTC, 
3, 
4}} 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Tipos 
de 
conjuntos 
e 
conjuntos 
importantes 
73 
— Conjunto 
vazio: 
∅ 
— Conjunto 
unitário 
— Conjunto 
finito 
e 
infinito 
— N: 
números 
naturais 
— Z: 
números 
inteiros 
— R: 
números 
reais 
— Q: 
números 
racionais 
— Notações 
¡ { 
x 
| 
P(x) 
} 
÷ Exemplo: 
{ 
k 
| 
k 
= 
2n+1 
e 
n 
∈ 
N 
} 
¡ { 
x 
∈ 
A|P(x) 
} 
÷ Exemplo: 
{ 
k 
∈ 
R 
| 
0 
≤ 
k 
≤ 
1 
} 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Relações 
básicas 
entre 
conjuntos 
74 
Subconjunto: 
A 
⊆ 
B 
se, 
e 
somente 
se, 
∀x 
(x 
∈ 
A 
→ 
x 
∈ 
B) 
Subconjunto 
próprio: 
A 
⊂ B 
se, 
e 
somente 
se, 
A 
⊆ 
B 
e 
A≠B 
• ∅ 
⊆ 
A 
• ∅ 
⊂ 
A 
se 
A 
≠ 
∅ 
• ∅ 
⊄ 
∅ 
• N 
⊂ 
Z 
• N 
⊆ 
Z+ 
• R 
⊄ 
N 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Operações 
sobre 
conjuntos 
75 
h„p://namesonnodes.org/ns/math/2009/images/set-­‐operaLons.png 
União 
A 
∪ 
B 
= 
{ 
x 
| 
(x 
∈ 
A) 
∨ 
(x 
∈ 
B) 
} 
Interseção 
A 
∩ 
B 
= 
{ 
x 
| 
(x 
∈ 
A) 
∧ 
(x 
∈ 
B) 
} 
Diferença 
A 
 
B 
= 
{ 
x 
| 
(x 
∈ 
A) 
∧ 
(x 
∉ 
B) 
} 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Conuntos 
disjuntos 
Definição 
Exemplos 
Dois 
conjuntos 
A 
e 
B 
são 
disjuntos 
se, 
e 
somente 
se, 
A 
∩ 
B 
= 
∅ 
— {1,2,3} 
e 
{5,4,9} 
— ∅ 
e 
N 
— AB 
e 
BA 
— N 
e 
Z− 
76 
A 
B 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Algumas 
idenLdades 
77 
— IdenLdades 
sobre 
conjuntos 
¡ A 
∩ 
B 
= 
B 
∩ 
A 
¡ A 
∪ 
B 
= 
B 
∪ 
A 
¡ A 
∪ 
(B 
∩ 
C) 
= 
(A 
∪ 
B) 
∩ 
(A 
∪ 
C) 
¡ A 
∩ 
(B 
∪ 
C) 
= 
(A 
∩ 
B) 
∪ 
(A 
∩ 
C) 
¡ (A 
= 
B) 
↔ 
(A 
⊆ 
B) 
∧ 
(B 
⊆ 
A) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
União 
e 
interseção 
generalizadas 
União 
de 
n 
conjuntos 
Ai 
n∪ 
i=1 
= A1∪A2 ∪"∪An 
Interseção 
de 
n 
conjuntos 
78 
Ai 
n∩ 
i=1 
= A1∩A2 ∩"∩An 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
ParLção 
79 
Par/ção 
de 
um 
conjunto 
Uma 
parLção 
de 
A 
é 
um 
conjunto 
de 
subconjuntos 
de 
A 
dado 
por 
{B1, 
B2, 
…, 
Bn} 
tal 
que 
• Bi 
≠ 
∅, 
para 
1 
≤ 
i 
≤ 
n; 
• Bi∩ 
Bj 
= 
∅, 
para 
1 
≤ 
i 
< 
j 
≤ 
n; 
• ∪1≤i≤n 
Bi 
= 
A 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Conjunto 
potência 
Definição 
Exemplo 
Conjunto 
potência 
de 
A, 
denotado 
por 
P 
(A) 
é 
o 
conjunto 
formado 
por 
todos 
os 
subconjuntos 
de 
A 
P 
(A) 
= 
{ 
X 
| 
X 
⊆ 
A} 
Que 
conjunto 
é 
P 
({1,2,3}) 
? 
{ 
∅, 
{1}, 
{2}, 
{3}, 
{1,2}, 
{1,3}, 
{2,3}, 
{1,2,3} 
} 
Se 
|A| 
denota 
o 
tamanho 
de 
A, 
qual 
é 
o 
valor 
de 
|P 
(A)|? 
|P 
(A)| 
= 
2|A| 
80 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Produto 
cartesiano 
Definição 
Exemplos 
— Produto 
cartesiano 
entre 
dois 
conjuntos 
A 
e 
B, 
denotado 
por 
A×B 
é 
formado 
pelo 
conjunto 
de 
pares 
ordenados 
(a,b) 
tais 
que 
a 
∈ 
A 
e 
b 
∈ 
B, 
ou 
seja, 
— ∅ 
× 
{1,2} 
= 
∅ 
— {1,2} 
× 
{3,4} 
= 
{(1,3), 
(1,4), 
(2,3), 
(2,4)} 
— |A 
× 
B| 
= 
|A|.|B|, 
se 
A 
e 
B 
finitos 
— An 
= 
A 
× 
A 
× 
... 
× 
A 
(n 
vezes) 
81 
A×B 
= 
{ 
(a,b) 
| 
a 
∈ 
A 
∧ 
b 
∈ 
B 
} 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Relação 
e 
função 
82 
OBJ E T IVO 
REVE R 
OS 
CONCEITOS 
D E 
RELAÇÃO 
E 
FUNÇÃO 
Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
O 
que 
é 
uma 
relação? 
Definição 
informal 
Exemplos 
— O 
que 
significa 
relacionar 
dois 
objetos? 
¡ Comparar 
dois 
objetos 
segundo 
uma 
regra 
definida 
¡ Relação 
é 
uma 
comparação 
entre 
dois 
“objetos” 
— MatemáLca 
¡ “Menor 
do 
que” 
¡ “Maior 
do 
que” 
¡ “É 
paralelo 
à” 
¡ “É 
um 
subconjunto 
de” 
83 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
que 
é 
uma 
relação? 
Definição 
formal 
Exemplo 
Relação 
de 
n 
argumentos 
sobre 
Subconjunto 
de 
A1 
— Relação 
binária: 
R 
× A2 
⊆ 
A 
A1, 
A2, 
× 
… 
× 
B 
¡ Domínio: 
A 
¡ Contradomínio: 
B 
¡ Imagem: 
{ 
y 
| 
(x,y) 
∈ 
…, 
An 
× An 
R 
para 
algum 
x 
} 
— Notação 
— Relação 
binária: 
< 
⊆ 
N 
× 
N 
¡ Domínio: 
N 
¡ Contradomínio: 
N 
¡ Imagem: 
N 
– 
{0} 
{ 
y 
| 
(x,y) 
∈ 
R 
para 
x 
menor 
que 
y 
} 
84 
(x,y) 
∈ 
R 
ou 
x 
R 
y 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Tipos 
de 
relações 
binárias 
85 
A 
B 
A 
B 
um-­‐para-­‐um 
muitos-­‐para-­‐muitos 
A 
B 
A 
B 
muitos-­‐para-­‐um 
um-­‐para-­‐muitos 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Propriedades 
de 
uma 
relação 
86 
Quais 
as 
propriedades 
das 
relações 
abaixo? 
— > 
sobre 
N 
Reflexiva, 
Simétrica, 
va 
TransiLva? 
— ≥ 
sobre 
N 
Reflexiva, 
Simétrica, 
TransiLva 
va? 
— ⊆ 
sobre 
P 
(N) 
Simétrica, 
va 
Reflexiva, 
TransiLva? 
— = 
sobre 
N 
Reflexiva, 
Simétrica, 
TransiLva? 
Inversa 
de 
R 
R-­‐1 
= 
{ 
(y,x) 
| 
(x,y)} 
∈ 
R 
} 
Propriedades 
de 
uma 
relação 
binária 
R 
⊆ 
A 
× 
A 
- Reflexiva: 
∀x 
∈ 
A, 
xRx 
- Simétrica: 
∀x,y 
∈ 
A, 
(xRy 
à 
yRx) 
- TransiLva: 
∀x,y,z 
∈ 
A, 
(xRy 
∧ 
yRz) 
à 
xRz 
va 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Função 
Função 
parcial 
Uma 
função 
f: 
tal 
que 
se 
(x,y) 
- (x,y) 
∈ 
A→B 
é 
uma 
relação 
∈ 
f 
e 
(x,z) 
∈ 
f, 
então 
f 
é 
o 
mesmo 
que 
f(x) 
= 
y 
= 
y 
- f 
f 
⊆ 
A×B, 
é 
indefinida 
para 
x, 
se 
não 
existe 
z 
y 
tal 
que 
f(x) 
= 
y 
- Função 
total 
definida 
∀x 
no 
domínio 
- Função 
f: 
A1 
×…× 
An→ 
B 
de 
n 
argumentos 
Definição 
Exemplo 
87 
Função 
Total 
Parcial 
+ 
: 
N 
× 
N 
→ 
N 
* 
: 
N 
× 
N 
→ 
N 
÷ 
: 
N 
× 
N 
→ 
N 
÷ 
: 
N 
× 
Z+ 
→ 
N 
✗ 
✗ 
✗ 
✗ 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Funções 
compostas 
Definição 
Exemplo 
88 
Composição 
de 
duas 
funções 
g 
e 
f 
g ! f = g( f (x)) 
f : Z→N, !tal!que!f (x) = x +1 
g :N→Z, !tal!que!g(x) = 2 − x 
g ! f : Z→Z, !tal!que 
(g ! f )(x) = g( x +1) = 2 −( x +1) =1− x 
f ! g :N→N, !tal!que 
( f ! g)(x) = f (2 − x) = 2 − x +1 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Tipos 
de 
funções 
89 
Tipos 
de 
funções 
Uma 
função 
total 
f 
: 
A 
à 
B 
pode 
ser 
1. Injetora 
∀x,y 
∈ 
A, 
[ 
x 
≠ 
y 
→ 
f(x) 
≠ 
f(y) 
] 
Exemplo: 
f 
: 
N 
à 
N, 
tal 
que 
f(x) 
= 
x 
+ 
1 
2. Sobrejetora 
∀y 
∈ 
B, 
∃x 
∈ 
A, 
f(x) 
= 
y 
, 
ou 
seja, 
B 
é 
a 
imagem 
de 
f 
Exemplo: 
f 
: 
R 
→ 
R+ 
∪ 
{0}, 
tal 
que 
f(x) 
= 
x2 
3. Bijetora 
f 
é 
injetora 
e 
sobrejetora 
Exemplo: 
f 
: 
R 
→ R, 
tal 
que 
f(x) 
= 
x3 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Conjuntos 
enumeráveis 
90 
OBJ E T IVO 
DEF INIR 
E 
APRENDER 
A 
RECONHECER 
CONJUNTOS 
ENUMERÁVE I S 
E 
NÃO 
ENUMERÁVE I S 
Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
Conjunto 
enumerável 
91 
— Tamanho 
de 
um 
conjunto 
finito 
A 
¡ Representado 
por 
|A| 
¡ Corresponde 
ao 
número 
de 
elementos 
em 
A 
— Dados 
A 
= 
{1,2,3,4,5} 
e 
B 
= 
{a,b,c,d,e,f,g,h} 
¡ Quem 
é 
maior 
A 
ou 
B? 
¡ |A| 
= 
5, 
|B| 
= 
8 
— E 
se 
A 
e 
B 
são 
infinitos? 
Como 
compara-­‐los? 
¡ Quem 
é 
maior 
N 
ou 
Z? 
¡ Quem 
é 
maior 
Z 
ou 
R? 
http://www.kaninekisses.com/sitebuilder/images/great_dane_and_chihuahua-325x245.png 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Conjunto 
enumerável 
92 
Cardinalidade 
Dois 
conjuntos 
uma 
função 
bijetora 
de 
- Se 
card(A) 
= 
A 
e 
B, 
possuem 
mesma 
cardinalidade, 
card(A) 
= 
card(B), 
se 
existe 
A 
para 
n, 
tal 
que 
n 
∈ 
B 
N, 
ou 
ainda, 
card(A) 
= 
|A|, 
então 
A 
é 
finito 
- A 
é 
infinito 
se 
existe 
X 
⊂ 
A, 
tal 
que 
card(X) 
= 
card(A) 
Conjunto 
enumerável 
e 
conjunto 
contável 
- Um 
conjunto 
A 
é 
dito 
enumerável, 
se 
card(A) 
= 
card(N) 
- Um 
conjunto 
A 
é 
dito 
contável, 
se 
A 
é 
finito 
ou 
enumerável 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Conjunto 
enumerável 
93 
Cardinalidade 
Dois 
conjuntos 
A 
e 
B, 
possuem 
mesma 
cardinalidade, 
card(A) 
= 
card(B), 
se 
existe 
uma 
função 
bijetora 
de 
A 
para 
B 
A 
é 
enumerável 
se 
existe 
uma 
bijeção 
f 
: 
N 
→ 
A, 
ou 
uma 
bijeção 
f 
: 
A 
→ 
N 
Conjunto 
enumerável 
e 
conjunto 
contável 
- Um 
conjunto 
A 
é 
dito 
enumerável, 
se 
card(A) 
= 
card(N) 
- Um 
conjunto 
A 
é 
dito 
contável, 
se 
A 
é 
finito 
ou 
enumerável 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Conjunto 
enumerável 
94 
Cardinalidade 
Dois 
conjuntos 
uma 
função 
bijetora 
de 
Se 
A 
e 
B, 
possuem 
mesma 
cardinalidade, 
card(A) 
= 
card(B), 
se 
existe 
A 
para 
B 
A 
é 
enumerável, 
então 
seus 
elementos 
podem 
ser 
colocados 
em 
sequência 
Conjunto 
enumerável 
e 
conjunto 
contável 
- Um 
conjunto 
A 
é 
dito 
enumerável, 
se 
card(A) 
= 
card(N) 
- Um 
conjunto 
A 
é 
dito 
contável, 
se 
A 
é 
finito 
ou 
enumerável 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Um 
exemplo 
95 
Z− 
à 
−1 
−2 
−3 
−4 
−5 
−6 
−7 
−8 
−9 
−10 
−11 
−12 
… 
−∞ 
N 
à 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
… 
∞ 
Z+ 
∪ 
{0} 
à 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
… 
∞ 
A 
é 
enumerável 
se 
existe 
uma 
bijeção 
Se 
f 
: 
N 
→ 
A, 
ou 
uma 
bijeção 
f 
: 
A 
→ 
N 
A 
é 
enumerável, 
então 
seus 
elementos 
podem 
ser 
colocados 
em 
sequência 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Um 
exemplo 
96 
Z− 
à 
−1 
−2 
−3 
−4 
−5 
−6 
−7 
−8 
−9 
−10 
−11 
−12 
… 
−∞ 
N 
à 
?? 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
… 
∞ 
Z+ 
∪ 
{0} 
à 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
… 
∞ 
- N 
⊂ 
Z, 
na 
verdade, 
Z 
= 
N 
∪ 
Z− 
, 
então 
quem 
é 
maior? 
- Existe 
uma 
função 
bijetora 
de 
Z 
para 
N? 
- Qual 
sequência 
é 
possível 
formar? 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Z− 
à 
97 
−1 
−2 
-­‐3 
−4 
-­‐5 
−6 
−7 
... 
N 
à 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
... 
Z+ 
∪ 
{0} 
à 
0 
1 
2 
3 
4 
5 
6 
... 
Um 
exemplo 
- N 
⊂ 
Z, 
na 
verdade, 
Z 
= 
N 
∪ 
Z− 
, 
então 
quem 
é 
maior? 
- Existe 
uma 
função 
bijetora 
de 
Z 
para 
N? 
- Qual 
sequência 
é 
possível 
formar? 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
98 
A 
é 
enumerável, 
então 
seus 
elementos 
podem 
ser 
colocados 
em 
sequência 
Z 
colocado 
em 
uma 
sequência 
possível 
N 
à 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
... 
Z 
à 
0 
−1 
1 
−2 
2 
−3 
3 
−4 
4 
−5 
5 
−6 
6 
−7 
... 
Um 
exemplo 
Se 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Um 
exemplo 
99 
A 
é 
enumerável, 
então 
seus 
elementos 
podem 
ser 
colocados 
em 
sequência 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
... 
0 
−1 
1 
−2 
2 
−3 
3 
−4 
4 
−5 
5 
−6 
6 
−7 
f :N→Z, !tal!que, 
f (x) = 
x 
2 
, se!x!é!par 
− 
x +1 
2 
, se!x!é!ímpar 
# 
%% 
$ 
%% 
& 
N 
à 
Z 
à 
... 
Se 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Mais 
um 
exemplo 
100 
— O 
racionais 
posiLvos 
Q+ 
é 
enumerável? 
¡ Q+ 
= 
{ 
a/b 
| 
a 
∈ 
N+ 
∧ 
b 
∈ 
N+ 
} 
¡ Considere 
a 
função 
f 
: 
Q+ 
→ 
N, 
bijetora, 
que 
mapeia 
a/b 
em 
um 
natural 
f(a,b) 
b 
1 
2 
3 
4 
5 
… 
a 
1 
0 
1 
3 
6 
10 
… 
2 
2 
4 
7 
11 
… 
3 
5 
8 
12 
… 
4 
9 
13 
… 
5 
14 
… 
N 
… 
… 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Mais 
um 
exemplo 
101 
— O 
racionais 
posiLvos 
Q+ 
é 
enumerável? 
¡ Q+ 
= 
{ 
a/b 
| 
a 
∈ 
N+ 
∧ 
b 
∈ 
N+ 
} 
¡ Considere 
a 
função 
f 
: 
Q+ 
→ 
N, 
bijetora, 
que 
mapeia 
a/b 
em 
um 
natural 
f(a,b) 
b 
1 
2 
3 
4 
5 
… 
a 
1 
0 
1 
3 
6 
10 
… 
2 
2 
4 
7 
11 
… 
3 
5 
8 
12 
… 
4 
9 
13 
… 
5 
14 
… 
N 
… 
… 
N 
à 
0 
Q+ 
à 
1/1 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Mais 
um 
exemplo 
102 
— O 
racionais 
posiLvos 
Q+ 
é 
enumerável? 
¡ Q+ 
= 
{ 
a/b 
| 
a 
∈ 
N+ 
∧ 
b 
∈ 
N+ 
} 
¡ Considere 
a 
função 
f 
: 
Q+ 
→ 
N, 
bijetora, 
que 
mapeia 
a/b 
em 
um 
natural 
f(a,b) 
b 
1 
2 
3 
4 
5 
… 
a 
1 
0 
1 
3 
6 
10 
… 
2 
2 
4 
7 
11 
… 
3 
5 
8 
12 
… 
4 
9 
13 
… 
5 
14 
… 
N 
… 
… 
N 
à 
0 
1 
Q+ 
à 
1/1 
1/2 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Mais 
um 
exemplo 
103 
— O 
racionais 
posiLvos 
Q+ 
é 
enumerável? 
¡ Q+ 
= 
{ 
a/b 
| 
a 
∈ 
N+ 
∧ 
b 
∈ 
N+ 
} 
¡ Considere 
a 
função 
f 
: 
Q+ 
→ 
N, 
bijetora, 
que 
mapeia 
a/b 
em 
um 
natural 
f(a,b) 
b 
1 
2 
3 
4 
5 
… 
a 
1 
0 
1 
3 
6 
10 
… 
2 
2 
4 
7 
11 
… 
3 
5 
8 
12 
… 
4 
9 
13 
… 
5 
14 
… 
N 
… 
… 
N 
à 
0 
1 
2 
Q+ 
à 
1/1 
1/2 
2/1 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Mais 
um 
exemplo 
104 
— O 
racionais 
posiLvos 
Q+ 
é 
enumerável? 
¡ Q+ 
= 
{ 
a/b 
| 
a 
∈ 
N+ 
∧ 
b 
∈ 
N+ 
} 
¡ Considere 
a 
função 
f 
: 
Q+ 
→ 
N, 
bijetora, 
que 
mapeia 
a/b 
em 
um 
natural 
f(a,b) 
b 
1 
2 
3 
4 
5 
… 
a 
1 
0 
1 
3 
6 
10 
… 
2 
2 
4 
7 
11 
… 
3 
5 
8 
12 
… 
4 
9 
13 
… 
5 
14 
… 
N 
… 
… 
N 
à 
0 
1 
2 
3 
Q+ 
à 
1/1 
1/2 
2/1 
1/3 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Mais 
um 
exemplo 
105 
— O 
racionais 
posiLvos 
Q+ 
é 
enumerável? 
¡ Q+ 
= 
{ 
a/b 
| 
a 
∈ 
N+ 
∧ 
b 
∈ 
N+ 
} 
¡ Considere 
a 
função 
f 
: 
Q+ 
→ 
N, 
bijetora, 
que 
mapeia 
a/b 
em 
um 
natural 
f(a,b) 
b 
1 
2 
3 
4 
5 
… 
a 
1 
0 
1 
3 
6 
10 
… 
2 
2 
4 
7 
11 
… 
3 
5 
8 
12 
… 
4 
9 
13 
… 
5 
14 
… 
N 
… 
… 
N 
à 
0 
1 
2 
3 
4 
Q+ 
à 
1/1 
1/2 
2/1 
1/3 
2/2 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Mais 
um 
exemplo 
106 
— O 
racionais 
posiLvos 
Q+ 
é 
enumerável? 
¡ Q+ 
= 
{ 
a/b 
| 
a 
∈ 
N+ 
∧ 
b 
∈ 
N+ 
} 
¡ Considere 
a 
função 
f 
: 
Q+ 
→ 
N, 
bijetora, 
que 
mapeia 
a/b 
em 
um 
natural 
f(a,b) 
b 
1 
2 
3 
4 
5 
… 
a 
1 
0 
1 
3 
6 
10 
… 
2 
2 
4 
7 
11 
… 
3 
5 
8 
12 
… 
4 
9 
13 
… 
5 
14 
… 
N 
… 
… 
N 
à 
0 
1 
2 
3 
4 
5 
Q+ 
à 
1/1 
1/2 
2/1 
1/3 
2/2 
3/1 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Mais 
um 
exemplo 
107 
— O 
racionais 
posiLvos 
Q+ 
é 
enumerável? 
¡ Q+ 
= 
{ 
a/b 
| 
a 
∈ 
N+ 
∧ 
b 
∈ 
N+ 
} 
¡ Considere 
a 
função 
f 
: 
Q+ 
→ 
N, 
bijetora, 
que 
mapeia 
a/b 
em 
um 
natural 
f(a,b) 
b 
1 
2 
3 
4 
5 
… 
a 
1 
0 
1 
3 
6 
10 
… 
2 
2 
4 
7 
11 
… 
3 
5 
8 
12 
… 
4 
9 
13 
… 
5 
14 
… 
N 
… 
… 
f (a b) = 
N 
à 
(a + b −1)(a + b − 2) 
2 
+(a −1) 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
... 
Q+ 
à 
1/1 
1/2 
2/1 
1/3 
2/2 
3/1 
1/4 
2/3 
3/2 
4/1 
1/5 
2/4 
3/3 
4/2 
... 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Mais 
sobre 
conjuntos 
contáveis 
Teorema 
facilitador 
Propriedades 
As 
seguintes 
afirmações 
são 
equivalentes 
¡ A 
é 
contável 
¡ Existe 
uma 
função 
injetora 
de 
A 
para 
N 
¡ A 
= 
∅ 
ou 
existe 
uma 
função 
sobrejetora 
de 
N 
para 
A 
— Se 
A 
é 
contável, 
então 
X 
⊆ 
A 
é 
contável 
— Se 
A 
e 
B 
são 
contáveis, 
então 
A×B 
é 
contável 
— Se 
A 
e 
B 
são 
contáveis, 
então 
A∪B 
é 
contável 
*Demonstre 
estas 
propriedades 
como 
exercício. 
108 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
E 
os 
números 
reais? 
109 
— O 
conjunto 
dos 
números 
reais 
é 
contável? 
¡ Não, 
não 
é 
possível 
enumerar 
todos 
os 
números 
reais 
— A 
prova, 
por 
contradição, 
foi 
proposta 
por 
Cantor 
em 
1891 
(Diagonal 
de 
Cantor) 
h„p://en.wikipedia.org/wiki/Georg_Cantor 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
110 
1. Suponha 
que 
R 
é 
contável 
2. Considere 
o 
conjunto 
R’ 
= 
{ 
x 
∈ 
R 
| 
0 
< 
x 
< 
1 
} 
3. Note 
que 
R’ 
⊆ 
R, 
portanto, 
se 
R 
é 
contável, 
então 
R’ 
é 
contável 
4. Existe 
uma 
bijeção 
f 
: 
R’ 
→ 
N 
que 
representa 
todos 
elementos 
de 
R’ 
como 
uma 
lista 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
111 
4. Existe 
uma 
bijeção 
f 
: 
R’ 
→ 
N 
que 
representa 
todos 
elementos 
de 
R’ 
como 
uma 
lista 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
dij 
∈ 
{0, 
1, 
2, 
3, 
4, 
5, 
6, 
7, 
8, 
9} 
Por 
exemplo, 
se 
r0 
= 
0 
, 
1 
0 
2 
4 
9 
2… 
então 
d00 
= 
1, 
d01 
= 
0, 
d02 
= 
2, 
d03 
= 
4, 
… 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
112 
5. Agora 
é 
preciso 
construir 
um 
número 
que 
não 
esteja 
listado 
abaixo 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
Considere 
o 
número 
a 
= 
0,a0a1a2a3... 
tal 
que 
ai 
= 
9 
– 
dii 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
113 
5. Agora 
é 
preciso 
construir 
um 
número 
que 
não 
esteja 
listado 
abaixo 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
a 
= 
0 
, 
a0 
a1 
a2 
a3 
… 
Considere 
o 
número 
a 
= 
0,a0a1a2a3... 
tal 
que 
ai 
= 
9 
– 
dii 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
114 
5. Agora 
é 
preciso 
construir 
um 
número 
que 
não 
esteja 
listado 
abaixo 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
≠ 
a 
= 
0 
, 
a0 
a1 
a2 
a3 
… 
Considere 
o 
número 
(d00 
ai 
= 
9 
– 
≠ 
a0) 
a 
= 
0,a0a1a2a3... 
dii 
→ 
(a 
≠ 
r0) 
tal 
que 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
115 
5. Agora 
é 
preciso 
construir 
um 
número 
que 
não 
esteja 
listado 
abaixo 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
≠ 
≠ 
a 
= 
0 
, 
a0 
a1 
a2 
a3 
… 
Considere 
o 
número 
(d11 
ai 
= 
9 
– 
≠ 
a1) 
a 
= 
0,a0a1a2a3... 
dii 
→ 
(a 
≠ 
r1) 
tal 
que 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
116 
5. Agora 
é 
preciso 
construir 
um 
número 
que 
não 
esteja 
listado 
abaixo 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
≠ 
≠ 
≠ 
a 
= 
0 
, 
a0 
a1 
a2 
a3 
… 
Considere 
o 
número 
(d22 
ai 
= 
9 
– 
≠ 
a2) 
a 
= 
0,a0a1a2a3... 
dii 
→ 
(a 
≠ 
r2) 
tal 
que 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
117 
5. Agora 
é 
preciso 
construir 
um 
número 
que 
não 
esteja 
listado 
abaixo 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
≠ 
≠ 
≠ 
≠ 
a 
= 
0 
, 
a0 
a1 
a2 
a3 
… 
Considere 
o 
número 
(d33 
ai 
= 
9 
– 
≠ 
a3) 
a 
= 
0,a0a1a2a3... 
dii 
→ 
(a 
≠ 
r3) 
tal 
que 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
118 
5. Agora 
é 
preciso 
construir 
um 
número 
que 
não 
esteja 
listado 
abaixo 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
≠ 
≠ 
≠ 
≠ 
… 
a 
= 
0 
, 
a0 
a1 
a2 
a3 
… 
Considere 
o 
número 
tal 
que 
∀i 
∈ 
ai 
N, 
(dii 
a 
= 
0,a0a1a2a3... 
= 
9 
– 
≠ 
ai) 
dii 
→ 
(a 
≠ 
ri) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
119 
6. Assim, 
a 
∈ 
R’ 
não 
está 
mapeado 
na 
bijeção 
f 
: 
R’ 
→ 
N, 
uma 
contradição. 
Portanto, 
R’ 
não 
é 
contável. 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
≠ 
≠ 
≠ 
≠ 
… 
a 
= 
0 
, 
a0 
a1 
a2 
a3 
… 
Considere 
o 
número 
tal 
que 
∀i 
∈ 
ai 
N, 
(dii 
a 
= 
0,a0a1a2a3... 
= 
9 
– 
≠ 
ai) 
dii 
→ 
(a 
≠ 
ri) 
Logo, 
a 
∈ 
R’, 
mas 
não 
está 
na 
lista 
com, 
supostamente, 
todos 
os 
elementos 
de 
R’, 
uma 
contradição 
!? 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Diagonal 
de 
Cantor 
120 
7. Como, 
R’ 
⊆ 
R 
não 
é 
contável, 
R 
também 
não 
é 
contável. 
N 
R’ 
0 
r0 
= 
0 
, 
d00 
d01 
d02 
d03 
… 
1 
r1 
= 
0 
, 
d10 
d11 
d12 
d13 
… 
2 
r2 
= 
0 
, 
d20 
d21 
d22 
d23 
… 
3 
r3 
= 
0 
, 
d30 
d31 
d32 
d33 
… 
… 
… 
≠ 
≠ 
≠ 
≠ 
… 
a 
= 
0 
, 
a0 
a1 
a2 
a3 
… 
Considere 
o 
número 
tal 
que 
∀i 
∈ 
ai 
N, 
(dii 
a 
= 
0,a0a1a2a3... 
= 
9 
– 
≠ 
ai) 
dii 
→ 
(a 
≠ 
ri) 
Logo, 
a 
∈ 
R’, 
mas 
não 
está 
na 
lista 
com, 
supostamente, 
todos 
os 
elementos 
de 
R’, 
uma 
contradição 
!? 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
121 
— Considere 
o 
conjunto 
F 
de 
todas 
as 
funções 
totais 
f 
: 
N 
→ 
N 
— F é 
finito? 
¡ Infinito! 
¡ Prove 
como 
exercício 
— F é 
enumerável? 
¡ Não! 
¡ É 
incontável 
Prova 
por 
contradição 
usando 
a 
diagonal 
de 
Cantor 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
122 
1. Suponha 
que 
F 
é 
contável 
2. Existe 
uma 
bijeção 
g 
: 
F → 
N 
que 
ordena 
os 
elementos 
de 
F 
como 
uma 
lista 
g 
N 
0 
1 
2 
3 
… 
F 
f0 
f0(0) 
f0(1) 
f0(2) 
f0(3) 
… 
f1 
f1(0) 
f1(1) 
f1(2) 
f1(3) 
… 
f2 
f2(0) 
f2(1) 
f2(2) 
f2(3) 
… 
f3 
f3(0) 
f3(1) 
f3(2) 
f3(3) 
… 
… 
… 
… 
… 
… 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
123 
3. É 
preciso 
encontrar 
uma 
função 
total 
h 
: 
N→N, 
tal 
que 
h 
∈ 
F mas 
não 
está 
na 
lista 
abaixo 
g 
N 
0 
1 
2 
3 
… 
F 
f0 
f0(0) 
f0(1) 
f0(2) 
f0(3) 
… 
f1 
f1(0) 
f1(1) 
f1(2) 
f1(3) 
… 
f2 
f2(0) 
f2(1) 
f2(2) 
f2(3) 
… 
f3 
f3(0) 
f3(1) 
f3(2) 
f3(3) 
… 
… 
… 
… 
… 
… 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
124 
3. É 
preciso 
encontrar 
uma 
função 
total 
h 
: 
N→N, 
tal 
que 
h 
∈ 
F mas 
não 
está 
na 
lista 
abaixo 
g 
N 
0 
1 
2 
3 
… 
F 
f0 
f0(0) 
f0(1) 
f0(2) 
f0(3) 
… 
f1 
f1(0) 
f1(1) 
f1(2) 
f1(3) 
… 
f2 
f2(0) 
f2(1) 
f2(2) 
f2(3) 
… 
f3 
f3(0) 
f3(1) 
f3(2) 
f3(3) 
… 
… 
… 
… 
… 
… 
h 
h(0) 
h(1) 
h(2) 
h(3) 
… 
Considere 
h 
: 
N→N, 
tal 
que 
h(i) 
= 
fi(i) 
+ 
1 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
125 
3. É 
preciso 
encontrar 
uma 
função 
total 
h 
: 
N→N, 
tal 
que 
h 
∈ 
F mas 
não 
está 
na 
lista 
abaixo 
g 
N 
0 
1 
2 
3 
… 
F 
f0 
f0(0) 
f0(1) 
f0(2) 
f0(3) 
… 
f1 
f1(0) 
f1(1) 
f1(2) 
f1(3) 
… 
f2 
f2(0) 
f2(1) 
f2(2) 
f2(3) 
… 
f3 
f3(0) 
f3(1) 
f3(2) 
f3(3) 
… 
… 
… 
… 
… 
… 
≠ 
h 
h(0) 
h(1) 
h(2) 
h(3) 
… 
Considere 
h(i) 
= 
( 
h(0) 
≠ 
h 
: 
fi(i) 
f0(0) 
N→N, 
tal 
que 
) 
+ 
1 
→ 
( 
h 
≠ 
f0 
) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
126 
3. É 
preciso 
encontrar 
uma 
função 
total 
h 
: 
N→N, 
tal 
que 
h 
∈ 
F mas 
não 
está 
na 
lista 
abaixo 
g 
N 
0 
1 
2 
3 
… 
F 
f0 
f0(0) 
f0(1) 
f0(2) 
f0(3) 
… 
f1 
f1(0) 
f1(1) 
f1(2) 
f1(3) 
… 
f2 
f2(0) 
f2(1) 
f2(2) 
f2(3) 
… 
f3 
f3(0) 
f3(1) 
f3(2) 
f3(3) 
… 
… 
… 
… 
… 
… 
≠ 
≠ 
h 
h(0) 
h(1) 
h(2) 
h(3) 
… 
Considere 
h(i) 
= 
( 
h(1) 
≠ 
h 
: 
fi(i) 
f1(1) 
N→N, 
tal 
que 
) 
+ 
1 
→ 
( 
h 
≠ 
f1 
) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
127 
3. É 
preciso 
encontrar 
uma 
função 
total 
h 
: 
N→N, 
tal 
que 
h 
∈ 
F mas 
não 
está 
na 
lista 
abaixo 
g 
N 
0 
1 
2 
3 
… 
F 
f0 
f0(0) 
f0(1) 
f0(2) 
f0(3) 
… 
f1 
f1(0) 
f1(1) 
f1(2) 
f1(3) 
… 
f2 
f2(0) 
f2(1) 
f2(2) 
f2(3) 
… 
f3 
f3(0) 
f3(1) 
f3(2) 
f3(3) 
… 
… 
… 
… 
… 
… 
≠ 
≠ 
≠ 
h 
h(0) 
h(1) 
h(2) 
h(3) 
… 
Considere 
h(i) 
= 
( 
h(2) 
≠ 
h 
: 
fi(i) 
f2(2) 
N→N, 
tal 
que 
) 
+ 
1 
→ 
( 
h 
≠ 
f2 
) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
128 
3. É 
preciso 
encontrar 
uma 
função 
total 
h 
: 
N→N, 
tal 
que 
h 
∈ 
F mas 
não 
está 
na 
lista 
abaixo 
g 
N 
0 
1 
2 
3 
… 
F 
f0 
f0(0) 
f0(1) 
f0(2) 
f0(3) 
… 
f1 
f1(0) 
f1(1) 
f1(2) 
f1(3) 
… 
f2 
f2(0) 
f2(1) 
f2(2) 
f2(3) 
… 
f3 
f3(0) 
f3(1) 
f3(2) 
f3(3) 
… 
… 
… 
… 
… 
… 
≠ 
≠ 
≠ 
≠ 
h 
h(0) 
h(1) 
h(2) 
h(3) 
… 
Considere 
h(i) 
= 
( 
h(3) 
≠ 
h 
: 
fi(i) 
f3(3) 
N→N, 
tal 
que 
) 
+ 
1 
→ 
( 
h 
≠ 
f3 
) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
129 
3. É 
preciso 
encontrar 
uma 
função 
total 
h 
: 
N→N, 
tal 
que 
h 
∈ 
F mas 
não 
está 
na 
lista 
abaixo 
g 
N 
0 
1 
2 
3 
… 
F 
f0 
f0(0) 
f0(1) 
f0(2) 
f0(3) 
… 
f1 
f1(0) 
f1(1) 
f1(2) 
f1(3) 
… 
f2 
f2(0) 
f2(1) 
f2(2) 
f2(3) 
… 
f3 
f3(0) 
f3(1) 
f3(2) 
f3(3) 
… 
… 
… 
… 
… 
… 
≠ 
≠ 
≠ 
≠ 
… 
h 
h(0) 
h(1) 
h(2) 
h(3) 
… 
Considere 
h(i) 
= 
∀i 
∈ 
h 
: 
N, 
N→N, 
tal 
que 
fi(i) 
( 
+ 
1 
h 
≠ 
fi 
) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Outro 
exemplo 
130 
4. Logo, 
h 
∈ 
F, 
mas 
não 
está 
mapeada 
por 
g 
: 
F 
→ 
N, 
uma 
contradição. 
Portanto, 
F 
não 
é 
contável. 
g 
N 
0 
1 
2 
3 
… 
F 
f0 
f0(0) 
f0(1) 
f0(2) 
f0(3) 
… 
f1 
f1(0) 
f1(1) 
f1(2) 
f1(3) 
… 
f2 
f2(0) 
f2(1) 
f2(2) 
f2(3) 
… 
f3 
f3(0) 
f3(1) 
f3(2) 
f3(3) 
… 
… 
… 
… 
… 
… 
≠ 
≠ 
≠ 
≠ 
… 
h 
h(0) 
h(1) 
h(2) 
h(3) 
… 
Considere 
h 
: 
N→N, 
tal 
que 
h(i) 
= 
fi(i) 
+ 
1 
∀i 
∈ 
N, 
( 
h 
≠ 
fi 
) 
Logo, 
h 
∈ 
F, 
mas 
não 
está 
na 
lista 
com, 
supostamente, 
todos 
os 
elementos 
de 
F, 
uma 
contradição 
!? 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exercício 
de 
fixação 
131 
— Mostre 
que 
os 
conjuntos 
abaixo 
são 
enumeráveis 
(encontre 
uma 
bijeção 
sobre 
os 
naturais) 
1. 
Z+ 
= 
{1, 
2, 
3, 
4, 
…} 
2. 
N 
 
{1, 
2, 
3} 
3. 
Naturais 
Pares 
4. 
Naturais 
Ímpares 
5. 
Inteiros 
Pares 
— Mostre 
que 
os 
conjuntos 
abaixo 
não 
são 
enumeráveis 
1. 
P 
(N) 
2. O 
conjunto 
B 
de 
todas 
as 
sequências 
infinitas 
de 
0’s 
ou 
1’s 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Recursividade 
e 
Indução 
MatemáLca 
132 
OBJ E T IVO 
APRENDER 
A 
DEF INIR 
CONJUNTOS 
RECURSIVAMENTE 
APRENDER 
A 
PROVAR 
PROPRIEDADES 
SOBRE 
OS 
INTEIROS 
USANDO 
INDUÇÃO 
MATEMÁTICA 
Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
O 
que 
é 
uma 
definição 
recursiva? 
Definição 
133 
Definição 
Recursiva 
do 
Conjunto 
A 
a) Base: 
especificação 
de 
B 
⊂ 
A 
b) Passo 
Recursivo: 
como 
obter 
elementos 
de 
A 
a 
parLr 
de 
outros 
elementos 
de 
A 
c) Fechamento: 
só 
pertencem 
a 
A, 
os 
elementos 
obLdos 
através 
dos 
passos 
(a) 
ou 
(b). 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
que 
é 
uma 
definição 
recursiva? 
Definição 
134 
Definição 
Recursiva 
do 
Conjunto 
A 
a) Base: 
especificação 
de 
B 
⊂ 
A 
b) Passo 
Recursivo: 
como 
obter 
elementos 
de 
A 
a 
parLr 
de 
outros 
elementos 
de 
A 
c) Fechamento: 
só 
pertencem 
a 
A, 
os 
elementos 
obLdos 
através 
dos 
passos 
(a) 
ou 
(b). 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
que 
é 
uma 
definição 
recursiva? 
Definição 
É 
possível 
definir 
recursivamente 
qualquer 
conjunto 
enumerável! 
135 
Definição 
Recursiva 
do 
Conjunto 
A 
a) Base: 
especificação 
de 
B 
⊂ 
A 
b) Passo 
Recursivo: 
como 
obter 
elementos 
de 
A 
a 
parLr 
de 
outros 
elementos 
de 
A 
c) Fechamento: 
só 
pertencem 
a 
A, 
os 
elementos 
obLdos 
através 
dos 
passos 
(a) 
ou 
(b). 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
que 
é 
uma 
definição 
recursiva? 
Definição 
Exemplo 
01: 
Números 
naturais 
136 
Definição 
Recursiva 
do 
Conjunto 
A 
a) Base: 
especificação 
de 
B 
⊂ 
A 
b) Passo 
Recursivo: 
como 
obter 
elementos 
de 
A 
a 
parLr 
de 
outros 
elementos 
de 
A 
c) Fechamento: 
só 
pertencem 
a 
A, 
os 
elementos 
obLdos 
através 
dos 
passos 
(a) 
ou 
(b). 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
que 
é 
uma 
definição 
recursiva? 
Definição 
Exemplo 
01: 
Números 
naturais 
Definição 
a) 0 
∈ 
N 
b) Se 
n 
∈ 
N, 
então 
n 
+ 
1 
∈ 
N 
c) Só 
pertencem 
a 
N, 
os 
números 
gerados 
usando 
(a) 
ou 
(b). 
137 
Definição 
Recursiva 
do 
Conjunto 
A 
a) Base: 
especificação 
de 
B 
⊂ 
A 
b) Passo 
Recursivo: 
como 
obter 
elementos 
de 
A 
a 
parLr 
de 
outros 
elementos 
de 
A 
c) Fechamento: 
só 
pertencem 
a 
A, 
os 
elementos 
obLdos 
através 
dos 
passos 
(a) 
ou 
(b). 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
que 
é 
uma 
definição 
recursiva? 
Definição 
Exemplo 
02: 
Fatorial 
Definição 
– 
fat 
: 
N 
→ 
N 
a) 
fat(0) 
= 
1 
b) 
∀n 
∈ 
N, 
fat(n+1) 
= 
n 
* 
fat(n−1) 
c) 
implícito 
138 
Definição 
Recursiva 
do 
Conjunto 
A 
a) Base: 
especificação 
de 
B 
⊂ 
A 
b) Passo 
Recursivo: 
como 
obter 
elementos 
de 
A 
a 
parLr 
de 
outros 
elementos 
de 
A 
c) Fechamento: 
só 
pertencem 
a 
A, 
os 
elementos 
obLdos 
através 
dos 
passos 
(a) 
ou 
(b). 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
que 
é 
uma 
definição 
recursiva? 
Definição 
Exemplo 
03: 
Exponencial 
an 
Definição 
– 
an 
: 
N 
→ 
N 
a) 
a0 
= 
1 
b) 
∀n 
∈ 
N, 
an+1 
= 
a 
× 
an 
c) 
implícito 
139 
Definição 
Recursiva 
do 
Conjunto 
A 
a) Base: 
especificação 
de 
B 
⊂ 
A 
b) Passo 
Recursivo: 
como 
obter 
elementos 
de 
A 
a 
parLr 
de 
outros 
elementos 
de 
A 
c) Fechamento: 
só 
pertencem 
a 
A, 
os 
elementos 
obLdos 
através 
dos 
passos 
(a) 
ou 
(b). 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
O 
que 
é 
uma 
definição 
recursiva? 
Definição 
Exemplo 
04: 
Ling. 
Proposicional 
Definição 
– 
Ling. 
proposicional 
(LP) 
a) Toda 
a 
variável 
lógica 
está 
na 
LP 
b) Se 
P 
e 
Q, 
estão 
na 
LP, 
então 
também 
estão 
na 
LP: 
¡ ¬P 
¡ P∧Q 
¡ P∨Q 
¡ P→Q 
¡ P↔Q 
c) 
implícito 
140 
Definição 
Recursiva 
do 
Conjunto 
A 
a) Base: 
especificação 
de 
B 
⊂ 
A 
b) Passo 
Recursivo: 
como 
obter 
elementos 
de 
A 
a 
parLr 
de 
outros 
elementos 
de 
A 
c) Fechamento: 
só 
pertencem 
a 
A, 
os 
elementos 
obLdos 
através 
dos 
passos 
(a) 
ou 
(b). 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Indução 
matemáLca 
141 
h„p://meangreenmath.files.wordpress.com/2013/08/dominoes.jpg 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
Nono 
axioma 
de 
Giuseppe 
Peano 
— Se 
K 
é 
um 
conjunto 
tal 
que 
1. 0 
(zero) 
está 
pertence 
a 
K 
2. Para 
todo 
natural 
k 
÷ Se 
k 
está 
conLdo 
em 
K, 
÷ Então 
o 
sucessor 
de 
k 
está 
em 
K 
— Então 
K 
contém 
todos 
os 
números 
naturais 
142 
h„p://en.wikipedia.org/wiki/Giuseppe_Peano 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
Reformulando... 
— Se 
P 
é 
um 
predicado 
tal 
que 
1. 
P(0) 
é 
verdade 
2. 
∀k 
∈ 
N, 
P(k) 
→ 
P(k+1) 
— Então, 
P(n) 
é 
verdadeiro 
para 
todo 
n 
∈ 
N 
143 
h„p://en.wikipedia.org/wiki/Giuseppe_Peano 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
Reformulando... 
— Se 
P 
é 
um 
predicado 
tal 
que 
1. 
P(0) 
é 
verdade 
2. 
∀k 
∈ 
N, 
P(k) 
→ 
P(k+1) 
— Então, 
P(n) 
é 
verdadeiro 
para 
todo 
n 
∈ 
N 
144 
É 
possível 
provar 
propriedades 
para 
conjuntos 
enumeráveis 
usando 
indução 
matemáLca! 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Definição 
Estrutura 
de 
demonstração 
Princípio 
da 
indução 
faca 
Se 
① 
P(0)* 
② 
∀n, 
P(n) 
→ 
P(n+1) 
Então 
ü 
∀n, 
P(n) 
1. Provar 
P(0) 
(caso 
base) 
2. Seja 
n 
≥ 
0 
abitrário 
3. Suponha 
P(n) 
(hipótese 
de 
indução) 
4. Provar 
P(n+1) 
5. Concluir 
∀n, 
P(n) 
Os 
passos 
(2) 
a 
(4) 
são 
chamados 
de 
passo 
induLvo 
145 
*Primeiro 
elemento 
do 
conjunto, 
não 
necessariamente 
0 
(zero) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
01 
146 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
temos 
que 
a 
soma 
1 
+ 
3 
+ 
5 
+…+ 
(2n–1) 
= 
n2. 
1. Caso 
base 
n 
= 
1 
¡ 1 
= 
12 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
S(n) 
= 
1+3+5+…+(2n 
– 
1) 
= 
n2 
¡ Tese: 
S(n+1) 
= 
1+3+5+…+(2n–1)+[2(n+1) 
– 
1] 
= 
(n+1)2 
S(n+1) 
= 
1 
+ 
3 
+ 
5 
+…+ 
(2n-­‐1) 
+ 
[2(n+1) 
– 
1] 
S(n) 
+ 
[2(n+1) 
– 
1] 
n2 
+ 
[2(n+1) 
– 
1] 
n2 
+ 
[2n 
+ 
2 
– 
1] 
n2 
+ 
2n 
+ 
1 
(n 
+ 
1)2 
Por 
definição 
S(n) 
= 
1 
+ 
3 
+ 
5 
+…+ 
(2n 
– 
1) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
01 
147 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
temos 
que 
a 
soma 
1 
+ 
3 
+ 
5 
+…+ 
(2n–1) 
= 
n2. 
1. Caso 
base 
n 
= 
1 
¡ 1 
= 
12 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
S(n) 
= 
1+3+5+…+(2n 
– 
1) 
= 
n2 
¡ Tese: 
S(n+1) 
= 
1+3+5+…+(2n–1)+[2(n+1) 
– 
1] 
= 
(n+1)2 
S(n+1) 
= 
1 
+ 
3 
+ 
5 
+…+ 
(2n-­‐1) 
+ 
[2(n+1) 
– 
1] 
= 
S(n) 
+ 
[2(n+1) 
– 
1] 
n2 
+ 
[2(n+1) 
– 
1] 
n2 
+ 
[2n 
+ 
2 
– 
1] 
n2 
+ 
2n 
+ 
1 
Por 
(hni 
p+ 
ó1t)e2 
se 
de 
indução 
S(n) 
= 
n2 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
01 
148 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
temos 
que 
a 
soma 
1 
+ 
3 
+ 
5 
+…+ 
(2n–1) 
= 
n2. 
1. Caso 
base 
n 
= 
1 
¡ 1 
= 
12 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
S(n) 
= 
1+3+5+…+(2n 
– 
1) 
= 
n2 
¡ Tese: 
S(n+1) 
= 
1+3+5+…+(2n–1)+[2(n+1) 
– 
1] 
= 
(n+1)2 
S(n+1) 
= 
1 
+ 
3 
+ 
5 
+…+ 
(2n-­‐1) 
+ 
[2(n+1) 
– 
1] 
= 
S(n) 
+ 
[2(n+1) 
– 
1] 
= 
n2 
+ 
[2(n+1) 
– 
1] 
n2 
+ 
[2n 
+ 
2 
– 
1] 
n2 
+ 
2n 
+ 
1 
(n 
+ 
1)2 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
01 
149 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
temos 
que 
a 
soma 
1 
+ 
3 
+ 
5 
+…+ 
(2n–1) 
= 
n2. 
1. Caso 
base 
n 
= 
1 
¡ 1 
= 
12 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
S(n) 
= 
1+3+5+…+(2n 
– 
1) 
= 
n2 
¡ Tese: 
S(n+1) 
= 
1+3+5+…+(2n–1)+[2(n+1) 
– 
1] 
= 
(n+1)2 
S(n+1) 
= 
1 
+ 
3 
+ 
5 
+…+ 
(2n-­‐1) 
+ 
[2(n+1) 
– 
1] 
= 
S(n) 
+ 
[2(n+1) 
– 
1] 
= 
n2 
+ 
[2(n+1) 
– 
1] 
= 
n2 
+ 
[2n 
+ 
2 
– 
1] 
n2 
+ 
2n 
+ 
1 
(n 
+ 
1)2 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
01 
150 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
temos 
que 
a 
soma 
1 
+ 
3 
+ 
5 
+…+ 
(2n–1) 
= 
n2. 
1. Caso 
base 
n 
= 
1 
¡ 1 
= 
12 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
S(n) 
= 
1+3+5+…+(2n 
– 
1) 
= 
n2 
¡ Tese: 
S(n+1) 
= 
1+3+5+…+(2n–1)+[2(n+1) 
– 
1] 
= 
(n+1)2 
S(n+1) 
= 
1 
+ 
3 
+ 
5 
+…+ 
(2n-­‐1) 
+ 
[2(n+1) 
– 
1] 
= 
S(n) 
+ 
[2(n+1) 
– 
1] 
= 
n2 
+ 
[2(n+1) 
– 
1] 
= 
n2 
+ 
[2n 
+ 
2 
– 
1] 
= 
n2 
+ 
2n 
+ 
1 
(n 
+ 
1)2 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
01 
S(n+1) 
= 
1 
+ 
3 
+ 
5 
+…+ 
(2n-­‐1) 
+ 
[2(n+1) 
– 
1] 
= 
S(n) 
+ 
[2(n+1) 
– 
1] 
= 
n2 
+ 
[2(n+1) 
– 
1] 
= 
n2 
+ 
[2n 
+ 
2 
– 
1] 
= 
n2 
+ 
2n 
+ 
1 
= 
(n 
+ 
1)2 
Logo, 
para 
todo 
n 
∈ 
Z+, 
temos 
que 
1 
+ 
3 
+ 
5 
+…+ 
(2n–1) 
= 
n2. 
151 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
temos 
que 
a 
soma 
1 
+ 
3 
+ 
5 
+…+ 
(2n–1) 
= 
n2. 
1. Caso 
base 
n 
= 
1 
¡ 1 
= 
12 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
S(n) 
= 
1+3+5+…+(2n 
– 
1) 
= 
n2 
¡ Tese: 
S(n+1) 
= 
1+3+5+…+(2n–1)+[2(n+1) 
– 
1] 
= 
(n+1)2 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
02 
22(n+1) 
– 
1 
= 
22n+2 
– 
1 
Logo, 
para 
todo 
22n 
(22) 
– 
1 
22n 
(4) 
– 
1 
(3m+1)(4) 
– 
1 
3m(4) 
+ 
4 
– 
1 
3(4m) 
+ 
3 
3(4m 
+ 
1) 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3 
152 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
1. Caso 
base 
n 
= 
1 
¡ 22(1) 
– 
1 
= 
4 
– 
1 
= 
3 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
22n 
– 
1 
= 
3m, 
para 
m,n 
∈ 
Z+ 
¡ Tese: 
22(n+1) 
– 
1 
= 
3k 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
02 
22(n+1) 
– 
1 
= 
22n+2 
– 
1 
Logo, 
para 
todo 
22n 
(22) 
– 
1 
22n 
(4) 
– 
1 
(3m+1)(4) 
– 
1 
3m(4) 
+ 
4 
– 
1 
3(4m) 
+ 
3 
3(4m 
+ 
1) 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3 
153 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
1. Caso 
base 
n 
= 
1 
¡ 22(1) 
– 
1 
= 
4 
– 
1 
= 
3 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
22n 
– 
1 
= 
3m, 
para 
m,n 
∈ 
Z+ 
¡ Tese: 
22(n+1) 
– 
1 
= 
3k 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
02 
22(n+1) 
– 
1 
= 
22n+2 
– 
1 
= 
22n 
(22) 
– 
1 
Logo, 
para 
todo 
22n 
(4) 
– 
1 
(3m+1)(4) 
– 
1 
3m(4) 
+ 
4 
– 
1 
3(4m) 
+ 
3 
3(4m 
+ 
1) 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3 
154 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
1. Caso 
base 
n 
= 
1 
¡ 22(1) 
– 
1 
= 
4 
– 
1 
= 
3 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
22n 
– 
1 
= 
3m, 
para 
m,n 
∈ 
Z+ 
¡ Tese: 
22(n+1) 
– 
1 
= 
3k 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
02 
22(n+1) 
– 
1 
= 
22n+2 
– 
1 
= 
22n 
(22) 
– 
1 
Logo, 
para 
todo 
22n 
(4) 
– 
1 
(3m+1)(4) 
– 
1 
3m(4) 
+ 
4 
– 
1 
3(4m) 
+ 
3 
3(4m 
+ 
1) 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3 
155 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
1. Caso 
base 
n 
= 
1 
¡ 22(1) 
– 
1 
= 
4 
– 
1 
= 
3 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
22n 
– 
1 
= 
3m, 
para 
m,n 
∈ 
Z+ 
¡ Tese: 
22(n+1) 
– 
1 
= 
3k 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
02 
22(n+1) 
– 
1 
= 
22n+2 
– 
1 
= 
22n 
(22) 
– 
1 
Logo, 
para 
todo 
22n 
(4) 
– 
1 
22n 
(3 
+ 
1) 
– 
1 
3(22n) 
+ 
22n 
– 
1 
3(22n) 
+ 
3m 
3(22n 
+ 
m) 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3 
156 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
1. Caso 
base 
n 
= 
1 
¡ 22(1) 
– 
1 
= 
4 
– 
1 
= 
3 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
22n 
– 
1 
= 
3m, 
para 
m,n 
∈ 
Z+ 
¡ Tese: 
22(n+1) 
– 
1 
= 
3k 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
02 
22(n+1) 
– 
1 
= 
22n+2 
– 
1 
= 
22n 
(22) 
– 
1 
Por 
hipótese 
de 
indução: 
22n 
– 
1 
= 
3m 
Logo, 
para 
todo 
22n 
(4) 
– 
1 
22n 
(3 
+ 
1) 
– 
1 
3(22n) 
+ 
22n 
– 
1 
3(22n) 
+ 
3m 
3(22n 
+ 
m) 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3 
157 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
1. Caso 
base 
n 
= 
1 
¡ 22(1) 
– 
1 
= 
4 
– 
1 
= 
3 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
22n 
– 
1 
= 
3m, 
para 
m,n 
∈ 
Z+ 
¡ Tese: 
22(n+1) 
– 
1 
= 
3k 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
02 
22(n+1) 
– 
1 
= 
22n+2 
– 
1 
= 
22n 
(22) 
– 
1 
Logo, 
para 
todo 
22n 
(4) 
– 
1 
22n 
(3 
+ 
1) 
– 
1 
3(22n) 
+ 
22n 
– 
1 
3(22n) 
+ 
3m 
3(22n 
+ 
m) 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3 
158 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
1. Caso 
base 
n 
= 
1 
¡ 22(1) 
– 
1 
= 
4 
– 
1 
= 
3 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
22n 
– 
1 
= 
3m, 
para 
m,n 
∈ 
Z+ 
¡ Tese: 
22(n+1) 
– 
1 
= 
3k 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
02 
22(n+1) 
– 
1 
= 
22n+2 
– 
1 
= 
22n 
(22) 
– 
1 
k 
= 
(22n 
+ 
m) 
∈ 
Z+ 
Logo, 
para 
todo 
22n 
(4) 
– 
1 
22n 
(3 
+ 
1) 
– 
1 
3(22n) 
+ 
22n 
– 
1 
3(22n) 
+ 
3m 
3(22n 
+ 
m) 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3 
159 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
1. Caso 
base 
n 
= 
1 
¡ 22(1) 
– 
1 
= 
4 
– 
1 
= 
3 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
22n 
– 
1 
= 
3m, 
para 
m,n 
∈ 
Z+ 
¡ Tese: 
22(n+1) 
– 
1 
= 
3k 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
fraca 
Exemplo 
02 
22(n+1) 
– 
1 
= 
22n+2 
– 
1 
= 
22n 
(22) 
– 
1 
Logo, 
para 
todo 
22n 
(4) 
– 
1 
22n 
(3 
+ 
1) 
– 
1 
3(22n) 
+ 
22n 
– 
1 
3(22n) 
+ 
3m 
3(22n 
+ 
m) 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
160 
Prove 
que 
para 
todo 
n 
∈ 
Z+, 
o 
número 
22n 
– 
1 
é 
divisível 
por 
3. 
1. Caso 
base 
n 
= 
1 
¡ 22(1) 
– 
1 
= 
4 
– 
1 
= 
3 
(divisível 
por 
3) 
2. Passo 
induLvo 
¡ Hipótese: 
22n 
– 
1 
= 
3m, 
para 
m,n 
∈ 
Z+ 
¡ Tese: 
22(n+1) 
– 
1 
= 
3k 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
forte 
Definição 
Estrutura 
de 
demonstração 
Princípio 
da 
indução 
faca 
Se 
① [P(0) 
∧ P(1) 
∧...∧ P(k)] 
→ 
P(k+1)* 
Então 
ü 
∀n, 
P(n) 
1. Seja 
n 
≥ 
0 
abitrário 
2. Suponha 
∀k 
< 
n, 
P(k) 
(hipótese 
de 
indução) 
3. Provar 
P(k+1) 
4. Concluir 
∀n, 
P(n) 
161 
*Primeiro 
elemento 
do 
conjunto, 
não 
necessariamente 
0 
(zero) 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
forte 
Exemplo 
01 
1: 
(k+1) 
é 
primo 
Neste 
caso 
(k+1) 
= 
(k+1)(1), 
produto 
de 
dois 
primos. 
Caso 
162 
Prove 
que 
todo 
n 
> 
1 
∈ 
Z+ 
pode 
ser 
escrito 
como 
o 
produto 
de 
números 
primos. 
1. Caso 
base 
n 
= 
2 
¡ 2 
= 
2(1) 
(produto 
de 
dois 
primos) 
2. Passo 
induLvo 
¡ Hipótese: 
todo 
2 
≤ 
r 
≤ 
k 
, 
pode 
ser 
escrito 
como 
o 
produto 
de 
primos 
¡ Tese: 
(k 
+ 
1) 
pode 
ser 
escrito 
como 
o 
produto 
de 
primos 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
forte 
Exemplo 
01 
Caso 
2: 
(k+1) 
não 
é 
primo 
Se 
(k+1) 
não 
é 
primo, 
então 
(k+1) 
é 
composto, 
ou 
seja, 
(k+1) 
= 
ab, 
tal 
que 
2 
≤ 
a 
≤ 
b 
≤ 
k. 
Por 
hipótese, 
todo 
2 
≤ 
r 
≤ 
k 
, 
é 
o 
produto 
de 
primos. 
Logo, 
a 
e 
b 
podem 
ser 
escrito 
como 
produtos 
de 
números 
primos. 
Portanto, 
(k+1) 
também 
pode! 
163 
Prove 
que 
todo 
n 
> 
1 
∈ 
Z+ 
pode 
ser 
escrito 
como 
o 
produto 
de 
números 
primos. 
1. Caso 
base 
n 
= 
2 
¡ 2 
= 
2(1) 
(produto 
de 
dois 
primos) 
2. Passo 
induLvo 
¡ Hipótese: 
todo 
2 
≤ 
r 
≤ 
k 
, 
pode 
ser 
escrito 
como 
o 
produto 
de 
primos 
¡ Tese: 
(k 
+ 
1) 
pode 
ser 
escrito 
como 
o 
produto 
de 
primos 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Princípio 
da 
indução 
forte 
Exemplo 
02 
Por 
hipótese, 
temos 
que 
¡ (k 
– 
3) 
pode 
ser 
escrito 
como 
a 
soma 
de 
4’s 
e 
5’s 
¡ Afinal, 
12 
≤ 
(k 
– 
3) 
≤ 
k. 
Note 
que 
(k 
+ 
1) 
= 
(k 
– 
3) 
+ 
4. 
Portanto, 
(k 
+ 
1) 
também 
pode 
ser 
escrito 
como 
a 
soma 
de 
4’s 
e 
5’s. 
164 
Prove 
que 
todo 
n 
≥ 
12 
∈ 
Z+ 
pode 
ser 
obLdo 
somando-­‐se 
4’s 
e 
5’s. 
1. Caso 
base 
n 
= 
12, 
13, 
14, 
15 
¡ 12 
= 
4 
+ 
4 
+ 
4 
13 
= 
4 
+ 
4 
+ 
5 
¡ 14 
= 
4 
+ 
5 
+ 
5 
15 
= 
5 
+ 
5 
+ 
5 
2. Passo 
induLvo 
¡ Hipótese: 
todo 
12 
≤ 
r 
≤ 
k 
é 
a 
soma 
de 
4’s 
e 
5’s, 
onde 
k 
≥ 
15 
¡ Tese: 
(k 
+ 
1) 
é 
a 
soma 
de 
4’s 
e 
5’s 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
Exercícios 
de 
fixação 
165 
1. Prove 
que 
para 
todo 
n 
∈ 
Z+ 
nΣ 
temos 
que 
. 
2i 
i=0 
= 2n+1 −1 
2. Prove 
que 
que 
11n 
− 
6 
é 
divisível 
por 
5 
qualquer 
n 
∈ 
Z+. 
3. Prove 
que 
todo 
n 
≥ 
8 
∈ 
Z+ 
pode 
ser 
obLdo 
somando-­‐se 
3’s 
e 
5’s. 
0, !se!n = 0 
1, !se!n =1 
# 
$ % 
& % 
4. A 
função 
de 
Fibonacci 
é 
dada 
por 
F(n) = 
. 
F(n −1)+ F(n − 2), !se!n ≥ 2 
1 
5 
( n 
1+ 5 
! 
$ 
n 
− 
1− 5 
! 
$ 
** 
+ 
-- 
Prove 
que 
F(n) = 
. 
2 
" # 
% & 
2 
" # 
% & 
) 
, 
Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)

Weitere ähnliche Inhalte

Was ist angesagt?

Lógica para ciencia da computaçao joao nunes souza
Lógica para ciencia da computaçao   joao nunes souzaLógica para ciencia da computaçao   joao nunes souza
Lógica para ciencia da computaçao joao nunes souzaPaulo Cesar Diniz Bicudo
 
Métodos Iterativos - Gauss-Jacobi - Part I - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part I - @professorenanMétodos Iterativos - Gauss-Jacobi - Part I - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part I - @professorenanRenan Gustavo
 
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenanMétodos Iterativos - Gauss-Jacobi - Part II - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenanRenan Gustavo
 
Lógica e teoria de conjuntos ppt
Lógica e teoria de conjuntos  pptLógica e teoria de conjuntos  ppt
Lógica e teoria de conjuntos pptPedro Teixeira
 
Quadratura Gaussiana - @professorenan
Quadratura Gaussiana - @professorenanQuadratura Gaussiana - @professorenan
Quadratura Gaussiana - @professorenanRenan Gustavo
 
Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02thomasdacosta
 
Aula 6 relações semânticas entre os conectivos da lógica proposicional
Aula 6   relações semânticas entre os conectivos da lógica proposicionalAula 6   relações semânticas entre os conectivos da lógica proposicional
Aula 6 relações semânticas entre os conectivos da lógica proposicionalPaulo Cesar Diniz Bicudo
 
Racicínio Lógico
 Racicínio Lógico Racicínio Lógico
Racicínio LógicoKeilla Ramos
 
Implicação Lógica
Implicação LógicaImplicação Lógica
Implicação LógicaHugo Souza
 

Was ist angesagt? (16)

Calculo1 aula13 (1)
Calculo1 aula13 (1)Calculo1 aula13 (1)
Calculo1 aula13 (1)
 
Aula18 - Estatística Suficiente
Aula18 - Estatística SuficienteAula18 - Estatística Suficiente
Aula18 - Estatística Suficiente
 
Lógica para ciencia da computaçao joao nunes souza
Lógica para ciencia da computaçao   joao nunes souzaLógica para ciencia da computaçao   joao nunes souza
Lógica para ciencia da computaçao joao nunes souza
 
Métodos Iterativos - Gauss-Jacobi - Part I - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part I - @professorenanMétodos Iterativos - Gauss-Jacobi - Part I - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part I - @professorenan
 
Diabo
DiaboDiabo
Diabo
 
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenanMétodos Iterativos - Gauss-Jacobi - Part II - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenan
 
Fourier
FourierFourier
Fourier
 
Congruências
CongruênciasCongruências
Congruências
 
Lógica e teoria de conjuntos ppt
Lógica e teoria de conjuntos  pptLógica e teoria de conjuntos  ppt
Lógica e teoria de conjuntos ppt
 
Quadratura Gaussiana - @professorenan
Quadratura Gaussiana - @professorenanQuadratura Gaussiana - @professorenan
Quadratura Gaussiana - @professorenan
 
Aula 01
Aula 01Aula 01
Aula 01
 
Pincipio da indução
Pincipio da induçãoPincipio da indução
Pincipio da indução
 
Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02
 
Aula 6 relações semânticas entre os conectivos da lógica proposicional
Aula 6   relações semânticas entre os conectivos da lógica proposicionalAula 6   relações semânticas entre os conectivos da lógica proposicional
Aula 6 relações semânticas entre os conectivos da lógica proposicional
 
Racicínio Lógico
 Racicínio Lógico Racicínio Lógico
Racicínio Lógico
 
Implicação Lógica
Implicação LógicaImplicação Lógica
Implicação Lógica
 

Ähnlich wie Fundamentos Teóricos da Computação - UFAM

Ähnlich wie Fundamentos Teóricos da Computação - UFAM (12)

(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
Argmat2009
Argmat2009Argmat2009
Argmat2009
 
Aula 02 Logica de Programacao - Logica Matematica 2.pdf
Aula 02 Logica de Programacao - Logica Matematica 2.pdfAula 02 Logica de Programacao - Logica Matematica 2.pdf
Aula 02 Logica de Programacao - Logica Matematica 2.pdf
 
Pequeno teorema de fermat
Pequeno teorema de fermatPequeno teorema de fermat
Pequeno teorema de fermat
 
Introd logica mat
Introd logica matIntrod logica mat
Introd logica mat
 
29-aula29.pdf
29-aula29.pdf29-aula29.pdf
29-aula29.pdf
 
1657721272624.pdf
1657721272624.pdf1657721272624.pdf
1657721272624.pdf
 
_001_introducao.pdf
_001_introducao.pdf_001_introducao.pdf
_001_introducao.pdf
 
Lógica e Matemática Computacional - Exercícios 03
Lógica e Matemática Computacional - Exercícios 03Lógica e Matemática Computacional - Exercícios 03
Lógica e Matemática Computacional - Exercícios 03
 
Introd logica mat ii
Introd logica mat iiIntrod logica mat ii
Introd logica mat ii
 
Condições
CondiçõesCondições
Condições
 
Matemática Para Concursos Militares - Volume1
Matemática Para Concursos Militares - Volume1Matemática Para Concursos Militares - Volume1
Matemática Para Concursos Militares - Volume1
 

Kürzlich hochgeladen

LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfArthurRomanof1
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 

Kürzlich hochgeladen (20)

LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdf
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 

Fundamentos Teóricos da Computação - UFAM

  • 1. Conceitos Preliminares 1 EDUARDO FREIRE NAKAMURA I n s / t u t o d e C ompu t a ç ã o U n i v e r s i d a d e F e d e r a l d o A m a z o n a s n a k a m u ra@i comp . u fam. e d u . b r 1Este material baseia-se no capítulo 1 do livro: Vieira, N.J. Introdução aos Fundamentos da Computação: Linguagens e Máquinas, Pioneira Thomson Learning (atualmente, CENGAGE), 2006. Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 2. Lógica formal 2 OBJ E T IVO REVISAR OS CONCEITOS D E LÓGICA FORMAL Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
  • 3. Lógica Formal 3 — Fornece bases para o método de pensar organizado; — Expressa métodos de raciocínio sob a forma de argumentos. — Tem duas aplicações diretas em Ciência da Computação 1. Programação Lógica 2. Prova se programas estão corretos ou não — É análoga à lógica de circuitos de um computador Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 4. Lógica Formal 4 — Exemplos de uLlização em computação: ¡ Inteligência ArLficial; ¡ Circuitos Lógicos; ¡ Banco de Dados; ¡ Sistemas Computacionais (hardware e soWware) ¡ Sistemas Distribuídos; ¡ Teoria de autômatos e computabilidade; ¡ Teoria de linguagens; Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 5. Proposições 5 — Uma proposição é uma sentença declaraLva, ou uma afirmação, que admite apenas um dos dois valores lógicos verdadeiro ou falso, nunca ambos — Proposições????? ¡ Manaus é a capital do Amazonas ¡ 1 + 1 = 2 ¡ Como você está? ¡ 9 < 6 ¡ Estudem regularmente ¡ Londres é na Dinamarca ¡ MatemáLca Discreta é fácil Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 6. Proposições 6 — PROPOSIÇÕES ATÔMICAS não podem ser sub-­‐divididas em proposições mais simples ¡ Ex: O servidor de arquivos está desligado — PROPOSIÇÕES COMPOSTAS são combinações de proposições atômicas via conecLvos lógicos ¡ Ex: A rede local está mal configurada ou o servidor de arquivos está desligado ¡ O valor verdade é completamente determinado pelos valores-­‐verdade das subproposições junto com a forma que estão conectadas Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 7. Proposições 7 — PROPOSIÇÕES ATÔMICAS são representadas por meio de variáveis proposicionais ¡ Variáveis proposicionais: (P, Q, R, S, . . .) ¡ Constantes proposicionais: (V, F) → (T, F) — Nas PROPOSIÇÕES COMPOSTAS, as variáveis proposicionais são combinadas através de pelo menos um operador ou conecLvo lógico ¡ Operadores lógicos são uLlizados para combinar proposições e formar novas proposições Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 8. ConecLvos Lógicos 8 — Terminologia ¡ Negação: ¬ ¡ Conjunção (e): ∧ ¡ Disjunção (ou): ∨ ¡ Condicional: → ¡ Bicondicional: ↔ ¡ QuanLficação Universal: ∀ ¡ QuanLficação Existencial: ∃ Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 9. ConecLvos Lógicos 9 — Tabela da Verdade — Negação Negação P ¬P V F F V Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 10. ConecLvos Lógicos 10 — Tabela da Verdade — Conjunção Conjunção P Q P∧Q V V V V F F F V F F F F Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 11. ConecLvos Lógicos 11 — Tabela da Verdade — Disjunção Disjunção P Q P∨Q V V V V F V F V V F F F Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 12. ConecLvos Lógicos 12 — Tabela da Verdade — Condicional Condicional P Q P→Q V V V V F F F V V F F V Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 13. ConecLvos Lógicos 13 — Tabela da Verdade — Bicondicional Bicondicional P Q P↔Q V V V V F F F V F F F V Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 14. QuanLficação 14 — QuanLficação Universal ¡ ∀x P(x) ¡ P(x) é um predicado ¡ P(x) é verdadeiro para todo x do universo — Exemplo ¡ Todo número natural par ao quadrado é par — QuanLficação Existencial ¡ ∃x P(x) ¡ P(x) é um predicado ¡ P(x) é verdadeiro para algum x do universo — Exemplo ¡ Existe um número natural que ao quadro é igual a ele mesmo Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 15. AfirmaLva Válida (Tautologia) 15 — Verdadeira para todos os valores verdades de suas sub afirmaLvas — Exemplos ¡ P∨¬P ¡ P → P ¡ P ∨ (P → Q) ¡ P(a) →∃x P(x) ¡ ∀x P(x) ↔ ¬∃x ¬P(x) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 16. Contradição 16 — Falsa para todos os valores-­‐verdade de suas subafirmaLvas — Exemplos ¡ P∧¬P ¡ P ↔ ¬P ¡ (P ∧ (P → Q)) ∧ ¬Q ¡ P(a) ∧ ¬∃x P(x) ¡ ∀x P(x) ∧ ∃x ¬P(x) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 17. Equivalência Lógica 17 — Duas proposições P e Q são logicamente equivalentes (P ≡ Q), se ambas possuem tabelas-­‐verdade idênLcas — Exemplos ¡ P∨Q ≡ Q∨P ¡ P ∨ (Q ∧ R) ≡ (P ∨ Q) ∧ (P ∨ R) ¡ ¬(P ∧ Q) ≡ ¬P ∨ ¬Q ¡ P → Q ≡ ¬P ∨ Q ¡ P ↔ Q ≡ (P → Q) ∧ (Q → P) ¡ ¬∀x P(x) ≡ ∃x ¬P(x) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 18. Regras de equivalência 18 Fórmula Lei P∨P ≡ P P∧P ≡ P Idempotência (P∨Q)∨R ≡ P∨(Q∨R) (P∧Q)∧R ≡ P∧(Q∧R) AssociaLva P∨Q ≡ Q∨P P∧Q ≡ Q∧P ComutaLva (P∧Q)∨R ≡ (P∨R)∧(Q∨R) (P∨Q)∧R ≡ (P∧R)∨(Q∧R) DistribuLva P∨F ≡ P P∨V ≡ V P∧V ≡ P P∧F ≡ F IdenLdade Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 19. Regras de equivalência 19 Fórmula Lei P∨¬P ≡ V ¬V ≡ F P∧¬P ≡ F ¬F ≡ V Complemento ¬¬P ≡ P Involução ¬(P∧Q) ≡ ¬P∨¬Q ¬(P∨Q) ≡ ¬P∧¬Q DeMorgan P→Q ≡ ¬P∨Q Condicional Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 20. Regras de equivalência (resumo) 20 Fórmula Lei P∨P ≡ P P∧P ≡ P Idempotência (P∨Q)∨R ≡ P∨(Q∨R) (P∧Q)∧R ≡ P∧(Q∧R) AssociaLva P∨Q ≡ Q∨P P∧Q ≡ Q∧P ComutaLva (P∧Q)∨R ≡ (P∨R)∧(Q∨R) (P∨Q)∧R ≡ (P∧R)∨(Q∧R) DistribuLva P∨F ≡ P P∨V ≡ V P∧V ≡ P P∧F ≡ F IdenLdade P∨¬P ≡ V ¬V ≡ F P∧¬P ≡ F ¬F ≡ V Complemento ¬¬P ≡ P Involução ¬(P∧Q) ≡ ¬P∨¬Q ¬(P∨Q) ≡ ¬P∧¬Q DeMorgan P→Q ≡ ¬P∨Q Condicional Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 21. Consequência Lógica (Implicação Lógica) 21 — P ⇒ Q, se Q é verdade sempre que P é verdade — Exemplos ¡ {P → Q, P} ⇒ Q ¡ {P → Q, ¬Q} ⇒ ¬P ¡ {P → Q, ¬P → Q} ⇒ Q ¡ {P → Q, Q → R} ⇒ P → R ¡ {P(a)} ⇒ ∃x P(x) ¡ {P(a), ∀x (P(x) → Q(x))} ⇒ Q(a) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 22. Exemplos de regras de inferência 22 Modus ponens P P→Q Q FTC é fácil SE FTC é fácil, ENTÃO serei aprovado serei aprovado Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 23. Exemplos de regras de inferência 23 Modus ponens P P→Q Q Modus tollens ¬Q P→Q ¬P NÃO fui aprovado SE estudei, ENTÃO fui aprovado NÃO estudei Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 24. Exemplos de regras de inferência 24 Modus ponens P P→Q Q Modus tollens ¬Q P→Q ¬P Conjunção P Q P∧Q estudei fui aprovado estudei E fui aprovado Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 25. Exemplos de regras de inferência 25 Modus ponens P P→Q Q Modus tollens ¬Q P→Q ¬P Conjunção P Q P∧Q Adição P P∨Q estudei estudei OU dormi Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 26. Exemplos de regras de inferência 26 Modus ponens P P→Q Q Modus tollens ¬Q P→Q ¬P Conjunção P Q P∧Q Adição P P∨Q Silogismo hipotéLco P→Q Q→R P→R SE estudar, ENTÃO FTC é fácil SE FTC é fácil, ENTÃO serei aprovado SE estudar, ENTÃO serei aprovado Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 27. Exemplos de regras de inferência 27 Modus ponens P P→Q Q Modus tollens ¬Q P→Q ¬P Conjunção P Q P∧Q Adição P P∨Q estudo SE, quero passar SE, estudo SE, Silogismo hipotéLco P↔Q Q↔R P↔R Silogismo hipotéLco P→Q Q→R P→R E SOMENTE SE, quero passar E SOMENTE SE, aprendo E SOMENTE SE, aprendo Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 28. Exemplos de regras de inferência 28 Modus ponens P P→Q Q Modus tollens ¬Q P→Q ¬P Conjunção P Q P∧Q Adição P P∨Q Silogismo disjunLvo P∨Q ¬Q P estudei OU dormi NÃO dormi estudei Silogismo hipotéLco P↔Q Q↔R P↔R Silogismo hipotéLco P→Q Q→R P→R Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 29. Exemplos de regras de inferência 29 Modus ponens P P→Q Q Modus tollens ¬Q P→Q ¬P Conjunção P Q P∧Q Adição P P∨Q Silogismo disjunLvo P∨Q ¬Q P Silogismo hipotéLco P↔Q Q↔R P↔R Silogismo hipotéLco P→Q Q→R P→R Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 30. Exemplo 30 — Você está saindo para a UFAM de manhã e percebe que não está usando os óculos. Ao tentar descobrir onde estão os óculos você começa a pensar sobre os seguintes fatos que são verdadeiros 1. Se os meus óculos estão na mesa da cozinha então eu os vi no café da manhã; 2. Eu estava lendo o jornal na sala de estar ou eu estava lendo o jornal na cozinha; 3. Se eu estava lendo o jornal na sala de estar então meus óculos estão na mesa do café; 4. Eu não vi meus óculos no café da manhã; 5. Se eu estava lendo um livro na cama então meus óculos estão no criado-­‐ mudo; 6. Se eu estava lendo o jornal na cozinha então meus óculos estão na mesa da cozinha; Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 31. Exemplo 31 — Você está saindo para a UFAM de manhã e percebe que não está usando os óculos. Ao tentar descobrir onde estão os óculos você começa a pensar sobre os seguintes fatos que são verdadeiros 1. Se os meus óculos estão na mesa da cozinha então eu os vi no café da manhã; P→Q 2. Eu estava lendo o jornal na sala de estar ou eu estava lendo o jornal na cozinha; 3. Se eu estava lendo o jornal na sala de estar então meus óculos estão na mesa do café; 4. Eu não vi meus óculos no café da manhã; 5. Se eu estava lendo um livro na cama então meus óculos estão no criado-­‐ mudo; 6. Se eu estava lendo o jornal na cozinha então meus óculos estão na mesa da cozinha; Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 32. Exemplo 32 — Você está saindo para a UFAM de manhã e percebe que não está usando os óculos. Ao tentar descobrir onde estão os óculos você começa a pensar sobre os seguintes fatos que são verdadeiros 1. Se os meus óculos estão na mesa da cozinha então eu os vi no café da manhã; P→Q 2. Eu estava lendo o jornal na sala de estar ou eu estava lendo o jornal na cozinha; R∨S 3. Se eu estava lendo o jornal na sala de estar então meus óculos estão na mesa do café; 4. Eu não vi meus óculos no café da manhã; 5. Se eu estava lendo um livro na cama então meus óculos estão no criado-­‐ mudo; 6. Se eu estava lendo o jornal na cozinha então meus óculos estão na mesa da cozinha; Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 33. Exemplo 33 — Você está saindo para a UFAM de manhã e percebe que não está usando os óculos. Ao tentar descobrir onde estão os óculos você começa a pensar sobre os seguintes fatos que são verdadeiros 1. Se os meus óculos estão na mesa da cozinha então eu os vi no café da manhã; P→Q 2. Eu estava lendo o jornal na sala de estar ou eu estava lendo o jornal na cozinha; R∨S 3. Se eu estava lendo o jornal na sala de estar então meus óculos estão na mesa do café; R→T 4. Eu não vi meus óculos no café da manhã; 5. Se eu estava lendo um livro na cama então meus óculos estão no criado-­‐ mudo; 6. Se eu estava lendo o jornal na cozinha então meus óculos estão na mesa da cozinha; Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 34. Exemplo 34 — Você está saindo para a UFAM de manhã e percebe que não está usando os óculos. Ao tentar descobrir onde estão os óculos você começa a pensar sobre os seguintes fatos que são verdadeiros 1. Se os meus óculos estão na mesa da cozinha então eu os vi no café da manhã; P→Q 2. Eu estava lendo o jornal na sala de estar ou eu estava lendo o jornal na cozinha; R∨S 3. Se eu estava lendo o jornal na sala de estar então meus óculos estão na mesa do café; R→T 4. Eu não vi meus óculos no café da manhã; ¬Q 5. Se eu estava lendo um livro na cama então meus óculos estão no criado-­‐ mudo; 6. Se eu estava lendo o jornal na cozinha então meus óculos estão na mesa da cozinha; Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 35. Exemplo 35 — Você está saindo para a UFAM de manhã e percebe que não está usando os óculos. Ao tentar descobrir onde estão os óculos você começa a pensar sobre os seguintes fatos que são verdadeiros 1. Se os meus óculos estão na mesa da cozinha então eu os vi no café da manhã; P→Q 2. Eu estava lendo o jornal na sala de estar ou eu estava lendo o jornal na cozinha; R∨S 3. Se eu estava lendo o jornal na sala de estar então meus óculos estão na mesa do café; R→T 4. Eu não vi meus óculos no café da manhã; ¬Q 5. Se eu estava lendo um livro na cama então meus óculos estão no criado-­‐ mudo; U→X 6. Se eu estava lendo o jornal na cozinha então meus óculos estão na mesa da cozinha; Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 36. Exemplo 36 Fatos transformados em proposições 1. P→Q 2. R∨S 3. R→T 4. ¬Q 5. U→X 6. S→P Variável Argumento P meus óculos estão na mesa da cozinha Q eu os vi no café da manhã R estava lendo o jornal na sala de estar S eu estava lendo o jornal na cozinha T meus óculos estão na mesa do café U eu estava lendo um livro na cama X meus óculos estão no criado-­‐mudo Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 37. Exemplo 37 Fatos transformados em proposições 1. P→Q 2. R∨S 3. R→T 4. ¬Q 5. U→X 6. S→P 1. P→Q 4. ¬Q Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 38. Exemplo 38 Fatos transformados em proposições 1. P→Q 2. R∨S 3. R→T 4. ¬Q 5. U→X 6. S→P 1. P→Q 4. ¬Q 7. ¬P Modus tollens Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 39. Exemplo 39 Fatos transformados em proposições 1. P→Q 2. R∨S 3. R→T 4. ¬Q 5. U→X 6. S→P 1. P→Q 4. ¬Q 7. ¬P Modus tollens 6. S→P 7. ¬P Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 40. Exemplo 40 Fatos transformados em proposições 1. P→Q 2. R∨S 3. R→T 4. ¬Q 5. U→X 6. S→P 1. P→Q 4. ¬Q 7. ¬P Modus tollens 6. S→P 7. ¬P 8. ¬S Modus tollens Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 41. Exemplo 41 Fatos transformados em proposições 1. P→Q 2. R∨S 3. R→T 4. ¬Q 5. U→X 6. S→P 1. P→Q 4. ¬Q 7. ¬P Modus tollens 6. S→P 7. ¬P 8. ¬S Modus tollens 2. R∨S 8. ¬S Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 42. Exemplo 42 Fatos transformados em proposições 1. P→Q 2. R∨S 3. RàT 4. ¬Q 5. U→X 6. S→P 1. P→Q 4. ¬Q 7. ¬P Modus tollens 6. S→P 7. ¬P 8. ¬S Modus tollens 2. R∨S 8. ¬S 9. R Silogismo disjun@vo 9. R→T 8. R Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 43. Exemplo 43 Fatos transformados em proposições 1. P→Q 2. R∨S 3. R→T 4. ¬Q 5. U→X 6. S→P 1. P→Q 4. ¬Q 7. ¬P Modus tollens 6. S→P 7. ¬P 8. ¬S Modus tollens 2. R∨S 8. ¬S 9. R Silogismo disjun@vo 9. R→T 8. R 10. T Modus Ponens Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 44. Exemplo 44 Fatos transformados em proposições 1. P→Q 2. R∨S 3. R→T 4. ¬Q 5. U→X 6. S→P 1. P→Q 4. ¬Q 7. ¬P Modus tollens 6. S→P 7. ¬P 8. ¬S Modus tollens 2. R∨S 8. ¬S 9. R Silogismo disjun@vo 9. R→T 8. R 10. T Modus Ponens Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 45. Exemplo 45 Fatos transformados em proposições 1. P→Q 2. R∨S 3. R→T 4. ¬Q 5. U→X 6. S→P Variável Argumento P meus óculos estão na mesa da cozinha Q eu os vi no café da manhã R estava lendo o jornal na sala de estar S eu estava lendo o jornal na cozinha T meus óculos estão na mesa do café U eu estava lendo um livro na cama X meus óculos estão no criado-­‐mudo Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 46. Prova de teoremas 46 OBJ E T IVO REVI S A R A S PRINCI P A I S T É CNICAS DE PROVA DE TEOREMAS Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
  • 47. Prova de teoremas 47 — Argumentação induLva ¡ Parte de dados da experiência para concluir que uma dada proposição, provavelmente, é verdadeira ¡ Exemplo: se em várias situações, sempre que P é verdade, Q também é, formula-­‐se a conjectura P→Q — Argumentação induLva é uma prova? Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 48. Argumentação induLva 48 Considere o seguinte exemplo: Seja o polinômio p(x) = x2 + x + 41, então ∀x ∈ N, p(x) é primo? Verificando a conjectura observamos…. x 0 1 2 3 … 20 … 39 p(x) 41 43 47 53 … 461 … 1601 Todos primos! Parece verdade… Podemos assumir válida a conjectura? Não, p(40) = 1681 não é um número primo, 1681 = 41*41! Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 49. Outro caso… 49 Em 1769, Euler conjecturou que a4 + b4 + c4 = d4 não Lnha solução no conjunto dos números inteiros posiLvos Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br) http://en.wikipedia.org/wiki/Leonhard_Euler http://www.log24.com/log/pix06/060410-Elkies3.jpg 218 anos depois, em 1987, Noam Elkies provou que a conjectura era falsa, pois 95.8004 + 217.5194 + 414.5604 = 422.4814
  • 50. Mais um… 50 — Conjectura: 313(x3+y3) = z3 não tem solução no conjunto dos inteiros posiLvos ¡ Falso, mas o menor contra-­‐exemplo tem mais de 1000 dígitos ¡ O computador mais “poderoso” não seria capaz de obter essa solução usando uma estratégia exausLva Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 51. O úlLmo teorema de Fermat 51 — Pierre de Fermat (1601/1607 – 1665) ¡ Advogado e, nas horas vagas, matemáLco ¡ Contribuições ÷ Cálculo infinitesimal ÷ Teoria dos números ÷ Gemoetria analíLca ÷ Probabilidade ÷ ÓLca ¡ Já como advogado … http://en.wikipedia.org/wiki/Pierre_de_Fermat Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 52. O úlLmo teorema de Fermat 52 — Em 1637, ele escreveu o “úlLmo teorema de Fermat”, como uma nota parLcular nas margens da obra ArithmeLca, escrita pelo matemáLco grego Diophantus 300 anos A.C. “É impossível separar um cubo em dois cubos, ou uma quarta potência em duas quartas potências, ou em geral, qualquer potência maior que dois, em duas potências da mesma ordem. Eu descobri uma prova maravilhosa para este problema, mas não cabe nesta margem” Não existem inteiros posiLvos a, b, com n > 2 que saLsfaçam — Fermat morreu em 1665 sem revelar a sua maravilhosa prova! c e n, an = bn + cn Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 53. O úlLmo teorema de Fermat 53 — Andrew Wiles provou o teorema em 1995* ¡ Trabalho de sete anos de pesquisa ¡ ArLgo de 108 páginas ¡ Introdução, cinco capítulos, mais apêndice http://en.wikipedia.org/wiki/Wiles'_proof_of_Fermat's_Last_Theorem Fermat's Last Theorem: The story of a riddle that confounded the world's greatest minds for 358 years Simon Singh *http://en.wikipedia.org/wiki/Wiles'_proof_of_Fermat's_Last_Theorem Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 54. Um caso em aberto… 54 — Conjectura de Goldbach (1690–1764) ¡ 07/06/1742 carta para Euler ¡ “Todo inteiro par maior que 2 é a soma de dois primos” ¡ Verificada até 4x1018 (04/04/2012)* ¡ Para valores entre 4x1018 e ∞ ? *www.ieeta.pt/~tos/goldbach.html Imagem: h„p://en.wikipedia.org/wiki/Goldbach's_conjecture Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 55. Por quê? 55 — Por que esses problemas são importantes? ¡ Achar soluções para tais equações é importante na área de curvas elípLcas ¡ Curvas elípLcas são importantes no estudo de fatoração de inteiros “grandes” ¡ Fatorar inteiros “grandes” é importante no estudo de sistemas criptográficos ¡ Criptografia é a base de todos os sistemas seguros de comunicação atualmente! Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 56. Prova de teoremas 56 — Argumentação induLva ¡ Apenas para conjecturar — Argumentação deduLva ¡ Garante que se todas as premissas forem verdadeiras, a conclusão também o será; ¡ Exemplo: demonstrar P→Q (de conjectura, torna-­‐se teorema); ¡ Duas opções 1. Provar o teorema 2. Encontrar um contra-­‐exemplo Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 57. Prova de teoremas 57 — Contra-­‐exemplo ¡ Apenas um é sufiente para provar a falsidade ¡ Se um contra-­‐exemplo não for encontrado, não há garanLas de que a conjectura é verdadeira — Encontre um contra-­‐exemplo para a conjectura ¡ Para todo inteiro posiLvo n, n! ≤ n2 ¡ Todo inteiro menor que 10 é maior do que 5 O que fazer quando não é possível encontrar um contra-­‐exemplo? Solução: Buscar uma prova Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 58. O que é uma prova? 58 — Em Ciência, a verdade surge da experimentação — Na Lei, a verdade é avaliada por um julgamento e decidida por um juíz ou um júri — Em MatemáLca temos a prova ¡ Argumentação que mostra, de maneira indiscu‡vel, que uma afirmação é verdadeira ¡ As provas matemáLcas são estruturadas cuidadosamente e escritas em uma forma esLlizada Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 59. Exemplo 59 — Hipótese — Todos números ímpares maiores que 1 são primos — MatemáLco — 3 é primo, 5 é primo, 7 é primo, mas 9 = 3*3, não é primo. Portanto, a hipótese é falsa! Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 60. Exemplo 60 — Hipótese — Todos números ímpares maiores que 1 são primos — Físico experimental — 3 é primo, 5 é primo, 7 é primo, mas 9 não é primo, 11 é primo, 13 é primo. Portanto, 9 deve ser um erro experimental, e assim, a hipótese é verdadeira! Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 61. Exemplo 61 — Hipótese — Todos números ímpares maiores que 1 são primos — Advogado — Senhores e senhoras do júri: não há dúvida que números ímpares são primos. A evidência é clara: 3 é primo, 5 é primo, 7 é primo, 9 é primo, 11 é primo, e assim por diante! Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 62. Técnicas de prova: demonstração exausLva Obje/vo: Provar que P→Q — Abordagem ¡ Mostrar que P→Q para todos os elementos do domínio individualmente ¡ O domínio deve ser um conjunto finito Demonstração Prova: Sim, pois: ¡ 12 = 1 ≤ 10 + 5(1) = 15 ¡ 22 = 4 ≤ 10 + 5(2) = 20 ¡ 32 = 9 ≤ 10 + 5(3) = 25 ¡ 42 = 16 ≤ 10 + 5(4) = 30 ¡ 52 = 25 ≤ 10 + 5(5) = 35 62 Para qualquer inteiro posi@vo menor ou igual a 5, o quadrado do inteiro é menor ou igual à soma de 10 mais 5 vezes o inteiro? Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 63. Técnicas de prova: falsidade por contra-­‐exemplo Obje/vo: Provar que P→Q — Abordagem ¡ Mostrar que P→Q para todos os elementos do domínio individualmente ¡ O domínio deve ser um conjunto finito Para qualquer inteiro posi@vo, o quadrado do inteiro é menor ou igual à soma de — Exemplo A Demonstração Prova: Não, pois 72 = 49 é maior que 10 + 5(7) = 45! Há outros contra-­‐exemplos? É preciso mostrar mais de um? 63 10 mais 5 vezes o inteiro? Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 64. Técnicas de prova: direta Obje/vo: Provar que P→Q — Abordagem P→Q ¡ Supor P (hipótese) ¡ Derivar Q (tese) — Exemplo A Demonstração Prova: P (hipótese): x e y são inteiros pares Q (tese): xy é um inteiro par Sejam os inteiros pares x = 2m e y = 2n, onde m,n ∈ Z. Portanto, xy = (2m)(2n) = 2(2mn). Como 2mn é um inteiro, xy é um inteiro par. 64 Prove que o produto de dois inteiros pares é par. Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 65. Técnicas de prova: direta Obje/vo: Provar que P→Q — Abordagem P→Q ¡ Supor P (hipótese) ¡ Derivar Q (tese) — Exemplo B Demonstração Prova: P (hipótese): x = 6k, k ∈ Z Q (tese): 2x = 4m, m ∈ Z Seja x = 6k, tal que k ∈ Z. Portanto, 2x = 2(6k) = 4(3k). Como 3k é inteiro, 2x é um inteiro divisível por 4. 65 Se um inteiro é divisível por 6, então duas vezes esse inteiro é divisível por 4. Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 66. Técnicas de prova: pela contraposiLva Obje/vo: Provar que P→Q — Abordagem ¬Q→¬P ¡ Supor ¬Q (hipótese) ¡ Derivar ¬P (tese) — Exemplo A Demonstração Prova: ¬Q (hipótese): x é par ¬P (tese): x2 é par Seja x = 2k, tal que k ∈ Z. Portanto, x2 = (2k)2 = 2(2k2) . Como k2 é um inteiro, x2 é um inteiro par. Logo, se o quadrado de um inteiro é ímpar, então o inteiro tem que ser ímpar. 66 Se o quadrado de um inteiro é ímpar, então o inteiro tem que ser ímpar. Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 67. Técnicas de prova: pela contraposiLva Obje/vo: Provar que P→Q — Abordagem ¬Q→¬P ¡ Supor ¬Q (hipótese) ¡ Derivar ¬P (tese) — Exemplo B Demonstração Prova: ¬Q (hipótese): a ou b divisíveis por k ¬P (tese): ab divisível por k Caso 1. Sejam a = mk e b, tais que m, k, b ∈ Z. Assim, ab = k(bm). Como bm é inteiro, ab é um inteiro divisível por k. Caso 2. Sejam b = nk e a, tais que a, n, k ∈ Z. Assim, ab = k(an). Como mb é inteiro, ab é um inteiro divisível por k. 67 Se o produto de dois inteiros a e b não é divisível por um inteiro k, então os dois inteiros a e b não são divisíveis por k. Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 68. Técnicas de prova: por contradição Obje/vo: Provar que P→Q — Abordagem ¡ Supor P∧¬Q (hipótese) ¡ Derivar F, contradição (tese) — Exemplo A Demonstração Prova: Hipótese: x+x = x , x ≠ 0 Tese: F, uma contradição Seja x um inteiro. Por hipótese, x + x = x, ou seja, x = x – x e, portanto, x = 0. Mas por hipótese, x ≠ 0, uma contradição. 68 Se um inteiro somado a ele mesmo é igual a ele mesmo, então esse número é 0. Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 69. Técnicas de prova: por contradição Obje/vo: Provar que P→Q — Abordagem ¡ Supor P∧¬Q (hipótese) ¡ Derivar F, contradição (tese) — Exemplo B Demonstração Prova: Hipótese: a, b ímpares, ab par Tese: F, uma contradição Sejam a = 2m+1 e b = 2n+1, tais que m, n ∈ Z. Portanto, ab = (2m+1)(2n +1) = 2(2mn + m + n) + 1. Como, m e n são inteiros, ab é um inteiro ímpar. Mas por hipótese, ab é par, uma contradição. 69 O produto de dois inteiros ímpares não é par. Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 70. Exercício 70 Prove as seguintes proposições 1. Se n é um inteiro par, 4 ≤ n ≤ 12, então n é uma soma de dois números primos 2. A soma de um inteiro par com um inteiro ímpar é ímpar. 3. O produto de dois inteiros ímpares é ímpar. 4. O produto de dois inteiros consecuLvos é par. 5. Se a e b são números reais, tais que 0 < a < b, então a2 < b2. Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 71. Conjuntos 71 OBJ E T IVO REVISAR OS CONCEITOS BÁSICOS D E CONJUNTOS Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
  • 72. Conjuntos 72 — Conjunto é uma abstração matemáLca que visa capturar o conceito de coleção ¡ Lista não ordenada de elementos ou membros ¡ {1, 2} = {2, 1} — Notação ¡ a ∈ A: a pertence ao conjunto A ¡ a ∉ A: a não pertence ao conjunto A — Exemplos ¡ {PAA, FTC, AED, IHC, ICC} ¡ {7, PAA, {1}, {FTC, 3, 4}} Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 73. Tipos de conjuntos e conjuntos importantes 73 — Conjunto vazio: ∅ — Conjunto unitário — Conjunto finito e infinito — N: números naturais — Z: números inteiros — R: números reais — Q: números racionais — Notações ¡ { x | P(x) } ÷ Exemplo: { k | k = 2n+1 e n ∈ N } ¡ { x ∈ A|P(x) } ÷ Exemplo: { k ∈ R | 0 ≤ k ≤ 1 } Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 74. Relações básicas entre conjuntos 74 Subconjunto: A ⊆ B se, e somente se, ∀x (x ∈ A → x ∈ B) Subconjunto próprio: A ⊂ B se, e somente se, A ⊆ B e A≠B • ∅ ⊆ A • ∅ ⊂ A se A ≠ ∅ • ∅ ⊄ ∅ • N ⊂ Z • N ⊆ Z+ • R ⊄ N Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 75. Operações sobre conjuntos 75 h„p://namesonnodes.org/ns/math/2009/images/set-­‐operaLons.png União A ∪ B = { x | (x ∈ A) ∨ (x ∈ B) } Interseção A ∩ B = { x | (x ∈ A) ∧ (x ∈ B) } Diferença A B = { x | (x ∈ A) ∧ (x ∉ B) } Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 76. Conuntos disjuntos Definição Exemplos Dois conjuntos A e B são disjuntos se, e somente se, A ∩ B = ∅ — {1,2,3} e {5,4,9} — ∅ e N — AB e BA — N e Z− 76 A B Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 77. Algumas idenLdades 77 — IdenLdades sobre conjuntos ¡ A ∩ B = B ∩ A ¡ A ∪ B = B ∪ A ¡ A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) ¡ A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) ¡ (A = B) ↔ (A ⊆ B) ∧ (B ⊆ A) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 78. União e interseção generalizadas União de n conjuntos Ai n∪ i=1 = A1∪A2 ∪"∪An Interseção de n conjuntos 78 Ai n∩ i=1 = A1∩A2 ∩"∩An Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 79. ParLção 79 Par/ção de um conjunto Uma parLção de A é um conjunto de subconjuntos de A dado por {B1, B2, …, Bn} tal que • Bi ≠ ∅, para 1 ≤ i ≤ n; • Bi∩ Bj = ∅, para 1 ≤ i < j ≤ n; • ∪1≤i≤n Bi = A Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 80. Conjunto potência Definição Exemplo Conjunto potência de A, denotado por P (A) é o conjunto formado por todos os subconjuntos de A P (A) = { X | X ⊆ A} Que conjunto é P ({1,2,3}) ? { ∅, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3} } Se |A| denota o tamanho de A, qual é o valor de |P (A)|? |P (A)| = 2|A| 80 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 81. Produto cartesiano Definição Exemplos — Produto cartesiano entre dois conjuntos A e B, denotado por A×B é formado pelo conjunto de pares ordenados (a,b) tais que a ∈ A e b ∈ B, ou seja, — ∅ × {1,2} = ∅ — {1,2} × {3,4} = {(1,3), (1,4), (2,3), (2,4)} — |A × B| = |A|.|B|, se A e B finitos — An = A × A × ... × A (n vezes) 81 A×B = { (a,b) | a ∈ A ∧ b ∈ B } Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 82. Relação e função 82 OBJ E T IVO REVE R OS CONCEITOS D E RELAÇÃO E FUNÇÃO Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
  • 83. O que é uma relação? Definição informal Exemplos — O que significa relacionar dois objetos? ¡ Comparar dois objetos segundo uma regra definida ¡ Relação é uma comparação entre dois “objetos” — MatemáLca ¡ “Menor do que” ¡ “Maior do que” ¡ “É paralelo à” ¡ “É um subconjunto de” 83 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 84. O que é uma relação? Definição formal Exemplo Relação de n argumentos sobre Subconjunto de A1 — Relação binária: R × A2 ⊆ A A1, A2, × … × B ¡ Domínio: A ¡ Contradomínio: B ¡ Imagem: { y | (x,y) ∈ …, An × An R para algum x } — Notação — Relação binária: < ⊆ N × N ¡ Domínio: N ¡ Contradomínio: N ¡ Imagem: N – {0} { y | (x,y) ∈ R para x menor que y } 84 (x,y) ∈ R ou x R y Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 85. Tipos de relações binárias 85 A B A B um-­‐para-­‐um muitos-­‐para-­‐muitos A B A B muitos-­‐para-­‐um um-­‐para-­‐muitos Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 86. Propriedades de uma relação 86 Quais as propriedades das relações abaixo? — > sobre N Reflexiva, Simétrica, va TransiLva? — ≥ sobre N Reflexiva, Simétrica, TransiLva va? — ⊆ sobre P (N) Simétrica, va Reflexiva, TransiLva? — = sobre N Reflexiva, Simétrica, TransiLva? Inversa de R R-­‐1 = { (y,x) | (x,y)} ∈ R } Propriedades de uma relação binária R ⊆ A × A - Reflexiva: ∀x ∈ A, xRx - Simétrica: ∀x,y ∈ A, (xRy à yRx) - TransiLva: ∀x,y,z ∈ A, (xRy ∧ yRz) à xRz va Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 87. Função Função parcial Uma função f: tal que se (x,y) - (x,y) ∈ A→B é uma relação ∈ f e (x,z) ∈ f, então f é o mesmo que f(x) = y = y - f f ⊆ A×B, é indefinida para x, se não existe z y tal que f(x) = y - Função total definida ∀x no domínio - Função f: A1 ×…× An→ B de n argumentos Definição Exemplo 87 Função Total Parcial + : N × N → N * : N × N → N ÷ : N × N → N ÷ : N × Z+ → N ✗ ✗ ✗ ✗ Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 88. Funções compostas Definição Exemplo 88 Composição de duas funções g e f g ! f = g( f (x)) f : Z→N, !tal!que!f (x) = x +1 g :N→Z, !tal!que!g(x) = 2 − x g ! f : Z→Z, !tal!que (g ! f )(x) = g( x +1) = 2 −( x +1) =1− x f ! g :N→N, !tal!que ( f ! g)(x) = f (2 − x) = 2 − x +1 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 89. Tipos de funções 89 Tipos de funções Uma função total f : A à B pode ser 1. Injetora ∀x,y ∈ A, [ x ≠ y → f(x) ≠ f(y) ] Exemplo: f : N à N, tal que f(x) = x + 1 2. Sobrejetora ∀y ∈ B, ∃x ∈ A, f(x) = y , ou seja, B é a imagem de f Exemplo: f : R → R+ ∪ {0}, tal que f(x) = x2 3. Bijetora f é injetora e sobrejetora Exemplo: f : R → R, tal que f(x) = x3 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 90. Conjuntos enumeráveis 90 OBJ E T IVO DEF INIR E APRENDER A RECONHECER CONJUNTOS ENUMERÁVE I S E NÃO ENUMERÁVE I S Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
  • 91. Conjunto enumerável 91 — Tamanho de um conjunto finito A ¡ Representado por |A| ¡ Corresponde ao número de elementos em A — Dados A = {1,2,3,4,5} e B = {a,b,c,d,e,f,g,h} ¡ Quem é maior A ou B? ¡ |A| = 5, |B| = 8 — E se A e B são infinitos? Como compara-­‐los? ¡ Quem é maior N ou Z? ¡ Quem é maior Z ou R? http://www.kaninekisses.com/sitebuilder/images/great_dane_and_chihuahua-325x245.png Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 92. Conjunto enumerável 92 Cardinalidade Dois conjuntos uma função bijetora de - Se card(A) = A e B, possuem mesma cardinalidade, card(A) = card(B), se existe A para n, tal que n ∈ B N, ou ainda, card(A) = |A|, então A é finito - A é infinito se existe X ⊂ A, tal que card(X) = card(A) Conjunto enumerável e conjunto contável - Um conjunto A é dito enumerável, se card(A) = card(N) - Um conjunto A é dito contável, se A é finito ou enumerável Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 93. Conjunto enumerável 93 Cardinalidade Dois conjuntos A e B, possuem mesma cardinalidade, card(A) = card(B), se existe uma função bijetora de A para B A é enumerável se existe uma bijeção f : N → A, ou uma bijeção f : A → N Conjunto enumerável e conjunto contável - Um conjunto A é dito enumerável, se card(A) = card(N) - Um conjunto A é dito contável, se A é finito ou enumerável Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 94. Conjunto enumerável 94 Cardinalidade Dois conjuntos uma função bijetora de Se A e B, possuem mesma cardinalidade, card(A) = card(B), se existe A para B A é enumerável, então seus elementos podem ser colocados em sequência Conjunto enumerável e conjunto contável - Um conjunto A é dito enumerável, se card(A) = card(N) - Um conjunto A é dito contável, se A é finito ou enumerável Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 95. Um exemplo 95 Z− à −1 −2 −3 −4 −5 −6 −7 −8 −9 −10 −11 −12 … −∞ N à 0 1 2 3 4 5 6 7 8 9 10 11 12 … ∞ Z+ ∪ {0} à 0 1 2 3 4 5 6 7 8 9 10 11 12 … ∞ A é enumerável se existe uma bijeção Se f : N → A, ou uma bijeção f : A → N A é enumerável, então seus elementos podem ser colocados em sequência Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 96. Um exemplo 96 Z− à −1 −2 −3 −4 −5 −6 −7 −8 −9 −10 −11 −12 … −∞ N à ?? 0 1 2 3 4 5 6 7 8 9 10 11 12 … ∞ Z+ ∪ {0} à 0 1 2 3 4 5 6 7 8 9 10 11 12 … ∞ - N ⊂ Z, na verdade, Z = N ∪ Z− , então quem é maior? - Existe uma função bijetora de Z para N? - Qual sequência é possível formar? Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 97. Z− à 97 −1 −2 -­‐3 −4 -­‐5 −6 −7 ... N à 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ... Z+ ∪ {0} à 0 1 2 3 4 5 6 ... Um exemplo - N ⊂ Z, na verdade, Z = N ∪ Z− , então quem é maior? - Existe uma função bijetora de Z para N? - Qual sequência é possível formar? Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 98. 98 A é enumerável, então seus elementos podem ser colocados em sequência Z colocado em uma sequência possível N à 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ... Z à 0 −1 1 −2 2 −3 3 −4 4 −5 5 −6 6 −7 ... Um exemplo Se Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 99. Um exemplo 99 A é enumerável, então seus elementos podem ser colocados em sequência 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ... 0 −1 1 −2 2 −3 3 −4 4 −5 5 −6 6 −7 f :N→Z, !tal!que, f (x) = x 2 , se!x!é!par − x +1 2 , se!x!é!ímpar # %% $ %% & N à Z à ... Se Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 100. Mais um exemplo 100 — O racionais posiLvos Q+ é enumerável? ¡ Q+ = { a/b | a ∈ N+ ∧ b ∈ N+ } ¡ Considere a função f : Q+ → N, bijetora, que mapeia a/b em um natural f(a,b) b 1 2 3 4 5 … a 1 0 1 3 6 10 … 2 2 4 7 11 … 3 5 8 12 … 4 9 13 … 5 14 … N … … Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 101. Mais um exemplo 101 — O racionais posiLvos Q+ é enumerável? ¡ Q+ = { a/b | a ∈ N+ ∧ b ∈ N+ } ¡ Considere a função f : Q+ → N, bijetora, que mapeia a/b em um natural f(a,b) b 1 2 3 4 5 … a 1 0 1 3 6 10 … 2 2 4 7 11 … 3 5 8 12 … 4 9 13 … 5 14 … N … … N à 0 Q+ à 1/1 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 102. Mais um exemplo 102 — O racionais posiLvos Q+ é enumerável? ¡ Q+ = { a/b | a ∈ N+ ∧ b ∈ N+ } ¡ Considere a função f : Q+ → N, bijetora, que mapeia a/b em um natural f(a,b) b 1 2 3 4 5 … a 1 0 1 3 6 10 … 2 2 4 7 11 … 3 5 8 12 … 4 9 13 … 5 14 … N … … N à 0 1 Q+ à 1/1 1/2 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 103. Mais um exemplo 103 — O racionais posiLvos Q+ é enumerável? ¡ Q+ = { a/b | a ∈ N+ ∧ b ∈ N+ } ¡ Considere a função f : Q+ → N, bijetora, que mapeia a/b em um natural f(a,b) b 1 2 3 4 5 … a 1 0 1 3 6 10 … 2 2 4 7 11 … 3 5 8 12 … 4 9 13 … 5 14 … N … … N à 0 1 2 Q+ à 1/1 1/2 2/1 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 104. Mais um exemplo 104 — O racionais posiLvos Q+ é enumerável? ¡ Q+ = { a/b | a ∈ N+ ∧ b ∈ N+ } ¡ Considere a função f : Q+ → N, bijetora, que mapeia a/b em um natural f(a,b) b 1 2 3 4 5 … a 1 0 1 3 6 10 … 2 2 4 7 11 … 3 5 8 12 … 4 9 13 … 5 14 … N … … N à 0 1 2 3 Q+ à 1/1 1/2 2/1 1/3 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 105. Mais um exemplo 105 — O racionais posiLvos Q+ é enumerável? ¡ Q+ = { a/b | a ∈ N+ ∧ b ∈ N+ } ¡ Considere a função f : Q+ → N, bijetora, que mapeia a/b em um natural f(a,b) b 1 2 3 4 5 … a 1 0 1 3 6 10 … 2 2 4 7 11 … 3 5 8 12 … 4 9 13 … 5 14 … N … … N à 0 1 2 3 4 Q+ à 1/1 1/2 2/1 1/3 2/2 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 106. Mais um exemplo 106 — O racionais posiLvos Q+ é enumerável? ¡ Q+ = { a/b | a ∈ N+ ∧ b ∈ N+ } ¡ Considere a função f : Q+ → N, bijetora, que mapeia a/b em um natural f(a,b) b 1 2 3 4 5 … a 1 0 1 3 6 10 … 2 2 4 7 11 … 3 5 8 12 … 4 9 13 … 5 14 … N … … N à 0 1 2 3 4 5 Q+ à 1/1 1/2 2/1 1/3 2/2 3/1 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 107. Mais um exemplo 107 — O racionais posiLvos Q+ é enumerável? ¡ Q+ = { a/b | a ∈ N+ ∧ b ∈ N+ } ¡ Considere a função f : Q+ → N, bijetora, que mapeia a/b em um natural f(a,b) b 1 2 3 4 5 … a 1 0 1 3 6 10 … 2 2 4 7 11 … 3 5 8 12 … 4 9 13 … 5 14 … N … … f (a b) = N à (a + b −1)(a + b − 2) 2 +(a −1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ... Q+ à 1/1 1/2 2/1 1/3 2/2 3/1 1/4 2/3 3/2 4/1 1/5 2/4 3/3 4/2 ... Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 108. Mais sobre conjuntos contáveis Teorema facilitador Propriedades As seguintes afirmações são equivalentes ¡ A é contável ¡ Existe uma função injetora de A para N ¡ A = ∅ ou existe uma função sobrejetora de N para A — Se A é contável, então X ⊆ A é contável — Se A e B são contáveis, então A×B é contável — Se A e B são contáveis, então A∪B é contável *Demonstre estas propriedades como exercício. 108 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 109. E os números reais? 109 — O conjunto dos números reais é contável? ¡ Não, não é possível enumerar todos os números reais — A prova, por contradição, foi proposta por Cantor em 1891 (Diagonal de Cantor) h„p://en.wikipedia.org/wiki/Georg_Cantor Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 110. Diagonal de Cantor 110 1. Suponha que R é contável 2. Considere o conjunto R’ = { x ∈ R | 0 < x < 1 } 3. Note que R’ ⊆ R, portanto, se R é contável, então R’ é contável 4. Existe uma bijeção f : R’ → N que representa todos elementos de R’ como uma lista N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 111. Diagonal de Cantor 111 4. Existe uma bijeção f : R’ → N que representa todos elementos de R’ como uma lista N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … dij ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Por exemplo, se r0 = 0 , 1 0 2 4 9 2… então d00 = 1, d01 = 0, d02 = 2, d03 = 4, … Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 112. Diagonal de Cantor 112 5. Agora é preciso construir um número que não esteja listado abaixo N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … Considere o número a = 0,a0a1a2a3... tal que ai = 9 – dii Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 113. Diagonal de Cantor 113 5. Agora é preciso construir um número que não esteja listado abaixo N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … a = 0 , a0 a1 a2 a3 … Considere o número a = 0,a0a1a2a3... tal que ai = 9 – dii Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 114. Diagonal de Cantor 114 5. Agora é preciso construir um número que não esteja listado abaixo N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … ≠ a = 0 , a0 a1 a2 a3 … Considere o número (d00 ai = 9 – ≠ a0) a = 0,a0a1a2a3... dii → (a ≠ r0) tal que Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 115. Diagonal de Cantor 115 5. Agora é preciso construir um número que não esteja listado abaixo N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … ≠ ≠ a = 0 , a0 a1 a2 a3 … Considere o número (d11 ai = 9 – ≠ a1) a = 0,a0a1a2a3... dii → (a ≠ r1) tal que Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 116. Diagonal de Cantor 116 5. Agora é preciso construir um número que não esteja listado abaixo N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … ≠ ≠ ≠ a = 0 , a0 a1 a2 a3 … Considere o número (d22 ai = 9 – ≠ a2) a = 0,a0a1a2a3... dii → (a ≠ r2) tal que Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 117. Diagonal de Cantor 117 5. Agora é preciso construir um número que não esteja listado abaixo N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … ≠ ≠ ≠ ≠ a = 0 , a0 a1 a2 a3 … Considere o número (d33 ai = 9 – ≠ a3) a = 0,a0a1a2a3... dii → (a ≠ r3) tal que Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 118. Diagonal de Cantor 118 5. Agora é preciso construir um número que não esteja listado abaixo N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … ≠ ≠ ≠ ≠ … a = 0 , a0 a1 a2 a3 … Considere o número tal que ∀i ∈ ai N, (dii a = 0,a0a1a2a3... = 9 – ≠ ai) dii → (a ≠ ri) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 119. Diagonal de Cantor 119 6. Assim, a ∈ R’ não está mapeado na bijeção f : R’ → N, uma contradição. Portanto, R’ não é contável. N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … ≠ ≠ ≠ ≠ … a = 0 , a0 a1 a2 a3 … Considere o número tal que ∀i ∈ ai N, (dii a = 0,a0a1a2a3... = 9 – ≠ ai) dii → (a ≠ ri) Logo, a ∈ R’, mas não está na lista com, supostamente, todos os elementos de R’, uma contradição !? Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 120. Diagonal de Cantor 120 7. Como, R’ ⊆ R não é contável, R também não é contável. N R’ 0 r0 = 0 , d00 d01 d02 d03 … 1 r1 = 0 , d10 d11 d12 d13 … 2 r2 = 0 , d20 d21 d22 d23 … 3 r3 = 0 , d30 d31 d32 d33 … … … ≠ ≠ ≠ ≠ … a = 0 , a0 a1 a2 a3 … Considere o número tal que ∀i ∈ ai N, (dii a = 0,a0a1a2a3... = 9 – ≠ ai) dii → (a ≠ ri) Logo, a ∈ R’, mas não está na lista com, supostamente, todos os elementos de R’, uma contradição !? Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 121. Outro exemplo 121 — Considere o conjunto F de todas as funções totais f : N → N — F é finito? ¡ Infinito! ¡ Prove como exercício — F é enumerável? ¡ Não! ¡ É incontável Prova por contradição usando a diagonal de Cantor Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 122. Outro exemplo 122 1. Suponha que F é contável 2. Existe uma bijeção g : F → N que ordena os elementos de F como uma lista g N 0 1 2 3 … F f0 f0(0) f0(1) f0(2) f0(3) … f1 f1(0) f1(1) f1(2) f1(3) … f2 f2(0) f2(1) f2(2) f2(3) … f3 f3(0) f3(1) f3(2) f3(3) … … … … … … Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 123. Outro exemplo 123 3. É preciso encontrar uma função total h : N→N, tal que h ∈ F mas não está na lista abaixo g N 0 1 2 3 … F f0 f0(0) f0(1) f0(2) f0(3) … f1 f1(0) f1(1) f1(2) f1(3) … f2 f2(0) f2(1) f2(2) f2(3) … f3 f3(0) f3(1) f3(2) f3(3) … … … … … … Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 124. Outro exemplo 124 3. É preciso encontrar uma função total h : N→N, tal que h ∈ F mas não está na lista abaixo g N 0 1 2 3 … F f0 f0(0) f0(1) f0(2) f0(3) … f1 f1(0) f1(1) f1(2) f1(3) … f2 f2(0) f2(1) f2(2) f2(3) … f3 f3(0) f3(1) f3(2) f3(3) … … … … … … h h(0) h(1) h(2) h(3) … Considere h : N→N, tal que h(i) = fi(i) + 1 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 125. Outro exemplo 125 3. É preciso encontrar uma função total h : N→N, tal que h ∈ F mas não está na lista abaixo g N 0 1 2 3 … F f0 f0(0) f0(1) f0(2) f0(3) … f1 f1(0) f1(1) f1(2) f1(3) … f2 f2(0) f2(1) f2(2) f2(3) … f3 f3(0) f3(1) f3(2) f3(3) … … … … … … ≠ h h(0) h(1) h(2) h(3) … Considere h(i) = ( h(0) ≠ h : fi(i) f0(0) N→N, tal que ) + 1 → ( h ≠ f0 ) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 126. Outro exemplo 126 3. É preciso encontrar uma função total h : N→N, tal que h ∈ F mas não está na lista abaixo g N 0 1 2 3 … F f0 f0(0) f0(1) f0(2) f0(3) … f1 f1(0) f1(1) f1(2) f1(3) … f2 f2(0) f2(1) f2(2) f2(3) … f3 f3(0) f3(1) f3(2) f3(3) … … … … … … ≠ ≠ h h(0) h(1) h(2) h(3) … Considere h(i) = ( h(1) ≠ h : fi(i) f1(1) N→N, tal que ) + 1 → ( h ≠ f1 ) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 127. Outro exemplo 127 3. É preciso encontrar uma função total h : N→N, tal que h ∈ F mas não está na lista abaixo g N 0 1 2 3 … F f0 f0(0) f0(1) f0(2) f0(3) … f1 f1(0) f1(1) f1(2) f1(3) … f2 f2(0) f2(1) f2(2) f2(3) … f3 f3(0) f3(1) f3(2) f3(3) … … … … … … ≠ ≠ ≠ h h(0) h(1) h(2) h(3) … Considere h(i) = ( h(2) ≠ h : fi(i) f2(2) N→N, tal que ) + 1 → ( h ≠ f2 ) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 128. Outro exemplo 128 3. É preciso encontrar uma função total h : N→N, tal que h ∈ F mas não está na lista abaixo g N 0 1 2 3 … F f0 f0(0) f0(1) f0(2) f0(3) … f1 f1(0) f1(1) f1(2) f1(3) … f2 f2(0) f2(1) f2(2) f2(3) … f3 f3(0) f3(1) f3(2) f3(3) … … … … … … ≠ ≠ ≠ ≠ h h(0) h(1) h(2) h(3) … Considere h(i) = ( h(3) ≠ h : fi(i) f3(3) N→N, tal que ) + 1 → ( h ≠ f3 ) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 129. Outro exemplo 129 3. É preciso encontrar uma função total h : N→N, tal que h ∈ F mas não está na lista abaixo g N 0 1 2 3 … F f0 f0(0) f0(1) f0(2) f0(3) … f1 f1(0) f1(1) f1(2) f1(3) … f2 f2(0) f2(1) f2(2) f2(3) … f3 f3(0) f3(1) f3(2) f3(3) … … … … … … ≠ ≠ ≠ ≠ … h h(0) h(1) h(2) h(3) … Considere h(i) = ∀i ∈ h : N, N→N, tal que fi(i) ( + 1 h ≠ fi ) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 130. Outro exemplo 130 4. Logo, h ∈ F, mas não está mapeada por g : F → N, uma contradição. Portanto, F não é contável. g N 0 1 2 3 … F f0 f0(0) f0(1) f0(2) f0(3) … f1 f1(0) f1(1) f1(2) f1(3) … f2 f2(0) f2(1) f2(2) f2(3) … f3 f3(0) f3(1) f3(2) f3(3) … … … … … … ≠ ≠ ≠ ≠ … h h(0) h(1) h(2) h(3) … Considere h : N→N, tal que h(i) = fi(i) + 1 ∀i ∈ N, ( h ≠ fi ) Logo, h ∈ F, mas não está na lista com, supostamente, todos os elementos de F, uma contradição !? Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 131. Exercício de fixação 131 — Mostre que os conjuntos abaixo são enumeráveis (encontre uma bijeção sobre os naturais) 1. Z+ = {1, 2, 3, 4, …} 2. N {1, 2, 3} 3. Naturais Pares 4. Naturais Ímpares 5. Inteiros Pares — Mostre que os conjuntos abaixo não são enumeráveis 1. P (N) 2. O conjunto B de todas as sequências infinitas de 0’s ou 1’s Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 132. Recursividade e Indução MatemáLca 132 OBJ E T IVO APRENDER A DEF INIR CONJUNTOS RECURSIVAMENTE APRENDER A PROVAR PROPRIEDADES SOBRE OS INTEIROS USANDO INDUÇÃO MATEMÁTICA Fundamentos de Teoria da Computação Eduardo Freire Nakamura (nakamura@icomp.ufam.edu.br)
  • 133. O que é uma definição recursiva? Definição 133 Definição Recursiva do Conjunto A a) Base: especificação de B ⊂ A b) Passo Recursivo: como obter elementos de A a parLr de outros elementos de A c) Fechamento: só pertencem a A, os elementos obLdos através dos passos (a) ou (b). Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 134. O que é uma definição recursiva? Definição 134 Definição Recursiva do Conjunto A a) Base: especificação de B ⊂ A b) Passo Recursivo: como obter elementos de A a parLr de outros elementos de A c) Fechamento: só pertencem a A, os elementos obLdos através dos passos (a) ou (b). Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 135. O que é uma definição recursiva? Definição É possível definir recursivamente qualquer conjunto enumerável! 135 Definição Recursiva do Conjunto A a) Base: especificação de B ⊂ A b) Passo Recursivo: como obter elementos de A a parLr de outros elementos de A c) Fechamento: só pertencem a A, os elementos obLdos através dos passos (a) ou (b). Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 136. O que é uma definição recursiva? Definição Exemplo 01: Números naturais 136 Definição Recursiva do Conjunto A a) Base: especificação de B ⊂ A b) Passo Recursivo: como obter elementos de A a parLr de outros elementos de A c) Fechamento: só pertencem a A, os elementos obLdos através dos passos (a) ou (b). Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 137. O que é uma definição recursiva? Definição Exemplo 01: Números naturais Definição a) 0 ∈ N b) Se n ∈ N, então n + 1 ∈ N c) Só pertencem a N, os números gerados usando (a) ou (b). 137 Definição Recursiva do Conjunto A a) Base: especificação de B ⊂ A b) Passo Recursivo: como obter elementos de A a parLr de outros elementos de A c) Fechamento: só pertencem a A, os elementos obLdos através dos passos (a) ou (b). Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 138. O que é uma definição recursiva? Definição Exemplo 02: Fatorial Definição – fat : N → N a) fat(0) = 1 b) ∀n ∈ N, fat(n+1) = n * fat(n−1) c) implícito 138 Definição Recursiva do Conjunto A a) Base: especificação de B ⊂ A b) Passo Recursivo: como obter elementos de A a parLr de outros elementos de A c) Fechamento: só pertencem a A, os elementos obLdos através dos passos (a) ou (b). Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 139. O que é uma definição recursiva? Definição Exemplo 03: Exponencial an Definição – an : N → N a) a0 = 1 b) ∀n ∈ N, an+1 = a × an c) implícito 139 Definição Recursiva do Conjunto A a) Base: especificação de B ⊂ A b) Passo Recursivo: como obter elementos de A a parLr de outros elementos de A c) Fechamento: só pertencem a A, os elementos obLdos através dos passos (a) ou (b). Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 140. O que é uma definição recursiva? Definição Exemplo 04: Ling. Proposicional Definição – Ling. proposicional (LP) a) Toda a variável lógica está na LP b) Se P e Q, estão na LP, então também estão na LP: ¡ ¬P ¡ P∧Q ¡ P∨Q ¡ P→Q ¡ P↔Q c) implícito 140 Definição Recursiva do Conjunto A a) Base: especificação de B ⊂ A b) Passo Recursivo: como obter elementos de A a parLr de outros elementos de A c) Fechamento: só pertencem a A, os elementos obLdos através dos passos (a) ou (b). Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 141. Indução matemáLca 141 h„p://meangreenmath.files.wordpress.com/2013/08/dominoes.jpg Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 142. Princípio da indução Nono axioma de Giuseppe Peano — Se K é um conjunto tal que 1. 0 (zero) está pertence a K 2. Para todo natural k ÷ Se k está conLdo em K, ÷ Então o sucessor de k está em K — Então K contém todos os números naturais 142 h„p://en.wikipedia.org/wiki/Giuseppe_Peano Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 143. Princípio da indução Reformulando... — Se P é um predicado tal que 1. P(0) é verdade 2. ∀k ∈ N, P(k) → P(k+1) — Então, P(n) é verdadeiro para todo n ∈ N 143 h„p://en.wikipedia.org/wiki/Giuseppe_Peano Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 144. Princípio da indução Reformulando... — Se P é um predicado tal que 1. P(0) é verdade 2. ∀k ∈ N, P(k) → P(k+1) — Então, P(n) é verdadeiro para todo n ∈ N 144 É possível provar propriedades para conjuntos enumeráveis usando indução matemáLca! Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 145. Princípio da indução fraca Definição Estrutura de demonstração Princípio da indução faca Se ① P(0)* ② ∀n, P(n) → P(n+1) Então ü ∀n, P(n) 1. Provar P(0) (caso base) 2. Seja n ≥ 0 abitrário 3. Suponha P(n) (hipótese de indução) 4. Provar P(n+1) 5. Concluir ∀n, P(n) Os passos (2) a (4) são chamados de passo induLvo 145 *Primeiro elemento do conjunto, não necessariamente 0 (zero) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 146. Princípio da indução fraca Exemplo 01 146 Prove que para todo n ∈ Z+, temos que a soma 1 + 3 + 5 +…+ (2n–1) = n2. 1. Caso base n = 1 ¡ 1 = 12 (divisível por 3) 2. Passo induLvo ¡ Hipótese: S(n) = 1+3+5+…+(2n – 1) = n2 ¡ Tese: S(n+1) = 1+3+5+…+(2n–1)+[2(n+1) – 1] = (n+1)2 S(n+1) = 1 + 3 + 5 +…+ (2n-­‐1) + [2(n+1) – 1] S(n) + [2(n+1) – 1] n2 + [2(n+1) – 1] n2 + [2n + 2 – 1] n2 + 2n + 1 (n + 1)2 Por definição S(n) = 1 + 3 + 5 +…+ (2n – 1) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 147. Princípio da indução fraca Exemplo 01 147 Prove que para todo n ∈ Z+, temos que a soma 1 + 3 + 5 +…+ (2n–1) = n2. 1. Caso base n = 1 ¡ 1 = 12 (divisível por 3) 2. Passo induLvo ¡ Hipótese: S(n) = 1+3+5+…+(2n – 1) = n2 ¡ Tese: S(n+1) = 1+3+5+…+(2n–1)+[2(n+1) – 1] = (n+1)2 S(n+1) = 1 + 3 + 5 +…+ (2n-­‐1) + [2(n+1) – 1] = S(n) + [2(n+1) – 1] n2 + [2(n+1) – 1] n2 + [2n + 2 – 1] n2 + 2n + 1 Por (hni p+ ó1t)e2 se de indução S(n) = n2 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 148. Princípio da indução fraca Exemplo 01 148 Prove que para todo n ∈ Z+, temos que a soma 1 + 3 + 5 +…+ (2n–1) = n2. 1. Caso base n = 1 ¡ 1 = 12 (divisível por 3) 2. Passo induLvo ¡ Hipótese: S(n) = 1+3+5+…+(2n – 1) = n2 ¡ Tese: S(n+1) = 1+3+5+…+(2n–1)+[2(n+1) – 1] = (n+1)2 S(n+1) = 1 + 3 + 5 +…+ (2n-­‐1) + [2(n+1) – 1] = S(n) + [2(n+1) – 1] = n2 + [2(n+1) – 1] n2 + [2n + 2 – 1] n2 + 2n + 1 (n + 1)2 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 149. Princípio da indução fraca Exemplo 01 149 Prove que para todo n ∈ Z+, temos que a soma 1 + 3 + 5 +…+ (2n–1) = n2. 1. Caso base n = 1 ¡ 1 = 12 (divisível por 3) 2. Passo induLvo ¡ Hipótese: S(n) = 1+3+5+…+(2n – 1) = n2 ¡ Tese: S(n+1) = 1+3+5+…+(2n–1)+[2(n+1) – 1] = (n+1)2 S(n+1) = 1 + 3 + 5 +…+ (2n-­‐1) + [2(n+1) – 1] = S(n) + [2(n+1) – 1] = n2 + [2(n+1) – 1] = n2 + [2n + 2 – 1] n2 + 2n + 1 (n + 1)2 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 150. Princípio da indução fraca Exemplo 01 150 Prove que para todo n ∈ Z+, temos que a soma 1 + 3 + 5 +…+ (2n–1) = n2. 1. Caso base n = 1 ¡ 1 = 12 (divisível por 3) 2. Passo induLvo ¡ Hipótese: S(n) = 1+3+5+…+(2n – 1) = n2 ¡ Tese: S(n+1) = 1+3+5+…+(2n–1)+[2(n+1) – 1] = (n+1)2 S(n+1) = 1 + 3 + 5 +…+ (2n-­‐1) + [2(n+1) – 1] = S(n) + [2(n+1) – 1] = n2 + [2(n+1) – 1] = n2 + [2n + 2 – 1] = n2 + 2n + 1 (n + 1)2 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 151. Princípio da indução fraca Exemplo 01 S(n+1) = 1 + 3 + 5 +…+ (2n-­‐1) + [2(n+1) – 1] = S(n) + [2(n+1) – 1] = n2 + [2(n+1) – 1] = n2 + [2n + 2 – 1] = n2 + 2n + 1 = (n + 1)2 Logo, para todo n ∈ Z+, temos que 1 + 3 + 5 +…+ (2n–1) = n2. 151 Prove que para todo n ∈ Z+, temos que a soma 1 + 3 + 5 +…+ (2n–1) = n2. 1. Caso base n = 1 ¡ 1 = 12 (divisível por 3) 2. Passo induLvo ¡ Hipótese: S(n) = 1+3+5+…+(2n – 1) = n2 ¡ Tese: S(n+1) = 1+3+5+…+(2n–1)+[2(n+1) – 1] = (n+1)2 Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 152. Princípio da indução fraca Exemplo 02 22(n+1) – 1 = 22n+2 – 1 Logo, para todo 22n (22) – 1 22n (4) – 1 (3m+1)(4) – 1 3m(4) + 4 – 1 3(4m) + 3 3(4m + 1) n ∈ Z+, o número 22n – 1 é divisível por 3 152 Prove que para todo n ∈ Z+, o número 22n – 1 é divisível por 3. 1. Caso base n = 1 ¡ 22(1) – 1 = 4 – 1 = 3 (divisível por 3) 2. Passo induLvo ¡ Hipótese: 22n – 1 = 3m, para m,n ∈ Z+ ¡ Tese: 22(n+1) – 1 = 3k Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 153. Princípio da indução fraca Exemplo 02 22(n+1) – 1 = 22n+2 – 1 Logo, para todo 22n (22) – 1 22n (4) – 1 (3m+1)(4) – 1 3m(4) + 4 – 1 3(4m) + 3 3(4m + 1) n ∈ Z+, o número 22n – 1 é divisível por 3 153 Prove que para todo n ∈ Z+, o número 22n – 1 é divisível por 3. 1. Caso base n = 1 ¡ 22(1) – 1 = 4 – 1 = 3 (divisível por 3) 2. Passo induLvo ¡ Hipótese: 22n – 1 = 3m, para m,n ∈ Z+ ¡ Tese: 22(n+1) – 1 = 3k Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 154. Princípio da indução fraca Exemplo 02 22(n+1) – 1 = 22n+2 – 1 = 22n (22) – 1 Logo, para todo 22n (4) – 1 (3m+1)(4) – 1 3m(4) + 4 – 1 3(4m) + 3 3(4m + 1) n ∈ Z+, o número 22n – 1 é divisível por 3 154 Prove que para todo n ∈ Z+, o número 22n – 1 é divisível por 3. 1. Caso base n = 1 ¡ 22(1) – 1 = 4 – 1 = 3 (divisível por 3) 2. Passo induLvo ¡ Hipótese: 22n – 1 = 3m, para m,n ∈ Z+ ¡ Tese: 22(n+1) – 1 = 3k Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 155. Princípio da indução fraca Exemplo 02 22(n+1) – 1 = 22n+2 – 1 = 22n (22) – 1 Logo, para todo 22n (4) – 1 (3m+1)(4) – 1 3m(4) + 4 – 1 3(4m) + 3 3(4m + 1) n ∈ Z+, o número 22n – 1 é divisível por 3 155 Prove que para todo n ∈ Z+, o número 22n – 1 é divisível por 3. 1. Caso base n = 1 ¡ 22(1) – 1 = 4 – 1 = 3 (divisível por 3) 2. Passo induLvo ¡ Hipótese: 22n – 1 = 3m, para m,n ∈ Z+ ¡ Tese: 22(n+1) – 1 = 3k Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 156. Princípio da indução fraca Exemplo 02 22(n+1) – 1 = 22n+2 – 1 = 22n (22) – 1 Logo, para todo 22n (4) – 1 22n (3 + 1) – 1 3(22n) + 22n – 1 3(22n) + 3m 3(22n + m) n ∈ Z+, o número 22n – 1 é divisível por 3 156 Prove que para todo n ∈ Z+, o número 22n – 1 é divisível por 3. 1. Caso base n = 1 ¡ 22(1) – 1 = 4 – 1 = 3 (divisível por 3) 2. Passo induLvo ¡ Hipótese: 22n – 1 = 3m, para m,n ∈ Z+ ¡ Tese: 22(n+1) – 1 = 3k Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 157. Princípio da indução fraca Exemplo 02 22(n+1) – 1 = 22n+2 – 1 = 22n (22) – 1 Por hipótese de indução: 22n – 1 = 3m Logo, para todo 22n (4) – 1 22n (3 + 1) – 1 3(22n) + 22n – 1 3(22n) + 3m 3(22n + m) n ∈ Z+, o número 22n – 1 é divisível por 3 157 Prove que para todo n ∈ Z+, o número 22n – 1 é divisível por 3. 1. Caso base n = 1 ¡ 22(1) – 1 = 4 – 1 = 3 (divisível por 3) 2. Passo induLvo ¡ Hipótese: 22n – 1 = 3m, para m,n ∈ Z+ ¡ Tese: 22(n+1) – 1 = 3k Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 158. Princípio da indução fraca Exemplo 02 22(n+1) – 1 = 22n+2 – 1 = 22n (22) – 1 Logo, para todo 22n (4) – 1 22n (3 + 1) – 1 3(22n) + 22n – 1 3(22n) + 3m 3(22n + m) n ∈ Z+, o número 22n – 1 é divisível por 3 158 Prove que para todo n ∈ Z+, o número 22n – 1 é divisível por 3. 1. Caso base n = 1 ¡ 22(1) – 1 = 4 – 1 = 3 (divisível por 3) 2. Passo induLvo ¡ Hipótese: 22n – 1 = 3m, para m,n ∈ Z+ ¡ Tese: 22(n+1) – 1 = 3k Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 159. Princípio da indução fraca Exemplo 02 22(n+1) – 1 = 22n+2 – 1 = 22n (22) – 1 k = (22n + m) ∈ Z+ Logo, para todo 22n (4) – 1 22n (3 + 1) – 1 3(22n) + 22n – 1 3(22n) + 3m 3(22n + m) n ∈ Z+, o número 22n – 1 é divisível por 3 159 Prove que para todo n ∈ Z+, o número 22n – 1 é divisível por 3. 1. Caso base n = 1 ¡ 22(1) – 1 = 4 – 1 = 3 (divisível por 3) 2. Passo induLvo ¡ Hipótese: 22n – 1 = 3m, para m,n ∈ Z+ ¡ Tese: 22(n+1) – 1 = 3k Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 160. Princípio da indução fraca Exemplo 02 22(n+1) – 1 = 22n+2 – 1 = 22n (22) – 1 Logo, para todo 22n (4) – 1 22n (3 + 1) – 1 3(22n) + 22n – 1 3(22n) + 3m 3(22n + m) n ∈ Z+, o número 22n – 1 é divisível por 3. 160 Prove que para todo n ∈ Z+, o número 22n – 1 é divisível por 3. 1. Caso base n = 1 ¡ 22(1) – 1 = 4 – 1 = 3 (divisível por 3) 2. Passo induLvo ¡ Hipótese: 22n – 1 = 3m, para m,n ∈ Z+ ¡ Tese: 22(n+1) – 1 = 3k Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 161. Princípio da indução forte Definição Estrutura de demonstração Princípio da indução faca Se ① [P(0) ∧ P(1) ∧...∧ P(k)] → P(k+1)* Então ü ∀n, P(n) 1. Seja n ≥ 0 abitrário 2. Suponha ∀k < n, P(k) (hipótese de indução) 3. Provar P(k+1) 4. Concluir ∀n, P(n) 161 *Primeiro elemento do conjunto, não necessariamente 0 (zero) Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 162. Princípio da indução forte Exemplo 01 1: (k+1) é primo Neste caso (k+1) = (k+1)(1), produto de dois primos. Caso 162 Prove que todo n > 1 ∈ Z+ pode ser escrito como o produto de números primos. 1. Caso base n = 2 ¡ 2 = 2(1) (produto de dois primos) 2. Passo induLvo ¡ Hipótese: todo 2 ≤ r ≤ k , pode ser escrito como o produto de primos ¡ Tese: (k + 1) pode ser escrito como o produto de primos Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 163. Princípio da indução forte Exemplo 01 Caso 2: (k+1) não é primo Se (k+1) não é primo, então (k+1) é composto, ou seja, (k+1) = ab, tal que 2 ≤ a ≤ b ≤ k. Por hipótese, todo 2 ≤ r ≤ k , é o produto de primos. Logo, a e b podem ser escrito como produtos de números primos. Portanto, (k+1) também pode! 163 Prove que todo n > 1 ∈ Z+ pode ser escrito como o produto de números primos. 1. Caso base n = 2 ¡ 2 = 2(1) (produto de dois primos) 2. Passo induLvo ¡ Hipótese: todo 2 ≤ r ≤ k , pode ser escrito como o produto de primos ¡ Tese: (k + 1) pode ser escrito como o produto de primos Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 164. Princípio da indução forte Exemplo 02 Por hipótese, temos que ¡ (k – 3) pode ser escrito como a soma de 4’s e 5’s ¡ Afinal, 12 ≤ (k – 3) ≤ k. Note que (k + 1) = (k – 3) + 4. Portanto, (k + 1) também pode ser escrito como a soma de 4’s e 5’s. 164 Prove que todo n ≥ 12 ∈ Z+ pode ser obLdo somando-­‐se 4’s e 5’s. 1. Caso base n = 12, 13, 14, 15 ¡ 12 = 4 + 4 + 4 13 = 4 + 4 + 5 ¡ 14 = 4 + 5 + 5 15 = 5 + 5 + 5 2. Passo induLvo ¡ Hipótese: todo 12 ≤ r ≤ k é a soma de 4’s e 5’s, onde k ≥ 15 ¡ Tese: (k + 1) é a soma de 4’s e 5’s Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)
  • 165. Exercícios de fixação 165 1. Prove que para todo n ∈ Z+ nΣ temos que . 2i i=0 = 2n+1 −1 2. Prove que que 11n − 6 é divisível por 5 qualquer n ∈ Z+. 3. Prove que todo n ≥ 8 ∈ Z+ pode ser obLdo somando-­‐se 3’s e 5’s. 0, !se!n = 0 1, !se!n =1 # $ % & % 4. A função de Fibonacci é dada por F(n) = . F(n −1)+ F(n − 2), !se!n ≥ 2 1 5 ( n 1+ 5 ! $ n − 1− 5 ! $ ** + -- Prove que F(n) = . 2 " # % & 2 " # % & ) , Eduardo Freire Nakamura (nakamura@Fundamentos de Teoria da Computação icomp.ufam.edu.br)