Sie sind auf Seite 1von 48

Tcnicas de Prova

CMP601 - Algoritmos e Teoria da Computao

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conjuntos
Colees de elementos:
sem ordem
sem repetio
descritos por extenso ou compreenso

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Operaes sobre Conjuntos


pertinncia: x C
continncia: C1 C2
unio: C1 C2
interseco: C1 C2
diferena: C1 - C2
produto cartesiano: C1 C2
potncia: C ou P(C)
2

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Relaes e Funes

Uma relao uma associao entre elementos de um


conjunto A e de um conjunto B, ou seja, um subconjunto de
A B.

Uma relao chamada de funo se cada elemento de A


est associado a no mximo um elemento de B.

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Funes

Uma funo pode ser

total/parcial

1
2
3
1

injetora

2
3
1

sobrejetora

2
3

bijetora
CMP601 - Algoritmos e Teoria da Computao

1
2
3

(INF-UFRGS)

Operaes sobre Funes

funo inversa (somente para


1

CMP601 - Algoritmos e Teoria da Computao

f2

f -1

f1 f2

composio: f1 f2

-1
injetoras): f

f1

a
b
c

(INF-UFRGS)

Conjuntos Infinitos
(Funes Infinitas)
Conjuntos definidos por enumerao so finitos.
Conjuntos definidos atravs de produto cartesiano

ou unio sero infinitos se um dos componentes for


infinito.

Mas como definir um conjunto infinito sem


usar outro conjunto infinito como base?
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Problema:
Como definir conjuntos infinitos?
Queremos definir um conjunto infinito
... de maneira finita;
... sem usar outro conjunto infinito na definio;
...de forma a tornar fcil trabalhar com/verificar
propriedades dos elementos deste conjunto.

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Exemplo: Conj. dos Naturais


1

N = {1, 2, 3, ...}
no uma definio precisa

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Exemplo: Conj. dos Pares


P ar = {x|x = 2n e n

N }

no uma definio precisa


se o conj. dos naturais no
for definido

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Como definir
estes conjuntos?

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Induo e Recurso

INDUO

CMP601 - Algoritmos e Teoria da Computao

RECURSO

(INF-UFRGS)

Induo e Recurso

INDUO

tcnica de prova
CMP601 - Algoritmos e Teoria da Computao

RECURSO

tcnica de definio
(INF-UFRGS)

Recurso
Definir algo em termos de si prprio.
Porm, no uma definio desorganizada.
Uma definio recursiva tem 3 partes:
(1)Base
(2)Passo
(3)Clusula de excluso
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Naturais
O conjunto dos nmeros naturais pode ser definido
pela 3 regras a seguir:
R1. 1 2 N

R2. Se n 2 N , o sucessor de n pertence a N


1

R3. Somente elementos obtidos a partir das


regras R1 e R2 pertencem a N1

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Naturais
O conjunto dos nmeros naturais pode ser definido
pela 3 regras a seguir:
R1. 1 2 N

BASE

R2. Se n 2 N , o sucessor de n pertence a N


1

R3. Somente elementos obtidos a partir das


regras R1 e R2 pertencem a N1

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Naturais
O conjunto dos nmeros naturais pode ser definido
pela 3 regras a seguir:
R1. 1 2 N

R2. Se n 2 N , o sucessor de n pertence a N


1

PASSO

R3. Somente elementos obtidos a partir das


regras R1 e R2 pertencem a N1

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Naturais
O conjunto dos nmeros naturais pode ser definido
pela 3 regras a seguir:
R1. 1 2 N

R2. Se n 2 N , o sucessor de n pertence a N


1

R3. Somente elementos obtidos a partir das


regras R1 e R2 pertencem a N1

EXCLUSO
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Naturais

1
CMP601 - Algoritmos e Teoria da Computao

BASE (regra R1)


(INF-UFRGS)

Conj. Naturais

PASSO (regra R2)

2 o sucessor de 1

1
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Naturais

PASSO (regra R2)

3 o sucessor de 2

2
1
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Naturais
n

