O documento apresenta conceitos fundamentais de lógica formal, incluindo proposições, conectivos lógicos, tabelas de verdade, equivalências lógicas e regras de inferência. É dividido em seções sobre proposições, conectivos lógicos, equivalências, consequência lógica e exemplos de regras de inferência.
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)
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)