4
3
2
1
CMP601 - Algoritmos e Teoria da Computao

PASSO (regra R2)


Usando a regra 2,
conseguimos colocar
qualquer natural
n no conjunto!
Portanto, este um
conjunto infinito!!!
(INF-UFRGS)

Conj. Naturais
...

2.1

3
2
1
CMP601 - Algoritmos e Teoria da Computao

EXCLUSO
(regra R3)

Usando a regra 3,
exclumos do conjunto
elementos que no so
nmeros naturais.
(INF-UFRGS)

Definio Recursiva
Permite descrever conjuntos infinitos
Constri conjuntos estruturados:
existe sempre pelo menos um elemento
mnimo (base)
existe uma relao de ordem (parcial) entre
os elementos do conjunto (dada pelo passo ou passos)
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Definio Recursiva

O fato do conjunto construdo ser estruturado tem muitas


vantagens:
permite sabermos se algum elemento est ou no no
conjunto, sem termos que varrer todo o conjunto;
nos d uma maneira de construir programas que
considerem todos os elementos do conjunto, ou, visto
de outra forma,
nos d uma maneira de provar propriedades dos
elementos do conjunto.

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Definio Recursiva

O fato do conjunto construdo ser estruturado tem muitas


vantagens:
permite sabermos se algum elemento est ou no no
conjunto, sem termos que varrer todo o conjunto;
nos d uma maneira de construir programas que
considerem todos os elementos do conjunto, ou, visto
programas recursivos
de outra forma,
nos d uma maneira de provar propriedades dos
elementos do conjunto.
provas por induo

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Definio Recursiva

O fato do conjunto construdo ser estruturado tem muitas


vantagens:
permite sabermos se algum elemento est ou no no
conjunto, sem termos que varrer todo o conjunto;
nos d uma maneira de construir programas que
considerem todos os elementos do conjunto, ou, visto
programas recursivos
de outra forma,
nos d uma maneira de provar propriedades dos
elementos do conjunto.
provas por induo

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Outro exemplo: Conj. Par


O conjunto dos nmeros pares pode ser definido
pela 3 regras a seguir:

R1. 2 2 P ar
R2. Se n1 2 P ar e n2 2 P ar, ent
ao n1 + n2 2 P ar
R3. Somente elementos obtidos a partir das
regras R1 e R2 pertencem a P ar

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Par

2
CMP601 - Algoritmos e Teoria da Computao

BASE (regra R1)


(INF-UFRGS)

Conj. Par

PASSO (regra R2)

4
4=2+2

2
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Par

PASSO (regra R2)

8
8=4+4

4
4=2+2

2
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Par

8
8=4+4

4
4=2+2

6=4+2

PASSO (regra R2)

2
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. Par
...
8
8=4+4

4
4=2+2

6=4+2

2
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Def. Recursiva

Uma definio recursiva pode ter vrias


bases e vrios passos...

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. AB
O conjunto dos AB definido pela 5 regras a seguir:
R1. a 2 AB
R2. b 2 AB
R3. Se X 2 AB e Y 2 AB, ent
ao XY X 2 AB
R4. Se X 2 AB e Y 2 AB, ent
ao XXY XX 2 AB
R5. Somente elementos obtidos a partir das
regras R1 a R4 pertencem a AB

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Conj. AB
O conjunto dos AB definido pela 5 regras a seguir:
R1. a 2 AB
R2. b 2 AB

BASES

R3. Se X 2 AB e Y 2 AB, ent


ao XY X 2 AB
R4. Se X 2 AB e Y 2 AB, ent
ao XXY XX 2 AB
R5. Somente elementos obtidos a partir das
regras R1 a R4 pertencem a AB

CMP601 - Algoritmos e Teoria da Computao

PASSOS

(INF-UFRGS)

Tcnicas Bsicas de Prova

Provas Condicionais: Para provar que uma


propriedade do tipo Se P ento Q verdade pode-se
(i) Assumir que P verdade.
(ii) Deduzir Q a partir de (i).

Provas por Contradio: Para provar que P verdade


pode-se
(i) Assumir que P verdade (ou seja, P falsa).
(ii) Deduzir falso a partir de (i) (ou seja, chegar a uma
contradio)

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Provar ou Refutar...
(A) Se C1 C2 e a propriedade P vale para C1,
ento P vale para C2.
(B) Se C1 C2 e a propriedade P vale para C2,
ento P vale para C1.
(C) Todo nmero par divisvel por 4.
(D) No existe um nmero mpar que seja divisvel
por 4.

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Provas Usando a
Estrutura do Conjunto

Como provar propriedades dos elementos


de um conjunto infinito construdo usando
recurso?

Por exemplo, como provar a propriedade:


Todos os elementos do conjunto AB
tem um nmero mpar de letras.

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Induo

Uma prova por induo pode ser realizada sobre um


conjunto construdo por recurso.

Para provar que a propriedade P vale para qualquer


elemento de um conjunto C prova-se:
(1) que todas as bases de C possuem a propriedade P;
(2) que todos os passos utilizados para construir novos
elementos de C a partir de elementos j existentes
preservam a propriedade P, ou seja, dados
elementos de C que possuem a propriedade P, utilizandose as operaes definidas nos passos somente se
constri elementos que possuem a propriedade P.

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Induo
Por que provar esses 2 tens suficiente,
se o conjunto infinito?

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Induo
Por que provar esses 2 tens suficiente,
se o conjunto infinito?
Porque qualquer elemento de C ou uma
base ou foi obtido a partir das bases por
sucessivas aplicaes das operaes
definidas nos passos.

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Provando Propriedades...
Todos os elementos do conjunto AB
tem um nmero mpar de letras.
BASES: (regras R1 e R2)
(i) a tem um nmero mpar de letras?
(ii) b tem um nmero mpar de letras?

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Provando Propriedades...
Todos os elementos do conjunto AB
tem um nmero mpar de letras.
BASES: (regras R1 e R2)
(i) a tem um nmero mpar de letras?
Verdadeiro!
(ii) b tem um nmero mpar de letras?
Verdadeiro!

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Provando Propriedades...
PASSOS: (regras R3 e R4)

hiptese de induo
(i) assumindo que X e Y tem um nmero mpar de letras,
XYX tem um nmero mpar de letras?

(ii) assumindo que X e Y tem um nmero mpar de letras,


XXYXX tem um nmero mpar de letras?

CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Provando Propriedades...
PASSOS: (regras R3 e R4)

hiptese de induo
(i) assumindo que X e Y tem um nmero mpar de letras,
XYX tem um nmero mpar de letras?
Verdadeiro!
(ii) assumindo que X e Y tem um nmero mpar de letras,
XXYXX tem um nmero mpar de letras?
Verdadeiro!
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Induo Natural (Matemtica)


Induo sobre o conjunto dos nmeros naturais.
R1. 1 2 N1
R2. Se n 2 N1 , o sucessor de n pertence a N1
R3. Somente elementos obtidos a partir das
regras R1 e R2 pertencem a N1

Obs:
+ Pode-se usar o conjunto dos naturais iniciando no zero (
+ um caso especial de induo estrutural.
CMP601 - Algoritmos e Teoria da Computao

).

(INF-UFRGS)

Exerccios
n
X

n(n + 1)
i=
1. Prove que
2
i=1

2. Dadas as funes f,g:


f (n) =

5
f (n

1) + 3

abaixo, prove que f = g.


se n = 0
caso contr
ario

g(n) = 5 + 3n

3. Considere o conjunto L (de listas de nmeros) definido por


R1. empty L.
R2. Se n e l L, ento nl L.
R3. Nada mais pertence a L.
Prove que a soma dos elementos de uma lista de L maior ou igual ao
seu tamanho.
4. Considerando a incluso da regra a seguir na definio de L, prove que o
nmero de *s (asteriscos) em listas no vazias de L sempre par.
R2,5. Se l L, ento **l L.
CMP601 - Algoritmos e Teoria da Computao

(INF-UFRGS)

Das könnte Ihnen auch gefallen