Você está na página 1de 397

Programa de Apoio Produo de Material Didtico

Aparecida Francisco da Silva


Clotilzio Moreira dos Santos

ASPECTOS FORMAIS DA COMPUTAO

So Paulo
2009

Pr-Reitoria de Graduao, Universidade Estadual Paulista, 2009.

S586a

Silva, Aparecida Francisco da


Aspectos formais da computao / Aparecida Francisco
da Silva [e] Clotilzio Moreira dos Santos . So Paulo :
Cultura Acadmica : Universidade Estadual Paulista, PrReitoria de Graduao, 2009
395 p.
ISBN 978-85-98605-88-3
1. Computabilidade. 2. Matemtica de computador.
3. Relaes binrias. I. Santos, Clotilzio Moreira dos. II.
Ttulo.
CDD 004.0151

Ficha catalogrfica elaborada pela Coordenadoria Geral de Bibliotecas da Unesp

Universidade Estadual Paulista


Reitor
Herman Jacobus Cornelis Voorwald

Vice-Reitor
Julio Cezar Durigan

Chefe de Gabinete
Carlos Antonio Gamero

Pr-Reitora de Graduao
Sheila Zambello de Pinho

Pr-Reitora de Ps-Graduao
Marilza Vieira Cunha Rudge

Pr-Reitora de Pesquisa
Maria Jos Soares Mendes Giannini

Pr-Reitora de Extenso Universitria


Maria Amlia Mximo de Arajo

Pr-Reitor de Administrao
Ricardo Samih Georges Abi Rached

Secretria Geral
Maria Dalva Silva Pagotto

Cultura Acadmica Editora


Praa da S, 108 - Centro
CEP: 01001-900 - So Paulo-SP
Telefone: (11) 3242-7171

APOIO
FUNDAO EDITORA DA UNESP
CGB - COORDENADORIA GERAL DE BIBLIOTECAS

COMISSO EXECUTIVA
Elizabeth Berwerth Stucchi
Jos Roberto Corra Saglietti
Klaus Schlnzen Junior
Leonor Maria Tanuri

APOIO TCNICO
Ivonette de Mattos
Jos Welington Gonalves Vieira

PROJETO GRFICO

PROGRAMA DE APOIO
PRODUO DE MATERIAL DIDTICO

Considerando a importncia da produo de


material didtico-pedaggico dedicado ao ensino de graduao e
de ps-graduao, a Reitoria da UNESP, por meio da PrReitoria
de Graduao (PROGRAD) e em parceria com a Fundao Editora
UNESP (FEU), mantm o Programa de Apoio Produo de Material
Didtico de Docentes da UNESP, que contempla textos de apoio s
aulas, material audiovisual, homepages, softwares, material artstico
e outras mdias, sob o selo CULTURA ACADMICA da Editora da
UNESP, disponibilizando aos alunos material didtico de qualidade
com baixo custo e editado sob demanda.
Assim, com satisfao que colocamos disposio
da comunidade acadmica mais esta obra, Aspectos Formais
da Computao, de autoria dos Professores Dra. Aparecida
Francisco da Silva e Dr. Clotilzio Moreira dos Santos, do Instituto
de Biocincias, Letras e Cincias Exatas do Cmpus de So Jos
do Rio Preto, esperando que ela traga contribuio no apenas para
estudantes da UNESP, mas para todos aqueles interessados no assunto
abordado.

Dedicat
oria

Ao Felipe (AFS)
` Rita e Isabela (CMS),
A
dedicamos.

Pref
acio
Este livro nasceu de notas de aulas para o curso de Bacharelado em
JOSE
DO RIO
Ciencias da Computacao do IBILCE-UNESP-SAO
PRETO. O que motivou sua escrita foi que os livros em lngua portuguesa que se encontram no mercado sobre o assunto sao escassos
e com uma linguagem pouca voltada `as ciencias da computacao.
Especicamente, o seu conte
udo e o programa da disciplina Aspectos Formais de Computacao, ministrada hoje com 60 h semestrais para os alunos ingressantes. Destacamos que muitos exerccios e alguns aspectos apresentados sao devidos ao complemento da
disciplina no seu formato original que abordava computabilidade de
funcoes.
No livro sao apresentados temas introdut
orios de logica classica, aritmetica dos n
umeros inteiros e um pouco de estruturas
algebricas: relacoes e algebra booleana, necessarias e voltadas `as
ciencias da computacao. Os temas foram desenvolvidos como fundamentacao inicial, de modo mais auto-suciente e acessvel possvel, de forma que qualquer aluno ingressante no ensino superior
possa ler o livro e entende-lo sem diculdades.
O captulo um trata da l
ogica classica, basicamente das leis do
calculo proposicional e os metodos de prova, muito u
til `as ciencias
da computacao. O captulo dois, sobre aritmetica dos n
umeros
inteiros, e assunto classico e nao poderamos deixar de escrever
alguma coisa sobre ele, pois trata de fundamentacao. Aproveitamos para fazer aplicacoes simples em Criptograa e representacoes
de n
umeros em diferentes bases, especialmente as bases 2, 4, 8,
16 bastante u
teis nas ciencias da computacao. A fundamentacao

da linguagem matematica voltada para a computacao continua no


captulo tres, onde desenvolvemos a linguagem inicial da teoria dos
conjuntos. Segue um captulo sobre relacoes, onde comecamos a
estruturacao de conjuntos. Neste ponto desenvolvemos as importantes relacoes de equivalencia, de ordem e funcoes. No caso de
funcoes, exibimos aquelas que sao importantes dentro da teoria,
devido a sua forte ocorrencia, em vez de seguir um caminho mais
tradicional voltado aos cursos de matematica. No captulo cinco,
sobre operacoes, apresentamos o anel de inteiro modulo m, especialmente quando m e uma potencia de dois, para explorarmos
a aritmetica binaria truncada m
odulo m. A seguir, desenvolvemos a teoria inicial de aneis e algebras de Boole, e exploramos
a relacao que estas estruturas tem com o conjunto das proposicoes
e aritmetica binaria. Terminamos o captulo cinco associando as
algebras de Boole com circuitos, como tem sido nossa preocupacao
deste o incio. Conclumos o livro com um captulo sobre computabilidade de funcoes, onde exploramos o conceito de enumerabilidade aplicado nas m
aquinas de Turing e a tese de Church.
Seguem-se as nocoes iniciais de funcoes recursivas primitivas, onde
sao exibidos varios exemplos.
Os captulos um, dois e tres sao auto-sucientes e as nocoes
de logica vistas no captulo um sub-jaz a todos eles. Os captulos
um e tres sao fortemente usados no captulo quatro. A menos de
nocoes de funcoes e divisibilidade, o captulo seis e auto-suciente.
Segundo gostaramos que o livro fosse, faltou um pouco de teoria
de grupos, grafos e contagem, assim como monoides, semi-grupos
e reticulados, o que, talvez, sera includo nas pr
oximas edicoes. No
entanto, achamos que e material suciente para um curso de 60 h
como se apresenta hoje.
Esperamos que o livro seja u
til em dois aspectos: o primeiro,
que atenda completamente os alunos ingressantes em ciencias da
computacao, pois foi para eles que o livro foi inicialmente escrito;
o segundo, que o aluno quebreuma estrutura mental criada nos
cursos pre-vestibulares, ou cursinhos, caracterizada por perguntas
e respostas imediatas. Para isto procuramos escrever o livro em
uma linguagem suave, desenvolvemos a teoria com bastante exemplos e muitos exerccios com diferentes nveis de diculdades no

nal de cada t
opico. Em geral, quando n
ao se trata de vericacao,
sao dadas a maioria das respostas dos exerccios, ate o captulo
quatro. As respostas dos exerccios dos outros captulos cam para
uma proxima edicao. Outro ponto com que nos preocupamos foi
escrever o livro em uma diculdade crescente do primeiro para o
u
ltimo captulo. Finalmente, esperamos que o leitor aprecie a proposta apresentada e agradecemos ao Prof. Dr. Claudio Aguinaldo
Buzzi pela prestimosa colaboracao na utilizacao dos comandos do
latex. Tambem estamos abertos a crticas e sugestoes do leitor, e a
possveis correcoes de erros que podem ser encontrados.
IBILCE/UNESP, S
ao Jose do Rio Preto, dezembro de 2009.
Os Autores.

Sum
ario

1 LOGICA
1.1 Introducao . . . . . . . . . . . . . . . . . . . . . .
1.2 Calculo Proposicional . . . . . . . . . . . . . . .
1.3 Equivalencia e Implicacao Logica . . . . . . . . .
1.4 Predicados, Sentencas Abertas e Quanticadores
1.5 Metodos de Prova . . . . . . . . . . . . . . . . .
1.5.1 Argumentos e Regras de Inferencia . . . .
1.5.2 Regras de Inferencia para Proposicoes
Quanticadas . . . . . . . . . . . . . . . .
1.5.3 Metodos de Demonstracao de Teoremas .

17
.
.
.
.
.
.

.
.
.
.
.
.

17
20
31
37
43
43

. . 56
. . 58

2 ARITMETICA
DOS NUMEROS
INTEIROS
2.1 Inducao . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 M
ultiplos e Divisores . . . . . . . . . . . . . . . . . .
2.2.1 N
umeros Primos . . . . . . . . . . . . . . . .
2.2.2 Maximo Divisor Comum (mdc). . . . . . . . .
2.3 Teorema Fundamental da Aritmetica . . . . . . . . .
2.4 Congruencia . . . . . . . . . . . . . . . . . . . . . . .
2.5 Aplicacoes da Aritmetica . . . . . . . . . . . . . . .
2.5.1 (I) Criptograa . . . . . . . . . . . . . . . .
2.5.2 (II) Representacao de N
umeros em Bases e
as Quatro Operacoes Basicas . . . . . . . . .

79
80
86
87
90
95
98
100
100
103

3 CONJUNTOS
121
3.1 Diagrama de Venn-Euler . . . . . . . . . . . . . . . . 126
3.2 Operacoes entre Conjuntos . . . . . . . . . . . . . . 126

3.2.1
3.2.2
3.2.3
3.3
3.4
3.5

Reuniao ou Uniao de Conjuntos . . . . . . . .


Intersecao de Conjuntos . . . . . . . . . . . .
Diferenca de Dois Conjuntos e Conjunto Complementar . . . . . . . . . . . . . . . . . . . .
N
umero de Elementos de um Conjunto . . . . . . . .
Produto Cartesiano e Gr
acos . . . . . . . . . . . . .
Representacao Computacional de Conjuntos . . . . .

126
128
130
135
136
138

OES
4 RELAC
4.1 Relacoes . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Representacoes . . . . . . . . . . . . . . . .
4.1.2 Coment
arios e Observacoes . . . . . . . . .
4.1.3 Domnio e Imagem . . . . . . . . . . . . . .
4.1.4 Inversa de uma Relacao . . . . . . . . . . .
4.1.5 Composicao de Relacoes . . . . . . . . . . .
4.1.6 Propriedades de Relacoes Sobre Conjuntos .
4.2 Relacao de Equivalencia . . . . . . . . . . . . . . .
4.3 Relacoes de Ordens - Conjuntos Ordenados . . . .
4.3.1 Diagrama de Hasse . . . . . . . . . . . . . .
4.3.2 Elementos Especiais de Conjuntos
Parcialmente Ordenados . . . . . . . . . . .
4.4 Funcoes ou Aplicacoes . . . . . . . . . . . . . . . .
4.4.1 Imagem Direta e Imagem Inversa . . . . . .
4.4.2 Restricao e Prolongamento de Funcoes . . .
4.4.3 Funcoes Injetoras e Sobrejetoras . . . . . .
4.4.4 Funcao Inversa . . . . . . . . . . . . . . . .
4.4.5 Composicao de Funcoes . . . . . . . . . . .
4.4.6 Algumas Funcoes Importantes: . . . . . . .

.
.
.
.
.
.
.
.
.
.

145
145
147
149
150
151
155
163
171
175

.
.
.
.
.
.
.
.

177
185
187
188
189
191
193
198

5 ANEIS
E ALGEBRAS
DE BOOLE
5.1 Operacoes . . . . . . . . . . . . . . . .
5.1.1 Tabela de uma Operacao . . .
5.2 Aneis . . . . . . . . . . . . . . . . . .
5.2.1 O Anel de Inteiros M
odulo m .
5.2.2 Aritmetica Binaria Modulo 2n
5.3 Aneis Booleanos . . . . . . . . . . . .

5.4 Algebras
Booleanas . . . . . . . . . . .

.
.
.
.
.
.
.

145

213
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

213
221
223
225
233
240
244

5.5

5.4.1 Ordens . . . . . . . . . . . . . . . . . . . . .

Algebras
das Funcoes Booleanas . . . . . . . . . . .
5.5.1 As Formas Canonicas . . . . . . . . . . . . .

5.5.2 Algebra
das Funcoes Booleanas . . . . . . . .
5.5.3 Representacao de Funcoes Booleanas por Circuitos . . . . . . . . . . . . . . . . . . . . . .
5.5.4 Simplicacao e Mapas de Veitch-Karnaugh .

248
256
258
267
271
274

OES
DE COMPUTABILIDADE
293
6 NOC
6.1 Enumerabilidade e Cardinalidade . . . . . . . . . . . 293
6.1.1 Aleph Zero e Conjuntos Cont
aveis . . . . . . 294
6.1.2 O Contnuo e Outros N
umeros Cardinais . . 300
6.2 Algoritmos e Maquinas de Turing . . . . . . . . . . . 305
6.2.1 Nocoes de Maquinas de Turing . . . . . . . . 308
6.2.2 Enumeracao das Maquinas de Turing . . . . . 322
6.3 Funcoes computaveis . . . . . . . . . . . . . . . . . . 330
6.3.1 Funcoes MRI Computaveis . . . . . . . . . . 336
6.3.2 Gerando Funcoes Computaveis . . . . . . . . 343
6.3.3 Funcoes Recursivas Primitivas . . . . . . . . 351
6.3.4 Minimizacao Limitada e Codicacao Por
Primos . . . . . . . . . . . . . . . . . . . . . . 358
6.3.5 A Funcao de Ackermann e a Complexidade
das F.R.P. . . . . . . . . . . . . . . . . . . . . 363
RESPOSTAS DE ALGUNS EXERC
ICIOS

371

ALGUNS PARADOXOS EM MATEMATICA

387

BIBLIOGRAFIA

393

SOBRE OS AUTORES

395

Captulo 1

LOGICA

1.1

Introdu
c
ao

Segundo Pierce, mais de uma centena de denicoes ja foram propostas para responder a questao, o que e logica?. Mas, para ele,
a principal funcao da logica e a classicacao das argumentacoes, de
modo que se possa separar as boasdas mas. Logica seria (ou
e), ent
ao, o estudo e a analise de metodos e princpios empregados
para distinguir boas (corretas) e m
as (incorretas) argumentacoes.
Lembramos que os argumentos sao, via de regra, elaborados com
o to de convencer, e esta e, realmente, uma de suas mais importantes e legtimas funcoes. Indivduos diferentes formulam cada
enunciado com metodos diferentes, como adivinhar ou sonhar, e
ent
ao vem com o problema de convencer os demais (por vezes eles
pr
oprios) da veracidade do palpite.
Alem dos metodos inspiracionais e pessoais, como usam os artistas e os msticos, tres outros metodos sao conhecidos.
O primeiro, embora seja b
arbaro, e muito empregado pela humanidade. Consiste em dizer O enunciado tal e verdadeiro porque
o chefe (ou o uso, ou o governo, etc.) diz que e, e os descrentes
sao convencidospor algum tipo de forca. Este metodo tem uma
desvantagem a longo prazo, porque pode bem acontecer que um
grande projeto baseado em princpios impostos por um chefe saia
errado, com grande desperdcio de tempo e dinheiro. A hist
oria
esta repleta de exemplos.

Aspectos Formais da Computa


c
ao

18

Dois outros metodos sao conhecidos: um deles e o metodo indutivo das ciencias naturais. Aplicando esse metodo ao famoso
Teorema de Pitagoras para um tri
angulo ABC com angulo reto
2
2
2
em B, temos AC = AB + BC , poderamos argumentar assim:
o enunciado foi vericado dentro dos limites de erro experimental, pelo exame de uma grande amostra de triangulos. Portanto,
acreditamos que o mesmo seja verdadeiro, ate encontrarmos um
contra-exemplo, quando ent
ao modicaremos nossas crencas, de
acordo com esse fato. Mas, neste caso, nao podemos ter certeza de
que o enunciado n
ao deva ser
2

AC = AB + BC + (t t1 )(t t2 ) . . . (t tn )
onde t e o tempo agora e ti sao os tempos de vericacoes ante2
2
2
riores, ou ainda, AC = AB + BC + d com d = 0, uma constante
pequena demais para ser detectado experimentalmente.
Poderamos argumentar que a primeira armacao e valida por SIMque e mais simples, baseando-se em que A NATUREZA E
PLES. Mas, isto introduz uma hip
otese nao provada (embora u
til,
e a historia da humanidade apresenta muitos exemplos em que o
que e complexopara uma geracao e simples para a seguinte).
A descoberta do terceiro metodo, aparentemente, foi um feito
peculiar da civilizacao grega. Recordando o problema: achar um
modo pelo qual o indivduo A pode fazer uma armac
ao k e tela aceita por um outro indivduo B, que talvez no incio esteja
descrente.
O metodo encontrado pelos gregos, e usado com bastante sucesso
no estudo da geometria, consiste em formular um conjunto imparcial de regras, pelo qual B ouve o argumento de A em apoio
a k e concorda em deixar A continuar em cada estagio do argumento, se certas condicoes estiverem satisfeitas. Se A satisfaz a essas condicoes em cada estagio do argumento, ate que o argumento
esteja completo, entao B concorda em se convencer.
Segundo este metodo, sao apresentados certos axiomas e denicoes cujo objetivo e limitar a argumentacao de modo que, para se
estabelecer qualquer proposicao, pode-se partir dos axiomas (que
sao pensados como expressando verdades que nenhuma pessoa sa

L
ogica

19

de esprito pode negar). Assim, um argumento em prol de uma


armacao k e verdadeiro se o argumento usa apenas as regras
l
ogicas admitidas e apela apenas para os axiomas ou para as proposicoes previamente estabelecidas pelo mesmo metodo.
Como ja armamos, os argumentos sao, via de regra, elaborados
com o intuito de convencer, e esta e uma de suas mais importantes
tarefas, mas a logica nao se interessa pelo poder de persuasao que
os argumentos possam ter. Ha argumentos logicamente incorretos
que convencem e argumentos logicamente impecaveis que nao tem
nenhum poder de persuas
ao. O que a logica procura e estudar os
tipos de relacoes que possam existir entre a evidencia e a conclusao,
ou seja, responder `as seguintes questoes:
(a) supondo verdadeiras as premissas, a conclusao deve ser verdadeira?
(b) as premissas constituem evidencia para a conclusao?
(c) as premissas sao, realmente, evidencia para esta conclusao?
Considerando-se que a legitimidade independe do conte
udo das
assercoes que compoem os argumentos, e muito mais facil analisalos escrevendo-os em uma notacao simbolica apropriada, de modo
por
que questoes de conte
udosejam afastadas de consideracao. E
isso que a logica usa o simbolismo (da matematica, em particular),
criando uma linguagem pr
opria e adequada. Letras substituem sentencas comuns e smbolos especiais sao introduzidos com o objetivo
de formular os argumentos em toda a sua nudez.
Observe as expressoes a seguir:
Bom dia!
Que horas sao?
Est
a chovendo.
Nao vou correr.
Se Joao ler a carta, ele se sentira infeliz.
` segundas vou `a escola e `as sextas ao cinema.
As
Vou a Miami ou ao Caribe.
Puxa vida!
Leia isso.

(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)

Ha algumas sentencas para as quais nao faz sentido dizer se

20

Aspectos Formais da Computa


c
ao

sao falsas ou nao, e ha outras para as quais (em determinadas


circunstancias) isto e possvel.
Vejamos, sobre (1), (2), (8) e (9) nada podemos armar sobre
verdade ou falsidade. As demais, se soubermos o suciente sobre
as circunstancias, podem ser classicadas em falsas ou verdadeiras.
Essas sao as sentencas que vao nos interessar daqui para a frente,
as quais chamaremos de proposicao. Mais precisamente:
Deni
c
ao 1.1 Uma Proposic
ao ou sentenca e qualquer oracao
declarativa (falada ou escrita) que pode ser classicada como verdadeira (V) ou falsa (F), mas n
ao ambas.
Observe que, ao atribuirmos valor-verdade a uma sentenca ou
proposicao, estamos adotando os seguintes princpios:
(I) Princpio da n
ao contradic
ao: uma proposicao nao pode ser
verdadeira e falsa ao mesmo tempo.
(II) Princpio do terceiro excludo: toda proposicao, ou e verdadeira, ou e falsa, isto e, verica-se sempre um destes casos e
nunca um terceiro.
Estes sao os princpios da logica classica que nos nortearam na
apresentacao a seguir:

1.2

C
alculo Proposicional

Deni
c
ao 1.2 Uma proposicao e dita simples ou at
omica se ela
nao contem outra proposicao como parte integrante de si mesma.
Caso contrario, a proposicao e dita composta.
Segundo as denicoes anteriores, as oracoes A Terra e esfericae A caneta n
ao est
a sobre a mesasao proposicoes simples e
Hoje est
a chovendo e eu estou estudandoe uma composta, pois
contem as proposicoes Hoje est
a chovendoe Eu estou estudando.
Para obtermos proposicoes compostas, em geral, fazemos uso
dos conectivos. A seguir apresentamos os conectivos, os smbolos
usados para represent
a-los e a negacao:

L
ogica

21

e
ou
ou (exclusivo)
se entao
se, e somente se
nao

Smbolo Utilizado
ou &
ou +

ou

Estudaremos os valores-verdade da negacao de uma proposicao


e de proposicoes compostas obtidas usando-se cada um dos conectivos.
1. Nega
c
ao (n
ao)
Negamos a verdade de uma proposicao armando sua negacao.
Por exemplo, a negacao da proposicao Est
a chovendoe N
ao est
a
chovendo. Em geral, a negacao de uma proposicao simples e facil.
No entanto, a negacao de uma proposicao composta nem sempre e
f
acil. Vejamos:
Considere a proposicao se chover, n
ao sairei de casa.
Podemos nega-la da seguinte maneira:
N
ao e verdade que, se chover, n
ao sairei de casa
ou
falso que, se chover, n
E
ao sairei de casa.
Nao importando qual a forma utilizada para a negacao de uma
proposicao (seja ela simples ou composta), temos sempre o mesmo
signicado:
A negac
ao de uma proposic
ao verdadeira e falsa, e a negac
ao
de uma proposic
ao falsa e verdadeira.
Usando p para a proposicao em questao, p sua negacao, V
para verdadeiro e F para falso, podemos resumir a informacao anterior na seguinte tabela:


 p p 


 V
F 


 F V 

22

Aspectos Formais da Computa


c
ao

Exerccio (a): Negar as seguintes proposicoes:


(a) 2 + 3 = 5
(b) 7 < 3
(c) Roma e capital da Franca.
(d) Todos os homens sao bons.
(e) Algumas mulheres sao inteligentes.
2. Conjun
c
ao
Observe a sentenca: Estou cansado e com sono. Podemos
decompo-la em duas:
p : estou cansado

q : estou com sono

e representa-la por p q ou p&q ou p.q.


O valor-verdade de p q e o mesmo do linguajar corrente, ou
seja, p q e verdadeira se, e somente se, ambas, p e q, forem
verdadeiras.
O valor-verdade de p q depende, ent
ao, dos valores-verdade da
proposicoes p e q. Esses valores-verdade podem ser combinados de
quatro formas diferentes. Essas combinacoes, bem como o resultado, podem ser resumidos numa tabela, chamada tabela-verdade,
onde sao apresentadas todas as possveis combinacoes de valoresverdade de p e q, distribudos da seguinte forma: na primeira coluna
indicamos os valores-verdade para p, na segunda os valores-verdade
para q e na terceira os valores-verdade de p q em funcao dos
valores-verdade de p e q.











p
V
V
F
F

q
V
F
V
F

pq
V
F
F
F












Exerccio (b): De os valores-verdade das seguintes proposicoes:


(a) A neve e branca, e 2 < 5.
(b) O sal e verde, e 7 e um n
umero primo.

L
ogica

23

(c) > 4, e sin(/2) = 0.


(d) Paris e capital da Franca, e 9 4 = 5.
3. Disjun
c
ao
Na linguagem coloquial, a palavra outem dois sentidos. Veja
os exemplos:
(1) Carlos e medico ou professor.
(2) Mario e alagoano ou ga
ucho.
Na proposicao (1) estamos indicando que pelo menos uma das
armacoes (Carlos e medico, Carlos e professor) e verdadeira,
podendo serem ambas verdadeiras: Carlos e medico e professor.
Mas a proposicao (2) esta indicando que apenas uma das armacoes
(M
ario e alagoano, M
ario e ga
ucho) e verdadeira, n
ao podendo
ocorrer ambas simultaneamente.
No primeiro caso dizemos que ou e inclusivo, enquanto que,
no segundo, ou e exclusivo.
Usamos o smbolo para ou inclusivo e para ou exclusivo.
Os valores-verdade das disjuncoes sao dados por:
A disjunc
ao inclusiva de duas orac
oes e verdadeira desde que
uma delas o seja, e a disjunc
ao exclusiva de duas proposic
oes e
verdadeira desde que uma, e apenas uma, o seja.
Resumindo, em tabelas-verdade, temos:











p
V
V
F
F

q
V
F
V
F

pq
V
V
V
F























p
V
V
F
F

q
V
F
V
F

pq
F
V
V
F












Para destacar o ou exclusivo podemos escrever ou ... ou...,


por exemplo ou Carlos e medico ou Carlos e professor ou Mario
e alogoano ou Mario e gaucho.

Aspectos Formais da Computa


c
ao

24
4. Condicional ()

Usamos os termos se ent


aopara obter uma proposicao composta chamada condicional. No sentido da linguagem comum, e
difcil precisar em quais circunstancias a maior parte das pessoas
aceita como verdadeira uma proposicao condicional. Considere o
exemplo:
Se Jo
ao andou r
apido,
(1)

ent
ao Jo
ao chegou cedo em casa
(2)

Se a armacao (1) e verdadeira e a segunda e falsa, quase todos


concordam que a condicional e falsa. Da mesma forma que, se ambas as armacoes forem verdadeiras, quase todos concordam que a
sentenca composta e verdadeira. As duas possibilidades discutidas
sao as u
nicas que, em geral, sao levantadas no dia-a-dia. No entanto, existem mais duas possibilidades. Suponha que a proposicao
Se Jo
ao andou r
apido seja falsa. O que podemos armar da
proposicao composta se a proposicao Jo
ao chegou cedo em casa
for falsa? E se for verdadeira? A linguagem comum n
ao tem uma
solucaopara esta indagacao, mas, para efeito de analise do valorverdade, assumiremos que, se p for falsa, ent
ao se p ent
ao q e
verdadeira.
Os valores-verdade da proposicao condicional p q, em funcao
dos valores-verdade de p e q podem, ent
ao, ser resumidos da seguinte
forma:











p
V
V
F
F

q
V
F
V
F

pq
V
F
V
V












Nota (1) A construcao se ent


ao , muito usada em linguagem de programacao, e diferente da construcao se ent
ao
usada em logica. De fato, muitos casos de programacao contem

L
ogica

25

proposicoes se p ent
ao S, onde p e uma proposicao e S e um
programa (uma ou mais proposicoes) a ser executado. Quando se
executa o programa todo e se encontra uma tal proposicao p S,
ent
ao S e executado se p for verdadeiro, e S n
ao e executado se p
for falso.
Outras maneiras de ler p q sao:
p e condicao suciente para q
q e condicao necessaria para p
p somente se q
q se p
q sempre que p.
Assim Se Jo
ao e Paulista, ent
ao Jo
ao e Brasileiro.
Podemos escrever, tambem: Uma condica
o necess
aria para que
Jo
ao seja Paulista e que ele seja Brasileiro, ou ainda, Uma
condic
ao suciente para Jo
ao ser Brasileiro e Jo
ao ser Paulista.
5. Bicondicional
Usamos a expressao se, e somente separa formar a proposicao bicondicional. A proposicao composta p q e verdadeira
desde que p e q tenham o mesmo valor-verdade. Resumindo em
tabela-verdade temos:











p
V
V
F
F

q
V
F
V
F

pq
V
F
F
V












Os conectivos logicos sao muito usados em pesquisas ou busca


de termos em grande colecao de informacoes, como e o caso das
p
aginas da Web. Como estas buscas empregam tecnica da logica
de proposicao, elas sao chamadas de pesquisa (ou busca) booleana.
Na busca booleana, o conectivo e e usado para juntar dois termos
que se quer na pesquisa, e o conectivo ou e usado para trazer um
dos termos ou ambos quando eles sao encontrados. O conectivo

26

Aspectos Formais da Computa


c
ao

n
ao (ou e n
ao) serve para excluir, na busca, o termo em questao
quando ele e encontrado.
Por exemplo, suponhamos que queremos buscar p
aginas da Web
que contenha o termo Universidade de Mato Grosso. No espaco
proprio, entramos com: Universidade + Mato + Grosso. Com o
comando enter, serao exibidos todas as paginas que se encontram
na Web que contenham o termo Universidade de Mato Grosso,
inclusive Universidade de Mato Grosso do Sul. Caso n
ao interessa as universidades de Mato Grosso do Sul, basta entrar com o
termo: (Universidade + Mato + Grosso) + Sul, onde + e o
conectivo e, e e o conectivo n
ao.
Deni
c
ao 1.3 Tautologia e uma proposicao composta T sempre
verdadeira, quaisquer que sejam os valores-verdade das proposicoes
atomicas que a compoem. Em outras palavras, a coluna de T em
sua tabela-verdade contem apenas vs.
Exemplo 1.4 p p e sempre verdadeira, independentemente do
valor-verdade de p.


 p p p p 



 V
F
V



 F V
V
Deni
c
ao 1.5 Contradica
o e uma proposicao composta C, cujo
valor-verdade e falso, quaisquer que sejam os valores-verdade das
proposicoes atomicas que a compoem.

 p

 V

 F

p p p
F
F
V
F








Claro que T e uma contradicao e C e uma tautologia.


Deni
c
ao 1.6 Toda proposicao, que nao seja uma tautologia nem
contradicao, e dita indeterminada ou contingencia. Assim, a tabelaverdade de uma contingencia admite, em sua coluna nal, valores
falsos e tambem verdadeiros.

L
ogica

27

Observa
c
ao 1.7 Se uma proposicao e composta de outras n
proposicoes simples, entao sua tabela-verdade tem 2n linhas.
Assim, precisaremos da ajuda de um computador para vericar se uma proposicao composta constituda de 20 (vinte) proposicoes atomicas e uma tautologia. De fato, tal proposicao possui
220 = 1.048.576 linhas. Um computador atual leva pelo menos
um trilh
ao de anos para fazer a tabela-verdade de uma proposicao
composta constituda de mil proposicoes atomicas. Esta tabelaumero com 300 decimais) combinacoes
verdade tera 21000 (um n
possveis de valores-verdade. Pelo que conhecemos ate hoje, nao se
conhece um metodo efetivo de calculo. Este tipo de problema esta
inserido na teoria de complexidade de algoritmos.

A Questao do Parenteses
Proposicoes compostas que envolvem varios smbolos logicos
podem ter signicados ambguos. Por exemplo, as proposicoes (
p) q e (p q) nao tem sempre o mesmo valor-verdade e,
portanto, n
ao podem, de alguma forma, ser equivalentes. Por isto
e necessario o uso de parenteses na expressao p q, a menos
que se dena qual das duas expressoes acima e representada pela
expressao pq. Neste caso, e em qualquer outro, sera considerado
que a negacao tem preferencia sobre todos os outros smbolos. Por
exemplo, p q signicara a conjuncao ( p) q e nao a negacao
(p q). Por p q entende-se o condicional ( p) q e nao a
negacao (p q), etc.
Em outras palavras, de agora em diante a negacao tera preferencia sobre os smbolos logicos , , , , e nenhum
destes smbolos logicos tera preferencia sobre os demais. Portanto,
usaremos parenteses, colchetes ou chaves em expressoes do tipo
p q r, p q r, que tem signicados ambguos. Assim, ou
escreveremos (p q) r, ou p (q r), nunca p q r. Do mesmo
modo, escreveremos, ou bem a conjuncao p (q r), ou bem a
condicional (p q) r, nunca a expressao ambgua p q r.
Como exemplo, vamos escrever a seguinte proposicao,
usando smbolos logicos: Voce n
ao pode acessar a internet no
p
olo computacional se voce n
ao for estudante, a menos que voce

28

Aspectos Formais da Computa


c
ao

trabalhe no p
olo computacional.
Sejam p a proposicao: Voce pode acessar a internet no p
olo
computacional, q: Voce e estudante e r a sentenca: Voce
trabalha no p
olo computacional. Em smbolos ca:
( q r) p.
Apresentamos a seguir dois exemplos dos chamados jogos logicos:
Exemplo (1) Depois de uma chuva, os lhos de Pedro, Jo
ao e
Maria, pedem ao pai para brincar na lama. O pai deixa com a
condicao de que nao voltem sujos para dentro da casa. Quando as
criancas terminam de brincar e voltam para dentro da casa, o pai
nota que pelo menos uma das criancas tem a testa suja e faz a
seguinte colocacao: Pelo menos um de voces tem a testa suja.
Sem olhar no espelho e olhando apenas para a testa do irm
ao,
voces devem responder ao mesmo tempo se a sua testa esta suja ou
nao. As respostas, nesta fase da brincadeira podem ser: Minha
testa est
a suja, Minha testa est
a limpaou N
ao sei. Conhecidas
estas resposta, o pai pergunta novamente para as criancas: Quem
de voces tem a testa suja?Agora, ambas as criancas dao a resposta
exata.
De fato, sendo p e q, respectivamente, as proposicoes: A testa
de Jo
ao est
a suja e a testa de Maria est
a suja, a informacao
dada pelo pai de que pelo menos uma das criancas tem a testa
suja signica que p q e verdadeira. Assim, se Joao olha para
Maria e ve que esta tem a testa limpa, ele sabe que a sua esta
suja e vai responder com certeza: Minha testa est
a sujapara a
primeira pergunta do pai. Caso a testa da Maria estiver suja ele
vai responder N
ao sei`a primeira pergunta do pai, pois sua testa
pode estar suja ou n
ao. O mesmo vale para a resposta da Maria.
Cada crianca, tendo a resposta dada pelo irm
ao (irma) `a primeira
questao, faz a seguinte analise: A resposta da minha irma (do meu
irmao) e N
ao seise minha testa esta suja e se a resposta dada foi:
Minha testa est
a sujae porque a minha testa esta limpa. Com
isto ambas as criancas acertam na segunda tentativa.
Exemplo (2) Vamos analisar os valores-verdade de cada proposicao, no conjunto das seguintes proposicoes: Joao diz o seguinte

L
ogica

29

sobre o carater de Pedro, p: Pedro n


ao mente e Pedro arma o
seguinte, q: Exatamente um de n
os mente.
Se p e verdadeiro ent
ao a sentenca q: Exatamente um de n
os
mentee verdadeira, ou seja, ambas as proposicoes sao verdadeiras.
Mas a proposicao q arma que p ou q e falsa. Uma contradicao,
pois ambas sao verdadeiras. Logo a proposicao p : Pedro n
ao
mentetem que ser falsa. Portanto, Pedro mente e por isso e falsa
a proposicao q : Exatamente um de n
os mente. Como p j
a e falsa,
ent
ao ambas as proposicoes p e q sao falsas.

Exerccios (c)
(1) Quais das seguintes frases representam proposicoes:
(a) O pasto esta amarelo.
(b) Formosas rosas brancas!
(c) O n
umero 5 e primo?
(d) Todas as areas da matematica sao faceis e algumas sao mais
ainda.
(e) De-me o livro.
(2) Sejam p: as ciencias matem
aticas s
ao f
aceise q: 2 e menor
que 3. Escreva em portugues as proposicoes representadas por:
(a) p q
(b) (p q)
(c) p q
(d) p q
(3) Sejam p a proposicao x e n
umero pare q, x e o produto de
dois inteiros. Traduza para a linguagem simb
olica as seguintes
proposicoes:
(a) ou x e um n
umero par ou e o produto de dois inteiros.
(b) x e um n
umero mpar e o produto de dois inteiros.
(c) ou x e par e um produto de dois n
umeros inteiros ou x e mpar
e nao e o produto de dois n
umeros inteiros.
(d) x n
ao e um n
umero par nem o produto de dois n
umeros inteiros.
(4) Escreva em portugues a negacao de cada uma das seguintes

Aspectos Formais da Computa


c
ao

30
proposicoes:

(a) O tempo esta frio e estou cansado.


(b) Ou e desejavel a boa sa
ude, ou fui mal informado.
(c) As laranjas nao sao adequadas para us
a-las em saladas de frutas.
(d) Existe um n
umero real que somado a 6 da como resultado 13.
(5) Decida o valores-verdade das proposicoes compostas a seguir,
sabendo que p e verdadeira e q e r sao falsas.
(a) p
(b) (p q) r
(c) (p q) (q r)
(d) p q

(e) p q
(f ) p (q r)
(g) p (q r)
(h) (p q) ( p q)

(i) [(p q) ( p q)] [( p q) (p q)].


(6) Determine quais das expressoes a seguir sao tautologias,
construindo a tabela-verdade correspondente:
(a) (p q) ( p q)
(b) (p q) ( p)
(c) (p q) ( p q)
(d) (p q)[ p [(q r) ( qr)]]
(e) (p q) ( p q) (p q)
(f) [(p q) (q r)] [p r]
(g) [p (p q)] q
(h) ( p) (p q)
(7) Usando a convencao 1 para tautologia e 0 para contradicao,
. para conectivo e, + para o conectivo ou, e  para a negacao,
demonstre que sao tautologias as seguintes proposicoes:
(a) (p + p) p e (p.p) p.
(b) [(p + q) + r] [p + (q + r)] e [(p.q).r] [p.(q.r)].
(c) (p + q) (q + p) e (p.q) (q.p).
(d) [p + (q.r)] [(p + q).(p + r)] e
[p.(q + r)] [(p.q) + (p.r)].
(e) (p + 0) p e (p.0) 0.
(f) (p.1) p e (p + 1) 1.
(g) (p + p ) 1 e (p.p ) 0.
(h) (p ) p e 0 1.

L
ogica

31

(i) 1 0 e (p + q) (p .q  ).


(j) (p.q) (p + q  ) e [p (p.q)] [p q].
(k) [(p q).(p r)] [p (q.r)] e
[(p q)+(p r)] [p (q+r)].
(l) [p.(q + p)] p e [p + (q.p)] p.
(m) [(p + q) + p] [p + q] e [(p.q).p] (p.q).

1.3

Equival
encia e Implica
c
ao L
ogica

Se as proposicoes P e Q ocorrem em um mesmo contexto denotemos por p1 , . . . , pn todas as proposicoes atomicas que ocorrem em
P ou (inclusivo) em Q. Escreveremos P = P (p1 , . . . , pn ) e Q =
Q(p1 , . . . , pn ). Por exemplo, se P e a proposicao p p e Q : q r,
tambem escrevemos P (p, q, r) : p p e Q(p, q, r) : q r.
Deni
c
ao 1.8 Duas proposicoes P = P (p1 , . . . , pn ) e Q =
Q(p1 , . . . , pn ), n 1, sao logicamente equivalentes se P e Q sempre assumem valores-verdade iguais (ou V ou F ), quaisquer que
sejam os valores-verdade atribudos `as proposicoes p1 , . . . , pn . Em
outras palavras, P e Q sao logicamente equivalentes se, e somente
se, P Q for uma tautologia, ao ainda, as colunas das tabelasverdade de P e Q sao iguais.
Nota
c
ao: P Q ou P Q.
Exemplo 1.9 (p q) ( q p). De fato, denotando na
tabela abaixo p q por A e q p por B para simplicar,
ent
ao a tautologia (p q) ( q p) pode ser vista por
meio da tabela-verdade a seguir:











p
V
V
F
F

q
V
F
V
F

pq q p q
V
F
F
F
V
F
V
F
V
V
V
V

( p) A B
V
V
F
V
V
V
V
V












Aspectos Formais da Computa


c
ao

32

Exemplo 1.10 (p q) (p q), como pode ser observado


na tabela a seguir, onde D e (p q) e E e p q.











p
V
V
F
F

q
V
F
V
F

p q (p q) q p q D E
V
F
F
F
V
F
V
V
V
V
V
F
F
F
V
V
F
V
F
V












Observa
c
ao 1.11 Desde que (p q) e p q sao logicamente
equivalentes, temos uma forma para a negacao de p q. Por
exemplo, ao inves de dizer n
ao e verdade que, se o aluno tirar
media maior ou igual a cinco, ele passa de ano, podemos dizer o
aluno tira media maior ou igual a cinco e n
ao passa de ano.
Teorema 1.12 Para quaisquer proposic
oes p e q tem-se:
p q (p q) (p q) (p q) ( p q).
Demonstracao: Provemos apenas que p q e (p q) (
p q) tem a mesma tabela-verdade. Para simplicar denotaremos
p q por A, p q por B, p q por C e (p q) por D e
apresentaremos em uma mesma tabela-verdade os valores-verdade
de p q, A B, e de C D.











p
V
V
F
F

q
V
F
V
F

p q
F F
F V
V
F
V V

Logo, p q, A B
equivalentes.

p q CD A B
F
F
F
V
V
V
V
V
V
F
F
F

A
F
V
F
F

B
F
F
V
F












e (p q) (p q) sao logicamente


Outras propriedades s
ao dadas no seguinte teorema.

L
ogica

33

Teorema 1.13 Para quaisquer proposic


oes p, q e r, se T e uma
tautologia e C uma contradic
ao, tem-se:
(a) p (q r) (p q) r e p (q r) (p q) r.
(b) p q q p e p q q p.
(c) p q ( p) q e p q (p q) (q p).
(d) (p q) p q e (p q) p q.
(e) (p q) p q.
(f ) (p q) p q p q.
(g) p p T,
e
p p C.
(h) p p,
T C
e
C T.
(i) p p p p p.
(j) p(q r) (pq)(pr) e p(q r) (pq)(pr).
(k) p C p, p C C, p T T e p T p.
O tem (a) e a lei associativa, (b) comutativa, (d) e conhecido como
leis de DeMorgan, (g) e (h) leis complementares, (i) idempotentes,
(j) sao as propriedades distributivas e, (k) s
ao as identidades.
As proposicoes p, q e r podem ser substitudas por proposicoes
compostas P, Q e R.
Demonstracao: Demonstremos apenas p q p q e
(p q) p q, construindo suas tabelas-verdade, como
na demonstracao do Teorema1.12. Os outros tens cam como
exerccio.
p q p q



mesma












p
V
V
F
F

q
V
F
V
F

tabela

p q p q
V
V
F
F
V
V
V
V

p
F
F
V
V

q
V
F
V
F












Aspectos Formais da Computa


c
ao

34
(p q) p q



mesma












p
V
V
F
F

q
V
F
V
F

p q
V
F
F
F


tabela

(p q) p q
F
F
V
V
V
V
V
V


p q 

F F 

F V 

V
F 

V V 


A primeira observacao que fazemos dos Teoremas 1.12 e 1.13


e que estas propriedades iniciais de equivalencia logica podem ser
usadas para construir ou vericar outras equivalencias logicas. A
razao disto e que podemos trocar uma proposicao composta por
outra que e logicamente equivalente a ela sem mudar o valor-verdade
da proposicao composta. Vamos exemplicar esta tecnica que,
muitas vezes, serve para obter uma proposicao mais simples logicamente equivalente `a proposicao composta original. Este processo e
dito simplicaca
o.
Exemplo Mostre que (p q) (p q) e uma tautologia, sem usar
tabela-verdade.
Solucao:
(p q) (p q)
(p q) (p q)
(Prop. do condicional)
( p q) (p q) (Leis de DeMorgan)
( p p) ( q q) (Leis assoc. e comut.)
T T
(Leis complementares)
T
(idempotentes).
A segunda observacao e que, em geral, usamos sentencas logicamente equivalentes para negar determinados tipos de proposicoes compostas. Mais precisamente, usando os tens (c), (d), (h)
e (e), temos formas para a negacao de sentencas compostas. Por
exemplo, a negacao da proposicao: Jo
ao e Paulista ou Paulo e
Carioca e Jo
ao n
ao e Paulista e Paulo n
ao e Carioca, (tem (d)

L
ogica

35

do Teorema 1.13). A negacao da proposicao: Se Jo


ao e Paulista
ent
ao Jo
ao e Brasileiro e Jo
ao e Paulista e Jo
ao n
ao e Brasileiro,
(item (e) do Teorema 1.13).
Finalmente, a u
ltima observacao a fazer sobre as conseq
uencias dos Teoremas 1.12 e 1.13 e que cada formula proposicional ou
proposicao composta e logicamente equivalente a uma proposicao
composta constituda usando apenas os smbolos logicos (negacao), (conjuncao) e (disjuncao). Isto sera tratado em detalhes na secao sobre formas canonicas de funcoes booleanas. Por
exemplo, vamos obter uma proposicao equivalente a (p q)r
usando apenas os smbolos , e .
(p q) r
(p q) r
[(pq)r][(pq)r]
[(pq)r][(pq)r]
[(pq)r][(pq)r]

( Teo. 1.13(e))
(Teo. 1.12)
(Leis de DeMorgan)
(Teo. 1.13(h))

Esta u
ltima expressao e uma das formas canonicas da proposicao composta (p q) r. Veja secao 5 do captulo 5.
Deni
c
ao 1.14 Dizemos que P = P (p1 , . . . , pn ) implica logicamente Q = Q(p1 , . . . , pn ) e denotamos por P = Q se, toda
atribuicao de valores-verdade `a p1 , . . . , pn que tornam P verdadeiro,
tambem tornam Q verdadeiro. Em outras palavras, se a proposicao
composta P Q for uma tautologia.
Exemplo 1.15 p = (p q), pois, como pode ser visto na tabela
a seguir, p (p q) e uma tautologia:











p
V
V
F
F

q
V
F
V
F

p q p (p q)
V
V
V
V
V
V
F
V












Note que nem e preciso fazer a tabela para vericar esta implicacao logica, desde que p q e verdadeira sempre que p o for.

36

Aspectos Formais da Computa


c
ao

Tambem sao muito simples as vericacoes de que p = p,


p q = q.
Como consequencia dos tens (c) e (d) do Teorema 1.13, temos
a seguinte caracterizacao da implicacao logica.
Teorema 1.16 Dadas proposico
es P e Q, s
ao equivalentes
(i) P = Q.
(ii) P Q e uma tautologia,
(iii) P Q e uma contradic
ao.

Exerccios
(1) Demonstre que: (i)
p q q p p q,
(ii)
p q ( p q) (p q).
(2) Prove que o smbolo condicional nao e associativo, ou seja,
prove que [(p q) r]  [p (q r)].
(3) Para proposicoes p e q demonstre que:
(i) (p q) p p q, (ii) (p q) p p q,
(iii) p ( p q) p q e p ( p q) p q.
(4) Verique se: [(p q) (r q) r] = p.
(5) Construa as tabelas-verdade e simplique cada uma das seguintes
proposicoes compostas:
(i) [( p q) (p r)] [(r p) r],
(ii) [p (q r)] [q (p r)],
(iii) {p [q (q (p p)]} {q (r r)}.
(6) Verique se: (a) p = (p q), (b) p = (p q),
(c) (p q) = (p q).
(7) Demonstre as seguintes leis:
(a) (p q) p = q, (b) p q = p,
(c) (p q) q = p,
(d) (i) p (p q) p q, (ii) (p q) q p q,
(iii) p (p q) p e p (p q) p, (prop. Absorcao).
(8) Demonstre a propriedade distributiva a` esquerda de em
relacao a , isto e: [p (q r)] [(p q) (p r)].
(9) Duas operacoes bastante usadas em circuitos logicos sao o
NAND (do ingles, n
ao e) que pode ser denotado e denido por

L
ogica

37

p|q := (p q) e NOR (do ingles, n


ao ou), que pode ser denotado
e denido por p q := (p q).
(i) Use as propriedades ja vistas e faca a tabela para as operacoes
NAND e NOR.
(ii) Com base na tabela construda, reescreva as denicoes.
(10) Complete as demonstracoes dos Teoremas 1.12 e 1.13.

1.4

Predicados, Senten
cas Abertas e Quanticadores

De agora em diante denotaremos por N o conjunto dos n


umeros
umeros inteiros, por Q o conjunto dos
naturais, por Z o dos n
umeros reais. Estes
n
umeros racionais e por R o conjunto dos n
conjuntos serao considerados de conhecimento do leitor bem como
intervalos de n
umeros reais e as relacoes de ordem menor ou
igual() e maior ou igual() denidas sobre estes conjuntos.
Maiores detalhes sobre estes conceitos podem ser vistos em [5].
Func
oes Proposicionais ou Sentencas Abertas sao sentencas que
envolvem pelo menos uma vari
avel. Por exemplo, x > 0, x =
y + 3sao sentencas abertas. Este tipo de sentenca ocorre frequentemente em matematica e em programas de computacao. A
princpio, estas proposicoes nao possuem valores logicos, a menos
que as vari
aveis assumam valores. A variavel x na primeira sentenca
(x e y na segunda sentenca) e dito sujeito da sentenca aberta, e a
propriedade maior que zerona primeira sentenca e dito predicado
da sentenca aberta. Denotemos por P (x) : x > 0 e denotemos
por Q(x, y) a sentenca: x = y + 3.
Em qualquer caso e preciso estabelecer a priori o conjunto U
dos possveis valores que o sujeito (vari
avel) pode assumir. Para
um elemento a do universo U, por P (a) entende-se o predicado P
aplicado em a, enquanto que P (x) e o predicado em um elemento
generico x do universo U. Assim, P (x) e o proprio predicado.
Nota: Em programas de computadores, ocorrem muitas funcoes
proposicionais. Por exemplo, considere a sentenca:
se x 0 ent
ao x := x + 1

38

Aspectos Formais da Computa


c
ao

Quando esta proposicao e encontrada ao executar o programa, o


valor x neste estagio da execucao do programa e colocado em P (x) :
x 0. Se P (x) e verdadeiro para este valor de x, a proposicao
Q(x) : x := x + 1 e executada, e o valor x e substitudo por
x + 1. Se P (x) e falso (ou seja: x < 0), a proposicao Q(x) nao e
executada e o valor x permanece para o que se segue.
Deni
c
ao 1.17 Uma sentenca aberta ou func
ao proposicional sobre um conjunto n
ao vazio U, e uma sentenca que contem variaveis
e que se torna uma proposicao quando substitumos as variaveis
por elementos do conjunto U.
Em smbolos temos:
P (x): senten
ca aberta em U P (a): proposi
c
ao
para todo a U .
Seja P (x) uma sentenca aberta sobre um conjunto n
ao vazio U.
O Conjunto Verdade ou Conjunto Soluc
ao e o subconjunto de U
constitudo pelos elementos a U que tornam P (x) verdadeira.
Notacao: V (P (x)) ou VP .
Assim podemos escrever: VP = {a U | P (a)} e neste caso se le:
VP e o conjunto dos elementos a U tal que P (a) e verdadeira.
Podemos tambem escrever: VP = {x U | P (x)} que se le: VP e o
conjunto dos elementos x U que satisfazem P (x).
ao V (P (x)) =
Exemplo (i) A = R e P (x) : x2 + 2 < 0. Ent
pois nao existe n
umero real x que satisfaca a desigualdade x2 + 2 <
0.
(ii) A = N R e X = (x, y) N R, P(X) = P
(x, y) : x2 +
2
2
2
ao VP = {(0, 2), (0, 2), (1, 3), (1, 3), (2, 0)}
y = 4. Ent
Como vimos, atribuindo valores a`s vari
aveis que guram em
uma sentenca aberta, esta se torna uma proposicao. No entanto,
essa nao e a u
nica forma de transformar uma sentenca aberta em
proposicao. Ha uma outra: fazendo uso dos quanticadores universal e existencial.
A Quanticac
ao Universal de P (x) e a proposicao:

L
ogica

39

Para todos os valores de x no universo de discurso, P (x) e verdadeira.


Notacao: x, P (x) ou x U, P (x).
Note que a proposicao: x, P (x) e verdadeira apenas quando
VP = U.
Exemplo (1) Seja P (x) : x2 x e o universo de discurso
umeros naturais. A proposicao x, P (x)e
o conjunto N dos n
verdadeira, pois, para todo n
umero natural x, e verdadeira a desigualdade: x2 x.
No entanto, se o universo de discurso e o conjunto R dos n
umeros
reais, ent
ao x, P (x) e falso, pois nao e verdade que ( 12 )2 12 .
Isto mostra que o valor-verdade da proposicao x, P (x) pode depender do universo de discurso.
Exemplo (2) Seja U = {1, 2, 3} e P (x) : x2 < 10.
Ent
ao x, P (x) signica: P (1) P (2) P (3).
Exemplo (3) Considere a sentenca: Todo homem e mortal.
O predicado de ser mortal esta denido sobre o conjunto universo U constitudo por todos os homens. Sendo assim, podemos
traduzir: x U, P (x) ou x, P (x).
Deni
c
ao 1.18 A Quanticac
ao Existencial de P (x) e a proposicao
Existe x no universo de discurso tal que P (x) e verdadeira.
Notacao: x, P (x) ou x U, P (x).
Note que a proposicao x, P (x) e verdadeira apenas quando VP
n
ao e vazio.
Exemplo (1) Seja P (x) : x2 x, denida sobre R. Ent
ao:
x, P (x)
signica:
Existe x R tal que x2 x
que e uma sentenca verdadeira, pois P (2) e verdadeira.

Aspectos Formais da Computa


c
ao

40

Exemplo (2) Considere a sentenca aberta Q(x) : x+1 = 7 sobre


o conjunto dos n
umeros inteiros. Por x Z : Q(x)estamos
indicando a proposicao
Existe um inteiro x tal que x + 1 = 7,
que e verdadeira, pois Q(6) e verdadeira.
Dupla Quantica
c
ao
Muitas vezes, em matematica e em outras ciencias, ocorrem
sentencas abertas ou proposicoes com duas ou mais variaveis. Por
exemplo, considere a proposicao: Todos os alunos do Ibilce tem um
computador ou tem um colega (aluno do Ibilce) que tem um computador. Esta proposicao pode ser posta em linguagem matemati
ca como segue. Seja C(x) : x tem um computador e F (x, y) : x
e y s
ao colegas, onde x, y pertencem ao universo de discurso U
constitudos pelos alunos do Ibilce. A sentenca pode ser traduzida
na forma:
x U, [C(x) (y U : C(y) F (x, y))].
Exemplo (1) A proposicao: x Z, y R : x + y = 4 e
lida do seguinte modo: Para todo x em Z, para todo y em R,
x + y = 4, ou ent
ao Para todo n
umero inteiro x e todo n
umero
real y, x + y = 4. Note que esta proposicao e falsa, pois, por
exemplo P (0, 0) e falsa, onde P (x, y) : x + y = 4.
Outro modo de escrever esta proposicao pode ser: (x, y)
Z R : x + y = 4, que pode ser lida do seguinte modo: Para todo
par (x, y) em Z R : x mais y e igual a 4.
Exemplo (2) A leitura da proposicao: x Z, y R : x + y =
4 e: Para todo x em Z (ou para todo inteiro x) existe y em R
(ou existe um n
umero real y), tal que x + y = 4.
Esta proposicao e verdadeira pois, para cada x Z, basta tomar
y = 4 x R que temos P (x, 4 x) verdadeira, pois P (x, 4 x)
e x + (4 x) = 4.
Note que na quanticacao x, y : P (x, y), em geral, y ca
dependendo de x e, `as vezes, ca melhor ler assim: Para cada
x, y, P (x, y).
Quando invertemos os quanticadores, o sentido e outro bem

L
ogica

41

diferente, veja:
Exemplo (3) A proposicao: x Z, y R : x + y = 4 deve
ser lida do seguinte modo:
Existe um inteiro x, para todo n
umero real y, x + y = 4.
Nesta proposicao, depois da vari
avel x deve ser entendido que
existe o termo tal que. Assim a leitura ca:
Existe um inteiro x, tal que para todo n
umero real y : x+y =
4.
Assim, esta proposicao e falsa, pois nao existe um n
umero inteiro x
que satisfaca x + y = 4 para todo n
umero real y. Aqui o sentido
e a existencia de um n
umero inteiro x xado, tal que x + y = 4 e
` vezes podem existir outros elementos
satisfeita para todo y real. As
x que satisfazem P (x, y), y; por exemplo, a proposicao: x, y :
umeros reais e tal
x + y 2 0 sobre o conjunto universo dos n
que qualquer n
umero real positivo x = a xado torna a express
ao:
2
a + y 0 para todo y R verdadeira.
Finalmente a proposicao:
Exemplo (4) x Z, y R : x + y = 4 e verdadeira e
se le: Existe x Z, existe y R tal que x + y = 4, P (0, 4) e
verdadeira.
Resumindo, temos os seguintes tipos de quanticacoes para
funcoes proposicionais com duas vari
aveis: x, y, P (x, y);
x, y, P (x, y);
x, y, P (x, y);
x, y, P (x, y).
A quanticacao de proposicoes pode ser estendida para sentencas abertas com mais de duas variaveis com os devidos cuidados.
Nega
c
oes de Proposi
c
oes Quanticadas
Para negar uma proposicao quanticada, trocam-se os quanticadores e nega-se a sentenca aberta P (x). Em outras palavras:
[x : P (x)] e a proposicao x : P (x).
A negacao da sentenca: x : P (x) e a sentenca x : P (x).
Em smbolos:

42

Aspectos Formais da Computa


c
ao
[x : P (x)] [x : P (x)].

Exemplo (a) (i) [x : x + 1 = 7] (x : x + 1 = 7).


(ii) [x : x + 1 = 7] [x : x + 1 = 7].
(iii) [(x Z)(y R) : x + y = 4] (x Z)(y R) :
x + y = 4.
(iv) [(x Z)(y R) : x + y = 4] = (x Z)(y R) :
x + y = 4, etc..
Exemplo (b) Seja H o conjunto de todos os humanos e P (x)
o predicado x e mortal. Ent
ao a proposicaoTodo homem e
mortalpode ser traduzida para x H : P (x). A negacao desta
sentenca e: x H : P (x), que se le: Existe um homem que
n
ao e mortal.
Exemplo (c) Sejam P (x) e Q(x) respectivamente os predicados:
P (x) : x 0 e Q(x) : x e um quadrado. Ent
ao traduzimos a sentenca todo n
umero real positivo e um quadradopor
x R : P (x) Q(x)
ou seja, para todo n
umero real x, se x e positivo ent
ao x e um
quadrado. Logo a negacao de Todo n
umero real positivo e um
quadradopode ser escrita do seguinte modo:
[x R : P (x) Q(x)] [x R | (P (x) Q(x))]
[x R : P (x) Q(x)],
ou seja Existe um n
umero real x que e positivo e n
ao e quadrado
Exemplo (d) Vamos traduzir em linguagem matematica a
proposicao:
Todo homem tem exatamente um grande amigo
Esta sentenca pode ser reescrita como: Qualquer que seja o
homem x, x tem exatamente um grande amigo.
O universo de discurso e o conjunto U de todos os homens.
Precisamos caracterizar o predicado y e o grande amigo de x.
Seja B(x, y) o predicado y e o grande amigo de x. Ent
ao B(x, y)
e caracterizado da seguinte forma: Se z e uma pessoa qualquer que
nao e y, ent
ao z nao e o grande amigo de x.

L
ogica

43

Em smbolos:
z U, (z = y B(x, z)).
Agora a proposicao: Todo homem tem exatamente um
grande amigo traduz-se por:
x U, y U : [B(x, y) (z U, z = y B(x, z))].
O smbolo ! se le: Existe um u
nico. Ele e razoavelmente
usado em textos matematicos e serve, muitas vezes, para simplicar
expressoes. Usando-o na sentenca acima podemos escrever:
x U, !y U | B(x, y),
que se le: Para todo x pertencente a U existe um u
nico y pertencente a U tal que B(x, y).

1.5

M
etodos de Prova

Os metodos de provas sao bastante usados em ciencias da computacao em geral. Por eles verica-se se um programa esta correto,
dando seguranca ao sistema operacional, faz-se deducoes na area
de inteligencia articial e assim por diante. Portanto, entender as
tecnicas de provas e essencial tanto para a matematica como para
as ciencias de computacao.

1.5.1

Argumentos e Regras de Infer


encia

J
a foi mencionado que a l
ogica tambem trata das formas de argumentacao e das maneiras de encadear nosso raciocnio para justicar, a partir de fatos b
asicos, nossas conclusoes. A argumentacao
pode ser vista como um jogo de raciocnio, que consiste em combinaruma ou mais proposicoes para com elas chegar a uma conclusao. As regras desse jogosao chamadas regras de inferencia. E
o jogo tem a seguinte forma:
Comecam com um conjunto de proposicoes que chamaremos
premissas. O objetivo do jogo e aplicar as regras de modo que se
obtenha alguma outra proposicao dada (conclusao desejada).
O conjunto de premissas corresponde `a posicao inicial de um
jogador no jogo. Por uma sucess
ao de jogadas, sancionadas por

44

Aspectos Formais da Computa


c
ao

regras, chegamos `a posicao de triunfo: a conclus


ao buscada. Como
em todo jogo, as regras permitem jogadas soltas. O problema consiste, entao, em aprender a executar jogadas pertinentes.
O jogo nao tera validade quando a conclus
ao apresentada nao
for uma conseq
uencia logica das premissas, isto e, quando as premissas nao implicarem logicamente a conclusao. Quando isto acontece? Quando ha falta de premissas ou quando n
ao ha falta de
premissas, mas existe entre as mesmas uma ou mais que nao sejam
compatveis com as demais.
Um argumento ou forma de argumentac
ao e dito v
alido (v
alida) se quando todas as hip
oteses (premissas) sao verdadeiras, a conclusao tambem e verdadeira. Conseq
uentemente, demonstrar que
Q segue logicamente das premissas p1 , p2 , . . . , pn e o mesmo que
demonstrar a implicacao
(p1 p2 pn ) = Q.
Quando todas as proposicoes usadas em um argumento valido
sao verdadeiras, isto nos leva a uma conclusao verdadeira, e e este
tipo de argumentacao que nos interessa dentro de qualquer teoria.
Entretanto um argumento, ou forma de argumentacao valida pode
nos levar a uma conclusao incorreta se uma ou mais proposicoes
falsas forem usadas no argumento.
Observa
c
ao 1.19 : No caso de uma argumentacao podem ocorrer
premissas superuas que impecam a nossa conclusao. Sao premissas para outros argumentos ou premissas que seriam conclusoes
para outras premissas dadas.
Vejamos alguns exemplos de argumentacao:
Alguem diz: Maria foi para a Universidade.
O interlocutor (solicitando justicativa) indaga: Como sabe?
Ora, porque se fosse ao cinema telefonaria.
Podemos condensaresse dialogo da seguinte forma:
Maria vai ao cinema ou a
` Universidade.
Se for ao cinema, telefonar
a.

L
ogica

45

Maria n
ao telefonou.
Conclus
ao: Maria foi a
` Universidade.
As tres primeiras linhas sao as premissas e a u
ltima e a conclusao. Isto e um argumento.
Mais um exemplo:
Se eu fosse presidente, seria famoso
Eu n
ao sou presidente.
Conclus
ao: Eu n
ao sou famoso.
Observe que o primeiro argumento apresentado e valido, enquanto o segundo n
ao.
Assim como no estudo dos valores-verdades de proposicoes compostas, para vericar as argumentacoes ca mais facil se trabalharmos com smbolos, desde que a u
nica coisa que importar para a
validade do argumento sejam os valores-verdade das proposicoes.
Deste modo, numa argumentacao indicamos as premissas por
p1 , . . . , pn e a conclusao por c. O argumento feito a, para obter
c a partir das premissas p1 , . . . , pn e indicado por
p1 , p2 , . . . , pn  c.
Assim, o primeiro argumento pode ser representado por
p: Maria vai `
a Universidade.
q: Maria vai ao cinema.
r: Maria telefona.
p1 : p q
p2 : q r
p3 : r
c:p
e entao p1 , p2 , p3  c ou ainda (p q), (q r), ( r)  p.
Podemos testar a validade de um argumento. Para faze-lo
levamos em conta a seguinte denicao.
alido se q for
Deni
c
ao 1.20 Um argumento p1 , . . . , pn  q e v
verdadeiro sempre que p1 , . . . , pn forem verdadeiros. Em outras

46

Aspectos Formais da Computa


c
ao

palavras, se (p1 . . . pn ) q for uma tautologia, ou equivalentemente (p1 . . . pn ) q.


Exerccio: (1) Teste a validade do primeiro argumento apresentado.
(2) Represente por smbolos o segundo argumento e verique a sua
validade.
Observe que, quanto maior for o n
umero de premissas envolvidas, maior sera o seu trabalho. Se voce tiver n premissas dadas,
quantas linhas aparecer
ao em sua tabela?
Para cada argumento apresentado voce pode comecar por testar sua validade. H
a, no entanto, certos tipos de argumentacao
bastante comuns que sao conhecidos como Regras de Infer
encia, que passaremos a apresentar a seguir:
Regra 1: Adjun
c
ao (Adj)
Dada duas proposicoes como premissas p e q, podemos concluir
a proposicao composta p q. Por exemplo, dada:
p: Jorge e adulto
q: Maria e crianca,
podemos junt
a-las e obter c: Jorge e adulto e Maria e crianca. Em
smbolos escrevemos
p
q
pq
As demais regras serao apresentadas de forma simb
olica, e
sugerimos ao leitor que enriqueca cada situacao com um exemplo.

Regra 2: Simplica
c
ao (S) sao as implicacoes do tipo (pq) =
p. Elas sao descritas como argumentos por
pq
p

ou

pq
q

L
ogica

47

Regra 3: Adi
c
ao (A) sao as implicacoes do tipo p (p q). Elas
sao representadas na forma de argumento por:
p
pq
Regra 4: Modus Ponens (M P ) Sao as implicacoes do tipo
[(p q) p] = q. Elas sao representadas na forma de argumento
por:
pq
p
q
Regra 5: Modus Tollens (M T ) sao as implicacoes do seguinte
tipo [(p q) ( q)] = p. Elas sao representadas na forma de
argumento por:
pq
q
p
Regra 6: Dupla nega
c
ao (DN ) sao as implicacoes do tipo [ (
p) = p] (ou [p = ( p)]). Na forma de argumento, podemos
representa-las por:
( p)
p

ou

p
( p)

Regra 7: Regra de Absor


c
ao (RA) sao as implicacoes do tipo
[p (p q]) = [p q]. Elas sao representadas na forma de
argumento por:
p (p q)
pq
Regra 8: Silogismo Hipot
etico (SH) sao as implicacoes do tipo
[(p q) (q r)] = p r. Elas sao representadas na forma de
argumento por:

Aspectos Formais da Computa


c
ao

48

pq
qr
pr
Regra 9: Silogismo Disjuntivo (SD) sao as implicacoes do tipo
[(p q) p] = q. Elas sao representadas na forma de argumento
por:
pq
p
q
Regra 10: Regras do Bicondicional (RBC)

(a)

pq
qp
pq

(b)

pq
(p q) (q p)

sao as implicacoes:
(a) [(p q) (q p)] = (p q)
(b) [(p q) = [(p q) (q p)].
Regra 11: Dilema Construtivo (DC) e dada por implicacoes
do tipo [(p q) (r s) (p r)] = (q s), cuja representacao
na forma de argumento e:
pq
rs
pr
qs
Regra 12: Dilema Destrutivo (DD) sao implicacoes do tipo
[(p q) (r s) ( q s)] = p r. Elas sao representadas na forma de argumento por:
pq
rs
q s
p r

L
ogica

49

Exemplo (1). Se 2 > 3 ent


ao 22 > 32
e um argumento valido, baseado no Modus Ponens. No entanto, a
conclusao do argumento 4 > 9 e falso, pois 4 < 9. Isto segue do
fato que a proposicao falsa 2 > 3 foi usada no argumento e da a
conclusao do argumento pode ser (e neste caso e) falsa. Claro que
premissas falsas nao serao aceitas em nenhum argumento, para que
nossa teoria que consistente.
Exemplo (2). Considere as premissas: N
ao est
a ensolarada esta
tarde e ontem fez frio. Iremos `
a praia somente se esta tarde estiver ensolarada.
Se n
ao formos `
a praia, iremos passear de barcoe se formos passear de barco, estaremos de volta em
casa ao por do sol. Conclua que estaremos de volta em casa ao
por do sol.
Solucao:
Sejam p a proposicao: est
a ensolarado esta tarde, q: ontem
fez frio, r: Iremos `
a praia, s: iremos passear de barcoe nalmente t: estaremos de volta em casa ao por do sol. O que se
quer e construir um argumento para mostrar que estas hip
oteses
nos garante que a proposicao t e verdadeira. Temos as premissas:
p1 : p q, p2 : r p, p3 : r s, e p4 : s t e queremos
vericar que (p1 p2 p3 p4 ) t e verdadeira. Veja a tabela.
Passos
1. p q
2. p
3. r p
4. r
5. r s
6. s
7. s t
8. t

Justicativa
(hip
otese)
(simplicacao)
(hip
otese)
(modus tollens de 2 e 3)
(hip
otese)
(modus ponens de 4 e 5)
(hip
otese)
(modus ponens de 6 e 7).

Logo a proposicao t: estaremos de volta em casa ao por do


sole verdadeira.
Exemplo (3). Mostre que as hipoteses: Se voce me enviar os da-

Aspectos Formais da Computa


c
ao

50

dos por uma mensagem de e-mail, ent


ao eu terminarei de escrever
o trabalho. Se voce n
ao me enviar os dados em uma mensagem
de e-mail, ent
ao irei dormir mais cedo. E se eu for dormir mais
cedo, amanh
a acordarei disposto para concluir o trabalho, nos leva
`a conclusao de que Se eu n
ao terminar o trabalho ent
ao amanh
a
acordarei disposto para conclu-lo.
Solucao: De fato, considere as proposicoes p: Voce me envia
os dados por e-mail, q: Eu termino de escrever o trabalho, r:
Vou dormir mais cedo, s: Acordarei disposto para concluir o
trabalho. Temos os passos:

Passos
1. p q
2. q p
3. p r
4. q r
5. r s
6. q s

Justicativa
(hip
otese)
(contra recproca de 1)
(hip
otese)
(silogismo hipotetico de 2 e 3)
(hip
otese)
(silogismo hipotetico de 4 e 5)

Logo temos q s, que e a conclusao desejada.


Regra 13: Resolu
c
ao
Muitos programas de computador usam a implicacao logica
[(p q) (p r)] = (q r)
que e representada na forma de argumento por
pq
pr
qr
e e conhecida como resoluc
ao.
A conclusao q r e chamada de resolvente. No caso em que r e a
propria q, ou r e uma contradicao, a resolvente e q, pois q q q
e q C q. Em resumo:

L
ogica
[(p q) (p q)] q

51
e

[(p q) p] q

Exemplo. John est


a esquiando ou n
ao est
a nevando e est
a
nevando ou Smith est
a jogando h
oquei. Isto implica que John
est
a esquiando ou Smith est
a jogando h
oquei.
Esta regra tem papel importante em linguagens de programacao baseadas em regras logicas, tais como o Prolog (onde sao aplicadas a resolucao para proposicoes quanticadas).

Fal
acias
Muitas argumentacoes sao baseadas em argumentos errados.
A princpio parecem regras de inferencia, mas estao baseadas em
contingencias em vez de tautologias. A proposicao
[(p q) q] p
n
ao e uma tautologia, pois e falsa quando p e falsa e q e verdadeira.
No entanto, existem muitos argumentos errados que a tratam como
se fosse uma tautologia.
Este tipo de raciocnio (ou argumentacao) incorreto e chamado
de
Fal
acia da armac
ao da conclus
ao.
Exemplo (a) Se chover, ent
ao faz frio. Caso esteja frio, nao
podemos concluir que choveu, como as vezes o fazemos!!
(b) Fal
acia Poltica: Se aplicarmos recursos na educac
ao, o ensino
melhorar
a. Como neste ano o ensino esta bom, ent
ao o governo,
que discursa, diz que isto prova que tem investido pesados recursos
na educacao!!!
(c) Se voce faz todos os exerccios das listas de AFC, ent
ao voce
passa em AFC e voce passou em AFC. Isto nao implica que
Voce fez todos os exerccios da lista de AFC!!!
Do mesmo modo a proposicao
Q : [(p q) p] q
n
ao e tautologia, desde que Q e falsa quando p e falsa e q e verdadeira. Portanto muitas argumentacoes sao incorretas quando a
usam como uma regra de inferencia. Este tipo de falacia e chamada
de

Aspectos Formais da Computa


c
ao

52

Fal
acia por negac
ao da hip
otese.
(d). Se voce fez todos os exerccios das listas de AFC, ent
ao
voce aprendeu AFC, e voce n
ao fez todos os exerccios da lista
de AFC. Destas premissas nao podemos concluir que Voce n
ao
aprendeu AFC!!!
A seguir resumimos numa tabela as regras de inferencia:
Tabela 1

Regras de Infer
encia

Regras de
Inferencia
p
q

p q
pq

p
p

p q
pq
p

q
pq
q

p
( p)

p
p (p q)

p q
pq
qr

p r
p q
p

q
pq
qp

p q
p q

(p q) (q p)

Tautologia

Nome

((p) (q)) p q

Conjunc
ao ou Adjunca
o

(p q) p

Simplicac
ao

p (p q)

Adic
ao

[(p q) p] q

Modus Ponens

[(p q) q] p

Modus Tollens

(p) p

Dupla Negaca
o

[p (p q)] [p q]

Absorc
ao

[(p q) (q r)]
(p r)
[(p q) p] q

Silogismo
Hipotetico
Silogismo
Disjuntivo

[(p q) (q p)]
[p q]

Bicondicional

[p q]
[(p q) (q p)]

Bicondicional

L
ogica
Tabela 1 Regras de Infer
encia
Regras de
Tautologia
Inferencia
pq
rs
[(p q)(r s)(pr)]
pr
[qs]

q s
pq
rs
[(p q)(r s)(q
q s
s)] [p r]

p r
p q
[(p q) ( p r)]
p r
(q r)

q r

53

Nome

Dilema
Construtivo

Dilema
Destrutivo

Resoluc
ao

Parte do teorema que segue ja foi feito, em alguns exemplos,


usando tabelas-verdade. Vamos demonstra-lo como aplicacao das
regras de inferencia.
Teorema 1.21 As seguintes proposic
oes s
ao logicamente equivalentes.
(a) P Q e uma tautologia.
(b) Q P, e uma tautologia (Contra-Recproca).
(c) P Q e uma tautologia.
(d) P Q e uma contradic
ao (Reduc
ao ao Absurdo).
Demonstracao: Temos que demonstrar que (a), (b), (c) e (d)
sao logicamente equivalentes, e para isto basta demonstrar que
(a) (b)(c)(a) e (c) (d).
Facamos (a)(b).
Temos que demonstrar que, se Q e verdadeiro ent
ao P e
verdadeiro, tendo como hip
otese que P Q e uma tautologia.
Suponhamos que Q e verdadeiro. Como, por hip
otese, P Q
e tautologia, segue que P e verdadeiro pela regra de inferencia
Modus Tollens. Logo Q P e uma tautologia. Em outras
palavras, (a)= (b).
Agora facamos (b)(c). A hip
otese e que Q P e uma
tautologia e devemos demonstrar que P Q e uma tautologia.
Facamos por casos. (1). Se Q e verdadeira, pela regra da adicao
P Q e verdadeira.

Aspectos Formais da Computa


c
ao

54

(2) Se Q e falsa, ent


ao Q e verdadeira, e como por hip
otese Q
P e verdadeira, por modus ponens P e verdadeira. Novamente
por adicao P Q e verdadeira. De (1) e (2) temos P Q e uma
tautologia.
Outro modo de provar que (b) implica (c) e usar que P Q
Q P. Como Q P e tautologia, P Q tambem e.
(c)(d). Segue das Leis de De Morgan e do fato que P e uma
tautologia se e somente se P e uma contradicao.
(c)(a). Queremos provar que Q e verdadeira quando P e
verdadeira, tendo que P Q e verdadeira. Suponhamos que P e
verdadeira. Por silogismo disjuntivo concluimos que Q e verdadeira.
Isto concluir a prova do Teorema.

Nota: Note que se uma das ocorrencias (a), (b), (c) ou (d)
for verdadeira, ent
ao todas as ocorrencias serao verdadeiras. De
fato, construindo uma tabela-verdade eliminando a ocorrencia P
verdadeiro e Q falso temos:









P
V
F
F

Q Q P
V F
F
V F
V
F V
V

P Q Q P
V
V
V
V
V
V

P Q P Q
F
V
F
V
F
V










Segue-se que, quando as equivalencias logica P Q


Q P P Q sao tautologias, sua negacaoP Q
e uma contradicao. A ocorrencia P verdadeiro e Q falso nos da
que todas as proposicoes em (a), (b), (c) e (d) sao falsas. Logo
(a), (b), (c) e (d) continuam logicamente equivalentes, o que j
a era
esperado. Com isto, o Teorema tambem ca demonstrado.
Observa
c
ao 1.22 - Devido `as condicoes equivalentes do teorema,
se quisermos demonstrar um teorema da forma P = Q, podemos usar (a) e demonstrar diretamente, deduzindo Q tendo P
como proposicao verdadeira. Se for vi
avel, podemos usar a contrarecproca (caso (b)), deduzindo P tendo Q como proposicao verdadeira. Podemos ainda fazer a demonstracao do teorema P =
Q por reducao ao absurdo, tambem chamado por contradicao,

L
ogica

55

supondo que P e Q sao proposicoes verdadeiras na teoria e, a


partir da, deduzir uma contradicao na teoria. Note que neste caso
P e Q nao podem ser proposicoes verdadeiras ao mesmo tempo na
teoria e, tendo P como uma proposicao verdadeira, somos obrigados a aceitar Q como uma proposicao verdadeira, chegando ao que
foi armado. Mais ainda, esta demonstracao e aceita aqui porque
estamos admitindo o princpio do terceiro excludo: se Q e falsa
ent
ao Q e verdadeira. Se n
ao estivessemos admitindo este princpio,
o fato de Q nos dar uma contradicao nao signicaria que Q e verdadeira, pois h
a outras ocorrencias como valores-verdade para Q.
Estes tipos de demonstracoes, exceto o caso direto, embora
muitas vezes u
til para resolver o problema imediatamente, levam
consigo o pessimo defeito de nao ser uma demonstracao dita
construtiva, que n
ao da um metodo de construir passo a passo
a veracidade da Tese a partir da Hip
otese dada. Existem areas
da matematica e/ou escolas de losoa da matematica que nao
aceitam estes tipos de demonstracoes; ou por losoa, ou porque
usam logicas nao classicas, nas quais nao cabe tal argumento.
ao a2 = 4.
Exemplo (a). Considere a sentenca: Se a = 2 ent
Esta proposicao e (logicamente) equivalente `as seguintes pro falso
posicoes: Se a2 = 4 ent
ao a = 2 (Contra-recproca); E
2
verdade que a = 2 ou
que a = 2 e a = 4 (Contradicao); E
2
a = 4.
- Para n
Exemplo (b) APLICAC
AO
umeros a, b Z dizemos que
a divide b e denotamos por a|b se existe q Z tal que b = aq. Caso
contr
ario, denotamos por a  b. Dizemos tambem que b Z e par
se 2|b, ou seja, se b = 2q, q Z. Caso contrario, dizemos que b e
mpar. Neste caso, b = 2q + 1, q Z. (Veja mais sobre a relacao
de divisibilidade no pr
oximo captulo). Agora tente demonstrar a
seguinte proposicao diretamente na forma que esta no enunciado.
ao a e par. Prove e convenca-se de
P1 - Se 8  (a2 1) ent
que e bem mais simples a prova da seguinte proposicao logicamente
equivalente a esta
P2 - Se a e mpar ent
ao 8|(a2 1).

56

1.5.2

Aspectos Formais da Computa


c
ao
Regras de Infer
encia para Proposi
co
es
Quanticadas

As regras de inferencia para proposicoes quanticadas tambem sao


extensivamente usadas em argumentos matematicos, muitas vezes
sem ser explicitamente mencionadas.
O Universal Instant
aneo e a regra de inferencia usada para concluir que P (c) e verdadeiro (onde c e um elemento particular do
universo de discurso), tendo x P (x).
Por exemplo, por esta regra de inferencia podemos concluir que
Jo
ao e mortaltendo que Todo homem e mortal; podemos concluir que (1)2 0 tendo que para todo x em R, x2 0.
A Generalizac
ao Universal e a regra de inferencia que nos
garante que x P (x) e verdadeira, dada a premissa (proposicao
inicial, hip
otese) que P (c) e verdadeira para cada elemento c no
universo de discurso. Assim, ao selecionar um elemento arbitrario
e nao especco c no universo de discurso e provar que P (c) e verdadeiro, pode-se concluir que x P (x) e verdadeira, pois c e um
elemento arbitrario.
Esta regra e usada implicitamente em muitas demonstracoes em
matematica e e raramente mencionada explicitamente.
O Existencial Instant
aneo e a regra que nos permite concluir
que existe um elemento particular c no universo de discurso para o
qual P (c) e verdadeiro. Em geral, n
ao sabemos qual e o elemento c
que satisfaz P (x), sabemos apenas que ele existe. Desde que existe,
damos um nome a ele: c e continuamos o nosso argumento.
A Generalizac
ao Existencial e a regra de inferencia que e usada
para concluir que x P (x) quando e sabido que existe um elemento particular c no universo de discurso que satisfaz P (x) (isto e:
P (c) e verdadeira). Em outras palavras, se sabemos que existe (ou
conseguimos) um elemento c no universo de discurso, tal que P (c)
e verdadeira, ent
ao podemos concluir que x P (x) e verdadeira.
Em resumo, temos a tabela.

L
ogica
Tabela 2

57
Regras de Infer
encia
para Proposi
c
oes Quanticadas

Regras de Inferencia
Nome
x P (x)
Universal Instant
aneo

P (c)
P (c) para c: arbitr
ario
Generalizacao Universal

x P (x)
x P (x)
Existencial Instant
aneo

P (c), para algum c


P (c) para algum c
Generalizacao Existencial

x P (x)
Exemplo - Mostre que as premissas: Algum aluno desta classe
n
ao leu o livro-textoe Todos os alunos desta classe foram aprovados. implicam que: Algum aluno desta classe foi aprovado sem
ter lido o livro-texto.
a nesta classe, L(x) : x leu o
Solucao: Sejam C(x) : x est
livro texto, e P (x) : x foi aprovado. Temos os passos
(1) x, (C(x) L(x))
(2) x, (C(x) P (x)) e queremos
(3) x, (P (x) L(x)).
(a) De (1) temos
C(a) L(a) para algum a
(b) De (2) temos
C(a) P (a)
(c) C(a)
(d) P (a)
(e) P (a) L(a)
(f) x (P (x) L(x))

Existencial Instant
aneo
(Universal Instant
aneo)
(simplicacao de (a))
(modus ponens de (b) e (c))
(conjuncao de (d) e (a))
(generalizacao existencial)

O item (f) e exatamente o que queramos.


Nota (1) Os argumentos matematicos, muitas vezes, incluem
passos que envolvem regras de inferencia para proposicoes e para
quanticadores ao mesmo tempo. Por exemplo, a regras universal
instant
aneo e modus ponens muitas vezes sao usadas juntas. Quando

58

Aspectos Formais da Computa


c
ao

elas sao combinadas, a hip


otese x P (x) Q(x) e P (c), onde
c e um elemento no universo de discurso, mostra que a conclusao
Q(c) e verdadeira.
Nota (2) Para os teoremas em matematica que armam que uma
determinada propriedade vale para todos os elementos de um conjunto, o quanticador universal deveria aparecer em algum instante
no corpo do enunciado. Mas, a`s vezes para se ter uma escrita mais
limpa, ele e costumeiramente omitido desde que nao de `a sentenca
um sentido diferente daquela que de fato se quer dizer com o uso
do quanticador. Por exemplo, a proposicao Se x > y, onde x e
y s
ao n
umeros naturais, ent
ao x2 > y 2 , signica:
Para todos n
umeros naturais x e y, se x > y, ent
ao x2 > y 2 .
Em smbolos:
x N, y N, x > y x2 > y 2 .
Alem disso, quando um destes teoremas e provado, a regra de
generalizacao universal e usada muitas vezes sem fazer mencao explicita. O primeiro passo da prova usualmente envolve a selecao de
um elemento generico do universo de discurso. Ent
ao demonstra-se
que este elemento tem a propriedade em questao. Como o elemento e generico, a generalizacao universal implica que o teorema
vale para todos os elementos do universo de discurso.
Nas secoes subseq
uentes, seguiremos a convencao usual e nem
sempre faremos mencao explcita ao uso da quanticacao universal
ou generalizacao universal. No entanto, car
a claro quando estas
regras de inferencia estao sendo implicitamente aplicadas.

1.5.3

M
etodos de Demonstra
c
ao de Teoremas

Uma importante questao em matematica e saber quando um argumento esta correto. Outra e saber quais metodos podem ser usados
na construcao de argumentos matematicos.
Um teorema e uma proposicao que pode ser demonstrada que e
verdadeira. Em outras palavras, e uma Proposic
ao Verdadeira. As
proposicoes verdadeiras que sao importantes dentro de uma teoria
matematica sao destacadas como:
Teoremas: sao Proposicoes verdadeiras, fortes e centrais na teoria.

L
ogica

59

As proposicoes mais simples sao classicadas em Proposic


oes (propriamente ditas), Lemas em geral, sao proposicoes simples de uso
restrito na teoria, normalmente servem de preparacao para teoremas que seguem, e Corol
arios sao consequencias mais ou menos
imediatas de teoremas ou Proposicoes anteriores.
` vezes o Lema e auto-suciente e forte por si so. Um
As
exemplo e o Lema de Zorn. Um exemplo de teorema e o Teorema Fundamental do C
alculo. Quando estes elementos estao bem
postos dentro de uma teoria, os teoremas resumem bem os resultados mais importantes da Teoria.
Em geral os enunciados que aparecem nos teoremas sao do
tipo P = Q (ou P Q), mas qualquer que seja o enunciado
entende-se que ele e uma proposicao verdadeira. Se o enunciado e
do tipo P = Q, ent
ao P e dito hip
otese e Q e dito tese do teorema.
Assim a demonstrac
ao do teorema consiste em deduzir logicamente
que P Q e uma tautologia. Em outras palavras, concluir que
Q e uma proposicao verdadeira supondo que P e verdadeira.
Isto e feito atraves de uma seq
uencia logica dedutiva, onde se
passa de proposicao verdadeira `a proposicao verdadeira ate obter
Q. Isto e chamado de Prova ou Demonstrac
ao do teorema, e a
seq
uencia de proposicoes que foi usada na prova forma o argumento.
Com isto temos provado o teorema: P = Q.
Se o enunciado for da forma P Q, deve-se provar tambem
Q = P. Um exemplo de teorema da forma P = Q e:
Se f : [a, b] R e uma funcao contnua, ent
ao f possui
maximo e mnimo em [a, b].
(Nota: Note que usamos se... ent
ao...em vez do smbolo = .
Em geral e este o procedimento feito no enunciado do teorema
para n
ao carrega-lo demais com o smbolo = . No entanto, devese entender que o enunciado e uma implicacao logica e ela deve ser
provada. O mesmo vale para o smbolo que e trocado pela
escrita se, e somente se, no corpo do enunciado).
Para fazer uma demonstracao, ou construir um metodo de
demonstracao, e necessario derivar novas proposicoes de outras
proposicoes da teoria. As proposicoes usadas na demonstracao incluem os Axiomas ou Postulados que sao proposicoes inicialmente
aceitas como verdadeiras na teoria, e a hipotese do teorema.

60

Aspectos Formais da Computa


c
ao

Pode ser muito difcil provar teoremas e, em geral, varios metodos sao necessarios para se chegar a uma conclusao desejada. Pelo
fato de que muitos teoremas sao implicacoes, as tecnicas para provar
implicacoes sao importantes. Relembremos que P Q e verdadeira, a menos que P e verdadeira e Q e falsa. Assim, para
demonstrar que P = Q (ou que P Q e uma tautologia)
e necessario (e tambem suciente) provar apenas que Q e verdadeira se P for verdadeira. Segue algumas tecnicas comuns para
demonstrar implicacoes.
(A) Demonstra
c
ao Direta
A implicacao P = Q pode ser provada supondo que P e
verdadeira e deduzindo que Q e verdadeira, fazendo uso das regras de inferencia e usando teoremas ja demonstrados. Isto mostra
que a combinacao P verdadeira e Q falsa nunca ocorre. Portanto
P = Q. Uma demonstracao deste tipo e chamada Demonstrac
ao
Direta. Veja Teorema 1.21(a).
Exemplo (A) Demonstre diretamente que: Se n e um inteiro
mpar, ent
ao n2 e mpar.
Solucao: Por denicao, um inteiro n e par se existe um inteiro k
tal que n = 2k, e n e mpar se existe um inteiro k tal que n = 2k+1.
(Note que um inteiro ou e par ou e mpar).
Suponhamos que a hip
otese da implicacao e verdadeira, ou seja,
n e mpar. Ent
ao n = 2k + 1, onde k e um inteiro. Segue-se que
n2 = (2k + 1)2 = 4k 2 + 4k + 1 = 2(2k 2 + 2k) + 1. Portanto, n2 e
um inteiro mpar (pois e duas vezes um inteiro mais um).
(B) Demonstra
c
ao por Contra Recproca
A implicacao P = Q e logicamente equivalente a sua contra
recproca Q = P. Veja Teorema 1.21(b). Assim, se provarmos
diretamente que Q = P, dizemos que provamos que P = Q
por contra recproca.
ao n e mpar.
Exemplo (B) Prove: 3n + 2 e mpar, ent
Solucao: Suponhamos que a tese do teorema e falsa. Ent
ao n =
2k para algum inteiro k. Segue-se que 3n+2 = 3.2k +2 = 2(3k +1).
Logo 3n + 2 e par. Conseq
uentemente 3n + 2 nao e mpar. Como a
negacao da tese implica que a hipotese e falsa, a implicacao original

L
ogica

61

e verdadeira.
(C) Demonstra
c
ao por Vacuidade
Suponhamos que a hip
otese P da implicacao P = Q a ser
demonstrada e falsa. Como f v ou f f sao verdadeiras,
segue-se que P Q e verdadeira, qualquer que seja o valorverdade da proposicao Q. Conseq
uentemente, se P e falso, ent
ao a
demonstracao de P = Q e chamada de Prova por Vacuidade. Este
tipo de prova e muitas vezes usado para estabelecer casos especiais
de teoremas.
Exemplo (C) Considere a funcao proposicional denida sobre o conjunto dos n
umeros naturais: P (n) : Se n > 1, ent
ao n2 > n.
Vamos demonstrar que P (0) e verdadeira. P (0) : Se 0 > 1, ent
ao
2
0 > 0. Como 0 > 1 e falso, segue-se por vacuidade que P (0)
e verdadeira. (Note que 02 > 0 e falso, mas como 0 > 1 tambem e
falso, ent
ao 0 > 1 = 02 > 0).
(D) Demonstra
c
ao Trivial
Quando a conclus
ao Q da implicacao P = Q e verdadeira,
ent
ao P Q e verdadeira qualquer que seja o valor-verdade de
P. Assim, se sabemos que Q e verdadeiro, independente de P, a
demonstracao de P = Q e dita Demonstrac
ao Trivial. Essas
demonstracoes muitas vezes aparecem em casos especiais ou particulares de um teorema, por exemplo, quando se faz demonstracoes
por inducao matematica.
Exemplo (D) Seja P (n) a funcao proposicional: Se a e b s
ao
inteiros positivos com a b, ent
ao an bn . Vamos demonstrar
que P (0) e verdadeira.
P (0) e a seguinte proposicao: Se a e b s
ao inteiros positivos
0
0
com a b, ent
ao a b .
Desde que a0 = b0 = 1, segue-se que P (0) e verdadeira independente das restricoes sobre a e b. Este e um exemplo de demonstracao
trivial.
(E)
Demonstra
c
ao por Contradi
c
ao ou Redu
c
ao ao
Absurdo
Um outro metodo usado para provar teoremas e a Demonstrac
ao por Contradic
ao ou por Reduc
ao ao Absurdo. Se o

62

Aspectos Formais da Computa


c
ao

teorema e do tipo P = Q, o metodo consiste em supor que


P Q e verdadeiro e da derivar na teoria uma contradicao,
em geral do tipo r r. Logo P Q tem que ser falso. Como
(P Q) P Q segue que P Q e verdadeiro. Com isso
temos provado que P = Q, indiretamente. Veja Teorema 1.21(d).
Se o teorema e uma armacao do tipo x P (x)temos que
vericar que (x, P (x))da uma contradicao e, nalmente, se o
teorema for uma armacao do tipo x, P (x), ent
ao prove que
x, P (x)e falso.

Exemplo (E) Provemos por contradicao que 2 e irracional.

2 e irracional. SuSolucao: Seja P a proposicao:


ponhamos que P e verdadeira. Ent
ao 2 e racional. Vamos
mostrar que isto nos leva a uma contradicao.
(1) a
Por hip
otese existem inteiros a e b tais que 2 = , e podeb
mos supor que a e b n
ao tem fatores comuns (se tiverem, podemos
cancela-los sem afetar a fracao). Seja r a proposicao:
r: a e b n
ao tem fatores comuns diferente de 1.
Elevando a igualdade (1) ao quadrado, camos com 2 = a2 /b2 e
portanto a2 = 2b2 . Logo a2 e par. Isto implica que a e par (se fosse
mpar a2 seria mpar; veja exemplo (A)). Logo existe um inteiro k
tal que a = 2k. Portanto a2 = 4k 2 . Substituindo na express
ao: a2 =
2b2 camos com 4k 2 = 2b2 e da b2 = 2k 2 . Pelo mesmo raciocnio
anterior b tambem e par, digamos b = 2c, c inteiro. Mas sendo
a e b pares, 2 e fator comum de ambos. Logo r e verdadeira e
temos r e r sao ambas verdadeiras. Uma contradi
cao!! Como que

2
for
racional, somos
esta contradicao pode ser
constru
da
caso

obrigados a aceitar que 2 e irracional.


Nota.
As provas por contra recproca e por contradicao sao
tambem ditas Demonstrac
oes Indiretas.
Observa
c
ao: O metodo de demonstracao a ser usado em um teorema pode ser qualquer um deles, a princpio. Em geral, o metodo
direto e inicialmente tentado e, dependendo da natureza do teorema
P = Q, nao e o mais adequado, e sim um outro metodo. Nao
existe uma regra para saber qual metodo aplicar no momento, e so

L
ogica

63

com a experiencia, ou visao do metodo e, nalmente, por tentativa


e erro, chegaremos ao metodo adequado.
Por exemplo, vamos demonstrar que, se n e um inteiro e n2 e
mpar, ent
ao n mpar.
Supondo n2 mpar (onde n e um inteiro),por denicao existe
um inteiro k tal que n2 = 2k + 1. Da n = 2k + 1 e assim ca
muito difcil provar que n e mpar. Ent
ao e melhor tentar provar
por outro metodo. Suponha que n nao e mpar, ou seja, n e par.
Ent
ao existe um inteiro c tal que n = 2c. Da n2 = 2(2c2 ). Logo
n2 tambem e par. Pela contra recproca, segue-se que a proposicao
dada e verdadeira. Neste caso o metodo contra recproca foi mais
eciente que o metodo direto.
(F) Demonstra
c
ao por Casos
Se o teorema P = Q a ser provado e tal que P = p1 p2
ao podemos provar o teorema provando que pi Q
pn , ent
e verdadeira para cada i = 1, 2, . . . , n, individualmente. Com isto
temos provado o teorema desde que
[(p1 p2 pn ) Q] [(p1 Q) (p2 Q) (pn Q)].
Um tal argumento e chamado Demonstrac
ao por Casos.
Exemplo (F) Se queremos provar que |x||y| = |xy|, onde x e y sao
n
umeros reais, podemos dividir em quatro casos.
De fato, todo n
umero real e positivo ou negativo. Sejam P : x
e y s
ao n
umeros reais e Q: |x||y| = |xy|. Ent
ao P = p1 p2
p3 p4 , onde p1 : x 0 e y 0, p2 : x 0 e y < 0, p3 : x < 0
e y 0 e p4 : x < 0 e y < 0. Com isto temos que demonstrar
que p1 Q, p2 Q, p3 Q e p4 Q sao verdadeiras. Fica
como exerccio.
(G) Demonstra
c
ao de Equival
encia
Para demonstrar um teorema do tipo P Qdevemos demonstrar que P Q e Q P sao verdadeiras. Com isto o teorema esta demonstrado, pois P Q e logicamente equivalente
`a (P = Q) (Q = P ).
Exemplo (G) O teorema O inteiro n e mpar se, e somente se, n2
e mpare da forma P Q, onde P : n e mpar e Q : n2 e
mpar. Para demonstr
a-lo basta demonstrar que P e suciente

64

Aspectos Formais da Computa


c
ao

para Q, (P = Q) e P e necessario para Q, (Q = P ).


Algumas vezes um teorema arma que varias proposicoes P1 ,
P2 , . . . , Pn sao equivalentes. Isso pode ser escrito na forma: P1
P2 Pn , o que arma que todas proposicoes tem o mesmo
valor-verdade, ou seja, Pi e Pj , 1 i, j n sao equivalentes. Um
meio de provar estas equivalencias e usar a tautologia
[P1 P2 Pn ]
[(P1 P2 ) (P2 P3 ) (Pn P1 )].
Assim o teorema esta demonstrado se demonstrarmos que
P1 P2 , P2 P3 , . . . , Pn1 Pn , Pn P1 sao tautologias.
` vezes a ordem da seq
As
uencia dos Pi s faz com que a demonstracao que muito longa e e melhor a demonstracao de Pi
Pj i = j, e uma tautologia para i e j convenientes, e re-enumerar a
seq
uencia de implicacoes.

Teoremas e Quanticadores
Muitos teoremas sao proposicoes que envolvem quanticadores. Existem varios metodos usados para demonstrar teoremas que
sao quanticacoes. Alguns dos mais importantes sao:
c
ao Existencial
(a1 ) Demonstra
Alguns teoremas armam que existe um objeto com determinada propriedade. Por exemplo: x P (x), onde P e um predicado. A demonstracao do teorema e dita Demonstrac
ao de
Existencia.
Existem varios caminhos para provar um teorema deste. Uma
demonstracao pode ser dada exibindo um elemento a do universo
de discurso que satisfaca a propriedade P (x) (ou seja, P (a) e verdadeira). Esta prova de existencia e dita Prova Construtiva.
Uma Prova N
ao Construtiva do teorema e feita provando o teorema x, P (x), mas sem exibir qualquer elemento a que satisfaca
P (x). Um metodo de uma prova n
ao construtiva pode ser feita por
contradicao, onde se nega a quanticacao existencial e obtem-se
uma contradicao.
Exemplo (a1 )(1) Prova Construtiva
Mostre que Existe um inteiro positivo que pode ser escrito de
dois modos, como soma de dois quadrados.

L
ogica
52

65

Solucao: Por tentativa e erro encontramos 50 = 12 + 72 =


+ 52 , ou se exigir quadrados distintos: 65 = 12 + 82 = 42 + 72 .

Exemplo (a1 )(2) Prova Nao Construtiva


Mostre que Existem n
umeros irracionais x e y tais que xy e
racional.

2
Solucao: Pelo exemplo (E) 2 e irracional. Logo,
se 2 e

racional, basta considerar x = 2 e y = 2. Se 2 e irracional,

2 2
2.2
2
y
e y = 2. Da x = ( 2 )
= 2
=
tome x = 2
2
2 = 2. Logo, xy e racional neste caso.
Esta demonstracao e nao construtiva porque demonstramos a
validade da armacao sem exibir os elementos x e y que sacaso, chegamos bem
tisfazem a condicao xy e racional. Neste
2, 2) ou (x, y) =
pr
oximo
ao
exibirmos
dois
pares
(x,
y)
=
(
2
( 2 , 2), tal que exatamente um deles tem a propriedade desejada, mas nao sabemos qual dos dois pares tem a propriedade
desejada.
(b1 ) Demonstra
c
ao de Unicidade
Alguns teoremas armam que existe exatamente um elemento
com uma determinada propriedade. Para demonstrar um teorema
deste tipo, e necessario demonstrar que existe um elemento com a
propriedade desejada e, alem disso, demonstrar de algum modo que
qualquer outro elemento distinto deste n
ao tem esta propriedade.
Assim, a demonstracao de um teorema deste tipo envolve dois passos:
(i) Existencia - Provar que existe um elemento x com a propriedade desejada.
ao y n
ao tem a pro(ii) Unicidade - Provar que se y = x, ent
priedade desejada.
Portanto demonstrar que existe um u
nico elemento a que satisfaz
P (x) e o mesmo que demonstrar a proposicao:
x P (x) y(y = x P (y)).


Note que x P (x): se refere `a existencia e y, y = x P (y)
se refere `a unicidade.

66

Aspectos Formais da Computa


c
ao

Desde que (y = x) (P (y))e logicamente equivalente a


P (y) (y = x)(pela contra recproca), a unicidade pode ser
demonstrada assim:
Supor que para algum y, P (y) e verdadeiro e concluir que y = x.
Este metodo e bastante usado, tambem.
(c) Contra-Exemplo
A proposicao quanticada: x P (x)e falsa se exibirmos um
elemento particular a no conjunto universo tal que P (a) e falsa.
Quando se apresenta uma proposicao da forma x P (x) que, ou
acreditamos ser falsa, ou que tenha resistido a toda tentativa de
demonstracao, em geral buscamos um contra-exemplo.
Exemplo. Mostre que e falsa, a proposicao: Todo inteiro positivo e soma de quadrados de tres inteiros(ou seja, soma de tres
quadrados).
Solucao - Para mostrar que esta proposicao e falsa, precisamos
achar um contra-exemplo: exibir um inteiro positivo a que nao e
soma de tres quadrados. Ou seja, exibir um inteiro positivo a tal
que para quaisquer inteiros x, y, z tem-se: a = x2 + y 2 + z 2 . Isto
segue do fato que
[a, b, c, d : a = b2 + c2 + d2 ]
[a, b, c, d : a = b2 + c2 + d2 ].
Vejamos: 1 = 02 + 02 + 12 , 2 = 02 + 12 + 12 , 3 = 12 + 12 +
12 , 4 = 02 + 02 + 22 , 5 = 02 + 12 + 22 , 6 = 12 + 12 + 22 . No
ao a2 , b2 e c2 devem pertencer
entanto, se 7 = a2 + b2 + c2 , ent
ao conjunto {0, 1, 4}. Mas nenhuma soma de tres elementos deste
conjunto d
a como resultado nal 7, como pode ser vericado. Logo
a proposicao: Todo inteiro positivo e soma de tres quadradose
falsa.
Nota. Um erro comum na demonstracao de teoremas e, depois
de fazer varias tentativas com resultados verdadeiros, concluir a
veracidade do teorema. Por exemplo o teorema:
Todo inteiro positivo pode ser escrito como soma de dezoito
potencias quartas de inteiros.
As potencias quartas de inteiros sao: 0, 1 = 14 , 16 = 24 , 81 =
4
3 , . . . Para cada inteiro n 0 e possvel selecionar dezoito destes

L
ogica

67

n
umeros cuja soma da n, a menos que n = 79. Fica como exerccio
a vericacao de que 79 nao e soma de dezoito potencias quartas de
inteiros.

Erros em demonstrac
oes
Existem muitos erros comuns em construcoes de provas matematicas. Em geral, a maioria deles sao erros de aritmetica e algebra
b
asica. Ate matematicos prossionais cometem tais erros, especialmente quando trabalham com f
ormulas complicadas. Cada passo
da prova tem que ser feito e estar correto, pois a conclusao deve
seguir logicamente dos passos que a precedem. Seguem alguns
exemplos simples de erros em demonstracoes que nos levam a conclusoes erradas.
Exemplo (i) Vamos provarque 1 = 2.
Passos
1. a = b
2. a2 = ab
3. a2 b2 = ab b2
4. (ab)(a+b) = (ab)b
5. a + b = b
6. 2b = b
7. 2 = 1

Justicativas
Dados
Mult. os membros de (1) por a
Subtr. b2 dos membros de (2)
Fator. dos membros de (3)
Div. de (4) por ab
Trocando a por b, pois a = b
Div. os membros de (6) por b

Determine os erros da demonstracao dada.


Exemplo (ii) Determine o erro cometido na demonstracaodo
ao, n e positivo.
teorema Se n2 e positivo ent
Demonstracao: Suponha que n2 seja positivo. Como a proposicao Se n e positivo, ent
ao n2 e positivoe verdadeira, podemos concluir que n e positivo.
Solucao: Seja P (n) a proposicao: n2 e positivoe Q(n): n e
positivo. Agora a proposicao Se n2 e positivo, ent
ao n e positivose escreve na forma:
n (P (n) Q(n)).
Assim, de Q(n) P (n) verdadeira e P (n): verdadeira n
ao podemos concluir que Q(n) e verdadeira, pois nenhuma regra de inferencia foi usada, ou outra justicativa foi dada. Ali
as, esta prova
e um exemplo de fal
acia da armac
ao da conclus
ao. Note tambem

68

Aspectos Formais da Computa


c
ao

que a proposicao e falsa e um contra-exemplo e dado para n = 1,


para o qual n2 e positivo, mas n e negativo.
Exemplo (iii) Consideremos a proposicao: Se n n
ao e positivo,
2
ao e positivo, que e a contra-recproca do teorema do
ent
ao n n
exemplo (ii). Verique que a prova que segue est
a errada.
ao e positivo. Desde que se n
Prova: Suponhamos que n n
e positivo, ent
ao n2 e positivoe uma proposicao verdadeira, conao e positivo.
clumos que n2 n
De fato a provae uma fal
acia por negac
ao da hip
otese.
Finalmente, outro tipo de erro em demonstracoes ocorrem
quando se usa a fal
acia chamada Raciocnio Circular. Ela ocorre
quando um ou mais passos da prova s
ao baseados em verdades a
serem provadas. Em outras palavras, esta fal
acia aparece quando
a proposicao e provada usando ela mesma como hipotese, ou uma
proposicao equivalente a ela.
Por exemplo, se queremos provar que
n e um inteiro par, quando n2 e par
Segue a prova:
Suponhamos n2 : par, ou seja, n2 = 2k para algum inteiro k.
Seja n = 2l, para algum inteiro l. Isto mostra que n e par!!
Este argumento e incorreto, pois a proposicao: seja n = 2l,
para algum inteiro locorre na prova como hip
otese, e isto e
exatamente o que se pretende como tese. Esta e uma falacia por
raciocnio circular, pois a proposicao n e pare equivalente a
proposicao n = 2l, para algum inteiro l.

Exerccios dos tens 1.4 e 1.5.


(1) Quanticar a m de obter proposicoes verdadeiras:
(a) x2 + y 2 = (x + y)2 2xy, x, y R, (b) x + y = 8, x, y N,
(c) sec2 x = 1 + tan2 x, x A = {x R : 0 < x < }.
(2) Negue as proposicoes:
(a) x : (P (x) Q(x)) S(x). (b) x : P (x) S(x).
(c) x : A(x) B(x). (d) x : A(x) C(x).
(3) Negue cada uma das proposicoes abaixo e, depois, verique

L
ogica

69

se as proposicoes obtidas sao verdadeiras: (a) mdc(2, 3) = 3 ou


6
mmc(2, 3) = 6, (b) 35 = 10
ou 5.6 = 3.10, (c) Se 12 23 ent
ao
2.2 1.3, (d) Nem todo n
umero inteiro e um n
umero primo.
(4) Sejam M = {Joana, Slvia, Maria} e H = {Joao, Andre} e
entende-se por xRy: x e irmao de y. De a sentenca verbal para:
(i) x M : y H, xRy, (ii) x M, y H : xRy,
(iii) x M y H : xRy.
(5) Seja A = {1, 2, 3}. Determine os valor-verdade de cada uma
das proposicoes e, no caso de ser falso, negue-a e apresente o conjunto solucao: (a) x, y : x2 + y 2 < 12, (b) x, y, x2 < y + 1,
(c) x, y : x2 + y 2 < 12, (d) x, y, z : x2 + y 2 < 2z 2 ,
(e) x, y, z : x2 + y 2 < 2z 2 .
(6) Seja A = {1, 2, 3}.
(a) Negue a proposicao p(x, y, z) abaixo e verique o valorverdade da proposicao obtida: P (x, y, z) : x A, y A, z
A : x + 2y + 3z 12. (b) De uma sentenca aberta sobre A.
(7) Traduza em linguagem matematica:
(i) Todas as pessoas possuem exatamente uma mae. (ii) Todo
n
umero real nao nulo e inversvel. (iii) Para todo  > 0 existe
> 0, tal que para todo n
umero real x diferente de a, se o modulo
de x a e menor que , ent
ao o modulo de f (x) L e menor que .
(8) (i) Seja a um n
umero inteiro. Prove que: a2 e mpar a e
mpar.
(ii) Qual o tipo de demonstracao que voce usou?
(iii) Demonstre novamente usando um outro tipo de demonstracao.
(9) Para P : a = 3 e Q : a2 = 4, enuncie cada um dos tens
do Teorema 1.21 e verique o valores-verdade de cada uma das
proposicoes obtidas. Isto contradiz ou conrma o Teorema 1.21?

Exerccios do Captulo 1.
(1) Quais das sentencas dadas sao proposicoes? Quais sao os
valores-verdade das sentencas que sao proposicoes?

70

Aspectos Formais da Computa


c
ao

(a) Senegal ca no continente europeu.


(b) 2 + 3 = 5.
(c) Responde esta questao. (d) 2 + 7 = 10. (e) x + y = y + x
para quaisquer x, y R. (f) x + 2 = 11. (g) x + 1 = 5, se x = 1
ou x = 4. (h) Bem vindo a Rio Preto.
(2) Qual e a negacao das proposicoes:
(i) Hoje e terca-feira, (ii) N
ao existe poluic
ao em S
ao Paulo,
(iii) O ver
ao no Rio de Janeiro e quente e ensolarado.
(3) Sejam p e q as proposicoes: A eleic
ao est
a decididae Os
votos foram contados, respectivamente. Expresse cada uma das
proposicoes compostas como uma sentenca em lngua portuguesa:
(a) p
(b) p q
(c) p q
(d) q p
(e) q p
(f) p q
(g) p q
(h) q (p q).
(4) Considere as proposicoes p:Voce tirou dez no exame nal,
q: Voce fez todos os exerccios de AFCe r : Voce e um aluno
desta classe. Escreva as proposicoes abaixo usando p, q e r e os
smbolos logicos.
(a) Voce tirou dez no exame nal, mas voce n
ao fez todos os
exerccios de AFC.
(b) Voce fez todos os exerccios de AFC apesar de n
ao ser
aluno desta classe.
(c) Voce tirou dez no exame nal, mas n
ao fez todos os
exerccios de AFC, no entanto, voce e um aluno desta classe.
(d) Uma condic
ao necess
aria para voce tirar dez no exame nal
e voce fazer todos os exerccios de AFC e ser aluno desta classe.
(e) Uma condica
o necess
aria, mas n
ao suciente, para voce
tirar dez no exame nal e voce fazer todos os exerccios de AFC e
ser aluno desta classe.
(f) Voce fez todos os exerccios de AFC quando voce tira dez
no exame nal.
(5) Determine quando o condicional ou o bicondicional s
ao verdadeiros ou falsos.
(a) Se 1 + 1 = 2, ent
ao 2 + 2 = 5,
ao 2 + 2 = 4,
(b) Se 1 + 1 = 3, ent
(c) Se 1 + 1 = 3, ent
ao 2 + 2 = 5,
(d) Se elefante voa, ent
ao 1 + 1 = 2,

L
ogica

71

(e) Se 1 + 1 = 3, ent
ao Deus existe,
(f) 1 + 1 = 3 se, e somente se, elefante voa,
(g) 1 + 1 = 3 se, e somente se, 3 = 5,
(h) Elefante n
ao voa se, e somente se, 1 = 0.
(6) Escreva usando os smbolos logicos ou ou ou exclusivo.
(a) Com duzentos reais (R$200,00) voce compra um par de
sapatos de R$130,00 ou um tenis de R$160,00. (b) Domingo a`
tardinha vou assistir ao jogo ou vou assistir a um lme.
(7) De a negacao e a contra-recproca da proposicao: Se chover
hoje, ent
ao amanh
a vai fazer frio.
(8) Faca as tabelas-verdade das proposicoes compostas
(a) (p q) (pq)
(b) (pq) (p q)
(c) ( p q) (p q)
(d) (p q)( p q)
(e) (p q)(p q)
(f) ( p) (q r).
(9) A teoria de jogos logicos e usada em inteligencia articial. Nela
uma proposicao tem um valor-verdade que e um n
umero entre 0
(zero) e 1 (um), inclusive. Uma proposicao com o valor-verdade 0
(zero) e falsa e com o valor-verdade 1 (um) e verdadeira. Valoresverdade entre 0 e 1 indicam varios graus de verdade. O valorverdade da proposicao Jo
ao e felize 0.8, desde que Joao seja feliz
a maior parte do tempo (exatamente 0.8 do tempo), e a proposicao
Paulo e feliztem valor-verdade 0.4.
Sabendo-se que o valor-verdade da negacao de uma proposicao p, na teoria de jogos logicos, e 1 menos o valor-verdade de p,
o valor-verdade da conjuncao p q e o mnimo dos valores-verdade
de p e de q, e nalmente, o valor-verdade da disjuncao de duas
proposicoes p e q e o maximo dos valores-verdade de p e de q; de
os valores-verdade das proposicoes:
(i) Jo
ao e Paulo s
ao felizes, (ii) Jo
ao e Paulo n
ao s
ao felizes,
(iii) Jo
ao e feliz ou Paulo e feliz, (iv) Jo
ao n
ao e feliz ou Paulo
n
ao e feliz.
(10) Esta proposic
ao e falsa e uma proposicao? Por que?
(11) A n-esima proposicao em uma lista de 100 proposicoes e:
Exatamente n proposic
oes desta lista e falsa.

72

Aspectos Formais da Computa


c
ao
(a) Que conclusao podemos tirar destas proposicoes?

(b) Responda o item (a) se a n-esima proposicao e: Pelo menos


n proposic
oes desta lista s
ao falsas.
(12) Verique quais das proposicoes dadas sao tautologias:
(a) (p) (p q)
(b) (p q) (p q)
(c) [(p q)] p
(d) (p) [q p]
(e) [(p q)] (q) (f) [p (p q)] p
(g) [p (p q)] p
13) (i) Apresente uma proposicao composta P, envolvendo as proposicoes p, q e r, que e verdadeira quando p e q sao verdadeiras e r
falsa, e P e falsa nos outros casos.
(ii) Apresente uma proposicao composta Q, envolvendo as proposicoes p, q e r, que e verdadeira exatamente quando duas das
proposicoes p, q e r sao verdadeiras (portanto, falsa nos outros casos).
(14) Seja P (x) a proposicao: x 4. Quais sao os valores-verdade
de (a) P (0), (b) P (4), (c) P (6).
(15) Seja Q(x) a sentenca aberta a palavra x contem a letra a.
Quais sao os valores-verdade de: (a) Q(lim
ao), (b) Q(laranja), (c)
Q(impressor).
(16) Seja L(x, y) a sentenca aberta: x e a capital de y. Quais sao
os valores-verdade de: (a) L(S
ao Paulo, S
ao Paulo), (b) L(Braslia,
Goias), (c) L(New York, EUA), (d) L(Rio de Janeiro, Rio de
Janeiro).
(17) Seja P (x) a sentenca aberta: x passa mais de 5 horas por
semana em classe, onde o universo de discurso consiste de todos
os estudantes. Expresse cada uma das proposicoes em portugues:
(i) x P (x), (ii) x P (x), (iii) x P (x), (iv) x P (x).
(18) Traduza as proposicoes seguintes para o portugues, onde C(x)
e: x e um motoristae F (x) e: x e atencioso, e o universo de
discurso consiste de todas as pessoas. (a) x (C(x) F (x)), (b)
x (C(x) F (x)), (c) x (C(x) F (x)), (d) x(C(x) F (x)).

L
ogica

73

(19) Considere as sentencas C(x) : x tem um carro, D(x): x


tem um computadore F (x): x tem um notebook. Expresse cada
uma das proposicoes em termos de C(x), D(x) e F (x), quanticadores e smbolos logicos, onde o universo de discurso e constitudo
por todos os alunos de sua classe.
(a) Um estudante de sua classe tem um carro, um computador e
um notebook.
(b) Todos os estudantes de sua classe tem um
carro, um computador, ou um notebook.
(c) Algum estudante
de sua classe tem um carro, e um computador, mas n
ao tem um
notebook.
(d) Nenhum estudante de sua classe tem um carro,
um computador, e um notebook. (e) Para cada um dos objetos:
carro, computador e notebook, existe um aluno de sua classe que o
possui.
(20) Traduza para a linguagem matematica cada uma das proposicoes, a seguir, usando predicados, quanticadores, smbolos,
etc. (a) Ninguem e perfeito, (b) Nem todos s
ao perfeitos, (c)
Todos os seus amigos s
ao perfeitos, (d) Um dos seus
amigos e perfeito, (e) Todos s
ao seus amigos e s
ao perfeitos,
(f) Nem todos s
ao seus amigos ou alguem e perfeito.
(21) (i) Seja P (x) a proposicao: x = x2 , onde o conjunto universo U consiste de todos os inteiros. Determine o valores-verdade
de:
(a) P (0),
(b) P (1),
(c) P (2),
(d) P (1),
(e) x P (x), (f) x P (x).
(ii) Idem para Q(x) : x + 1 > 2xe (a) Q(0), (b) Q(1),
(c) Q(1), (d) x Q(x), (e) x Q(x), (f) x Q(x), (g) x Q(x).
(22) Determine os valores-verdade das proposicoes abaixo onde o
universo U = Z.
(a) n (n + 1 > n), (b) n(2n = 3n), (c) n(n = n),
(d) n(n2 n).
(23) Seja P (x) uma sentenca aberta denida sobre o conjunto U =
{1,0,1,2}. Escreva cada uma das proposicoes seguintes
usando apenas disjuncoes, conjuncoes e negacoes. (a) xP (x),
(b) xP (x), (c) x P (x), (d) x P (x), (e) (xP (x)),
(f) (x P (x)).

74

Aspectos Formais da Computa


c
ao

(24) Expresse cada uma das proposicoes de (a) a (d) usando smbolos logicos, predicados e quanticadores. (a) Algumas proposic
oes
s
ao tautologias, (b) A negac
ao de uma contradic
ao e uma tautologia, (c) A disjunc
ao de duas contingencias pode ser uma tautologia, (d) A conjunc
ao de duas tautologias e uma tautologia.
(25) Traduza para a lngua portuguesa as sentencas matematicas
seguintes, onde D(p) e: a p-esima impressora est
a com defeito,
A(p): a p-esima impressora est
a ativa, P (j): a j-esima impress
ao foi perdidae F (j): a j-esima impressora tem uma longa
la.
(a) p(D(p) A(p)) jP (j), (b) pA(p) jF (j),
(c) j, k(F (j) P (k)) pD(p),
iP (i).

(d) (pA(p) jF (j))

(26) Determine se x(P (x) Q(x)) e xP (x) xQ(x) tem


o mesmo valor-verdade. De um exemplo que conrme a resposta.
(27) Mostre que x(P (x) Q(x)) e xP (x) xQ(x) tem o
mesmo valor-verdade.
(28) Mostre que x(P (x) Q(x)) e xP (x) xQ(x) tem o
mesmo valor-verdade.
(29) Para uma proposicao xada A sem envolver quanticadores,
mostre que: (a) (xP (x))A x(P (x)A), (b) (xP (x))A
x(P (x)A).
(30) Mostre que (i) xP (x)xQ(x) e x(P (x)Q(x))n
ao
sao logicamente equivalentes e
(ii) xP (x) xQ(x)e
x(P (x) Q(x)) nao sao logicamente equivalentes.
(31) Traduzir para o portugues as proposicoes seguintes, onde o
universo de discurso para cada vari
avel e o conjunto de todos os
n
umeros reais:

(a) xy(x < y), (b) xy [(x 0) (y 0)] [xy 0] ,


(c) xyz(xy = z), (d) xy(xy = y).

L
ogica

75

(32) Seja Q(x, y) a proposicao: x tem enviado uma mensagem


por e-mail para y, onde o universo de discurso consiste de todos
os alunos da classe. Expresse em portugues as proposicoes:
(a) xyQ(x, y), (b) xyQ(x, y), (c) xyQ(x, y),
(d) yxQ(x, y), (e) yxQ(x, y).
(33) Expresse as proposicoes em linguagem matematica, usando smbolos logicos:
(a) A soma de dois inteiros negativos e negativa, (b) A diferenca de dois inteiros positivos n
ao
e necessariamente positiva, (c) A soma de quadrados de dois
inteiros (soma de dois quadrados) e maior ou igual ao quadrado
de sua soma, (d) Todo inteiro positivo e uma soma de quatro
quadrados.
(34) Para os conjuntos universo indicados, quais s
ao os valoresverdade das proposicoes seguintes: (I) U = Z.
(a) nm(n2 < m), (b) nm(n < m2 ), (c) nm(m + n = 0),
(d) nm (n.m = m), (e) nm(n2 + m2 = 5), (f ) nm(n2 +
m2 = 6),

(m + n)

(g) nm(n + m = 4 n m = 1), (h) nmp p =


.
2
(II) U = R.
(a) xy(x2 = y), (b) xy(x.y
= 0), (c) xy(y = 0 x.y =
x + y

, (e) xy(x + y = y + x).


1), (d) xyz z =
2
(35) Um n
umero real l e chamado de limite superior de um subconjunto n
ao vazio S de n
umeros reais se l e maior ou igual a qualquer
elemento de S. E s e chamado de supremo de S se s e um limite
superior, e qualquer outro limite superior de S e maior ou igual a
s. Use os smbolos logicos e coloque as denicoes de limite superior
e supremo de um subconjunto S em termos matematicos.
(36) Use smbolos logicos para denir limn an = L, onde an

R, n N.

(37) Mostre que log2 3 nao e um n


umero racional, ou seja, n
ao
pode ser escrito na forma a/b, com a e b inteiros.

76

Aspectos Formais da Computa


c
ao

(38) Determine quando cada um desses argumentos e valido. E se


um argumento e valido, que regra de inferencia foi usada? Se nao
e valido, que erro l
ogico ocorreu?
(a) Se n e um n
umero real tal que n > 1, ent
ao n2 > 1,
(b) Armacao: O n
umero log2 3 e irracional, pois ele n
ao e
ao pode
o quociente de dois inteiros. Portanto, desde que log2 3 n
ser escrito na forma ab , com a, b inteiros, conclui-se que ele e
irracional,
(c) Se n e um n
umero real e n > 3, ent
ao n2 > 9. Portanto
ao n 3.
se n2 9, ent
(d) Se n e um n
umero real e n > 2, ent
ao n2 > 4. Portanto,
2
se n 2, ent
ao n 4.
(39) Determine quando os argumentos sao validos:
(a) Se x2 e irracional, ent
ao x e irracional. Portanto, se x e
irracional, segue-se que x2 e irracional.
ao x e irracional. O n
umero x2 = 2
(b) Se x2 e irracional, ent
e irracional. Portanto x = e irracional.
(40) Prove que o quadrado de um n
umero par e par, usando (i)
Prova direta e (ii) Prova por contradicao.
(41) Prove que: (a) A soma de dois inteiros mpares e par,
(b) O produto de dois inteiros mpares e mpar,
(c) A soma de um n
umero irracional com um n
umero racional
e irracional (Sugestao: Por contradicao) e
(d) O produto de dois n
umeros racionais e racional.
(42) Prove ou de um contra-exemplo: O produto de dois n
umeros
irracionais e irracional.
(43) Prove por contradicao que, de 64 dias escolhidos, pelo menos
10 caem em um mesmo dia da semana.
(44) Use prova por casos e prove que,
(i) max{x, y} + min{x, y} = x + y, para quaisquer x, y, z R,
(ii) min{x, min{y, z}} = min{min{x, y}, z}, x, y, z R.
(45) (i) Prove que o u
ltimo dgito de um quadrado de um n
umero
inteiro e: 0, 1, 4, 5, 6, ou 9. (Sugest
ao: escreva n = 10k + l, l um
inteiro entre 0 e 9 inclusive).

L
ogica

77

(ii) Prove que o u


ltimo dgito de uma quarta potencia de um
n
umero inteiro e: 0, 1, 5, ou 6.
(46) Prove que as seguintes proposicoes sao equivalentes, onde n e
um n
umero inteiro.
(i) 3n + 2 e um inteiro par, (ii) n + 5 e um inteiro mpar,
(iii) n2 e um inteiro par.
(47) (i) Prove que existe uma sequencia de 100 n
umeros inteiros
consecutivos que nao sao quadrados perfeitos, isto e: nao e da forma
n2 para algum inteiro n. A prova dada e construtiva? (ii) Prove
que 2.10500 + 15 ou 2.10500 + 16 nao e um quadrado perfeito. A
prova dada e construtiva ou n
ao-construtiva?
(48) Considere as premissas:
(1) L
ogica e difcil ou poucos estudantes gostam de l
ogica.
(2) Se matem
atica e f
acil, ent
ao l
ogica n
ao e difcil, e determine quando as seguintes conclusoes sao validas baseadas nestas
premissas:
(a) Matem
atica n
ao e f
acil se muitos estudantes gostam de
l
ogica.
(b) Poucos estudantes gostam de l
ogica se matem
atica n
ao e
f
acil.
(c) Matem
atica n
ao e f
acil ou l
ogica e difcil.
(d) L
ogica n
ao e difcil ou matem
atica n
ao e f
acil.
(e) Se poucos estudantes gostam de l
ogica, ent
ao, ou matem
atica n
ao e f
acil, ou l
ogica n
ao e difcil.

Captulo 2

ARITMETICA
DOS NUMEROS
INTEIROS

No 1.4 do captulo 1 j
a citamos uma referencia para a teoria dos
n
umeros inteiros. Outras referencias sobre os n
umeros inteiros e sua
ordem usual , bem como sobre o princpio que segue sao livros
de algebra para cursos de graduacao, por exemplo, a referencia [3].
Axioma 2.1 Princpio do Menor Inteiro ou Boa Ordem.
ao vazio e limitado inferiormente.
Seja L um subconjunto de Z n
Ent
ao L possui um mnimo (denotado por min L).
bom explicar o que diz o princpio j
E
a que nada foi dito ate
agora sobre os conceitos de ordem, limite inferior e mnimo. O
princpio arma que, se existe em Z um elemento m que e menor
ou igual a qualquer elemento de L, ent
ao existe em L um elemento
l, que e menor ou igual a qualquer elemento de L. Em smbolos:
ao l0 L | l0 l, l L.
Se m Z | m l, l L ent
ao min L = 10.
Por exemplo, se L = {x Z : |x| 10}, ent
2
O subconjunto L1 = {x Z : x > 3} nao possui mnimo, pois
n
ao e limitado inferiormente. Esta e uma propriedade importante
dos subconjuntos dos n
umeros inteiros que nao e valida para os
subconjuntos dos n
umeros racionais ou reais, como pode ser visto
nos exemplos a seguir.
1
, n N}
Por exemplo, o subconjunto de n
umeros racionais { n+1
e limitado inferiormente pelo n
umero zero, mas nao tem mnimo em
Q. O subconjunto de numeros reais {x R : 0 < x < 1} tambem
n
ao tem mnimo, apesar de ser limitado inferiormente pelo n
umero
zero. Tente demonstrar ou convencer-se disto.

Aspectos Formais da Computa


c
ao

80

2.1

Indu
c
ao

Primeiro Princpio de Indu


c
ao Finita (P.I.F.)
Dado a Z e P (n) uma sentenca aberta denida para todo n
Z, n a. Se
(i) P (a) e verdadeira,
(ii) r a, P (r) = P (r + 1),
ent
ao P (n) e verdadeira para todo n a.
O Princpio de Inducao Finita e uma poderosa ferramenta matematica e pode ser expressa como regra de inferencia da seguinte
forma:
[P (a) (r a, P (r) P (r + 1))] = [n a, P (n)].
Uma boa visualizacao deste princpio e o chamado efeito domino.
Quando trabalhamos com subconjuntos dos n
umeros inteiros,
por vezes e interessante utilizarmos uma outra versao para este
princpio, chamada Segundo Princpio de Inducao Finita.
Segundo Princpio de Indu
c
ao Finita (P.I.F.)
Dado a Z e P (n) uma sentenca aberta denida para todo n
Z, n a.
Se
(i) P (a) e verdadeira,
(ii) Dado r > a, se P (k) e verdadeira para a k r, ent
ao
P (r + 1) e verdadeira;
ent
ao P (n) e verdadeira para todo n a.
Em outras palavras,
P (a)[(P (a+1)P (a+2) P (r)) P (r+1)] = nP (n).
Demonstracao: (Do 1o e do 2o Princpio). Apresentaremos uma
demonstracao para estes princpios por reducao ao absurdo, fazendo
uso do princpio da boa ordem. Seja L = {x a | P (x) : falsa}.
Suponhamos L = . Como L e limitado inferiormente por a pelo
princpio do menor inteiro, L possui um mnimo. Seja l0 = min L.
Ent
ao a l0 , pois l0 L. Como por (i) P (a) e verdadeiro e P (l0 )
e falso (pois l0 L), segue que a = l0 . Assim, a l0 1 < l0 e,

Aritm
etica dos N
umeros Inteiros

81

portanto, l0 1  L, (pois l0 = min L). Isto implica que P (l0 1)


e verdadeira. Por (ii) vem que P (l0 ) e verdadeira, absurdo. Logo
L = .

Observa
c
ao 2.2 Na pratica verica-se (i) e demonstra-se (ii) que
o Princpio garante que P (n) e verdadeira para todo n a,
Exemplo.
(1). Toda postagem de 12 centavos ou mais, pode ser paga usando
moedas de quatro e cinco centavos.
De fato, uma postagem de 12 centavos pode ser paga usando
tres moedas de quatro centavos.
Suponhamos que uma postagem de k centavos, k 12, possa
ser paga usando moedas de quatro e cinco centavos, e consideremos uma postagem de k + 1 centavos. Temos os casos:
(a) Se k foi paga usando pelo menos uma moeda de quatro
centavos, troque uma moeda de quatro centavos por uma moeda
de cinco centavos.
(b) Se k foi pago so com moedas de cinco centavos, foram
necessarias pelo menos tres moedas de cinco centavos, pois k 12.
Troque tres moedas de cinco centavos por quatro moedas de quatro
centavos.
(2). Prove que a soma dos n primeiros n
umeros naturais nao-nulos
n(n + 1)
.
e
2
Solucao Temos que provar que P (n) e verdadeira para todo
n
umero natural n 1, onde P (n) e a igualdade: 1 + 2 + . . . + n =
n(n + 1)
1(1 + 1)
. P (1) e verdadeira pois 1 =
. Suponhamos agora
2
2
k(k + 1)
e verdadeira e provemos que
que P (k) : 1 + 2 + . . . + k =
2
(k + 1)[(k + 1) + 1]
e verdadeira.
P (k+1) : 1+2+. . .+k+(k+1) =
2
Partindo do lado esquerdo da igualdade, temos 1 + 2 + . . . + k +
(k + 1) = [1 + 2 + . . . + k] + (k + 1) que, por hip
otese de inducao,
k(k + 1)
+ (k + 1). Reduzindo ao mesmo denominador, temos
e
2
k(k + 1) + 2(k + 1)
(k + 1)(k + 2)
1 + 2 + . . . + k + (k + 1) =
=
,
2
2

82

Aspectos Formais da Computa


c
ao

que e o 2o membro. Pelo primeiro princpio de inducao obtemos


n(n + 1)
para todo n
umero natural n > 0.
1 + 2 + ... + n =
2
(3). Prove que P (n) : 2 + 2.3 + 2.32 + + 2.3n = 3n+1 1 para
todo n
umero natural n.
Solucao P (0) : 2 = 31 1 e verdadeira. Suponhamos que, para
k 0, P (k) : 2 + 2.3 + 2.32 + . . . + 2.3k = 3k+1 1 e verdadeira, e
provemos que P (k+1) : 2+2.3+2.32 +. . .+2.3k +2.3k+1 = 3k+2 1
e verdadeira. Partindo do primeiro membro, temos 2 + 2.3 + 2.32 +
h.i.
. . . + 2.3k + 2.3k+1 = [2 + 2.3 + 2.32 + . . . + 2.3k ] + 2.3k+1 =
[3k+1 1] + 2.3k+1 = 3.3k+1 1 = 3k+2 1. O primeiro princpio
de inducao garante que 2 + 2.3 + 2.32 + . . . + 2.3n = 3n+1 1 para
todo n N.
(4). Prove que 7 divide 32n+1 + 2n+2 , n 0.
Seja xn = 32n+1 + 2n+2 . Temos que provar que xn = 7.qn , para
algum qn N, dependendo de n. Como x0 = 7.1, q0 = 1. Vamos
supor que exista qk N, tal que xk = 7.qk . Da xk+1 = 32(k+1)+1 +
2(k+1)+2 = 32k+3 + 2k+3 = 32 .32k+1 + 2.2k+2 = (7 + 2)32k+1 +
hip.

2.2k+2 = 7.32k+1 + 2xk = 7.32k+1 + 2.7.qk = 7(32k+1 + 2qk ). Logo


7 divide xk+1 . Pelo primeiro princpio de inducao nita conclumos
que 7 divide 32n+1 + 2n+2 , para todo n 0.
(5). Prove que (1 + a)n 1 + n.a, n N , a R, a 1 xo.
Para n = 1 a armacao 1 + a 1 + a esta correta. Para provar
a condicao (ii) do primeiro princpio de inducao, suponhamos que
(1 + a)k 1 + ka. Como 1 + a e positivo, multiplicando por 1 +
a ambos os lados da desigualdade e desenvolvendo o membro da
ao (1 + a)k+1
direita obtemos: (1 + a)k+1 1 + ka + a + ka2 . Ent
2
2
1 + (k + 1)a + ka . Como ka 0 segue-se que (1 + a)k+1
1 + (k + 1)a. O primeiro princpio de inducao garante que P (n) :
(1 + a)n 1 + na, n N , a R, a 1 e verdadeira.
Observa
c
ao 2.3 Ao utilizarmos o P.I.F., assim como em toda argumentacao, devemos ter muitos cuidados para n
ao cairmos em
armadilhas.
(1) Considere o seguinte teoremae sua prova
Teorema Todos os cidadaos sao tratados igualmente pela lei.

Aritm
etica dos N
umeros Inteiros

83

Prova (Por inducao sobre o n


umero i de cidadaos). Quando i = 1,
existe apenas um cidadao e o teorema e trivialmente verdadeiro.
Suponha o teorema verdadeiro para quaisquer k cidad
aos e
considere um grupo de k + 1 cidadaos, denotados por c1 , c2 , . . . ,
ck , ck+1 . Por hip
otese de inducao, c1 , c2 , . . . , ck sao tratados igualmente perante a lei, e o mesmo ocorre com c2 , . . . , ck , ck+1 . Portanto, os tratamentos pela lei de c1 , c2 , . . . , ck , ck+1 sao os mesmos
ao, o teorema e verdadeiro para
que o de c2 , e devem ser iguais. Ent
i = k + 1.
Deixando de lado os argumentos polticos, ha uma falacia nesta
prova. Veja se descobre.
(2) Considere o seguinte teoremae sua prova.
Teorema Para todo i 0







1 + i 1 + (i + 1) 1 + (i + 2) 1 + (i + 3) . . . = i + 1
Prova
(Por inducao sobre i). Para i = 0, o teorema se reduz

a 1 + 0 = 0 + 1, que e obviamente verdadeiro. A hip


otese de
inducao e:







1 + k 1 + (k + 1) 1 + (k + 2) 1 + (k + 3) . . . = k + 1
de onde obtemos (elevando-se ao quadrado, subtraindo 1 e dividindo-se por k):







1 + (k + 1) 1 + (k + 2) 1 + (k + 3) 1 + (k + 4) . . . =
k 2 + 2k
(k + 1)2 1
=
= k + 2 = (k + 1) + 1.
k
k
Novamente, ha uma falacia nesta prova. Qual e ela?
=

Aspectos Formais da Computa


c
ao

84

Recurs
ao por Curso de Valores
A ideia de recurs
ao por curso de valores e usada para calcular
o valor de uma funcao f (ou vericar se uma determinada propriedade e verdadeira) no (n + 1)-esimo n
umero natural, n
ao somente em termos do valor de f em n, mas usando tambem os demais
valores de f em 0, 1, . . . , n 1, previamente obtidos. As denicoes
que usam a recursao por curso de valores sao ditas recursivas ou
recorrentes. Para formalizar melhor temos:
Deni
c
ao 2.4 Denic
ao Recursiva ou por Recorrencia.
S
ao denicoes do tipo:
(i) Dene-se em alguns valores iniciais e,
(ii) Os proximos valores sao denidos em funcao dos valores
previamente estabelecidos e dos valores ja obtidos.
Exemplos
(1) A seq
uencia de Fibonacci e denida por
(i) f (0) = f (1) = 1 e
(ii) f (n + 1) = f (n) + f (n 1), n 1,
de modo que seus termos iniciais sao 1, 1, 2, 3, 5, 8, 13, . . .
(Nota: Se n representar a quantidade de anos, f (n 1) representa a quantidades de ramos de uma planta com a seguinte
caracterstica: Cada ramo que nasce, depois de dois anos de vida,
faz brotar de si um ramo por ano. Com isto, no n-esimo ano de
vida da planta temos f (n1) ramos. Esta seq
uencia tambem serve
para descrever a populacao de coelhos no n-esimo ano, partindo de
um casal e admitindo-se perfeitas condicoes para seu desenvolvimento.
(2) A adi
c
ao de n
umeros naturais e denida por:
(i) a + 0 = a,
(ii) a + (n + 1) = (a + n) + 1, n 0.
Por exemplo, para calcular 3 + 2 usamos (ii) 3 + 2 = (3 + 1) + 1
e precisamos de calcular 3 + 1. Para calcular 3 + 1 usamos (ii) para
obter 3 + 1 = (3 + 0) + 1. Da, sabendo-se que 3 + 0 = 3, substitui-se
na expressao anterior (3 + 0) por 3 para obter 3 + 1, da obtem-se
3 + 2. Ent
ao o processo e recorrente.

Aritm
etica dos N
umeros Inteiros

85

(3) A multiplicacao de n
umeros naturais e denida por:
(i) a.0 = 0,
(ii) a.(n + 1) = a + (a.n), n 0.
Por exemplo, para calcular 3.2, o processo e o mesmo do exemdef.

plo anterior: precisamos de 3.0 = 0. Da 3.1 = 3 + 3.0 = 3 + 0 = 3


(pelo caso anterior). Agora 3.2 = 3 + 3.1 = 3 + 3. Agora 3 + 3 se
calcula pela denicao anterior para obter a quantidade denotada
por 6.
(4) Para um n
umero real a > 0, denimos potencias naturais de a
por:
(i) a0 = 1,
(ii) an+1 = a.an , n 0.
Por exemplo, para calcular 32 , precisaremos de 30 e 31 . Temos
def
def.
31 = 3.30 = 3.1 = 3 (caso anterior). Da 32 = 3.31 = 3.3, que
se calcula pelo exemplo anterior, para obter uma quantidade que e
denotada por 9.
Usando o P.I.F. pode-se provar as seguintes propriedades da
potenciacao:
Propriedades Para a, b R, a > 0, b > 0 e n, m N, tem-se:
(a) an .am = an+m , (b) (an )m = an.m , (c) (ab)n = an .bn e
a
n an
(d)
= n.
b
b
Para ilustrar, vamos demonstrar a propriedade (a) por inducao
sobre n, e as demonstracoes das outras propriedades cam como
exerccios de aplicacao dos princpios de inducao.
def.
Temos a0 .am = 1.am = am = a0+m , e a condicao (i) do
primeiro princpio de inducao esta satisfeita. Para provar a condidef.(ii)

cao (ii) suponha que ak .am = ak+m . Ent


ao ak+1 .am === (a.ak )am
assoc.

hip.

def.(ii)

=== a.(ak .am ) == a.ak+m === a1+(k+m) = a(1+k)+m . Pelo


primeiro princpio de inducao nita, obtemos an .am = an+m para
todo a > 0, a R e n, m N.

(i) : 0! = 1,
(5) n! denido por
(ii) : n! = n.(n 1)!, n > 0
Por exemplo, 1! = 1, 2! = 2.1! = 2.1 = 2, 3! = 3.2! = 3.2 = 6.

86

Aspectos Formais da Computa


c
ao

(6)
A Funcao de Ackermann A : N N N e denida por:
n 0;
(i) : A(0, n) = n + 1,
(ii) : A(m, 0) = A(m 1, 1),
m 1;

(iii) : A(m, n) = A(m1, A(m, n1)), m > 0, n > 0.


Por exemplo, para calcular A(2, 0) temos:
A(2, 0) = A(1, 1) por (ii). Da por (iii) vem que A(2, 0) =
A(0, A(1, 0)), e precisamos de A(1, 0) que por (ii) e (i) nos d
a
A(1, 0) = A(0, 1) = 1 + 1 = 2. Finalmente substituindo temos
A(2, 0) = A(0, A(1, 0)) = A(0, 2) = 1 + 2 = 3.
A funcao de Ackermann tem importante papel na teoria de
funcoes recursivas e no estudo da complexidade de certos algoritmos
envolvendo reuni
oes de conjuntos. Ela e usada para medir nveis
de complexidade de funcoes recursivas.

2.2

M
ultiplos e Divisores

Fixado um n
umero inteiro m, mZ denotar
a o seguinte subconjunto
de Z,
mZ := {mq, q Z} = {0, m, 2m, 3m, . . . , qm, . . .}.
Deni
c
ao 2.5 Seja m Z. Dizemos que x Z e m
ultiplo de m
ou que m divide x, ou ainda que x e divisvel por m se x mZ.
A notacao para dizer que m divide (n
ao divide) x e: m|x
(respectivamente m  x).
Por exemplo, 20 5Z, pois 20 = 5.4; 35 5Z, pois 35 =
5(7). Logo, 20 e 35 sao m
ultiplos de 5. Tambem podemos
escrever 5|20 e 5|(35).
Note que 0|0, pois 0 0Z = {0}; alias, m|0 qualquer que seja
m Z.
Propriedades Para todos a, b, c Z, tem-se:
(i) a|a, (ii) a|b e b|c a|c, (iii) a|b e b|a a = b,
(iv) a|b e a|c a|(bx cy), para quaisquer x, y Z.
Demonstracao: Demonstraremos apenas o item (iv), e os demais cam como exerccios para o leitor interessado. Como a|b e
a|c, existem q1 e q2 Z, tais que b = aq1 e c = aq2 . Da para

Aritm
etica dos N
umeros Inteiros

87

todos x, y Z, bx cy = (aq1 )x (aq2 )y = a(q1 x q2 y), com



q1 x q2 y Z. Por denicao, a|(bx cy).
Exemplo. Como 3|6 e 3|9, ent
ao 3|(6x 9y) quaisquer que sejam
x, y Z. Isto e claro pois 6x 9y = 3(2x 3y) 3Z.

2.2.1

N
umeros Primos

Vamos denotar por D(b) o subconjunto de Z, formado pelos divisores do n


umero inteiro b, e por D+ (b) o subconjunto de Z, formado
pelos divisores positivos de b. Como b e b dividem b e um deles
e positivo, nenhum desses subconjuntos e vazio.
Um n
umero inteiro m n
ao-nulo admite os divisores 1, -1, m
e m ditos divisores impr
oprios de m. Outros divisores diferente
destes, caso existam, sao ditos divisores pr
oprios de m.
Deni
c
ao 2.6 Seja p um n
umero inteiro distinto de 1, -1 e zero.
Dizemos que p e um n
umero primo se D+ (p) = {1, |p|}, ou seja, p
n
ao admite divisores proprios. Caso contr
ario, dizemos que p e um
n
umero composto.
Exemplo. Os n
umeros 2, 3, -11 sao primos, enquanto 4, 6 s
ao
compostos.
Para determinar se um dado n
umero n > 1 e primo, ou se
queremos os n
umeros primos compreendidos entre 1 e n, podemos
fazer uso do Crivo de Erat
ostenes que consiste no seguinte:
Escrevemos numa linha ou tabela retangular os n
umeros de 1
a n. Cancelamos 1, deixemos 2 (este e primo) e cancelamos os outros m
ultiplos de 2 ate n. O proximo n
umero nao cancelado e o 3.
Deixemos o 3 (este e primo) e cancelamos os outros m
ultiplos de
3 ate n. O proximo n
umero nao cancelado e o 5 (este e primo).
Deixemos o 5 e cancelamos os outros m
ultiplos de 5 ate n. As
sim sucessivamente ate chegar em n + 1 (veja a proposicao a
seguir). Os n
umeros que restaram sao os n
umeros primos compreendidos entre 1 e n. Por exemplo, vamos obter os n
umeros

Aspectos Formais da Computa


c
ao

88
primos p, 1 < p 72.
1
13
 25
37
 49
61

2
 14
 26
 38
 50
 62

3
 15
 27
 39
 51
 63

4
 16
 28
 40
 52
 64

5
17
29
41
53
 65

6
 18
 30
 42
 54
 66

7
19
31
43
 55
67

8
 20
 32
 44
 56
 68

9
 21
 33
 45
 57
 69

 10
 22
 34
 46
 58
 70

11
23
 35
47
59
71

 12
 24
 36
 48
 60
 72

Proposi
c
ao 2.7 Seja n Z, n > 1. Se n e composto, ent
ao n

admite um divisor pr
oprio a n. Em particular n admite um

divisor primo p n.
Demonstracao: Sera feita por reducao ao absurdo.
ao,
Por hip
otese existe b Z, 1 < b < n, tal que n = a.b. Ent

se todos os divisores proprios de n sao maiores que n, temos

a > n e b > n. Fazendo o produto membro a membro temos:



a.b > n. n = n = a.b, o que e absurdo. Assim, a primeira parte
da proposicao esta concluda. Por que n admite um divisor primo


p n?
Exemplo. Mostre que 211 e um n
umero primo.
Solucao: Basta
vericar que ele nao possui divisores primos p

menores que 211 < 15. Por tentativa verica-se que nenhum dos
primos 2,3,5,7, 11,13 dividem 211. Logo 211 e um n
umero primo.
Lema 2.8 Sejam a Z, a = 1, a = 0 e S = D+ (a) {1}. Ent
ao
S = e min S e um n
umero primo.
ao S = . Pelo
Demonstracao: Como a ou a D+ (a), ent
princpio do menor inteiro existe p = min S. Se p fosse composto,
existiria um divisor pr
oprio r de p com 1 < r < p. Mas isto implica
que r S e portanto p nao seria o min S; absurdo. Ent
ao p e primo
como queramos.

Este Lema nos diz, em particular, que, se um n
umero inteiro a
e composto, ele admite um divisor primo.

Aritm
etica dos N
umeros Inteiros

89

Nota: Os n
umeros primos sao importantes em criptograa,
o estudo de mensagens secretas. No caso de senhas p
ublicas e
individuais, elas s
ao feitas baseadas em um n
umero composto n que
e produto de dois primos grandes e n
ao conhecidos do p
ublico em
geral. Isto diculta a descoberta de uma senha individual, porque
e difcil decompor um n
umero grande em produto de primos.
No entanto, se existisse um n
umero nito de primos, esta tecnica
n
ao funcionaria. Mas no seu famoso texto The Elements, o matematico Euclides apresenta (aproximadamente em 300 A.C.) uma
bela prova por contradicao para o seguinte resultado:
Teorema 2.9 Existem innitos n
umeros primos.
Demonstracao: Suponhamos que exista apenas um n
umero nito de primos. Logo existe um n
umero nito de primos positivos.
umero m =
Suponhamos que sejam: p1 , p2 , . . . , pn . Considere o n
p1 .p2 pn + 1. Desde que m > pi , ent
ao m = pi para todo i =
1, 2, . . . , n. Logo m nao e um n
umero primo. Pela Proposicao 2.7,
existe i {1, . . . , n}, tal que pi |m. Como pi tambem divide o produto p1 .p2 pn , pela propriedade (iv) de divisibilidade, conclumos
que pi divide 1 = m p1 .p2 pn . Absurdo. Portanto existem innitos primos.

Nota: Ao longo dos u
ltimos 300 anos, muitos pesquisadores
procuraram descobrir primos grandes. O maior primo conhecido e
do tipo especial 2p 1, onde p e primo. Os primos do tipo 2p 1
sao ditos Primos de Mersenne, (Marin Mersenne 1566-1648).
A razao de os maiores primos conhecidos serem primos de
Mersenne e que existe um teste extremamente eciente, conhecido
como teste de Lucas-Lehmer, para determinar quando um n
umero
do tipo 2p 1 e primo. Alem disto, o teste nao e bom para vericar
rapidamente se outros tipos de n
umeros distintos de 2p 1, p :
primo sao ou nao sao primos.
Exemplo. Os n
umeros 22 1 = 3, 23 1 = 7 e 25 1 = 31
ao e um primo (de
sao primos de Mersenne. Mas 211 1 = 2.047, n
Mersenne), pois 2.047 = (23).(89). Note que, se n = ab (composto),

90

Aspectos Formais da Computa


c
ao

ent
ao 2n 1 = 2ab 1 = (2a 1)(2(b1)a + 2(b2)a + + 2a + 1)
tambem e composto.
Com o advento do computador, muitos primos de Mersenne tem
sido descobertos. Ate meados do ano 2002 eram conhecidos trinta e
nove primos de Mersenne, com oito deles descobertos de 1990 para
ca. O maior primo de Mersenne conhecido ate meados de 2002 e
umero com mais de quatro milhoes de dgitos,
213466917 1, um n
que foi provado que e primo em 2001.
Ate o momento nao existe um metodo que de o n-esimo n
umero
primo, e existem muitas perguntas importantes sobre n
umeros primos sem respostas. Uma pergunta interessante e: Quantos n
umeros
primos existem entre 1 e um n
umero n positivo, dado? Esta quest
ao
ate hoje e de interesse matematico e por longos anos tem sido objeto de pesquisa. Nos u
ltimos dezoito seculos, os matematicos tem
feito longas tabelas de n
umeros primos para obter evidencias sobre a distribuicao de primos. A seguinte conjectura e devido aos
grandes matematicos Gauss e Legendre.

Conjectura: A razao do numero de primos positivos nao excedendo

n
aproxima de 1 quando n cresce innitamente.
ln n
Seja (n) a quantidade de n
umeros primos positivos que nao
excede n. A conjectura de Gauss Legendre arma que o quociente
(n)
tende a 1 quando n vai para o innito, ou ainda,
n/ ln n
(n) ln n
lim
= 1.
n
n

ne

2.2.2

M
aximo Divisor Comum (mdc).

Sejam a e b inteiros nao ambos nulos. O maior inteiro d, tal que


d|a e d|b, e dito m
aximo divisor comum de a e b. Denota-se d por
mdc(a, b).
Dene-se como sendo zero o mdc(0, 0); 0 = mdc(0, 0).
O mdc(a, b) sempre existe, pois o conjunto dos divisores positivos de um n
umero inteiro n
ao-nulo e nito. Para determin
a-lo,
basta considerar o conjunto de divisores comuns a a e b e tomar o

Aritm
etica dos N
umeros Inteiros

91

maior deles. Como a e a dividem a, e um deles e positivo, basta


procurar d no conjunto D+ (a) D+ (b).
Exemplo
(1) Calcule mdc(24, 36).
Solucao: Os divisores de 24 sao os mesmos de 24. Logo, basta
considerar: D+ (24) D+ (36) = {1, 2, 3, 4, 6, 8, 12, 24} {1, 2, 3, 4, 6,
9, 12, 18, 36} = {1, 2, 3, 4, 6, 12}. Por denicao mdc(24, 36) = 12.
(2) mdc(7, 10) = 1, pois D+ (7) = {1, 7}, e 7 nao divide 10.
O processo natural de calcular o mdc de dois n
umeros dados,
como exemplicado acima, nao e muito pratico. Existe um processo
para o calculo de mdc(a, b) que consiste no seguinte procedimento:
(1) Verique se um dado n
umero d e positivo; (2) Verique se d
divide a e b; (3) Tome um divisor comum de a e b, digamos d e
verique se d divide d. Caso d satisfaca estas condicoes, entao d e
o mdc(a, b).
De fato, desde que a|c = (a|c e a|c) e o maior deles e
positivo, tem-se que o mdc(a, b) 0. A condicao (2) e trivialmente
satisfeita pelo mdc(a, b). Agora, se pudermos escrever o mdc(a, b)
ao a prona forma mdc(a, b) = ra + sb, para algum r, s Z, ent

priedade (iv) de divisibilidade nos d
a que d divide o mdc(a, b), qualquer que seja o divisor d de a e b. A igualdade mdc(a, b) = ra + sb,
para algum r, s Z, e conhecida como identidade de Bezout e sera
demonstrada adiante. Portanto, a condicao (3) e tambem satisfeita
e podemos redenir o maximo divisor comum de dois n
umeros inteiros a e b dados, da seguinte forma:
umero
Deni
c
ao 2.10 Sejam a e b Z, com a ou b nao nulo. Um n
inteiro d e dito o m
aximo divisor comum de a e b e escrevemos
d = mdc(a, b) se,
(1) d 0,
(2) d|a e d|b,
ao d |d.
(3) Se d |a e d |b ent
Por convencao 0 := mdc(0, 0).
Deni
c
ao 2.11 (i) Dois inteiros a e b sao ditos relativamente primos quando mdc(a, b) = 1.

92

Aspectos Formais da Computa


c
ao

(ii) Os inteiros a1 , a2 , . . . , an sao ditos relativamente primos 2 a


2, ou relativamente primos aos pares, se mdc(ai , aj ) = 1, i, j, 1
i < j n.
Teorema 2.12 (Algoritmo da Divis
ao Euclidiana)
nicos
Seja m Z, m > 0 xo. Dado a Z, existem q e r Z u
nas condico
es: a = qm + r e 0 r < m.
Os n
umeros q e r s
ao ditos respectivamente quociente e resto
da divis
ao (euclidiana) de a por m.
Demonstracao: O subconjunto S = {a qm 0, q Z} e nao
ao existe q Z
vazio (pois mZ e ilimitado). Seja r = minS. Ent
tal que a = qm + r, 0 r. Se r fosse maior ou igual a m, existiria
b Z, b 0, tal que r = m + b. Disto segue-se que 0 b < r
e b = r m = (a qm) m = a (q + 1)m S, absurdo pois
r = minS. Assim 0 r < m como queramos.
Para demonstrar a unicidade, suponhamos que a = q1 m + r1 =
ao r r1 = (q1 q)m.
qm + r, com 0 r1 < m e 0 r < m. Ent
Como 0 r, r1 < m temos |(q1 q)m| = |rr1 | < m. Se q1 q = 0,
ent
ao |(q1 q)m| m, o que da um absurdo. Portanto q1 = q e,

consequentemente, r = r1 , como queramos.
Exemplo. Para m = 3 e a = 19, o par (q, r) e (6, 1), pois: 18 =
6.3 + 1. Se a = 13, ent
ao q = 5 e r = 2, pois: 13 = (5)3 + 2.
Note que qm e o maior m
ultiplo de m `a esquerda de a (na reta
real) para que 0 r < m.
Um metodo bastante usado para o c
alculo do mdc de dois
n
umeros inteiros a, b dados e o processo das divisoes sucessivas
que sera descrito a seguir. Devido `as observacoes ja feitas anteriormente, de que D+ (c) = D+ (c), podemos considerar a e b
estritamente positivos e tambem distintos. O processo baseia-se
essencialmente no seguinte lema:
Lema 2.13 Sejam a, b inteiros estritamente positivos com a > b.
Ent
ao mdc(a, b) = mdc(b, r), onde r e o resto da divis
ao euclidiana
de a por b.

Aritm
etica dos N
umeros Inteiros

93

Demonstracao: De fato, seja d = mdc(a, b), vamos demonstrar


que d = mdc(b, r). Pelo algoritmo da divis
ao a = bq + r com 0
r < b. Ent
ao r = a bq. Como d|a e d|b, pela propriedade (iv)
de divisibilidade ent
ao d|r. Assim (1) d 0,
(2) d|b, d|r e
resta demonstrar a condicao (3) da denicao de mdc.
Se d |b e d |r, novamente pela propriedade (iv) de divisibilidade,
temos d |a. Assim d |a e d |b. Como d = mdc(a, b), por denicao
temos d |d (pois d = mdc(a, b)). Portanto d = mdc(b, r).

O processo pratico para obter o mdc(a, b) envolve uma sucessao de divisoes: divide-se o maior deles pelo menor obtendo um
ao-nulo, divide-se o quociente (menor dos
resto r1 . Supondo r1 n
n
umeros dados) por r1 obtendo um quociente q2 e um resto r2 .
O processo continua sucessivamente dividindo qi por ri obtendo
qi+1 e ri+1 , enquanto o resto obtido for diferente de zero (isto e
rj+1 = 0). Note que, de fato, o processo para desde que, nestas
divis
oes sucessivas temos 0 = rj+1 < < rj < rj1 < < r2 <
r1 < b < a, onde, para i 3, ri e o resto da divisao de ri2 por
ri1 .
Usando o Lema repetidas vezes, conclui-se que o u
ltimo resto
n
ao nulo rj e o mdc(a, b). De fato, mdc(a, b) = mdc(b, r) =
mdc(r1 , r2 ) = = mdc(rj , rj1 ) = rj .
Resumindo isto em uma tabela, temos:

a = bq + r1 ,
b = r1 q1 + r2 ,
r1 = r2 q2 + r3 ,
r2 = r3 q3 + r4 ,
..
.

0 < r1 < b
0 < r2 < r1
0 < r3 < r2
0 < r4 < r3
..
.

d|r1
d|r2
d|r3
d|r4
..
.

rj2 = rj1 qj1 + rj , 0 < rj < rj1 d|rj


rj1 = rj qj ,
0 = rj+1

Aplicando este resultado para 30 e 34 temos:

rj |a
rj |b
rj |r1
rj |r2
..
.
rj |rj2
rj |rj1

94

Aspectos Formais da Computa


c
ao
divisores 34 30 4 2
quocientes
1 7 2
restos 4 2 0

ou seja, 34 = 30.1 + 4 e 30 = 4.7 + 2.


Ou
ltimo resto nao-nulo e 2, e entao 2 = mdc(30, 34).
A partir deste processo temos um algoritmo para escrever d =
mdc(a, b) como combinacao linear de a e b, ou seja, escrever d na
forma d = ra + sb, r, s Z.
Exemplo (i) Pelo exemplo anterior j
a vimos que 2 = mdc(30, 34).
Vamos determinar r e s tais que 2 = r30 + s34. Considerando as
divisoes feitas acima, temos:

34 = 30.1 + 4
30 = 4.7 + 2.

4 = 1.34 + (1).30
Isolando os restos temos:
2 = (1).30 + (7).4.
Substituindo 4 da primeira equacao na segunda, obtemos: 2 =
(1).30+(7)4 = (1).30+(7)[(1).34+(1)30] = (1).30+(7).34+
(7).(30). Ou seja, 2 = (8)(30) + (7)(34), r = 8, s = 7 sao
solucoes. Nao temos unicidade para o par (r, s), e ca como
exerccio o calculo de outras solucoes de 2 = r30 + s34.
(ii) Escreva d = mdc(30, 34) na forma d = r30 + s(34).
Solucao: Como mdc(30, 34) = mdc(30, 34) e 2 = (8)(30) +
(7)(34), tem-se 2 = (8)(30) + (7)(34). Logo r = 8 e s = 7.
Teorema 2.14 (Identidade de Bezout) Sejam a, b n
umeros inteiros e d = mdc(a, b). Ent
ao existem r, s Z, tais que d =
r.a + s.b.
Demonstracao: O caso a = b = 0 e obvio, pois d = 0. Se a = 0
ou b = 0, considere L = {x.a + y.b > 0, x, y Z}. Como |a|
ou |b| L e L e um subconjunto de Z limitado inferiormente, ele
possui um mnimo, digamos d. Como d L, existem r, s Z, tais
que d = r.a + s.b. Provemos que d = mdc(a, b), o que concluira a
demonstracao.

Aritm
etica dos N
umeros Inteiros

95

Pelo Algoritmo da Divis


ao, existem q e r1 , tais que a = dq + r1
e 0 r1 < d. Assim, r1 = a dq = (1 qr)a (qs)b e, se r1 = 0,
ao r1 = 0 e portanto
viria que r1 L com r1 < d, absurdo. Ent
d|a. Analogamente se demonstra que d|b. Agora, para todo d Z,
tal que d |a e d |b, pela propriedade (iv) de divisores segue que d |d.
Por denicao, conclumos que d = mdc(a, b).


2.3

Teorema Fundamental da Aritm


etica

Uma propriedade caracterstica dos n


umeros primos, e bastante
u
til, e apresentada na proposicao a seguir:
Proposi
c
ao 2.15 Seja p Z, p = 1 e p = 0. O n
umero p e
primo se, e somente se, sempre que p divide a.b tem-se que p divide
a ou p divide b.
umero primo e
Demonstracao - Suponhamos que p seja um n
que p|a.b. Vamos provar que, se p  a, ent
ao p|b.
De fato, se p  a, ent
ao 1 = mdc(p, a), pois p e primo. Pelo
Teorema 2.14 existem r, s Z, tais que 1 = r.p+s.a. Multiplicando
ambos os membros desta igualdade por b, obtemos: b = p(r.b) +
s(a.b). Como p|p e p|a.b (por hip
otese), pela propriedade (iv) de
divisores segue que p|b.
Reciprocamente, para mostrar que p so admite divisores impr
oprios basta mostrar que D+ (p) = {1, |p|}. Como D+ (p) =
D+ (p), podemos considerar p > 0. Seja x Z um divisor de
p com 1 x p. Ent
ao existe y Z, 1 y p, tal que p = x.y.
Como p divide p, temos p|x.y. Por hip
otese p|x ou p|y. Da x = pu
ou y = pu, para algum u Z. Substituindo em p = x.y camos
com p = puy ou p = xpu e cancelando p temos 1 = uy ou 1 = xu.
Como u e x sao n
umeros naturais, vem que u = 1. Logo x = p ou

x = 1 (quando p = y). Portanto D+ (p) = {1, p}.
Corol
ario 2.16 Seja p Z um n
umero primo. Se p divide um
umeros inteiros, ent
ao p divide ao menos
produto a1 a2 an de n
um dos ai , i {1, 2, . . . , n}.

96

Aspectos Formais da Computa


c
ao

A demonstracao pode ser feita por inducao sobre n e ca como


exerccio.

Teorema 2.17 (Fundamental da Aritm
etica) Todo n
umero inteiro a = 1, a = 0 se decomp
oe de modo u
nico (a menos da ordem
dos fatores) na forma
a = up1 p2 pn ,
umero primo positivo para todo i = 1, 2, . . . , n e
onde pi e um n
u {1}.
Demonstracao: Basta demonstrar para a > 1 e faremos a prova
por inducao sobre a.
(i) Se a = 2 nada a fazer, pois 2 = 1.2 e primo.
(ii) Suponhamos o teorema verdadeiro para todo b Z, 1 <
b k com k Z, k > 1. Se k + 1 e primo, o resultado e obvio;
senao, pelo Lema 2.13 p1 = min{x Z | x > 1 e x|(k + 1)} e
otese de inducao
primo. Assim k + 1 = p1 .q com 1 < q k. Por hip
umeros
q = p2 p3 pr . Da k + 1 = p1 p2 pr , com p1 , p2 , . . . , pr n
o
primos. O resultado segue-se pelo 2 princpio de inducao nita.
Unicidade - Consideremos duas decomposicoes para um n
umero
a Z, a > 1.
a = p1 p2 pn = q1 q2 qm ,

()

ao p1 divide q1 q2 qm . Pelo Corolario 2.16


com pi e qj primos. Ent
segue que p1 divide qj para algum j. Reordenando, se for necessario,
podemos supor que j = 1, ou seja, p1 |q1 . Como ambos sao primos
e facil ver que p1 = q1 . Substituindo em () e cancelando p1 ,
camos com
p2 pn = q2 . . . qm .
Repetindo o argumento algumas vezes, caremos com 1 =
qn+1 qm caso n < m, ou pm+1 . . . pn = 1 caso n > m, o que
e absurdo. Ent
ao so nos resta n = m e pi = qi depois de uma
possvel reordenacao dos ndices, se necessario.


Aritm
etica dos N
umeros Inteiros

97

Exemplo. 18 = 2.3.3 = 3.2.3 = 2(3)(3) = (3)(2)3 =


e estas decomposicoes sao iguais, a menos dos n
umeros associados
2,-2 e 3,-3 e de permutacao dos fatores primos.
Observa
c
ao: Na decomposicao em fatores primos, podemos agrupar os primos que se repetem e escrever n = p1 1 ps s , onde
i > 0. Algumas vezes, como veremos a seguir, e importante fazer
aparecer na decomposicao de n em fatores primos um primo que
efetivamente nao faz parte dela. Neste caso inclumos o primo com
potencia nula.
Um metodo pratico para se calcular o maximo divisor comum
dos n
umeros nao-nulos a e b e considerar suas decomposicoes em fatores primos. De fato, sejam a = p1 1 p2 2 pnn e b = p1 1 p2 2 pnn ,
pi = pj , se i = j, i 0 e j 0, onde todos os primos pi que
ocorrem nas decomposicoes de a e de b estao includos em ambas
as fatoracoes, com expoentes zero se necessario. Assim o mdc(a, b)
e dado por
min{1 ,1 } min{2 ,2 }
min{n ,n }
p2
pn
.

mdc(a, b) = p1

min{ , } min{ , }

min{ , }

n n
1 1
2 2
p2
pn
divide ambos os
De fato, d = p1
inteiros a e b, desde que cada potencia dos primos, que ocorre na
fatoracao de d, nao excede as potencias deste mesmo primo que
ocorre nas decomposicoes de a e de b. Alem disso, nao existe um
inteiro c maior que d que divide a e b, senao existiria um fator de
min{i ,i }
. Portanto, ti seria maior que
c da forma ptii com ptii > pi
ao dividiria a ou nao dividiria b.
min{i , i } = i ou i . Logo, c n

Exemplo. Como as fatoracoes de 120 e 252 sao: 120 = 23 .3.5 e


252 = 22 .32 .7, escrevemos: 120 = 23 .3.5.70 e 252 = 22 .32 .50 .7.
Da mdc(120, 252) =
= 2min{3,2} 3min{1,2} 5min{1,0} 7min{0,1} = 22 .31 .50 .70 = 12.
A fatoracao de um n
umero tambem pode ser usada para calcular
o mnimo m
ultiplo comum de dois inteiros.
Deni
c
ao 2.18 O mnimo m
ultiplo comum de dois inteiros a e b,
denotados por mmc(a, b), e o menor inteiro positivo divisvel por
ambos os inteiros a e b.

98

Aspectos Formais da Computa


c
ao

Como este conjunto e limitado inferiormente por zero, o Princpio do menor inteiro garante a existencia de mmc(a, b), quaisquer
que sejam os inteiros a e b.
Consideremos novamente as decomposicoes de a e b em fatores
primos: a = p1 1 p2 2 pnn e b = p1 1 p2 2 pnn , com i 0,
ao e facil provar que
i 0. Ent
max{1 ,1 } max{2 ,2 }
max{n ,n }
mmc(a, b) = p1
p2
pn
.
De fato, um m
ultiplo comum de a e b deve conter pelo menos
max{i , i } potencias do primo pi em sua fatoracao.
Exemplo. Como as fatoracoes de 120 e 252 sao: 120 = 23 .31 .51 .70
e 252 = 22 .32 .50 .71 , ent
ao mmc(120, 252) =
max{3,2}
max{1,2}
.3
.5max{1,0} .7max{0,1} = 23 .32 .51 .71 = 2520.
=2
O seguinte teorema relaciona o maximo divisor comum e o
mnimo m
ultiplo comum de dois inteiros e pode ser provado
usando os resultados anteriores.
Teorema 2.19 Sejam a e b inteiros. Ent
ao
|a.b| = mdc(a, b).mmc(a, b).

Propriedades (do M DC e do M M C). Quaisquer que sejam


a, b, c Z, tem-se:
(i) mdc(a, b) = mdc(b, a) e mmc(a, b) = mmc(b, a).
(ii) mdc(0, b) = |b| e mmc(0, b) = 0.
(iii) mdc(a, b) = mdc(a, b) e mmc(a, b) = mmc(a, b).
(iv) mdc(mdc(a, b), c) = mdc(a, mdc(b, c)) e
mmc(mmc(a, b), c) = mmc(a, mmc(b, c)).


2.4

Congru
encia

Deni
c
ao 2.20 Dado m Z, m > 1 e b, c Z, dizemos que b e
congruente (ou c
ongruo) a c modulo m, se m divide b c.
Notacao b c(mod m).

Aritm
etica dos N
umeros Inteiros

99

Exemplo 5 5(mod 3) pois 3|(5 5), 5  1(mod 3) pois 3 


(5 1), 7 11(mod 6) pois 6 divide 18 = 7 (11).
Propriedades:
tem-se:

Dado m Z, m > 1, para todos a, b, c, d Z,

(i) a a(mod m),


(ii) Se a b(mod m), ent
ao b a(mod m),
(iii) Se a b(mod m) e b c(mod m), ent
ao a c(mod m),
(iv) Se a b(mod m) e c d(mod m), ent
ao ac bd(mod m)
e ac bd(mod m),
(v) Se a b(mod m), ent
ao ac bc(mod m),
(vi) Se a b(mod m), ent
ao an bn (mod m), n 0.
(vii) a r(mod m), onde r e o resto da divisao euclidiana de a
por m.
Demonstracao: (i) segue-se do fato que m divide 0 = a a.
(ii) Se m divide a b, ent
ao a b = qm, q Z. Da b a = (q)m.
Logo m divide b a, ou seja, b a(mod m).
(iii) Por hip
otese existem q1 , q2 Z, tais que a b = q1 m e
b c = q2 m. Somando as igualdades, membro a membro, obtem-se
a c = (q1 + q2 )m. Da a c(mod m).
(iv) Por hip
otese existem q3 , q4 Z, tais que
a b = q3 m e c d = q4 m.

()

Somando (e subtraindo) membro a membro, obtemos (a + c) (b +


d) = (q3 + q4 )m (e (a c) (b d) = (q3 q4 )m); da segue-se que
a c b d(mod m).
De () tambem temos a = q3 m + b e c = q4 m + d. Multiplicando
membro a membro e pondo m em evidencia, obtemos ac = (q3 q4 m+
ao ac bd mZ e, da, segue-se o resultado.
q3 d + q4 b)m + bd. Ent
(v) Por hip
otese a b = q5 m para algum q5 Z. Ent
ao c(a b) =
c.q5 m qualquer que seja c Z, ou seja, m divide ac bc. Da
ac bc(mod m).
(vi) Segue-se por inducao sobre n, usando (iv) com c (respectivamente d) uma potencia de a (respectivamente de b).
(vii) De a = qm + r, 0 r < m, tem-se que a r(mod.m).


Aspectos Formais da Computa


c
ao

100

2.5

Aplica
co
es da Aritm
etica

A teoria dos n
umeros tem muitas aplicacoes em muitas areas das
ciencias. Como aplicacoes de congruencia e divisibilidade, daremos
um metodo para se criptografar mensagens de um modo seguro e
faremos um breve estudo de representacao de n
umeros inteiros em
uma base b, em especial quando b = 2, 4, 8 ou 16, muito u
til na
teoria de computacao.

2.5.1

(I) Criptograa

Congruencia e funcoes podem ser usadas para designar locacao de


memoria para arquivos de computacao, gerar vari
aveis falsas e criptografar, etc.
Um dos primeiros metodos conhecidos de criptografar e devido a Julius Caesar. O metodo conhecido de Caesar consiste em
codicar uma mensagem trocando cada letra da sentenca pela letra
que esta tres posicoes adiante desta no alfabeto. Isto e feito ciclicamente, de modo que as tres u
ltimas letras do alfabeto passam a
ser, respectivamente, as tres primeiras letras do alfabeto, na codicacao. Assim, nesta codicacao A, e enviada para D, B e enviada
para E e X e enviada para A, por exemplo.
Para simplicar vamos identicar cada letra com sua posicao
no alfabeto.
a

1

b

2

c

3

d

4

e

5

f

6

g

7

h

8

i

9

j

10

k

11

l

12

m

13

n

14

o
p
q
r
s
t
u
v w x
y
z












15 16 17 18 19 20 21 22 23 24 25 26.
Exemplo Vamos codicar segundo Caesar a sentenca Abacaxi e
uma fruta tropical.
Trocando as letras pelos n
umeros correspondentes de suas
posicoes, temos:
1 2 1 3 1 24 9 - 5 - 21 13 1 - 6 18 21 20 1 - 20 18 15 16 9
3 1 12.

Aritm
etica dos N
umeros Inteiros

101

Somando 3(mod.26) temos:


4 5 4 6 4 1 12 - 8 - 24 16 4 - 9 21 24 23 4 - 23 21 18 19 12
6 4 15.
Assim, a palavra que codica Abacaxi e uma fruta e
dedfdal h xpd iuxwd wurslfdo.
No caso de enviar para alguem a mensagem codicada abacaxi
e uma fruta tropical, se envia a sequencia: dedfdal h xpd iuxwd
wurslfdo. E para saber qual e a mensagem enviada, o receptor
deve ter a chave para decriptografar que neste caso e:
f 1 (y) = y + 23(mod. 26),
onde y = f (x) e a funcao f (x) = x + 3(mod.26).
Existem varios meios de generalizar a codicacao de Caesar.
Por exemplo, em vez de trocar cada letra pela terceira letra (mod.26)
adiante dela no alfabeto, podemos troc
a-la pela k-esima letra
(mod.26) adiante dela no alfabeto. Caso f (x) seja uma funcao
bijetora sobre A = {1, 2, 3, . . . , 26}, podemos usa-la para codicar. Particularmente, se f (x) = ax + b e denida sobre A =
{1, 2, . . . , 26} (ax + b e o resto da divisao Euclidiana de ax + b
por 26), para a, b inteiros convenientes, podemos codicar sentencas usando f (x). A funcao f (x) deve ser bijetora para que (i)
cada letra seja enviada em uma u
nica letra, (ii) letras distintas sejam enviadas em letras distintas e, nalmente, (iii) toda letra seja
imagem de outra letra. As condicoes necessarias e sucientes sobre
a para que f satisfaca as condicoes acima sao:
Lema 2.21 Sejam a, b Z, a = 0 e A = {1, 2, 3, . . . , 26}. A
func
ao f : A A denida por f (x) = ax + b e bijetora se, e
somente se, mdc(a, 26) = 1.
Demonstracao: Como o resto da divisao Euclidiana de ax + b
por 26 e u
nico, a funcao f esta bem denida. Sejam x, y A, tais
que f (x) = f (y). Ent
ao ax + b = ay + b, ou seja,
a(x y) 0(mod 26).

()

Como mdc(a, 26) = 1, pela identidade de Bezout (Teo.2.14)


existem r, s Z, tais que 1 = s.a + r.26, ou seja,

102

Aspectos Formais da Computa


c
ao
1 s.a(mod 26)

()

Multiplicando ambos os membros de () por s, tem-se as(x y)


s.0(mod 26). Por (**) temos x y 0(mod 26). Como x, y A,
vem que |x y| < 26. Logo, x = y e entao f e injetora. Como A
e um conjunto nito, segue-se que f e bijetora.
Reciprocamente, suponhamos que f (x) e bijetora e seja b =
26.q + r, onde 0 r < 26. Ent
ao r + 1 A e portanto existe
x0 A, tal que f (x0 ) = ax0 + b = r + 1. Substituindo b e fazendo
as reducoes modulo 26, obtemos ax0 1(mod 26). Logo existe
s Z, tal que 26.s + a.x0 = 1. Seja d = mdc(a, 26). Como d divide
26 e d divide a, conclumos que d divide 26.s + a.x0 = 1. Logo
d = 1.

Exemplo Como mdc(3, 26) = 1, a funcao g(x) = 3x + 3 pode
ser usada para dar uma boa embaralhada nas letras do alfabeto.
Usando g(x) para codicar A lua e bela temos:
Primeiro substitumos as letras por suas posicoes no alfabeto.
a
l
u a
e
b e l a


 

   
1
12 21 1
5
2 5 12 1
Esta seq
uencia de n
umeros e levada pela g(x) em g(1), g(12),
g(21), . . . , g(12), g(1). De 3.12 + 3 = 39 13(mod 26) e 3.21 + 3 =
66 14(mod 26), segue que g(12) = 13 e g(21) = 14. Alem destes,
temos g(1) = 3.1 + 3 = 6, g(5) = 3.5 + 3 = 18, g(2) = 3.2 + 3 = 9.
Conseq
uentemente, a seq
uencia de n
umeros e levada pela funcao g
na seguinte seq
uencia codicada:
6 - 13 14 6 - 18 - 9 18 13 6,
que corresponde `a seq
uencia de letras f mnf r irmf.
A funcao inversa de g e a chave para a decodicacao. Ela e
dada por
h(y) = 9y + 25.
De fato, g h = h g = 1A . Portanto, a seq
uencia
6 - 13 14 6 - 18 - 9 18 13 6
e levada em

Aritm
etica dos N
umeros Inteiros

103

1 - 12 21 1 - 5 - 2 5 12 1,
que corresponde a a lua e bela.
Uma outra boa aplicacao da teoria dos n
umeros na computacao
vem da representacao de um n
umero em uma base b, b > 1.

2.5.2

(II) Representa
c
ao de N
umeros em Bases e as
Quatro Operaco
es B
asicas

Representac
ao de N
umeros em Bases
No dia a dia, usamos a notacao decimal para representar n
umeros. Por exemplo, a seq
uencia 234 e usada para denotar 2.102 +
3.10 + 4. No entanto, muitas vezes e conveniente usar bases
diferentes de 10. O termo algoritmo originalmente se refere a procedimentos, ou programas, para executar operacoes aritmeticas, e
foram desenvolvidos originalmente usando a representacao decimal
de n
umeros inteiros. Usualmente os computadores estao preparados para o uso da notacao binaria (base 2) quando se faz operacoes
aritmeticas, e notacoes octal (base 8) ou hexadecimal (base 16)
quando se lida com caracteres, tais como letras ou dgitos.
O sistema de numeracao decimal e composto de 10 dgitos, e os
mais usados sao: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, cujos valores numericos dependem da posicao de cada dgito na seq
uencia
em relacao a um ponto de referencia chamado vrgula decimal. Por
exemplo, 474,54 representa o n
umero 4.102 +7.10+4.100 +5.101 +
2
4.10 , e o primeiro dgito 4, a partir da esquerda, em 474,54, tem o
valor numerico 400 (quatrocentos), o segundo dgito 4 na seq
uencia
tem o valor numerico 4, enquanto o terceiro dgito 4 tem o valor
4
(quatro centesimos). A representacao em seq
uencia
numerico 100
com valores dos dgitos dependendo da posicao nos permite representar qualquer n
umero usando apenas os 10 dgitos acima. Qualquer que seja a base b > 1 usada, o sistema de numeracao e tambem
posicional e funciona exatamente igual ao sistema decimal. No caso
bin
ario (base 2) usamos 2 dgitos: 0 e 1. Os algoritmos adaptados
para o uso com representacao binaria de n
umeros sao a base para
a aritmetica de computadores, porque estes algoritmos sao mais

104

Aspectos Formais da Computa


c
ao

faceis de se implementar eletronicamente, alem da base binaria


permitir relacoes com a logica classica. No entanto, como a base
2 e a menor possvel, a grande desvantagem do sistema binario
e que em geral sao necessarias grandes seq
uencias de dgitos zerose unspara representar n
umeros. Por exemplo, 9990 na base
decimal tem representacao 10011100000110 na base binaria, e foram
necessarios 14 dgitos bin
arios para representar um n
umero com
apenas 4 dgitos decimais.
Para explorar melhor a expans
ao de um n
umero numa base
b, vamos desenvolver as 4 operacoes basicas efetuadas sobre n
umeros em diferentes bases. Fixaremos nossa atencao nas bases decimal
e binaria, octal e hexadecimal, devido ao uso e `a importancia computacional. Comecemos com um teorema que da a representacao
u
nica de um n
umero inteiro em uma dada base. Os n
umeros fracionarios serao explorados mais tarde.
Teorema 2.22 Seja b um inteiro positivo maior que 1. Ent
ao cada
inteiro positivo n maior que zero pode ser representado de modo
u
nico na forma
n = ak bk + ak1 bk1 + + a1 b + a0 ,
com a1 , a2 , . . . , ak positivos menores que b e ak = 0.
Demonstracao: Se n = 1, ent
ao k = 0 e ak = 1, qualquer que seja
b > 1. Suponha, como hip
otese de inducao, a validade do teorema
ao existem
para todos q Z, 0 < q < n. Pelo algoritmo da divis
nicos, com 0 a0 < b, tais que n = bq1 + a0 . Como n
q1 , a0 Z : u
e b sao estritamente positivos com b > 1 e a0 0, vem que q1 < n.
Logo, por hip
otese de inducao, existem ak+1 , ak , . . . , a1 menores
que b e ak+1 = 0, tais que q1 = ak+1 bk + ak bk1 + + a2 b + a1 .
Da n = ak+1 bk+1 + ak bk + + a1 b + a0 .
A unicidade segue da hip
otese de inducao e do algoritmo da divisao.

Nota
c
ao. Denotaremos o n
umero n = ak bk +ak1 bk1 + +a1 b+
a0 por (ak ak1 a1 a0 )b ou ak ak1 a1 a0 b quando a base b for, em
geral, distinta de 10, e diremos que n esta escrito na base b. Quando
a base b for a base decimal usual, escreveremos simplesmente n =

Aritm
etica dos N
umeros Inteiros

105

ak ak1 . . . a1 a0 . Dizemos que a expressao (ak ak1 a1 a0 )b e a


expans
ao do n
umero n na base b.
Note que sao necessarios b n
umeros ai s para escrever qualquer
n
umero na base b; por isso usamos os algarismos 0, 1, . . . , 9 para
escrever qualquer n
umero na base decimal, 0, 1 no caso da expansao
de n na base bin
aria, etc.
Para o sistema hexadecimal, alem dos algarismos 0, 1, 2, 3, 4,
5, 6, 7, 8, 9, usados no sistema decimal, usaremos tambem as letras
A, B, C, D, E, F, que representam os n
umeros decimais de 10 a 15,
respectivamente.
Exemplo 1. (234)5 representa o n
umero 2.52 + 3.5 + 4 = 69.
Exemplo 2. Para obter 91 na base 5, aplicamos divis
oes sucessivas
como sugere o Teorema 2.22, do seguinte modo:
91 = (18).5 + 1 = (3.5 + 3).5 + 1 = 3.52 + 3.5 + 1. Logo 91 = (331)5 .
umero b tem sempre a expressao b = (10)b . Mais
Exemplo 3. O n
geralmente a potencia bn tem a expressao (10 . . . 0)b (n zeros) na
base b.
Exemplo 4. 200 = (21102)3 .
De fato, dividindo 200 por 3, podemos escrever 200 = (66).3+2,
e a demonstracao do Teorema 2.22 sugere dividir o quociente por
3 sucessivamente ate este car menor que 3. Assim,
200
66
22
7
2

=
=
=
=
=

(66).3+2,
(22).3+0,
(7).3+1,
(2).2+1,
0.3+2,

(a0
(a1
(a2
(a3
(a4

= 2)
= 0)
= 1)
= 1)
= 2)

Da, 200 = (a4 a3 a2 a1 a0 )3 = (21102)3


Note que 200 = (66).3+2 = [(22).3+0].3+2 = [(7.3+1).3+0].3+2 =
[((2.3 + 1).3 + 1).3 + 0].3 + 2 = 2.34 + 1.33 + 1.32 + 0.3 + 2 =
(21102)3 .
Exemplo 5. -200 na base 3 tem a expansao: (21102)3 .
Exemplo 6. De a expansao de 3073 na base hexadecimal.

Aspectos Formais da Computa


c
ao

106

Fazendo a divisao de 3073 por 16, e depois dividindo sucessivamente os quocientes obtidos ate o u
ltimo car menor que 16,
temos:
3073 = (192).16+1, (a0 = 1)
192 = (12).16+0,
(a1 = 0)
12 = (0).16+12,
(a2 = 12 = C)
Logo 3073 = (C01)16 , ou seja
3073 = (192).16 + 1 = [(12).16 + 0].16 + 0 = C.162 + 0.16 + 1.
Note que, no caso de nao se acrescentar

 os dgitos A, B, C, D,
ao confundir
E, F, teramos que escrever 3073 = (12)01 16 para n
umero bem diferente
com (1201)16 = 1.163 + 2.162 + 0.161 + 1; um n
de 3073.
Observa
c
ao (1) Se
ent
ao n = m com m > 0. Pelo
kn < 0,
i
Teorema 2.22, m = i=0 ai b e, portanto, n = (ak ak1 a1 a0 )b .
(2) A prova do Teorema 2.22 nos d
a um processo pratico para
determinar a representacao de um n
umero n numa base b, que e
o seguinte: Dividimos n por b, obtendo quociente q e resto a0 . Se
q > b, dividimos q por b, obtendo quociente q1 e resto a1 . Se q1 for
maior que b, novamente dividimos o quociente obtido (agora q1 )
por b, obtendo quociente q2 e resto a2 . Procedemos assim ate obter
quociente qk+1 igual a zero. Portanto, o resto ak = qk < b, pois
os quocientes obtidos vao decrescendo, desde que ai 0 e b > 1.
Da basta considerar a seq
uencia de restos na ordem inversa a que
uencia e a representacao
foram gerados, (ak ak1 a1 a0 )b . Esta seq
de n na base b.
Exemplo Determine a expansao de 211 na base 4.

211
52
13
3

=
=
=
=

(52).4 + 3
(13).4 + 0
3.4 + 1
0.4 + 3

211 |4
3 52
0

|4
13 |4
1
3
3

|4
0

Da 211 = (52).4 + 3 = [(13).4 + 0].4 + 3 = (13).42 + 0.4 + 3 =


((3).4 + 1).42 + 0.4 + 3 = 3.43 + 1.42 + 0.4 + 3 = (3103)4 .

Aritm
etica dos N
umeros Inteiros

107

Vamos representar os 17 primeiros inteiros positivos nas bases


decimal, binaria, quatern
aria, octal e hexadecimal. Para a base
hexadecimal, as letras A, B, C, D, E, F representam os n
umeros
decimais de 10 a 15, respectivamente.
BASES
dec.
bin.
quat.
oct.
hex.

0
0
0
0
0

1
1
1
1
1

2
10
2
2
2

3
11
3
3
3

4
100
10
4
4

5
101
11
5
5

6
110
12
6
6

7
111
13
7
7

8
1000
20
10
8

9
1001
21
11
9

14
1110
32
16
E

15
1111
33
17
F

16
10000
100
20
10

BASES
decimal
bin
aria
quatern.
octal
hexadec.

10
1010
22
12
A

11
1011
23
13
B

12
1100
30
14
C

13
1101
31
15
D

As Quatro Operaco
es B
asicas
Comecamos observando que os processos de adicao, subtracao,
multiplicacao e divisao de n
umeros em uma base b qualquer sao os
mesmos processos que usamos na base decimal.
(a) - Adi
c
ao
Para somar 2 n
umeros escritos na base b, soma-se os coecientes
de mesma potencia de b, ou seja, faz-se uma soma posicional; nao
esquecendo que pode haver excesso. O excesso ocorre quando
somamos os coecientes de bi , ai e ci , com ai + ci > b. Neste
caso, ai + ci < 2b e, entao, ai + ci = b + di com 0 di < b.
No processo pratico dado abaixo, ocorre o vai um. Observe que
(ai + ci )bi = (b + di )bi = 1.bi+1 + di .bi e, portanto, vai acrescentar
uma potencia aos coecientes de bi+1 , justicando assim o vai um.
Por exemplo, para somar x = (22)3 com y = (120)3 , temos: escrevemos x e y nas formas x = 2.31 +2.30 e y = 1.32 +2.3+0.30 . Somamos
1
(0 + 1) (coef. de 32 ), (2 + 2) = (11)
 3 (coef. de23 ), (2 + 0) (coef.
0
2
de 3 .). Da x + y = 1.3 + (11)3 3 + 2 = 1.3 + (1.3 + 1)3 + 2 =

108

Aspectos Formais da Computa


c
ao

(1 + 1)32 + 1.31 + 2 = (212)3 .


Resumidamente temos:
1

1
2

2 2
+
2 0
1 2

Observe que usamos a seguinte tabua para soma











+
0
1
2


0 1 2 
0 1 2 
1 2 10 
2 10 11 

Exemplo Para b = 3, facamos a adicao 2023 +1013 +1203 . Usando


o algoritmo e a tabua acima:
1

+
1

2
1
1
2

0
0
2
0

2
1
0
0

(b) - Subtra
c
ao
Para a subtracao de n
umeros em uma mesma base, subtrai-se
os coecientes de uma mesma potencia de b. Quando o coeciente a
ser subtraido e maior, e preciso subtrair 1 do coeciente da potencia
de b imediatamente maior para acrescentar naquela que tem falta.
Este e o motivo do cai um visto no ensino fundamental. Assim,
ai bi = (ai 1)bi + b.bi1 , ou seja, camos com coeciente ai 1
para bi e, no nvel bi1 , camos com coeciente b = (10)b , mais
ai1 que ja existia, totalizando (1ai1 )b . Agora (1ai )b b > ci1 ,
sendo possvel efetuar a subtracao.
Exemplo 1 Sejam x = (1011)2 e y = (101101)2 , calculemos
x y.
Como x < y, facamos (y x), que e a mesma coisa. Entao
calculamos primeiro y x e trocamos o sinal do resultado obtido.
Observe que, para os coecientes de 21 , e necessario retirar 1 do

Aritm
etica dos N
umeros Inteiros

109

coeciente de 22 para fazer y x. Da 1.22 = 2.2 = (10)2 .2 e,


3 + (10) .2 + 1 (1.23 + 1.2 + 1) =
portanto, y x =1.25 + 1.2
2

1.25 + (1 1).23 + (10)2 1 .21 + (1 1) = 1.25 + 1.21 = 1000102 .
Logo, x y = 1000102 .
Observe no processo pratico como se empresta um e como se
subtrai um.
1 0 1 0 1 1 0 1
1 0
1 1
1 0 0 0
1 0
Assim, x y = (100010)2 .
Exemplo 2 Vamos obter x y, para x = 10123 e y = 1213 , por
etapas. Primeiro emprestaremos 1do coeciente de 33 para o
coeciente de 32 de x, pois este e menor que o coeciente correspondente de y. Depois faremos a mesma coisa para as potencias
imediatamente inferiores, pelas mesmas razoes.
1 0 1 2
1 2 1

1 2
(10)
3
1
2 1

2 (11)3 2
1
2
1

1
2
1

(c) - Multiplica
c
ao
Para fazer a multiplicacao de x = as bs +as1 bs1 + +a1 b+a0
por y = cj bj + cj1 bj1 + + c1 b + c0 , usamos a propriedade
distributiva e a regra: ai bi .ck bk = (ai .ck )bi+k .
ao 0 ai .ck < b2 . Logo, ai .ck =
Como 0 ai , ck < b ent
qb+di+k , 0 di+k , q < b e, portanto, ai bi .ck bk = (qb+di+k )bi+k =
q.bi+k+1 + di+k bi+k . Ou seja, acrescenta-se q ao coeciente da
potencia bi+k+1 e o coeciente de bi+k e di+k = resto da divisao
de ai .ck por b.
Para o exemplo que segue, precisaremos das tabuas da multiplicacao e adicao de n
umeros na base 4,




 + 0 1
 0 1 2
2
3 
3 




 0 0 1
 0 0 0 0
2
3 
0 


 1 1 2
 1 0 1 2
3 10 
3 


 2 2 3 10 11 
 2 0 2 10 12 




 3 3 10 11 12 
 3 0 3 12 21 

110

Aspectos Formais da Computa


c
ao

Exemplo Para efetuarmos o produto de (23)4 por (32)4 , precisaremos de 24 .34 = 124 e 34 .34 = 214 . Da a multiplicacao de 23
por 32 na base 4 e:
2
1

1
2 0
2 1

3
3 2
1 2
1 +
2 2

Observe que 34 .34 = (21)4 , logo ca 1 e vaio 2. Tambem


34 .24 + 24 (24 que foi) totalizam (20)4 e assim por diante. Faca,
agora, tambem o produto polinomial (2.4 + 3)(3.4 + 2) e observe
o vai 1 e vai 2. Finalmente, justique porque temos a casa vazia,
onde aparece o smbolo de +.
(d) - Divis
ao
Consideremos os n
umeros a = (an an1 a1 a0 )b e c =
(cm cm1 c1 c0 )b . Para dividirmos o n
umero a pelo n
umero c,
vejamos se x = an an1 anm1 e maior ou igual a c; se nao
for, consideremos x = an an1 anm2 e dividamos x por c.
Ent
ao x = qc + r, onde 0 r < c. Sejam q = (qk qk1 q1 q0 )b
e r = (rs rs1 r1 r0 )b . Da juntamos a r o proximo aj da esquerda para a direita que n
ao aparece na seq
uencia x e camos
com R = rs rs1 r1 r0 aj . Dividimos R por c obtendo q1 como quociente e resto R1 = (d1 dt )b . Novamente juntamos, a R1 , aj1
e camos com R2 = d1 dt aj1 e dividimos R2 por c, obtendo
q2 como quociente e resto R3 = (u1 uv )b . Assim sucessivamente
ate chegar a a0 e concluir a divisao. Neste caso, o quociente da
divisao sera Q = qk qk1 q1 q0 q1 q2 ql e, o resto, o u
ltimo resto
obtido. Ent
ao, para efetuar a divis
ao usaremos os conceitos de
multiplicacao e subtracao ja vistos.
Exemplo Dividir 231003 por 302 na base 4.
Solucao Precisaremos das tabuas na base 4, dadas anteriormente.
umeros da esquerda para a direita
Observe que a 1a sequencia de n

Aritm
etica dos N
umeros Inteiros

111

em 231003 que e maior ou igual a 302 e 2310. Ent


ao x = 2310.
Dividindo 2310 por 302, encontramos quociente 3. Da 23104
34 .(302)4 = (132)4 . A seguir, juntamos a1 = 0 a 132, cando com
1320, e dividimos novamente por 302, etc. O processo pode ser
resumido da seguinte forma:
2 3 11
2 11 11
0 1 3
1 2
0 1

10

2
2
1
1
3
2

0
0
0
0
0

3
2
1

3 0 2
3 2 1

Para fazer convers


ao de um n
umero n de uma base b para
uma base c, um metodo e escrever n na base decimal e aplicar
divis
oes sucessivas por c, como foi exemplicado. Considerando os
restos c0 , c1 , . . . , cs das divisoes, segue que n = (cs cs1 c1 c0 )c .
No entanto, quando uma base e potencia da outra, existe um processo pratico para a convers
ao de um n
umero de uma base `a outra,
dado na proposicao a seguir para as bases binaria e hexadecimal.
Facamos um exemplo antes.
Exemplo
(i) Seja a = 10101112 . Escreva a na base octal e na base
hexadecimal.
(ii) Como se escreve o n
umero B616 nas bases 2 e 4?
3
umeros de 3 em 3 a
Solucao (i) Como 8 = 2 , agrupamos os n
partir da direita para a esquerda, isto e:
10101112 =
((1)2 (010)2 (111)2 )8 = 1278 , pois 1112 = 78 , 0102 = 28 e 12 =
0012 = 18 .
Para a base hexadecimal, como 16 = 24 , agrupamos os n
umeros
que aparecem em 1010111 de 4 em 4 a partir da direita para esquerda, para obter 10101112 = ((0101)2 (0111)2 )16 =
(57)16 . Note que 1010111 = 1.26 + 1.24 + 1.22 + 1.2 + 1 = (1.22 +
1)24 + 7 = 5.(16) + 7 = 5716 .
(ii) Para escrever B616 na base 2, tomam-se as representacoes
bin
arias dos dgitos B (=onze) e 6 com 4 dgitos 0s e 1s, pois

Aspectos Formais da Computa


c
ao

112

16 = 24 , para obter:
B616 = ((1011)2 (0110)2 ) = 101101102 .
Note que B616 = B.(16) + 6 = B.24 + 6 = (1.23 + 0.22 + 1.2 +
1).24 + 22 + 2 = 1.27 + 0.26 + 1.25 + 1.24 + 0.23 + 1.22 + 1.2 + 0.20 =
101101102 .
Para passar B616 para a base 4, alem do processo acima, podemos fazer tambem: B616 = B.(16) + 6 = (2.4 + 3)42 + 1.4 + 2 =
2.43 + 3.42 + 1.4 + 2 = 23124 .
Pode-se ver que, para a convers
ao de um n
umero da base
hexadecimal para a base bin
aria, basta converter cada dgito do
n
umero dado para a base bin
aria, obtendo uma seq
uencia de 4 0s
e 1s, guardando suas posicoes. Reciprocamente, para a conversao
de um n
umero da base bin
aria para a base hexadecimal, basta agrupar os dgitos de 4 em 4 da direita para a esquerda e passar cada
grupo para a base 16, guardando as posicoes dos n
umeros obtidos.
Em smbolos temos:
Proposi
c
ao 2.23 Seja a = (ak ak1 . . . a1 a0 )16 , 0 ai 15 a reao
presentac
ao de a Z na base 16, e suponhamos que a representac
de ai na base 2 seja ai = ai3 ai2 ai1 ai0 , aij = 0 ou 1. Ent
ao
a = (ak3 ak2 ak1 ak0 a13 a12 a11 a10 a03 a02 a01 a00 )2 , isto e:
(ak
ak1

(ak3 ak2 ak1 ak0


Reciprocamente se
ck1 c1 c0 )16 onde
isto e:
a = (
a = (

a1
a0 )16

a13 a12 a11 a01 a03 a02 a01 a00 )2

a = (as as1 . . . a1 a0 )2 , ent


ao a = (ck
3
2
cj = (2 a4j+3 + 2 a4j+2 + 2a4k+1 + a4j )16 ,
a8 a7 a6 a5 a4

c1

a3 a2 a1 a0 )2
c0 )16

Demonstracao: Seja a = (ak ak1 . . . a1 a0 )16 . Ent


ao a = ak 16k +
k1
+ + a1 16 + a0 , 0 ai 15. Escrevemos ai e 16 na
ak1 16
forma ai = (ai3 ai2 ai1 ai0 )2 e 16 = 24 . Substituindo e fazendo as
contas, temos: a = ak3 24k+3 + ak2 24k+2 + ak1 24k+1 + ak0 24k +

Aritm
etica dos N
umeros Inteiros

113

+ a11 25 + a10 24 + a03 23 + a02 22 + a01 21 + a00 , isto e: a =


(ak3 ak2 ak1 ak0 a13 a12 a11 a03 a02 a01 a00 )2 .
O problema inverso e mais simples ainda e deixaremos como
exerccio.

Exemplo
(i) Dado a=2F 916 , converte-lo para a base binaria.
Como 2 = 00102 , F = 11112 e 9 = 10012 , temos
a = (0010 1111 1001)2 = 10111110012 .
2
F
9
(ii) Dado b = 1100011101111012 , converte-lo para a base
hexadecimal.
Temos b = (0110 0011 1011 1101)2 . Como 01102 = 616 ,
00112 = 316 , 10112 = B16 e 11012 = D16 , conclumos que
b = 63BD16 .

Representac
ao de N
umeros Fracion
arios
Vimos que todo n
umero inteiro tem uma representacao posicional na base b para qualquer b > 1. O mesmo princpio vale para
n
umeros fracionarios. Por exemplo, 0, 351 (3 decimos 5 centesimos
3
5
+ 100
+
e 1 milesimo) se escreve como 3.101 + 5.102 + 1.103 = 10
1
.
1000
Todo n
umero racional se escreve na forma I + F, onde I e um
n
umero inteiro e F e um n
umero racional compreendido entre zero
e um. Claro que, estas quantidades independem da base escolhida
para representar o n
umero. Com isto podemos enunciar.
Teorema 2.24 Todo n
umero racional a se escreve de modo u
nico
na forma a = (I + F ) em qualquer base b xada, onde I e um
n
umero inteiro positivo e F um n
umero racional, 0 F < 1. Em
outras palavras, podemos escrever o n
umero a de modo u
nico como
uma seq
uencia
a = (bm bm1 b1 b0 b1 b2 )b ,
onde I = (bm bm1 b1 b0 )b e F = b1 b1 + b2 b2 +

114

Aspectos Formais da Computa


c
ao

Nota
c
ao 2.25 O n
umero a sera denotado por (bm bm1 b1
b0 , b1 b2 )b e F sera denotado por (0, b1 b2 )b . Note a necessidade da vrgula para diferir por exemplo os n
umeros 2.(10)1 +1
1
e 2+1.(10) . Sem usar a vrgula ambos tem a representacao: 2110 ,
desde que nao se conhece m. A vrgula nos informa disto.
Com isto temos a representacao de um n
umero racional qualquer em uma base qualquer, previamente xada.
Como podemos escrever um n
umero racional dado em uma base
xada diferente da base dez? Como ja temos feito isto no caso de
n
umeros inteiros, devido ao teorema acima basta ver como isto e
feito no caso de n
umeros fracionarios. Este e o assunto do proximo
item.
Convers
ao de Fra
c
ao de uma Base `
a Outra
Seja F um n
umero racional, 0 < F < 1, dado no base b por
F = (0, b1 b2 . . .)b , e suponhamos que queremos escrever F na
base c. Ent
ao F = (0, b1 b2 . . .)b = (0, c1 c2 . . .)c onde ci deve
ser determinado, para cada i. Multiplicando ambos os lados da
igualdade por c, movemos a vrgula uma casa para a direita no segundo membro da igualdade. Com isto, caremos com c1 como
parte inteira (no 2o membro), e e possvel determina-lo. Ou seja:
(c)b (0, b1 b2 . . .)b = (c1 , c2 . . .)c , e, igualando as partes inteiras,
tem-se o valor de c1 . Para obter c2 , iguala-se as partes fracionarias de (c)b (0, b1 b2 . . .)b e (c1 , c2 . . .)c e repete-se o processo. Os outros ci , i 3 sao obtidos de maneira semelhante.
Exemplos 2.26 (A) Seja F = b1 .101 + b2 .102 + =
0, b1 b2 , acharemos cj {0, 1} j = 1, 2, . . . , tais que F =
(0, c1 c2 )2 .
De (0, b1 b2 . . .)10 = (0, c1 c2 . . .)2 , multiplicando por 2, obtemos:
2(0, b1 b2 )10 = (c1 , c2 c3 )2 (pois (I + F )10 = I  + F  )2 ),
igualando as partes inteiras obtemos c1 (pois I10 = I2 ). Igualando
as partes fracionarias de 2(0, b1 b2 )10 e (0, c2 c3 )2 (pois
F10 = F2 ), e repetindo o processo, obteremos c2 . Assim por diante,
ate obter todos os cj . Facamos dois exemplos:

Aritm
etica dos N
umeros Inteiros

115

(i) (0, 75)10 = (0, c1 c2 )2 .


Multiplicando por 2, temos 1, 5 = c1 , c2 . Ent
ao c1 = 1 e
0, 5 = (0, c2 )2 . Multiplicando por 2 obtemos 1, 0 =
(c2 , c3 )2 , o que implica que c2 = 1 e 0 = cj , para todo
j 3. Ent
ao 0, 75 = (0, 11)2
(= 12 + 14 ).
(ii) 0, 6 = (0, c1 c2 )2 . Usemos o processo pratico:

c1
c2

0,

= 1,

= 0,

6
2
2
2
4

0,

c3 = 0,

c4 = 1,

4
2
8
2
6

e tudo volta a repetir innitamente a partir de c4 . Logo 0, 6 =


(0, 1001)2 .
A nota
c
ao 0, b1 b2 bk bk+1 bt signica que, a partir de
uencia bk+1 bt vai se repetir innitamente.
bk , a seq
(iii) 0, 22 = (0, c1 c2 )2 .
Como a fracao na base dez e uma serie innita, se multiplicarmos por 2, pode car complicado para efetuar o produto. Mas se
zermos x = 0, 22 e multiplicarmos por dez, temos: 10x = 2 + x
ao, 29 = (0, c1 c2 )2 . Multie da 9x = 2. Portanto, x = 29 . Ent
4
plicando por 2, 9 = (c1 , c2 )2 . Logo, c1 = 0 e, multiplicando
por 2, 89 = (c2 , c3 )2 . Novamente c2 = 0 e, multiplicando
7
7
por 2, 16
9 = 1 + 9 = (c3 , c4 )2 . Encontramos c3 = 1 e 9 =
(0, c4 )2 . Continuando, encontramos: 0, 22 = 0, 0011102 .
(B) Para a convers
ao de uma fracao binaria para uma fracao
decimal, existem 2 processos pelo menos. O mesmo processo
anterior, so que agora multiplicamos por dez. Se temos a =
(0, a1 a2 ) na base dois, e queremos escrever a = (0, b1 b2 )
na base dez, se multiplicarmos por dez, b1 ca sendo a parte
inteira do n
umero 10a. Assim, 10a = (b1 , b2 )10 , ou seja,
(1010)2 (0, a1 a2 )2 = (b1 , b2 )10 . Igualando as partes inteiras, obtem-se b1 . Igualam-se as partes fracionarias e continua-se
o processo para achar os outros bj , j = 2, . . .

Aspectos Formais da Computa


c
ao

116

Para o segundo processo basta escrever


a = (0, a1 a2 ) na

1
2
ai 2i e calcular esta serie
forma a = a1 2 + a2 2 + =
i0

convergente.
Exemplo (i) Dado a = (0, 11)2 , escrevemos a = (0, b1 b2 )
na base dez. Multiplicando a por dez, camos com (1010)2 (0, 11)2
= (10)(0, b1 ). Portanto, (111, 10)2 = (b1 , b2 )10 . Logo,
b1 = (111)2 = 710 e (0, 1)2 = (0, b2 )10 . Repetindo o processo, multiplicando a u
ltima igualdade por dez, camos com
(1010)2 (0, 1)2 = (b2 , b3 )10 , ou seja, (101)2 = 510 = b2 e
bj = 0, j = 3, 4 . Encontramos a = 0, 75.
(ii) Usando o segundo processo temos:
(na base dez). Logo, a = 12 + 14 =
encontramos: a = 0, 75.

a = (0, 11)2 = 12 + 14
3
ao
4 . Efetuando a divis

(iii) Para exemplicar o segundo processo, mais uma vez, considere


c = (0, 101)2 , ou seja, c = (0, 101101101 )2 . Podemos escrever
uencia
c = 21 +23 +24 +26 +27 +29 +212 + Como a seq
e absolutamente convergente, podemos escrever c = (21 + 24 +
27 + 210 + ) + (23 + 26 + 29 + 212 + ). Usando a soma
de uma progressao geometrica, conclumos que
c=

5
23
21 23
21
+
= = 0, 7142857.
+
=
3
3
12
12
7/8 7/8
7

Seja d = 0, 1012 . Ent


ao d = 21 + 23 =

1
2

1
8

5
8

= 0, 625.

Exerccios
(1) Prove as seguintes formulas por inducao matematica: (i) n <
2n , n N, (ii) n3 n e divisvel por 3, para todo inteiro n.
Sugestao Considere n 0 e depois n < 0. (iii) 2n < n!, n 4.
(2) Considere os n
umeros de Fibonacci: F1 = F2 = 1, Fn = Fn1 +
Fn2 , n 3.
(a) Calcule Fi , para i = 1, 2, . . . , 12.
(b) Prove por inducao que: (i) A soma dos n primeiros n
umeros
de Fibonacci e igual a Fn+2 1, isto e, F1 +F2 + +Fn = Fn+2 1.

Aritm
etica dos N
umeros Inteiros

117

(ii) A soma dos n primeiros n


umeros de Fibonacci com ndices
mpares e igual a F2n , isto e: F1 + F3 + + F2(n1)+1 = F2n .
(iii) A soma dos n primeiros n
umeros de Fibonacci de ndices
pares e F2n+1 1.
(iv) Para n 1, F12 + F22 + + Fn2 = Fn .Fn+1 .
(3) Os n
umeros de Stirling de primeira especie, denotados por
S1 (m, n) sao denidos pela equacao


mS1 (m, n)xn = x(x 1) . . . (x m + 1).

n=0

Mostre que S1 (m, n) satisfaz a relacao:


S1 (m + 1, n) = S1 (m, n 1) mS1 (m, n)
com
S1 (0, 0) = 1,

S1 (k, 0) = S1 (0, k) = 0

para k > 0.
(4) Prove por inducao que:
(a) a + ar + ar2 + . . . + arn =

R, r > 0, r = 1.

a(rn+1 1)
, para qualquer a
r1

(b) Dena P (0) = 1 e P (n) = n.P (n 1), n 1. Prove que P (n)


dene recursivamente n!
(c) Se |A| = n, ent
ao |(A)| = 2n .
(d) 2n 1 = 20 + + 2n1 , n 1.
n(n + 1)(2n + 1)
(e) 12 + 22 + n2 =
, n 1.
6
2n1
n+2
.3
+ 1 e divisvel por 11, n 1.
(f ) 2
(g) 17|34n+2 + 2.43n+1 , n N.
(h) a0 + a1 r + a2 r2 + . . . + aj rj < rj+1 , j N; onde r N e
a0 , a1 . . . , aj N, tais que ai < r, i = 0, . . . , j.
(i) (A1 . . .Ar )c = Ac1 . . .Acr , e (A1 . . .Ar )c = Ac1 . . .Acr ,
paratodo r N.

(j)  ni=1 (2i 1) = n2 , (n 1). (k) ni=1 i3 = [ 12 n(n + 1)]2 .
(l) ni=1 i(i!) = (n+1)!1, (n 1). (m) a, 0 < a < 1; (1a)n
1 na, (n 1). (n) 2n > n3 , (n 10).

Aspectos Formais da Computa


c
ao

118

(5) Sendo A : N N N a funcao de Ackermann, calcule A(2, 3)


e, na tabela de dupla entrada,
0
1
2
3
..
.

0
(0, 0)
(1, 0)
(2, 0)
(3, 0)
..
.

1
(0, 1)
(1, 1)
(2, 1)
(3, 1)
..
.

2
(0, 2)
(1, 2)
(2, 2)
(3, 2)
..
.

3
(0, 3)
(1, 3)
(2, 3)
(3, 3)
..
.

4
(0, 4)
(1, 4)
(2, 4)
(3, 4)
..
.

...
...
...
...
...
..
.

faca um caminho usando setas para indicar os passos dados, necessarios no calculo de A(2, 3).
(6) Dena as seguintes seq
uencias de n
umeros usando recorrencia:
2
n
2
(a) 1, 2, 2 , . . . , 2 , . . . (b) 0, 1 , 22 , . . . , k2 , . . .
(c) 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .
 
n
(7) Dena recursivamente: E(i) =
(i 0).
i
(8) Determine os quocientes e os restos (q, r) da divis
ao euclidiana de a por b, onde:
(a) a = 18 e b = 5, (b) a = 121 e
b = 10, (c) a = 3512 e b = 91, (d) a = 55 e b = 5,
(e) a = 63 e b = 8, (f ) a = 2764 e b = 3.
(9) (A) Encontre os mdc(a, b) e expresse-os na forma ra + sb, onde
(a) a = 14, b = 7684 (b) a = 4148, b = 7684
(c) a = 180, b = 252 (d) a = 1144, b = 351
(e) a = 8024, b = 412.
(B) Expresse o mdc(6, 10, 14) na forma 6r + 10s + 14t, r, s, t Z.
(10) (i) Seja n Z, n > 1. Mostre que, se nao existe um primo

ao n e um n
umero primo.
p n, tal que p divide n, ent
(ii) Verique se 1943 e 1891 sao n
umeros primos.
(11) (i) Use o crivo de Eratostenes para calcular todos os n
umeros
primos ate 200.
(ii) Por que os n
umeros compostos da tabela sao cancelados
ate m
ultiplo de 13 e da para frente n
ao se cancelam mais?
(12) Obtenha a fatoracao de 144 e 162 em produto de primos e
utilize-as para obter mdc(144, 162) e o mmc(144, 162).

Aritm
etica dos N
umeros Inteiros

119

(13) Ache a Z, 48 < a 384, tal que mdc(a, 384) = 48.


Quantos a Z existem nestas condicoes?
(14) Se a, b, c sao inteiros positivos, prove que:
(a) a|b e a|c, ent
ao a|(b + c), (b) mdc(a, b) = mdc(b, a),
(c) mdc(a, a) = a, (d) mdc(ba, bc) = b.mdc(a, c),
(e) mdc(mdc(a, b), c) = mdc(a, mdc(b, c)),
(f ) Se a > b, ent
ao mdc(a, b) = mdc(a b, b).
(g) Se ab = l2 para algum l Z, e mdc(a, b) = 1, ent
ao a = l12 e
b = l22 para l1 e l2 convenientes.
Sugest
ao para (d): Mostre que b|d1 , onde d1 = mdc(ab, cb).
(15) Utilize o Lema 2.13 e calcule mdc(1935, 30).
(16) Enuncie e prove o criterio de divisibilidade por 5, 9 e por 11.
(17) (i) Prove que quaisquer n
umeros da forma abcabc sao divisveis por 13, 11, e 7. (ii) Use o teorema fundamental da
aritmetica e escreva 310310 como produto de primos. (iii) 997 e
primo? Por que?
(18) (i) Ache o resto de divisao de u = (531)6 .(31)2 .2 por 7.
1321
por 11.
(ii) Ache o resto da divisao de 77
1000
(iii) Ache os 2 u
ltimos algarismos de 77 .
(19) Escolha a, k em Z com a > 1, a e 26 relativamente primos, para criptografar a sentenca A terra e azul usando a funcao
f (x) = ax + k(mod.26).
De a funcao inversa de f (x) para decriptografar.
(20) Faca a tabua da adicao na base 2 e efetue a soma: 11112 +
112 + 101112 .
(21) (i) Escolha b > 2 e faca a conversao de n
umeros da base dez
para a base b e vice-versa.
(ii) De alguns exemplos.
(iii) Para a base b escolhida em (i), faca conversao de n
umeros da
base b para a base dois e vice-versa, sem passar pela base dez.
(22) Resolver na base dada:
(i) 230104 12314 (ii) 1203014 + 211304 (iii) 2234 21324 .
(iv) 230104 12314 (v) 21214 224 . (vi) 10112 112 .

120

Aspectos Formais da Computa


c
ao

(23) Escreva o n
umero 621 nas bases (i) 2, (ii) 3, (iii) 7 e (iv)
11.
(24) Escreva na base decimal os n
umeros: (12011)3 , (22210)3 .
(25) (i) Escreva nas bases 2 e 8 os seguintes n
umeros dados na
notacao decimal: 74, 149, 19, 101, 144, 225.
(ii) Represente os n
umeros 35 e e 155 nas bases 6 e 8.
(iii) Represente os n
umeros dados em (i) e (ii) na base hexadecimal.
(26) O que esta errado nas representacoes: (1532)4 , (2193)7 e
(1013)2 ?
(27) Converter 9,421875 e 0,3333 de decimal para bin
ario.
(28) (a) Represente na base 2 as fracoes (i) 0,8125 (ii) 34
(iii) 0, 6875 (iv) 58 (v) 0,7 (vi) 24, 625 (vii) 29, 1875
(viii) 0, 222 .
(b) Represente na base dez as fracoes binarias (i) 0, 11012
(ii) 0, 1112 (iii) 0, 1011012 .
(29) (i) Verique que a serie: 21 + 23 + 24 + 27 + 28 + 211 +
212 + = 12 + (23 + 27 + 211 + ) + (24 + 28 + 212 + )
converge. (ii) Compare com (28)(v).
(30) (a) Justique porque B316 = 101100112 . (b) Represente a = 6D16 e b = 3A16 na base 2, calcule a b na base 16.
(c) Dados x = 7C16 e y = A216 , faca as contas x + y e x y na
base hexadecimal e binaria.
(31) (i) Faca a conversao dos n
umeros fracionarios bin
arios
(101111, 01)2 e (111010, 1001)2 para as bases octal e hexadecimal.
ario.
(ii) Idem de A85E, 1616 e 761F, 9816 para octal e bin
(32) Faca as tabuadas para a base 16 e 8.
(33) Faca os calculos: (i) 2308916 13A16 ,
(iii) 2307, 028 125, 28 .

(ii) 21428 348 ,

(34) (i) Enuncie, prove e de exemplos de um processo pratico para


converter um n
umero da base 4 para a base 16 e vice-versa.
(ii) Idem para as bases 3 e 9. Qual a diferenca dos processos obtidos
entre si e destes para o processo pratico dado na Proposicao 2.23?

Captulo 3
CONJUNTOS

Segundo dicion
arios, um axioma e uma premissa imediatamente
evidente, universalmente aceita como verdade sem exigencia de
demonstracao; um postulado e um princpio, proposicao nao
evidente nem demonstravel, que se admite como princpio de um
sistema dedutvel e um paradoxo e um contra-senso, um absurdo.
Bem, do ponto de vista matematico, nao estamos totalmente
de acordo com estas denicoes, principalmente devido aos adjetivos imediatamente evidente e proposica
o evidente, que sao
discutveis. Mas aceitaremos estes conceitos como estao para n
ao
entrar numa discussao semantica e/ou losoca.
Como acontece em qualquer teoria matematica, o ponto de partida sao sempre os conceitos nao denidos, denominados conceitos
primitivos e o conjunto de axiomas ou postulados. Uma Teoria e
dita consistente se nao se deriva contradicoes ou paradoxos dos seus
conceitos primitivos.
A ideia intuitiva de conjunto desenvolvida pelo matem
atico
germanico Georg Cantor, em 1895, leva a paradoxos. Um deles
foi proposto pelo matematico Bertrand Russell em 1902 (sera visto
a seguir). Uma teoria de conjunto baseada em axiomas e consistente resolve este problema, no entanto, ca bastante complexa.
Um meio de evitar ambas as formas de abordagem e considerar a
teoria de conjunto de G. Cantor reduzida, tambem chamada Teoria Ingenua de Conjuntos, onde se admite, a priori, um conjunto
dito Conjunto Universo que contem todos os elementos do discurso.
Isto evita os paradoxos, a teoria ca consistente e, para nossos

122

Aspectos Formais da Computa


c
ao

prop
ositos, e suciente.
S
ao Conceitos Primitivos da Teoria dos Conjuntos: conjuntos,
elementos, igualdade de conjuntos, relacoes de pertinencia e continencia.
Nao ha nenhuma razao aparente para o uso de determinados
tipos de letras para indicar conjuntos ou elementos, assim, convencionaremos o seguinte:
Letras latinas min
usculas representar
ao elementos;
Letras latinas mai
usculas ou retorcidas denotar
ao conjuntos
indica pertence
= indica igual.
Por exemplo, a sentenca x A le-se: o elemento x pertence
ao conjunto A. E A C le-se: o conjunto A e um elemento de
C.
Para sabermos qual e o conjunto a que estamos nos referindo,
usamos o

Axioma da Determinac
ao - Um Conjunto ca bem determinado
por seus elementos. De forma mais ingenua, pode-se dizer que
dois conjuntos sao iguais se possuem os mesmos elementos.
J
a que basta conhecermos os elementos de um conjunto para
reconhece-lo, por vezes, podemos representa-lo apresentando uma
listagem de seus elementos colocados entre chaves. Por exemplo,
{1, 2, 3} e o conjunto constitudo pelos n
umeros 1, 2, 3 e por nenhum outro elemento.
Observe que o Axioma da Determinacao nos garante que os
conjuntos {1, 3, 5} e {1, 5, 3, 3} sao iguais; o que signica tambem
que a ordem e o n
umero de vezes que um determinado elemento e
listado no conjunto n
ao e relevante.
Deni
c
ao 3.1 Se A e B sao dois conjuntos, e se todo elemento de
A pertence a B, dizemos que A e um subconjunto de B, ou que B
inclui A, e denotamos por: A B ou B A. Neste caso, dizemos
tambem que A est
a contido em B ou que B contem A.

Conjuntos

123

A inclusao entre conjuntos A B corresponde `a proposicao


na algebra de proposicoes p q, onde p pode ser visto como
a proposicao x A, onde x e xo e q : x B. Portanto
suas propriedades sao as mesmas de p q. Para A, B e C
subconjuntos de um conjunto universo U, tem-se:
(1) A A (reexiva)
(2) A B e B C = A C (transitiva)
(3) A B e B A = A = B, (anti-simetrica).
Estas propriedades correspondem, respectivamente, `as implicacoes logicas
(1) p = p, (2) [(p q) e (q r)] = [p r] e (3)
[(p q) (q p)] = [p q], e todas sao de demonstracoes
simples e imediatas.
Observa
c
oes:
1. O fato de A B n
ao exclui a possibilidade de termos B A.
2. Com a notacao A  B indicamos que o conjunto A n
ao est
a
contido no conjunto B. Assim, A  B (x)(x A e x 
B). Por exemplo: {2, 3}  {1,
3, 5, 6, 7}, pois 2 {2, 3} e 2 
{1, 3, 5, 6, 7}, [1, 3]  Q, pois 2 [1, 3] e 2  Q. Para os
conjuntos numericos temos a seq
uencia de inclusoes N Z Q
R C.
Uma outra forma de reconhecer um conjunto e dada pelo
Axioma 3.2 (Axioma da Separac
ao) Seja A um conjunto e P (x)
uma sentenca aberta denida sobre A. Ent
ao existe um subconjunto
B de A que consiste exatamente daqueles elementos x de A que
satisfazem P (x).
Costumamos indicar o conjunto B por
B = {x A | P (x)}.

124

Aspectos Formais da Computa


c
ao

Observamos que, para especicarmos um conjunto, n


ao e suciente termos uma sentenca aberta P (x), e necessario, tambem,
um conjunto para cujos elementos vericaremos a validade P (x).
O conjunto dos elementos com os quais estaremos trabalhando e
chamado conjunto universo e indicado por U . Este universo e
usado no sentido de universo de discurso.
Decorre do axioma da separacao a existencia de um conjunto
sem nenhum elemento. Vejamos: se A e um conjunto qualquer,
considere B = {x A : x = x}. Este conjunto, evidentemente,
nao possui elementos e e chamado conjunto vazio. Para indic
a-lo
usaremos os seguintes smbolos: ou { }.
Observa
c
oes: (1) O conjunto vazio e subconjunto de qualquer
conjunto, ou seja, A, para todo A. A prova deste fato e por
vacuidade. De fato precisamos demonstrar que:
x, (x x A).
Desde que, se a proposicao x e falsa, a proposicao x

x A e verdadeira, podemos concluir que A.

(2) A teoria geral de conjuntos proposta por G. Cantor apresenta


alguns paradoxos. Por exemplo, veja o seguinte paradoxo apresentado por Bertrand Russell: Seja Y o conjunto constitudo pelos conjuntos B que nao contem a si mesmo como elemento. Em
smbolos: Y = {B | B  B}.
Como um conjunto pode ser denido por uma propriedade,
segue que Y e um conjunto bem denido. Agora a pergunta que
se poe e: Y Y ?
Resposta: Caso Y Y, ent
ao Y satisfaz a propriedade: Y  Y,
absurdo. Caso Y  Y, ent
ao Y tem a propriedade que o dene
como conjunto e portanto Y Y, absurdo tambem!!
Este paradoxo nos diz que n
ao podemos considerar a
existencia de um conjunto Universo no sentido absoluto da palavra, e da surge a expressao universo de discurso usada anteriormente.

Conjuntos

125

Para representarmos um conjunto por meio da listagem de seus


elementos, `as vezes podemos usar pontos de reticencias quando o
padr
ao dos elementos do conjunto e evidente. Por exemplo S =
{0, 1, 2, 3, . . . , 100} denota o conjunto dos n
umeros naturais de 0 ate
100, inclusive. Para conjuntos constitudo de innitos elementos,
seguem algumas notacoes:

N = {0, 1, 2, 3, . . .} o conjunto dos numeros naturais.


Z = {. . . , 2, 1, 0, 1, 2, . . .} = {0, 1, 2, . . .} o conjunto dos
n
umeros inteiros.
(3) Como ja vimos, os smbolos (pertence)
/ (n
ao pertence) relacionam elemento e conjunto, enquanto (est
a contido)  (n
ao
est
a contido) ou (contem)  (n
ao contem) relacionam conjuntos. Por exemplo, sejam: U = {a, {a}, b, c, d, e, f }, A = {{a}, b},
B = {a, b, c, d}. Ent
ao: a B, pois o elemento a e o conjunto B
se relacionam. Temos tambem que {a} A e {a}  B, pois o
elemento {a} se relaciona com o conjunto A e nao se relaciona com
o conjunto B. Tambem por isso A  B, ou B  A. Ainda temos:
1 {1, 2, 3}, {1}  {1, 2, 3} e, portanto, {{1}}  {1, 2, 3};
{{1}} {{1}, 2, 3}, pois {1} {{1}, 2, 3}.
Outros exemplos de conjuntos sao:
qualquer conjunto constituido de um
(a) Conjunto Unit
ario: E
u
nico elemento. Sao exemplos {a}, {3}, {}.
(b) Conjunto das Partes - Dado um conjunto B, o conjunto
das partes de B, denotado por (B) ou 2B , e o conjunto denido
por:

(B) := {X | X B}.
Logo, X (B) X B. Observe tambem que este conjunto
nunca e vazio, pois pelo menos e um elemento de (B).
Exemplos () = {},

({1, 2} = {, {1}, {2}, {1, 2}},

({a, {a}}) = {, {a}, {{a}}, {a, {a}}}.

Aspectos Formais da Computa


c
ao

126

3.1

Diagrama de Venn-Euler

Uma boa ajuda para pensar sobre conjuntos e dada pelo


diagrama de Venn-Euler, em que regi
oes fechadas do plano sao
usadas para representar conjuntos.

C
Figura 3.1: Diagrama de Venn
Na Figura 3.1, o ret
angulo representa o conjunto universo e as
regioes cercadas pelas curvas representam os conjuntos A, B e C.
Observa
c
oes: Freq
uentemente um diagrama de Venn pode sugerir
um argumento formal, por exemplo evidenciar o fato que, se A e
B sao dois conjuntos quaisquer, n
ao se tem necessariamente A
B ou B A. Porem, devemos ter cuidado, pois um diagrama
pode representar um caso muito particular da situacao em questao
e nao servir para mostrar que, em geral, vale uma determinada
propriedade.

3.2

Operac
oes entre Conjuntos

3.2.1

Reuni
ao ou Uni
ao de Conjuntos

Deni
c
ao 3.3 Dados A, B U a uni
ao de A e B e o conjunto
constitudo pelos elementos de U que sao elementos de A ou de B.
Denotando por A B este conjunto tem-se, A B := {x U | x
A x B}, que se le: A reuniao (ou uni
ao) B.

Conjuntos

127

Representando no diagrama de Venn-Euler, temos:

A
B

Figura 3.2: Uni


ao
Exemplos: Sejam A = {12, 1, 2, 6} e B = {x R : 0 x
8}. Ent
ao A B := {12} B.
Seja C = {1, 3, 7, 8}, ent
ao A C = {12, 1, 1, 2, 3, 6, 7, 8}.
Propriedades da Reuni
ao: Sejam A, B, C conjuntos contidos
em um conjunto universo U. Ent
ao:
(a) A B = B A,
(b) A A B e B A B,
(c) A A = A,
(d) A = A,
(e) A U = U,
(f) (A B) C = A (B C).
Como A B e denido em funcao de A e B usando o conectivo
ou, nota-se que as propriedades da reuni
ao e a sua tabela verdade
(de x A B em funcao de x A e x B) sao as mesmas de p q.
Cada uma das propriedades acima correspondem, respectivamente,
a:
(a) p q q p (b) p = (p q), (c) p p p,
(d) p C p, (e) p T T, (f ) (p q) r p (q r).
Observa
c
oes: (1) Como vale (A B) C = A (B C), podemos
simplesmente suprimir or parenteses.

Aspectos Formais da Computa


c
ao

128

(2) Um elemento y nao pertence a AB se, e somente se, y  A


ey
 B.
A denicao de reuniao pode ser estendida para uma quantidade
nao enumer
avel de conjuntos, como segue
Deni
c
ao 3.4 A reuniao de uma colecao de conjuntos contidos
em um conjunto universo U e o conjunto constitudo dos elementos
de U que pertencem a pelo menos um dos conjuntos da colecao.
Em particular, se temos um n
umero nito n de conjuntos Ai
podemos, escrever:
A1

A2

An =

n


Ai

i=1

para n N, n 1.
Observa
c
ao: No caso particular, em que cada Ai e um conjunto
ao {a1 }{a2 }. . .
unit
ario {ai } com ai em U , indicaremos sua uni
{an } simplesmente por {a1 , a2 , . . . , an }. Note que estes elementos
nao sao necessariamente distintos dois a dois. Se os elementos
a1 , a2 , . . . , an sao dois a dois distintos, diremos que o conjunto A =
umero de elementos
{a1 , a2 , . . . , an } tem n elementos, ou que n e o n
de A, e usaremos a notacao n = |A|. Assim, se B = {b1 , b2 , . . . , bn }
com bi U (i = 1, . . . , n), ent
ao |B| n.
umero natural n
ao
Exemplo Seja Ai = {i, i + 1, i + 2, . . .}, i um n
nulo. Ent
ao
n

i=1

3.2.2

Ai =

n


{i, i + 1, i + 2, . . .} = {1, 2, 3, . . .}.

i=1

Interse
c
ao de Conjuntos

Deni
c
ao 3.5 Dados A, B U, a intersec
ao de A e B e o conjunto constitudo pelos elementos de U que sao elementos de A e
de B. Denotando 
por A B este conjunto, tem-se:
A B := {x U | x A x B},
que se le: A intersecao B ou A inter B.

Conjuntos

129

No diagrama de Venn-Euler temos:

B
A

Figura 3.3: Intersecao


Exemplo Sejam A = {12, 1, 2, 6}, B = {x R : 0 x 8} e
C = {1, 3, 7, 8}.
Ent
ao, A B = {1, 2, 6} e A C = .
Propriedades da Interse
c
ao - Para A, B, C conjuntos contidos
em um conjunto universo U, temos:
(a) A B = B A,
(b) A B A e A B B,
(c) A A = A,
(d) A = ,
(e) A U = A,
(f) (A B) C = A (B C).
Pode-se notar as propriedades da intersecao, sendo denida
pelo conectivo e, sao as mesmas da proposicao p q. As demonstracoes cam como exerccios.
A denicao de intersecao tambem pode ser estendida para uma
quantidade n
ao enumer
avel de conjuntos.
Deni
c
ao 3.6 A intersecao de uma colecao de conjuntos contidos
em um conjunto universo U e o conjunto constitudo dos elementos
de U que sao membros de todos os conjuntos da colecao.

Aspectos Formais da Computa


c
ao

130

Em particular, se temos um n
umero nito n de conjuntos Ai ,
podemos escrever:
n

 

Ai
A1 A2 An =
i=1

para n N, n 1.

Exemplo: Seja Ai = {i, i + 1, i + 2, . . .}, i um n


umero natural.
Ent
ao,
n
n


Ai =
{i, i + 1, i + 2, . . .} = {n, n + 1, n + 2, . . .}
e

i=1


i=1

i=1

Ai =

{i, i + 1, i + 2, . . .} = .

i=1

Observa
c
oes: (1) Um elemento y nao pertence a A B se, e
somente se, y  A ou y  B.
(2) Dizemos que os conjuntos A e B sao disjuntos se A B = .
No exemplo dado anteriormente, A e C sao conjuntos disjuntos.

3.2.3

Diferen
ca de Dois Conjuntos e Conjunto Complementar

Deni
c
ao 3.7 Dados os conjuntos A, B U, chamamos de diferenca
de A por B o conjunto dos elementos que pertencem a A, mas nao
a B, e denotamos por A B ou A\B, ou seja, A B := {x U |
x A x  B}.
Veja a representacao no diagrama de Venn-Euler:

A
B

Figura 3.4: Diferenca

Conjuntos

131

Exemplos: (1) {1, 2, 3} {3, 4, 5} = {1, 2}


(2) {1, 2} {3, 4} = {1, 2} .
(3) {1, 2, 3} {1, 2, 3, 5} = .
(4) Sendo A = {1, 2, 3, 4, 5} e B = {2, 4, 6, 8, 10}, temos: A
B = {1, 3, 5} e B A = {6, 8, 10}.
ao A B = {x
(5) Se A = N e B = {x N | x e mpar }, ent
N | x e par } e B A = .
Propriedades da Diferen
ca: Sejam A, B conjuntos contidos em
um conjunto universo U. Ent
ao:
(a) A A = ,
(b) A B A,
(c) A = A,
(d) A U = .
Deni
c
ao 3.8 (Conjunto Complementar) No caso em que B
A, a diferenca A B e chamada o complementar de B em relac
ao
a A e e denotada por CA B := {x U | x A x  B}. No caso
em que A = U, denotaremos apenas por B ou por B c := {x U |
x  B}.
Veja as representacoes nos diagramas a seguir:
A

CA B

A
B

Figura 3.5: Complementar


Exemplos: Sejam U = R, A = {x R : x 1} e B = {x R :
x 0}. Ent
ao
A = {x R | x  A} = {x R : (x 1)} = {x R | x > 1}.
B = {x R : x  B} = {x R : (x 0)} = {x R : x < 0}.

132

Aspectos Formais da Computa


c
ao

A B = {x R : x A x B} = {x R : (x 1) (x 0)} =
= {x R : 0 x 1}.
A B = {x R : x A x B} = {x R : (x 1) (x 0)} = R.
A B = {x R : x A x  B} = {x R : (x 1 x < 0)} =
{x R : x < 0} = B.
B A = {x R | x B x  A} = {x R : (x 0) (x > 1)} =
{x R : x > 1} = A.
Propriedades do Complementar. Para A e B partes de um
conjunto universo U, temos:
(a) B B =
(b) = U
(c) U =
(d) B B = U
(e) (B) = B

(f) Dualidade ou Leis de De-Morgan:

(i) (A B) = A B
(ii) (A B) = A B

Nota: A complementacao de conjunto em relacao ao conjunto


universo corresponde exatamente a negacao de uma proposicao
e, portanto, suas propriedades s
ao analogas. Verique isto como
exerccio.
Reuniremos algumas das identidades mais importantes da teoria
de conjuntos na tabela que segue:

Conjuntos
TABELA (1)

133
Identidades de Conjuntos

Identidades
A=A
AU =A
AU =U
A=
AA=A
AA=A
(A) = A
AB =BA
AB =BA
A (B C) = (A B) C
A (B C) = (A B) C
A (B C) = (A B) (A C)
A (B C) = (A B) (A C)

Nomes
Identidades
Dominacao
Idempotentes
Complementacao
Comutativa
Associativa
Distributiva

AB =AB
AB =AB
A (A B) = A
A (A B) = A

DeMorgan

AA=U
AA=

Complementacao

Absorcao

Como exemplo, faremos a demonstracao de que A B = AB.


A B = {x | x  A B}
= {x | (x A B)}
= {x | x  A x  B}
= {x | x A x B}
= {x | x A B}
= A B.
Agora, construiremos a tabua desta propriedade, indicando por
1, na coluna de cada conjunto X, quando um elemento generico x de

Aspectos Formais da Computa


c
ao

134

U pertence ao conjunto X, e 0 caso contrario. Os valores na coluna


de A e B sao independentes e temos quatro combinacoes possveis
para formar os pares constitudos de zerose uns, conforme x
A ou x  A, e x B ou x  B. As outras colunas (e claro)
dependem destas duas primeiras, do mesmo modo quando se faz
uma tabela-verdade para uma proposicao composta generica.
A
1
1
0
0

B
1
0
1
0

Ac
0
0
1
1

Bc
0
1
0
1

AB
1
0
0
0

(A B)c
0
1
1
1

Ac B c
0
1
1
1

Segue-se, pela tabela, que um elemento generico x U, se x A


e x B, ent
ao x  (A B)c e x  Ac B c (primeira linha).
Por todas as linhas, conclumos que um elemento generico x de U
pertence a (A B)c e a Ac B c , sempre que, ou x nao pertence
a A, ou x n
ao pertence a B. Veja, tambem, as linhas dois, tres e
quatro da tabela. Em outras palavras,
x U : [x (A B)c x Ac B c ].
Logo, A B = A B.
A demonstracao de que A(B C) = (AB)(AC) pode ser
feita usando a teoria e as denicoes de interseccoes e de reunioes.
No entanto, tambem pode ser feita usando a tabela de zeros e
uns associada, como segue (onde denotamos A B por D e A C
por E para reduzir espaco).
A
1
1
1
1
0
0
0
0

B
1
1
0
0
1
1
0
0

C
1
0
1
0
1
0
1
0

B C
1
1
1
0
1
1
1
0

A(B C)
1
1
1
0
0
0
0
0

DE
1
1
1
0
0
0
0
0

AB
1
1
0
0
0
0
0
0

AC
1
0
1
0
0
0
0
0

Como A (B C) e (A B) (A C) tem a mesma tabela de

Conjuntos

135

zeros e uns, signica que


x U : [x A (B C) x (A B) (A C)].
Isto prova a igualdade: A (B C) = (A B) (A C).

3.3

N
umero de Elementos de um Conjunto

Muitas vezes estamos interessados em calcular o n


umero de elementos da reuniao A B. Denotando por |X| ou n(X) o n
umero de
elementos do conjunto X, quando A e B sao disjuntos temos que
|A B| = |A| + |B|, mas quando A B = a soma |A| + |B| conta
duas vezes os elementos de A B. De um modo geral, temos:
Proposi
c
ao 3.9 Sejam A, B subconjuntos nitos de um conjunto
universo U. Ent
ao, A B tambem e nito e n(A B) = n(A) +
n(B) n(A B).
Demonstracao: O ponto de partida e que para A e B disjuntos
dene-se: n(AB) como sendo n(A)+n(B). Agora, para quaisquer
A, B U temos A B = A (B A), com A e B A conjuntos
disjuntos. Logo,
n(A B) = n(A) + n(B A)

()

Como B = (B A) (A B) com B A e A B disjuntos, segue-se


que n(B) = n(B A)+n(AB). Da n(B A) = n(B)n(AB).
Substituindo n(B A) em () tem-se o resultado.

Esta
ao generica qual formula se generaliza para uma reuni
quer ni=1 Ai e e chamada de princpio de inclus
ao-exclus
ao. Veja
exerccio 23.
Exemplo Sejam A = {1, 2, . . . , 30}, B = {21, 22, . . . , 50}.
Ent
ao: A B = {1, 2 . . . , 50} e A B = {21, 22, . . . , 30}.
Conseq
uentemente n(A B) = 50 = 30 + 30 10 = n(A) + n(B)
n(A B).

Aspectos Formais da Computa


c
ao

136

3.4

Produto Cartesiano e Gr
acos

Deni
c
ao 3.10 Uma n-upla ordenada (a1 , a2 , . . . , an ), (n > 1) e
uma colecao ordenada que tem a1 como seu primeiro elemento,
a2 seu segundo elemento, . . ., an seu n-esimo elemento. Diz-se que
duas n-uplas (a1 , a2 , . . . , an ) e (b1 , b2 , . . . , bn ) sao iguais quando ai =
bi , i = 1, 2, . . . , n. A dupla (a1 , a2 ) e dita par ordenado. Assim,
(a, b) = (c, d) quando a = b e c = d. Em particular, se a = b, ent
ao
(a, b) = (b, a).
Nota: O conceito de par ordenado formado por a e b, nesta ordem, foi denido por Georg Cantor como sendo o conjunto {a, {a, b}}.
Com esta denicao tem-se que (a, b) = (c, d) se, e somente se, a = b
e c = d. Prove isto.
Deni
c
ao 3.11 Dados A, B U, dene-se o produto cartesiano
de A por B e denota-se por A B (A cartesiano B) como sendo o
conjunto de todos os pares ordenados (a, b), onde a A e b B.
Assim
A B := {(a, b) | a A e b B}.
Caso A = ou B = , dene-se A B como sendo .
Mais geralmente, se sao dados os conjuntos A1 , A2 , . . . , An ,
denota-se por A1 A2 An o conjunto de todas as n-uplas
(a1 , a2 , . . . , an ) onde ai Ai , i = 1, 2, . . . , n. Tambem, escreve-se
A1 A2 An := {(a1 , a2 , . . . , an ) | ai Ai , i = 1, 2, . . . , n}
O conjunto {(a1 , a2 , . . . , an ) | ai Ai , i = 1, 2, . . . , n} tambem e
n

Ai .
denotado por
i=1

Exemplo Sejam A = {a, r, } e B = {2, 3}. Ent


ao A B =
{(a, 2), (a, 3), (r, 2), (r, 3), ( , 2), ( , 3)}.
Caso A e B sejam subconjuntos de R, podemos representar o
produto cartesiano AB no plano cartesiano. Nesta representacao
os elementos de A sao representados na reta horizontal (eixo dos

Conjuntos

137

x) e os elementos de B na reta vertical (eixo dos y). Assim, se o


par (x, y) A B, ele e representado por

(x,y)

Figura 3.6: Representacao do par (x, y)


Exemplo 1 A = {1, 2} e B = {1, 2, 3}
A B = {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)}

y
3
2

1
1

Figura 3.7: Produto Cartesiano A B


ao
Exemplo 2 Se C = {x R : 1 x 1} e D = {1, 2}, ent
C D = {(x, 1), (z, 2), x, z C} = {(x, 1), x C}{(x, 2), x C},
onde [a, b] := {x R : a x b}.

y
2

1
-2

-1

Figura 3.8: Produto Cartesiano C D

138

3.5

Aspectos Formais da Computa


c
ao

Representa
c
ao Computacional de Conjuntos

Existem varios metodos de representar conjuntos usando um computador. Um metodo e armazenar os elementos de um conjunto de
uma maneira nao ordenada. Entretanto, se isto for feito, os c
alculos
computacionais para se obter uni
oes, interseccoes, ou diferenca entre conjuntos leva um tempo enorme, pois estas operacoes exigem
uma grande pesquisa de elementos.
No caso em que o conjunto universo e nito com poucos
elementos, podemos ordenar seus elementos e assim os calculos
de operacoes de conjuntos por computador cam mais f
aceis. Suponhamos por exemplo que U = {a1 , a2 , . . . , an }, com n 1 e nao
muito grande para que o computador a ser usado tenha mem
oria
suciente para realizar as operacoes. Agora considere A um subconjunto de U. Identique A com uma seq
uencia de comprimento
n do tipo x1 x2 . . . xn , onde xi = 1, se ai A, e xi = 0, se ai  A.
Note que esta identicacao e uma correspondencia bijetora entre
todos os subconjuntos de U e o conjunto de todas as n-uplas de
zeros e uns, dita funca
o caracterstica de A. Por exemplo,
a seq
uencia de bits (do ingles binary digits): 11 1 corresponde
ao conjunto universo U ; a n-upla de bits 00 0 corresponde ao
conjunto vazio ; a seq
uencia de n bits 1010 0 corresponde ao
conjunto {a1 , a3 }; enquanto que, ao conjunto {a1 , a2 }, associamos
a seq
uencia de n bits 110 0. Para o que segue precisaremos das
operac
oes booleanas ou e e sobre o conjunto {0, 1}. Elas sao
dadas pela tabela

 0 1

 0 0 1

 1 1 1









 0 1

 0 0 0

 1 0 1








Alem destas operacoes, a complementac


ao booleana tambem
sera usada: 0 = 1 e 1 = 0.
Agora, se sao dados dois conjuntos A e B contidos em U, sejam
uencias de bits que representam os
x1 x2 . . . xn e y1 y2 . . . yn as seq

Conjuntos

139

conjuntos A e B, respectivamente. Ent


ao a seq
uencia z1 z2 . . . zn
representa o conjunto A B, onde zi = x1 yi , para i = 1, 2, . . . , n.
Do mesmo modo a seq
uencia t1 t2 . . . tn representa o conjunto AB,
1 x
2 . . . x
n e a seq
uencia de
onde ti = xi yi , para i = 1, 2 . . . , n, e x

bits que representa o conjunto A. Em outras palavras temos:


Deni
c
ao 3.12 Dadas duas seq
uencias de bits a = x1 x2 xn e
b = y1 y2 yn sobre o conjunto {0, 1}, denimos as operacoes
booleanas a b, a b e a
por:
a b := (x1 y1 )(x2 y2 ) (xn yn ),
a b := (x1 y1 )(x2 y2 ) (xn yn ),

2 x
n .
a
:= x
1 x
Lema 3.13 Sejam A, B subconjuntos de {a1 , a2 , . . . , an } e a =
uencias de bits associadas. Ent
ao
x1 x2 xn , b = y1 y2 yn suas seq
a seq
uencia de bits correspondente aos conjuntos A B, A B e
A s
ao, respectivamente, a b, a b e a
.
Demonstracao: De fato o elemento generico xi yi de a b
e 1 se, e somente se, xi = 1 ou yi = 1. Logo, xi yi = 1 se, e
somente se, ai A ou ai B. Portanto xi yi = 1 se, e somente
uencia de bits a b e a seq
uencia
se, ai A B. Por denicao, a seq
de bits associada ao conjunto A B.
Com um argumento semelhante, prova-se que a seq
uencia correspondente a A B e a b.
uencia de bits associada ao conjunto
Agora, seja u1 u2 un a seq
Ent
A.
ao o elemento ai pertence a A se, e somente se, ai  A.
Em termos de seq
uencias de bits isto se traduz por: ui = 1 se,
i e, portanto,
e somente se, xi = 0, i = 1, 2, . . . , n. Logo, ui = x
u1 u2 un = x
1 x
2 . . . x
n = a
.

Exemplo Sejam U = {1, 2, . . . , 10}, A = {1, 3, 5, 7, 9} e B =
{1, 2, 3, 4, 5}.
Ent
ao: a = x1 x2 x10 = 1010101010 e b = y1 y2 . . . yn =
1111100000. Da, a b = 1111101010, a b = 1010100000 e

140

Aspectos Formais da Computa


c
ao

a
= 0101010101, e estas seq
uencias correspondem respectivamente
aos conjuntos A B = {1, 2, 3, 4, 5, 7, 9}, A B = {1, 3, 5} e
Ac = {2, 4, 6, 8, 10}.

Exerccios
(1) Coloque verdadeiro ou falso: (a) 3 = {3}, (b) 0 ,
(c) 3 {3}, (d) 0 = , (e) 5 {{5}}, (f ) 4 {{4}, 4},
(g) 3 {3}, (h) {3}, (i) Se A = B e B = C, ent
ao A = C,
(j) A B e B  C, ent
ao A  C, (l) x B e B C, ent
ao x C,
(m) a B e B  C a C.
Para o que se segue S e um conjunto n
ao vazio.
(n) S (S), (o) S (S), (p) {S} (S), (q) {S} (S).
(2) Coloque pertence ou est
a contido nos campos pontilhados.
(a) {3, 4} . . . {{3, 4}, {5, 6}}
, (b) {2, 8} . . . {2, 8, 9},
(c) . . . {3}, (d) {{3, 4}} . . . {{3, 4}, {5, 6}}.
(3) Dados os conjuntos A = {1, 2, 3, 4, 5}, B = {2, 3, 4} e C =
{2, 4, 5}, verique e justique quais das seguintes sentencas sao
verdadeiras ou falsas:
(a) A B, (b)A C, (c) B C,
(d) C B, (e) C C, (f ) B.
(4) Dados os conjuntos X = {1, 2, 3, 4, 5}, Y = {1, 2, 3} e Z =
{4, 6, 8} do conjunto universo U = {1, 2, 3, 4, 5, 6, 7, 8}, obter:
(a) X Y, (b) X Z, (c) Y Z, (d) (X Y )c , (e) X Y,
(f ) X\Y, (g) X (Y Z).
(5) Para A = {1, 3, 4, 6, 9, 10, 11, 12, 15}, enumere os elementos dos
seguintes conjuntos:
a) {x A | x = 16}, b) {x A | x + 5 = 9},
c) {x A | x e par}, d) {x A | x e primo},
e) {x A | x2 5x + 4 = 0} f ) {x A | (x + 1) A},
g) {x Z | |x 6| < 2}, h) {x N | x e par},
i) {x N | 4 < x < 9}.
(6) Prove cada uma das armacoes a seguir, onde A, B e C sao
subconjuntos de um conjunto universo U.
(a) Se A C e B C, ent
ao A B C. (b) A B =
A B c = A.

Conjuntos

141

(c) Se A B e C D, ent
ao A C B D.
(d) Se A B = A e A C = , ent
ao B C = .
(e) A (Ac B) = A B. (f ) A (Ac B) = A B.
(g) A B C A B = B C. (h) A B = U Ac B.
(i) A B = A = e B = . (j) A B se, e somente se,
B c Ac se, e somente se, A B = A se, e somente se, A B = B
se, e somente se, A B c = se, e somente se, Ac B = U.
(k) Se existe C, tal que A C = B C e A C = B C, ent
ao
A = B.
ao A = B.
(l) Se A B = B e Ac B = , ent
(m) Se A B = U e A B = . ent
ao A = B c .
(n) Se A B = A e B C = C, ent
ao A C c = .
(o) Se A B = A e B C = B, ent
ao (A C) B = A C.
ao B = .
(p) Se A B c = e A = , ent
ao A = .
(q) Se A B c = e A B = , ent
(r) A = se, e somente se, existe B, tal que (AB c )(Ac B) = B.
(s) Se A B = A para todo A, ent
ao B = .
c
ao B = U.
(t) Se A B e A B, ent
(u) Se A B C, ent
ao A C e B C.
(v) Se A X = A B e A X = , ent
ao X = Ac B.
(7) Faca diagramas de Venn que representem as seguintes situacoes: (a) A B A C e B  C. (b) A B = C B, mas
A = C. (c) A B A C, mas B  C. (d) A B = C B,
mas A = C.
(8) Prove ou apresente um contra-exemplo para as seguintes armacoes, onde A, B e C representam conjuntos quaisquer:
(a) (A B) C = A (B C). (b) A (B C) = (A B) C.
(c) A (B C) = (A B) C. (d) A B = A (B A).
(9) Usando a denicao AB := (A\B) (B\A), prove que:
(a) AB = (A B c ) (Ac B) e AB = CAB A B.
(b) AB = BA, (c) (AB)C = A(BC).
(d) A (BC) = (A B)(A C). (e) AA = .
(f ) A B = AB(A B) e Ac = AU. (g) A = .
(h) A U = A. (i) AB = A B A B = .

142

Aspectos Formais da Computa


c
ao

(10) Para conjuntos A, B e C contidos em U, mostre que


(i) (A B) C A C, (ii) (A C) (C B) = e
(iii) (B A) (C A) = (B C)A.
(11) Dados A = {x R : x2 1 > 0} e B = {x R : x + 1 > 0},
determine:
(a) A B,
(b) Ac B,
(c) A\B e (d) Ac B c .
(12) Seja U = R [10, 10] o conjunto universo e A =
{(x, y) U : x + 2y = 1}, B = {(x, y) U : x2 + x = y 2 + y}.
(i) Ache A B e (ii) Ache A B c .
(13) Prove que A B (A) (B).
(14) (i) Prove que A B A B = A e que esta equivalencia
logica corresponde a (p q) (p q p) na algebra das
proposicoes.
(ii) Mais geralmente relacione as leis da algebra de proposicoes com as leis da algebra de conjunto.
(15) (i) Se A e B sao conjuntos nito, verique se (A B) =
(A) (B).
(ii) De um exemplo que conrma a resposta em (i).
(16) Calcule (A) onde A = {a, b, {a, b}} e a = b.
(17) Calcule B B, sabendo-se que |B B| = 16 e (0, 3) e (7, 5)
pertencem a B B.
(18) Calcule: (i) {1, 2, 3} {3, 4, 5}, (ii) {1, 2, 4, 6, 7} {3, 4, 5,
7, 9}, (iii) {1, 2, 3} {1, 2, 3, 5}, (iv) A B e B A, sendo A =
{1, 2, 3, 4, 5} e B = {2, 4, 6, 8, 10} e (v) A B e B A, sendo
A = N e B = {x N | x e mpar}.
Em que condicoes sobre os conjuntos A e B, tem-se AB = BA?
(19) Verique as propriedades:
P1 (A B) C = (A C) (B C),
P2 (A B) C = (A C) (B C),
P3 (A B) C = (A C) (B C),
P4 Se A B, ent
ao (A C) (B C) e (C A) (C B),
P5 Se |A| = m e |B| = n, ent
ao |A B| = m.n

Conjuntos

143

(20) Construir o diagrama cartesiano de cada um dos seguintes


produtos:
(a) [1, 4] [2, 3], (b) [2, 3] [1, 2] e (c) [2, 3] [3, [.
(21) Dados os conjuntos A = {a, b}, B = {2, 3} e C = {3, 4},
obter:
(a) A (B C), (b) A (B C), (c) A (B C),
(d) (A B) (A C) e (e) A (BC), onde XY = (X\Y )
(Y \X).
(22) Sejam A e C dois conjuntos n
ao vazios. Mostre que A B e
C D se, e somente se, A C B D.
(23) Sejam A, B, C partes nitas de um conjunto universo U.
(i) Mostre que:
n(ABC) = n(A)+n(B)+n(C)n(AB)n(AC)n(BC)+
n(AB C),
(ii) Generalize para um n
umero m de conjuntos nitos de U, ou
seja, para A1 , A2 , . . . , Am conjuntos nitos; prove o princpio de
inclus
ao-exclusao:
m
m
m



n(Ai )
n(Ai Aj )+
n(Ai
n(A1 A2 Am ) =
i=1

i =j

i =j =k =i

Aj Ak ) + (1)m+1 n(A1 A2 Am ),
(iii) Mostre que n(AB) = n(A).n(B) e, a partir da e da denicao
de A B C, mostre que n(A B C) = n(A).n(B).n(C),
(iv) Se A B, ent
ao n(B A) = n(B) n(A) e (v) n((A)) =
n(A)
.
2
(24) Determine condicoes necessarias e sucientes sobre os conjuntos A e B para que: (a) |A B| = |A|, e (b) |A B| = |A B|.
(25) Numa cidade ha 1.000 pessoas: 470 assinam o Estado, 420
assinam a Folha, 315 assinam a Gazeta, 140 assinam a Gazeta e a
Folha, 220 assinam a Gazeta e o Estado, 110 a Folha e o Estado
e 75 assinam os tres jornais. Pede-se: (a) Quantas pessoas nao
assinam jornal? (b) Quantas pessoas assinam um dos jornais?
(c) Quantas pessoas assinam exatamente dois jornais?
(26) Sejam Ai = {(x, ix), x R, i R}. Determine a reuniao e a

144

Aspectos Formais da Computa


c
ao

intersecao desta colecao de conjuntos Ai .


(27) O sucessor de um conjunto A e o conjunto A {A}.
(i) Ache os sucessores dos conjuntos: (a) {1, 2, 3}, (b) ,
(c) {}, (d) {, {}}.
(ii) Quantos elementos tem o sucessor de um conjunto com n elementos?
(28) De a seq
uencia de bits correspondente a cada um dos conjuntos dos tens dos exerccios (4) e dos tens a), b), c), d) e f) do
exerccio (5).
uencias
(29) Prove que, se a = x1 x2 xn e b = y1 y2 yn sao seq
de bits associadas aos conjuntos A e B, respectivamente, entao
A B = a b, onde a b = x1 y1 xn yn .
(30) Dados os conjuntos A e B contidos em U = {z1 , . . . , zn }, n
1, pede-se: Quais seq
uencias de bits estao associadas aos conjuntos
A B e AB := (A B) (A B), relativamente `as seq
uencias
de bits associadas aos conjuntos A e B?

Captulo 4

RELAC
OES

4.1

Rela
c
oes

Deni
c
ao 4.1 Sejam A e B conjuntos quaisquer, n
ao necessariamente distintos. Uma relacao bin
aria de A em B e um subconjunto
do produto cartesiano A B.
Assim, se R e uma relacao binaria de A em B, ent
ao R (AB)
e usaremos a notacao aRb para indicar que o par (a, b) R. Neste
caso, A e B sao chamados, respectivamente, conjunto de partida e
conjunto de chegada da relacao R.
Observa
c
ao: O adjetivo bin
ariausado na denicao indica que a
relacao esta denida entre dois conjuntos, uma vez que e possvel
denir, mais geralmente, relacoes n-arias (n N) entre n conjuntos
A1 , . . . , An como sendo um subconjunto do produto cartesiano A1
aria e apenas um caso particular desta u
ltima
An . A relacao bin
denicao.

4.1.1

Representa
c
oes

Representa
c
ao por meio de Matrizes
Sejam A = {a1 , a2 , . . . , an } e B = {b1 , b2 , . . . , bm } conjuntos
nitos com n e m elementos, respectivamente. Uma relacao binaria
R denida de A em B pode ser representada por uma matriz

Aspectos Formais da Computa


c
ao

146
MR = [rij ]nm , onde :

rij =

1,
0,

se (ai , bj ) R
se (ai , bj )  R

Observa
c
ao: A escolha 0 e 1 e puramente tecnica, quaisquer outros smbolos poderiam ser usados, como por exemplo $ e .
Exemplo 4.2 Sejam A = {a, b, c, d}, B = {2, 3} e R = {(a, 2),
(b, 2), (b, 3), (d, 3)}. A representac
ao de R por meio de matriz e
dada por:

1 0
1 1

MR =
0 0 .
0 1
Representa
c
ao Gr
aca
Quando uma relacao binaria esta denida entre dois conjuntos
nitos com poucos elementos podemos, ainda, representa-la por
meio de diagrama de setas que e particularmente atraente pelos recursos visuais. Nesta representacao, os elementos dos conjuntos sao
representados em diagramas de Venn-Euler, e um par ordenado e
representado por uma echa conectando os elementos do par, sendo
que a ponta da mesma indica a segunda coordenada. Esta representacao e tambem chamada representac
ao sagital ou por arcos.
claro que, a
A relacao e, simplesmente, uma colecao de arcos. E
cada arco da relacao, corresponde exatamente um smbolo 1 da
representacao matricial e vice-versa. Assim, dada uma representacao, e facil obter a outra. A representacao sagital da relacao R,
e dada na gura 4.1.
a
b
c

2
3

Figura 4.1: Representacao de uma relacao e os arcos dos pares


ordenados

Rela
c
oes

147

Representa
c
ao Cartesiana
No caso em que a relacao esta denida entre subconjuntos de
n
umeros reais, podemos representa-la atraves de um graco cartesiano. No caso em que a relacao e constituda de um n
umero nito
de elementos, sua representacao cartesiana e constituda de um
n
umero nito de pontos isolados do plano cartesiano. A seguir
temos dois exemplos de representacao de relacoes com um n
umero
innito de elementos:

Figura 4.2: S = {(x, y) R2 | x y}


5
4
3
2
1
1

2 3 4 5

Figura 4.3: T = {(x, y) R2 | x2 + y 2 = 25}

4.1.2

Coment
arios e Observa
c
oes

Dados dois conjuntos A e B, sendo U = A B, temos:


(1) O conjunto R(A B) de todas as relacoes de A em B e, simplesmente, P(U ).

148

Aspectos Formais da Computa


c
ao

(2) O subconjunto vazio de U e chamado relac


ao vazia de A em B.
Nesta relacao, e claro, nenhum elemento de A esta relacionado com
qualquer elemento de B. Se A e B sao conjuntos nitos com poucos
elementos, sua representacao matricial corresponde `a matriz nula.
(3) A relacao U consiste de todos os pares ordenados possveis e
e chamada relac
ao universal de A em B. Nesta relacao, todos os
elementos de A estao relacionados com todos os elementos de B,
logo, na sua representacao matricial, (se existir), todas as entradas
sao iguais a 1.
(4) A relacao complementar de uma relacao R, Rc , e um subconjunto de A B, a saber: (A B) R constitudo pelos pares
ordenados A B que nao pertencem a R.
(5) A uni
ao de duas relacoes R1 e R2 , denidas de A em B, e a
ao dos conjuntos R1 e R2 , e a
relacao R1 R2 , consistindo da uni
interseccao de R1 e R2 e a relacao R1 R2 , que consiste da interseccao
dos conjuntos R1 e R2 . Se existirem as matrizes das relacoes R1 e
ao as matrizes correspondentes `a uniao e `a interseccao das
R2 , ent
relacoes R1 e R2 sao dadas por:
MR1 R2 = [(rij sij )]nm

MR1 R2 = [(rij sij )]nm

onde: MR1 = [rij ] e MR2 = [sij ]. Alem disso, e representam


as operac
oes booleanas sobre o conjunto {0, 1} denidas por:
0 0 = 0, 0 1 = 1, 1 0 = 1, 1 1 = 1 e
0 0 = 0, 0 1 = 0, 1 0 = 0, 1 1 = 1.
(6) Uma relacao de um conjunto A em si mesmo (isto e, um subao sobre A, ou ainda, relac
ao em
conjunto de A2 ) e chamada relac
A. Por exemplo,
R = {(0, 0), (0, 3), (2, 0), (2, 1), (2, 3), (3, 2)}
e uma relacao sobre {0, 1, 2, 3}, ou relacao em A = {0, 1, 2, 3}.
(7) A relacao identica sobre A, denotada por IA , e denida por
IA = {(a, a); a A}.

Rela
c
oes

149

Por exemplo, para A = {0, 1, 2}, IA = {(0, 0), (1, 1), (2, 2)}.
(8) Quando uma relacao esta denida sobre um conjunto nito A, podemos representa-la, tambem, por meio de um grafo. Por
exemplo, seja: A = {a, b, c} e R = {(a, a), (a, b), (b, a), (c, c)}. Sua
representacao por meio de um grafo e dada na gura 4.4.

c
Figura 4.4: Representacao de uma relacao utilizando-se um grafo

4.1.3

Domnio e Imagem

Seja R uma relacao de A em B.


Deni
c
ao 4.3 Chama-se domnio de R o subconjunto de A
constitudo dos elementos x para os quais existe algum y B,
tal que (x, y) R. Simbolicamente temos:
D(R) := {x A | y B : (x, y) R}.
Deni
c
ao 4.4 Chama-se imagem de R o subconjunto de B constitudo pelos elementos y para os quais existe algum x em A, tal
que (x, y) R. Simbolicamente:
Im(R) := {y B | x A : (x, y) R}.
Por exemplo, para A = {0, 1, 2}, B = {2, 1, 0, 1, 2}, considere as
relacoes R1 = {(0, 0), (1, 1), (1, 1)}, R2 = {(0, 1), (1, 2),
ao
(2, 2), (0, 1), (1, 0)}, R3 = {(2, 2)} e R4 = . Ent

Aspectos Formais da Computa


c
ao

150

D(R1 ) = {0, 1}
D(R2 ) = {0, 1, 2}
D(R3 ) = {2}
D(R4 ) =

4.1.4

Im(R1 ) = {0, 1, 1}
Im(R2 ) = {1, 2, 2, 1, 0}
Im(R3 ) = {2}
Im(R4 ) =

Inversa de uma Rela


c
ao

Deni
c
ao 4.5 Seja R uma relacao de A em B. Chama-se relac
ao
inversa de R e indica-se por R1 a seguinte relacao de B em A.
R1 := {(y, x) B A : (x, y) R}.
Por exemplo, num grupo de pessoas, a inversa da relacao e um
dos pais de e a relacao e lho de.
Exemplo 4.6 Sejam A = {a, b, c, d}, B = {0, 1} e R = {(a, 0),
(b, 0), (b, 1), (c, 1)}. Ent
ao
R1 = {(0, a), (0, b), (1, b), (1, c)}.
Exemplo 4.7 Se A = B = R e R = {(x, y) R2 | y 2x},
ent
ao
R1 = {(y, x) R2 | y 2x} = {(x, y) R2 |

x
y}.
2

Propriedades:
(1) Se R A B, ent
ao R1 B A.
(2) Para toda relacao R temos:
D(R1 ) = Im(R),

Im(R1 ) = D(R)

(R1 )1 = R.

(3) Dada a representacao graca de R A B, obtemos a representacao de R1 apenas invertendo o sentido das echas.
(4) Se existe representacao matricial para R, ent
ao MR1 = (MR )t .

Rela
c
oes

151

(5) Sabendo que (x, y) R (y, x) R1 ca evidente que,


quando existe representacao cartesiana para R, a representacao
cartesiana de R1 e simetrica a ela em relacao `a reta y = x.

-1

Figura 4.5: Simetria entre R e R1

4.1.5

Composi
c
ao de Relac
oes

Considere agora o seguinte caso: Joao e lho de Paulo e Paulo e


irm
ao de Pedro. Podemos concluir que Jo
ao e sobrinho de Pedro,
combinando as duas relacoes dadas. Esta situacao faz parte de um
caso mais geral, que consiste em obter uma nova relacao a partir
da combinacao de outras duas, o qual formalizaremos agora:
Deni
c
ao 4.8 Sejam A, B e C conjuntos quaisquer, R e S relacoes binarias denidas de A em B e de B em C, respectivamente.
A composta de S com R e denida por S R := {(x, z) A C |
y B com, (x, y) R e (y, z) S}.
Observe que esta denicao condiciona a existencia da relacao
composta S R, ao fato de que o conjunto de chegada de R seja
igual ao conjunto de partida de S. Assim, se A = C, entao podemos
ter S R e nao conseguiremos denir R S, pois aqui o conjunto de
chegada de S deve ser igual ao conjunto de partida de R.

Aspectos Formais da Computa


c
ao

152

Agora, examinaremos como construir S R dados S e R, isto


e, como construir uma representacao para S R a partir das representacoes de S e R. Consideraremos, primeiramente, a seguinte
representacao graca: segundo a denicao de composicao, um arco
de SR existe se, e so se, existe pelo menos um caminho ligando um
vertice de A a um vertice de C, passando atraves de algum vertice
intermedi
ario de B. Por exemplo, na gura 4.6 existe um caminho
de a5 para c2 , pois existe um arco de a5 a b3 e de b3 a c2 . Observe
que existem dois caminhos de a5 a c2 , mas apenas um e suciente
para estabelecer a5 (S R)c2 .
a1

c1

b1

a2

c2

a3

a4
a5

c3

b3

c4

Figura 4.6: Representacao de duas relacoes

a1
a2
a3
a4
a

c1
c2
c3
c4

Figura 4.7: Representacao de S R


O procedimento adotado para construir a representacao sagital de S R nos da uma ideia para a construcao de sua representacao matricial. Sejam MR e MS as representacoes matriciais
de S e R, de ordem n m e m p, respectivamente. Consideremos
agora uma linha (ou coluna) qualquer de MR (ou MS ). Cada linha
(ou coluna) e uma seq
uencia de smbolos 1s e 0s, ordenados da
esquerda para a direita para as linhas (de cima para baixo para as
colunas). Um caminho de ai a ck existe se, e so se, para algum bj
ocorrem simultaneamente:

Rela
c
oes

153

(a) um caminho de ai a bj e
(b) um caminho de bj a ck .
Observe que:
(i) cada linha de MR contem o mesmo n
umero de entradas que as
umero dessas entradas e o mesmo que n(B);
colunas de MS , e o n
(ii) observemos, mais ainda, que a condicao (a) indica a existencia
de 1 na j-esima posicao da linha de MR correspondente ao elemento
ai , e a condicao (b) e satisfeita por um elemento 1 na k-esima
posicao da coluna de MS correspondente a ck .
A matriz MSR pode ser obtida de MR e MS com o seguinte
Teorema 4.9 Sejam A, B e C conjuntos com n, m e p elementos,
respectivamente, R e S relac
oes denidas do conjunto A em B e de
ao a
B em C, respectivamente. Se MR = [rik ] e MS = [skj ], ent
matriz de S R e
%
MSR =

n
&

'
(rik skj )

k=1

.
mp

Demonstracao: De fato, a i, j-entrada expandida e:


(ri1 s1j ) (ri2 s2j ) (rin snj ),
que tem valor de 1 se, e so se, para pelo menos um valor de k,
rik = skj = 1. Em termos das relacoes, isto signica que o par
(ai , cj ) (S R) se, e somente se, existe bk B, tal que (ai , bk ) R

e (bk , cj ) S. Isto demonstra o teorema.
Nota: Podemos escrever MSR = MR .MS , onde o produto de matrizes e o produto booleano conforme visto na demonstracao do Teorema 4.9.
Exemplo 4.10 Considerando as relacoes dadas pela gura 4.6, a
matriz MSR pode ser obtida da seguinte forma:

Aspectos Formais da Computa


c
ao

154

1
0
0
0
0

0
1
0
0
1

0
0
1
0
0

0 0 0 0

0 1 0 0 =

0 1 0 0

0
0
0
0
0

0
1
1
0
1

0
0
0
0
0

0
0
0
0
0

Suponha agora que s


ao dados quatro conjuntos A, B, C e D e
3 relacoes binarias: R de A em B, S de B em C e T de C em D.
Ent
ao a composta T (S R) esta denida e tambem (T S) R.
Alem disso , vale o seguinte resultado:
Teorema 4.11 Para relac
oes bin
arias R, S, T, tais que existem
T (S R), tem-se que existe tambem (T S) R e
T (S R) = (T S) R.
Demonstracao: Desde que existe T (S R) ent
ao o conjunto de
chegada de R e igual ao conjunto de partida de S e o conjunto
de chegada de S R e igual ao conjunto de partida de T. Logo a
situacao apresentada e R A B, S B C e T C D.
Consequentemente existe a relacao composta (T S) R. Agora
consideremos (a, d) A D. Ent
ao:
(a, d) (T S) R b B : (a, b) R e (b, d) (T S). E
(b, d) (T S) c : (b, c) S e (c, d) T. Mas, de (a, b) R
e (b, c) S segue-se, por denicao, que (a, c) (S R). De (a, c)
(S R) e (c, d) T temos que (a, d) T (S R) e portanto
(T S) R T (S R).
Analogamente, demonstra-se que T(SR) (TS)R. Assim,
podemos concluir que:
(T S) R = T (S R).


Rela
c
oes

155

Nota: Esta u
ltima igualdade nos mostra que a composicao de
relacoes e associativa e, assim, podemos omitir os parenteses quando
escrevemos as composicoes (T S) R ou T (S R) e escrever simplesmente T S R.

4.1.6

Propriedades de Rela
c
oes Sobre Conjuntos

Uma relacao R denida sobre um conjunto A pode apresentar varias


propriedades, algumas das quais passaremos a estudar a seguir.
Reexiva: Uma relacao R denida sobre um conjunto A e reexiva
se [(a) (a A = (a, a) R)], ou ainda [a, (a A = aRa].
Observe que:
(i) A representacao matricial de uma relacao reexiva apresenta 1s
em todas as posicoes da diagonal principal, isto e, rii = 1 para todo
i.
(ii) a representacao por grafo de uma relacao reexiva e caracterizada por um laco em torno de cada vertice.
(iii) Se R e uma relacao reexiva, ent
ao IA R, onde IA :=
{(x, x), x A} tambem e representado por A e dizemos ser a
diagonal de A.
Sim
etrica: Uma relacao R denida sobre um conjunto A e simetrica
se a, b A : (a, b) R = (b, a) R.
Observe que:
(i) a representacao por meio de um graco cartesiano e uma gura
simetrica em relacao `a reta y = x.
(ii) na representacao sagital, os arcos ocorrem aos pares, ou seja,
cada seta tem dupla ponta;
ao MR = MR1 =
(iii) Se MR e a representacao matricial de R, ent
t
ao R = R1 .
MR , uma vez que se R e uma relacao simetrica, ent
Quando nem todos os arcos de uma representacao graca de
R formam pares simetricos, R e chamada assimetrica. Entretanto,
quando nenhum par simetrico existe, temos a anti-simetria:
Anti-sim
etrica: Uma relacao R denida sobre um conjunto
A

e anti-simetrica se, quaisquer
que sejam a e b em A, (a, b) R

e (b, a) R = a = b . Um exemplo simples de relacao antisimetrica e a relacao menor ou igual denida sobre o conjunto
dos inteiros.

Aspectos Formais da Computa


c
ao

156

Transitiva: Uma relacao R denida sobre um conjunto A e transitiva quando para quaisquer a, b, c A (a, b) R e (b, c) R
implicam (a, c) R .
A caracterstica da representacao graca de uma relacao transitiva e uma estrutura de tres arcos, como na gura a seguir.
b

Figura 4.8: Relacao Transitiva


Isto signica que, se existe um caminho constitudo de dois
arcos consecutivos ligando os vertices a e c atraves de um vertice
intermedi
ario b, ent
ao existe um arco de a para c.
Observe que todos os caminhos constitudos de dois arcos podem ser encontrados aplicando-se a relacao R duas vezes, ou seja,
pela composta R R. Note ainda que R e transitiva se, e so se,
R contem R R e que para a transitividade de R podem ocorrer
arcos na representacao graca de R que nao sao arcos da representacao de R R. Isto acontece, por exemplo, quando um vertice
da representacao de R n
ao tem nenhum arco saindodele.
Exemplo 4.12 A relacao denida sobre {1, 2, 3, 4} por:
2

Figura 4.9:
nao e reexiva, nao e simetrica e e anti-simetrica e transitiva.
Exemplo 4.13 A relacao denida sobre {1, 2, 3, 4} por

Rela
c
oes

157

2 3 4

e simetrica, nao e reexiva, nem transitiva e nem anti-simetrica.


Exemplo 4.14 A relacao dada por:

Figura 4.10:
e anti-simetrica, transitiva, n
ao e reexiva e nem simetrica.
Exemplo 4.15 A relacao de igualdade: {a,b,c} = {(a, a), (b, b),
(c, c)} e reexiva, simetrica, anti-simetrica e transitiva.

Figura 4.11:
Exemplo 4.16 Considere sobre o conjunto dos n
umeros inteiros a
seguinte relacao:
(a, b) R |a b| = 1.
Esta relacao e simetrica, nao e reexiva, nao e transitiva nem antisimetrica.
Exemplo 4.17 Em P(U ) (U qualquer), consideremos R a relacao
de inclusao. R e reexiva, anti-simetrica e transitiva.

158

Aspectos Formais da Computa


c
ao

Exemplo 4.18 Em P(U ), U = a relacao dada por


(A, B) R A B =
e simetrica, nao e reexiva, nao transitiva nem anti-simetrica.
Exemplo 4.19 (1) A relacao R1 sobre E = {a, b, c}, cujo diagrama de echas e:
a b c,
nao e reexiva, nao e simetrica, nao e transitiva nem anti-simetrica.
Exemplo 4.20 A relacao de divisibilidade sobre Z denida por:
ao e simetrica
R2 = {(x, y) Z Z : x|y} e reexiva, transitiva, n
e nao e anti-simetrica.
De fato, para qualquer a Z, a divide a. Logo, (a, a) R2
qualquer que seja a Z. Se a divide b e b divide c, ent
ao a divide
ao divide
c. Logo, a relacao R2 e transitiva. Como 2 divide 4 e 4 n
ao e simetrica. Finalmente, R2
2 em Z, temos que a relacao R2 n
tambem nao e anti-simetrica pois 2 divide 2 e 2 divide 2, ou
seja, (2, 2) R2 , (2, 2) R2 e 2 = 2.
Note que a relacao de divisibilidade sobre N e anti-simetrica.
Exemplo 4.21 Considere o conjunto T de retas no plano e R3 a
seguinte relacao sobre T, R3 = {(r, s) T 2 : r s}, onde r s
signica r e perpendicular a s.
ao
Como r  r, r T ent
ao R3 nao e reexiva. Se r s, ent
s r, para todos r, s T. Ent
ao R3 e simetrica. R3 nao e antisimetrica, pois se r e s sao perpendiculares, ent
ao r s e s r,
e, no entanto, r = s. Tambem nao e transitiva pois: r s e s t
nao implica que r t; basta tomar t = r.
Exemplo 4.22 Seja R4 = {(x, y) R2 | x y}, ou seja, R4 e a
relacao de ordem usual sobre R.
A relacao e reexiva, anti-simetrica, transitiva e n
ao e simetrica, pois 2 4 e 4  2.

Rela
c
oes

159

Dois tipos particularmente interessantes de relacoes sao:


(i) as que sao simultaneamente reexivas, simetricas e transitivas
chamadas relac
oes de equivalencia e;
(ii) as que sao simultaneamente reexivas, anti-simetricas e transitivas, tecnicamente chamadas de relac
oes de ordem parcial.
Essas relacoes induzem estruturas especiais nos conjuntos nos
quais estao denidas e serao estudadas, com detalhes, posteriormente.
Uma pergunta que ocorre naturalmente neste ponto e se as propriedades sao independentes uma das outras. A resposta e armativa, uma vez que podemos encontrar relacoes que sejam:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)

nao simetrica, nao anti-simetrica e transitiva,


nao simetrica e transitiva,
simetrica e nao transitiva,
simetrica e transitiva,
reexiva, n
ao simetrica e nao transitiva,
reexiva, n
ao simetrica e transitiva,
reexiva, simetrica e nao transitiva,
reexiva, simetrica e transitiva.

Deixamos ao leitor interessado o trabalho de exibir exemplos destas


situacoes!
Uma outra pergunta que ocorre naturalmente e: Qual e a relacao
entre as propriedades apresentadas por R e R1 ?
O seguinte teorema (que apresentaremos sem demonstracao) nos
garante que:
Teorema 4.23 As propriedades reexiva, simetrica, anti-simetrica e transitiva de uma relac
ao R denida sobre um conjunto A
s
ao preservadas pela invers
ao, ou seja, se R e uma relac
ao denida
sobre A e tem uma destas propriedades, ent
ao o mesmo acontece
com R1 . Alem disso, temos:
(i) R e reexiva se, e somente se, A R,
(ii) R e simetrica se, e somente se, R1 = R,
(iii) R e transitiva se, e somente se, R R R e
(iv) R e anti-simetrica se, e somente se, R R1 A .

160

Aspectos Formais da Computa


c
ao

Exerccios
(1) Determine quais as propriedades de cada uma das relacoes a
seguir denidas sobre o conjunto dos n
umeros inteiros positivos:
(a) m e divisvel por n.
(b) m + n e par.
(c) m.n e par.
(d) m + n e m
ultiplo de 3.
(e) m + n e mpar.
(f ) m + n 50.
(g) m e uma potencia de n.
(h) m n.
(2) Seja A um conjunto n
ao vazio. Mostre que o conjunto , considerado como uma relacao sobre A, nao e reexiva, mas e simetrica
e transitiva.
(3) Determine quais propriedades s
ao preservadas pela composicao
de relacoes denidas sobre um conjunto A, A = .
(4) Se IA representa a relacao identica de A, A = , mostre que
uma relacao R denida sobre A e reexiva se, e somente se, IA R.
(5) Mostre que uma relacao R denida sobre A, A = , e antisimetrica se, e somente se, (R R1 ) IA .
(6) Prove o resto dos tens do Teorema 4.23.
(7) Considere uma relacao representada pela matriz:

1
1

0
0

1
1
0
0

1
1
1
0

0
0
.
1
0

simetrica? E
anti-simetrica? E
transiEsta relacao e reexiva? E
tiva? (Justique cada uma de suas respostas).
(8) Por meio de uma matriz (ou outro) mostre que, se R e S sao
ambas relacoes simetricas denidas sobre um conjunto n
ao vazio
A, o mesmo pode nao ocorrer com R S.
(9) Seja R uma relacao simetrica e transitiva, denida sobre um
conjunto n
ao vazio A. Suponha que (a, b) R. Pela simetria
devemos ter (b, a) R e entao, usando a transitividade, devemos
ter (a, a) R, ou seja, R e reexiva. Assim, toda relacao simetrica

Rela
c
oes

161

e transitiva e reexiva. Existe alguma falha nesta argumentacao?


Explique.
(10) Mostre que quando R e uma relacao simetrica, denida sobre
um conjunto n
ao vazio A, o mesmo ocorre com Rk (k N, k 1).
(11) Sejam R e S relacoes simetricas denidas sobre um conjunto
n
ao vazio A. Mostre que (RS) (SR) implica em (RS) = (SR).
(12) Seja R uma relacao reexiva, denida sobre um conjunto n
ao
vazio A, que nao e, necessariamente, simetrica ou transitiva. Mostre
que as relacoes RR1 e R1 R sao reexivas e simetricas. Perguntase: R R1 e transitiva?
(13) Mostre que:
(a) Se R e S sao relacoes simetricas denida sobre A, A = ent
ao
S R e simetrica se, e somente se, R S = S R;
(b) A composicao de duas relacoes simetricas nao e, necessariamente, simetrica (Sugestao: encontre um contra-exemplo).
(14) Descreva um algoritmo para checar se uma relacao e transitiva.
(15) Quantas relacoes podem ser denidas de A em B, quando
n(A) = m e n(B) = r.
(16) Quantas relacoes reexivas podemos denir sobre um conjunto A com n(A) = m? Nas mesmas condicoes, quantas relacoes
simetricas? Quantas anti-simetricas?
(17) Sejam R e S relacoes denidas de A = {1, 2, 3, 4} em B =
{2, 3, 4} e de B em A, respectivamente, por:
R = {(a, b) | a + b = 6} e S = {(b, c) | b c = 1}. Obter:
S R, IB R, R IA e R S, alem das matrizes que representam
R, S, S R, R S R.
(18) Dados A = {0, 1, 2, 3}, R e S relacoes denidas em A por
R = {(i, j) | j = i + 1 ou j = 2i } e S = {(i, j) | i = j + 2}.
Determine: S R, R S, R S R e R3 .
(19) Dadas R, S e T relacoes denidas sobre um conjunto A, mostre
que R S implica que:
T R T S, R T S T
e S1 R1 .
(20) Dados R = {(0, 1), (1, 2), (3, 4)} e D R = {(1, 3), (1, 4), (3, 3)},
encontrar uma relacao de menor cardinalidade que satisfaca as
condicoes dadas. Em geral, dados R e D R, D ca univocamente determinado? E D com a menor cardinalidade possvel, e

Aspectos Formais da Computa


c
ao

162

univocamente determinado?
(21) Dado R = {(i, j) : i, j Z | j i = 1}. Obter Rr , (r, r N ).
(22) Mostre que, se S R esta denida, ent
ao (S R)1 = R1 S1 .
(23) Dadas as relacoes R, S e T denidas sobre A = {1, 2, 3, 4} por:

0
1
MR =
1
0

1
0
0
0

0
1
1
1

1
1 1
1 1
1
MS =
0 0
0
0
0 1

1
1
MT =
1
1

1
0
1
0

1
1
0
0

0
0
1
0

1
0

0
1

1
1

0
1

determine as relacoes e as matrizes correspondentes a:



c
(g) R (S Tc )
(a) S R (d) R Tc
(b) R S (e) (R S) T (h) (S T) (R Tc )
(c) Tc
(f) R Sc
(24) Prove que, para quaisquer relacoes R e S denidas sobre um
conjunto A, tem-se:
(a) (R S)1 = R1 S1
(b) (R S)1 = R1 S1

Rela
c
oes

4.2

163

Rela
c
ao de Equival
encia

Deni
c
ao 4.24 Uma relacao R sobre um conjunto A, nao vazio,
e uma relac
ao de equivalencia sobre A se for reexiva, simetrica e
transitiva, isto e, sao verdadeiras as seguintes sentencas:
(i) x, [x A = (x, x) R],
(ii) x, y A, [(x, y) R = (y, x) R] e
(iii) x, y, z A, [(x, y) R e (y, z) R = (x, z) R].
Exemplo 4.25 A relacao de igualdade sobre um conjunto A e uma
relacao de equivalencia, pois:
x, [x A = x = x],
x, y, [x = y = y = x] e
x, y, z, [x = y e y = z = x = z].
Exemplo 4.26 A relacao universal denida sobre um conjunto A
e uma relacao de equivalencia, pois:
x, x A = (x, x) A A,
x, y, (x, y) A A = (y, x) A A, e
x, y, z, (x, y) A A e (y, z) A A = (x, z) A A.
Exemplo 4.27 A relacao R denida sobre Z por: x, y Z,
xRy q Z : x y = mq (onde m 0 e um inteiro xo)
e uma relacao de equivalencia, pois: (i) a a = 0 = 0.m, a Z.
Logo aRa, a Z,
(ii) a b = mq b a = m(q). Logo aRb = bRa, a, b Z, e
(iii) se existem inteiros p e q, tais que a b = mq e b c = mp,
ent
ao
a c = (a b) + (b c) = mq + mp = m(q + p).
Logo aRb e bRc = aRc, a, b, c Z.
Esta relacao e chamada congruencia m
odulo m.
Exemplo 4.28 A relacao de paralelismo entre as retas de um
espaco euclidiano (denida como tendo mesma direcao) xRy
x//y e uma relacao de equivalencia, pois, se x, y e z sao retas do
espaco, temos:

164

Aspectos Formais da Computa


c
ao

(i) x//x,
(ii) x//y y//x, e
(iii) x//y e y//z x//z.
Deni
c
ao 4.29 Dada uma relacao de equivalencia R denida sobre A (A = ), dizemos que b e equivalente a c (pela R) se (b, c) R.
Note que, se b e equivalente a c, ent
ao, pela simetria de R, temos
(c, b) R, ou seja, c e equivalente a b e podemos dizer entao que b
e c sao equivalentes.
Deni
c
ao 4.30 Dada uma relacao de equivalencia R sobre um
conjunto A, chama-se classe de equivalencia determinada por a,
modulo R, o subconjunto [a]R de A constitudo pelos elementos x,
tais que (x, a) R. Em smbolos
[a]R = {x A : (x, a) R}.
Quando n
ao houver possibilidade de confus
ao, denotaremos [a]R
simplesmente por [a].
Considere a relacao de congruencia modulo 4, por exemplo.
Ent
ao temos as seguintes classes de equivalencia:
[0] = {. . . , 4, 0, 4, 8, 12, . . .}
[1] = {. . . , 3, 1, 5, 9, 13, . . .}
[2] = {. . . , 2, 2, 6, 10, 14, . . .}
[3] = {. . . , 1, 3, 7, 11, 15, . . .}
Observe que [4] = [0], [5] = [1], [6] = [2], etc.
Lema 4.31 Dada uma relac
ao de equivalencia R denida sobre um
conjunto n
ao vazio A, temos [a] = [b] se, e somente se, (a, b) R.
Demonstracao: De fato,
(i) Vamos supor (a, b) R. Se x [a], ent
ao, por denicao, (x, a)
R. Como por hip
otese, (a, b) R e R e transitiva (x, b) R, ou
seja, x [b]. Com isso mostramos que [a] [b]. De forma analoga
podemos mostrar que [b] [a], o que completa a prova de que se
(a, b) R, ent
ao [a] = [b].
(ii) Agora, se [a] = [b], ent
ao a [b], o que e o mesmo que (a, b)
R.


Rela
c
oes

165

Ainda temos:
Lema 4.32 Seja R uma relac
ao de equivalencia denida sobre um
conjunto n
ao vazio A. Temos ent
ao que [a] [b] = = [a] = [b],
ou equivalentemente [a] = [b] = [a] [b] = .
Demonstracao: Como [a] [b] = , existe x [a] [b], ou seja,
existe x A tal que (x, a) R e (x, b) R. Ent
ao pela simetria
e transitividade, temos (a, b) R, ou seja, [a] = [b], pelo Lema
4.31.

Podemos concluir dos Lemas 4.31 e 4.32, e pelo fato de R ser reexiva que todo elementos de A esta em uma, e apenas uma, classe
de equivalencia, ou seja, com as classes de equivalencia denidas
por R em A, obtemos uma subdivisao de A conforme a seguinte
denicao:
Deni
c
ao 4.33 Uma partic
ao de um conjunto A e uma colecao
de subconjuntos de A tal que cada a A esta exatamente em um
desses subconjuntos, e a interseccao de dois subconjuntos distintos
da colecao e vazia.
Toda relacao de equivalencia denida sobre um conjunto A dene uma particao de seu domnio. Mais ainda, podemos tambem
estabelecer um resultado recproco deste:
(
ao de um conjunto
Teorema 4.34 Seja
= {Ai }iI uma partic
A. Ent
ao existe uma
ao de equivalencia denida sobre A que
( relac
induz a partic
ao .
Demonstracao: Denindo R A A por
(a, b) R a e b

pertencem a um mesmo elemento de

temos: 
ao para todo x A existe i I tal que
(i) Como iI Ai = A, ent
x Ai . Portanto para todo x A, (x, x) R;
(ii) Para todos x, y A tais que (x, y) R, existe j I | x, y Aj ,
ou seja, y, x Aj . Portanto (y, x) R;

166

Aspectos Formais da Computa


c
ao

(iii) Para
( todos x, y, z A tais que (x, y) (R e (y, z) R, existe
Ai , tal que x, y Ai , e existe Aj , tal que y, z Aj .
Assim, y (Aj Ai ), de onde segue-se que Ai Aj = . Portanto,
ao
Ai = Aj = Ai Aj , ou seja, x, z Ai para um mesmo i. Ent
(x, z) R.

Por (i), (ii) e (iii) segue que R e uma relacao(


de equivalencia. E
claro que a particao induzida sobre A por R e !

Exemplo 4.35 Considere a relacao R denida sobre A = {0, 1,
2, 3, 4, 5} cuja matriz e:

MR =

1
0
0
0
0
0

0
1
1
1
0
0

0
1
1
1
0
0

R induz sobre A a seguinte particao:

0
1
1
1
0
0
(

0
0
0
0
1
1

0
0
0
0
1
1

= {{0}, {1, 2, 3}, {4, 5}}.

Proposi
c
ao 4.36 Sejam m um inteiro maior que 1 e R a relac
ao
ao
de congruencia m
odulo m denida sobre Z. Se Zm e a partic
ao Zm = {[0], [1], . . . , [m 1]}.
denida por R sobre Z ent
Demonstracao: (i) Para cada a pertencente a Z, efetuando a
divisao euclidiana por m, obtemos:
a = qm + r,
onde q e o quociente e r e o resto. Portanto, 0 r m 1. Logo,
a r = qm, ou seja, (a, r) R, ou ainda, a
= r. (No caso da
congruencia modulo m e costume indicar [a] por a
).
(ii) Supondo, agora, que existam duas classes iguais em {0, 1,
. . . , m 1}, isto e, r = s. Segue que r s (mod m), ou seja,
r s = km. Portanto, m|(r s) e, como 0 r, s m 1, con
clumos que r = s. Logo, Zm tem exatamente m elementos.

Rela
c
oes

167

Alguns coment
arios e observa
c
oes
Os resultados dos Lemas 4.31 e 4.32 mostram que uma dada
classe de equivalencia pode ser descrita de diferentes modos; mais
precisamente, [x] = [y] para cada y [x]. Diremos que zemos uma
escolha do representante x ou y, conforme denotemos a classe por
[x] ou [y]. Assim, Z6 = {0, 1, 2, 3, 4, 5} = {0, 1, 2, 3, 2, 1} =
{6, 19, 4, 3, 10, 23}.
Se R e S sao relacoes de equivalencia denidas sobre um mesmo
conjunto A, ja vimos que R S e tambem uma relacao. A pergunta
que fazemos agora e: nestas condicoes R S, e uma relacao de
equivalencia? Vejamos um exemplo:
Em Z, consideremos as relacoes de congruencia modulo 2 e
3, que chamaremos de R e S, respectivamente. Ent
ao R S e a
congruencia modulo 6 (Verique!), que tambem e uma relacao de
equivalencia. De fato, isto faz parte de um caso mais geral, cuja
demonstracao ca a cargo do leitor interessado.
Proposi
c
ao 4.37 Se R e S s
ao relac
oes de equivalencia denidas sobre um conjunto A, ent
ao R S tambem e.
Agora, como sao as classes de equivalencia determinadas por
R S em A? Como (x, y) (R S) se, e somente se, (x, y) R
e (x, y) S, as classes de equivalencia determinadas por R S sao
exatamente resultados das interseccoes de cada uma das classes
determinadas por R com cada uma das classes determinada por S.
Por exemplo, considere A = Z, R a congruencia modulo 2 e S a
congruencia modulo 3. Ent
ao,

Z2 = {0, 1}
onde

Z3 = {0, 1, 2},

0 = {. . . , 6, 4, 2, 0, 2, 4, 6, . . .}
1 = {. . . , 7, 5, 3, 1, 1, 3, 5, 7, . . .}
0 = {. . . , 9, 6, 3, 0, 3, 6, 9, . . .}
1 = {. . . , 11, 8, 5, 2, 1, 4, 7, 10, . . .}
2 = {. . . , 10, 7, 4, 1, 2, 5, 8, 11, . . .}.

Aspectos Formais da Computa


c
ao

168

Temos, portanto, Z6 = {[0], [1], [2], [3], [4], [5]}, onde:


[0] = 0 0 = {. . . , 12, 6, 0, 6, 12, . . .}
[1] = 1 1 = {. . . , 5, 1, 7, . . .}
[2] = 2 0 = {. . . , 4, 2, 8, . . .}
[3] = 0 1 = {. . . , 3, 3, 9, . . .}
[4] = 1 0 = {. . . , 8, 2, 4, . . .}
[5] = 2 1 = {. . . , 7, 1, 5, 11, . . .}.

Exerccios
(1) Descreva a particao de Z induzida pelas relacoes de congruencia:
(a) modulo 5
(b) modulo 2
(c) modulo 10
(d) modulo 12
umeros racionais, dena aRb se, e
(2) Sobre o conjunto Q dos n
somente se, ab Z. Mostre que R e uma relacao de equivalencia
e descreva as classes de equivalencia resultantes.
umeros racionais, denimos para cada
(3) Dado Q conjunto dos n
q Q xo:
Aq = {q + n; n N}.
(
Mostre que
= {Aq : q Q, 0 q < 1} e uma particao de Q e
mostre que a relacao obtida coincide com aquela dada no exerccio
(2).
(4) Determine a particao denida pelas relacoes (de equivalencia,
e claro!) descritas pelas matrizes:

1 0 1
0 1 0

1 0 1

0 0 0
0 1 0

0
0
0
1
0

0
1
0
0
1

1
0
1
0
0
0

0
1
0
1
1
0

1
0
1
0
0
0

0
1
0
1
1
0

0
1
0
1
1
0

0
0
0
0
0
1

(5) Mostre que, se R e uma relacao de equivalencia denida sobre


um conjunto A, ent
ao R R = R.

Rela
c
oes

169

(6) Sejam A = {1, 2, 3} {1, 2, 3, 4}, R e S relacoes denidas sobre


A por: (a) (x, y)R(u, v) x + y = u + v e
(b) (x, y)S(u, v) |x y| = |u v|.
Verique que R e S sao relacoes de equivalencia e obtenha as particoes
de A induzidas por elas.
(7) Obtenha todas as particoes possveis do conjunto {a, b, c, d}.
(8) Descreva um algoritmo para obter o n
umero de particoes de
um conjunto nito. Obtenha o n
umero de particoes de conjuntos
contendo 3, 4 e 5 elementos.
(
(9) Dada a particao
= {{1, 2}, {3, 4}, {5}}, obtenha a correspondente relacao de equivalencia.
(10) Quais das seguintes relacoes sao relacoes de equivalencia?

(a)
(b)
(c)
(d)

Conjunto
Pessoas
Pessoas
Pontos de um mapa
Retas do plano euclidiano

(e)

Inteiros positivos

Relacao
e irmao de
tem o mesmo pai que
e unido por uma estrada
e perpendicular a
para algum k N
e igual a 10k vezes

(11) A gura a seguir mostra duas relacoes denidas sobre o conjunto {a, b, c}. Essas relacoes sao relacoes de equivalencia?

Figura 4.12:

170

Aspectos Formais da Computa


c
ao

(12) Dada uma representacao graca de uma relacao de equivalencia, como podemos identicar as classes de equivalencia?
m
(13) Denindo R sobre N por xRy x
y = 2 para algum inteiro
m.
(a) Mostre que R e uma relacao de equivalencia.
(b) Quais sao as classes de equivalencia denidas pela relacao R
sobre N.

(14) Uma relacao R, denida sobre um conjunto n


ao vazio A, e
chamada circular se e verdadeira a sentenca: [a, b, c A, aRb e
bRc cRa]. Mostre que uma relacao R sera reexiva e circular
se, e somente se, for uma relacao de equivalencia.
(15) Sejam R e S relacoes de equivalencia denidas sobre um conjunto A. Prove que R S se, e somente se, toda classe de equivalencia denida por R esta contida em alguma classe de equivalencia
denida por S.
(16) Dada uma relacao de equivalencia R denida sobre um conjunto n
ao vazio A, se a particao determinada por R sobre A for uma
famlia nita, chamamos de posto de R o n
umero de distintas classes
de equivalencia de A determinada por R. Se R e S sao relacoes de
equivalencia com postos r e s respectivamente, mostre que R S
e uma relacao de equivalencia de posto no maximo rs. Mostre
tambem que R S pode nao ser, necessariamente, uma relacao de
equivalencia.
(17) Sejam e relacoes de equivalencia sobre um conjunto n
ao
vazio A. Mostre que a composta e uma relacao de equivalencia
se, e somente se, = . Dar exemplos de relacoes e ,
tais que = , e outros, tais que = .
(18) Seja R uma relacao denida sobre os inteiros positivos por:
aRb a2 b2

(mod 7).

Mostre que R e uma relacao de equivalencia. Qual e o posto de R?

Rela
c
oes

4.3

171

Rela
c
oes de Ordens - Conjuntos Ordenados

Outro tipo particularmente interessante de relacoes sao as de ordem


parcial que deniremos a seguir.
Deni
c
ao 4.38 Uma relacao binaria R, denida sobre um conjunto n
ao-vazio E, e chamada relac
ao de ordem parcial (ou simplesmente relac
ao de ordem) se for, simultaneamente, reexiva, antisimetrica e transitiva, isto e, se tivermos as seguintes implicacoes:
(i) x
 E =(x,
 x) R,

(ii) x, y E (x,
y)

R
e
(y,
x)

R

= (x = y), e
(iii) x, y, z E (x, y) R e (y, z) R = (x, z) R.
Nota
c
ao 4.39 : Quando R for uma relacao de ordem parcial sobre um conjunto n
ao vazio E, para exprimirmos que (a, b) R,
usaremos a notacao a R b, que se le a precede b na relac
ao R, e
ao
a notacao x R y, que se le: a precede estritamente b na relac
R para indicar que x R y e x = y. Quando a relacao de ordem parcial R estiver clara no contexto, escreveremos simplesmente
a
b (a precede b) quando (a, b) R, em vez da notacao mais
carregada a R b.
Deni
c
ao 4.40 Se sobre um conjunto n
ao vazio E estiver denida uma relacao de ordem parcial , diremos que E e um conjunto
parcialmente ordenado por e indicaremos este fato por (E, ).
Exemplos 4.41 (a) A relacao menor ou igual: , denida sobre
o conjunto dos n
umeros naturais.
(b) Se E = {x1 , x2 , x3 , x4 } e R e a relacao descrita pela matriz

1 0 1 0
0 1 1 0

0 0 1 0 ,
1 1 1 1
ent
ao R e uma relacao de ordem parcial. (Verique!)
(c) A relacao de inclusao denida sobre uma famlia E de subconjuntos de um dado conjunto. De fato: todo conjunto est
a contido

172

Aspectos Formais da Computa


c
ao

em si mesmo; dados dois conjuntos, A e B, quaisquer, se A B


e B A, ent
ao A = B; e, alem disso, para quaisquer conjuntos
A, B, C, se A B e B C, ent
ao, como ja vimos, A C).
(d) A relacao de divisibilidade denida sobre o conjunto dos n
umeros naturais. Para a vericacao das propriedades indicaremos a
relacao entre dois elementos por x|y (q Z : y = xq). Assim,
(i) n|n, n N pois n = n1 (inclusive para n = 0),
(ii) Se n|m e m|n, ent
ao existem p, q Z tais que n = pm e m = qn.
Substituindo, m = (qp)m. Logo, p = q = 1, se m = 0. Como n e
m sao n
umeros naturais, p = q = 1, ou seja, m = n. Se m = 0, de
n = pm vem que n = 0. Logo n = m tambem, e
(iii) Se n|m e m|k, ent
ao existem p, q Z, tais que m = pn e
k = pm. Substituindo, vem que k = (pq)n. Logo, n|k.
Pelos tens (i), (ii) e (iii) a relacao de divisibilidade sobre N e
uma relacao de ordem parcial.
Assim, por exemplo, se S = {a, b, c}, pela ordem de inclusao
do item (c) podemos escrever: {a, b}  {b, c}, pois {a, b}  {b, c}.
Considerando a ordem parcial
do item (d), podemos escrever
5  6 e 6  5, pois 5 nao divide 6 e 6 tambem nao divide 5.
Em geral, num conjunto parcialmente ordenado, existem pares de elementos x, y incomparaveis, isto e, para os quais
x

y

o caso dos elementos 5 e 6 com a ordem


sao ambas verdadeiras. E
de divisibilidade do exemplo 4.41 (d). No entanto, tal situacao nao
ocorre no item (a) do Exemplo 4.41, porque N e totalmente (ou
linearmente) ordenado pela relacao menor ou igual a, isto e, para
cada par (x, y) de elementos, ou x y, ou y x. Isto explica o
uso da palavra parcialao nos referirmos a conjuntos ordenados em
geral. Considerando os n
umeros 5 e 6, os tens (a) e (d) do exemplo
anterior tambem mostram que dois elementos a e b de um conjunto
E podem ser compar
aveis (isto e, x
y ou y
x) segundo uma
ordem e ser incomparaveis segundo outra ordem, ambas denidas
sobre E.

Rela
c
oes

173

Deni
c
ao 4.42 Seja (E, ) um conjunto parcialmente ordenado.
Dizemos que dois elementos a e b de E sao comparaveis se a b ou
b a. Se dois elementos quaisquer de E forem comparaveis por ,
dizemos que e uma ordem total de E e o conjunto E juntamente
com e chamado conjunto totalmente ordenado ou cadeia.
Observacoes
(i) Claramente, a relacao inversa de uma relacao de ordem e, tambem, uma relacao de ordem. Denotemos a relacao inversa de por
" (le-se: sucede). Assim, a
b se, e somente se, b " a. Por
exemplo, sobre o conjunto dos n
umeros inteiros, a relacao inversa
da relacao de ordem menor ou igual e maior ou igual, cuja notacoes
sao, respectivamente e , como e de praxe. Assim, a b se, e
somente se, b a.
(ii) Se R e uma relacao de ordem ( ) denida sobre um conjunto
E, e A e um subconjunto n
ao vazio de E, ent
ao RA = (A A) R
tambem e uma relacao de ordem parcial sobre A. (Prove!). Esta
ordem e denotada por A e e dita ordem restrita a A, ou ordem induzida sobre A por . Mais ainda, se (E, ) e totalmente ordenado,
o mesmo ocorre com (A, A ), mas, mesmo quando (E, ) nao e totalmente ordenado, podemos ter A E, com (A, A ) totalmente
ordenado. Por exemplo, tome a ordem parcial de divisibilidade
ao 1 A 2 A 4 A 8.
sobre N e A = {1, 2, 4, 8}. Ent
Deni
c
ao 4.43 Denimos uma relacao de ordem sobre {0, 1},
por 0 0, 0 1, 1 1. Se M = (aij ), N = (bij ) sao matrizes
de ordem m n com aij , bij {0, 1}, diz-se que M precede N e
denota-se por M N, se aij bij para todos i, j.
Lema 4.44 Sejam B = {0, 1} e Mmn (B) o conjunto de todas
as
m n com entradas zero ou 1. Ent
ao

 matrizes retangulares
e um conjunto parcialmente ordenado.
Alem
Mmn (B),
disso, se R, S s
ao relac
oes contidas em E F com E e F conjuntos nitos com m e n elementos, respectivamente, ent
ao R S
se, e somente se, MR MS .
Demonstracao: Sejam MR = (aij ) e MS = (bij ). Temos R S
se, e somente se, [aij = 1 = bij = 1]. Assim R S se, e somente

174

Aspectos Formais da Computa


c
ao

se, aij bij , ou MR


MS . A demonstracao de que Mmn (B) e
parcialmente ordenado tambem e imediata e ca como exerccio. 
Note que, para qualquer relacao R, tem-se que M
MEF .

MR

Para nalizar, apresentamos a vers


ao matricial de algumas propriedades de relacoes denidas sobre um conjunto nito. Estas
propriedades sao as mesmas propriedades enunciadas no Teorema
4.23.
Teorema 4.45 Seja R uma relac
ao denida sobre E = {x1 , x2 ,
. . . , xn }, n 1. Ent
ao:
(i) R e reexiva se, e somente se, In MR , onde In e a matriz
identidade n n;
(ii) R e simetrica se, e somente se, MR1 = MR , ou MRt =
MR , (onde M t e a matriz transposta de M );
(iii) R e transitiva se, e somente se, MRR MR ;
(iv) R e anti-simetrica se, e somente se, MR MRt In ,
onde o produto de matrizes (aij )mn (bij )mn e (aij .bij )mn .
Demonstracao: Seja MR = (aij ).
(i) R e reexiva se, e somente se, = {(ai , ai ), ai E} R.
Logo, R e reexiva se, e somente se, aii = 1, i = 1, 2, . . . , n; se, e
somente se, In MR .
(ii) R e simetrica se, e somente se, (xi , xj ) R implica (xj , xi ) R.
Ent
ao R e simetrica quando se tem a equivalencia: [aij = 1
aji = 1]. Em outras palavras: R e simetrica se, e somente se, MR
e simetrica.
(iii) Por denicao, R e transitiva se [(xi , xj ), (xj , xk ) R =
quando [(aij =
(xi , xk ) R]. Em termos matriciais, R e transitiva

ajk = 1) = aik = 1]. Isto e equivalente a: [ nj=1 aij ajk = 1 =
aik = 1]. Como (aik ) = (aij ).(ajk ), segue-se que R e transitiva se,
e somente se, MR .MR MR , ou MRR MR .
(iv) Por denicao, R e anti-simetrica quando (xi , xj ) R, i = j
implica (aj , ai )  R. Em termos matriciais, R e anti-simetrica se
aij = 1, i = j implica aji = 0, ou seja, quando aij .aji = 0, se i = j.

Rela
c
oes

175

Portanto, R e anti-simetrica se, e somente se, (aij ) (aji )


MR MRt In .

4.3.1

In , ou


Diagrama de Hasse

Quando o conjunto sobre o qual est


a denida uma relacao de ordem (total ou parcial) e nito, podemos representar a relacao por
meio de um diagrama de setas (ou segmentos) com as seguintes
caractersticas:
- as propriedades reexiva e transitiva n
ao sao indicadas (sendo
admitidas a priori);
- se a, b sao elementos, tais que aRb, indica-se b numa posicao
relativamente acima da de a.
Tal diagrama e chamado Diagrama de Hasse de R.
Vejamos alguns exemplos:

Exemplos 4.46 (a) Seja R a relacao dada por: R = {(0, 0),


(1, 1), (2, 2), (3, 3), (4, 4), (0, 1), (0, 2), (1, 2), (0, 3), (0, 4), (1, 4),
(3, 2), (4, 2)}. O diagrama de Hasse que a representa e:
2

4
3
1

Figura 4.13:
(b)
R = {(a, a), (b, b), (c, c), (d, d), (e, e), (a, b), (a, c), (a, d),
(a, e), (d, c), (e, c), (b, c)}

176

Aspectos Formais da Computa


c
ao

a
Figura 4.14:
(c) O diagrama de Hasse da relacao de ordem | denida sobre o
conjunto {3, 5, 7} e dado por:
3

(d) Considerando o conjunto dos divisores positivos 18, D+ (18),


com relacao `a ordem de divisibilidade temos: R = {(1, 1), (1, 2),
(1,3), (1,6), (1,9), (1,18), (2,6), (2,18), (3,6), (3,9), (3,18), (6,18),
(9,18), (2,2), (3,3), (6,6), (9,9), (18,18)}.
18

Figura 4.15:
(e) O diagrama de Hasse da relacao de ordem | sobre o conjunto
dos divisores positivos de 30, D+ (30) = {1, 2, 3, 5, 6, 10, 15, 30} e
o diagrama de Hasse da relacao de inclusao denida sobre o conjunto das partes de S = {a, b, c}, (S) = {, {a}, {b}, {c}, {a, b},
{a, c}, {b, c}, {a, b, c}} sao identicos. Veja os diagramas

Rela
c
oes

177

{ a,b,c }

30

10

15

{ a,b }

{ a,c }

{ b,c }

{a}

{b}

{c}

{}

Figura 4.16:

4.3.2

Elementos Especiais de Conjuntos


Parcialmente Ordenados

Nesta parte, consideraremos E um conjunto parcialmente ordenado


por e A E, A = .

Deni
c
ao 4.47 Diremos que um elemento L de E e um limite
superior de A se [(x E), (x A x
L)] for uma sentenca
verdadeira.
Deni
c
ao 4.48 Um elemento l E e um limite inferior de A se
[(x E), (x A l x)] for uma sentenca verdadeira.
Exemplo Consideremos sobre o conjunto {1, 2, . . . , 10} a relacao
de ordem com o diagrama de Hasse, a seguir. Se A = {5, 6, 7},
ao
ent
os limites superiores de A sao: 9 e 10 e
os limites inferiores de A sao: 1, 2, 3 e 5.

178

Aspectos Formais da Computa


c
ao
10

9
7

3
1

Figura 4.17:
Deni
c
ao 4.49 Seja A um subconjunto n
ao vazio de um conjunto
parcialmente ordenado (E, ). Um elemento M A e um m
aximo
de A quando [(x E), (x A = x M )], isto e, M e um limite
superior e pertence ao conjunto A. Analogamente, diremos que
m A e um mnimo de A quando [(x E), (x A = m x)].
Denota-se m = min A e M = max A.
Observe que, se um conjunto A possui dois elementos maxiao, por denicao, M1 M2 (M2 sendo maximo
mos M1 e M2 , ent
M1 (M2 A e M1 e maximo). Portanto,
e M1 A) e M2
M1 = M2 . Analogamente para o mnimo. Com isto, acabamos de
demonstrar a seguinte proposicao:
Proposi
c
ao 4.50 Seja A um subconjunto n
ao vazio de um conjunto parcialmente ordenado (E, ). Se A possui m
aximo (mnimo), ent
ao ele e u
nico.

Observe, ainda, que um conjunto pode n
ao ter maximo ou
mnimo.
Exemplos 4.51 (a) N com a relacao | (divisibilidade) tem como
mnimo 1 e maximo 0.
(b) N com a relacao tem como mnimo 0 e nao possui maximo.
(c) N com a relacao tem como maximo 0 e nao possui mnimo.

Rela
c
oes

179

Outros elementos importantes nos conjuntos parcialmente ordenados sao:


Deni
c
ao 4.52 Dado um subconjunto n
ao vazio A de um conjunto E parcialmente ordenado, chama-se supremo de A o mnimo (caso exista) do conjunto dos limites superiores de A, e nmo
de A o maximo (caso exista) do conjunto dos limites inferiores de
A. Indicaremos estes elementos por sup A e inf A, respectivamente.
Note que o sup A e o limite superior mais proximo de A.
Ent
ao, se existe max A, tem-se que existe sup A e eles sao iguais,
desde que max A pertence `a A. O mesmo vale com relacao ao inf A
e min A.
Considerando a relacao de ordem parcial dada pelo diagrama
de Hasse a seguir, sobre o conjunto E = {a1 , a2 , , a10 } e A =
{a5 , a6 , a7 }, temos:
ao
Os limites superiores de A sao a9 e a10 . Como a9 a10 , ent
a9 = sup A. A nao possui maximo.
a10
a9
a7

a6

a8

a5
a4

a3
a1

a2

Figura 4.18:
Os limites inferiores de A sao a1 , a2 , a3 , e a5 . Como a5 A,
ent
ao min A = a5 . Alem disso, a5 = max{a1 , a2 , a3 , a5 }. Portanto,
inf A = a5 .
Agora, considerando B = {a5 , a6 , a8 }, temos sup B = a9 e,
como nao existem limites inferiores, nao existe inf B.

180

Aspectos Formais da Computa


c
ao

Se C = {a1 , a2 , a3 }, ent
ao nao existem limites inferiores e portanto n
ao existe nmo. Os limites superiores de C sao a3 , a5 ,
a6 , a7 , a9 e a10 , sendo a3 = min{a3 , a5 , a6 , a7 , a9 , a10 } = sup C =
max C.
Deni
c
ao 4.53 Seja A um subconjunto n
ao vazio de um conjunto
E parcialmente ordenado. Um elemento m1 A e um elemento
minimal de A quando ocorrer [(x A), (x
m1 x = m1 )],
isto e, quando o u
nico elemento de A que precede m1 e ele proprio.
Analogamente, um elemento m0 A e um elemento maximal de A,
nico elemento de
quando [(x A), (m0 x x = m0 )], isto e, o u
A que m0 precede e ele mesmo; ou entao, (usando a ordem inversa
sucede) podemos dizer: o u
nico elemento de A que sucede m0 e
ele mesmo.
Exemplos 4.54 (1) Considere o conjunto E e os subconjuntos
A ={a5 , a6 , a7} e B = {a5 , a6 , a8 } do exemplo anterior. Ent
ao, a5 e
ou
nico elemento minimal de A e a6 e a7 sao elementos maximais
de A.
Os elementos a5 e a8 sao os elementos minimais de B, enquanto
a6 e a8 sao os elementos maximais de B.
Quando A e o proprio E ent
ao a1 , a2 , a4 sao os elementos
minimais de E e a10 e o u
nico elemento maximal de E.
(2) (Z, ) nao possui elemento maximal nem minimal.
Observa
c
ao
Observe que (Z, ) (R, ) nao possui mnimo, nem maximo,
nem limites superiores, ou inferiores, isto e, nao possui elementos
especiais. O mesmo ocorre com outros conjuntos innitos. No
entanto, este fato nao ocorre com conjuntos nitos n
ao vazios, como
pode ser visto no que segue:
Proposi
c
ao 4.55 Seja E um conjunto parcialmente ordenado,
nito e n
ao vazio. Ent
ao E tem pelo menos um elemento maximal e um elemento minimal. Alem disso, se E possui um u
nico
elemento maximal (minimal), este elemento e o m
aximo (mnimo)
de E.

Rela
c
oes

181

Demonstracao: De fato:
Seja p1 um elemento qualquer de E. Se p1 nao e maximal, entao
ao e maximal, entao
existe p2 E : p1 p2 . Agora, se p2 n
existe p3 E : p2 p3 e assim por diante. Como E e nito,
a cadeia p1 p2 p3 deve terminar em algum elemento
pk de E. Assim, nao existe elemento a E : pk a, portanto
pk e maximal. Um argumento semelhante mostra que existe, pelo
menos, um elemento minimal. Vejamos, agora, a demonstracao da
segunda parte da proposicao
nico elemento maximal de E. Se a1 = m0 , ent
ao
Seja m0 o u
a1 nao e maximal. Logo existe a2 E : a1 a2 . Se a2 = m0 ,
ent
ao a2 nao e maximal. Logo existe a3 E tal que a2 a3 . Com
este raciocnio construiremos uma cadeia de elementos de E : a1
uencia termina num elemento
a2 a3 Como E e nito, esta seq
ao a1
maximal. Como este elemento maximal deve ser m0 , ent
m0 e, portanto, m0 e o maximo. De modo analogo se
E, a1
demonstra para o mnimo.

Observe que a hip
otese de E ser nito e muito importante, pois
o conjunto N com a relacao denida pelo diagrama:
1

2
3

Figura 4.19:
possui um u
nico elemento minimal: 0, que nao e o mnimo de N
com a ordem estabelecida.
Uma cadeia em um conjunto parcialmente ordenado e um subconjunto n
ao vazio que e totalmente ordenado em relacao `a ordem
induzida. O subconjunto {0, 2, 3} n
ao e uma cadeia em N com a
ordem dada acima. Os subconjuntos {0, 1} e {4, 2, 1} sao cadeias
no exemplo acima. Para conjuntos parcialmente ordenados (E, ),

182

Aspectos Formais da Computa


c
ao

em geral temos o seguinte:


Lema 4.56 Lema de Zorn. Seja (E, ) um conjunto parcialmente
ordenado. Se toda cadeia em E admite limite superior em E, ent
ao
E possui, pelo menos, um elemento maximal.

Deni
c
ao 4.57 Uma relacao de ordem parcial, denida sobre um
conjunto E, e uma boa ordem se todo subconjunto n
ao vazio de E
possui mnimo. Neste caso, dizemos que E e bem ordenado.
Um exemplo de boa ordem e a ordem menor ou igualdenida sobre o conjunto dos n
umeros naturais, embora nao seja uma
boa ordem sobre o conjunto dos n
umeros inteiros.
Observe tambem que todo conjunto E bem ordenado tambem
e totalmente ordenado, pois, para quaisquer x, y E, tem-se que
{x, y} possui mnimo (que e x ou y). Logo, x
y ou y
x.
Vejamos alguns exemplos de elementos especiais de conjuntos.
Exemplos 4.58 Se E = R e A = {x R : 0 < x 1}, temos:
(a) x R, x 1 e um limite superior de A,
(b) x R, x 0 e um limite inferior de A,
(c) max A = 1,
(d) nao existe mnimo de A,
(e) sup A = 1,
(f ) inf A = 0,
(g) 1 e o u
nico elemento maximal de A,
(h) A nao tem elementos minimais.
(2) Sejam E = D+ (36) = {1, 2, 3, 4, 6, 9, 12, 18, 36}, A = {2, 4, 6} e
R a relacao divide.
(a) os limites superiores de A sao 12 e 36,
(b) os limites inferiores de A sao 1 e 2,
(c) nao existe max A,
(d) mnimo de A = 2,
(e) sup A = 12,
(f ) inf A = 2,
(g) 2 e o u
nico elemento minimal de A,
(h) 4 e 6 sao os elementos maximais de A.

Rela
c
oes

183

Exerccios
(1) Desenhe todos os diagramas de Hasse possveis para conjuntos
com 1, 2, 3 e 4 elementos. Em cada caso identique o maximo e o
mnimo (se existirem).
ao e ordem
(2) (i) Verique que a relacao de divisibilidade sobre N n
total e de uma cadeia em N.
(ii) Para A = {2, 3, 6} N, determine os limites superiores e
inferiores; max A e min A; sup A e inf A; elementos maximais e
minimais de A.
(3) Seja B = {0, 1} com a ordem usual e sobre B 2 = B B :
(i) Dena (a, b) 1 (c, d) se, e somente se, a c e b d.
Verique que 1 e uma ordem nao linear;
(ii) Dena (a, b) 2 (c, d) se, e somente se, a < c ou (a = c e
b d). Verique que (B 2 , 2 ) e totalmente ordenado;
(iii) Generalize (i) e (ii) para o conjunto E E, onde E e um
conjunto ordenado qualquer.
(4) Considere a ordem usual sobre B = {0, 1} e verique que
[(a, b, c) (a1 , b1 , c1 ) a a1 , b b1 e c c1 ] denida em B =
{0, 1} e uma relacao de ordem parcial sobre B 3 . Faca o diagrama
de Hasse desta ordem e verique que este diagrama e identico aos
diagramas dado no exemplo 4.46(e).
(5) Sejam (E, 1 ) e (F, 2 ) conjuntos ordenados. Verique que
E F pode ser ordenado por [(a, b) (c, d) a 1 c e b 2 d].
(6) Seja A = {3, 5, 6} contido em D+ (30), ordenado pela divisibilidade. Determine os limites inferiores e superiores, elementos maximais e minimais de A. E determine sup A, inf A e max A, min A.
(7) Em N N dena (a, b) (c, d) se, e somente se, a|c e b d.
(i) Mostre que esta relacao binaria e de ordem.
(ii) Ela e total? Por que?
(iii) Qual e a ordem inversa desta ordem?
(iv) Dado A = {(2, 1), (1, 2)}, ache os limites superiores e inferiores de A, sup A, inf A; max A, min A e os elementos maximais
e minimais de A.

Aspectos Formais da Computa


c
ao

184

(8) Mostre que (R, ) nao possui maximo, nem elementos maximais.
(9) Dado um conjunto parcialmente ordenado (E, ) e p1 p2
p1 , onde pi E, prove que p1 = p2 = = pk , isto

pk
e, nenhum conjunto parcialmente ordenado pode conter cadeias
fechadas.
(10) Desenhe o diagrama de Hasse para (D+ (72), |). Qual sera
a natureza dos diagramas de Hasse para os conjuntos dos divisores
inteiros positivos de:
(a) pk11 pk22 (b) pk11 pk22 pk33 , onde p1 , p2 , p3 sao primos distintos?
(11) A interseccao de duas relacoes de ordem parcial denidas
sobre um mesmo conjunto e uma relacao de ordem? Justique sua
resposta. E a uni
ao?
(12) Em N N dena {(a, b)R(c, d) [a < c ou (a = c e b d)]}.
Mostre que (N N, R) e totalmente ordenado.
(13) Seja R E E. Mostre que R e relacao de ordem se, e
somente se, R R1 = IE e R R = R.
(14) Seja (X, ) um conjunto totalmente ordenado. Em X n introduzimos a ordem lexicograca:
(x1 , . . . , xn ) 1 (y1 , . . . , yn ) [(x1 , . . . , xn ) = (y1 , . . . , yn ), ou
para algum k, 1 k n tem-se: xi = yi , (i < k) e xk yk ].
Mostre que esta e uma relacao de ordem parcial denida sobre
X n . Esta ordem e total?
(15) Verique se as matrizes, a seguir, representam relacoes de
ordem parcial

M1 =

1
0
0
0
0

1
1
0
0
0

0
0
1
0
0

1
1
1
1
0

1
1
1
1
1

M2 =

1
1
0
0
0

0
1
0
1
0

0
0
1
1
0

1
0
0
1
1

0
1
0
0
1

Rela
c
oes

M3 =

185

1
1
1
0
1

0
1
0
0
1

0
0
1
0
1

1
1
1
1
1

0
0
0
0
1

M4 =

1
1
1
1
0

0
1
0
1
0

0
1
0
1
0

0
0
0
1
0

1
1
1
1
1

(16) Liste todos os pares de elementos incomparaveis dos conjuntos parcialmente ordenados do Exerccio anterior.

4.4

Fun
co
es ou Aplica
c
oes

O caso mais importante de relacoes binarias denidas de um conjunto n


ao vazio A num conjunto n
ao vazio B ocorre quando A e o
domnio da relacao, e cada elemento de A aparece apenas uma vez
como abscissa de pares ordenados da relacao. Numa representacao
sagital de uma tal relacao, de cada elemento de A sai um e apenas
um arco; na representacao matricial, em cada linha aparece um e
apenas um 1.
Este tipo de relacao e chamado transformac
ao, aplicac
ao ou
o
func
ao e, devido a unicidade do 1 elemento de cada par, as notacoes
f A B e af b usadas para relacoes tambem sao representadas
por

f : A B e
f : a # b ou b = f (a) ,
respectivamente. Nesta notacao, b e chamado de valor de f em
a ou a imagem de a dada pela f . Mais precisamente temos:
Deni
c
ao 4.59 Seja f uma relacao de A em B. Dizemos que f e
uma aplicac
ao (func
ao ou transformac
ao) de A em B se:
(i) D(f ) = A, isto e, para todo a A existe b B, tal que
(a, b) f.


(ii) Para todos a A, b, c B, [ (a, b) f e (a, c) f =
b = c].
claro que o conjunto A e o domnio de f e o conjunto B
E
contradomnio, alem disso, como ja vimos antes, o conjunto dos

186

Aspectos Formais da Computa


c
ao

elementos de B associados a elementos de A e chamado conjunto


imagem de f e denotado por f (A). Ent
ao f (A) = {b B | b =
f (a) para algum a A}.
Observa
c
oes:
(a) O termo funcao, em geral, e usado quando A e B sao subconjuntos de R e, neste caso, podemos fazer a representacao cartesiana
de f.
(b) Se f : A B e g : A B, e claro que f = g se, e somente
se, f (x) = g(x) para todo x A.
(c) Se A e um conjunto de n-uplas, digamos (a1 , . . . , an ), a
expressao f ((a1 , . . . , an )) e simplicada para f (a1 , . . . , an ).
(d) A denicao de funcao particulariza o conceito de relacao binaria
em dois aspectos:
- um elemento qualquer do domnio A esta relacionado com um
u
nico elemento do conjunto B;
- cada elemento de A esta relacionado com algum elemento de
B.
Quando esta u
ltima condicao e relaxada e um subconjunto n
ao
vazio A de A e o domnio de f, a relacao resultante e uma funcao
ao parcial de A em B.
de A em B, a qual e chamada func
(e) Para enfatizar que todo elemento no domnio de uma funcao
tem exatamente uma imagem no contradomnio, dizemos que a
funcao esta bem denida.
Exemplos 4.60 (1) A = {a, b, c, d}, B = {0, 1, 2, 3} e f :
A B dada por f = {(a, 0), (b, 1), (c, 2), (d, 2)}.
(2) A relacao R = {(x, y) R2 : y = x2 } e uma funcao, cujo
domnio e R e o conjunto imagem e R+ .
` vezes, a funcao e denida por meio de uma sentenca, por
(3) As
exemplo f R R denida por f (x) = x + 1. Com esta denicao,
podemos denotar f por: f = {(x, x + 1), x R}.
(4) Dados A = {a, b, c}, B = {0, 1} e f = {(a, 1), (b, 0)}, ent
ao f
nao e funcao de A em B, pois c A e c  Dom(f ).
ao e uma funcao, pois
(5) A relacao S = {(x, y) R2 : x2 = y 2 } n
(1, 1) S; (1, 1) S e 1 = 1.

Rela
c
oes

187

(6) A relacao T = {(x, y) R2 : x2 + y 2 = 1} nao e funcao pois


(0, 1) e (0, 1) T e 1 = 1.
(7) Seja f : Z N, tal que f (i) = |2i| + 1. f e uma funcao
denida do conjunto dos n
umeros inteiros no conjunto dos n
umeros
naturais. Sua imagem e o conjunto de todos os naturais mpares.
(8) Seja f : P(U ) P(U ) P(U ) denida por f (A, B) = A B.
Esta relacao e uma funcao do conjunto de todos os pares ordenados
de subconjuntos de U nas partes de U . Neste caso o contra-domnio
e a imagem de f sao iguais. Como voce justicaria esta u
ltima
armacao?
(9) Dados conjuntos n
ao vazios A, B e b B xo, a funcao
f : A B, tal que f (x) = b para todo x em A, e chamada func
ao
constante.
(10) Dado um conjunto n
ao vazio A, a funcao de A em A denida
por f (x) = x, isto e, f = {(x, x), x A} e dita func
ao identidade
ou func
ao identidade sobre A e e denotada por IA : A A, ou
por 1A : A A.

4.4.1

Imagem Direta e Imagem Inversa

Deni
c
ao 4.61 Seja f : A B. Dado C A, chama-se imagem
direta de C, segundo f , e indica-se por f (C) o seguinte subconjunto
de B:
f (C) := {f (x) | x C},
isto e, f (C) e o conjunto das imagens dos elementos de C pela f.
Deni
c
ao 4.62 Seja f : A B. Dado D B, chama-se
imagem inversa de D, segundo f , e indica-se por f 1 (D) o seguinte
subconjunto de A:
f 1 (D) := {x A | f (x) D},
isto e, f 1 (D) e o subconjunto de A formado pelos elementos cujas
imagens estao em D.

Aspectos Formais da Computa


c
ao

188

Exemplos 4.63 (a) Sejam A = {1, 3, 5, 7, 9}, B = {n N : 0


n 10} e f : A B dada por f (x) = x + 1. Ent
ao
f ({3, 5, 7}) = {f (3), f (5), f (7)} = {4, 6, 8},
f (A) = {f (1), f (3), f (5), f (7), f (9)} = {2, 4, 6, 8, 10},
f () = ,
f 1 ({2, 4, 9}) = {1, 3},
f 1 ({0, 1, 3, 5, 7, 9}) = .
(b) Sejam A = B = R e f : R R, tal que f (x) = x2 .
Ent
ao
f ({1, 2, 3}) = {1, 4, 9},
f ([0, 2]) = [0, 4],
f (] 1, 3]) = {x2 | 1 < x 3} = [0, 9],
f 1 ({0, 4, 9}) = {0, 2, 2, 3, 3},
f 1 ([1, 9]) = {x R | 1 x2 9} = [3, 1] [1, 3].
(c) Sejam A = B = R e

0,
f (x) =
1,

se
se

xQ
x R \ Q,

ent
ao f (Q) = {0}, f (R \ Q) = {1}, f ([0, 1]) = {0, 1}, f 1 ({0}) =
Q e f 1 ([4, 5]) = .
Observa
c
ao: Se |S| = m e |T | = n, podemos denir nm funcoes
diferentes de S em T. Observe que, para cada um dos m elementos
s S, podemos escolher como imagem qualquer um dos n elementos de T como f (s), independentemente da escolha efetuada para os
outros elementos. Assim, temos nm opcoes. Em linguagem tecnica,
para T e S conjuntos n
ao vazios temos: T S := {f : S T }, e
S
|S|
ent
ao |T | = |T | .

4.4.2

Restri
c
ao e Prolongamento de Fun
c
oes

Deni
c
ao 4.64 Considere uma funcao f : A B e C um subconjunto n
ao vazio de A. Uma funcao g : C B e chamada
restric
ao de f a C se para todo x C, g(x) = f (x). Usualmente,
denota-se a funcao g por f|A . Assim, f|A (x) = f (x), x C.

Rela
c
oes

189

Deni
c
ao 4.65 Considere novamente uma funcao f : A B e
sejam C A e D B. Uma funcao h : C D e dita prolongamento de f ao conjunto D se h(x) = f (x), x A.
Exemplos 4.66 (1) Considere f : Z N, tal que f (x) = |2x|+1.
A funcao g : N N dada por g(n) = 2n+1 e a restricao de f a N.
(2) Seja f : R R denida por f (x) = |x|, e C o conjunto dos
n
umeros complexos.
)
A funcao h : C R denida por h(x + yi) = x2 + y 2 , para
todo x+yi C e uma extensao de f. Note que h1 : C R, denida
por h1 (x + yi) = |x| + |y|, tambem estende a funcao f. Isto mostra
que uma funcao pode ter varias extensoes, mas qualquer funcao
so admite uma u
nica restricao a um subconjunto n
ao vazio de seu
domnio.

4.4.3

Fun
co
es Injetoras e Sobrejetoras

Quando algumas condicoes sao impostas sobre as funcoes, obtemos


classes interessantes. Vejamos algumas delas.
Deni
c
ao 4.67 Dizemos que uma funcao f : A B e sobrejetora
se para todo y B existe pelo menos um x A, tal que f (x) = y.
Em outras palavras temos: para todo y em B, f 1 ({y}) = ou
ainda Im(f ) = B.
Exemplos 4.68 (a) Sejam A = {1, 2, 3}, B = {a, b} e f : A
B dada por f = {(1, b), (2, a), (3, b)}. Como Im(f ) = B, f e sobrejetora.
(b) Sejam A = {1, 2, 3} e f : A B dada por f = {(1, 0),
(2, 0), (3, 0)}. Ent
ao f so sera sobrejetora se B for o conjunto
unit
ario {0}.
Observa
c
ao: Uma funcao f : A B nao e sobrejetora se
b B | f 1 ({b}) = .

Aspectos Formais da Computa


c
ao

190

Deni
c
ao 4.69 Dizemos que uma funcao f : A B e injetora
quando


(x, y A), x = y = f (x) = f (y) ,
isto e, quando elementos distintos em A possuem imagens distintas
em B.
Observe que:
(i)
 Uma condi
 cao equivalente `a condicao de injetividade dada
e:
x, y A , f (x) = f (y) = x = y
(ii) Uma funcao f : A B n
ao e injetora quando x, y A,
 y.
tais que f (x) = f (y) e x =
Deni
c
ao 4.70 Dizemos que uma funcao f : A B e bijetora
se f e injetora e sobrejetora.
Exemplos 4.71 (1) f : R R denida por f (x) = x + 3 e
bijetora.
ao x + 3 = y + 3. Logo
De fato: x, y R se f (x) = f (y), ent
x = y e entao f e injetora. Alem disso, para qualquer z R, existe
x = z 3 em R, tal que f (x) = f (z 3) = (z 3) + 3 = z.
(2) f : Z Z dada por f (x) = x2 n
ao e sobrejetora nem injetora,
pois f (1) = f (1) e 1 = 1. Alem disso, Im(f ) = N = Z.
(3) f : N N denida por f (x) = x2 e injetora, mas nao e
sobrejetora, uma vez que, por exemplo, 2  Im(f ).
(4) Seja f : N {0, 1} denida por:

f (x) =

0,
1,

se n for par
se n for mpar

Esta funcao e, claramente, sobrejetora, mas nao e, obviamente,


injetora.
(5) Para X e Y conjuntos n
ao vazios, p : X Y X, denida
por p(x, y) = x, e sobrejetora, mas so sera injetora se Y for um
conjunto unit
ario.

Rela
c
oes

191

Nota: As funcoes
pi : A1 . . . Ai . . . An Ai
(x1 , . . . , xi , . . . , xn )
 xi
para i = 1, 2, . . . , n sao chamadas de i-esima projecao e sempre sao
sobrejetoras. Deixamos a justicativa para esta u
ltima armacao
a cargo do leitor.

4.4.4

Fun
c
ao Inversa

Como uma funcao f e uma relacao binaria, podemos considerar


a relacao inversa f 1 . Pode ocorrer que, mesmo f sendo uma
funcao, f 1 nao seja uma funcao. Por exemplo, consideremos A =
{1, 2, 3, 4}, B = {a, b, c, d, e} e f : A B denida por:
f = {(1, a), (2, a), (3, b), (4, e)},
ent
ao

f 1 = {(a, 1), (a, 2), (b, 3), (e, 4)}

n
ao e uma funcao uma vez que c  D(f 1 ) e c B.
Deni
c
ao 4.72 Seja f uma funcao de A em B. Diremos que f
e uma func
ao invertvel ou (inversvel) se a relacao inversa f 1
B A e uma funcao.
Vejamos quais sao as condicoes para que dada f : A B,
seja, tambem, uma funcao.
(1) D(f 1 ) = Im(f ) = B, ou seja, f deve ser sobrejetora
(2) Cada elemento de B deve ser imagem de um u
nico elemento
1
de A pela funcao f , caso contrario, em f , um mesmo elemento
teria duas imagens distintas, o que n
ao pode ocorrer. Resumindo,
f deve ser injetora.
Note que essas condicoes acima sao necessarias e sucientes, ou
seja, temos:
f 1

Proposi
c
ao 4.73 Seja f : A B uma func
ao. Uma condic
ao
1
ao de B em A e
necess
aria e suciente para que f seja uma func
que f seja bijetora.

192

Aspectos Formais da Computa


c
ao

Demonstracao: De fato:
(=) Vamos supor que f 1 e uma funcao de B em A e mostremos
que f e bijetora.
(i) Se y B, como f 1 : B A e uma funcao, existe x A, tal
que f 1 (y) = x e, portanto, f (x) = y, ou seja, f e sobrejetora.
(ii) Sejam x1 , x2 A, tais que f (x1 ) = y = f (x2 ). Ent
ao, por
denicao, (x1 , y) f e (x2 , y) f , ou seja, (y, x1 ) f 1 e (y, x2 )
f 1 , de onde se segue que x1 = x2 , uma vez que f 1 e funcao.
Portanto, f e injetora. De (i) e (ii) conclumos que f e bijetora.
(=) Vamos mostrar que, se f e bijetora, ent
ao f 1 e uma funcao.
(i) Dado y em B, como f e sobrejetora, existe x em A, tal que
y = f (x) e, portanto, f 1 (y) = x. Assim, temos D(f 1 ) = B.
ao
(ii) Se x1 , x2 sao tais que (y, x1 ) f 1 e (y, x2 ) f 1 , ent
(x1 , y) f e (x2 , y) f , de onde se segue que x1 = x2 , uma vez
que f e uma funcao injetora. De (i) e (ii) podemos concluir que

f 1 e uma funcao de B em A.
Exemplos 4.74 (1) Sejam A = {a, b, c}, B = {1, 2, 3} e f
denida por f = {(a, 2), (b, 1), (c, 3)} A B. Temos f bijetora e
f 1 = {(2, a), (1, b), (3, c)}.
(2) f : Z Z denida por f (n) = n2 n
ao admite inversa (como
funcao) pois f nao e bijetora.
 n
se n for par
2,
(3) f : N Z denida por f (n) =
e
n+1
2 , se n for mpar
uma funcao bijetora, logo f 1 e funcao.
ao temos
De fato, para todo m, n N, se f (n) = f (m), ent
n/2 = m/2 ou (m + 1)/2 = (n + 1)/2 (pois a situacao n/2 =
(m + 1)/2 nao ocorre, ja que um e positivo e o outro e negativo).
Assim, em qualquer caso, m = n e f e injetora.
Vejamos agora que f tambem e sobrejetora: se m Z e m 0,
ent
ao m = f (2m); e, se m < 0, tomando n = 2m 1 Z, tem-se
2m 1 + 1
2m
=
= m.
n 0 e f (n) = f (2m 1) =
2
2
Assim, f e bijetora e sua inversa e f 1 : Z N denida por

Rela
c
oes

f 1 (n)

193
2n
2n 1,

se n 0,
se n < 0.

ao impediu a
Observa
c
ao: Observe que o fato de N  Z n
existencia de uma bijecao entre os dois conjuntos. Compare este
fato com o exerccio (7) da u
ltima lista.
(4) A funcao f : R R denida por f (x) = 2x + 3 e bijetora e
x3
.
f 1 : R R e dada por f 1 (x) =
2
Observe que, se f e uma funcao bijetora, o mesmo ocorre com
alem disso, a relacao inversa de f 1 e f . Assim, podemos
armar que f e f 1 sao aplicacoes inversas entre si.
f 1 ,

4.4.5

Composi
c
ao de Fun
c
oes

Deni
c
ao 4.75 Dadas duas funcoes f : A B e g : B C, a
composta de f e g, indicada por g f, e a funcao g f : A C
denida por (g f )(x) = g(f (x)), x A.
Assim, se b B e imagem de a A pela f e c C e imagem
de b pela g, ent
ao c e imagem de a pela g f .
Vejamos uma representacao em diagrama de uma composicao
de funcoes.

f(a)=b e g(b)=c
Figura 4.20:

Aspectos Formais da Computa


c
ao

194

Exemplos 4.76 (1) Considere U um conjunto nito qualquer e f


e g as funcoes denidas por:
f : P(U ) Z
A
 |A|

g : Z
x

x5
.
2

Ent
ao a composta g f : P(U ) R e denida por (g f )(A) =
|A| 5
2 .




|A| 5
.
De fato, g f (A) = g f (A) = g(|A|) =
2
(2) Considere f e g representadas no diagrama a seguir

A
a

-1
0

c
f

Figura 4.21:
Ent
ao g f = {(a, v), (b, v), (c, v)}, pois




g f (a) = g f (a) = g(1) = v
g f (b) = g f (b) = g(0) = v
(g f )(c) = g f (c) = g(0) = v.
2
(3) Sejam f : R R e g : R R denidas por f (x) =
 x e
g(x)
ao, g f : R R e denida por g f (x) =
 =2x + 1. Ent
g f (x) = g(x2 ) = 2x2 + 1.

(4) Sejam A = {a1 , a2 , a3 , a4 }, B = {b1 , b2 , b3 , b4 , b5 } e C = {c1 , c2 , c3 }.


Consideremos as funcoes f : A B e g : B C denidas por:
f = {(a1 , b1 ), (a2 , b2 ), (a3 , b4 ), (a4 , b3 )}
g = {(b1 , c1 ), (b2 , c1 ), (b3 , c2 ), (b4 , c2 ), (b5 , c3 )}

Rela
c
oes

195

A funcao composta de f e g, por denicao, e g f : A C, tal


que
(g f )(a1 ) = g(f (a1 )) = g(b1 ) = c1
(g f )(a2 ) = g(f (a2 )) = g(b2 ) = c1
(g f )(a3 ) = g(f (a3 )) = g(b4 ) = c2
(g f )(a4 ) = g(f (a4 ) = g(b3 ) = c2 ,
isto e,
g f = {(a1 , c1 ), (a2 , c1 ), (a3 , c2 ), (a4 , c2 )}.
(5) Sendo f : R R denida por f (x) = 3x e g : R R
denida por g(x) = x2 , a funcao composta g f : R R e denida
por
(g f )(x) = g(f (x)) = g(3x) = (3x)2 = 9x2 .
(6) Sejam
f : R R
x  2x
Ent
ao,

g : R+ R

x

x + 1.

R
g f : R
e a funcao composta de
x 
2x + 1

f e g.
Observa
c
oes 4.77 :
(i) Para f e g denidas no exemplo (5) anterior e poss
 vel obter
tamb
 em
 f g. Esta e uma funcao de R em R, tal que f g (x) =
f g(x) = f (x2 ) = 3x2 ,
(ii) A composta f g so pode ser denida quando o contradomnio
da funcao f coincide com o domnio da funcao g.
(iii) A composta g f tem domnio e contradomnio iguais,
respectivamente, ao domnio da f e contradomnio da g.
(iv) Se f : E F e g : F E, ent
ao existem g f e f g,
porem, em geral, temos g f = f g.
(v) Se sao dadas as funcoes f : A B, g : B C, h : C D,
ent
ao, da denicao de composicao, temos as funcoes compostas
(h g) f : A D e h (g f ) : A D. Alem disso,






a A tem-se: [(h g) f ](a) = h g f (a) = h g f (a) =

196

Aspectos Formais da Computa


c
ao

h[(gf )(a)] = [h(gf )](a). Assim, as funcoes compostas h(gf ) e


(hg)f sao iguais. Portanto, podemos escrever, sem ambiguidade,
h g f para indic
a-las. Mais geralmente, dadas as funcoes
f1 : A1 A2 , f2 : A2 A3 , . . . , fr : Ar Ar+1
a expressao fr fr1 f1 representa uma u
nica funcao de A1 em
Ar+1 . Alem disso, quando Ai = Aj , para todo i, j {1, . . . , r + 1}
e f1 = = fr = f, a funcao composta fr fr1 f1 sera
indicada por f r .
Por exemplo, se f : Z Z e a funcao denida por f (x) = 2x+1.
Ent
ao f 2 : Z
 Ze denida por
2
f (x) = f f (x) = f (2x + 1) = 2(2x + 1) + 1 = 4x + 3.
E f 3 : Z Z e denida por


f 3 (x) = f 2 f (x) = f 2 (2x + 1) = 4(2x + 1) + 3 = 8x + 7.
(vi) Uma funcao f : A A, tal que f 2 = f, e chamada idempotente. Um exemplo de funcao idempotente e f : Z6 Z6 , onde
f (x) = 4x. Ainda, quando f e idempotente, temos:
f3 = f2 f = f f = f
f4 = f3 f = f f = f
..
.
f k = f k1 f = f f = f, k 1.
No que segue, a funcao identidade de um conjunto A, denotada
por 1A , e, como ja vimos, denida por 1A : A A, tal que 1A (a) =
claro que, para uma funcao qualquer f : A B, temos:
a. E
Lema 4.78 Seja f : A B uma func
ao. Ent
ao f 1A = f = 1B
oes identidades dos conjuntos A
f, onde 1A e 1B indicam as func
e B, respectivamente, como visto acima. Em particular, se B = A,

temos f 1A = f = 1A f.
Proposi
c
ao 4.79 Se f : A B e uma func
ao bijetora, ent
ao
f f 1 = 1B e f 1 f = 1A .

Rela
c
oes

197

Demonstracao: De fato: ja sabemos que, se f e bijetora, o


mesmo ocorre com f 1 . Agora, para todo x A, temos
(f 1 f )(x) = f 1 (f (x)) = x = 1A (x),
portanto, f 1 f = 1A . Analogamente, para todo x B, tem-se
(f f 1 )(x) = f (f 1 (x)) = x = 1B (x),
portanto, f f 1 = 1B .

Lema 4.80 Sejam f : A B e g : B A, tais que g f = 1A .


Ent
ao f e injetora e g e sobrejetora.
Demonstracao: De
 fato,
 sejam
 x, x1 A, tais que f (x) =
f (x1 ). Ent
ao, g f (x) = g f (x1 ) ; ou 1A (x) = 1A (x1 ). Logo, x =
x1 e, entao, f e injetora. Para demonstrar

 que g e sobrejetora tome
um elemento x em A. Ent
ao x = g f (x) . Assim, para y = f (x),
tem-se que g(y) = x. Logo, g e sobrejetora.

Proposi
c
ao 4.81 Sejam f : A B e g : B A. Se f g = 1B
e g f = 1A , ent
ao f e g s
ao bijetoras e g = f 1 .
Demonstracao: Que f e g sao bijetoras, segue do Lema 4.80.
Resta demonstrar que g = f 1 .
Por hip
otese, D(f 1 ) = B = D(g) e f g = 1B = f f 1 .
Portanto, f (g(x)) = f (f 1 (x)), x F e, como f e injetora, g(x) =

f 1 (x), x F . Portanto, g = f 1 .
Observa
c
oes:
(i) O fato de que f g = 1B nos garantiu pelo Lema 4.80 a injetividade de g e, de g f = 1A , a sobrejetividade de g, ou seja, as duas
condicoes juntas garantem que g e invertvel. Alem disso, a parte
nal da demonstracao garante a unicidade da inversa.
(ii) Apesar da condicao f g = 1B nos garantir a sobrejetividade de
f e a injetividade de g, as funcoes g ou f podem nao ser bijetora.
Por exemplo, considere f : N N, denida por f (n) = n + 1,
e g : N N, denida por g(n) = n 1, se n 1 e g(0) = 0.
Ent
ao, g f = 1N , mas nem f nem g sao bijetoras, uma vez que
0  Im(f ) e g(0) = g(1), com 0 = 1.

Aspectos Formais da Computa


c
ao

198

4.4.6

Algumas Fun
c
oes Importantes:

(A) Funcao fatorial


a funcao f : N Z denotada por f (n) = n! e denida
E
recursivamente por f (0) = 1 e f (n 1) := n.f (n 1), n 1.
Esta funcao nao e injetora, desde que f (0) = f (1) = 1, e
tambem nao e sobrejetora, desde que, por exemplo, 3
/ Im(f ).
(B) Funcao escolha
Seja Ai , i I (I = ) uma famlia de conjuntos, com Ai = .
Uma funcao escolha denida sobre esta famlia e uma funcao f :
{Ai , i I} D com D Ai , i, tal que f (Ai ) Ai .
Exemplo: Sejam A1 = {0}, A2 = {a, b, c}, A3 = {x, y} e D =
ao, f : {A1 , A2 , A3 } D, tal que f (A1 ) =
A1 A2 A3 . Ent
0, f (A2 ) = a, f (A3 ) = y, e uma funcao escolha. Essa funcao se
identica com a escolhaou terna ordenada (0, a, y) A1 A2 A3 .
De maneira mais geral, o conjunto de todas as funcoes escolha
denidas sobre a fam
lia {Ai , i I} pode ser identicado com o
produto cartesiano
Ai .
iI

(C) Funcao caracterstica


Seja A um subconjunto de um conjunto universo U. A func
ao
caracterstica de A e a funcao cA : U {0, 1} denida por

cA (x) =

1,
0,

se x A
se x
/ A.

Esta funcao tem as seguintes propriedades que sao facilmente


vericadas:
Propriedades:
(i) Dois subconjuntos A1 e A2 de U sao iguais se, e somente se,
cA1 = cA2 ,
(ii) cA = 1 cA ,
(iii) cAB = cA + cB cA .cB ,
(iv) cAB = cA .cB e

Rela
c
oes

199

(v) Toda funcao f : U {0, 1} e a funcao caracterstica de


algum subconjunto de U. De fato, sendo S = {x U : f (x) = 1},
tem-se que f = cS .
Usando essas identidades, outras identidades mais complexas
podem ser obtidas. Por exemplo, desde que A (B C) = (A
B) (A C), segue-se de (i) que cA(BC) = c(AB)(AC) .
Exemplos: (1) Seja A = {a, b, c, d, e, f } e S = {b, d}. Ent
ao
cS = {(a, 0), (b, 1), (c, 0), (d, 1), (e, 0), (f, 0)}.
(2) A funcao f : N {0, 1} denida por

0, se n e par
f (n) =
1, se n e mpar
e a funcao caracterstica dos n
umeros mpares, conforme propriedade
(v).
No que segue, veremos uma outra forma de demonstrar que, se
A e nito, com n elementos, entao |(A)| = 2n .
Lema 4.82 Sejam {0, 1}U o conjunto de todas as func
oes de U
U
em {0, 1} e : {0, 1} (U ) denida por (f ) = A, onde
A = {x U | f (x) = 1}. Ent
ao e uma func
ao bijetora.
Demonstracao: Sejam f, g {0, 1}U , tais que (f ) = (g) = A.
Ent
ao, f (x) = 1 e g(x) = 1 se, e somente se, x A. Pela propriedade (v) temos que f = g e, portanto, e injetora. Para cada
ao, (cS ) = S
S U, considere cS a funcao caracterstica de S. Ent
e, portanto, e sobrejetora.

umero
Segue-se que os conjuntos {0, 1}U e (U ) tem o mesmo n
de elementos. Em particular, se U e nito
|{0, 1}U | = |(U )|.
Sabendo que

|{0, 1}U | = |{0, 1}||U | = 2|U | .

Aspectos Formais da Computa


c
ao

200

Conclumos que |(U )| = 2|U | , o que havamos visto anteriormente.


Dada uma funcao f : A B, a relacao Rf denida sobre A
por aRb f (a) = f (b) e claramente uma relacao de equivalencia
e, portanto, induz uma particao R , sobre A, onde cada classe
de equivalencia consiste de todos os elementos de A que tem por
imagem um dado elemento do contra-domnio da f. Assim, existe
uma bijecao entre Rf e Im(f ) (Prove).
Devido a este fato, a funcao caracterstica pode ser usada para
dar uma representacao conveniente para as funcoes, cujo conjunto
imagem Im(f ), e nito. Vejamos: Considere f : A B onde
B = {b1 , b2 , . . . , bk } e Rf = {A1 , A2 , . . . , Ak }, a particao denida
por f sobre A. Portanto,
Ai = {a A | f (a) = bi }.
Como para cada a A exatamente um dos k valores
cA1 (a), cA2 (a), . . . , cAk (a)
e 1 (digamos cAi (a)), enquanto todos os demais sao 0, podemos
representar f : A B por
f (a) =

k


bi cAi (a).

i=1

Exemplo 4.83 Considere a funcao f : Z Zm , onde f (j) =


j(mod m). Ent
ao, Ai = {j Z | j i(mod m)} (i = 0, 1, . . . , m
1). Ent
ao podemos escrever
f (j) =

m1


icAi (j).

i=0

Por exemplo, quando m = 3,


f (j) =

2


icAi (j) = 0.cA0 (j) + 1.cA1 (j) + 2.cA2 (j) =

i=0

= cA1 (j) + 2.cA2 (j).

Rela
c
oes

201

(D) Funcao escada


As funco
es assoalho e teto (Floor and Ceiling functions) s
ao
duas funcoes importantes em matematica discreta. Observando
que todo n
umero real x e da forma x = m + f , onde m e um inteiro
e f e um n
umero real com 0 f < 1, denimos
Deni
c
ao 4.84 A funca
o assoalho, tambem dita funca
o maior inteiro, e a funcao que, quando aplicada a` x = m + f, d
a como resultado m : o maior inteiro contido em x, (ou o maior inteiro menor
ou igual a x). A func
ao teto, quando aplicada a` x = m + f, toma o
menor inteiro maior ou igual a x, ou seja, arredonda x para cima.
Notacoes: $x% ou [x] para a funcao assoalho, e &x' para a funcao
teto.
Assim,
ao $x% = m e
 se x = m + f, m Z e 0 f < 1, ent
m, se f = 0
&x' =
m + 1, se 0 < f < 1.
Por exemplo, $1/2% = 0 e &1/2' = 1;
$ 12 % = 1 e
1
$3, 2% = 3 e &3, 2' = 4;
$7% = 7 e &7' = 7. Veja
& 2 ' = 0;
os gracos destas funcoes.
y

y
4

-3

-2

-1

1
-1

-3 -2 -1

-1

-2

-2

-3

-3

Figura 4.22: Funcoes $x% e &x'


Exemplos (a) Em uma caderneta de poupanca, em que sao depositados juros mensais sobre o montante atualizado, quantos dep
ositos
de juros foram feitos pelo banco se o poupador retirou toda a
aplicacao em 88 dias?

202

Aspectos Formais da Computa


c
ao

Solucao - Como o deposito em juros e feito com mes vencido, o


n
umero de depositos em juros feito pelo banco e $ 88
30 % = 2.
(b) Uma pessoa fsica cou em atraso com o imposto de renda
por 88 dias. Sendo que os juros sobre a dvida tambem sao cobrados
mensalmente, quantos meses de juros a pessoa fsica pagara?
Solucao: - Neste caso, a cobranca pela receita federal e feita
usando a funcao teto. Portanto, o resultado e & 88
30 ' = 3.
(c) Os dados armazenados em um disco rgido ou transmitidos por rede usualmente sao representados como uma seq
uencia
de bytes. Cada byte e composto de 8 bits. Quantos bytes sao
necessarios para codicar 100 bits de dados?
claro que e o menor inteiro que e maior ou igual a
Solucao: - E
100
ao necessarios & 100
8 , ou seja, s
8 ' = 13 bytes.
(E) Permutacoes:
Deni
c
ao 4.85 Seja A um conjunto nito A = {a1 , . . . , an }. Uma
funcao bijetora de A em si mesma e chamada uma permutac
ao
sobre A. O n
umero |A| = n e chamado ordem de permutacao.
Representamos uma permutacao p : A A de ordem n da
seguinte forma:


a2
...
an
a1
.
p=
p(a1 ) p(a2 ) . . . p(an )
Observe que:
(i) O n
umero total de permutacoes de ordem n distintas que podemos obter e n!
(ii) Dada uma permutacao sobre A


a2
...
an
a1
,
p=
p(a1 ) p(a2 ) . . . p(an )
a inversa de p e a permutacao


p(a1 ) p(a2 ) . . . p(an )
1
.
p =
a2
...
an
a1

Rela
c
oes

203

Exemplo 4.86 Seja A = {a, b, c}. Como |A| = 3 e 3! = 6, existem


6 permutacoes distintas denidas sobre A. Sao elas:

 
 

a b c
a b c
a b c
,
,
,
b a c
a c b
a b c


a b c
c a b


,

a b c
b c a


,

a b c
c b a

onde
a primeira
delas e a permuta
cao identica.



a b c
a b c
, por exemplo, e
.
c a b
b c a


,
A inversa de

Seja p uma permutacao denida sobre A = {a1 , . . . , an }. Para


uencia de elementos:
cada ai A, consideremos a seguinte seq
ai , p(ai ), p2 (ai ), p3 (ai ), . . . .
Como A e nito, a seq
uencia innita deve conter repeticoes, isto
e, existem l e k N tais que pk (ai ) = pl (ai ). Assim, se l e k sao
os menores inteiros, tais que 0 l < k n e pk (ai ) = pl (ai ) (p0
denota a identidade), escrevendo pl como sendo (p1 )l temos
pl (pk (ai ) = pl (pl (ai )),
que implica em pkl (ai ) = ai . Fazendo k l = r, temos pr (ai ) =
uencia inicial ai , p(ai ), p2 (ai ), p3 (ai ), . . . pode ser
ai . Portanto, a seq
reescrita de forma periodica
ai , p(ai ), p2 (ai ), p3 (ai ), . . . , pr1 (ai ), ai , p(ai ), p2 (ai ), p3 (ai ), . . .
Os r primeiros elementos desta seq
uencia sao dois a dois distintos e sao freq
uentemente indicados na forma da r-upla


ai p(ai ) p2 (ai )


pr1 (ai ) ,

(4.1)

que e denominada r-ciclo ou ciclo de ordem r.


Podemos observar que a permutacao p quando aplicada r vezes
leva ai em si mesmo, o mesmo ocorrendo para qualquer outro

Aspectos Formais da Computa


c
ao

204

elemento que aparece no mesmo ciclo que ai . Quando r < n, pelo


ao foi includo no r-ciclo 4.1. Podemenos um elemento aj A n
mos agora repetir o processo e determinar o ciclo que contem aj ,
digamos


aj

p(aj )


pt1 (aj ) .

(4.2)

Notemos que os ciclos 4.1 e 4.2 nao possuem elementos comuns,


ao
pois de ps (ai ) = pm (aj ) para algum s e m N, ent
ptm (ps (ai )) = ptm (pm (aj )),
ou seja,
pt+sm (ai ) = pt (aj ) = aj ,
ao. Dois ciclos com
mas pt+sm (ai ) esta no ciclo 4.1 enquanto aj n
esta propriedade sao chamados ciclos disjuntos.
Pode-se repetir o processo anterior, tantas vezes quantas se
zerem necessarias, e partir o conjunto A em subconjuntos, cada
um dos quais constitudos pelos elementos de diferentes ciclos. Essa
particao e freq
uentemente chamada produto de ciclos disjuntos e
expressa da forma



ai p(ai ) pr1 (ai ) (aj p(aj ) pt1 (aj )


am p(am ) pl1 (am ) ,
onde a ordem em que os ciclos sao escritos sao arbitr
arias e os ciclos
de ordem 1 sao omitidos. Esta forma especica perfeitamente a
permutacao p.
Exemplo 4.87 Considere a permutacao


a b c d e f g h
.
h g b f e d a c
O ciclo contendo o elemento a, isto e, (a p(a) p2 (a) . . .) e (a h c b g).
Qualquer elemento deste ciclo e aplicado nele mesmo por p5 . O
ciclo contendo d e dado por (d f ) e, nalmente, o ciclo contendo e e
(e). Ent
ao, p pode ser escrita da seguinte forma: (a h c b g)(d f )(e)
onde (e) pode ser omitida.

Rela
c
oes

205

(F) Princpio da Casa do Pombo


Este princpio e sua generalizacao, que veremos a seguir, tem
muitas aplicacoes interessantes e surpreendentes. Ele arma o
seguinte:
Se k + 1 objetos s
ao colocados em k caixas, pelo menos uma
caixa conter
a mais de um objeto
Vejamos algumas aplicacoes:
Exemplos (1) Em um grupo de 367 pessoas, pelo menos duas
fazem aniversario em um mesmo dia do ano.
(2) Para qualquer n > 1 existe um n
umero formado apenas dos
dgitos 0 e 1 que e divisvel por n.
umeros 1, 11, 111, . . . , 111 1(n + 1
Solucao: tome os n + 1 n
vezes). Como temos n + 1 n
umeros, entao dividindo estes n
umeros
por n, pelo menos dois deles tem o mesmo resto. Logo, a diferenca
deles e um n
umero constitudo de zerose unse e divisvel por
n.
Agora veremos o
Teorema 4.88 (Princpio da Casa do Pombo Generalizado). Se
n objetos s
ao colocados em k caixas, pelo menos uma caixa conter
a
n
pelo menos & k ' objetos.
Demonstracao: (Por contradicao). Suponhamos que nenhuma
objetosestao
caixa contera mais que & nk '1 objetos.
 os
 nComo todos
n
contidos nas k caixas, temos: n k & k ' 1 < k ( k + 1) 1 = n,
absurdo.

Exemplos (i) Em um grupo de 100 pessoas, pelo menos & 100
12 ' = 9
nasceram no mesmo mes.
(ii) Qual e o n
umero mnimo necessario de jogadores para se ter
certeza que existe pelo menos um time de futebol (11 jogadores),
sendo que estes jogadores podem escolher aleatoriamente as equipes
A, B ou C?
ao e um time. Tendo
Solucao: Equipe com 10 jogadores ainda n
3 equipes, 3.(10)=30 jogadores pode n
ao ser suciente. Logo, e
& n3 ' > 10, ou seja, n = 3(10) + 1 = 31.

206

Aspectos Formais da Computa


c
ao

(iii) Assuma que todos os telefones xos do estado de Sao


Paulo sejam do tipo 0 1B Y Z X1 X2 X3 X4 X5 X6 X7 , onde 1B
e o codigo de area e B e um dos dgitos de 1 `a 9. O n
umero Y Z e
o codigo da operadora para interurbanos e X1 X2 X3 X4 X5 X6 X7 e
o n
umero do telefone individual xo. Cada Xi e um dos dgitos de
0 `a 9 e X1 e diferente de zero. Pede-se:
Qual e o n
umero mnimo de codigos de area necessario para
garantir que 25 milh
oes de telefones xos no estado de Sao Paulo
tenham os n
umeros de telefones distintos?
Solucao: Como Y Z e o codigo da operadora ele n
ao inui
nos calculos e no resultado nal. O n
umero do telefone xo e
X1 X2 X3 X4 X5 X6 X7 com X1 um dos dgitos de 1 `a 9. Logo, ha 9
possibilidades para X1 . Para Xi , i = 2, . . . , 7 ha 10 possibilidades.
Pelo princpio da contagem, podemos ter 9.10.10 10 = 9.106 =
9.000.000 de telefones xos *distintos. Como
se quer 25 milhoes de
25.000.000 + * 25 +
telefones xos, pelo menos
=
= 3 deles tera o
9.000.000
9
mesmo n
umero. Portanto, vamos precisar de pelo menos 3 codigos
de area para que todos os telefones xos do estado de Sao Paulo
sejam diferentes.
(iv) Mostre que dentre quaisquer n + 1 inteiros positivos, n
ao
excedendo 2n, existe um inteiro que divide um dos outros.
Solucao: Sejam a1 , a2 , . . . , an+1 inteiros quaisquer entre 1 e 2n.
Pelo Teorema Fundamental da Aritmetica 2.17, podemos escrever
umeros
ai = 2i .qi , com qi : mpar. Como 1 qi 2n, temos n+1 n
mpares no intervalo [1, 2n]. Logo, dois deles sao iguais: digamos
qi = qj = q. Assim, ai = 2i q e aj = 2j q. Portanto, ai divide aj (se
i j , ou aj divide ai (se j i ).
(v) Mostre que em qualquer n + 1 escolha distinta feita no
conjunto de 2n elementos B = {1, 2, . . . , 2n}, (n 1) existem 2
elementos escolhidos, cuja soma e 2n + 1.
Solucao: Considere os seguintes n pares (1, 2n), (2, 2n 1), . . . ,
(n, n + 1), cuja soma e 2n + 1. Como vamos fazer n + 1 escolha de
elementos distintos em B e temos n pares, pelo princpio da casa
do pombo vamos acabar escolhendo um destes pares.

Rela
c
oes

207

Exerccios
(1) Quais das seguintes relacoes constituem uma funcao:
(a) {(x, y) N N : x + y < 10}
(b) {(x, y) R R : x = y}
(c) {(x, y) R R : y 2 = x}
umero de primos menores que x}.
(d) {(x, y) N N : y e o n
(2) Considere a funcao f : A B, onde A = {1, 0, 1}
{1, 0, 1}, B = {1, 0, 1} e

f (x, y) =

0
x.y

se xy > 0
nos outros casos

(a) Qual a relacao denida por f ?


(b) Qual o domnio de f ?
(c) Dena a restricao de f a {0, 1} {0, 1}
(d) Quantas funcoes distintas existem com mesmo domnio e mesma
imagem de f ?
(3) Seja f : R+ R denida por

f (x) =

x+5
se x R+ \ Q+
x2
se x Q+

(a) f e funcao injetora?


(b) f e bijetora?
(4) Para cada uma das funcoes a seguir, determine o conjunto
imagem e identique se sao injetoras, sobrejetoras e/ou bijetoras.
(a) f1 : R R
x  x

(b) f2 :

(c) f3 : Z N
x  x2

(d) f4 :

(e) f5 :

R2
(x, y)

R
 xy

R2
(x, y)

R2
(x, y)

R
 x+y

R
 xy

(f ) f6 : R R
x  cos x

208

Aspectos Formais da Computa


c
ao

(g) f7 : R R
x  x2
(i) f9 : N N
x  x+1

(h) f8 : Z Z
x  x2 +1
(j) f10 : R R
x  x3

(k) f11 : A A, onde A = {1, 2, . . . , k} e



n + 1 se 1 n < k
f11 (n) =
1
se n = k
(5) Quantas funcoes sobrejetoras de um conjunto de 3 elementos
num conjunto de 2 elementos existem? Quantas funcoes injetoras
de um conjunto de 3 elementos num conjunto de 4 elementos existem?
(6) Mostre que existe uma bijecao entre A B e B A.
(7) Sejam A e B dois conjuntos com |A| = m e |B| = n com m = n.
(a) Sob quais condicoes uma funcao f : A B e injetora? E
sobrejetora?
(b) Qual e o n
umero mnimo de elementos que um subconjunto de
A B deve ter para denir uma funcao?
(8) Mostre que f : A B e sobrejtora se, e somente se, a relacao
f 1 satisfaz a condicao: para cada b B, existe pelo menos um
a A, tal que b = f 1 (a).
(9) Mostre que, se f : A B e uma funcao dada e A1 A2 A,
ent
ao f (A1 ) f (A2 ).
(10) Sejam f : A B uma funcao dada, e A A e B  B.
Mostre que
(a) A f 1 (f (A )) e A = f 1 (f (A )) quando f e injetora,
(b) f (f 1 (B  )) B  , e f (f 1 (B  )) = B  quando f e sobrejetora.
(11) Prove que, se S e T sao conjuntos nitos com |S| = |T | =
n e se f : S T e uma funcao, as seguintes armacoes sao
equivalentes:
(a) f e injetora.
(b) f e sobrejetora.

Rela
c
oes

209

(12) Dada f : R R denida por

2x + 5,
x2 1,
f (x) =

5x,

quando
quando
quando

x < 1
1x1
x > 1.

Determine:

2
(a) f (0), f ( 35 ), f ( 7
2 ), f ( 2), f ( 5 )
(b) f ([1, 5])
(c) f 1 (R+ )
(d) f 1 ({10, 7})
(e) f 1 (] 2, 3[)
(13) Considere f : R
R denida por f (x) = |x|. Determinar:
f ([1, 1]),
f (] 1, 2[),
f (R),
f (1), f (3),
f (1 2),
f 1 ([0, 3]), f 1 ([1, 3]) e f 1 (R ).
(14) Seja f : R R a funcao denida por

f (x) =

x2

3
x

se
se

x0
x > 0.

Determinar: f ([1, 8]), f (R ), f 1 ([1, 16]) e f 1 (R ).


(15) Provar que a funcao f : ] 1, 1[ R denida por f (x) =
x
e bijetora.
1 |x|
(16) Seja f : R2 R denida por f (x, y) = xy.
(a) f e injetora?
(b) f e sobrejetora?
(c) Obter f 1 ({0}).
(d) Obter f ([0, 1] [0, 1]).
(e) Obter f (R ), onde R = {(x, y) | x = y}.
(17) Dizemos que dois conjuntos A e B sao equipotentes quando
A = B = , ou existe f : A B bijetora. Em cada caso a seguir,
mostre que A e B sao equipotentes:
(a) A = N e B = N
(b) A = Z e B = N
(c) A = R e B = R+

(d) A =]
2, 2[ e B = R
(e) A =] 1, 1[ e B =]a, b[ com a < b, a, b R

210

Aspectos Formais da Computa


c
ao

(f) A =] 1, 1[ e B = [1, 1]
(g) A =] 1, 1[ e B = R
(18) Prove que duas pessoas em Sao Paulo devem ter as mesmas
letras iniciais no primeiro nome.
(19) Prove que, se S e T sao conjuntos nitos com |S| = |T | = n e
f : S T e uma funcao, as seguintes armacoes sao equivalentes:
(a) f e injetora.
(b) f e sobrejetora.
(c) f e invertvel.
(20) Obter a inversa da funcao f : ] 1, 1[ R denida por
x , x ] 1, 1[.
f (x) =
1 |x|
(21) Prove que, se uma funcao f : R R e invertvel e seu graco
e uma curva simetrica em relacao `a reta y = x, ent
ao f = f 1 . Dar
1
exemplos de funcoes, tais que f = f .
(22) Dadas
f : Z Z
n  n + 1

g: Z
Z
n  2n,

mostre que f g = g f .
(23) Mostre que a composicao de duas funcoes injetoras e injetora.
E que o mesmo acontece para funcoes sobrejetoras.
(24) Considere duas funcoes f : A B e g : B C quaisquer
e prove as seguintes armacoes:
(a) se g f e injetora, ent
ao f e injetora;
(b) se g f e sobrejetora, ent
ao g e sobrejetora;
(c) se g f e bijetora, ent
ao f e injetora e g e sobrejetora.
(25) Mostre que, se f : A B e g : B C sao bijetoras, ent
ao
1
1
1
1
existe (g f ) e, alem disso, (g f ) = f g .
(26) Sejam f, g, h funcoes denidas sobre o conjunto dos n
umeros reais por f (x) = x 1, g(x) = x2 + 2 e h(x) = x + 1, x R.
(a) Determine f g, f h, h f , g f e h g;
(b) Verique que (f g) h = f (g h).
(27) Dadas f = {(x, y) R2 : y = x3 + 1} e g = {(x, y) R2 : y =
x2 + 1}. Determine as compostas f g, g f , f f e g g.
(28) Considere as funcoes f (x) = cos x e g(x) = |x|, denidas sobre
o conjunto dos n
umeros reais. Esboce os gracos das compostas
f g e g f.

Rela
c
oes

211

(29) Para cada par de funcoes reais f e g dados a seguir, determine


as compostas: f g e g f .

x + 1, se x 0
(a) f (x) =
g(x) = 3x 2
x 1, se x < 0

(b)

f (x) =


(c)

f (x) =

x2 , se x < 0
2x, se x 0
x2 + 1, se x < 0
2x + 1, se x 0


g(x) =

1x, se x < 1
1+x, se x 1

g(x) dada por

3x, se x < 1
7x + 1, se 1 x 5
g(x) =

2 + x, se x > 5
(30) Determine f f para f : R R denida por

x + 1,
se
x0
f (x) =
1 2x,
se
x > 0.
(31) Dadas as funcoes denidas sobre R por f (x) = 2x + 7 e
(f g)(x) = 4x2 2x + 3. Determinar a lei de denicao de g.
(32) Mostre que uma funcao f : A B (A = ) e injetora
se, e somente se, existe uma funcao parcial g : B A, tal que
g(f (a)) = a, a A.
(
(33) Considere f : A B e g : A C com Rf = {A1 , A2 }
(
e
Rg = {A3 , A4 , A5 }, f (a) = 0.cA1 (a) + 1.cA2 (a) e g(a) =
0.cA3 (a) + 1.cA4 (a) + 3.cA5 (a). Mostre que
f (a) + g(a) = 0.cA1 A3 (a) + 1.cA1 A4 (a) + cA2 A3 (a)+
+2.cA2 A4 (a) + 3.cA1 A5 (a) + 4.cA2 A5 (a).
(34) Prove que para todo u U tem-se:
(a) cA (u) cB (u) se, e somente se, A B,
(b) cAB (u) = min{cA (u), cB (u)},
(c) cAB (u) = max{cA (u), cB (u)},
(d) cAB (u) = cA (u) cAB (u).
umero
(35) A cada subconjunto A de U = {u1 , . . . , un } associe o n
bin
ario com n dgitos 1 , . . . , n , onde i = cA (ui ). Baseado nesta
associacao, prove (mais uma vez) que |(U )| = 2|U | .

212

Aspectos Formais da Computa


c
ao

(36) Expressar as seguintes permutacoes como produto de ciclos


disjuntos. Encontre tambem as inversas dessas permutacoes:


a b c d e f g
p1 =
g f e d c b a


a b c d e f g
p2 =
e g f b a c d


a b c d e f g h i j
p3 =
h d b a c f j i g e
(37) Considere as permutacoes p1 e p2 do exerccio anterior e encontre as permutacoes:
(a) p1 p2 , (b) p2 p1 e (c) (p1 p2 p1 )2 .
(38) Encontre as permutacoes correspondentes aos seguintes produtos de ciclos:
(i) (a, c, b, f )(d, h, i, j)(e)(g) (ii) (a, g)(f, e)(b, i)(h, c)(d, j)
(iii) (a, h, c, d, j, f, g, i, b, e)
(39) Uma transposic
ao e uma permutacao quetroca dois elemen
a b c d e
tos deixando os demais xos. Por exemplo:
e
d b c a e
uma transposicao sobre {a, b, c, d, e}, que pode ser denotada como
produto de ciclos por (a d). Mostre que toda permutacao pode ser
expressa como a composicao de um n
umero nito de transposicoes.
Expresse a permutacao


a b c d e f g h
p=
h g b f e d a c
desta maneira.

Captulo 5

ANEIS
E ALGEBRAS
DE BOOLE

O objetivo principal deste captulo e fazer um breve estudo sobre as algebras booleanas de um ponto de vista computacional.
Usaremos a estrutura natural de ordem de uma algebra booleana e
demonstraremos o Teorema de Stone para algebras booleanas nitas. Em seguida, trataremos das funcoes booleanas, como algebras
booleanas. Exemplo destas algebras sao as algebras de proposicoes
exploradas em captulos anteriores. A seguir daremos as formas
canonicas de funcoes booleanas e nalizaremos representando
funcoes booleanas por circuitos, muito u
til em aplicacoes na area
de engenharia.

5.1

Operaco
es

Deni
c
ao 5.1 Uma operac
ao sobre um conjunto n
ao vazio E e
simplesmente uma funcao f : E E E. Em geral, denota-se f
por , , etc e f (x, y) por x y, x  y, etc, que se le: x estrela
y,, x delta y, etc.
Exemplos 5.2 (1) Se a funcao f e a adicao de n
umeros naturais
+ : N N N, geralmente se escreve x+y para a imagem de f em
(x, y) e se diz somade x e y. Como a soma de n
umeros naturais
e sempre um n
umero natural, segue-se que f e uma operacao sobre
N. Pode-se vericar que a adicao tambem e uma operacao sobre
quaisquer dos conjuntos N, Z, Q, R, C. Verique!

Aspectos Formais da Computa


c
ao

214

(2) A subtracao de n
umeros naturais: f (n, m) = n m n
ao e
umero
uma operacao sobre N, pois f (2, 3) = 2 3 nao e um n
natural. No entanto f (n, m) = n m e um n
umero inteiro para
todos n, m Z. Portanto, a subtracao e uma operacao sobre Z.
ao e operacao sobre R
(3) : R R R dada por x y = xy n

1
porque n
ao e funcao. Por exemplo, (2) 12 = (2) 2 = 2  R.
Pela mesma razao nao e uma operacao sobre Q. Esta relacao e uma
umeros naturais x
operacao sobre N, pois quaisquer que sejam os n
y
umero natural.
e y, x e um n
(4) Adicao e multiplicacao de matrizes sobre o conjunto das matrizes quadradas de ordem n sobre R sao operacoes sobre este conjunto de matrizes.
(5) Dados A = {f : R R}, a operacao de composicoes de
funcoes de A e uma operacao sobre A.
(6) A funcao f (n, m) = mdc(n, m) e uma funcao sobre Z pois
para todo par (m, n) Z Z, tem-se que mdc(m, n) Z.
(7) Seja L um alfabeto com pelo menos dois smbolos e L e o
conjunto de todas as palavras (= seq
uencias nitas de letras) do
alfabeto L. A concatenacao de palavras:
x1 x2 . . . xn y1 y2 . . . ym = x1 x2 . . . xn y1 y2 . . . ym ,
onde n > 0, m > 0 e xi , yj pertencem a L, e uma operacao sobre
L , pois juncoes de duas palavras sobre L e uma palavra sobre L.

Propriedades
Uma operacao denida sobre um conjunto n
ao vazio E pode
satisfazer as seguintes propriedades:
(a) Associativa
: E E E e dita associativa se, para todos x, y, z E,
x (y z) = (x y) z.
Observa
c
ao: Pelas leis do calculo proposicional podemos armar
que n
ao e associativa se existem x, y, z E, tais que x (y z) =
(x y) z.


An
eis e Algebra
de Boole

215

(b) Comutativa
: E E E e dita comutativa se, para todos x, y E,
x y = y x.
Observa
c
ao:
Podemos armar que nao e comutativa se
existem x, y E, tais que x y = y x.
(c) Existencia do elemento neutro
Dizemos que : E E E admite elemento neutro e E
se, para todo x E, tem-se: x e = x = e x.
Observa
c
ao: O elemento neutro e E e um elemento xo e a
propriedade acima deve ser satisfeita para todo x E.
(d) Elemento simetriz
avel e Elemento simetrico
Seja : E E E uma operacao que admite elemento neutro
e. Dizemos que a E e simetriz
avel se existe b E, tal que
a b = b a = e. O elemento b E com esta propriedade e dito o
simetrico do elemento a E (para a operacao ) e sera denotado
por a .
Nota
c
ao 5.3 Denotaremos por U (E) o conjunto dos elementos
simetrizaveis de E para a operacao . Assim, U (E) = {a E :
a b = e = b a, para algum b E} = {a E tal que a E}.
No caso em que e denotada pelo smbolo aditivo +, a sera
indicado por a e chamado oposto de a. Quando a operacao
e denotada por , sugerindo a operacao multiplicativa, tambem
mudamos a notacao de a , neste caso, para a1 , e dizemos inverso
de a em vez de simetrico de a.
Observa
c
ao: Pode acontecer de existirem dois elementos dife
rentes a e a em E que sao simetricos de a E. Veja o exerccio
(1) da pr
oxima lista de exerccios.
(e) Distributiva
Nada impede que existam duas ou mais operacoes sobre um
conjunto n
ao vazio E. Vamos supor que e  sejam operacoes sobre
um conjunto n
ao vazio E. Dizemos que a operacao e distributiva
em relac
ao a  se:
x (yz) = (x y)(x z)
e
(yz) x = (y x)(z x),

Aspectos Formais da Computa


c
ao

216
para todos x, y, z E.

(f ) Elementos Regulares
Dizemos que um elemento a E e regular para : E E E
se, para todos x, y E,

ax=ay
e

xa=ya

====

x = y.

Nota
c
ao: Denotaremos por R (E) o conjunto dos elementos
regulares de E para a operacao . Assim, R (E) = {a E :
a e regular}.
Observe que um elemento a E n
ao sera regular para a operacao
se existirem x, y E, tais que a x = a y, x a = y a e
x = y.
Exemplos 5.4 As operacoes de adicao e multiplicacao sobre os
campos numericos N, Z, Q, R, C obedecem varias propriedades que
enumeraremos a seguir. Ressaltamos que na demonstracao destas
propriedades, precisaremos considerar as denicoes tratando da
construcao desses conjuntos, coisa que nao faremos aqui.
(a) A operacao de adicao sobre N obedece as propriedades associativa, comutativa e admite elemento neutro 0 (zero). Todo elemento
e regular para a adicao, e o u
nico elemento simetrizavel e zero.
(b) A operacao de adicao sobre Z, Q, R, ou C satisfaz todas as
propriedades, todos os elementos sao regulares e todos os elementos
admitem opostos.
(c) A operacao de multiplicacao sobre N e comutativa, associativa,
admite 1 como elemento neutro, que e o u
nico elemento inversvel
(simetrico para a multiplicacao), e todos os elementos nao nulos sao
regulares para a multiplicacao. Observe que 0 (zero) nao e regular
para a multiplicacao, pois 0.2 = 0.3 e 2 = 3.
(d) A operacao de multiplicacao sobre os n
umeros inteiros admite
as mesmas propriedades e R (Z) = Z \ {0}, pois, para todo a
Z, a = 0 se ax = ay (xa = ya), entao x = y. O conjunto
dos elementos inversveis e U (Z) = {1, 1} com (1)1 = 1 e


An
eis e Algebra
de Boole

217

11 = 1. Se a = 1 ou 1, ent
ao nao existe b Z, tal que ab = 1,
ou seja, se a = 1 e a = 1, ent
ao a n
ao e inversvel.
(e) A operacao de multiplicacao sobre Q, R, C satisfazem todas
U (R) =
as propriedades vistas e U (Q) = R (Q) = Q \ {0},
R (R) = R \ {0}. O mesmo vale para o conjunto dos n
umeros
complexos.
Como exemplo, vamos mostrar que U (C) = C \ {0}. Dado
x = a + bi em C, queremos condicoes sobre x para que exista
x1 C. Seja x1 = c + di, c, d R a determinar. Desde
que (a + bi)(a bi) = a2 + b2 , e este elemento e nao-nulo, se x e
a

b
n
ao-nulo, vem que (a + bi) 2

i
= 1. Logo, x1 =
a + b2
a2 + b2
b
a

i. Para existir x1 C e preciso que a2 + b2 = 0


a2 + b2 a2 + b2
em R, ou seja, a = 0 ou b = 0 em R. Logo existe x1 se, e somente
se, x = 0.
Exemplos 5.5 (1). Verique quais das propriedades dadas as
operacoes abaixo satisfazem
A. = potenciacao e E = N.
(i) (x y) z = x (y z) se, e somente se, xy z = x y z
z
z
se, e somente se, (xy )z = x(y ) , ou seja, xyz = x(y ) . Para os
valores x = 4, y = 3, z = 2, temos 46 = 49 . Logo a operacao
de potenciacao nao e associativa.
(ii) x y = y x se, e somente se, xy = y x . Ocorre que, para
x = 2, y = 3, temos que 8 = 9. Logo, a operacao de potenciacao
n
ao e comutativa.
(iii) Elemento neutro. Queremos e N xo, tal que xe = ex para
ao, se existe e N nestas condicoes, deve valer para
todo x N. Ent
x = 1 e a temos 1e = e1 = e. Logo, e = 1 (se existir). Voltando
na equacao geral, camos com: x = x1 = 1x = 1 para todo x N
(absurdo). Logo, n
ao existe elemento neutro para a operacao de
potenciacao sobre N.
(iv) Elementos regulares. Seja a N xado.
Se a = 0; de 01 = 02 = 1 e 1 = 2, vem que 0 nao e regular.
Se a = 0, as equacoes a x = a y, (x a = y a) signicam
que ax = ay , xa = y a . Logo, x = y e, portanto, R (N) = N \ {0}.

218

Aspectos Formais da Computa


c
ao

B. = multiplicacao de matrizes 2 2 sobre R.


Para quaisquer A, B, C M2 (R), tem-se:
(i) (AB)C = A(BC), ou seja, a operacao de multiplicacao de
matrizes e associativa (verique!).
(ii) A operacao de multiplicacao de matrizes nao e comutativa
pois, porexemplo,
 para


1 0
1 1
e B=
temos: AB = BA.
A=
0 0
1 0


1 0
(iii) O elemento neutro e a matriz I2 =
, pois para toda
0 1
matriz quadrada 2 2 A, temos que A.I2 = I2 .A.



a b
(iv) A matriz inversa da A =
e a matriz A1 = ad
c d


1 d b
bc
. Portanto, A e inversvel se, e somente se, det(A)
c
a


= ad bc = 0, ou ent
ao U M2 (R) = {A M2 (R) : det(A) = 0}.


(v) Para o calculo de R M2 (R) , veja a propriedade (5) adiante.
C. = composicao de funcoes de R em R.
(i) A composicao de funcoes e associativa e nao e comutativa, veja
observacao 4.77. O elemento neutro e a funcao identidade de R,
denotada por 1R , veja Lema 4.78. Os elementos inversveis de RR
sao as funcoes bijetoras, conforme visto na Proposicao 4.73.

2. Sobre a distributividade.
(a) A operacao de multiplicacao e distributiva em relacao a operacao de adicao denidas sobre quaisquer dos conjuntos N, Z, Q, R
ou C, pois a(b + c) = ab + ac e (b + c)a = ba + ca.
(b) Como 2 + 3.1 = (2 + 3)(2 + 1), a adicao nao e distributiva
em relacao a multiplicacao sobre quaisquer dos campos numericos
N, Z, Q, R, C.
(c) A exponenciacao nao e distributiva em relacao a multiplicacao,
pois existem x, y, z N, tais que xyz = xy .xz , isto e, x (yz) em
geral e diferente de (x y)(x z). Por exemplo, tome x = 2, y =
3, z = 4.
(d) Apesar de que (g + h) f = g f + h f para todas funcoes
f, g, h RR , a operacao de composicao de funcoes nao e dis-


An
eis e Algebra
de Boole

219

tributiva em relacao a adicao de funcoes, pois nem sempre vale a

igualdade f (g + h) = f g + f h. Obtenha f, g, h RR
convenientes.
(e) A multiplicacao de matrizes e distributiva em relacao a adicao
de matrizes em Mn (R), pois: para todas as matrizes A, B, C de
Mn (R) tem-se A.(B + C) = A.B + A.C e (B + C).A = B.A + C.A.

Propriedades de Operaco
es
1. Se uma operacao sobre um conjunto n
ao vazio E admite
elemento neutro e, ent
ao ele e u
nico.
Demonstracao: Seja e E outro elemento neutro. Ent
ao: e




e = e , pois e e elemento neutro de E, e e e = e, pois e tambem
e elemento neutro de E. Sendo assim, e = e .
2. Se a operacao sobre E e associativa e admite elemento neutro,
ent
ao todo elemento simetrizavel admite um u
nico simetrico.
Demonstracao: Observe que U (E) = , pois e e simetrizavel.
Suponhamos que x E seja simetrizavel com simetrico x e seja
y E outro simetrico de x. Ent
ao, x x = x x = e e x y =
y x = e. Da x = x e = x (x y) = (x x) y = e y = y.
Note que usamos a associatividade de .
3. Se x E e simetrizavel para a operacao , ent
ao x tambem e


simetrizavel e (x ) = x.
Demonstracao: Basta ver que x x = x x = e. Da, por


denicao, temos que o simetrico de x e x, ou seja, (x ) = x. Note


que, se e associativa, x e o u
nico simetrico de x .
4. Se a operacao e associativa e x, y sao simetrizaveis, entao
x y tambem e simetrizavel e (x y) = y  x .
Demonstracao: Basta usar a associativa para provar que (x
y) (y  x ) = (y  x ) (x y) = e. Da, por denicao, segue-se o
resultado.
5. Se a operacao e associativa, admite elemento neutro e e a E
e simetrizavel, ent
ao a e regular (ou seja: U (E) R (E)).
Demonstracao: Sejam x, y E, tais que a y = a x. Multiplicando por a pela esquerda, temos: a (a y) = a (a x).
Usando a associatividade de camos com (a a) y = (a a) x

220

Aspectos Formais da Computa


c
ao

e, portanto, x = y. Se multiplicarmos a equacao y a = x a pela


direita por a e usarmos a hipotese, chegaremos tambem que x = y.
Agora podemos concluir que a R (E).
Exemplos 5.6 (i) Seja a operacao de multiplicacao sobre os
nico elemento neutro para a
n
umeros reais. Ent
ao e = 1 R e o u
multiplicacao. Temos que 3 U (R) e (31 )1 = 3.
Como 2, 3 sao simetrizaveis, temos que (2.3)1 = 31 .21 =
1
2 .31 (pois, neste caso, e comutativa).
Neste caso, temos a igualdade U (R) = R (R) = R \ {0}.
(ii) Veriquemos a validade de todos os conceitos vistos sobre a
seguinte operacao denida sobre Z : x y = x + y + xy.
facil ver que e comutativa.
E
ao, para todo
Seja e Z o elemento neutro de , se existir. Ent
x Z, xe = x+e+xe = x. Podemos escrever x+(e+ex) = x+0
e, como todo elemento de Z e regular para a operacao de adicao,
camos com e + ex = 0, para todo x Z. Como e Z deve ser
xo, esta equacao so e possvel para e = 0.
A associativa tambem vale e ca como exerccio.
ao
Calculemos os elementos simetrizaveis. Seja x U (Z). Ent
existe x Z a determinar, tal que xx = e = 0. Da x+x +xx =
x
Z. Ou seja,
0, ou seja, x (1 + x) = x Z. Logo, x =
1+x
x
queremos x Z, tal que x =
pertenca a Z. Para que isto
1+x
ocorra, e necessario e suciente que x + 1 divida x. Como x e x + 1
sao dois n
umeros consecutivos, e queremos o maior dividindo o
menor, isto so e possvel para x + 1 U (Z) = {1, 1}. Logo,
U (Z) = {0, 2}, com 0 = 0 e (2) = 2.
Calculo de R (Z) :
Como e associativa e existe e, j
a sabemos que {0, 2} R (Z).
Seja a Z e queremos condicoes sobre a para que de a x = a y
tenhamos x = y. Mas de a + x + ax = a + y + ay camos com
x(1 + a) = y(1 + a), pois a e regular para a operacao de adicao
sobre Z. Da (x y)(1 + a) = 0 Z. Como um produto e zero
em Z quando um dos fatores e nulo, vem que x y e sempre nulo


An
eis e Algebra
de Boole

221

para 1 + a n
ao nulo. Assim, x = y sempre que a = 1, ou seja,
R (Z) = Z \ {1}.

5.1.1

Tabela de uma Opera


c
ao

Quando o conjunto E e nito, digamos E = {a1 , a2 , . . . , an },


com poucos elementos, podemos representar a operacao em uma
matriz onde o elemento da (ij)-posicao e o produto ai aj .





















a1
..
.
ai
..
.
aj
..
.
an

a1
a1 a1

a2
a1 a2

ai a1

ai a2

aj a1

aj a2

..
.

..
.

..
.

ai

a1 ai
..
.

aj
a1 aj

aj ai

aj aj

ai ai

an a1 an a2

..
.

..
.

an ai

ai aj

an aj

..
.

..
.

..
.










ai an 


aj an 


an an 
an
a1 an

Exemplo 5.7 Seja E = {0, 1, 2, } e x y = min{x, y}.


Ent
ao












0
1
2

0
0
0
0
0



1
2 

0 0
0 

1 1 1 
1 2
2 
1
2 

Observa
c
oes 5.8 (1) Observe a simetria em relacao `a diagonal principal existente na tabela do exemplo acima. Isto ocorre
na tabela se, e somente se, a operacao e comutativa.
(2) Observando a tabela do exemplo acima podemos dizer que
o elemento e o elemento neutro, porque na sua linha e coluna
sao repetidos os elementos do conjunto E, postos na 1a linha e
1a coluna, sem fazer permutacao na ordem dada. Sempre que isto

222

Aspectos Formais da Computa


c
ao

ocorre para um elemento a E em vez de , como e o caso, este


elemento sera o elemento neutro para a operacao sobre E.
(3) O elemento , no exemplo dado acima, e regular para a
operacao = min sobre o conjunto E dado; isto porque na sua
linha e coluna n
ao repete elementos de E. Ja o elemento 1 E
nao e regular, porque na sua
linha ou coluna
repete elementos de
E. Por exemplo, 1 1 = 1 2 e 1 = 2. De um modo geral,
se E = {a1 , . . . , an }, n > 1 e ai aj = ai ak ou aj ai = ak ai
com j = k ent
ao o elemento ai E n
ao e regular para .
(4) Se a operacao admite elemento neutro e, um elemento
ai E e simetrizavel com simetrico aj E se aparecer o elemento
neutro e nas posicoes simetricas i-esima linha j-esima coluna
e j-esima linha i-esima coluna em relacao a diagonal principal.
Por exemplo, na tabela do exemplo anterior temos que e o u
nico
elemento simetrizavel, com simetrico , pois = enquanto
os outros elementos nao tem em suas linhas e colunas o elemento
neutro em posicoes simetricas em relacao a diagonal principal. A
associatividade e mais difcil de ver pela tabela.

Exerccios
(1) Faca uma tabela de uma operacao sobre um conjunto E, de
modo que exista um elemento simetrizavel e seu simetrico nao seja
u
nico.
(2) Verique se denida sobre E e associativa, comutativa, se
admite elemento neutro e, neste caso, obtenha os elementos simetrizaveis e os elementos regulares.
x+y
(a) E = R+ e x y = 1+xy
.
(b) E = Q, x y =
2
x + xy.
(c) E = R e x y = x + y 2 + 2xy.
(d) E =
N e x y = min{x, y}. (e) E = N e x y = mdc(x, y).
(f ) E = Z Z e (a, b) (c, d) = (ac, 0). (g) E = Z Z e
(a, b) (c, d) = (ac, ad + bc).
(3) Para E = {a, b} : (i) Construir as tabuas de todas as
operacoes possveis sobre E;
(ii) Vericar quais propriedades possuem cada uma das operacoes obtidas em (i).
(4) Construir a t
abua de uma operacao sobre E = {e, a, b, c}, tal


An
eis e Algebra
de Boole

223

que
(i) seja comutativa, (ii) e seja o elemento neutro, (iii) x a =
a, x E e (iv) R (E) = E \ {a}.
(5) Dena sobre R : x y = x + y 3. Mostre que satisfaz as
propriedades associativa, comutativa, existencia do elemento neutro e que U (R) = R. Calcule (13 )1 , ou seja, (1 1 1) e resolva
x2 (13 ) = 1.
(6) Seja G = {e, a, b, c, d, f } com uma operacao que satisfaz:
(i) e associativa, (ii) e comutativa, (iii) e e o elemento neutro,
(iv) U (G) = G, (v) a f = b d = e, (vi) a d = b c = f,
(vii) a c = b b = d, (viii) c d = a.
Faca a tabua de (G, ) e resolva a equacao: b c x a b = b.

5.2

An
eis

Deni
c
ao 5.9 Sejam A um conjunto n
ao vazio, e ) duas operacoes sobre A. Dizemos que (A, , )) (ou simplesmente A, se as
operacoes estiverem claras no contexto) e um anel se as seguintes
propriedades estiverem satisfeitas:
1. x (y z) = (x y) z, para todos x, y, z A
(associativa).
2. x y = y x, para todos x, y A (comutativa).
3. Existe e A (denotado por 0A ), tal que e x = x e = x
para todo x A (Elemento neutro para ).
4. Para todo x A, existe y A, tal que x y = y x = 0A
(existencia do elemento simetrico, para todo elemento de A). O
elemento y sera denotado por *x. Observe que exige-se U (A) =
A.
5. x)(y z) = (x)y)(x)z) e (y z))x = (y )x)(z )x)
para todos x, y, z A (distributiva de ) em relacao a ).
6. (x)y))z = x)(y)z) x, y, z A (Associativa de )).
Exemplos 5.10 Daremos alguns exemplos, deixando as propriedades para serem vericadas
pelo

 leitor.
a. (Z, +, .) e Mn (Q), +, . sao aneis.
b. Seja A = {f : R R} e denimos (f +g)(x) = f (x)+g(x),

224

Aspectos Formais da Computa


c
ao



(f.g)(x) = f (x)g(x) e (f g)(x) = f g(x) para todas funcoes
f, g A e para todo x A.
Ent
ao (A, +, .) e anel e (A, +, ) nao e anel (de fato, nem
sempre f (g + h) = (f g) + (f h)).
c. Seja A = 2Z := {2q, q Z} = {0, 2, 2, 4, 4, 6, 6, . . .}
ao
com as operacoes usuais de adicao e multiplicacao de Z. Ent
(2Z, +, .) e um anel.
Observe que as operacoes + e sao operacoes sobre 2Z
porque soma e produto de n
umeros pares continuam pares, ou seja,
para todos a, b Z, 2a + 2b = 2(a + b) 2Z e 2a.2b = 2(2ab)
2Z.
d. A = R R = {(a, b) : a, b R} com as operacoes (a, b) +
(c, d) = (a + b, c + d) e (a, b).(c, d) = (ac, bd). Ent
ao (A, +, .) e um
anel.
Agora, enunciaremos algumas propriedades de aneis. A maioria
destas propriedades foram feitas no item anterior e as demonstracoes das propriedades restantes deixamos como exerccios.

Propriedades de An
eis
Seja (A, , )) um anel. Ent
ao
(i) 0A e u
nico.
(ii) Para todo a A, o oposto de a : *a e u
nico.
(iii) Para todos a1 , a2 , . . . , an A, n 2, *(a1 a2
an ) = (*a1 ) (*a2 ) (*an ). Por exemplo, (2 + 3 + 5) =
(2) + (3) + (5) em (Z, +, .).
(iv) Para todo a A, tem-se: *(*a) = a
(v) Para todos a, b A tem-se: (*a))b = a)(*b) = *(a)b).
(vi) R (A) = A, isto e, para todo a A xado e x, y A, se
a x = a y, ent
ao x = y.
(vii) Para todos a, b A, a equacao a x = b tem solucao
u
nica, a saber: x = (*a) b.
Deni
c
ao 5.11 Um anel (A, , )) e dito ser comutativo se para
todos x, y A, x ) y = y ) x. O anel A e dito unit
ario se existe
elemento neutro 1A para a operacao de multiplicacao ), ou seja:
existe 1A A, tal que para todo x A tem-se: x ) 1A = 1A ) x.


An
eis e Algebra
de Boole

225

Observa
c
ao: Geralmente exige-se que 1A = 0A para que n
ao se
ao x = x ) 1A = x ) 0A =
tenha A = {0A } (de fato: se 0A = 1A , ent
x ) (0A * 0A ) = (x ) 0A ) * (x ) 0A ) = x ) 1A * x ) 1A = x * x = 0A .
Justique cada passagem).

Exemplo 5.12 O anel (Z, +, .) e comutativo, pois x.y = y.x para


todos x, y Z e unitario com 1Z = 1 Z; o anel (2Z, +, .) e
comutativo e nao e unitario, pois n
ao existe elemento da forma
2q 2Z, tal que 2q.x = x.2q = x, para todo x 2Z.
O anel das matrizes de ordem n 2 sobre Z (Mn (Z), +, .)
n
ao e comutativo e e unitario com 1M (Z) =matriz identidade.
n

5.2.1

O Anel de Inteiros M
odulo m

Para esta subsecao, e interessante recordar os topicos 2.4 e 4.2


que tratam, respectivamente, de congruencia e relacao de equivalencia. Nestes topicos foram visto que a relacao de congruencia
modulo m (m um inteiro maior que 1) e uma relacao de equivaumeros inteiros,
lencia e, como tal, ela particiona o conjunto Z, dos n
em classes de equivalencia.
O n
umero de classes e
exatamente m, veja Proposicao 4.36. Se a Z, denotamos a classe
de equivalencia determinada por a modulo m por [a] ou por a. Vimos que [a] = {x Z : x a(mod.m)}, e entao [a] e precisamente
o seguinte subconjunto de Z : [a] = {a + qm, q Z}. O subconjunto {a+qm, q Z} e denotado por: a+mZ. Consequentemente,
[a] = a + mZ.

Exemplo 5.13 Para m = 5 e a = 2, temos: (i) [2] = 2 + 5Z =


ao, 2+5Z = {. . . , 13, 8, 3, 2, 7, 12, 17, . . .}.
{2 + 5q, q Z}. Ent
(ii) 5 = 0.
q  ),

De fato, por denicao, 5 + 5Z = {5 + 5q  , q  Z} = {5(1 +


1 + q  Z} = {5q, q = 1 + q  Z} = {0, 5, 10, 15, . . .}.

226

Aspectos Formais da Computa


c
ao

Outro modo de ver que 5 = 0 e observar que 5 0(mod.5).


Pelo Lema 4.31, segue que [5] = [0].
(iii) Vamos descrever todas as classes de equivalencia modulo 5, ou
seja, descrever todos os elementos de Z5 .
Pela Proposicao 4.36, basta considerar os representantes de
classes 0, 1, 2, 3, 4 (os possveis resto da divisao euclidiana de
um n
umero por 5).
0 = 0+5Z = {0, 5, 10, . . .}. Os elementos deste conjunto e so
eles sao os inteiros congruentes a zero modulo 5. E s
o eles sao con1 = 1 + 5Z =
gruentes entre si.
Do mesmo modo
= {1+5q, q Z} = {. . . , 14, 9, 4, 1, 6, 11, 16, . . .}. Pela mesma
razao, 2 = 2 + 5Z = {. . . , 13, 8, 3, 2, 7, 12, 17, . . .},
3 = 3 + 5Z = {. . . , 12, 7, 2, 3, 8, 13, . . .} e
4 = 4 + 5Z = {. . . , 11, 6, 1, 4, 9, 14, 19, . . .}.
Notemos que qualquer n
umero inteiro a, a = 5q + r com q, r

Z e 0 r < 5, ou seja, a r + 5Z com r = 0, 1, 2, 3 ou 4. Logo,


Z5 = {0, 1, 2, 3, 4}.

Podemos representar geometricamente o conjunto Z5 (mais geralmente Zm ) considerando um crculo dividido em 5 (m) partes
iguais. Isto porque, para obter a classe a + 5Z (a + mZ) a partir
de a, basta ir saltando para frente e tambem para tras de 5 em 5
(de m em m) n
umeros no conjunto ordenado Z.
Considerando os 5 (m) vertices no crculo com o 1o vertice no
polo norte, podemos ir enrolando Z no crculo do seguinte modo:
colocamos 0 no polo norte e, percorrendo o sentido hor
ario vamos
colocando 1 no 2o vertice, 2 no 3o vertice, 3 no 4o vertice, assim por
diante. A partir do polo norte, no sentido anti-hor
ario, colocamos 0
no polo norte, -1 no pr
oximo vertice (portanto vai car junto com
4), -2 no pr
oximo vertice (portanto vai car junto com 3), etc. Veja
a gura 5.1.


An
eis e Algebra
de Boole

227

{0,5,-5,10,-10,...}

{...,4,-6,9,-11,14,...}

{3,-2,8,-7,13,-12,...}

{1,-4,6,-9,11,-14,...}

{2,-3,7,-8,12,-13,..}

Figura 5.1: As classes de restos modulo 5


A seguinte proposicao resume algumas propriedades de congruencia e reescreve os Lemas 4.31 e 4.32 para o caso em que a
relacao R e de equivalencia. Ela sera u
til para o que segue.
Proposi
c
ao 5.14 Fixado m Z, m 2, vale:
ao
(a) Para todo a Z, a r(mod m), onde r e o resto da divis
de a por m.
ao equivalentes:
(b) Para quaisquer b, c Z s
(i) c b(mod m), (ii) c b, (iii) b c, (iv) c = b. 
Exemplo. No exemplo anterior todos os n
umeros que estao no
vertice que contem o 1 deixam resto 1 quando divididos por 5. Eles
sao todos congruos modulo 5. Podemos ver que 1 = 4 = 9 =
11 =
Agora vamos denir as operacoes de adicao e multiplicacao sobre o conjunto Zm de modo a torna-lo um anel. Observe que, se
tivermos uma operacao sobre um conjunto n
ao vazio E, nada impede de denirmos a seguinte operacao sobre (E) (conjunto das
partes de E) : A B = {x y, x A, y B}. Como x y E
para todo x A, e y B, vem que A B (E), ou seja, e
de fato uma operacao sobre (E), pois o domnio desta funcao e
(E) (E) e o contradomnio e (E). Como Zm (Z), o que
se faz e usar as operacoes de adicao e multiplicacao denidas sobre
Z para denir as operacoes de adicao e multiplicacao modulo m,
ou sobre Zm .

228

Aspectos Formais da Computa


c
ao

Deni
c
ao 5.15 Fixado m > 1, m Z, e dados a, b Zm , denese adicao e multiplicacao em Zm por:
a b := a + b
e
a ) b := a.b,
para todos a, b Zm .
Observa
c
oes 5.16 (1) Para denir estas duas operacoes, preferimos as notacoes e ) para car claro quais operacoes estamos
denindo, e n
ao haver confusao com o smbolo de adicao usado nas
classes a + mZ. Por exemplo, desde que a = a + mZ e b = b + mZ
poderamos ter escrito:
(a+mZ) + (b+mZ) = (a+b)+mZ e (a+mZ).(b+mZ) = ab+mZ,
em vez da notacao usada anteriormente. Note que [a] [b] =
[a + b] e [a] ) [b] = [a.b] e outra maneira de denotar a adicao e a
multiplicacao, a qual sera descrita simplesmente por [a]+[b] = [a+b]
e por [a].[b] = [ab], respectivamente.
(2) Observe que, para somar as classes a e b, soma-se os representantes a e b em Z, resultando em a + b, e toma-se a classe da
soma obtida, a + b, em Zm . O mesmo vale para a multiplicacao
de classes de equivalencia; multiplica-se os representantes e depois
volta-se para Zm , tomando-se as classes do produto obtido.
Antes de passar a alguns exemplos, veriquemos que estas rela porque,
coes sao de fato operacoes. Porque temos que fazer isto? E
para somar ou multiplicar, usam-se os particulares representantes
das classes de equivalencia e, como as classes de equivalencia podem
ser representadas por varios elementos, esses representantes nao podem inuenciar no resultado nal (soma ou produto). Por exemplo,
em Z4 como 1 = 5 e 2 = 6 (pois 1 5(mod 4) e 2 6(mod 4)),
ent
ao 1 + 2 deve ser igual a 5 + 6. Ou seja, 3 deve ser igual a 11.
Como 3 11(mod 4), pela Proposicao 5.14(b) temos que 3 = 11.
O que, exatamente, estamos fazendo, aqui, e somando particulares subconjuntos de Z, ou seja,


An
eis e Algebra
de Boole

229

{. . . , 7, 3, 1, 5, 9, . . .} + {. . . , 6, 2, 2, 6, 10, . . .} =
= {. . . , 5, 1, 3, 7, 11, . . .}.
O que foi feito no exemplo acima deve valer sempre e nao apenas
para as classes 1 e 2 envolvidas e m = 4, e sim para todas as classes
a, b Zm , onde m > 1 e um inteiro qualquer xado. Em outras
palavras,
Proposi
c
ao 5.17 As operac
oes + e . est
ao bem denidas sobre
Zm , ou seja, dados a = c, b = d Zm , entao a + b = c + d e
a.b = c.d.
Demonstracao: Sejam a, b, c, d Zm com a = c e b = d.
Ent
ao, a c(mod m) e b d(mod m) pela Proposicao 5.14. Por
def

denicao a = qm + c. Ent
ao a + b = a + b = qm + c + b = qm +
c + b = qm + (c + b). Como qm = 0, pois qm 0(mod m) vem que
a+b = c+b. Ou seja, xada a 2a parcela (da soma), podemos trocar
a 1a parcela. Do mesmo modo, prova-se que, xada a 1a parcela
da soma, podemos trocar a 2a parcela. Assim a + b = c + b = c + d.

Do mesmo modo prova-se que a.b = c.d.
Exemplo 5.18 Em Z6 4 + 5 = 9 = 3 (pois 9 3(mod 6).)
Tambem podemos proceder assim: 5 = 1 (pois 5 1(mod 6)),
ent
ao 4 + 5 = 4 + 1 = 4 1 = 3.
Tambem 4.5 = 4.5 = 20 = 2 (pois 20 2 = 3.6 6Z).
Convem fazer as tabuadas de adicao e multiplicacao de Z3 .
J
a vimos que Z3 = {0, 1, 2}.
Por denicao
0 + 0 = 0 + 0 = 0,
e
1 + 0 = 1 + 0 = 1,
2 + 0 = 2,
1+2=2+1=3=0
2+2=2+2=4=1

0+1=1
0 + 2 = 0 + 2 = 2,
1 + 1 = 1 + 1 = 2,
( pela Proposicao 5.14(b)),
( pois 4 1(mod.3).

Observe que a+b = r, onde r e o resto da divisao de a + b por 3.


Os produtos em Z3 cam assim:

Aspectos Formais da Computa


c
ao

230

0.0 = 0.0 = 0,
0.1 = 1.0 = 1.0 = 0,
1.1 = 1.1 = 1,
0.2 = 2.0 = 0.2 = 0,
1.2 = 2.1 = 2.1 = 2, 2.2 = 2.2 = 4 = 1, ( pois 4 1(mod 3)).
Como antes temos, tambem, que a.b = s, onde s e o resto da
divisao de ab por 3. Da temos as tabuas









+
0
1
2

0
0
1
2

1
1
2
0

2
2
0
1



















0
1
2

0
0
0
0

1
0
1
2

2
0
2
1










Observa
c
ao 5.19 De um modo geral, podemos armar que a+b =
r em Zm , onde r e o resto da divisao de a + b por m. Do mesmo
modo a.b = s, onde s e o resto da divisao de ab por m. Procedendo
assim sempre vamos tomar os representantes das classes a + b e a.b
no conjunto {0, 1, 2, . . . , m1}, pois sao estes elementos os possveis
restos da divisao de um n
umero por m.
Teorema 5.20 Para m 2, (Zm , +, .) e um anel comutativo e
unit
ario com U (Zm ) = R (Zm ) = {a Zm tal que mdc(a, m) =
1}.
Demonstracao: (i) - Associativa: Para todo a, b, c Zm , (a +
def

def

assoc. em

def

b) + c == a + b + c == (a + b) + c ===== a + (b + c) = a +
(b + c) = a + (b + c).
(ii) - As propriedades comutativa para a adicao e para a multiplicacao cam como exerccios. Tambem sao simples como (i)
acima, e basta usar as denicoes e as propriedades de Z.
(iii) - 0 Zm e o elemento neutro para a adicao, pois: a + 0 =
a + 0 = a = 0 + a = 0 + a, para todo a Zm .
(iv) - O oposto de um elemento a Zm e o elemento m a, pois
a + m a = a + (m a) = m = 0 = (m a) + a, para todo
a Zm .


An
eis e Algebra
de Boole

231

(v) - A propriedade distributiva tambem ca como exerccio. Basta


usar as denicoes e propriedades de Z.
(vi) - O elemento neutro para a operacao de multiplicacao e 1, pois
a.1 = a.1 = a para todo a Zm . Logo, 1 = 1Z .
m

(vii) - Calculo de U (Zm ).


Mostraremos que U (Zm ) = {a Zm , tal que mdc(a, m) = 1}.
Seja A := {a Zm , tal que mdc(a, m) = 1}. Se a U (Z),
existe b Zm , tal que a.b = 1. Isto signica que ab 1(mod m), ou
seja, existe q Z, tal que ab 1 = qm, ou ainda, ab + (q)m = 1.
Assim, se d = mdc(a, m), ent
ao d divide a e d divide m. Da d divide
ab e d divide (q)m. Conseq
uentemente, d divide 1 = ab + (q)m,
ou seja, d = 1 (pois d 0). Isto mostra que a A.
Reciprocamente, se a A, pela identidade de Bezout existem
r e s em Z, tais que 1 = ra + sm. Considerando esta igualdade em
Zm e tendo em vista que m = 0, temos: 1 = ra + sm = ra + sm =
r.a + s.m = r.a + s.0 = s.a. Assim, a U (Zm ), com (a)1 = s.
Logo, U (Z) = A.
(viii) - Calculo de R (Zm ). Pela propriedade (5) de operacoes,
sabemos que U (Zm ) R (Zm ) e ja sabemos que propriedades
devem ter os elementos de U (Zm ): seus representantes devem ser
primos com m.
Considere ent
ao a Zm , tal que d = mdc(a, m) > 1 e 1 < a
m 1. Ent
ao existem b, c Z, tais que a = bd e m = cd, com 1 <
a, c < m. Da a  R (Zm ), pois a.c = a.c = b.d.c = b.m = 0 = a.0 e
c = 0. Conclusao, se a  U (Zm ), ent
ao a  R (Zm ), o que equivale
ao a U (Zm ). Logo, R (Zm ) U (Zm ).
`a: a R (Zm ), ent
Portanto U (Zm ) = R (Zm ).

Exemplos 5.21 (1) O anel (Z4 , +, .) tem como elemento neutro
para a adicao 0 = 4Z, pois: a + 0 = a para todo a {0, 1, 2, 3}.
Temos que o oposto de 1 Z4 e 3, pois 1 + 3 = 0. Escrevemos
1 = 3.
Do mesmo modo verica-se que 2 = 2, 3 = 1.
O elemento neutro para a operacao de multiplicacao e 1, pois
para todo a em Z4 , a.1 = a.

Aspectos Formais da Computa


c
ao

232

U (Z4 ) = R (Z4 ) = {1, 3} com inversos (1)1 = 1 e (3)1 = 3,


pois: 1.1 = 1 e 3.3 = 9 = 1 Z4 . O elemento 2  U (Z4 ), pois
nao existe x Z4 , tal que 2.x = 1 e tambem nao e um elemento
regular, pois: 2.0 = 2.2 = 0 e, no entanto, 0 = 2.
(2) Em Z5 = {0, 1, 2, 3, 4} temos 0+0 = 0, 1+4 = 0, 2+3 = 0.
Assim 0 = 0, 1 = 4, 2 = 3, 3 = 2, 4 = 1.
O elemento 1 = {..., 9, 4, 1, 6, ...} e o elemento neutro para a
multiplicacao (ele e diferente de 1 em Z4 , por que?)
Como os n
umeros 1,2,3,4 sao todos primos com o n
umero 5,
temos que U (Z5 ) = Z5 \ {0}, com (1)1 = 1, (2)1 = 3 e vice2
2
versa, (4)1 = 4, pois 1 = 1, 2.3 = 3.2 = 1, 4 = 1. Veja isto
nas tabelas a seguir













+
0
1
2
3
4

0
0
1
2
3
4

1
1
2
3
4
0

2
2
3
4
0
1

3
3
4
0
1
2

4
4
0
1
2
3



























0
1
2
3
4

0
0
0
0
0
0

1
0
1
2
3
4

2
0
2
4
1
3

3
0
3
1
4
2

4
0
4
3
2
1














ao sao
Finalmente, reforcamos que as classes a Zm e a Zn n
as mesmas se m = n; nao tem relacao nenhuma uma com a outra,
a nao ser o fato de que tomamos os mesmos representantes para
denota-las. Por exemplo, a classe de 2 modulo 4 n
ao e inversvel
modulo 4, enquanto a classe de 2 modulo 5 j
a o e. Tambem 2 = 2
em Z4 e 2 = 3 em Z5 .
(3) (i) Calcule U (Z15 ) e calcule o inverso de cada elemento de
U (Z15 );

2x + 6y = 5,
(ii) Resolva o sistema
3x + 4y = 0.
Solucao (i) U (Z15 ) = {a Z15 : mdc(a, 15) = 1}. Como
15=3.5, ent
ao a U (Z15 ) se, e somente se, nem 3 nem 5 dividem
a. Logo, a {1, 2, 4, 7, 8, 11, 13, 14}.
Para calcular o inverso de 2, basta achar x, 1 x 14, tal
que 2.x = 1. A solucao e x = 8, pois 2.8 = 16 1(mod.15).


An
eis e Algebra
de Boole

233

De (4)2 = 16 = 1, temos que (4)1 = 4. As classes 7 e 13 sao


inversas uma da outra, pois 7.13 = 1. Finalmente, (14)1 = 14 e
(11)1 = 11.
(ii) Da 2a equacao temos: 4y = 3x = 12x (pois 3 = 12).
Multiplicando por 4 (para isolar y), camos com: y = 48x =
3x (pois 48 3(mod 15)). Substituindo na 1a equacao, temos:
2x + 18x = 5, ou 5x = 5. Como 5 nao admite inverso, nao
podemos isolar x a princpio. Mas da equacao acima, temos que
5x 5(mod 15), ou seja, 5x 5 = 15q para algum q Z. Isto
equivale `a x 1 = 3q para algum q Z, ou seja, x = 3q + 1 Z e
basta tomar 1 x 14. Variando q para obter x neste intervalo,
encontramos as solucoes: (1, 3), (4, 12), (7, 6), (10, 0), (13, 9).

(4) Calcular 4 em Z12 e resolver x2 + 2x + 9 = 0.

a e o n
umero b do anel Zm , tal que b2 = a. Ent
ao
Solucao
2
2
2
calculemos b para todos b Z12 . Como b = (b) qualquer que
seja o elemento b de um anel, e b = m b no anel Zm temos:
2
2
2
2
2
2
0 = 0, 1 = (11)2 = 1, 2 = (10)2 = 4, 3 = 9 = 9, 4 =
2
2
2
2
8 = 4, 5 = 7 = 1, 6 = 0. Logo 4 = 2, 2, 4, 4, ou seja,
2, 10, 4, 8, respectivamente.
Agora x2 + 2x + 9 = 0 podemos escrever (x + 1)2 + 8 = 0, ou
seja, (x + 1)2 = 8 = 4. Portanto x + 1 {2, 4, 8, 10} e o conjunto
solucao e {1, 3, 7, 9}.

Aritm
etica Bin
aria M
odulo 2n
Z

Considere o anel
,
+,

, com cada um de seus elementos re2n Z

5.2.2

presentados por um elemento r, 0 r 2n 1. Por simplicidade


de notacao, denotaremos por Z2n = {0, 1, 2, . . . , 2n 1}.
A representac
ao bin
aria dos elementos de Z2n sao as seguintes
seq
uencias de n dgitos zerosou uns:
0 = 00 000
1 = 00 001
3 = 00 011
4 = 0 0100
6 = 0 0110
7 = 0 0111
2n 1 = 11 11.

2 = 00 010
5 = 0 0101

Aspectos Formais da Computa


c
ao

234

Ent
ao podemos representar todos elementos de Z2n como uma nupla de n
umeros an1 an2 a1 a0 , onde ai e zero ou um para todo
i = 1, 2, . . .. Em particular, 2n 1 e representado na base 2 por
n n
umeros 1; 11 1.
Exemplos 5.22 Os elementos de Z2 tem a seguinte representacao
bin
aria: 0 = 0, 1 = 1. Os elementos de Z4 = {0, 1, 2, 3}, (n = 2)
tem representacoes binarias
0 = 00,

1 = 01,

2 = 10,

3 = 11.

Os elementos de Z8 = {0, 1, . . . , 7}, (n = 3), tem representacao


bin
aria
0 = 000, 1 = 001, 2 = 010, 3 = 011,
4 = 100, 5 = 101, 6 = 110, 7 = 111.
Isto mostra que podemos identicar Z2n com B n , desde
uencia de
identiquemos cada elemento de Z2n com uma seq
e 1s, an1 an2 a1 a0 B n , como descrito anteriormente.
jamos como se traduz as operacoes do anel Z2n quando seus
mentos sao escritos como seq
uencias de zeros e uns.

que
0s
Veele-

Adi
c
ao. Efetuemos a adicao 110 + 011 em Z8 B 3 .
Temos 110 + 011 = 1001 = 1.23 + 0.22 + 0.2 + 1 = 001, pois
3
2 = 0 em Z8 .
Ent
ao, para somar n-uplas em Z2n , somamos normalmente como
se fosse n
umeros inteiros na base 2, depois reduzimos modulo 2n ,
ou seja:
an1 an2 a1 a0 + bn1 bn2 b1 b0 = cn cn1 cn2 c1 c0 =
cn1 cn2 c1 c0 , pois cn 2n = 0 Z2n .
Multiplica
c
ao. Para a multiplicacao de dois elementos a = an1
an2 a1 a0 e b = bn1 bn2 b1 b0 de Z2n procedemos da seguinte
forma: escrevendo a = an1 2n1 + an2 2n2 + + a1 21 + a0 20
e b = bn1 2n1 + bn2 2n2 + + b1 21 + b0 20 obtemos: a.b =
an1 2n1+an2 2n2+ +a1 21+a0 20 bn1 2n1+bn2 2n2+ +


An
eis e Algebra
de Boole

235



b1 21 +b0 20 = an1 .bn1 22n2 + +

ar bs 2n1 + +

s+r=n1

(a1 b0 + a0 b1 )21 + a0 b0 20 .
Como c.2r = 0 em Z2n para c Z e r n, vem que


ar bs 2n1 + + (a1 b0 + a0 b1 )21 + a0 b0 20 .
a.b =
s+r=n1

Logo, podemos escrever a.b como a seguinte n-upla de dgitos uns


e zeros:

a.b =

ar bs . . . (a1 b0 + a0 b1 )a0 b0 .

s+r=n1

Exemplo O produto dos elementos 6 = 110 e 5 = 101 de Z8


B 3 e (110).(101) = (1.22 + 1.2)(1.22 + 0.2 + 1.20 ) e,
usando a propriedade distributiva, encontramos (110).(101) = 1.24 +
1.23 + 1.22 + 1.2 = 111102 . Como 24 + 23 = 0 em Z8 , temos que
(110).(101) = 110 em Z8 .
O seguinte conceito sera u
til para efetuar de um modo bastante
pr
atico a subtracao.
Deni
c
ao 5.23 - Complemento Bin
ario
Dado a B = {0, 1}, denimos a B por:


a =1a=

0
1

se a = 1
se a = 0

e dizemos que o elemento a B e o complemento bin


ario de a B.
Portanto, o complemento bin
ario de a B e o que falta a a para
totalizar 1.
Mais geralmente, o complemento bin
ario de a = an an1
n
a2 a1 B e denido como sendo a n-upla a B n , dada por
a = an an1 a2 a1 .
Por exemplo, (10110) = (1 0 1 1 0 ) = 01001 B 5 .

Aspectos Formais da Computa


c
ao

236

Subtra
c
ao
Subtrair b de a com a, b nZ B n e somar a com o oposto
2 Z
de b, isto e: a b = a + (b). Como vimos anteriormente no anel
Z2n , o oposto de b e 2n b, pois b + (2n b) = 2n = 0 em Z2n .
Isto mostra que b tem a representacao binaria de 2n b. Mas
2n b = (2n 1) b + 1, e como 2n 1 = (10 00)2 (00 01)2
(n 1 zeros), encontramos 2n 1 = 11 12 (n 1s). Assim, se b
tem a representacao (bn bn1 b2 b1 )2 , temos que [(2n 1) b] e
igual a

1
1
1

bn1
bn2
bn
(bn ) (bn1 ) (bn2 )

1
1
b2
b1
(b2 ) (b1 ),

que e igual a bn bn1 b2 b1 . Mais geralmente, temos:


Proposi
c
ao 5.24 Dado b = bn bn1 b2 b1 Z2n B n , o oposto
de b e dado por b + 1 = bn bn1 b2 b1 + 1.
ao,
Demonstracao: Considere b = bn bn1 b2 b1 Z2n . Ent
b = 2n b = [(2n 1) b] + 1 = (bn bn1 b2 b1 )2 + 1. Por

denicao, b = b + 1.
Exemplo 5.25 (i) - Calcule 5 Z8 .
ao, pela proposicao,
Solucao: Temos que n = 3 e 5 = 101. Ent
vem que: 5 = (101) + 1 = 010 + 001 = 011.
(ii) - Calcule 6-5 em Z16 .
Solucao: Temos, neste caso n = 4. Assim representaremos 6 e 5
por suas quadruplas: 6 = 0110, 5 = 0101, da 6 5 = 6 + [5] =
0110 + [(0101) + 1] = 0110 + [(1010) + (0001)] = 0110 + 1011 =
10001 = 0001. Observe que (10000)2 = 16 = 0 em Z16 .
Observa
c
ao 5.26 Se calcularmos a b Z2n usando o complemento binario, n
ao precisaremos usar o processo de emprestar 1
i
reduzindo 2 para uma posicao abaixo ((10)2 .2i1 ), pois na subtracao de (2n 1) b sempre teremos em cada posicoes os coecientes de 2n 1, que sao todos 1 e portanto maiores ou iguais
aos coecientes de b. No caso da representacao decimal, e como se


An
eis e Algebra
de Boole

237

tomassemos sempre, de algum modo, o coeciente 9, que e o maior


dos dgitos decimais.
Por exemplo em Z100 , efetuaremos 55-36, usando esta tecnica
adaptada. Observando que aqui n = 2, pois 100 = 102 e os dgitos
sao todos os dez dgitos 0,1,2,...,9, temos que a representacao dos
n
umeros dados sao os proprios. Calculemos 36 em Z100 usando o
complemento binario: -36=100-36=[(100-1)-36]+1=[99-36]+1. Observe que em 99-36 nao precisaremos completar nenhuma das casas,
pois tanto 3 como 6 sao menores que 9 (o maior dos dgitos). Pelo
metodo comum, teramos de completar a 1a casa, pois 5 < 6.
Continuando, temos: -36=63+1 (=complemento decimal +1)=64.
Da, 55-36=55+64=119=19 em Z100 .
Elementos regulares - Quando n > 1, 2n nao e primo e, portanto, nem todos os elementos de Z2n serao regulares para a multiplicacao. Logo, a lei de cancelamento permanece valida apenas em
casos restritos. Mais precisamente, vimos que:
U (Z2n ) = R (Z2n ) = {a Z, 0 < a < 2n , tal que mdc(a, 2n ) =
1}. Ent
ao, U (Z2n ) = R (Z2n ) = {a Z, 0 < a < 2n , a : mpar}.
Exemplo 5.27 Em B 4 Z16 , temos que 4.12=0, ou seja,
(0100).(1100) = (110000) = (0000) B 4 . Tambem, 4.8 = 0,
pois (0100).(1000) = (0000) em Z16 , ou seja, 4.12 = 4.8, mas
12 = 8 em Z16 .
O Dgito de Sinal
O anel B n tem sido usado para a computacao pratica, apesar
da presenca de divisores de zero (um elemento nao-nulo b Z2n e
dito divisor de zero se existe um elemento nao-nulo a Z2n , tal
que a.b = 0 em Z2n ). Por exemplo: 4 e divisor de zero em Z8 ,
pois 4.2=0 em Z8 ). Um dos motivos que se usa o conjunto B n com
a identicacao B n Z2n e para introduzir o conceito de dgito de
sinal.
A princpio, consideremos Z2n = {0, 1, 2, . . . , 2n 1} com suas
representacoes binarias. Podemos observar que toda a primeira
metade destes n
umeros 0, 1, 2, . . . , 2n1 1 tem dgito inicial zero
na sua representacao binaria: 0 = 00 02 , 1 = 00 . . . 012 , . . . ,

238

Aspectos Formais da Computa


c
ao

2n1 1 = 011 . . . 12 . Os outros representantes 2n1 , 2n1 +


1, . . . , 2n 1 de Z tem, nas suas representacoes binarias, dgito
2Z
inicial 1. Como cada um destes representantes e o oposto de um
dos elementos da primeira metade de Z2n , convencionaremos que
em Z2n um elemento e dito negativo se ele tem dgito inicial 1 na
sua representacao bin
aria.
n1
Observe que 2
= 2n1 , pois 2n1 + 2n1 = 2n = 0 em Z2n ,
n1
ou seja, 2
e igual ao seu oposto. Ent
ao, para evitar qualquer
ambiguidade que possa advir do fato de que 2n1 = 100 02 e
seu oposto, convencionaremos que ele e negativo, j
a que tem dgito
inicial 1.
Para car mais claro, podemos fazer a seguinte representacao
geometrica com estes representantes de Z2n : A princpio tomamos {0, 1, 2, , 2n1 , 2n1 +1, , , 2n 1} como represenoes bin
arias. Depois deslocamos
tantes de Z2n com suas representac
este subconjunto de Z para a esquerda na reta real ate carmos com
o subconjunto de representantes:
Z2n = {2n1 , (2n1 1), , 2, 1, 0, 1, 2, , 2n1 1}.
Assim, 1 = 2n 1 = 11 112 , ou seja, -1 tem a representacao
bin
aria de 2n 1, 2 = 2n 2 = 11 102 , isto e, -2 tem a
representacao binaria de 2n 2, etc.
Exemplo 5.28 (i) Z4 = {0, 1, 2, 3}. Logo, n = 2 e precisamos
de 2 casas para a representacao binaria. Z4 = {2, 1, 0, 1} e a
representacao bin
aria dos elementos sao:
2 = 2
1 = 3
0
1

=
=
=
=

102
112
002
012

(ii) Z8 = {0, 1, 2, 3, 4, 5, 6, 7}. Logo, n = 3 e Z8 B 3 .


Temos que Z8 = {4, 3, 2, 1, 0, 1, 2, 3} e as representacoes
binarias sao:


An
eis e Algebra
de Boole
4
3
2
1

=
=
=
=

4
5
6
7

=
=
=
=

1002
1012
1102
1112

239

0
1
2
3

=
=
=
=

0002
0012
0102
0112

Observe o dgito de sinal 1 quando os representantes dos


o que, neste
elementos de Z2n estao no intervalo [2n1 , 2n 1]. S
caso, considera-se a representacao binaria, tomando-se os representantes com sinais negativos.

Exerccios
(1) Considere as operacoes x y = x + y 1 e x ) y = x + y xy
denidas sobre Q e verique que (Q, , )) e um anel. Quais sao os
elementos neutros 0Q e 1Q ? Verique que a)b = 0Q se, e somente
se, a = 0Q ou b = 0Q . Determine U (Q) e R (Q).
(2) Seja A = {0A , 1A , a} anel unit
ario. Mostre que so existe um
par de tabuas (adicao e multiplicacao) para A. Pergunta: 1+1 = 2?
Por que?
(3) - Faca as tabelas da adicao e da multiplicacao para os conjuntos
Z5 e Z6 .


5x + 2y = 3
3x + 4y = 2
(4)Resolver em Z8 :
em Z6 :
4x + 3y = 1,
4x 2y = 0.

11
+ 2x = 4.
(5) Ache x Z9 , tal que
5
umero b Z, 1 b < m, tal que
(6) (a) Sendo a1 (mod m) o n
2
(mod 15), 41 (mod 41),
ab 1(mod m), ache 71 (mod 11), 24
3
(mod 19).
21 (mod 101), 24

(b) Verique se 7 Z16 e se 7 Z27 .


(c) Resolver em Z5 e em Z8 : 2x2 15x + 5 = 0.
(7)
A = R \ {1} com a operacao x y = x + y xy. Calcule
Seja
8 e
4 se existirem.
(8) Determinar o conjunto dos elementos regulares e o conjunto
dos elementos inversveis de cada um dos seguintes aneis: (a) Z
(b) Q (c) Z Z (d) Z3 (e) Z9 (f ) Z14 (g) Z2 Z3 (h) Z14
(i) Z4 Z6 (j) (Q, , )), onde a b = a + b 1 e a ) b = a + b ab.

240

Aspectos Formais da Computa


c
ao

(9) (a) Determine os elementos inversveis dos aneis: Z14 , Z15 e


Z18 .

5x + 3y = 3,
(b) Resolver em (i) Z14
2x + 11y = 11.


7x + 9y = 5,
5x + 2y = 1,
(ii) Z15
(iii) Z18
5x + 12y = 4.
x + 11y = 7.
x2 + 2x + 1 = 0, onde
(10) (i) Resolver em (Z2 , +, .) :
2x = x + x.

(ii) Para a Z2 , o que


ao posso aplicar o
e a Z2 ? Por que n
b b2 4ac
algoritmo x =
para resolver a equacao acima?
2a
(11) Seja K = {0, 1, a, b} um anel, tal que K e comutativo com
1K = 1 e U (K) = {1, a, b}. Construa as tabuas de adicao e multiplicacao deste anel.


(12) (i) Obtenha as duas solucoes da equacao: 12


3 +3x = 7 em Z5 .

13
2
(ii) Calcule
7 + 2x = 0 em Z9 .
(iii) Qual a representacao ternaria das solucoes em (ii)?
(13) Explique o conceito de dgito de sinal e de um exemplo.
(14) Usando complemento binario, quando for o caso, calcule em
B 5 Z32 (i) 18, -18, -4, -7, (ii) 110112 + (011102 ) + 111112
(iii) (4) (7) (na base 2).
(15) Faca a Aritmetica Ternaria Modulo 3n , ou seja, desenvolva em
Z3n a teoria de adicao modulo 3, complemento ternario e subtracao
em Z3n .

5.3

An
eis Booleanos

Ja vimos que uma terna (A, , .) (ou simplesmente A se as operacoes


e estiverem claras no contexto) e um anel se (A, ) e um
grupo comutativo e a operacao e associativa e e distributiva
em relacao a operacao . Um anel (A, , ) e dito unit
ario
se a operacao admite elemento neutro, ou seja, se existe um
elemento em A (que convem indica-lo por 1A ), tal que, para todo
x A, x 1A = 1A x = x.


An
eis e Algebra
de Boole

241

Deni
c
ao 5.29 Um anel (A, , ) e dito um anel booleano (ou anel
de Boole) se (A, , .) e um anel unitario e idempotente; isto e: 1A
e x A, x2 = x.
Exemplos 5.30 (A) (i) Seja B = {0, 1} com adicao e multiplicacao denidas por

 + 0 1

 0 0 1

 1 1 0









 0 1

 0 0 0

 1 0 1








facil vericar que (B, +, .) e um anel booleano e ca como


E
exerccio. No entanto, observamos que o elemento neutro para a
adicao e 0B = 0 e 0 = 0, 1 = 1. O elemento neutro para a
multiplicacao e 1B = 1 e x2 = x para x = 0, 1.
(ii) Seja B n = B B B, com as operacoes assim denidas:
(a1 , a2 , . . . , an ) (b1 , b2 , . . . , bn ) = (a1 + b1 , a2 + b2 , . . . , an + bn ) e
(a1 , a2 , . . . , an ) (b1 , b2 , . . . , bn ) = (a1 .b1 , a2 .b2 , . . . , an .bn ),
onde as operacoes de adicao e multiplicacao em cada coordenada
sao feitas em B, como denidas em (i).
Fica como exerccio a vericacao de que (B n , , ) e um anel
ao 0B n =
booleano. Em particular, se 0B = 0 e 1B = 1, ent
(0, 0, . . . , 0), 1B n = (1, 1, . . . , 1). Temos ainda o oposto de a =
(a1 , a2 , . . . , an ), denotado por *a, como sendo
(a1 , a2 , . . . , an ).
(B) Seja E um conjunto n
ao vazio qualquer eA = (E),
  com as
operacoes e assim denidas: x y = x y \ x y e
x.y = x y para todos x, y (E), onde e sao as operacoes
de reuniao e interseccao de subconjuntos. (A, , .) e um anel de
Boole.
(i) Ja vimos que vale a propriedade associativa: x (y z) =
(xy)z para todos x, y, z A. Assim, apenas a representaremos
via diagrama de Venn.

Aspectos Formais da Computa


c
ao

242

x+y

y+z

z
x+(y+z)=(x+y)+z

Figura 5.2: Associativa


(ii) x y = x y \ x y = y x \ y x = y x (pois reuni
ao e
interseccao de subconjuntos sao operacoes comutativas).
(iii) O elemento neutro de A para adicao e , pois para todo x
(E), x e = (x ) (x ) = x = x = x.
(iv) O oposto de x A e o proprio x.
De fato, x x = (x x) (x x) = x x = .
(v) Ja sabemos que a operacao de interseccao e associativa.
(vi) A propriedade distributiva:
x.(y z)

 = xy xz se resume aqui
a x (y z \ y z) = (x y) (x z) \ x y z, que pode ser
provada usando diagramas de Venn (ca como exerccio).
(vii) Para todo x A, x2 = x x = x. Logo, (A, , .) e
idempotente.
(viii) O elemento neutro para a operacao de interseccao de subconjuntos e o elemento 1A = E A, pois x E = x, x A.
Logo, A e unitario.
Proposi
c
ao 5.31 Todo anel booleano A e comutativo e *a = a,
para todo a A.


An
eis e Algebra
de Boole

243

Demonstracao: Por hip


otese, ab = (ab)2 = a2 abbab2 .
Como A e idempotente, vem que ab = aabbab. Cancelando
a e b e somando *ab em ambos os membros, obtemos: *ab = ba.
Fazendo b = 1, obtemos a = *a, a A; que e a 2a armacao da
proposicao. Da ab = (*a)b = *ab = ba.

Duas nocoes importantes em um anel booleano sao:
Deni
c
ao 5.32 Dado um anel booleano (A, , ), dene-se o complemento de a A por: a := a 1, e para a, b A dene-se a
uni
ao b e denota-se por a + b o elemento a + b := a b a.b.
Quando A = (U ), estes conceitos coincidem com os conceitos
de complemento e reuniao de subconjuntos no anel booleano
(A, , ). Veja Exerccio (9)(f) do captulo 3.
Dado um anel booleano A, as operacoes uniao e complemento
exibem uma longa lista de propriedades familiares reunidas aqui,
no seguinte teorema.
Teorema 5.33 Em todo anel booleano (A, , ), e para todos a, b,
c A, a operac
ao bin
aria + e a operac
ao un
aria tem as
propriedades:
(a) 0+0 = 0,
0+1 = 1+0 = 1+1 = 1

(b) a + b = b + a

(c) a+(b+c) = (a+b)+c

(d) a (b+c) = a b+a c

(e) a+b c = (a+b)(a+c)

(f ) a + a = a

(g) a + 0 = a

(h) a + 1 = 1

(i) a+a = 1,
(k) (a) = a

a a=0

(j) (a+b) = a b e a b = a+b


(l) a b = a b + a b

Aspectos Formais da Computa


c
ao

244

Demonstracao: Faremos alguns tens e os outros cam como


exerccios.
def
a=a
(a) 1 + 1 == (1 1) 1 1 === 0 1 = 1.
def

comut

(b) a + b == a b a b === b a b a = b + a.
def

(d) ab + ac == ab ac ab ac = ab ac a2 bc pelas propriedades


associativa do anel e comutativa, dada pela Proposicao 5.31. Como
a2 = a, usando tambem a propriedade distributiva, temos: ab +
def
ac = a (b c bc) == a(b + c).
Prop.5.31

(f ) a + a = a a a a ===== a2 = a.
def

def

(j) (a + b) == 1 (a + b) == 1 (a b ab) = (1 a) (1 a)b =



(1 a)(1 b) = ab.

5.4

Algebras
Booleanas

Deni
c
ao 5.34 Um conjunto A, junto com duas operacoes binarias
+ e , e uma
algebra booleana se, e somente se, verica os seguintes
axiomas:
(A.1) (Comutatividade). a, b A, a+b = b+a, ab = ba.
(A.2) (Existencia de elementos neutros). 0A , 1A A, tais
que a + 0A = a e a 1A = a, a A. Em geral, denota-se 0A e
1A apenas por 0 e 1, respectivamente, se o anel A estiver claro no
contexto.
(A.3) (Distributividade). Para todos a, b, c A, (a + b)c =
ac + bc e a + bc = (a + b)(a + c).
(A.4) (Existencia do complemento). Para cada a A, b A,
tal que a + b = 1 e a b = 0. O elemento b sera denotado por a.
Observa
c
ao 5.35 (1) O conjunto de axiomas apresentados na
denicao anterior se deve a Huntington (1904). Entretanto, existem outros conjuntos de axiomas (equivalentes a estes) denidores
de algebra booleana, a saber: os axiomas devido a George Boole
(1854).
(2) O conjunto de axiomas apresentado e independente, isto e,
nao existem axiomas que possam ser derivados dos demais. Tambem
sao consistentes, ou seja, nao podemos derivar um absurdo destes


An
eis e Algebra
de Boole

245

axiomas. Para exemplicar em que consiste um axioma ser dependente dos demais, temos que a comutatividade da adicao e conseq
uencia dos demais axiomas em um anel unitario, pois: para
todos a, b A, tem-se:
(a + b)(1 + 1) = a(1 + 1) + b(1 + 1) = a + a + b + b.
E por outro lado
(a + b)(1 + 1) = (a + b)1 + (a + b)1 = a + b + a + b.
Da, cancelando a `a esquerda e b `a direita, obtemos: a + b = b + a.
Assim, temos um exemplo de um conjunto de axiomas sobre um
conjunto que n
ao e independente.
(3) Em geral, exigimos que 0A e 1A sejam diferentes para que
A seja diferente do anel nulo; A = {0} (Exerccio).
Exemplo 5.36 Sejam U = e A = (U ). Ent
ao (A, , ) e
algebra booleana, onde 0 = e 1 = U, a = U \ a (Prove
estas armacoes usando diagramas de Euler-Venn).
Deni
c
ao 5.37 Dual de uma Proposic
ao
Dada uma proposicao p em uma algebra booleana, a proposicao
dual de p e uma proposicao q obtida de p, trocando + por e viceversa e 1 por 0 e vice-versa, onde eles ocorrerem na proposicao
p.
Exemplo: 0+a = a e a dual de 1a = a. Claro que 1a = a
tambem e a dual de 0 + a = a.
Teorema 5.38 Princpio da Dualidade.
O dual de qualquer teorema numa a
lgebra booleana tambem
e um teorema. Em outras palavras: Toda proposic
ao ou identidade algebrica dual de outra proposic
ao ou identidade algebrica
verdadeira permanece verdadeira.
Alem disso, se um teorema e consequencia de taise tais
proposic
oes, o dual se demonstra do mesmo modo, dualizando cada
passo dado na demonstrac
ao.

Exemplo 5.39 O dual de

a + ab = a e a(a + b) = a.

Para se convencer do teorema, observe a dualidade dos


axiomas denidores de uma algebra booleana.

Aspectos Formais da Computa


c
ao

246

Agora, daremos os principais teoremas de uma algebra booleana. Cada proposicao contera uma proposicao e sua dual com
excecao de uma proposicao que sera sua propria dual. Claro que,
provada uma proposicao, sua dual tambem cara provada devido
ao princpio da Dualidade.
A ttulo de ilustracao da natureza da dualidade, na pr
oxima
proposicao faremos as duas demonstracoes. Deve-se observar que
os passos em cada demonstracao sao duais dos passos da outra
demonstracao e, para cada passo, o mesmo postulado ou teorema
e usado como justicativa.
Proposi
c
ao 5.40 Idempotencia
Para todo elemento a de uma
algebra booleana A, tem-se: a +
a = a e a a = a.
Demonstracao:

a =
=
=
=
=

a+0
a + a.a
(a + a)(a + a)
(a + a).1
a+a

A.2
A.4
A.3
A.4
A.2

a =
=
=
=
=

a.1
a(a + a)
a.a + a.a
a.a + 0
a.a

A.2
A.4
A.3
A.4
A.2


Proposi
c
ao 5.41 Identidades
Para todo a pertencente a A,
Demonstracao:
A.2

a + 1 = 1 e a 0 = 0.
A.3

A.4

A.2

A.4

a + 1 == (a + 1).1 == (a + 1)(a + a) == a + 1.a == a + a == 1. 


Proposi
c
ao 5.42 Absorcao
Para todos a, b A, a + ab = a
Demonstracao:
A.2

A.3

Prop.5.41

a(a + b) = a.
A.3

a + ab == a 1 + ab == a(1 + b) ==== a 1 == a.


An
eis e Algebra
de Boole

247

Proposi
c
ao 5.43 Em qualquer
algebra booleana A, cada uma das
operac
oes bin
arias + e e associativa, isto e, para todos a, b, c
A, tem-se:
(a + b) + c = a + (b + c) e (ab)c = a(bc).
Demonstracao: Usaremos um artifcio antes:
(1)

a + a(bc) = a + (ab)c, pois:


a + a(bc) =
=
=
=

a
a(a + c)
(a + ab)(a + c)
a + (ab)c

Prop.5.42
Prop.5.42
Prop.5.42
A.3

(2) a + a(bc) = a + (ab)c, pois:


a + a(bc) =
=
=
=
=
=
=
=

(a + a)(a + bc)
1.(a + bc)
a + bc
(a + b)(a + c)
[(a + b).1](a + c)
[(a + b)(a + a)](a + c)
[a + (ab)](a + c)
a + (ab)c

distr.
A.4
A.2
distr.
A.2
A.4
distr.
distr.

Agora, multiplicando ambas as equacoes membro a membro,


temos:

[a + a(bc)].[a + a(bc)]
a.a + a(bc)
0 + a(bc)
a(bc)

=
=
=
=

[a + (ab)c].[a + (ab)c]
a.a + (ab)c
distr.
0 + (ab)c
A.4
(ab)c
A.2


Observa
c
ao 5.44 Assim, nao ha ambiguidade ao se escrever abc,
uma vez que (ab)c = a(bc).

Aspectos Formais da Computa


c
ao

248

Proposi
c
ao 5.45 O elemento a associado ao elemento a em uma

algebra booleana A e u
nico.
Demonstracao: Suponhamos que existem b, c A, tais que
a + b = 1, ab = 0 e a + c = 1, a.c = 0. Ent
ao
b = b.1 = b(a + c) = ba + bc = 0 + bc = ac + bc = (a + b)c = 1.c = c.

Corol
ario 5.46 Para todo elemento a de uma
algebra booleana A,
temos (a) = a.
Demonstracao: Basta ver que: a + a = 1 e a a = 0. Logo,
(a) = a, por A.4.

Corol
ario 5.47 Em toda
algebra booleana 0 = 1 e 1 = 0.
Demonstracao: Segue das denicoes. Pela Proposicao 5.45 ha
unicidade.

Proposi
c
ao 5.48 Para todos elementos a, b de uma a
lgebra booleana A, tem-se: ab = a + b e a + b = a b
distr.
Demonstracao: ab + a + b == (a + a + b)(b + a + b) = (1 +
distr.

b)(1 + a) = 1 1 = 1 e ab (a + b) == ab a + ab b = aa b + a bb =
0 b + a 0 = 0 + 0 = 0. Por denicao, ab = a + b e, pelo Teorema
5.38, a proposicao esta provada.


5.4.1

Ordens

O lema seguinte e importante para a denicao de uma relacao de


ordem parcial sobre uma algebra booleana.
Lema 5.49 Em uma
algebra booleana, as proposic
oes abaixo s
ao
equivalentes:
(d) ab = 0.
(a) ab = a (b) a + b = b
(c) a + b = 1
(a)

A.3

Prop.5.41

Demonstracao: (a) (b) a + b = ab + b = (a + 1)b ====


A.2

1.b = b.
(b) (c) a + b = a + (a + b) = (a + a) + b = 1 + b = 1 (Justique!).


An
eis e Algebra
de Boole

249
hip.

(c) (d) ab = ab = a + b = a + b = 1 = 0 (Justique!).


(d)

(d) (a) ab = ab + 0 = ab + ab = a(b + b) = a 1 = a. Isto


conclui a demonstracao.

Deni
c
ao 5.50 Denimos a seguinte relacao sobre uma algebra
booleana A : Para quaisquer dois elementos a, b A, aRb se a
e b satisfazem uma das condicoes (e portanto todas condicoes) do
Lema anterior.
Lema 5.51 A relac
ao R denida acima sobre uma
algebra booleana A e uma relac
ao de ordem.
Demonstracao: Reexiva. Segue-se do Lema 5.49(a) e da
Proposicao 5.40.
Anti-simetrica. Se aRb e bRa pelo Lema 5.49(b), a + b = b e
b + a = a. Pela comutatividade, temos a = b.
ao pelo Lema 5.49(a) temos: ab = a e
Transitiva. Se aRb e bRc, ent
bc = b. Substituindo, em ac vem que: ac = (ab)c = a(bc) = ab = a.
Logo, aRc.

Nota
c
ao 5.52 : Sejam a, b pertencentes a uma algebra booleana
A. Se aRb, denotaremos por a b (que se le:a precede b. Alem
disso, se a = b, denotaremos este fato por a b (a precede
estritamente b).
 
Exemplos 5.53 (1) Considere a algebra booleana ((U ), , ).
Por denicao e Lema 5.49(a), temos que a
b se, e somente se,
a b = a, ou seja, se, e somente se, a b.
(2) Seja A = (B n , +, ) com as operacoes assim denidas:
(a1 , a2 , . . . , an ) + (b1 , b2 , . . . , bn ) = (a1 + b1 , a2 + b2 , . . . , an + bn ),
(a1 , a2 , . . . , an ) (b1 , b2 , . . . , bn ) = (a1 .b1 , a2 .b2 , . . . , an .bn ).
Ent
ao a
b se, e somente se, a b = a, ou seja, se, e
somente se, (a1 .b1 , . . . , an .bn ) = (a1 , . . . , an ) com ai , bi B =
{0, 1}. Como ai .bi = 1 se, e somente se, ai = bi = 1, vem que
a b ai bi B.
Para vericar esta condicao, basta ver se a i-esima coordenada de
b e 1 quando a i-esima coordenada de a e 1.

Aspectos Formais da Computa


c
ao

250

Teorema 5.54 Para todos x, y, z em uma


algebra booleana A,
tem-se:
(a) (i) [x y e x z] = x yz. (ii) [x y, z y] =
x + z y.
(b) (i) x y = x
x, z A.
(c) x

z A.

y + z,
x.

(d)

0x
hip.

(ii) y

x = yz

1, x A.
hip.

Demonstracao: (a)(i) x yz = xy z = xz == x. Por denicao


e Lema 5.49(a), x yz.
Lema5.49

(a)(ii) (x+z)y = xy +zy ==== x+z, o que implica que x+z


(b) Exerccio.
(c) x

y.

Lema5.49(c)

y ==== x + y = 1 [0 = 1 = x + y = (x)y =
Lema5.49(d)

y(x)] ==== y x.
(d) Desde que 0 x = 0 e x.1 = x, pelo Lema 5.49(a) temos que
0 x 1.

Corol
ario 5.55 Para quaisquer x, y em uma
algebra booleana A,
existem sup{x, y}, inf{x, y} e sup{x, y} = x + y, inf{x, y} = x y.
Alem disso, para todos x1 , x2 , . . . , xn A (n 1), temos que
n
n


xi = sup{x1 , x2 , . . . , xn } e
xi = inf{x1 , x2 , . . . , xn }.
i=1

i=1

x por (b)(ii), temos x


x + y.
Demonstracao: Como x
Logo, x + y e um limite superior de {x, y}. Por (a)(ii), segue-se
que x + y = sup{x, y}.
Do mesmo modo por (a)(i) e (b)(ii), prova-se que xy = inf{x, y}.
O resto segue-se por inducao em n.

Nota: Um conjunto parcialmente ordenado U, para o qual
existem inf{x, y} e sup{x, y} para quaisquer x, y U, e dito uma
reticulado. Assim, o Corolario anterior garante que toda algebra
booleana e uma reticulado.
O Teorema de Stone arma que toda algebra de Boole e isomorfa a uma algebra de conjuntos ((U ), , ) para U conveniente.


An
eis e Algebra
de Boole

251

Nossa intencao de agora em diante e provar este Teorema demonstrando que toda algebra de Boole e isomorfa a (B n , +, .)
para algum n 1, n natural. A vers
ao original pode ser vista no
exerccio 10. O teorema sera provado no caso de A ser atomica.
Dizer que duas algebras sao isomorfas signica que existe uma
bijecao entre elas que preserva as estruturas algebricas envolvidas,
no caso: adicao, multiplicacao e complementacao. Isto signica que
a bijecao comuta com as operacoes das algebras.
Deni
c
ao 5.56 Um
atomo em uma algebra booleana A e um elemento a = 0, tal que, para todo b A, 0 b a, ent
ao b = 0 ou
b = a (ou seja: b A \ {0}, ab = 0, ou ab = a). Isto arma que
a e um atomo, se entre 0 e a nao existe elemento.
ao
Proposi
c
ao 5.57 (1) Se a e um
atomo e a x1 + + xn , ent
a xi para algum i.
(2) Se a e um
atomo, ent
ao, para todo b A, a
b ou
(exclusivo) a b.
ao axi = inf{a, xi } = 0, para
Demonstracao: (1) Se a  xi , ent
todo i = 1, 2, . . . , n. Da a = a(x1 + + xn ) = ax1 + + axn =
0 + + 0 = 0, o que e absurdo.
(2) Se a  b, ent
ao ab = 0, pois a e um atomo. Trocando b por
b temos a(b) = 0. Por denicao (item (d)) a b.

Exemplo
 5.58 (1) Para qualquer U = , os atomos de
((U ), , ) sao os conjuntos
arios {x} U ;
  unit
n
(2) Os atomos em (B , , ) sao as n-uplas (x1 , x2 , . . . , xn ) B n
com exatamente um dos xi igual a um.
Deni
c
ao 5.59 Uma algebra booleana A e dita at
omica se, para
todo elemento nao nulo bA, existe um atomo aA que precede b.
Proposi
c
ao 5.60 Toda
algebra booleana nita e at
omica.
Demonstracao: Seja b = 0. Se b n
ao e um atomo, existe
b1 , 0 b1 b e, portanto, b1 = bb1 . Se b1 nao e um atomo,
ent
ao existe b2 , 0 b2 b1 b. Da b2 = b2 b1 = b2 b1 b.
Continuando, encontramos uma cadeia 0 bn b1 b0 = b,
onde n 1 e bk = bk bk1 b1 b, k = 1, . . . , n. Como A e nita,
esta cadeia estaciona em algum n e, neste caso, bn sera um atomo.

252

Aspectos Formais da Computa


c
ao

Para o que segue, A e uma algebra booleana at


omica e S =
{ai , i I} o conjunto dos atomos de A.
Proposi
c
ao 5.61 Para cada x A, seja Tx S o conjunto de

atomos de A abaixo de x, isto e: t Tx t S e t x.



atomos e igual
Ent
ao, x = tTx t e nenhuma outra soma de
a x.
superior de Tx , pelo
Demonstracao: Como x e um limite

Corolario 5.55 segue-se que sup Tx = tTx t x. Se supTx x,
ent
ao x  sup Tx e pelo Lema 5.49(d) xsupTx = 0. Como A e
atomica, existe um atomo a

x.sup Tx = inf{x, sup Tx }. Assim,

Pro5.57(2)

a x e a sup Tx ==== a x e a  sup Tx , ou seja,


ao esta inclu
e absurdo.
a Tx e a n
tTx t, o que
 do na soma
Ent
ao, x = sup Tx = tTx t.

Se existe outra soma de atomos x = uU , U S, ent
ao
existe
t

T
\
U
ou
u

U
\
T.
Da

t
0
0 
0 =


+0 = 0
t0 ( tTx t) = t0 x = t0 ( uU u) = uU t0 u = 0 + 
=
u
(
(pois 0 e o 
nmo de dois

a
tomos
distintos)
ou
u
0
0
uU u) =

u0 x = u0 ( tTx t) = tTx u0 t = 0 + + 0 = 0. Em qualquer
caso temos uma contradicao.

de todos os
Corol
ario 5.62 Sendo S = {ai , i I} o conjunto

atomos de A, tem-se que, para todo x A, x = iI i ai ,


{0, 1}, i = 1 se, e somente se, ai
x. Em
onde
i 
particular, iI ai = 1. Alem disso, esta escritura como soma
de
atomos de A e u
nica.
Demonstracao: Nada a demonstrar, tendo em vista a Proposicao 5.61 e o Teorema 5.54(d).

 
ao 
o conjunto
Exemplo 5.63 Seja (A, +, ) = ((N), , ). Ent
N
}.
Temos
que
1
=
{i} =
de

a
tomos
de
A

e
S
=
{{i},
i

A
iN

{i}
=
N
.
iN

Observe o carater nao nito de .


An
eis e Algebra
de Boole

253

Deni
c
ao 5.64 Sejam (A, , )) e (D, +, .) duas algebras booleanas. Um isomorsmo de A em D e uma aplicacao: : A D
que satisfaz:
(i) e bijetora,
(ii) (xy) = (x) + (y),
(iii) (x ) y) = (x).(y), (iv) (x) = (x) ,
onde x e y  sao os complementos de x e y em A e D, respectivamente.
Neste caso, dizemos que as algebras A e D sao isomorfas e

escrevemos A + D ou A D.
Teorema 5.65 Teorema de Stone (Caso Finito).
Seja (A, , )) uma
algebra de Boole nita. Ent
ao A e isomorfa a
n
(B , +, ), onde n e o n
umero de a
tomos de A.
Demonstracao: Como A e nita o conjunto S de atomos de
A tambem e nito. Seja S = {a1 , . . . , an }. Pelo Corolario 5.62
todo elemento x de A se escreve na forma x = 1 a1 n an .
Denimos : A B n por (x) = (1 , . . . , n ) e mostraremos
que e um isomorsmo de algebras.
Esta funcao e claramente sobrejetora e, devido ao Corolario
5.62, e tambem injetora. Observemos que a2i = ai e ai ) aj = 0 se
i = j. Assim:
x = 1 a1 n an , onde i = 1 + i em B, e, se y =
ao:
1 a1 n an e outro elemento de A, ent
def.
(xy) = ((1 + 1 )a1 (n + n )an ) ==
(1 + 1 , . . . , n + n ) = (1 , 2 , . . . , n ) + (1 , 2 , . . . , n ) em
B n . Logo, (xy) = (x) + (y).
Tambem:

n
n
n


 
 


i ai
j aj =
i j (ai )aj ) =
(x)y) =
i=1

j=1


(i .i )ai = (1 .1 , . . . , n .n ) =

i,j=1

i=1

(1 , . . . , n ).(1 , . . . , n ) = (x).(y),
onde (*) segue da observacao acima. Finalmente
(x) = (1 a1 n an ) = (1 a1 n an ) =
= (1 , . . . , n ) = (1 , . . . , n ) = (x) . Logo, e um isomorsmo

Aspectos Formais da Computa


c
ao

254

de algebras, o que conclui o Teorema.

Agora, o seguinte Corolario e de vericacao simples.


Corol
ario 5.66 Toda
algebra booleana nita tem 2n elementos e,
algebra booleana com
reciprocamente, para cada n N, existe uma

2n elementos, a saber: (B n , +, ).

Exerccios
(1) (a) Verique que os conceitos de uniao de elementos e complemento de elementos em um anel booleano coincidem com os conceitos de uniao de subconjuntos e complementar de subconjuntos
quando o anel booleano e o anel ((U ), , ) do exemplo 5.30(B).
(b) Faca as tabuadas do anel (B, , ), onde B = {0, 1}, e a tabuada
de (B, +). Este anel e booleano?
(2) Faca as tabuas das operacoes da algebra booleana (B, +, ),
onde B = {0, 1}.
(3) Use a Proposicao 5.41 e prove que 0A = 1A se, e somente se,
A = {0}, qualquer que seja a algebra booleana A.
(4) Seja (A, , ) um anel booleano, dena a + b = a b ab.
Mostre que (A, +, ) e uma algebra booleana, onde a = 1 a.
(5) Agora, faca a recproca do exerccio (4), ou seja, a partir de
uma algebra booleana (A, +, ), dena a b = ab + ab e mostre
que (A, , ) e um anel booleano.
Como consequencia dos exerccios 4 e 5 tem-se que algebras e
aneis booleanos estao em correspondencia um a um. Voce consegue provar isto?
(6) (a) Considere o conjunto dos divisores positivos de 30;
D+ (30) = {1, 2, 3, 5, 6, 10, 15, 30}, com as operacoes: a + b =
mmc(a, b) e a b = mdc(a, b). Verique que (D+ (30), +, ) e uma
algebra de Boole e, para a, b D+ (30), a b se, e somente se, a|b.
(b) Considere n( 1) primos distintos 2 a 2; p1 , . . . , pn e a =
p1 p2 pn . Mostre que D+ (a), com as operacoes de mmc e mdc,
e uma algebra booleana.
Sugestao Sejam: b = p1 1 pnn , c = p11 pnn , d = p11 pnn ,
onde i , i , i , B = {0, 1}, i. Para provar, por exemplo, que


An
eis e Algebra
de Boole

255

b + cd = (b + c)(b + d) basta mostrar que mmc(b, mdc(c, d)) =


mdc(mmc(b, c), mmc(b, d)), o que e a mesma coisa que provar
que max{i , min{i , i }} = min{max{i , i }, max{i , i }} =
(i + i ).(i + i ), onde + e . sao as operacoes booleanas da algebra
B = {0, 1}. Agora, estude o caso i i i e os outros 5
casos possveis.
a

 
Prove que b =
= p1 1 p2 2 pnn , onde  = 0 se = 1, e
b
 = 1 se = 0.
(7) (a) Mostre que nao existe algebra booleana com 3 elementos.
(b) Mostre que, se (A, +, ) e uma algebra de Boole nita, ent
ao
|A| = 2.n para algum n 1.
Sugest
ao: Mostre que, se existe x A {0, 1, x1 , y1 , . . . , xn , yn },
ao x = x e x, x  {0, 1, x1 , y1 , . . . ,
(onde n 0 e xi = yi ), ent
xn , yn }.
(c) Como voce prova que |A| = 2n ?
(8) Mostre que, se x + y = 0 (em uma algebra booleana), ent
ao
x = y = 0.
(9) Voce e capaz de dar exemplos de algebras booleanas nao
at
omicas? Quais?
(10) Seja A uma algebra booleana at
omica, com {ai , i I} o
conjunto de atomos de A. Prove
que:
 

(A, +, ) (({ai , i I}), , ), mostrando que a aplicacao:


:

A ({ai , i I})
x (x) = {ai , tal que ai x}

satisfaz as condicoes da Denicao 5.64.


Sugest
ao: Se x = y A, ent
ao xy = 0 ou yx = 0. Agora use
o raciocnio da demonstracao da Proposicao 5.61 para provar que
e injetora. Para a sobrejecao de , considere o Corolario 5.62.
(11) (i) Seja B = {(ai )iN = (a1 , a2 , . . . , an , . . .); ai {0, 1}}.
Dena: (ai )iN (bi )iN = (ai + bi )iN e (ai )iN ) (bi )iN =
(ai .bi )iN .
ao os
Mostre que (B , , )) e uma algebra booleana. Quais s
atomos de A?
(ii) Mostre que a e a sao atomos em uma algebra booleana A se,
e somente se, A = {0, a, a, 1}.

256

Aspectos Formais da Computa


c
ao

(12) Seja A uma algebra booleana at


omica. Mostre que:
(i) Se A e enumeravel, ent
ao o conjunto de atomos de A e enumeravel.
(ii) A recproca e sempre falsa.
(iii) Conclua que n
ao existe algebra booleana at
omica enumeravel.
Sugestao: Teorema de Stone e Exerccio (11).
(13) Fazer as tabuas de adicao e multiplicacao e o diagrama de
Hasse das algebras booleanas (Ai , +, ), i = 1, 2, onde (i) A1 =
{0, a, a, 1},
(ii) A2 = {0, a, b, c, a, b, c, 1}, onde a, b, c sao atomos de A2 .
(iii) Seja x y = xy + xy. Faca as tabuas desta operacao para
denida sobre A1 e A2 .
(14) Seja A o conjunto de proposicoes sobre um conjunto nao
vazio S. Para p, q A, denimos pRq se, e somente se, p e q sao
logicamente equivalentes.
(i) Prove que R e uma relacao de equivalencia sobre A.
cao. Para
(ii) Seja B = A
R o conjunto quociente desta rela
[p], [q] B, denimos [p] [q] = [p q] e [p] [q] = [p q]. Mostre
que (B, , ) e uma algebra booleana onde: [p] = [p], 0B = [F ]
(F uma contradicao), 1 = [V ] (V uma tautologia).
(iii) Seja E a algebra booleana gerada por [p] e [q], [p] =
[q], fazendo uso das operacoes booleanas , e . Mostre que
(E, , ) e uma algebra booleana com 0E = F (contradicao) e 1E =
V (tautologia).
(iv) Mostre que os atomos de E sao [p] [q], [p] [q], [p]
[q], [p] [q] e mostre que E tem 16 elementos.
(v) Mostre que a ordem de E e caracterizada por: [p] [q]
se, e somente se, p = q. Construa o diagrama de Hasse de E.
(vi) Ache todos os elementos especiais de E \ {1}.

5.5

Algebras
das Fun
c
oes Booleanas

Deni
c
ao 5.67 Seja A uma algebra booleana. A
algebra das func
oes booleanas n-arias sobre A e gerada pelas funcoes projecoes Pni : An A, denida por: Pni (x1 , . . . , xn ) = xi , e pelas
funcoes constantes h(x1 , . . . , xn ) = a A, fazendo uso das operacoes


An
eis e Algebra
de Boole

257

booleanas: adicao, multiplicacao e complementacao de funcoes.


Em outras palavras, uma func
ao booleana em n vari
aveis e uma
n
funcao de A em A obtida recursivamente como sendo:
(i) as projecoes Pni e as funcoes constantes h sao funcoes
booleanas,
(ii) Se f e g sao funcoes booleanas, entao f , f g e f +g denidas
por f (X) = f (X), (f g)(X) = f (X)g(X) e (f + g)(X) = f (X) +
g(X), onde X = (x1 , x2 , . . . , xn ), sao funcoes booleanas.
Devido `as leis de DeMorgan (xy = x + y e x + y = x
y), `a absorcao e a outras propriedades de uma algebra booleana,
n
ao ha unicidade na expressao de uma funcao booleana. Por
exemplo, a funcao booleana em duas vari
aveis f (x1 , x2 ) = x1 .x2
tambem e dada por: f (x1 , x2 ) = x1 + x2 . No entanto, existe uma
forma padr
ao, ou canonica, (em realidade duas, devido ao princpio
da dualidade) em que podemos expressar todas funcoes booleanas.
No teorema a seguir, cada funcao booleana se expressa como somas
de monomios f (e)xe11 xenn , onde cada xei i e xi se ei = 1, ou xi se
ei = 0. Como x2i = xi e xi + xi = xi , n
ao ocorrem potencias naturais nem m
ultiplos naturais de xi maiores que xi em cada monomio
das expressoes do teorema a seguir. Antes de enuncia-lo, vejamos
um exemplo.

Exemplo 5.68 (1) Sejam A uma algebra booleana e f : AA


ao f (x, y) e uma funcao booleana,
A dada por f (x, y) = x.y. Ent
pois ela e gerada pelas projecoes P21 (x, y) = x e P22 (x, y) = y,
fazendo uso de complementacao: f (x, y) = P21 (x, y).P22 (x, y).
Alguns valores para f (x, y), sao:
f (0, 0) = 0.0 = 0 = 1, f (0, 1) = 0.1 = 0 = 1.

f (1, 1) = 1.1 = 1 = 0.

(2) Todas funcoes booleanas de uma vari


avel se expressam do
seguinte modo:
f (x) = f (0)x + f (1)x. Por exemplo, se A =
{0, 1, a, a} e g : A A denida por g(x) = a para todo x A.
Ent
ao g(x) = a 1 = a(x + x) = ax + ax.

258

Aspectos Formais da Computa


c
ao

(3) Todas funcoes booleanas de duas vari


aveis se expressam do
seguinte modo: f (x, y) = f (0, 0)xy + f (1, 0)xy + f (0, 1)xy +
f (1, 1)xy. Por exemplo, se h e denida por h(x, y) = x + y, ent
ao
h(x, y) = x.1 + y.1 = x(y + y) + y(x + x) = xy + xy + xy.
Veja que a funcao f (x, y) = x.y do exemplo (1) se escreve
como f (x, y) = x.y = x + y = x.1 + y.1 = x.(y + y) + y.(x + x) =
x.y + xy + xy.

5.5.1

As Formas Can
onicas

Teorema 5.69 Seja A uma


algebra booleana. Ent
ao toda funca
o
booleana f : An A se expressa por:
f (x1 , . . . , xn ) =


eB n

f (e1 , . . . , en )xe11 xenn ,

onde e = (e1 , . . . , en ) e xei i = xi , se ei = 1, e xei i = xi , se ei = 0.



De um modo compacto, podemos escrever: f (x) = eB n f (e)xe .
Demonstracao: (i) n = 1
Neste caso, o teorema diz que f (x) = f (0)x + f (1)x.
Comecemos com as funcoes geradoras.
(a) f : A A, f (x) = a A, x A. Ent
ao f (0) =
f (1) = a e f (1)x + f (0)x = ax + ax = a(x + x) = a 1 = a = f (x).
(b) f : A A, f (x) = x, x A. Ent
ao f (0) = 0 e
f (1) = 1. Assim f (0)x + f (1)x = 0x + 1 x = x = f (x).
Suponhamos, agora, que f, g : A A possam ser expressas
na forma canonica e seja h(x) = f (x). Mostremos que h : A A
se expressa na forma canonica. Pelas leis de DeMorgan e propriedade distributiva, temos:
h(x) = f (x) = f (1)x + f (0)x = (f (1)x).(f (0)x) = (f (1)+x)(f (0)+
x) = f (1) f (0) + f (1)x + f (0)x + xx = f (1) f (0).(x + x) +
f (1)x + f (0)x = f (1).f (0)x + f (1) f (0)x + f (1)x + f (0)x =
f (1)x(f (0)+1)+f (0)x(f (1)+1) = f (1)x+f (0)x = h(1)x+h(0)x.
Se j(x) = f (x)g(x), ent
ao j(x) = (f (0)x + f (1)x)(g(0)x +
g(1)x) = f (0)g(0)x2 + f (1)g(1)x2 + (f (0)g(1)xx + f (1)g(0)xx) =


An
eis e Algebra
de Boole

259

= j(0)x + j(1)x + [f (0)g(1) + f (1)g(0)].0 = j(0)x + j(1)x.


Se k(x) = f (x) + g(x), ent
ao
k(x) = (f (0)x + f (1)x) + (g(0)x + g(1)x) = (f (0) + g(0))x + (f (1) +
g(1))x = k(0)x + k(1)x.
Isto prova que toda funcao booleana f de uma vari
avel sobre A
pode ser expressa na forma: f (x) = f (0)x + f (1)x.
(ii) Suponhamos v
alido para toda funcao Booleana de n 1
vari
aveis sobre A, e seja f : An A uma funcao booleana sobre A. Se nao ocorre xn e xn em f (isto e: f independe de xn e de
xn ), ent
ao o resultado segue da hip
otese de inducao. Se f depende
ao podemos escrever f (x) = f (x1 , . . . , xn ) =
de xn ou de xn , ent
xn g(x1 , . . . , xn1 ) + xn h(x1 , . . . .xn1 ), onde g, h : An1 A
sao funcoes booleanas. Por hip
otese de inducao, temos:


un1
+
g(u)xu1 1 xu2 2 xn1
f (x) = xn
uB n1

+ xn

vn1
h(v)xv11 xv22 xn1
=

vB n1

(u1 ,...,un1 ,1)B n

n1 1
g(u)xu1 1 xn1
xn +

(v1 ,...,vn1 ,0)B n

(e1 ,...,en )B n

pois g(u) = f (u) e


da funcao f .

n1 0
h(v)xv11 xn1
xn =

f (e1 , . . . , en )xe11 xenn ,

h(v) = f (v), uma vez que g e h sao restricoes




Observa
c
ao: A expressao de f no Teorema 5.69 e dita forma
disjuntiva normal e sera vista com mais detalhe, adiante, quando
tambem, trataremos da forma conjuntiva normal de f qualquer que
seja a funcao f : An A.

Aspectos Formais da Computa


c
ao

260

Exemplos 5.70 (1) Seja A = {0, 1, a, a} uma algebra booleana.


Construa a forma can
onica de funcao f : A2 A dada pela
tabela:











x
0
0
1
1

y f (x, y)
0
a
1
0
0
a
1
1












Solucao
Na forma canonica f (x, y) = f (0, 0)x.y + f (1, 0)xy + f (0, 1)xy +
f (1, 1)xy. Substituindo os valores dados, obtemos: f (x, y) = ax.y+
axy + xy.
Observemos que, sendo dados os valores da funcao nos vertices (ou seja: nos pontos (e1 , . . . , en ) de B n An ), a funcao que
se obtem e u
nica. No entanto, se sao dados valores que a funcao
assume em pontos diferentes destes, podem haver varias funcoes
ou, ate mesmo, nenhuma funcao booleana que satisfaca aquelas
condicoes dadas.
A tecnica usada para se determinar tais funcoes, que assumem
valores previamente dados em alguns pontos distintos dos vertices,
e a tecnica do coeciente indeterminado, ou seja: resolve-se um
sistema de m equacoes e n vari
aveis sobre a algebra booleana.
Para a resolucao normalmente se usam as propriedades da algebra
como complementacao, idempotencia, etc. Por exemplo, multiplicando cada equacao por uma vari
avel ou seu complemento, obtemse outras equacoes geralmente mais simples. O seguinte exemplo
ilustra esta tecnica.
(2) De uma funcao booleana, de duas vari
aveis, denida em A2 ,
onde A = {0, a, a, 1}, tal que


An
eis e Algebra
de Boole











x
0
1
a
a

y f (x, y)
a
a
1
1
a
a
1
a

261











Solucao
A forma canonica de f e f (x, y) = f (1, 1)xy + f (1, 0)xy +
f (0, 1)xy + f (0, 0)x.y. Substituindo os valores dados, obtemos as
equacoes:
( )
a = f (0, a) = f (0, 1)a + f (0, 0)a
1 = f (1, 1),
e a = f (a, a) = f (1, 0)a + f (0, 1)a
( )
a = f (0, 1) = f (1, 1)a + f (0, 1)a
( )
Multiplicando ( ) por a, obtemos: a = f (0, 1)a, ou seja: a =
min{f (0, 1), a}. Logo
f (0, 1) = a ou f (0, 1) = 1,

(I)

Veja o exerccio (13)(i) da secao anterior.


Multiplicando a 2a equacao de ( ) por a, obtemos: 0 = f (0, 1)a.
Logo
f (0, 1) = a ou f (0, 1) = 0.
(II)
De (I) e (II) temos uma contradicao. Portanto tal funcao nao
existe.
Observa
c
ao 5.71 Esta funcao nao existe como funcao booleana;
e claro que, como funcao de A A A qualquer, pode existir
ate mesmo varias funcoes que satisfazem as condicoes dadas. Por
exemplo, denindo f (x, y) = 0 para todo (x, y)  {(0, a), (1, 1),
(a, a), (a, 1)}.
Formas Disjuntiva e Conjuntiva Normais
Sabemos pelo Teorema de Stone que uma algebra booleana
nita tem 2n elementos e e isomorfa
a B n, atraves da aplicacao:


n
: A B n , denida por
i=1 i ai = (1 , . . . , n ), onde
ao, considerar funcoes
{a1 , . . . , an } e o conjunto de atomos de A. Ent

262

Aspectos Formais da Computa


c
ao

f : Am A e equivalente a considerar funcoes


f : B mn B n .
Uma funcao f : B mn  B n e da forma
=
f1 (x1 , . . . , xmn ), f2 (x1 , . . . , xmn ), . . . ,
f (x1 , . . . , xmn
)
fn (x1 , . . . , xmn ) . Agora, se f e g sao funcoes de B mn em B n , as
funcoes f.g : B mn B n e f + g : B mn B n denidas por
(f.g)(X) = f (X).g(X) e por (f + g)(X) = f (X) + g(X), onde
X = (x1 , x2 , . . . , xmn ), sao efetuadas coordenada a coordenada.
Ent
ao, para estudar a algebra das funcoes booleanas de Am em
A, essencialmente, basta estudar a algebra das funcoes booleanas
de B k , (k = mn) em B, que sao as funcoes coordenadas tpicas.
Tendo, ainda, que B k pode ser identicado com Z2k como algebra
de Boole, (nao como o anel de restos modulo 2k ), quando se escreve todos os elementos de Z2k = {0, 1, . . . , 2k 1} na base dois,
podemos considerar uma funcao de B k em B como sendo uma
funcao f : Z2k B denida por f (x) = f (a1 , a2 , . . . , an ), onde
x = (a1 a2 ak )2 .
Por exemplo, para k = 4, f (30) = f (14) = f (1, 1, 1, 0), pois
30 14(mod.16) e 14 = (1110)2 .
Deni
c
ao 5.72 As funcoes booleanas pe : B n B dadas por:
pe (X) = xe11 xe22 xenn , onde X = (x1 , . . . , xn ) e e = (e1 en )2
Z2n ,
sao chamadas de func
oes minimais ou polin
oe1
e2
mios minimais, e as funcoes booleanas se (X) = pe (X) = x1 +x2 +
oes maximais ou polin
omios maxi + xenn , sao chamadas de func
n
mais da algebra booleana B . Isto faz sentido pois, em B = {0, 1},
tem-se que pe (X) pi,ei (X) e pi,ei se (X), onde pi,j (X) = xji
para i = 1, . . . , n j = 0, 1.
Adiante veremos que esses polinomios geram, em algum sentido,
todas as funcoes booleanas de B n em B.
Exemplo: Se n = 5, ent
ao p11 = x1 x2 x3 x4 x5 e s11 = x1 +
x2 + x3 + x4 + x5 , pois 11 = (01011)2 .
Exemplo 5.73 Para n = 3 temos as seguintes funcoes minimais e
maximais sobre a algebra B 3 .


An
eis e Algebra
de Boole






















Z8
i
0
1
2
3
4
5
6
7

B3
(e1 e2 e3 )
000
001
010
011
100
101
110
111

263

pi
x1 .x2 .x3
x1 .x2 x3
x1 .x2 .x3
x1 .x2 .x3
x1 .x2 .x3
x1 .x2 .x3
x1 .x2 .x3
x1 .x2 .x3

si
x1 + x2 + x3
x1 + x2 + x3
x1 + x2 + x3
x1 + x2 + x3
x1 + x2 + x3
x1 + x2 + x3
x1 + x2 + x3
x1 + x2 + x3























Lema 5.74 Para todos e = (e1 e2 en )2 , j = (j1 j2 jn )2


{0, 1, . . . , 2n 1}, temos pe (j) = ej e se (j) = ej , onde ej = 1
se e = j e ej = 0 se e = j.
Demonstracao: Temos pe (X) = xe11 xenn . Ent
ao pe (j) =
e1 e2
j1 j2 jnen = 1 se, e somente se, jiei = 1, i se, e somente se, ji =
ei em B = {0, 1} se, e somente se, e = (e1 e2 en ) = (j1 j2 jn ) =
j. Agora, como se (X) = pe (X), vem que se (j) = pe (j) = ej e o
lema esta concludo.

O seguinte teorema da um modelo padr
ao em que se expressam
n
todas funcoes booleanas de B em B.
Teorema 5.75 Todas funco
es booleanas f : B n B podem ser
representadas de modo u
nico em cada uma das formas:
f (X) =

n 1
2


f (e)pe (X)

f (e)pe (X)

eB n

e=0

chamada de forma disjuntiva normal de f e


f (X) =

n 1
2

f (e) + se (X) ,

e=0

chamada de forma conjuntiva normal de f .

264

Aspectos Formais da Computa


c
ao

De um modo grosseiro, podemos dizer que f e uma soma de produtos (de funcoes) e tambem e um produto de somas (de funcoes).
Abreviadamente, f.d.n. e f.c.n. signicar
ao forma disjuntiva
normal e forma conjuntiva normal, respectivamente.
Observemos que, como f (e) e zero ou um, na f.d.n. de f
so guram as funcoes minimais pe (X), para as quais f (e) = 1.
Dualmente cada um dos fatores que aparecem na f.c.n. de f sera
suprimido se f (e) = 1. Isto porque o fator f (e)+se (j) = 1+se (j) =
sup{1, se (j)} = 1 em B = {0, 1}. Antes de demonstrar o teorema,
vamos `a um exemplo.
Exemplo 5.76 Vamos achar a f.d.n. e a f.c.n. da funcao booleana
f : B 3 B dada pela tabela:


3

 Z8
B


 e e1 e2 e3 f (e) 


 0
000
0 

 1
001
1 



010
1 
 2


011
0 
 3


 4
100
0 


 5
101
0 

 6
110
0 

 7
111
1 
A f.d.n. de f e dada por:
f (X) = f (0)p0 (X)+f (1)p1 (X)+f (2)p2 (X)+f (3)p3 (X)+
+f (4)p4 (X) + f (5)p5 (X) + f (6)p6 (X) + f (7)p7 (X)
que, pela observacao acima, nos da f (X) = p1 (X)+p2 (X)+p7 (X).
Pela tabela do exemplo anterior f (X) = x1 .x2 x3 +x1 x2 x3 +x1 x2 x3 .
A f.c.n. de fe dada por: 


f (X)
s0 (X) f (1) +
s1 (X) f (2) +s2 (X) f (3) +
 = f (0) + 

s3 (X) f (4) + s4 (X) f (5) + s5 (X) f (6) + s6 (X) f (7) + s7 (X) .
Novamente, pela observacao acima, temos f (X) = s0 (X) s3 (X)


An
eis e Algebra
de Boole

265

s4 (X) s5 (X) s6 (X), para todo X = (x1 , x2 , x3 ) em B 3 . Pela


tabela do exemplo anterior, temos:
f (X) = (x1 + x2 + x3 )(x1 + x2 + x3 )(x1 + x2 + x3 )(x1 + x2 + x3 )(x1 +
x2 + x3 ), para todo X = (x1 , x2 , x3 ) B 3 .
Demonstracao do Teorema
Pelo Lema 5.74, tem-se que, para todo j B n {0, 1, 2, . . . ,
2n 1} :
n 1
n 1
2
2
f (e)pe (j) =
f (e)ej = f (j).
e=0

2n 1

e=0

Logo, as funcoes e=0 f (e)pe (X) e f (X) denidas sobre B n sao


iguais.
Do mesmo modo, para todo j B n Z2n , temos
n 1
n 1
2



 2
f (e) + se (j) =
f (e) + ej =

 e=0  
 e=0
 

= f (0)+1 f (1)+1 . . . f (j)+1 f (j+1)+1 . . . f (2n 1) + 1 =
1. . . . 1.f (j).1 . . . 1 = f (j). (


Como os valores da funcao eB n f (e) + se (X) coincidem com os
valores de f (X) em cada ponto j B n , essas funcoes sao iguais.
Isto conclui o teorema.

Observe que os ndices i, de pi (X), e j, de sj (X), nas f.d.n. e
f.c.n. de f, respectivamente, sao complementares um do outro.
possvel fazer uma simplicacao nas f.d.n. e f.c.n. de f do
E
seguinte modo: em vez de escrevermos f (X) = pi1 (X) + pi2 (X) +
+ pik (X), na f.d.n. de f e f (X) = sj1 (X).sj2 (X) . . . sjm (X)
na f.c.n. de f , escrevemos simplesmente:


(j1 , j2 , . . . , jm ),
f=
(i1 , i2 , . . . , ik ) e f =
ou seja, trocamos no somatorio (produt
orio) os polin
omios minimais (respectivamente maximais) por seus ndices, ja que ha unicidade de expressao de uma funcao na forma canonica, tanto disjuntiva comoconjuntiva.(Para exemplicar, no exemplo anterior,
temos: f = (1, 2, 7) = (0, 3, 4, 5, 6).

266

Aspectos Formais da Computa


c
ao

Quando f e dada por uma tabela como no exemplo anterior, e


facil achar as formas disjuntiva e conjuntiva normais de f . Para
calcular a f.d.n. de f, basta somar os polinomios minimais pi s,
onde f (i) = 1, e, para calcular a f.c.n. de f, multiplicam-se os
polin
omios maximais sj s, onde f (j) = 0. Agora, se f e dada por
uma expressao, podemos montar uma tabela apresentando f (e)
para e B n e da proceder como no exemplo anterior. Outro
modo e que, fazendo uso das leis de DeMorgan, complementacao
e a distributividade, podemos sempre achar as formas disjuntiva e
conjuntiva normais de f .
Por exemplo, se f : B 3 B e dada por f (x, y, z) = xz + y,
ent
ao:
distr.
y)z + (x + x)y(z + z) == xyz +
f (x, y, z) = x.1.z + 1.y.1 = x(y + 
xy.z + xyz + xyz + xyz + xyz = (2, 3, 4, 6, 7).
Observe a simplicacao feita p6 (X) + p6 (X) = p6 (X).
distr.

Tambem f (x, y, z) = xz + y == (x + y)(z + y) = (x + y +


distr.

0)(0 + y + z) = (x + y + zz)(xx
( + y + z) == (x + y + z)(x + y +
z)(x + y + z)(x + y + z) = (0, 1, 5).
Observe aqui tambem a simplicacao feita s1 (x)2 = s1 (x).
Estas sao as f.d.n. e f.c.n. de f , respectivamente.
Assim, no caso da f.d.n. de f, cuja expressao de f e uma soma,
onde cada parcela e um produto xi1 xi2 xik , na falta de xj e xj na
parcela acima, escrevemos esta parcela na forma xi1 xi2 xik (xj +
xj ) (desde que xj + xj = 1 em B) e aplicamos a lei distributiva
obtendo xi1 xi2 xik xj + xi1 xi2 xik xj ). Do mesmo modo, para
a f.c.n. de f , na falta de xj e xj em cada fator (xi1 + + xik )
do produt
orio, colocamos (xj xj + xi1 + + xik ) e aplicamos a
lei distributiva obtendo (xj + xi1 + + xik )(xj + xi1 + + xik ).
Com isto, as variaveis xj e xj , que nao estavam presentes nesta
parcela (fator), passam a estar presentes. Isto deve ser feito para
cada vari
avel que nao esteja presente em cada uma das parcelas (fatores). Observe ent
ao que cada parcela na f.d.n. (ou fator na f.c.n.)
de f produz duas parcelas (respectivamente dois fatores) com a
vari
avel xj ou xj acrescentadas. Com este processo, as funcoes
minimais (maximais) aparecerao na expressao de f, resultando em


An
eis e Algebra
de Boole

267

suas formas disjuntiva e conjuntiva normais.


Se usarmos apenas os ndices j Z2n B n incompletos, que
corresponde ao produto xi1 xi2 . . . xik , podemos usar um procedimento sobre eles correspondente a esta tecnica: Escreva f como
uma soma, onde cada parcela e um produtos, tendo em vista a
obtencao da f.d.n.. Cada uma destas parcela (que e um produto) e
identicada com uma seq
uencia ordenada de zeros, uns e tracos,
obedecendo a seguinte lei: se xi ocorre no produto considerado,
colocamos 1 na i-esima posicao da seq
uencia ordenada; se ocorre
xi , colocamos zero e, se nao ocorrem xi nem xi , colocamos um
traco, sempre na i-esima posicao.
Depois, todos estes tracos sao substitudos por elementos de B =
{0, 1}, de quantas forem as combinacoes possveis, obtendo-se assim elementos j B n Z2n e tambem o polinomio minimal
correspondente. A soma de todos os pj (X) obtidos em todos os
produtos e a f.d.n. de f.
Exemplo 5.77 Seja f : B 4 B, f (x1 , x2 , x3 , x4 ) = x2 x3 .x4 +
ao podemos fazer a seguinte tabela:
x1 x2 x3 . Ent


 produtos representacao binaria polin
omios minimais 

 x2 .x3 .x4
- 1 0 0
0100=4, 1100=12 

 x1 .x2 .x3
1 1 0 1100=12, 1101=13 
Observe os tracos, na segunda coluna, onde n
ao ocorrem as
vari
aveis x1 e x1 (primeira linha), e o traco onde nao ocorrem as
ao substitudos por 0 e 1
vari
aveis x4 e x4 (segunda linha). Eles s
obtendo, na terceira coluna, os expoentes dos polin
omios minimais
que ocorrerao na f.d.n. da funcao f. Assim, f = (4, 12, 13).

5.5.2

Algebra
das Fun
co
es Booleanas

Seja A uma algebra booleana e denotemos por An (F ) o conjunto de


todas funcoes booleanas f : An A. No incio desta secao, denimos este conjunto como sendo gerado por todas funcoes
constantes e projecoes fazendo uso das operacoes booleanas de
adicao, multiplicacao e complemetacao. Logo, se f, g An (F ),
ent
ao f , f + g, f.g An (F ), onde f (X) = f (X), (f + g)(X) =

268

Aspectos Formais da Computa


c
ao

f (X)+g(X) e (f g)(X) = f (X)g(X). Agora, demonstraremos que


An (F ) com estas operacoes e, ele mesmo, uma algebra booleana.

Proposi
c
ao 5.78 (An (F ), +, ) e uma
algebra booleana.
Demonstracao: Para f, g An (F ), temos:
(f + g)(X) = f (X) + g(X) = g(X) + f (X) = (g + f )(X) e
(f.g)(X) = f (X).g(X) = g(X).f (X) = (g.f )(X).
Em ambos os casos, a primeira igualdade segue da denicao, a
segunda igualdade segue da propriedade comutativa em A e depois
segue de denicao novamente. Logo, f + g = g + f e f.g = g.f
para todas funcoes f, g An (F ).
As funcoes : An A e IA : An A dadas por (X) = 0
e IA (X) = 1, para todo X An , sao os elementos neutros
para as operacoes de adicao e multiplicacao denidas sobre An (F ),
respectivamente. Verique!
Usando o fato de que A e uma algebra booleana, tem-se:



(f + g)h (X) = (f + g)(X).h(X) = f (X) + g(X) .h(X) =
f (X).h(X) + g(X).h(X) = (f.h)(X) + (g.h)(X) = (f.h + g.h)(X).
Assim, (f + g).h = f.h + g.h, f, g, h An (F ). Do mesmo
modo, prova-se que: f + gh = (f + g)(f + h), f, g, h An (F ).


Finalmente, f An (F ), X An , temos: (f + f )(X) =


f (X) + f (X) = 1 = IA (X), e (f f )(X) = f (X)f (X) = 0 = (X).

Logo, f + f = IA e f.f = . Isto conclui a proposicao.

Tendo em vista os exerccios (4) e (5) da secao anterior e denicao 5.32, existe o anel de funcoes booleanas correspondente `a algebra
de funcoes booleanas que sera denotado por (An (F ), , ), como
e de praxe. Tambem e claro que o Teorema 5.33 e satisfeito para
esse particular par de algebra e anel booleanos.
Agora, enumeremos uma lista de propriedades satisfeitas pelo
anel (An (F ), , .) e pela algebra (An (F ), +, ), correspondente
(Seria bom que o leitor as provasse).


An
eis e Algebra
de Boole

269

Propriedades
(a) f g = g f
(b) f (gh) = (f g)h
(c) f (gh) = f.gf.h
(d) f = f
(e) f f =
(f ) f g = f h g = h
(g) f IA = f , f IA = f (h) f g = h f=g*h=gh
(i) (f g) = f g = f g
(j) f + g = f g f.g
(k) f +g = f g f.g =
n
,n
(l)
i=1 fi =
i=1 fi fi .fj = , 1 i < j n.
Deni
c
ao 5.79 Dizemos que as funcoes f e g sao ortogonais se
f.g = , ou equivalentemente, f + g = f g.
Como os polinomios minimais pi , pj sao ortogonais para i = j,
a expressao de uma funcao booleana na forma disjuntiva normal
(Teorema 5.69) tanto pode ser escrita como
f=

n 1
2

2 1
f (i)pi como, f = i=0
f (i)pi ,

i=0

pois pi pj = ij pi . Em outras palavras, a expressao de f na f.d.n.


sobre a algebra booleana e a mesma expressao de f quando se passa
para o anel booleano correspondente.
Mais geralmente, dada uma funcao booleana sobre a algebra
booleana usando as propriedades (j), (k) e (l) acima, que apresentam as relacoes entre + e , podemos expressar f sobre o anel
booleano correspondente. Basta, para isto, colocar f na f.d.n. e trocar a adicao da algebra booleana pela adicao do anel booleano (pois
as funcoes minimais sao ortogonais), observando que a = 1 a.
Reciprocamente, se f e uma funcao booleana cuja expressao envolve as operacoes de um anel booleano, e possvel expressar f
sobre a algebra booleana correspondente.
Por exemplo, se f (x, y, z) = xyz + xyz + x.yz e a expressao de
f sobre A, ent
ao como f esta na f.d.n., temos que f = xyz xyz
x.yz = xy(1 z) (1 x)yz (1 x)(1 y)z. Desenvolvendo e
observando que a a = 0 no anel booleano, tem-se que f (x, y, z) =
z xy xz xyz.

270

Aspectos Formais da Computa


c
ao

Ao todo existem 2n produtos distintos envolvendo as vari


aveis
avel pode ocorrer ou n
ao em um prox1 , x2 , . . . , xn , pois uma vari
duto.
Deni
c
ao 5.80 Sejam l0 (X) = 1 e le (X), e 1 como sendo o proaveis
duto das vari
aveis xi obtido de pe (X) deletando todas as vari
xj , 1 j n. Isto e, se pe (X) = xe11 xe22 xenn , para obter le (X),
e
retiramos de pe (X) o fator xj j se, e somente se, ej = 0.
Exemplo: Para n = 1, temos:
X = (x1 ) e p0 (X) = x, p1 (X) = x. Portanto, l0 (X) =
1, l1 (X) = x.
Para n = 2, temos:
X = (x1 , x2 ), p0 (X) = x1 x2 , p1 (X) = x1 x2 , p2 (X) = x1 x2 ,
p3 (X) = x1 x2 .
Portanto, l0 (X) = 1, l1 (X) = x2 , l2 (X) = x1 , l3 (X) = x1 x2 .
Agora, podemos enunciar a forma normal de f que e uma express
ao can
onica de f sobre o anel booleano A.
Teorema 5.81 F o r m a N o r m a l
Toda func
ao booleana f : An A tem uma express
ao tpica


2n 1
f = i=0
gi li
ou f = eB n ge le
sobre o anel booleano (An , , ), onde gi A.
Demonstracao: Usando a algebra booleana (B n , +, ), escrevemos f na f.d.n. e, como os polin
omios minimais sao ortogonais,
2n 1
f (i)pi . Agora, troquemos xi por
podemos escrever f = i=0
1 xi , i = 1, 2, . . . , n (Ver denicao 5.32 e os exerccios (4) e (5)
da u
ltima secao) onde ele ocorrer e, usando as propriedades do
anel booleano (como no exemplo anterior), obtem-se a expressao
desejada de f.
A unicidade segue-se do fato que existem 2n funcoes polinon
miais le (X) sobre A e, portanto, existem |A|2 expressoes distinn
n
tas 2e=01 ge le sobre o anel A, ou seja, existem precisamente |A|2
funcoes booleanas de n vari
aveis sobre o anel booleano A. No caso
n
2
aveis sobre
em que A = B, existem 2 funcoes booleanas de n vari
A.



An
eis e Algebra
de Boole

271

Deni
c
ao 5.82 Express
ao Par e Express
ao Impar
Dizemos que a funcao booleana f sobre o anel booleano tem express
ao mpar, se na expressao canonica de f = eB n ge le , ocorrer
l0 = 1. Se nao ocorrer l0 = 1 na forma normal de f, dizemos que
f tem express
ao par.
Exemplo: Se a f.d.n. de f for f (x, y) = x.y, ent
ao a forma normal
de f sobre o anel booleano correspondente e f (x, y) = (1 x)(1
y) = 1 x y xy = l0 l2 l1 l3 . Logo f (x, y) tem expressao
mpar.
O leitor poder
a ver, no pr
oximo item, como se constroi o circuito
de uma funcao booleana. O circuito da funcao f dada acima e:

xy

g(x,y)+1=f(x,y)

x
Figura 5.3: Express
ao mpar para f.
onde g(x, y) = x y xy.

5.5.3

Representa
c
ao de Fun
c
oes Booleanas por Circuitos

A algebra booleana tem aplicacoes muito importantes dentro da


teoria de Circuitos (eletronicos, eletromecanicos, etc.) porque elas
descrevem as leis basicas destes circuitos, que sao chamados circuitos booleanos. Exemplos de tais circuitos sao diodos, n
ucleos
magneticos, transistores, varios tipos de bulbos eletr
onicos, chamados tambem de circuitos l
ogicos.
Embora os elementos de um circuito possam ser designados com
uma variedade de caractersticas, concentraremos nossa atencao
em tres tipos de elementos: nas entradas (ou portas) e, ou e
ou-exclusivo.
Elas correspondem, respectivamente, a uma maquina processadora das operacoes booleanas multiplicacao, adicao, e adicao

Aspectos Formais da Computa


c
ao

272

exclusiva (esta u
ltima e denotada por e corresponde `a adicao
do anel booleano correspondente a` algebra booleana em questao,
como visto anteriormente). Para exemplicar um pouco mais a
operacao ou-exclusivo, observe que na tabela de adicao do anel
booleano (B, , ), B = {0, 1}, temos a b = 1 se, e somente
se, a ou (exclusivo) b e 1, a, b B = {0, 1}. Por outro lado,
a + b = 1 se, e somente se, ou a = 1 ou b = 1 (Agora faca as
tabuas e observe).
Assim, para entradas a e b, as sadas a b, a + b e a b
sao simbolizadas respectivamente por:

a+b

a.b,
b

a+b

Figura 5.4: Portas l


ogicas

No campo da engenharia, estes smbolos sao usados para ligacoes


de canais em serie e paralelo, respectivamente. Por exemplo, se
desejamos enviar uma mensagem de uma fonte X a um destino Y,
atraves dos canais A e B, e se denotamos 1 para mensagem recebida
e 0 para mensagem nao recebida, ent
ao a.b e a + b representam
elmente as ligacoes em serie e paralelo dos canais A e B, respectivamente. Algum tipo de interpretacao pode ser dada a ab, desde
que se faca alguma dependencia entre os canais a e b (Tente).
Representamos a maquina processadora da operacao booleana complementacao (ou negacao) acrescentando um crculo cheio
do seguinte modo:
a a
Isto signica que, para entrada a, a maquina processa a informacao e nos da como saida a.
Combinando a complementacao e a multiplicacao, temos os casos a.b e a.b. As maquinas, tais que, para entradas a e b dao como
saidas a.b e a.b, respectivamente, sao representadas por


An
eis e Algebra
de Boole

273

a
a.b

a.b
b

Figura 5.5: Produto e Negacao do Produto.

e as maquinas, tais que, para entradas a, b nos dao como sadas


a + b e a + b sao representadas, respectivamente, por
a

a
a+b

a+b

Figura 5.6: Soma e Negacao da Soma.

Deni
c
ao 5.83 Um circuito booleano e a realizacao de uma funcao
booleana f em n vari
aveis x1 , . . . , xn sobre a algebra booleana
A, ou seja, e um arranjo de sucessivas combinacoes em serie (o que
equivale `a porta e) e em paralelo (o que equivale `a porta ou) e
complementacoes de n entradas x1 , x2 , . . . , xn , de modo que
tenhamos sada f (x1 , . . . , xn ).

Portanto, toda funcao booleana em n vari


aveis sobre A da
origem a um circuito booleano com n entradas e, reciprocamente,
para toda combinacao de smbolos das portas ee oue complementacao sobre n entradas x1 , x2 , . . . , xn , existe uma funcao
booleana em n vari
aveis sobre A associado a ele.

Exemplo 5.84 Os circuitos correspondentes `a f : A3 A,


f (x, y, z) = xy + xz de g : A2 A, g(x, y) = xy + xy + x y
sao, respectivamente:

Aspectos Formais da Computa


c
ao

274

x
y
x

xy

xy

f(x,y,z)

xz

g(x,y)

xy
xy

Figura 5.7: Circuitos das Funcoes f e g.


Deni
c
ao 5.85 Sejam f, g funcoes booleanas em n vari
aveis sobre a algebra booleana A. Dizemos que f e g sao func
oes equivalentes se, a partir da expressao de uma das funcoes, obtem-se
a outra, fazendo uso das operacoes booleanas. Tambem, denimos circuitos equivalentes como sendo circuitos com as mesmas
entradas, cujas sadas sao funcoes booleanas equivalentes.
Por exemplo, a funcao g do exemplo 5.84 e h : A2 A dada
por: h(x, y) = x+y sao equivalentes, pois g(x, y) = xy+xy+x y =
x(y+y)+x y = x.1+x y = x+x y = (x+x)(x+y) = x+y = h(x, y).
Portanto, o circuito da funcao g do exemplo anterior e equivalente
ao circuito

x
x+y=h(x,y)
y
Figura 5.8: Circuito da Funcao h.
que e um circuito mais simples e mais economico.

5.5.4

Simplica
c
ao e Mapas de Veitch-Karnaugh

Utilizando as propriedades de algebra booleanas, podemos simplicar quaisquer funcoes booleanas, ou express
oes booleanas em n
vari
aveis, do mesmo modo que zemos para simplicar proposicoes
compostas. Por exemplo, a expressao booleana P = XY Z +


An
eis e Algebra
de Boole

275

XY Z + XY Z e uma expressao booleana nas vari


aveis X, Y e
Z. Esta expressao pode ser vista como uma funcao de A3 em
A, onde A e uma algebra booleana. No caso em que X, Y e
Z sao proposicoes, temos que P e a proposicao composta P =
(X Y Z) (X Y Z) X (Y Z) .
Deni
c
ao 5.86 Denimos uma f
ormula (booleana) ou express
ao
(booleana), em n indeterminadas 0, 1, X1 , X2 , . . . , Xn , como sendo
qualquer polin
omio nas vari
aveis X1 , X2 , . . . , Xn sobre B = {0, 1}
2
sujeito `a restricao: Xi = Xi e Xi + Xi = Xi , i. Em outras
palavras, uma f
ormula e obtida recursivamente como sendo:
(i) 0, 1, X1 , X2 , . . . , Xn sao formulas,
(ii) Se P e Q sao formulas, ent
ao P , P Q e P +Q sao formulas
e
(iii) Xi2 = Xi , Xi + Xi = Xi .
Quando X1 , X2 , X3 sao, respectivamente, as proposicoes p, q,
e r sobre um conjunto n
ao vazio S, temos que P (p, q, r) = p (q
r) (p q r) e uma proposicao composta sobre S.
Se atribuirmos, independentemente, os valores l
ogicos verdade
ou falso ou, respectivamente, os valores 1 ou 0 `as vari
aveis Xi
em cada formula P, esta formula da origem a uma u
nica funcao
booleana f = fP : B n B, onde f (x1 , x2 , . . . , xn ) B e o
valor logico (zero ou um) da formula P quando se substitui Xi
pelo valor x1 . Obviamente, a expressao da funcao f associada
`a formula P denida acima n
ao e u
nica; por exemplo, se P =
X1 + X2 , devido `as leis de DeMorgan, temos que f e g : B 2 B
dadas por f (x1 , x2 ) = x1 + x2 e g(x1 , x2 ) = x1 .x2 , sao funcoes
iguais e associadas `a formula P.
a origem a uma
Reciprocamente, cada funcao f : B n B d
f
ormula booleana P (X1 , X2 , . . . , Xn ), de modo que, se f, g : B n
B sao funcoes iguais e Q(X1 , X2 , . . . , Xn ) e uma formula associada
`a funcao g ent
ao P e Q sao formulas equivalentes, ou seja, podemos obter uma da outra fazendo uso das propriedades da algebra
booleana.
Circuitos de formulas booleanas se faz do mesmo modo que
se faz circuitos de funcoes booleanas. Por exemplo, o circuito da

Aspectos Formais da Computa


c
ao

276

formula P = XY + X + Y e
X
Y

XY+Y+X

Figura 5.9: Circuito P


Dada uma formula booleana qualquer, usando as propriedades distributiva, associativa, leis de DeMorgan, etc. de uma algebra
booleana e facil expressa-la como uma soma de produtos. Um caso
particular e a sua forma disjuntiva normal. Consideremos uma
formula em n vari
aveis P (X1 , X2 , . . . , Xn ) e, como antes, denotemos X por Xi0 e Xi por Xi1 . Pelo Teorema 5.75, segue-se que
X1a1 X2a2 Xnan (onde ai {0, 1}) e uma parcela da forma disjuntiva normal de P 
se, e somente se, fP (a1 , a2 , . . . , an ) = 1.
De fato, P =
fP (e)X1e1 X2e2 Xnen . Logo,
eB n

fP (a1 , a2 , . . . , an ) = 1 se, e somente se,


eB n

fP (e)ae11 ae22 aenn = 1,

ou seja, existe e = (e1 , e2 , . . . , en ) B n , tal que fP (e) = ae11 ae22 aenn


= 1. Como aei 1 = 1 em B se, e somente se, e1 = ai segue-se que
e = (a1 , a2 , . . . , an ).
Usando este fato, e facil determinar a forma disjuntiva normal
de uma formula P. Para isto, basta considerar a tabela de sua
funcao associada fP e adicionar os termos correspondente a n-upla
(a1 , a2 , . . . , an ), onde fP tem o valor 1. Vejamos um exemplo.
Exemplo 5.87 De as funcoes associadas `as formulas booleanas
(i) P = XY + X + Y, e (ii) Q = XZ + Y Z + XZ e use as
funcoes associadas a elas para dar suas formas disjuntivas normais.
Solucao: As funcoes associadas `as formulas booleanas P e Q
sao, respectivamente: f = fP : B 2 B e g = fQ : B 3 B,
dadas por: f (x, y) = xy + x + y e g(x, y, z) = xz + yz + xz, cujas
tabelas sao:


An
eis e Algebra
de Boole











x
1
1
0
0

y xy xy + y
1 1
1
0 0
0
1 0
1
0 0
0

277
x f (x, y)
0
1
0
0
1
1
1
1












As parcelas que ocorrem na f.d.n. de P sao aquelas do tipo


onde f (a1 , a2 ) = 1. Assim, P = X 1 Y 1 + X 0 Y 1 + X 0 Y 0 =
XY + XY + X Y .

X a1 Y a2 ,

Segue a tabela da funcao g


x
1
1
1
1
0
0
0
0

y
1
1
0
0
1
1
0
0

z xz yz xz + yz
1 1 1
1
0 0 0
1
1 1 0
0
0 0 0
1
1 0 1
1
0 0 0
1
1 0 0
1
0 0 0
1

z xz g(x, y, z)
0 0
1
1 1
1
0 0
0
1 1
1
0 0
1
1 0
1
0 0
1
1 0
1

Pelas mesmas razoes, as parcelas que ocorrem na f.d.n. de Q sao


aquelas do tipo X a1 Y a2 Z a3 , onde g(a1 , a2 , a3 ) = 1. Assim, Q =
X 1Y 1Z 1 + X 1Y 1Z 0 + X 1Y 0Z 0 + X 0Y 1Z 1 + X 0Y 1Z 0 + X 0Y 0Z 1 +
X 0 Y 0 Z 0 , ou seja,
Q = XY Z + XY Z + XY Z + XY Z + XY Z + X Y Z + X Y Z.
Uma simplicac
ao ou minimizac
ao de uma formula booleana e
uma expressao booleana com o mnimo possvel de polin
omios minimais, no caso em que ela esteja escrita como somas de produtos
(e nao necessariamente na forma disjuntiva normal) e que seja equivalente `a formula original. Isto signica que os termos redundantes
da expressao original foram eliminados. Algebricamente, este processo pode ser feito usando as propriedades da algebra booleana.
Um metodo geometrico equivalente sera explorado a seguir usando
mapas ou diagramas de Veitch-Karnaugh (mapas V-K).
Devido `as propriedades de uma algebra booleana, n
ao existe
uma expressao mnima u
nica para uma dada f
ormula booleana. Por

Aspectos Formais da Computa


c
ao

278

exemplo, a lei de DeMorgan nos d


a que X +Y e XY sao expressoes
mnimas, de alguma f
ormula booleana, e sao equivalentes.
Os mapas V-K sao metodos geometricos que servem para minimizar uma expressao booleana que esteja escrita como somas
de produtos. As leis de DeMorgan permitem tomar a expressao
mnima de uma f
ormula como somas de produtos, nao necessariamente na forma disjuntiva normal. Isto implica que o circuito correspondente e mais economico, pois usa o menor n
umero possvel
de portas logicas.
Mapas de Veitch-Karnaugh para 2 Vari
aveis
Temos quatro polinomios minimais nas vari
aveis X, Y, XY,
XY , XY, X Y descritos nas celulas que seguem. Estes polinomios
estao associados `as funcoes minimais xy, xy, xy e `a x. y, conforme a
denicao 5.72. Como cada polin
omio minimal pode ou n
ao ocorrer
em uma dada formula booleana, ent
ao existem 24 = 16 formulas
booleanas em 2 vari
aveis. Logo, existem 16 funcoes f : B B
B; (B = {0, 1}) correspondentes.
Um mapa V-K para duas vari
aveis consiste de quatro celulas
ou retangulos b
asicos que sao os cruzamentos das regioes ou celulas
correspondentes `as literais X, X, Y, Y .
Y

XY

XY

XY

XY

Figura 5.10: Mapas V-K para Duas Vari


aveis
Nestas celulas, coloca-se 1 se ela representa o polinomio minimal que esta presente na formula P escrita como somas de produtos.Celulas Adjacentes sao um par de celulas basicas cujos polinomios minimais diferem exatamente em uma literal (ou seja, tem


An
eis e Algebra
de Boole

279

um lado do ret
angulo b
asico comum). Por exemplo, a celula que
representa XY e adjacente `a celula que representa o polin
omio
minimal XY e tambem e adjacente `a celula que representa o polin
oltimas celulas nao sao adjacentes,
mio minimal X Y . Estas duas u
pois suas celulas nao tem um lado comum, equivalentemente, nao
diferem apenas por uma literal. As literais X, Y, X, Y sao representadas por regioes de duas celulas adjacentes:

Figura 5.11: Celulas Xs e Ys


Exemplos 5.88 (1) A literal X e igual a XY +X Y , pois contem
as regioes basicas de XY e X Y . Algebricamente, Y = XY +
X Y, X = XY + X Y e Y = XY + X Y .
(2) Vamos marcar nos mapas V-K as celulas basicas correspondentes `as expressoes: (A) P (X, Y ) = XY + XY, (B)
Q(X, Y ) = XY + XY, e (C) R(X, Y ) = XY + XY + X Y . A
seguir, se for possvel, simpliquemos.
Solucao:
Y

Figura 5.12: Exemplo A

Aspectos Formais da Computa


c
ao

280
Y

X
X

Figura 5.13: Exemplos B e C


(A) Temos que P (X, Y ) = Y, pois no diagrama V-K para
P (X, Y ), temos a celula Y totalmente marcada. Note, tambem, que
a simplicacao algebrica de P da Y : XY +XY = (X +X)Y = 1.Y
(B) Q(X, Y ) nao admite simplicacao, pois no diagrama V-K
nao existem celulas adjacentes. Logo nao existe nenhuma celula
correspondente a uma literal.
(C) Como R(X, Y ) e composta de duas regioes, as regioes
das literais X e Y , devemos somar estas duas literais para obter:
R(X, Y ) = X + Y .
Algebricamente podemos obter a mesma simplicacao.
Usando a igualdade X Y = X Y +X Y , temos: R(X, Y ) = (XY +
X Y )+(X Y +XY ) = (X +X)Y +X(Y +Y ) = 1.Y +X.1 = X +Y .
Notemos, tambem, que, se nao duplicarmos X Y em R(X, Y ),
temos outra simplicacao desta formula: R(X, Y ) = XY + X(Y +
Y ) = XY + X e e preciso nao esquecer de aplicar a propriedade
distributiva para simplicar mais: XY + X = (X + X)(Y + X) =
1.(Y + X) = Y + X. Assim, temos o circuito

X
X+ Y

Y
Figura 5.14:
que corresponde `a simplicacao de R(X, Y ) e e bem mais simples
e economico que o circuito correspondente a R(X, Y ).


An
eis e Algebra
de Boole

281

X
Y
X
Y
X

XY
XY

R(X,Y)=XY+XY+XY

XY

Y
Figura 5.15:

Finalmente, observemos que, se dois polinomios minimais ocorrem em celulas adjacentes, eles podem ser combinados e, com isto,
uma vari
avel e eliminada da expressao. Por exemplo: XY + XY =
X(Y + Y ) = X.1 = X. Alem disso, se todas as celulas basicas
foram marcadas e porque os quatro polin
omios minimais ocorreram
na expressao booleana. Logo, eles podem ser combinados resultando a expressao booleana 1. De fato, XY + XY + XY + X Y =
X(Y + Y ) + X(Y + Y ) = X.1 + X.1 = X + X = 1.

Mapas de Veitch-Karnaugh para 3 Vari


aveis
Os mapas de V-K para 3 vari
aveis sao retangulos divididos em
8 celulas basicas de modo que a regiao de uma das literais X, Y, Z e
X, Y , Z e metade da regiao total. Alem disso, a regiao da literal X
n
ao cruzaa regiao de seu complemento X, mas cruza com todas
as outras regioes variaveis Y, Y , Z e Z. O mesmo deve ocorrer
com X.
Agora, considerando as regi
oes das variaveis Y e Y , temos que
cada uma delas ocupam a metade da regiao total do retangulo e nao
se cruzam, mas cruzam com todas as outras regioes das variaveis
X, X, Z e Z. As mesmas consideracoes valem para as variaveis Z
e Z. Veja gura.

Aspectos Formais da Computa


c
ao

282

Y
,

Celula X

Celula Y

Celula Y

Celula X

Figura 5.16: Celulas


Celulas adjacentes sao aquelas que representam polinomios minimais que diferem por uma literal. Um modo de fazer o mapa com
estas exigencias, e considerar o cilindro, onde os segmentos AB e
A B  do mapa que segue devem ser colados.
Veja na pr
oxima gura que as regi
oes correspondentes a XY Z
e a XY Z sao adjacentes, pois os termos diferem pelas literais Y
e Y . O mesmo ocorre com as regioes correspondentes a XY Z e
X Y Z. Isto justica porque devemos colar os segmentos AB com
A B  . Veja gura

Y
A
X

YZ

YZ

YZ

YZ

XYZ

XYZ

XYZ

XYZ

XYZ

XYZ

XYZ

XYZ

I
XYZ

A=A

XYZ

Z II

II

B=B

Figura 5.17: Cilindro


Outro modo de visualizar este mapa, e atentar para as regioes
das literais X, X, Y, Y , Z e Z que correspondem a uma regiao de
quatro celulas adjacentes. Assim, temos essas seis regioes, como
mostra a gura 5.16.


An
eis e Algebra
de Boole

283

Se, numa f
ormula booleana, ocorrem polin
omios minimais com
celulas adjacentes, a u
nica literal distinta destas celulas adjacentes
e eliminada na soma. Por exemplo, XY Z + X Y Z = XZ, cuja
regi
ao corresponde `a interseccao das regioes das literais X e Z.

Para visualizar melhor os blocos das celulas adjacentes que


representam os polinomios minimais de uma formula booleana, que
podem ser combinados e simplicados, e costume circular estes blocos, pois estes correspondem a uma boa simplicacao. Note, como
j
a vimos anteriormente, que um polin
omio minimal pode ser usado
mais de uma vez se for necessario. No caso de R(X, Y ), o polin
omio
minimal X Y foi usado duas vezes.

Exemplo. Use mapas V-K para minimizar as expressoes


(a) P = P (X, Y, Z) = XY Z + XY Z + X Y Z + XY Z,
(b) Q = Q(X, Y, Z) = XY Z +XY Z +XY Z +X Y Z +X Y Z
e
(c) R = R(X, Y, Z) = XY Z +XY Z +XY Z +XY Z +XY Z +
X Y Z + X Y Z.
Solucao:
(a) No mapa V-K para P, note as celulas XZ, Y Z e XY Z
envolvidas com elipses que devem ser somadas.

(b) No mapa V-K para Q, ocorre uma regiao de quatro celulas


b
asicas adjacentes referente a Y , e temos duas celulas adjacentes
referentes `a regiao XZ, pois XZ = X Y Z + XY Z. Veja os mapas
a seguir.

Aspectos Formais da Computa


c
ao

284

YZ

YZ

YZ

YZ

YZ

XYZ

YZ

XZ

YZ

YZ

YZ

XZ

Figura 5.18: Mapa V-K para P e Q


(c) No mapa V-K para R, temos tres blocos de quatro retangulos
basicos correspondentes `as regioes de X, Y , e Z. Esta u
ltima denotada no mapa V-K por asteriscos. Logo, R X + Y + Z. Veja
o mapa a seguir.
YZ

X
X

YZ

YZ

YZ

*
*

Figura 5.19: Mapa V-K para R


Note que os blocos de celulas adjacentes dentro de blocos de
quatro celulas nao precisam ser considerados.
Os diagramas de V-K tambem servem para simplicar expressoes
de funcoes, e o tratamento e o mesmo que aquele feito para formulas
booleanas. Por exemplo, consideremos a funcao f : B 3 B dada
pelo diagrama


An
eis e Algebra
de Boole
a
1
1
1
1
0
0
0
0

b
1
1
0
0
1
1
0
0

285

c f (a, b, c)
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0

Como f (1, 1, 1) = 1, o termo abc deve ocorrer na forma disjuntiva normal de f. Como f (1, 0, 1) = 1, o termo abc deve ocorrer
ao (a, b, c) = (1, 0, 1)
na f.d.n. de f, pois, quando a = b = c = 1, ent
e abc = 1.1.1 = 1. De modo analogo, os termos abc devem ocorrer
ao f (a, b, c) =
na f.d.n. de f, pois, quando a = b = c = 1, ent
f (1, 0, 0) = 1 e abc = 1.1.1 = 1. Enm, a forma disjuntiva normal
de f e a soma dos polinomios minimais, onde f tem o valor 1, ou
seja: f (a, b, c) = abc + abc + abc + abc + abc e a formula booleana
correspondente a f e F (X, Y, Z) = XY Z +XY Z +X Y Z +XY Z +
X Y Z.
Teorema 5.89 Seja F (X1 , X2 , . . . , Xn ) uma f
ormula booleana asn
ao a forma disjuntiva
sociada `
a func
ao booleana f : B B. Ent
normal F e dada por 
f (a1 ,a2 ,. . . ,an).X1a1X2a2 Xnan ,
F(X1 ,X2 ,. . . ,Xn) =
(a1 ,...,an )B n

onde f (a1 , a2 , . . . , an ) = 1.
Mapas de Veitch-Karnaugh para 4 Vari
aveis
O processo para obter os mapas V-K para quatro vari
aveis e
o mesmo processo anterior. Por exemplo, as regioes de A e A
tem cada uma delas a metade da regiao total e suas regioes nao se
cruzam, mas cruzam com todas as outras regioes das outras celulas.
Assim por diante.
Eles tem a conguracao que segue, onde so foram indicadas as
celulas basicas da diagonal.

Aspectos Formais da Computa


c
ao

286

C
A

C
B

ABCD
ABCD

ABCD

ABCD
D

Figura 5.20: Mapa V-K para 4 Vari


aveis

Cada uma das dezesseis celulas corresponde a um polin


omio
minimal e e a intersecao de quatro regi
oes A ou A, B ou B, C ou
C e D ou D.
O processo de simplicacao e o mesmo que o anterior, de modo
que, agora, o agrupamento principal e uma oitava que corresponde
a uma das literais A, A, B, B, C, C, D ou D. Depois, seguem as
quadras, cuja simplicacao elimina duas vari
aveis dos polinomios
minimais envolvidos. Depois, seguem os pares de celulas adjacentes, cuja simplicacao elimina uma vari
avel do polin
omio minimal correspondente.
Os polin
omios minimais ja usados em alguns pares, quadras ou
oitavas podem ser repetidos para formar outras combinacoes de
pares, quadras ou oitavas.
Novamente, deve-se identicar os segmentos P Q com P  Q (nesta ordem), pois as quatro celulas da regiao C D sao adjacentes as
quatro celulas da regiao DC : por exemplo, ABC D e ABCD sao
polin
omios minimais de celulas adjacentes. Alem disso, os segmentos P P  e QQ devem ser identicados (nesta ordem), pois as celulas
correspondentes, por exemplo, aos polin
omios minimais A BCD e
ABCD, que estao de lados opostos, sao adjacentes.


An
eis e Algebra
de Boole
C

P
A

287
,
P
B

C
II
ABCD
ABCD

I ABCD

A
ABCD
Q

II

C1

P=P

III

B
,
Q

C1
Torcer

I
III

C2

Q=Q

C2

Figura 5.21: Cilindro Torcido

Com isto, identicando as curvas C1 e C2 preservando a orientacao, obtem-se uma gura dita Toro de genus 1 ( o pneu).

Figura 5.22: Toro de Genus 1.

Exemplo. Dada a funcao f : B 4 B do diagrama que segue, de


uma formula booleana associada a esta funcao. Use mapas V-K,
simplique a f
ormula e de uma expressao para a funcao como soma
de produtos, mais simples possvel.

Aspectos Formais da Computa


c
ao

288

a b c d f (a, b, c, d)
0 0 0 0
0
0 0 0 1
1
0 0 1 0
1
0 0 1 1
1
0 1 0 0
0
0 1 0 1
1
0 1 1 0
0
0 1 1 1
1
1 0 0 0
1
1 0 0 1
1
1 0 1 0
0
1 0 1 1
1
1 1 0 0
1
1 1 0 1
1
1 1 1 0
0
1 1 1 1
1
Solucao: Sabendo-se que o polin
omio minimal Aa B b C c Dd ,
onde f (a, b, c, d) = 1, ocorre na f.d.n. da f
ormula booleana
F (A, B, C, D) associada `a funcao f, temos que F = A B C D +
A B C D+A B C D+A B C D+A B C D+A B C D+
A B C D + A B C D + A B C D + A B C D + A B C D.
Todos estes polinomios minimais estao identicados no mapa
V-K que segue.
C
A
1

C
1
1

1
1

1
1

B
D

Figura 5.23:
Podemos notar que temos a regiao D totalmente preenchida
(uma oitava). As quadras e duplas desta regi
ao nao precisam ser
consideradas (Por que?). Temos a quadra circulada no mapa que


An
eis e Algebra
de Boole

289

d
a a regiao A interseccao C. Logo, e AC, e a dupla circulada no
mapa e a intesecao das regioes A, B e C. Logo, e A B C. Somando
os resultados, temos: F = A B C+AC+D e tambem f (a, b, c, d) =
a b c + ac + d.
Finalmente, tambem usam-se os mapas de V-K para simplicar
expressoes com mais de 4 variaveis, e o processo vai se complicando
mais. Isto pode ser visto em livros sobre Circuitos Logico, quanto
a nos, paremos por aqui.

Exerccios
(1) Construa todas funcoes booleanas binarias sobre A = {0, a,
a, 1} que satisfazem as condicoes dada na tabela:












x
0
1
a
a

y
a
1
a
1

f (x, y)
a
a
0
0












(2) Sendo se (X) = xe11 + + xenn , demonstre que se (j) = ij por


dualidade da demonstracao do Lema 5.74, ou seja: demonstre que
[(se (j) = 0) (jr = er para r = 1, 2, . . . , n)].
(3) Descreva o processo dual do processo realizado na prova do
Teorema 5.75 e do Exemplo 5.77 para determinar os ndices dos
polin
omios maximais de f .
(4) Determine a funcao booleana realizada por cada um dos circuitos:

Aspectos Formais da Computa


c
ao

290
X

Y
X

f(x,y,z)

Z
Y
Z
X
Z
X

g(x,y,z)

Y
Y
Z

Figura 5.24: Exerccio 4.

(5) Determine um circuito equivalente e mais simples (se possvel)


para cada circuito do exerccio anterior.
(6) Dadas g(x) = [(x1 .x2 )(x1 + x2 )] + [x1 .x2 .(x1 + x2 )] sobre a
algebra booleana (B 2 , +, .) e f (x) = x1 + x2 + x3 sobre a algebra
booleana (B 3 , +, .),
(i) De as formas conjuntiva e disjuntiva normais e as formas normais de g e f.
(ii) Construa os circuitos de todas as formas canonicas de g e de
f;
(7) Repita o exerccio anterior para a funcao h(x1 , x2 , x3 , x4 ) =
x1 + x2 x3 + x3 x4 denida sobre B 4 .
(8) (i) Calcule todas as 16 = 22
B;

funcoes booleanas de B 2 em
n

(ii) Mostre que existem precisamente 22


de n vari
aveis sobre B = {0, 1}.

funcoes booleanas

(9) Quais as funcoes booleanas associadas aos circuitos abaixo:


An
eis e Algebra
de Boole

291

X
Y
Z

A(x,y,z)

Y
X
Z

X
Z

X
Y

B(x,y,z,w)

W
W
Y

Figura 5.25: .
(10) Escreva a funcao f (x) = x1 x2 x1 x3 x2 x3 x1 x2 x3 , sobre
a algebra booleana (B 3 (F ), +, ). Observacao: a b = ab + ab.
(11) Ache as f.c.n. e f.d.n. de
(i) f (x) = x1 x2 x3 x4 x1 x2 x3 x4 e
(ii) f (x, y, z) = xz + y.
(12) Obtenha a representacao normal de
(
(i) f (x) = (0, 1, 5, 6), onde x = (x1 , x2 , x3 ) e
(ii) g(x) = x1 x2 + x2 x3 + x1 x3 .
(13) Determine todos os valores de (x
1 , x2 , x3 , x4 ) que satisfacam
(x1 x2 + x3 )x4 = 1
(x1 x2 + x3 )x4 = 1
e (ii)
(i)
(x1 + x4 + x2 )x3 = 0
(x2 x4 + x1 .x3 )x4 = 0.
(14) Obtenha circuitos mais economicos de cada item do
exerccio 6.
(15) Construa um circuito correspondente a` funcao f (x1 , x2 , x3 ) =
x1 x2 + x2 (x1 + x3 ).
(16) Considere a algebra booleana A = {0, a, a, b, b, c, c, 1}

292

Aspectos Formais da Computa


c
ao

(a) Faca o diagrama de Hasse para A.


(b) Quantos atomos A possui? Quais?
(c) Determine a + b, a + c, b + c.
(d) Calcule uma funcao (se existir alguma) f : A2 A que
satisfaca f (1, 1) = a, f (1, c) = c, f (0, 0) = a, f (a, b) = c.
(17) Ha cinco livros em uma estante v, w, x, y e z. Voce deve
selecionar alguns livros de modo a satisfazer todas as condicoes a
seguir:
(i) Selecionar v ou w ou ambos;
(ii) Selecionar x ou z, mas nao ambos;
(iii) Selecionar v e z juntos ou nenhum dos dois;
(iv) Se selecionar y, tambem deve selecionar z;
(v) Se selecionar w, tambem deve selecionar v e y.
Pede-se:
(a) Coloque esta situacao como uma expressao usando os
smbolos logicos,
(b) Simplique a express
ao obtida,
(c) A partir de (b), de um outro conjunto (menor em n
umero)
de condicoes equivalentes `as 5 condicoes dadas.
(19) Considere as vari
aveis x1 , x2 , x3 . Faca o diagrama de Hasse
correspondente ao conjunto {0, 1, x1 + x2 + x3 , x1 , x2 , x3 , x1 x2 x3 ,
x1 x2 , x2 + x3 , x1 x3 , x1 + x2 , x2 x3 , x1 + x3 }.

Captulo 6

NOC
OES
DE COMPUTABILIDADE

6.1

Enumerabilidade e Cardinalidade

natural indagar se dois conjuntos tem ou nao o mesmo n


E
umero
de elementos. Para conjuntos nitos, a resposta pode ser obtida
contando os elementos de cada conjunto. Ja no caso innito, a
resposta vai depender de como se dene que dois conjuntos tem o
mesmo n
umero de elementos. Antigamente se pensava que todos
os conjuntos innitos tinham o mesmo n
umero de elementos. A
seguinte denicao, que e a mais natural, e que revolucionou a teoria
dos conjuntos, e devida ao matematico alemao Georg Cantor (18451918).
Deni
c
ao 6.1 Dois conjuntos A e B sao ditos equivalentes ou
equipotentes (mesma potencia) e denota-se por A B, se existe
uma funcao bijetora de A em B. Neste caso, tambem se diz que
A e B tem o mesmo n
umero cardinal, ou a mesma cardinalidade.
A cardinalidade de A e denotada por |A|, ou por (A). A cardinalidade dos n
umeros naturais e denotada por Aleph Zero. Em
smbolos |N| = 0 .
Exemplo 6.2 (a) {0, 1, 5} {a, b, }, pois f (0) = b, f (1) =
a, e f (5) = e uma bijecao entre os dois conjuntos dados, e
|{0, 1, 5}| = 3 = |{a, b, }|.
(b) N = {1, 2, 3, 4, . . .} P = {0, 2, 4, . . .}, pois f (x) =
2(x 1) e uma bijecao de N em P. Logo (P ) = 0

294

Aspectos Formais da Computa


c
ao

(c) A = {0, 1} nao e equipotente a B = {0, 2, 6}, pois nao


existe funcao bijetora de A em B.
umeros cardinais.
(d) 0, 1, 5, 34, 80, 0 sao n
Lema 6.3 A relacao de equipotencia denida acima, sobre as partes
de um conjunto universo U, e de equivalencia.
Demonstracao: Basta ver que para A, B e C U, idA : A A
e uma funcao bijetora e, se f : A B, g : B C sao funcoes
bijetoras, ent
ao f 1 : B A e g f : A C sao bijetoras. 

6.1.1

Aleph Zero e Conjuntos Cont


aveis

Deni
c
ao 6.4 Seja In = {1, 2, . . . , n}, n > 0. Um conjunto A e
dito nito se ele e vazio ou existe uma funcao bijetora f : In A,
para algum n > 0 em N. Denotando f (i) por ai , tem-se que A =
{a1 , a2 , . . . , an }. Caso contrario, A e dito innito.
Deni
c
ao 6.5 Um conjunto A e dito enumer
avel se A e equipotente a N, ou seja, se existe uma funcao bijetora f : N A; f (i) =
ao para A.
ai . Neste caso, a funcao f e dita uma enumerac
Um conjunto e dito cont
avel se ele e nito ou enumer
avel.
Exemplo 6.6 (1) N e enumeravel, pois a funcao identidade de
N, IdN : N N, IdN (i) = i, enumera N.
(2) P = {0, 2, 4, . . .} N e enumeravel, pois f : N P, dada
por f (i) = 2i, e uma bijecao.
(3) O conjunto dos n
umeros inteiros Z e enumeravel, pois:

n
se n : e par
2,
f : N Z, dada por f (n) =
n+1
2 , se n : e mpar
e bijetora. (Prove!).
(4) A = {0, 1, 1/2, 1/3, . . .} e enumeravel, pois: f : N A
dada por: f (0) = 0, e f (i) = 1/i , i = 0, e uma funcao bijetora.
(5) Se A e enumeravel, ent
ao A {b} = {(a, b); a A} e
enumeravel. De fato, por hip
otese existe : N A: bijetora. Da
f : N A {b}, f (n) = ((n), b) e uma enumeracao de A {b}.

No
c
oes de Computabilidade

295

(6) 0, 1, 2, 4, 3, 5, 6, 8, 10, 7, 9, 11, 12, 14, 16, 18, . . . e uma enumeracao de N, pois ha uma lei de formacao para esta reenumeracao
dos n
umeros naturais: em ordem crescente vamos colocando o
primeiro n
umero natural par, depois o primeiro n
umero natural
mpar, segue-se os dois proximos pares e os dois proximos mpares,
depois tres n
umeros pares e tres n
umeros mpares, assim por diante, sempre em ordem crescente. Com esta lei de formacao, sabemos que posicao ocupa qualquer n
umero natural n dado. Por
exemplo o n
umero 7 ocupa a decima posicao. Agora, a seq
uencia
0, 2, 4, 6, 8, . . . , 1, 3, 5, 7, 9, . . . de todos os n
umeros naturais nao e
uma enumeracao de N, pois 1 aparece na posicao innita.
Teorema 6.7 Todo conjunto innito A contem um subconjunto
enumer
avel.
Demonstracao: Tome f : (A) A uma funcao escolha
(veja cap.4 4.6 (B)) e considere a seq
uencia a1 = f (A), a2 =
f (A \ {a1 }), . . . , an = f (A \ {a1 , . . . , an1 }). Como A e innito,
ao e vazio, para qualquer n N.
o conjunto A \ {a1 , . . . , an } n
Por construcao de f, tem-se que ai = aj , para i = j. Assim
D = {a1 , a2 , . . . , an , . . .} e enumeravel.

Teorema 6.8 Todo subconjunto de um conjunto enumer
avel ou
cont
avel e contavel.
Demonstracao: Seja A enumeravel, A = {a1 , a2 , . . . , an , . . .} e
B A. Se B e nito, ent
ao B e contavel. Se B nao e nito, seja
an1 o primeiro elemento da enumeracao acima que aparece em B.
Seja an2 o primeiro elemento da enumeracao de A, que aparece em
B \ {an1 }. Continuando com este procedimento, obteremos uma
seq
uencia an1 , an2 , . . . contida em A e que acaba por dar uma enumeracao de B. No caso de A ser nito, obrigatoriamente B e nito.
Logo cont
avel.

Exemplo 6.9 O conjunto dos n
umeros primos naturais e enumeravel, pois este conjunto e innito e N e enumeravel.
Proposi
c
ao 6.10 Um conjunto A e innito se, e somente se, existe
um subconjunto pr
oprio de A equipotente a A.

Aspectos Formais da Computa


c
ao

296

Demonstracao: (=)
Se A e innito, pelo Teorema 6.7
existe um subconjunto de A enumeravel, digamos S =
{a1 , a2 , a3 , . . .}.

Tome B = A{a1 }, e f : A B, f (x) =

x,
se x A \ S
ai+1 , se x = ai S.

A funcao f e bijetora.
(=) Reciprocamente, se existe uma funcao bijetora f : A
B, onde B e uma parte propria de A, ent
ao pelo Princpio da Casa
do Pombo A e innito.

Teorema 6.11 Sejam {Ai }iI , I N uma famlia cont
 avel de
conjuntos dois a dois disjuntos e cont
aveis. Ent
ao A = iI Ai e
cont
avel.
Demonstracao: Tal ordenacao (se A e nito) ou enumeracao
(caso contrario) de A pode ser obtida por um passeio de Cantor.
Para isto, seja Ai = {ai1 , ai2 , ai3 , . . .} uma enumeracao de Ai se Ai
e innito, e uma ordenacao, caso Ai e nito. Considere o passeio
de Cantor sobre a matriz
1

A1

a 11
2

12

A2

A3

A4

21

22

31

a13

32

a
a

23

33

10

14

24

42

a43

15

25

a 34

a35

a44

41

45

Figura 6.1: Passeio de Cantor.


Assim temos a ordenacao
a11 , a21 , a12 , a13 , a22 , a31 , . . .

ou

enumeracao

de

:


No
c
oes de Computabilidade

297

Corol
ario 6.12 N N e enumeravel.
Demonstracao: Tome as famlias Ai = {(i, n), n N} no Teorema anterior.


Corol
ario 6.13 O conjunto de todas as seq
uencias nitas de um
conjunto A cont
avel nao vazio e enumeravel.
Demonstracao: Note que o conjunto de todas seq
uencias nitas
sobre A e innito, mesmo que A seja nito. Se A = {a}, ent
ao
o conjunto citado e {a, aa, aaa, . . .}. Logo, se A nao e unitario,
mas e nito, podemos ordenar seus elementos e, se A e innito,
podemos enumerar seus elementos. Entao podemos descrever A =
{a1 , a2 , a3 , . . .}.
Para enumerar ou ordenar AA, tome as famlias Ai = {(ai , an ),
an A} no Teorema acima. Um passeio de Cantor enumera ou
ordena (n
ao de modo u
nico) S = A A, do seguinte modo:
1

( a1 , a1 )
2

( a 2, a1)
6

( a3, a1)
7

( a , a 1)
4

10

( a 1, a2)
5

( a1 , a3 ) ( a1, a4)
9

( a 1, a5 )

( a2, a3 )

( a2 , a4 )

( a 2, a5 )

( a3, a2)

( a3 , a3)

( a 3, a4)

( a3, a5 )

( a4, a2)

( a4, a 3)

( a4, a4 ) ( a , a5)
4

( a2, a2 )
8

Figura 6.2: Segundo Passeio de Cantor.


E com isto temos a enumeracao de todas as seq
uencias nitas
de comprimento dois: (a1 , a1 ), (a2 , a1 ), (a1 , a2 ), (a1 , a3 ), (a2 , a2 ),
(a3 , a1 ), (a4 , a1 ), (a3 , a2 ), . . .
Para enumerar (ou ordenar) as seq
uencias nitas de comprimento tres, ou seja, os elementos de A A A = A S, faca
Bi = {(ai , sj ), sj S} no Teorema anterior. Isto e possvel, pois,
S j
a esta enumerado pelo passeio de Cantor anterior. Assim:

Aspectos Formais da Computa


c
ao

298

B1 : (a1 , a1 , a1 ) (a1 , a2 , a1 ) (a1 , a1 , a2 ) (a1 , a1 , a3 )


B2 : (a2 , a1 , a1 ) (a2 , a2 , a1 ) (a2 , a1 , a2 ) (a2 , a1 , a3 )
B3 : (a3 , a1 , a1 ) (a3 , a2 , a1 ) (a3 , a1 , a2 ) (a3 , a1 , a3 )
B4 : (a4 , a1 , a1 ) (a4 , a2 , a1 ) (a4 , a1 , a2 ) (a4 , a1 , a3 )

Agora um passeio de Cantor sobre esta tabela enumera A


A A, ou seja, as seq
uencias de comprimento 3.
Prosseguindo assim, enumeramos o conjunto das seq
uencias de
qualquer comprimento xado. Da, um passeio de Cantor sobre a
tabela

A:
AA:

a1

a2

a3

a4

(a1 , a1 )

(a2 , a1 )

(a1 , a2 )

(a1 , a3 )

AAA : (a1 ,a1 ,a1) (a2 ,a1 ,a1) (a1 ,a2 ,a1) (a1 ,a1 ,a2)
..
..
..
..
..
..
.
.
.
.
.
.
obtem-se a conclusao desejada.

Como conseq
uencia deste Corolario, temos que o conjunto das
seq
uencias nitas de um conjunto enumer
avel e enumeravel; mas
um fato surpreendente do conceito de enumeracao e que o dual
desta proposicao e falsa, ou seja,
Proposi
c
ao 6.14 O conjunto das seq
uencias enumeraveis (ou innitas) de elementos de um conjunto nito L (com pelo menos 2
elementos) nao e enumeravel.

No
c
oes de Computabilidade

299

O metodo da prova desta proposicao, chamado metodo diagonal de Cantor esta na raiz de muitos paradoxos e tem papel central
em todo o conhecimento matematico: o argumento do metodo diagonal prova que existem funcoes que nao sao computaveis, que
existem conjuntos recursivamente enumeraveis que nao sao recursivos e, nalmente, alcanca o seu apogeu no teorema de Godel
acerca da incompletude da aritmetica. Este metodo sera aplicado
em computabilidade de funcoes, a seguir.
Para a demonstracao da proposicao, vamos mostrar que o conjunto das seq
uencias enumeraveis de entradas 0 e 1, isto e, em L =
{0, 1}, n
ao e enumeravel (note que nao ha perda de generalidade, pois, se L = {a1 , a2 , . . . , an }, sempre podemos codicar a1 , a2 , a3 , . . . , an por distintas seq
uencias de 0s e 1s (veja
exerccio) e, desta forma, o conjunto das seq
uencias em L pode ser
associado a um subconjunto das seq
uencias em {0, 1}. Por outro
lado, podemos identicar as seq
uencias em {0, 1} com as seq
uencias
em, digamos, a1 0 e a2 1. O que acabamos de provar e que
os conjuntos de seq
uencias enumeraveis com componentes em um
conjunto nito, com pelo menos 2 elementos, tem a mesma cardinalidade). Agora, suponhamos que S, o conjunto das seq
uencias em
{0, 1}, fosse enumeravel, isto e, S = {A1 , A2 , }. Para visualizar,
suponhamos, por exemplo, que
A1 =
A2 =
A3 =
A4 =

An =

11001000010101011110001010101010110101
10101010101011110001110101010100010000
00011101010101000001100010111110000101
11011100011001011100001111111110111100
.........................
11001100001100111100. . . . . . . . 1. . . . .

Fixada esta enumeracao (ou outra qualquer), tomamos a seq


uencia dual da seq
uencia diagonal; 0110 0 ; que nao aparece na
lista acima, pois difere da n-esima seq
uencia listada na n-esima
posicao. Em geral, se aii e o i-esimo elemento de Ai , tome a
seq
uencia (1 a11 )(1 a22 ) (1 aii ) Ela nao pertence a S.
Logo, S n
ao e uma enumeracao.


300

Aspectos Formais da Computa


c
ao

Proposi
c
ao 6.15 O conjunto Q dos n
umeros racionais e enumeravel.
Demonstracao: Sejam Q+ = { ab , a > 0, b > 0, a, b N e
mdc(a, b) = 1} e Q = {x, x Q+ }. Ent
ao Q = Q {0} Q+ .
Pelo Corolario 6.12 enumeramos N N. Se identicarmos ab Q+
com (a, b) N N, temos uma bijecao de Q+ em um subconjunto
innito T de N N. Como subconjunto innito de conjunto enumeravel e enumeravel (Teorema 6.8), temos que T , e portanto Q+ ,
ao:
sao enumeraveis. Seja f : N Q+ uma enumeracao de Q+ . Ent

N Q+ Q ,
f

enumera Q , onde a funcao g e dada por: g(x) = x. Pelo Teorema


6.11, Q e enumeravel.

Nota. Com isto, temos que os seguintes conjuntos tem cardinaliumeros inteiros pares, N N, o conjunto
dade 0 : conjunto dos n
umeros inteiros Z.
dos n
umeros racionais Q e o conjunto dos n
Corol
ario 6.16 O conjunto P de todos os polinomios p(x) = a0 +
a1 x + + an xn com coecientes inteiros e enumeravel.
Demonstracao: Para cada (k, m) N N, seja P (k, m) =
{polin
omios de grau m e |a0 | + + |am | = k}. Como P (k, m) e
nito, por denicao P (k, m) e contavel. Assim

P =
P (k, m)
(k,m)NN

e contavel e innito. Logo P e enumeravel, pelo Teorema 6.11. 

6.1.2

O Contnuo e Outros N
umeros Cardinais

A Proposicao 6.14 mostra que nem todos os conjuntos sao cont


aveis. Agora, veremos outros exemplos de conjuntos que nao sao
cont
aveis.
Proposi
c
ao 6.17 O intervalo real [0, 1] nao e contavel.
uencias innitas em [0, 1]
Demonstracao: Considere todas as seq
formadas de 0s e 1s. Pela Proposicao 6.14, este subconjunto n
ao
e contavel. Pelo Teorema 6.8, [0, 1] nao pode ser contavel.


No
c
oes de Computabilidade

301

Deni
c
ao 6.18 Diz-se que um conjunto A apresenta a potencia
do contnuo e denota-se por |A| = c, se A equipotente a [0, 1].
Exemplo 6.19 1. O intervalo real ]0, 1[:= {x R : 0 < x < 1}
apresenta a potencia do contnuo.
Vamos construir uma funcao bijetora de [0, 1] em ]0, 1[. Sejam
B = {0, 1, 1/2, 1/3, . . .}, C = {1/2, 1/3, 1/4, . . .} e consideremos
1
, n 1. Como
: B C dada por: (0) = 12 e ( n1 ) = n+2
: B C e bijetora, tem-se B C. Agora, [0, 1] \ B =]0, 1[\C
(x), x B
e, portanto, a funcao f (x) =
da uma
x,
x [0, 1] \ B,
bijecao entre [0, 1] e ]0, 1[.
ao A apresenta a potencia
2. Sejam a, b R, a < b e A =]a, b[. Ent
do contnuo, pois: f :]0, 1[ A, dada por: f (x) = a + (b a)x, e
bijetora. Prove!
Em particular, |] 1, 1[| =c.
3. Vamos mostrar, agora, que R apresenta a hipotese do contnuo.
x
Como g(x) =
da uma bijecao de ] 1, 1[ em R, pois
1 |x|
x
admite inversa g 1 (x) =
(verique), temos que gf :]0, 1[
1 + |x|
2x 1
R dada por g f (x) =
da uma bijecao entre ]0, 1[ e R.
1 |2x 1|
Logo |R| =c.
Observa
c
ao 6.20 Observe entao que R ou qualquer intervalo real
n
ao e contavel.
Corol
ario 6.21 O conjunto dos n
umeros irracionais Ir n
ao e
cont
avel.
Demonstracao: Basta ver que R = Q Ir . Como Q e contavel,
se Ir fosse contavel pelo Teorema 6.11, viria que R seria contavel.

Ate agora conhecemos os seguintes n
umeros cardinais: os n
umeros cardinais nitos, 0 e c. O Teorema de G. Cantor, a seguir,
mostra que existe uma innidade de outros n
umeros cardinais.

302

Aspectos Formais da Computa


c
ao

Deni
c
ao 6.22 Dados cardinais , sejam A, B conjuntos de
cardinalidade , , respectivamente.
Dizemos que alfa e menor ou igual a beta e denotemos por
se existe uma funcao injetora f : A B. Se, alem disso, A  B,
dizemos que e estritamente menor que e denotemos por < .
Se e , dizemos que e s
ao iguais.
Por exemplo, 0 < c, pois: : N R dada por: (x) = x e
ao e equipotente a R, pois N e enumeravel e R nao
injetora e N n
e enumeravel.
Teorema 6.23 G. Cantor.
Para todo conjunto A tem-se que a cardinalidade de A e estritamente menor que a cardinalidade do conjunto das partes de A,
ou seja, |A| < |(A)|.
Demonstracao: f : A (A) dada por: f (a) = {a} e injetora
e nao e sobrejetora, pois  Imf. Logo |A| |(A)|.
Seja g : A (A) uma funcao qualquer. Considere o subconjunto S de A, denido por S = {x A : x  g(x)}. Se g fosse
sobrejetora, existiria y A, tal que g(y) = S. Por construcao,
temos: y S y  g(y) = S, absurdo. Portanto n
ao pode haver
A
ao |A| < |2 |.

sobrejecao de A em (A). E ent
Nota: O Teorema 6.23 nos da a seguinte cadeia de desigualdade
de n
umeros cardinais innitos


0 < c < |(R)| < | (R) | <
Isto mostra que temos uma innidade de n
umeros cardinais innitos. Ainda pelo teorema de Cantor, temos 0 < |(N)|. Tambem
oximo teorema mostra a relacao de |(N)|
vimos que 0 < c. O pr
e c.
Teorema 6.24 A cardinalidade do conjunto das partes de N e
igual `a cardinalidade de R, ou seja, |(N)| =c.
Demonstracao: Seja f : R (Q) denida por: f (a) = {x
Q : x < a}. Mostremos que f e injetora.

No
c
oes de Computabilidade

303

Seja a < b, a, b R. Como Q e denso em R, isto e, a, b R


se a < b, ent
ao existe x Q, tal que a < x < b. De fato, como
1
< a b. Da existe
0 < b a, existe n N, tal que 0 <
n
1
j N, tal que a < j. < b. Com isto, mostramos que j/n f (b) e
n
j/n  f (a), ou seja, f (a) = f (b). Logo, f e injetora e, por denicao,
|R| |(N)|.
Para a recproca, usaremos o fato de que F : (A) B A , B =
{0, 1}, dada por: F (S) = cS , e bijetora, onde cS e a funcao caracterstica de S, (veja o exerccio 4 do cap.4 4.6(c)). Desta bijecao
temos que |(A)| = |B A |. Agora, seja G : B N [0, 1] dada por:
G(cS ) = 0, cS (0)cS (1)cS (2) um decimal innito composto de 0s
ao cS1 (i) = cS2 (i) para
e 1s. Se cS1 , cS2 B N e cS1 = cS2 , ent
algum i N. Logo G(cS1 ) e G(c2 S) sao distintos, pois diferem pelo
menos na i-esima posicao, ou seja, G e uma funcao injetora. Assim,
por denicao, |B N | |[0, 1]| =c. Da |(N)| c devido `a bijecao

F dada acima. Conclumos que |(N)| =c.
Hip
otese do contnuo
Existe n
umero cardinal entre 0 e c? Originalmente Cantor
apoiou a conjectura que e conhecida como hip
otese do Contnuo:
n
ao existe n
umero cardinal tal que 0 < < |(N)| =c. Mas,
em 1963, demonstrou-se que a hipotese do contnuo e independente
dos axiomas da teoria dos conjuntos, aproximadamente do mesmo
modo em que o Quinto Postulado de Euclides, sobre linhas paralelas, e independente dos outros axiomas da geometria.

Exerccios
(1) Mostre que A e contavel se, e somente se, existe uma sobrejecao
: N A.
(2) Mostre que: (a) N (N \ Ik ), (b) A (A \ B), onde A e
um conjunto innito e B e um subconjunto nito de A.
(c) Com base em (a) e (b) justique: Em um hotel com innitos
quartos, todos eles ocupados, ainda h
a vagas para mais n pessoas.
(3) (a) - Sejam : N N e : N N N dadas por
(a) = a + 1, e (b) = (s, t), onde b = 2s (2t + 1). Mostre que

304

Aspectos Formais da Computa


c
ao

enumera N N.
(b) - A partir de (a), de uma outra prova de que Q e enumeravel.
(4) Codique toda seq
uencia nao nula do intervalo real [0, 1] como
uma seq
uencia innita de 0s e 1s.
Obs.: Uma codicacao de elementos de A = por elementos de
D = e uma funcao injetora f : A D e, neste caso, dizemos que
a A ca codicado por f (a) D.
Use que toda seq
uencia nao nula do intervalo real [0, 1] pode
ser escrita como uma seq
uencia innita da forma: 0, a1 a2 a3 a4 . . . ,
onde ai {0, 1, . . . , 9}. Por exemplo: 0, 5 = 0, 499999999999 . . ..
Seja S = {x1 , x2 } para os exerccios (5), (6), (7).
(5) Seja A o conjunto das seq
uencias nitas sobre S. De uma
enumeracao para A.
(6) Mostre que toda seq
uencia de elementos de S pode ser codicada como uma seq
uencia de elementos de {0, 1}.
uencia de zeros e uns.
Sugest
ao: Codique xi com uma seq
(7) Use o exerccio (6), se necessario, e prove que o conjunto de
todas seq
uencias de elementos de S e o conjunto de todas seq
uencias
formadas de zeros e uns tem a mesma cardinalidade. Qual a sua
cardinalidade?
(8) Sejam f : A R injetora e A n
ao cont
avel. Qual a cardinalidade de A? (Observe a Hipotese do Contnuo para dar a resposta).
(9) Mostre que, se |A| = |D|, ent
ao |(A)| = |(D)|.
(10) Prove que os conjuntos E = [1, 1) e F = (3, 6] sao equipotentes e de a aplicacao inversa.

No
c
oes de Computabilidade

6.2

305

Algoritmos e M
aquinas de Turing

A nocao de algoritmos sempre foi muito comum ao matematico


ou `aqueles que tem alguma familiaridade mesmo com a matematica elementar. Hoje em dia, com o advento da computacao, da
informatizacao e da globalizacao, o conceito de algoritmo extrapola
as fronteiras da matematica e e um conceito entendido e falado
quase que por todos usu
arios dos modernos meios de comunicacao
informatizados. Mas o que vem a ser um algoritmo?
Os processos de adicao, multiplicacao, divisao, subtracao de n
umeros inteiros e o procedimento para extracao de raiz quadrada s
ao
exemplos de algoritmos.
conhecido, da escola de ensino medio que um processo para
E
calcular as razes da equacao de segundo grau ax2+bx+c = 0 (com
coecientes a, b, c reais), e fazer x igual a (b b2 4ac)(2a)1 ,
se b2 4ac 0. Agora, se ai sao reais, para i = 1, 2, , n; um algoritmo que produza as razes de an xn +an1 xn1 + +a1 x+a0 = 0,
utilizando as operacoes de adicao, multiplicacao, subtracao, divisao
e razes m-esimas, nao existe para n 5. Um problema classico da
matematica antiga era a de conseguir um procedimento que permitisse trisseccionar um angulo qualquer usando um compasso e uma
regua nao demarcada. Pode-se mostrar, tambem, que tal procedimento nao existe. Contudo, com o uso de varias reguas, ou apenas
uma regua demarcada, mais um compasso e possvel trisseccionar
um angulo.
Percebe-se, entao, que um dado algoritmo e relativo aos metodos
que se pretende utilizar, e a podemos entender um algoritmo como
sendo um procedimento geralcomposto de instrucoes especcas
a serem seguidas elmente por um agente executor. Isto requer,
entre outras coisas, que as instrucoes sejam claras e completamente nao ambiguas, de preferencia utilizando um texto ou um formalismo nito. Um algoritmo pode apresentar problemas. Mesmo
com instrucoes claras e nao ambiguas, um algoritmo pode n
ao
parar. Por exemplo, o algoritmo para extracao de razes quadradas
n
ao para se o n
umero cuja raiz se procura n
ao seja um quadrado
perfeito. Saber se um dado algoritmo, com uma certa entrada de
dados, p
ara ou n
ao para e conhecido como problema da parada.

306

Aspectos Formais da Computa


c
ao

Adiante sera visto que nao existe um algoritmo que decide o problema da parada. Para que um resultado a respeito de algoritmo
seja possvel, devemos ter uma nocao precisa, formal, do que seja
um algoritmo. Uma formalizacao usual na teoria matematica dos
algoritmos e considerar algoritmos como sendo procedimentos que
transformam palavras, em um alfabeto nito, em outras palavras.
Mais formalmente temos:
Deni
c
ao 6.25 Um alfabeto e um conjunto de pelo menos 2
smbolos, um smbolo para denotar o branco e, pelo menos, mais
um smbolo.
Uma palavra sobre este alfabeto e uma seq
uencia nita de sm
bolos. Denotando por o conjunto das palavras sobre , os algoritmos sao funcoes de em .
Este e o enfoque basico que se usa nas linguagens de programacao de computadores.

G
odeliza
c
ao.
Embora na pr
atica um alfabeto possa conter varios elementos, podemos sempre associar palavras w sobre um alfabeto
com n
umeros naturais G(w) de tal maneira que um n
umero natural esteja associado com, no maximo, uma palavra em . A
uma tal associacao chamamos de Godelizacao e chamamos G(w)
de n
umero de Godel de w (com respeito a G).
Desde que N pode ser pensado como a classe das palavras
|, ||, |||, . . . , ou seja, palavras sobre o alfabeto {0, |} (0 para simbolizar o branco) resulta que, via G
odelizacao, nao ha nenhuma
perda de generalidade se considerarmos apenas algoritmos sobre N,
ou sobre , onde e um alfabeto de apenas dois smbolos.
Deni
c
ao 6.26 Dado um alfabeto , uma Godelizacao de e
uma funcao G de em N que obedece as seguintes condicoes:
(1) G : N e injetora.
(2) Existe um algoritmo tal que, para cada w , G(w) pode
ser computado em um n
umero nito de passos.

No
c
oes de Computabilidade

307

(3) Im(G) = G( ) e bem determinada, ou seja, dado n N


e possvel decidir em um n
umero nito de passos se n pertence ou
n
ao pertence a Im(G).
(4) Se n Im(G), existe um algoritmo para se determinar a
pre-imagem w de n (isto e: n = G1 (w)) em um n
umero nito de
passos.
Neste caso, dizemos que G(w) e o n
umero de G
odel de w.
Exemplo
Seja o nosso alfabeto: = {a, b, c, . . . , z}. Ent
ao contem
propriamente todas as palavras da lngua portuguesa; por exemplo,
uencia nita de letras. A
abback pertence a , pois e uma seq
cada palavra de comprimento n, digamos x1 x2 xn , considere os
n primeiros n
umeros primos: 2, 3, 5, . . . , pn e dena
G(x1 x2 xn ) = 2d1 3d2 pdnn ,
onde di = j se xi e a j-esima letra do alfabeto.
Assim, G(aba) = 21 32 51 = 90, G(dacaba) = 24 .31 .53 .71 .112 .131 =
66.066.
Por outro lado, 330 = 2.3.5.11 nao e n
umero de Godel de
nenhuma palavra, pois a decomposicao de 330 envolve quatro primos distintos, mas nao os quatro primeiros primos: falta o primo
umero de Godel de baaa.
7. O n
umero 420 = 22 .3.5.7 e o n
Observe que a funcao G satisfaz as 4 condicoes exigidas acima,
pois usa-se o teorema fundamental da aritmetica e n = p1 1 . . . pnn
e um n
umero de Godel de alguma palavra se, e somente se, pi e o
i-esimo primo e, neste caso, w = (1 esima letra 2 esima letra
n esima letra) do alfabeto.
Atraves desse processo de aritmetizacao, podemos reduzir
problemas sobre algoritmos a problemas sobre algoritmos numericos. Isto e basicamente o proposito do estudo das funcoes
recursivas que iniciaremos adiante. Comecaremos com a nocao de
computabilidade segundo Turing e mostraremos que o Problema da
Parada e insol
uvel via Tese de Church.

308

6.2.1

Aspectos Formais da Computa


c
ao
No
co
es de M
aquinas de Turing

Como objeto uma m


aquina de Turing consiste, essencialmente, de
uma ta e um dispositivo chamado cabeca de leitura e impress
ao
que sera denotado (l/i). A ta e dividida e composta de celulas
(quadrados) n
ao sobrepostos e e potencialmente innita a` esquerda
e `a direita, no sentido de que se pode acrescentar celulas `a direita
ou `a esquerda, quantas forem necessarias. A computacao acontece
com a cabeca l/i fazendo impressoes de smbolos nos quadrados
(celulas). Estes quadrados estao em branco com excecao de um
n
umero nito deles. Se um dos quadrados n
ao esta em branco, o
smbolo 1 esta impresso nele. Portanto, o alfabeto para a m
aquina
de Turing e {0, 1}, onde o smbolo 0 signica o branco. Note que,
como podemos usar notacao unaria para representar n
umeros, isto
nao causa restricao sobre o que podemos computar.
Assumimos que em cada estagio da computacao, a maquina
esta em um dos seguintes estados internos: q1 , q2 , . . . , qm , onde m
e xo para cada maquina. Durante a computacao, a cabeca l/i corre
sobre a ta e eventualmente para sobre um quadrado. Quando ela
esta sobre um quadrado, reconhece (le) o smbolo 0 ou 1 que esta
neste quadrado e, de acordo com o smbolo lido e o estado interno,
executa uma das seguintes operacoes:
(1) Apaga o smbolo 0 ou 1 escrito nele, . . . . . Notacao: 0.
(2) Imprimi o smbolo 1,
. . . . . Notacao: 1.
(3) Move um espaco imediatamente `a esquerda
. . . . . E.
(4) Move um espaco imediatamente `a direita
. . . . . D.
Logo a cabeca l/i tambem apaga e move. A operacao (1) pode
ser escrita tambem por Imprima o zero. A operacao (2) signica
que a celula em que a cabeca l/i esta cara com um smbolo 1
imprimido nela, mesmo se antes ja tinha este smbolo, ou o 0 escrito
nele. Em outras palavras, esta operacao apaga esta celula e escreve
1 nela.
Uma instrucao para a maquina de Turing e uma qu
adrupla
(qi , S, Op, qj )
onde qi e o estado presente da maquina, S {0, 1} e o smbolo lido,
Op {0, 1, D, E} e uma das quatro operacoes acima a ser realizada

No
c
oes de Computabilidade

309

e qj e o novo estado da maquina. Notemos que sao aceitas as


qu
adruplas (qi , 0, 0, qj ) e (qi , 1, 1, qj ), o que signica que a maquina
apenas muda de estado.
Portanto, a menos que a maquina pare, ela ir
a executar uma
das instrucoes e ira para um certo estado. Fisicamente, a cabeca l/i
apaga o smbolo na celula sobre o qual esta e escreve outro (talvez
o mesmo), ou ainda, vai para a celula imediatamente `a esquerda
ou `a direita, alem disso, vai para outro estado (eventualmente o
mesmo), dependendo apenas do estado anterior e do smbolo que
leu, a menos do estado inicial da maquina. Em outras palavras,
estado + smbolo lido determinam o ato e o novo estado.
Algumas convenc
oes sobre as maquinas de Turing s
ao:
(1) A maquina de Turing (MT) comeca a computacao no estado
q1 (dito estado inicial).
(2) A maquina p
ara quando n
ao ha instrucao possvel a
executar.
(3) Instrucoes ambguas nao serao permitidas, ou seja, desde
que o estado e smbolo lido determina a operacao a realizar e o
novo estado da maquina, temos que duas qu
adruplas com as duas
primeiras entradas iguais ter
ao as duas outras entradas tambem
iguais, ou seja: Se (qi , S, Op, qj ) e (qi , S, Op , qk ) sao quadruplas de
um mesmo programa de uma maquina de Turing, ent
ao Op = Op
e k = j. Por simplicidade tambem escreveremos uma quadrupla
na forma qi S Op qj , evitando as vrgulas e parenteses. Com isto,
denimos
Um programa (em geral, em vez de programa, dizemos uma
m
aquina de Turing, identicando os programas a`s maquinas) para
uma maquina de Turing (MT) ser
a uma seq
uencia de qu
adruplas (qi , S, Op, qj ) sujeitas `as convencoes anteriores.
Finalmente, um conjunto constitudo do conte
udo da ta, do
quadrado que est
a sendo lido e o estado da maquina e dito uma
congurac
ao da maquina.
Exemplo 6.27 (A) Escreva tres 1s consecutivos (isto e: sem
insercao de zeros entre eles) numa ta totalmente em branco de
uma MT.

310

Aspectos Formais da Computa


c
ao

Solucao: Um programa e:
(1) q1 1Dq2
(2) q2 01q2
(1) q1 01q1
(2) q2 1Dq3
(3) q3 01q3
(3) q3 1Dq4
Como a ta esta em branco, por convencao a maquina comeca
a computacao pela 1a instrucao. Depois de realizar a 1a instrucao,
a cabeca l/i ca sobre o 1 que acabou de escrever e a maquina no
estado q1 ; logo realizara a instrucao (1). Realizando esta instrucao,
a cabeca l/i ca sobre o zero `a esquerda do 1, e a maquina no
estado q2 . Logo, realizara a instrucao (2) e depois a instrucao
(2), (3) e (3). Observe que a maquina p
ara no estado q4 , pois
neste estado nao sao dadas instrucoes. Da camos com a seguinte
conguracao nal na ta
0001110q4 000 ,
como foi pedido, onde 0q4 signica que a cabeca l/i esta sobre este
smbolo no estado q4 .
Observa
c
ao: Note que as instrucoes (1), (2) e (3) servem para
escrever tres 1s enquanto as instrucoes (1), (2) e (3) servem para
retirar a cabeca l/i de cima do 1 escrito. Generalizando, temos:
(B) De um programa para escrever n 1s consecutivos (n 2)
em uma ta em branco, mas agora faca a cabeca l/i retornar no 1
mais a esquerda do seq
uencia de 1s.
Solucao: Um programa e:
(1) q1 01q1
(1) q1 1Dq2
(2) q2 01q2
(2) q2 1Dq3


(n) qn 01qn+1
(n) qn+1 1Eqn+1
(n+1) qn+1 0Dqn+2 .
Note que a instrucao (n), assim como a instrucao (3) do
exerccio (A), escreve o u
ltimo smbolo 1 mas neste caso muda
de estado e, (n) que corresponde a instrucao (3) do exerccio (A)
em vez de so tirar a cabeca l/i de cima do u
ltimo 1 impresso, nao
so faz isto, mas ja comeca a voltar a cabeca l/i para o primeiro
1 impresso. Ela busca o primeiro zero depois da seq
uencia de 1s

No
c
oes de Computabilidade

311

e a instrucao (n+1) a coloca sobre o primeiro 1 impresso.


programa usou n + 2 estados e 2n + 1 instrucoes.

Este

Exemplo 6.28 Escreva uma MT que quando iniciada com a cabeca l/i no 1 mais `a esquerda de uma seq
uencia de n 1s (n > 0) de
uma ta que so contem este bloco de uns, apaga este 1 e duplica
o restante do bloco de uns (se existir bloco restante) e para com a
cabeca l/i no 1 mais a esquerda do bloco (se existir).
Uma solucao e:
(1)
(2)
(3)
(4)
(5)
(6)

q1 10q1
q2 1Eq3
q3 0Eq4
q4 01q4
q5 01q5
q6 0Dq7

(1 )
(2 )
(3 )
(4 )
(5 )
(6 )

q1 0Dq2
q2 0Dq13
q3 1Eq4
q4 1Eq5
q5 1Dq6
q6 1Dq6

(7) q7 1Dq7
(8) q8 10q8
(9) q9 1Eq10
(10) q10 0Eq11
(11) q11 1Eq11
(12) q12 1Eq12

(7 ) q7 0Eq8
(8 ) q8 0Eq9
(9 ) q9 0Eq12
(10 ) q10 1Eq10
(11 ) q11 01q4
(12 ) q12 0Dq13

A primeira instrucao apaga o primeiro 1 do bloco de n uns e camos um bloco de n1 uns. A instrucao (1) leva a cabeca l/i para
a direita para ver se h
a mais 1 (isto e, para ver se n = 1 ou nao).
Caso n = 1, a instrucao (2) para a maquina e temos o caso desejado. Se n > 1, obrigatoriamente a maquina vai para a instrucao
(2). Da por diante, a cada 1 reconhecido e apagado no bloco de
n 1 uns restante, a maquina copia dois uns a` esquerda do bloco,
em quadrados adjacentes e consecutivos, do seguinte modo:
(a) Observando que n > 1 (instrucao (2)), a maquina pula o
primeiro zero `a esquerda do bloco de n1 uns (instrucoes (2) e (3))
e escreve dois 1 em quadrados adjacentes e consecutivos (instrucoes
(4), (4), (5)).
(b) Depois volta no u
ltimo 1 `a direita do bloco de uns restante
(instrucoes (5), (6), (6), (7), (7)) e o apaga (instrucao (8)).
(c) Caso tenha mais uns nao apagados do bloco original de n1
uns que restou, a cabeca l/i vai para a esquerda pulando este bloco
(instrucoes (9) e (10)) e pula o zero que separa este bloco (que esta
sendo apagado) do bloco que esta sendo criado (instrucao (10)).
Pula este novo bloco (instrucao (11)) e acrescenta `a esquerda dele
dois novos 1s em quadrados adjacentes e consecutivos (instrucoes

312

Aspectos Formais da Computa


c
ao

(11), (4) e (5)). Agora a instrucao (4) leva a maquina a uma


rotina, a menos que n
ao tenha mais uns no bloco que restou.
Neste caso, foi apagado o u
ltimo 1 do bloco de n1 uns, (instrucao
(8)) e forcosamente a maquina seguiu o caminho (8) (8) (9)
(12) (12) e para com a cabeca l/i sobre o 1 mais a esquerda
do bloco impresso.
Agora, vamos comecar a pensar em MT que calcula funcoes.
Para isto vamos precisar de algumas convencoes. Para representar o
n
umero natural n 1 utilizaremos a cadeia de n 1s: ..00111..100..
sem insercao de zeros entre eles. Esta cadeia e denotada por 1n . A
ta esta em uma congurac
ao padr
ao se esta em branco ou contem
n
umero
somente uma cadeia da forma 1 . Observe que para cada n
natural n N, n > 0, e possvel imprimir este n
umero numa ta
em branco usando esta convencao; basta fazer um programa semelhante ao programa do exemplo 6.27 (B), usando n + 2 estados.
Mais ainda, dados m, n naturais e maiores do que zero, e possvel
escrever 1m 01n numa ta em branco; basta concatenar dois programas, um programa que imprima 1m com outro programa que
imprima 1n , veja exerccio.
Deni
c
ao 6.29 Dizemos que uma maquina de Turing T representa uma (calcula a ) funcao f : A N, A N nao vazio, se
(a) com entrada 1n+1 a maquina inicia a computacao (pela
primeira instrucao no estado inicial q1 ) examinando o 1 mais a
esquerda do bloco.
(b) Se f (n) = m, ent
ao T para e a ta esta em branco, se
m = 0, ou para no 1 mais `a esquerda do bloco 1m da ta que so
tem esta seq
uencia, se m = 0.
(c) Se n
/ Dom(f ), ent
ao T nao para, ou p
ara fora do 1 mais
`a esquerda de qualquer conguracao padr
ao.
Note que usamos 1n+1 para representar a entrada n e 1m para
representar a sada m. Com isto, diferimos a entrada zero da ta em
branco, no incio da computacao e e possvel satisfazer a condicao
(a) da denicao, qualquer que seja n N.
Exemplo 6.30 De um programa para uma maquina de Turing
que representa a funcao f : N N dada por f (n) = n + 1.

No
c
oes de Computabilidade

313

Solucao: Acabamos de ver que existe um programa que imprime


1n+1 na ta em branco. Logo, consideraremos que entramos com
o n
umero n, ou seja, a ta contem 1n+1 somente. Feito isto, considerando que a cabeca l/i esta sobre o 1 mais `a esquerda do bloco
1n+1 , um programa para f : N N e o seguinte:
(1) q1 11q2 .
Por exemplo, vamos calcular f (2) pelo programa dado. Ao
mesmo tempo, daremos as conguracoes da maquina em cada etapa
da computacao. Para sabermos em que celula esta a cabeca l/i,
convencionaremos que ela esta na celula em que esta o n
umero em
negrito. Assim
000111000
000111000

(q1 11q2 )
no estado q2

e a maquina p
ara com a cabeca l/i sobre o primeiro 1 `a esquerda
ao e dado instrucao. Como, por
do bloco 13 , pois no estado q2 n
umero natural
convencao, no nal da computacao 13 , representa o n
3, temos, novamente por convencao, que f (2) = 3.
Verique, agora, que f (3) = 4, por esta maquina de Turing.
Exemplo 6.31 De uma maquina (ou seja, um programa) que represente a funcao constante f : N N, f (n) = 1, para todo n N.
Solucao: Tendo entrado com 1n+1 , por convencao a computacao
comeca com a cabeca l/i sobre o 1 mais `a esquerda do bloco 1n+1 .
Um programa e:
(1) q1 10q2

(1) q1 01q3

(2) q2 0Dq1 .

Por exemplo, vericaremos que, pelo programa, f (1) = 1. Por


convencao, iniciamos a computacao com a ta contendo somente o
umero em negrito signicara que a cabeca
bloco 12 . Novamente o n
l/i esta sobre ele. Logo, a maquina comeca a computacao pela
instrucao 1, estando no estado q1 . A conguracao da ta, juntamente com a proxima instrucao, e:

Aspectos Formais da Computa


c
ao

314

0
0
0
0
0
0

0
0
0
0
0
0

0
0
0
0
0
0

110
010
010
000
000
001

0
0
0
0
0
0

0
0
0
0
0
0

(q1 10q2 )
(q2 0Dq1 )
(q1 10q2 )
(q2 0Dq1 )
(q1 01q3 )
(no estado q3 )

Por convencao, temos a sada 1. Logo f (1) = 1.


Agora, calcule f (2), f (3) e convenca-se de que as instrucoes
(1) e (2) servem para apagar todo o bloco, enquanto que (1) d
aa
conclusao para f (n) = 1.
Exemplo 6.32 De a MT que calcula a funcao f : N N dada
por f (n) = 2n.
Solucao: Uma maquina de Turing que calcula f (n), para cada
n N e dada no exemplo 6.28.
Deni
c
ao 6.33 Uma func
ao parcial de n
umeros naturais, f : Nn
N, e uma funcao f : A N onde A e um subconjunto nao vazio
de Nn . Portanto, uma funcao parcial f : Nn N nao precisa estar
denida em todo Nn , ou seja, e uma relacao f Nn N, tal que
Dom(f ) = e, para cada x Domf, existe um u
nico y N, tal
que (x, y) f. Logo, toda funcao f : Nn N e uma funcao parcial.
Todas as funcoes tratadas daqui para a frente, a menos que
se diga o contr
ario, serao funcoes parciais. Tais funcoes tambem
podem ser representadas em maquinas de Turing. Formalmente,
temos
Deni
c
ao 6.34 Uma funcao parcial f : Nn N e dita ser TuringComput
avel (ou comput
avel por uma MT) se existe uma maquina
de Turing T que calcula f (a1 , a2 , . . . , an ) do seguinte modo:
(1) A ta contem somente 1a1 +1 01a2 +1 0 01an +1 no incio da
computacao.
(2) A maquina inicia a computacao pela primeira instrucao no
estado inicial q1 , examinando o 1 mais `a esquerda do bloco mais `a
esquerda.

No
c
oes de Computabilidade

315

(3) Se (a1 , . . . , an ) Dom(f ), ent


ao T p
ara e a ta esta em
ara no
branco e, neste caso, f (a1 , a2 , . . . , an ) e zero, ou, entao, T p
1 mais `a esquerda de alguma conguracao padr
ao e, neste caso,
umero de 1s naquele bloco.
f (a1 , a2 , . . . , an ) e o n
Se (a1 , a2 , . . . , an )  Dom f, ent
ao T nao para ou p
ara fora do
1 mais `a esquerda de alguma conguracao padr
ao e, neste caso,
f (a1 , a2 , . . . , an ) nao esta denido.
Exemplo A. A funcao f : Nn N dada por: f (a1 , a2 , . . . , an ) = 1
e Turing-Comput
avel.
Solucao: De fato, uma MT que calcula f (a1 , a2 , . . . , an ) e dada
por:
(1) q1 10q2 (1) q1 0Dq3 (2) q2 0Dq1 (3) q3 10q2 3) q3 01q4 .
Por exemplo, se f : N3 N, (n = 3), ent
ao, para vericar que
f (2, 1, 0) = 1, temos que, por convencao, a conguracao inicial e
0 0 0 1 1 1 0 1 1 0 1 0
(q1 10q2 )
com a cabeca l/i sobre o 1 em negrito, por convencao.
Assim, temos a conguracao toda:
0 1110110100
0 0110110100
00 110110100
00 010110100
000 10110100

(q1 10q2 )
(q2 0Dq1 )
(q1 10q2 )
(q2 0Dq1 )
(q1 10q2 )

000 00110100
0000 0110100
00000 110100
00000 010100
000000 10100
000000 00100
0000000 0100
00000000 100
00000000 000
000000000 00
0000000000 0
0000000000 1

(q2 0Dq1 )
(q1 0Dq3 )
(q3 10q2 )
(q2 0Dq1 )
(q1 10q2 )
(q2 0Dq1 )
(q1 0Dq3 )
(q3 10q2 )
(q2 0Dq1 )
(q1 0Dq3 )
(q3 01q4 )

Aspectos Formais da Computa


c
ao

316

Portanto a conguracao nal da ta e . . . 00100 . . . e temos como


sada o n
umero 1.
Note que as instrucoes (1) e (2) apagam qualquer entrada 1x+1 ,
enquanto (1) serve para pular o branco que separava os blocos 1x+1
e 1y+1 . Da vem a instrucao (3), que apagar
a um smbolo 1 do 2o
bloco e voltar
a `a rotina dada pelas instrucoes (1) e (2), apagando
y+1
totalmente. Quando n
ao houver mais blocos para apagar,
1
estamos na instrucao (1) e ela reconhece isto indo para a instrucao
(3). Da, ela para sobre o 1.
Exemplo B. Mostre que a funcao adicao f : N2 N, dada por
f (x, y) = x + y e Turing-Comput
avel.
Solucao: Como iniciamos com a seq
uencia 1x+1 01y+1 na ta,
um modo e por 1 no espaco em branco entre os dois blocos, apagar
os tres 1s, da esquerda para a direita e avancar um espaco `a direita.
Observe que, se x e y sao zeros, entao a ta nal estar
a em branco.
O programa e:
(1) - q1 1Dq1
(2) - q1 01q2
(3) - q2 1Eq2
(4) - q2 0Dq3
(5) - q3 10q4
(6) - q4 0Dq5
(7) - q5 10q6
(8) - q6 0Dq7
(9) - q7 10q8
(10)- q8 0Dq9

(busca o branco entre 1x+1 e 1y+1 )


(troca o 0 por 1)
(3 e 4 buscam o 1 mais `a esquerda)
(apaga o 1 mais `a esquerda)
(avanca `a direita)
(apaga o 2o 1 mais `a esquerda)
(avanca `a direita).
(apaga o 3o 1 mais `a esquerda)
(avanca `a direita e para).

Exemplo C. A funcao multiplicacao m(x, y) = x.y e TuringComputavel.


Solucao: Uma ideia da MT que computa esta funcao e a seguinte:
Como temos que somar y + y + . . . + y x vezes, uma solucao
e usar o bloco 1x+1 como um contador para controlar o n
umero de
repeticoes das operacoes.
Para comecar, a maquina apaga o 1 mais a` esquerda do bloco
x+1
1 , se nao restou nada neste bloco, ela apaga o resto e para
(porque neste caso x = 0). Se restou mais 1s no bloco 1x , ela

No
c
oes de Computabilidade

317

apaga o 1 mais `a direita do bloco 1y+1 . Se nao restou nada, ela


apaga tudo na ta e p
ara (porque neste caso y = 0). Se o bloco
y
1 restante e nao-vazio, a maquina move o bloco 1y exatamente y
casas para a direita. A a maquina ca com a seguinte conguracao:
. . . 001x 00 . . . 001y 00 . . .
com exatamente y + 1 zeros entre os blocos 1x e 1y .
Daqui para a frente, a m
aquina entra numa rotinausando o
seguinte processo:
A maquina apaga o 1 mais `a esquerda do bloco 1x (cando com
x1
1 ). Se 1x1 for vazio, ela p
ara examinando o 1 mais `a esquerda
y
do bloco 1 (pois neste caso x = 1). Se o bloco 1x1 restante e naovazio, ela pula o 1o zero entre os blocos 1x1 e 1y , logo `a direita de
1x1 , e preenche os brancos com 1 ate encontrar um 1. Ate aqui
temos a conguracao 1x1 012y . Da ela move o bloco 12y y casas
para a direita e repete o processo.
Denotando os blocos 1x+1 e 1y+1 e suas alteracoes, durante a
computacao, por bloco X e bloco Y, respectivamente, a maquina
pode ser representada pelo seguinte diagrama:

Aspectos Formais da Computa


c
ao

318

Diagrama corrido para f (x, y) = x.y




 Escreva 1x+1 0 1y+1 (=X0Y respect.) 


 e apague o 1 mais a esquerda de X




sim
 X e vazio? 


 apague Y e pare




nao


 apague o 1 mais a direita de Y 

|Y e vazio?|

sim

nao

 mova Y y casas a direita e

 apague o 1 mais a esquerda de X

| apague X e pare|






.


n
ao  Pule o branco usado para separar
|X e vazio?|  X de Y e preencha todos os brancos
 com 1 ate encontrar Y








sim


 P
are examinando o 1 mais `a esquerda do bloco Y 
Um progama para esta funcao pode ser visto nas paginas 114-116
da referencia [1].

No
c
oes de Computabilidade

319

Como u
ltimo exemplo, daremos um diagrama corrido para um
programa para a funcao caracterstica da igualdade entre dois n
umeros. Esta funcao deve ter sada 1, se duas entradas x e y sao
iguais e 0, caso contrario. A ideia e apagar, em cada passo, um
par de 1s, um 1 de cada um dos blocos 1x+1 e 1y+1 e escrever
1 se os blocos terminarem ao mesmo tempo e 0, caso contrario.
Como nao se sabe qual bloco termina primeiro, o problema ca
mais complicado.
O diagrama e o seguinte:

 Escreva 1x+1 0 1y+1 ,

 blocos X e Y respect.






| apague o 1 mais a direita de Y |

. n
ao



 n
ao  apague o 1 mais
 Y esta vazio? 
 a direita de X



 |X esta vazio?|


sim

sim

|apague o 1 mais a direita de X|

|apague Y e pare|

|X esta vazio?|

sim

| escreva 1 e pare|

/ n
ao

|apague Y e pare|

320

Aspectos Formais da Computa


c
ao

Na lista de exerccios foi proposto que voce apresente um programa para esta funcao.
Agora, vamos apenas dizer, resumidamente, como podemos compor funcoes parciais em uma maquina de Turing. A composicao de
funcoes parciais sera mais explorada quando tratarmos de funcoes
computaveis por uma Maquina de Registro Ilimitado. Os processos
sao analogos.
Se g e uma funcao de uma vari
avel e f uma funcao de n
vari
aveis, aplicamos primeiro f `a X e depois aplicamos g `a f (X). A
maquina que representa a funcao parcial composta g f, dado que
Tf e Tg representam f e g respectivamente, e a maquina Tgf
obtida justapondo Tf a uma simulac
ao de Tg , digamos Tg , do
seguinte modo:
ltima instrucao que
(a) Se f (m) = r, sejam (k) ql S Op qt a u
ao e, Qi os estados de Tg . Seja
para a MT Tf na conguracao padr
S o conjunto de instrucoes: (k+1) qt 1Eqt + 1, (k+1) qt 0Eqt+1 ,
os estados de Tg por Qi =
(k+2) qt+1 01qt+2 . Agora,reenumere

qi+1+t . Da a seq
uencia Tg S Tg e o programa de Tgf , a menos
de pequenos rearranjos que temos que fazer para incluir o caso de
ao com
(b) Tgf nao parar, ou parar fora de conguracao padr
entrada 1m1 +1 0 01mn +1 , se f (m1 , m2 , . . . , mn ) nao esta denida.
A composicao de funcoes parciais de varias vari
aveis e representada similarmente. Por exemplo, se
f (x1 , . . . , xm ) = h(g1 (x1 , . . . , xn1 ), . . . , gm (x1 , . . . , xns )),
a representacao de Tf e obtida por simulacoes convenientes de
Tg1 , Tg2 ,. . . , Tgm com Th .
Exemplo 6.35 Sejam f : N2 N, f (x, y) = x + y e g : N
N, g(x) = x + 2.
Um programa para f e dado no Exemplo B, e um programa
para g e dado por:
(2) q2 01q3 .
(1) q1 1Eq2


Portanto, um programa para g f (g f )(x, y) = x + y + 2
e dado por:
(1) q1 1Dq1 (2) q1 01q2 (3) q2 1Eq2 (4) q2 0Dq3 (5) q3 10q4 (6)
q4 0Dq5 (7) q5 10q6 (8) q6 0Dq7 (9) q7 10q8 (10) q8 0Dq9 (11) q9 1Eq9

No
c
oes de Computabilidade
(12) q9 01q10 , (13) q10 1Eq11 ,

321

(14) q11 01q12

ou seja, os estados q1 , q2 e q3 do programa que calcula g(x) passam


a ser os estados q10 , q11 e q12 do programa que calcula (g f )(x, y).
As primeiras instrucoes correspondem ao programa para calcular
f (x, y). A decima instrucao de f (x, y) parava a maquina no estado q9 buscando o 1 mais `a esquerda do bloco, enquanto aqui
continuamos. Mas, antes de entrar diretamente com as instrucoes
da maquina Tg , (que simula g) como sendo as instrucoes (11) e
(12), mudamos as instrucoes q1 e q2 para q10 e q11 , de modo que as
instrucoes (1) e (2) de g passam a ser as instrucoes (13) e (14) de
necessaria esta correcao antes de simular Tg , pois para
f g. E
calcular g(f (n)) devemos entrar com 1f (n)+1 na ta em branco enquanto a sada f (n) e 1f (n) , por convencao. Por isso usamos as
instrucoes (11) e (12) para fazer esta correcao antes de simular Tg
em Tg . Isto e possvel, pois a cabeca l/i estava sobre o 1 mais `a
esquerda da conguracao padr
ao 1f (x,y) e Dom(f ) e N2 .
Finalmente, daremos uma enumeracao das maquinas de Turing
para mostrar, via Tese de Church, que existem funcoes parciais que
n
ao sao computaveis por nenhum processo. Alem disso, mostrar
que o Problema da Parada para M
aquinas de Turing e indecidvel.
Teorema 6.36 TESE DE CHURCH
Toda funcao parcial f : Nn N que e computavel, segundo
algum processo, e Turing-Comput
avel.

Coment
ario. Note que nao ha como provar que a tese de Church
e verdadeira, pois n
ao ha como dar uma boa formalizacao de processo intuitivo em uma teoria. No entanto h
a meios matematicos
de provar que ela esta errada; basta exibir uma funcao parcial comput
avel por algum processo que nao seja Turing Comput
avel. Apesar de in
umeras tentativas nesta direcao, todas tem resultado em
fracassos. Por esta e outras fortes evidencias, acredita-se que a
tese de Church e valida. A tese de Church e interessante porque
(estando certa) diz que a Turing-computabilidade, apesar de simples, capta perfeitamente a nocao (semantica) que temos do termo
computabilidade de funcoes parciais.

322

Aspectos Formais da Computa


c
ao

Teorema 6.37 O conjunto das funcoes parciais (ou das funcoes)


de N em N nao e enumeravel.
Demonstracao: A demonstracao pode ser feita pelo metodo
diagonal de Cantor, do seguinte modo: Suponhamos que temos
uma enumeracao de todas as funcoes de N em N, e seja f1 , f2 , f3 ,
. . . , fn , . . . tal enumeracao. Construa a funcao g : N N, tal que
g(1) = f1 (1), g(2) = f2 (2), . . . , g(n) = fn (n), . . . . Desta forma, g e
ao g = fn , n
uma funcao de N em N e, como g(n) = fn (n), ent
N. Logo g nao foi listada, absurdo. Portanto, o conjunto de todas
as funcoes de N N nao e enumeravel. Como este conjunto e um
subconjunto de todas as funcoes parciais de N N, pelo Teorema
6.8 segue-se a conclusao.

Agora, se provarmos que as maquinas de Turing s
ao enumeraveis
podemos enunciar, via Tese de Church, o seguinte
Corol
ario 6.38 Existem funcoes (parciais ou nao) de N em N que
nao sao computaveis, isto e: nao sao computaveis por qualquer
criterio.


6.2.2

Enumera
c
ao das M
aquinas de Turing

Para enumerar as maquinas de Turing, observemos que o alfabeto sobre o qual se denem os programas para elas e {0, 1, D, E,
avel. Uma
q1 , q2 , . . . , qn , . . .} : um conjunto innito, mas enumer
maquina de Turing nada mais e do que uma palavra nita neste
alfabeto enumer
avel.
Pelo Corolario 6.13, o conjunto das palavras e enumeravel.
Como nem todas as palavras sobre este conjunto e uma maquina
de Turing, vem que o conjunto de todas as m
aquinas de Turing e
um subconjunto pr
oprio e innito deste conjunto enumer
avel. Portanto, e tambem enumeravel, pelo Teorema 6.8.
Para demonstrar que o problema da parada e indecidvel em
maquinas de Turing precisaremos exibir uma enumeracao das maquinas de Turing que representam funcoes parciais unarias, isto e:
funcoes parciais de N em N. Para isto precisamos dizer que tipos
de palavras sao maquinas de Turing. Uma enumeracao para as

No
c
oes de Computabilidade

323

maquinas de Turing que representam funcoes parciais unarias e a


seguinte: especicamos cada m
aquina concatenando suas qu
adruplas
numa u
nica palavra, comecando com a quadrupla cujo primeiro
smbolo e o estado inicial da maquina. Depois segue a qu
adrupla
cujo primeiro smbolo e o segundo estado da maquina, e assim por
diante. Com isto as quadruplas serao concatenadas em uma u
nica
palavra do seguinte modo:
1a instrucao 2a instrucao 3a instrucao . . . na instrucao.
Por exemplo a maquina que descreve a funcao parcial f : N N,
denida por f (a) = 1, dada no Exemplo 6.31 e:
q1 01q3 q1 10q2 q2 0Dq1 ,
que e a concatenacao das instrucoes 1, 1 e 2, nesta ordem.
Notemos que, como existem duas quadruplas com instrucoes q1 ,
e preciso escolher qual delas vem primeiro. Neste caso, o segundo
smbolo da qu
adrupla (zero ou um) decide a ordem, e a ordem
aqui e qi 0 precede qi 1 . De um modo preciso, o criterio
Cr, para que uma palavra represente uma m
aquina de Turing, e
o seguinte:
Cr.1 - O comprimento da palavra e m
ultiplo de 4.
Cr.2 - Nas posicoes 1, 4, 5, 8, 9, 12,. . . , 4n, 4n+1, . . . , ocorrem
apenas os smbolos qi ;
Cr.3 - Nas posicoes 2, 6, 10, 14,. . . , 4n+2, . . . , ocorrem apenas
os smbolos 0 ou 1.
Cr.4 - Nas posicoes 3, 7, 11,. . . , 4n+3, . . . , ocorrem os smbolos
D, E, 0 e 1, apenas.
Cr.5 - Nenhum par da forma qi 0 ou qi 1 ocorre mais de uma
vez nas palavras, para cada i 1.
Desde que xamos os smbolos que aparecem nas posicoes 4n,
4n + 1, 4n + 2, 4n + 3, este criterio caracteriza todas as palavras
que sao maquinas de Turing. O criterio 5 serve para impedir o
aparecimento de maquinas com instrucoes contradit
orias e tambem
para impedir repeticoes desnecessarias de quadruplas.

Aspectos Formais da Computa


c
ao

324

As palavras com apenas 4 smbolos que satisfazem o criterio


Cr serao consideradas como um Novo Alfabeto. Para enumer
a-lo,
usando o passeio de Cantor, enumeramos os ndices i e j em qi XY qj

q XYq3

q XYq

q1XYq2

q1XYq

q1XYq4

q2XYq 1

q XYq

q XYq 3

q XYq 4

q XYq0

q XYq1

q XYq

q3XYq

q XYq

q XYq

q XYq 1

q XYq

q XYq

q0XYq 0

q0XYq 1

q0XYq

q1XYq0

q1XYq1

q XYq

q XYq 3
4

Figura 6.3: Passeio de Cantor para ndices (i,j).

e, para cada par de ndices (i, j) em qi XY qj , prevalece a ordem:

qi 00qj , qi 01qj , qi 0Dqj , qi 0Eqj , qi 10qj , qi 11qj , qi 1Dqj , qi 1Eqj

Deste modo, o novo alfabeto tem a enumeracao:


Z0 = q0 00q0 , Z1 = q0 01q0 , . . . , Z7 = q0 1Eq0 , Z8 = q1 00q0 , . . . ,
Z15 = q1 1Eq0 , Z16 = q0 00q1 , . . . , Z23 = q0 1Eq1 , Z24 = q0 00q2 ,
. . . , Z31 = q0 1Eq2 , Z32 = q1 00q1 , . . . .
Para enumerar as palavras de comprimento 2, isto e, 2 quadruplas, facamos um passeio de Cantor sobre a matriz

No
c
oes de Computabilidade

325

Z0 Z0

Z0 Z1

Z0 Z2

Z0 Z3

Z0 Z4

Z0 Z5

Z0 Z6

Z1 Z0

Z1 Z1

Z1 Z2

Z1 Z3

Z1 Z4

Z1 Z5

Z1 Z6

Z2 Z0

Z2 Z1

Z2 Z2

Z2 Z3

Z2 Z4

Z2 Z5

Z2 Z6

Z3 Z0

Z3 Z1

Z3 Z2

Z3 Z3

Z3 Z4

Z3 Z5

Z3 Z6

Z4 Z0

Z4 Z1

Z4 Z2

Z4 Z3

Z4 Z4

Z4 Z5

Z4 Z6

Z5 Z0

Z5 Z1

Z5 Z2

Z5 Z3

Z5 Z4

Z5 Z5

Z5 Z6 ,

Z6 Z0

Z6 Z1

Z6 Z2

Z6 Z3

Z6 Z4

Z6 Z5

Z6 Z6 ,

como foi feito no Teorema 6.11 ou Corolario 6.13. Assim temos a


enumeracao:
Z0 Z0 , Z1 Z0 , Z0 Z1 , Z0 Z2 , Z1 Z1 , Z2 Z0 , Z3 Z0 , Z2 Z1 , Z1 Z2 ,
Z0 Z3 , Z0 Z4 , . . .
Desta enumeracao eliminamos as palavras Zi Zi , que correspondem `as maquinas de Turing com a u
nica instrucao Zi , i =
1, 2, . . . , j
a enumerada anteriormente. Palavras do tipo Zi Zj e
Zj Zi , i = j sao contadas apenas uma vez, pois correspondem a
mesma maquina. Finalmente eliminamos palavras que n
ao satisfazem o criterio Cr.5, por exemplo, Z0 Z1 = q0 00q0 q0 01q0 e Z1 Z4 =
q0 01q0 q0 0Eq0 . O que restar da uma enumeracao das maquinas de
Turing com duas instrucoes (duas palavras). De fato, este subconjunto e um conjunto innito de um conjunto enumer
avel (Teorema
6.8). Assim temos uma enumeracao das palavras de comprimento
2:
N0 = Z0 Z4 = q0 00q0 q0 10q0 , N1 = Z5 Z0 = Z0 Z5 = q0 00q0 q0 11q0 ,
N2 = Z4 Z1 = Z1 Z4 = q0 01q0 q0 10q0 , N3 = Z0 Z6 = q0 00q0 q0 1Dq0 ,
N4 = Z1 Z5 = q0 01q0 q0 11q0 , N5 = Z2 Z4 = q0 0Dq0 q0 10q0 , N6 =
Z7 Z0 = Z0 Z7 = q0 00q0 q0 1Eq0 , N7 = Z6 Z1 = Z1 Z6 =
q0 01q0 q0 1Dq0 , N8 = Z2 Z5 = q0 0Dq0 q0 11q0 , etc.
Usando as maquinas de Turing de 1 palavra e a enumeracao
Ni das maquinas de Turing de 2 palavras, facamos uma tabela

Aspectos Formais da Computa


c
ao

326

como na demonstracao do Corolario 6.13. Um passeio de Cantor


sobre ela nos da uma enumeracao destas palavras de comprimento
3. Usando o processo anterior para eliminar as palavras que n
ao
correspondem `as maquinas de Turing com 3 instrucoes, obtemos
uma enumeracao das maquinas de Turing de 3 instrucoes:
P0 = Z8 N0 = Z8 Z0 Z4 = Z0 Z4 Z8 = q0 00q0 q0 10q0 q1 00q0 , P1 =
Z9 N0 = Z0 Z4 Z9 = q0 00q0 q0 10q0 q1 01q0 , P2 = Z8 N1 = Z0 Z5 Z8 =
q0 00q0 q0 11q0 q1 00q0 , . . .
Com o mesmo processo, enumeramos maquinas de Turing de
comprimento n (n > 3) qualquer. Finalmente colocamos todas elas
numa matriz, onde a primeira linha s
ao as maquinas de Turing de
uma instrucao, a segunda linha s
ao as maquinas de Turing de duas
instrucoes, e assim sucessivamente,
Z1

Z0

1
P0
0

Z2

1
N1

N0

Z3

Z4

Z5

N3

N4

N5

0
N2

P1

P2

P3

P4

P5

Finalmente, um passeio de Cantor sobre ela nos da as primeiras maquinas de Turing:


M0 = Z0 = q0 00q0 , M1 = N0 = q0 00q0 q0 10q0 , M2 = Z1 =
q0 01q0 , M3 = Z2 = q0 0Dq0 , M4 = N1 = q0 00q0 q0 11q0 , M5 =
P0 = q0 00q0 q0 10q0 q1 00q0 , . . .
Assim temos uma enumeracao efetiva das maquinas de Turing e, portanto, vale o Corol
ario anterior.
Para mostrar que o problema da parada e indecidvel em maquinas de Turing, temos que ir mais adiante. Para isto, seja fn a funcao

No
c
oes de Computabilidade

327

parcial que corresponde a Mn e considere



d : N N,

d(n) =

1,
se fn (n) e indenida,
fn (n) + 1, se fn (n) e denida.

Ent
ao a funcao d nao esta na lista. De fato, se d = fm para algum
m, ent
ao d(m) = fm (m). Mas, por denicao da funcao d, temos:
fm (m) = 1 se fm (m) e indenida, e fm (m) = fm (m) + 1 se fm (m)
e denida, absurdo. Como d n
ao esta na lista, d n
ao e TuringComput
avel.
No entanto, embora d n
ao seja Turing-Comput
avel, e possvel calcular seus valores. Lembrando que na denicao de TuringComput
avel a maquina comeca a computacao no 1 mais `a esquerda
do bloco mais `a esquerda, temos:
ao para;
M0 representa f0 (n) = n+1; f1 (n) e indenida, pois M1 n
f2 (n) = f3 (n) = n + 1 e f4 (n) e f5 (n) tambem sao indenidas, pois
M4 e M5 nao param, etc. Assim temos d(0) = f0 (0)+1 = 2, d(1) =
1, d(2) = f2 (2) + 1 = 4, d(3) = f3 (3) + 1 = 5, d(4) = d(5) = 1,
etc.
Como e possvel que d n
ao seja computavel, se estamos computando seus valores? Na verdade, para funcoes parciais denidas, ou para funcoes parciais que sao indenidas mas param, e facil
calcular o valor de d(n) se temos tempo suciente. O problema sao
aquelas funcoes parciais que nao param. Em alguns casos, como
ao param, mas
nas maquinas M1 , M4 e M5 , e facil decidir que n
nas maquinas complexas pode ser difcil e muitas vezes o e.

Aceitando a Tese de Church, n


ao existe um metodo
CONCLUSAO:
efetivo que decida se uma dada func
ao parcial Turing-Comput
avel
p
ara ou n
ao, para uma dada entrada, ou seja: A Tese de Church
implica que o problema da Parada e indecidvel por m
aquinas de
Turing.
possvel dar uma outra prova, sem fazer
Observa
c
ao 6.39 E
apelo `a Tese de Church, de que o Problema da Parada e indecidvel
por maquina de Turing. Suponha que exista uma funcao parcial
ara
Turing-Comput
avel P (m, n), que decida se a maquina Mm p

Aspectos Formais da Computa


c
ao

328

ou nao para com entrada n :



0, se Mm p
ara com entrada n,
P (m, n) =
1, caso contrario.
P : N2 N nao esta na lista M0 , M1 , M2 , . . . , pois e uma funcao
parcial de 2 vari
aveis. No entanto, a funcao parcial denida pelo
seguinte diagrama e, obviamente, Turing-Comput
avel se P (m, n) o
for:


Entre com 1n+1 


 Copie 1n+1 a direita de 1n+1

 colocando 0 entre os blocos








Calcule P para 1n+1 0 1n+1 

| O resultado e 0?|
nao 1
|Escreva 1 e pare|

/ sim
|Nao pare|

O diagrama dene uma funcao parcial de uma vari


avel que e Computavel segundo Turing e, portanto, est
a na nossa lista, digamos
que e representada por Ms . Por construcao, Ms para com entrada
n se, e somente se, Ms nao para com entrada n (para todo n). Em
particular, Ms p
ara com entrada s se, e somente se, Ms nao para
com entrada s, absurdo.
Desse modo, quer a Tese de Church seja verdadeira ou nao,
as maquinas de Turing n
ao sao capazes de resolver seu proprio
problema de parada.

No
c
oes de Computabilidade

329

Exerccios
(1) Dena: Alfabeto, Palavras sobre um alfabeto, Algoritmos e de
exemplos diferentes dos algoritmos vistos ate aqui.
(2) Dena Godelizacao e de exemplos de Godelizacao diferentes dos
vistos ate aqui. Qual o n
umero de Godel do seu primeiro nome?
(3)(i) Para um dado n N, n > 0 faca uma maquina de Turing
que escreva 1n numa ta em branco.
(ii) Dados m, n N, ambos nao nulos, escreva 1m 01n numa
ta em branco.
(4)(i) Faca programas que computem, por maquinas de TuN3 N e g : N N, dadas por:
ring, as funcoes totais: f : 
1 se x = 0,
f (x, y, z) = x + z, e g(x) =
0 se x = 0.
(ii) Faca um programa para g f fazendo uma simulacao dos
programas obtidos para f e g em (i).
(5) Responda sim ou nao, fazendo um breve coment
ario que justique a resposta:
(i) O conjunto das funcoes totais de N em N e enumeravel.
(ii) O conjunto de todas as M
aquinas de Turing e enumeravel.
(iii) Existe uma funcao f : N N que nao e computavel por
nenhum criterio, mas e impossvel exibi-la.
(6) De uma outra enumeracao das maquinas de Turing.
(7) Faca um breve comentario sobre: O problema da parada e
indecidvel via maquinas de Turing.
(8) Faca programas que computem, por maquinas de Turing, as
funcoesparciais f : N N dada por
1,
x : par
f (x) =
e h : N N dada por
indenida, x : mpar,
 x
x : par
2,
h(x) =
indenida, x : mpar.
(9) Mostre que a funcao caractersticada igualdade,
1, se m = n
e Turingc : N2 {0, 1}, denida por c(m, n) =
0, se m = n.

Aspectos Formais da Computa


c
ao

330
Computavel.

(10) (a) Prove que a projecao na primeira coordenada P21 : N2


N, denida por P21 (m, n) = m e Turing-Computavel.
(b) Como voce prova que a i-esima projecao Pki : Nk N,
denida por Pki (n1 , . . . , ni , . . . , nk ) = ni , k i 1 e TuringComputavel?

6.3

Fun
c
oes comput
aveis

Nas seccoes subsequentes descreveremos um outro caminho para


tornar precisa a ideia de funcoes computaveis, formalizando o conceito que se teve a princpio de um computador, suas leis de fundamentacao para a teoria matematica de computabilidade e funcoes
computaveis.
J
a vimos que algoritmos muitas vezes estao ligados ao desenvolvimento de programas para executar operacoes matematicas.
Por exemplo, se queremos resolver:
(a) Dado n, ache o n-esimo n
umero primo.
(b) Dado um polin
omio, ache sua derivada.
(c) Dados a, b Z, ache mdc(a, b), ou
(d) Dados a, b Z, decida quando a e m
ultiplo de b.
Para todos esses problemas, podemos desenvolver algoritmos tais
que, para determinadas entradas, eles nos d
ao como respostas sadas
desejaveis. No caso (a), as entradas sao n
umeros naturais e sadas
n
umeros naturais primos, no caso (b), as entradas e sadas sao
polin
omios, no caso (c), as entradas sao pares de n
umeros inteiros
e as sadas sao n
umeros naturais e, nalmente, no caso (d), as
entradas sao n
umeros naturais e as sadas sao 0 ou 1(se convencionarmos 0 para falso e 1 para verdadeiro).
A ideia informal de algoritmo, como sendo uma lista com um
n
umero nito de instrucoes nao ambguas, cada instrucao executavel de modo que tenhamos uma resposta em um n
umero nito
de passos, sera associada `a nocao de funcao computavel. Nossas
denicoes sao dadas baseadas nas nocoes em que foram construdos
os computadores mais simples. Mas nao e por isso que algoritmos

No
c
oes de Computabilidade

331

ou procedimentos executados por computadores modernos, n


ao sao
exemplos de procedimentos efetivos; basta ter em mente a Tese de
Church. Qualquer computador, moderno ou n
ao, e limitado no
sentido de quantidade de n
umeros que pode receber como entradas
e a quantidade de espaco de trabalho; por exemplo, um dos fatores
limitantes e o tempo, outro e o espaco fsico. Um programa para
nossa maquina sera nito e requerer
a que a computacao seja completada em apenas um n
umero nito de passos. Entradas e sadas
serao sempre n
umeros ou seq
uencias nitas de n
umeros naturais.
Mas isto nao e restritivo no sentido de n
ao computar funcoes em
outros domnios, pois sempre podemos codicar e decodicar objetos por n
umeros naturais, como temos visto no processo de Godelizacao, por exemplo.

M
aquina de Registro Ilimitado - MRI
Uma das primeiras idealizacoes de um computador trazida `a

manifestacao e chamada de MAQUINA


DE REGISTRO ILIMITADO (=MRI), que e uma ligeira variacao da maquina concebida primeiro por Shepherdson e Sturgis (1963).
Uma MRI tem um n
umero ilimitado de registros denotados
por R1 , R2 , . . . . Cada Ri , em qualquer momento, contem algum
n
umero natural que denotaremos por ri . Podemos representa-la por

|r1 |r2 |r3 |r4 | |ri | |


onde cada registro Ri contem o n
umero natural ri . Cada n
umero ri
do registro Ri pode ser alterado pela MRI, em resposta a uma dada
instrucao. Essas instrucoes correspondem a operacoes numericas
implementadas na maquina.
Deni
c
ao 6.40 Um Programa para uma MRI e uma lista nita
de instrucoes dos tipos das descritas abaixo:
(a) Instruc
ao Zero: Para cada n = 1, 2, 3, . . . existe a instrucao zero
Z(n). A resposta da MRI `a instrucao Z(n) e alterar o conte
udo
umero natural Zero, deixando os outros
do registro Rn para o n
registros inalterados.

332

Aspectos Formais da Computa


c
ao

Nota
c
ao: Z(n) ou 0 Rn , ou ainda rn := 0 (que signica:
rn foi alterado para zero).
(b) Instruc
ao Sucessor: Para cada n = 1, 2, 3, . . . existe a instrucao
sucessor denotada por S(n). A MRI da como resposta `a instrucao
S(n) o n
umero natural rn + 1, no registro Rn , deixando os outros
registros inalterados. Isto e, a MRI acrescenta 1 ao conte
udo do
registro Rn e deixa os outros registros inalterados.
Nota
c
ao: S(n) ou rn + 1 Rn ou rn := rn + 1 (que signica:
rn foi alterado para rn + 1.
(c) Instruc
ao Transferencia: Para cada par (m, n), m = 1, 2,
3, . . . e n = 1, 2, 3, . . . , existe a instrucao transferencia, denotada
por T (m, n). A resposta da MRI a esta instrucao e trocar rn por
rm no registro Rn , deixando os outros registros inalterados.
Nota
c
ao: T (m, n) ou rm Rn ou rn := rm (que signica:
troque rn por rm , ou transra rm para o registro Rn ).
(d) Instruc
ao Salto: Na operacao de um algoritmo informal pode
ter um estagio quando um curso alternativo de acao e
descrito, dependendo do progresso das operacoes em estagios anteriores. Em outras situacoes pode ser necessario repetir uma dada
rotina v
arias vezes. Na MRI e possvel realizar tal procedimento
fazendo uso das instrucoes salto, saltando para tr
as ou para frente
na lista de instrucoes. Por exemplo, se uma determinada instrucao
Ik , k = 10, da lista do programa, e Se r2 = r6 vai para a 10a
instruc
ao da lista do programa, em outro caso vai para a pr
oxima
instruc
ao (Ik+1 ) da lista do programa. Esta instrucao sera denotada por J(2, 6, 10). Geralmente, para cada m = 1, 2, . . . , n =
1, 2, . . . e q = 1, 2, . . . existe a instrucao salto J(n, m, q), desde que
esta instrucao nao seja a instrucao Iq . A resposta da MRI para a
instrucao J(m, n, q) e como segue: Suponhamos que esta instrucao
e encontrada no programa. Os conte
udos dos registros Rn e Rm
sao comparados e
se rm = rn , a MRI pula para q-esima instrucao do programa
para executa-la,
se rm = rn , a MRI passa `a proxima instrucao da lista para
executa-la.
Se a instrucao salto e impossvel e porque o programa tem
menos de q instrucoes e, neste caso, a MRI para.

No
c
oes de Computabilidade
As instrucoes Zero,
instruc
oes aritmeticas.

333

Sucessor e Transferencia sao ditas

A Computa
c
ao e a Parada de uma MRI
Por convencao, a computacao inicia com uma dada congurac
ao
inicial a1 , a2 , a3 , . . . , nos registros R1 , R2 , R3 , . . . , onde ai sao n
umeros naturais. Uma congurac
ao inicial e uma seq
uencia quase
nula de n
umeros naturais (a1 , a2 , . . . , an , 0, 0, . . .). Isto signica que
os registros estao todos vazios, exceto um n
umero nito deles.
Suponhamos que um programa para uma MRI consista de s
instrucoes denotadas por I1 , I2 , . . . , Is . A maquina comeca a computacao executando as instrucoes em ordem, isto e, comeca executando I1 , depois I2 , e assim por diante, a menos que seja encontrada
uma instrucao salto Ik : J(n, m, q). Neste caso a MRI executa a
instrucao J(n, m, q), como descrita anteriormente, ou seja, passa a
instrucaoIq , caso n = m, ou passa `a instrucao Ik+1 , caso n = m..
A princpio a MRI executa as instrucoes enquanto for possvel,
e a MRI p
ara quando, e apenas quando, n
ao existe uma proxima
instrucao a ser executada. Isto pode ser descrito do seguinte modo:
Se a MRI computa um programa com as instrucoes I1 , I2 ,
. . . , Is e, tem executado a instrucao Ik e a proxima instrucao da
ao a MRI para:
lista a ser executada e Iv , ent
(i) Se k = s e Is e uma instrucao aritmetica (isto e: a MRI
executa a u
ltima instrucao da lista e nao ha mais instrucao a ser
ao e uma instrucao salto para tras),
executada, pois Is n
(ii) Se Ik = J(m, n, v), rm = rn e v > s (isto e: Ik pede
para a MRI executar uma instrucao que nao existe no programa),
(iii) Se Ik = J(m, n, v), rm = rn e k = s (neste caso a MRI
deve ir `a proxima instrucao do programa Is+1 , que nao existe).
Em qualquer destes casos dizemos que a computacao para depois
uencia r1 , r2 , . . . nos
da instrucao Ik , e a conguracao nal e a seq
registros depois desta etapa.
Vamos identicar um programa para uma MRI com a pr
opria
MRI. Como exemplo, considere o seguinte programa

Aspectos Formais da Computa


c
ao

334
I1 : J(1, 2, 6)
I2 : S(2)
I3 : S(3)

I4 : J(1, 2, 6)
I5 : J(1, 1, 2)
I6 : T (3, 1).

Se considerarmos a computacao dada por esta MRI sobre a


conguracao inicial

|8|6|2|0|

podemos representar todo estagio da computacao que ocorre dentro


da maquina, exibindo a conguracao e a proxima instrucao a ser
executada pela MRI em cada etapa da computacao.

Conguracao
|
|
|
|
|
|
|
|
|
|

8
8
8
8
8
8
8
8
8
4

|
|
|
|
|
|
|
|
|
|

6
6
7
7
7
7
8
8
8
8

|
|
|
|
|
|
|
|
|
|

Proxima instrucao
2
2
2
3
3
3
3
4
4
4

|
|
|
|
|
|
|
|
|
|

0
0
0
0
0
0
0
0
0
0

|
|
|
|
|
|
|
|
|
|

I1
I2
I3
I4
I5
I2
I3
I4
I6

(pois r1 =
 r2 )

(pois r1 =
 r2 )
(pois r1 = r1 )

(pois r1 = r2 )

Observe que a maquina p


ara nesta u
ltima conguracao porque
I6 e uma instrucao aritmetica e nao ha uma proxima instrucao.
Portanto, para a entrada 8, 6, 2, 0, . . . temos como sada a seq
uencia 4, 8, 4, 0 . . . .
Um diagrama corrido ou simplesmente um diagrama descreve
informalmente muito bem as etapas de um programa e tem o merito
de dar globalmente uma visualizacao de como ocorre a computacao.
Por exemplo, o diagrama do programa anterior e

No
c
oes de Computabilidade

335

incio



 r1 = r2 ? 

nao

sim

|r3 R1 |

|r2 := r2 + 1|

|r3 := r3 + 1|

Pare
Note a convencao, dada no diagrama, para a instrucao salto
J(m, n, k) : normalmente aparece a interrogacao rm = rn ? A,
existem 2 caminhos alternativos a seguir, dependendo dos conte
udos rm e rn dos registros Rm e Rn , respectivamente. Note,
tambem, o salto para tras forcado pela resposta nao `a 2a quest
ao: r1 = r2 ? Ele e obtido pela 5a instrucao J(1, 1, 2), que e um
salto incondicional, pois sempre temos r1 = r1 , e esta instrucao
forca a volta `a instrucao I2 , quando ela e encontrada.
Quando escrevemos um programa para executar um dado algoritmo, muitas vezes e melhor escrever o diagrama como um passo
intermedi
ario, decorre da, que a translacao de um diagrama em
um programa e usualmente rotineira.
Pode existir computacao que nunca p
ara: por exemplo,
nenhuma computacao do programa P1 dado pelas instrucoes
I1 : S(1) e I2 : J(1, 1, 1)
sobre qualquer conguracao inicial p
ara. De fato, a instrucao salto
dada pela instrucao I2 invariavelmente causa, nesta maquina, um
retorno para a instrucao I1 .
Existem programas mais sosticados em que a computacao
nunca p
ara. Mas, na execucao de um programa, isto sempre e causado, essencialmente, por um tipo de rotina na lista de instrucoes,
gerada por uma ou mais instrucoes salto.

336

Aspectos Formais da Computa


c
ao

A questao de decidir quando uma particular computacao eventualmente para ou n


ao para e um pouco complicada, como ja temos
visto quando tratamos de m
aquinas de Turing.

6.3.1

Fun
c
oes MRI Comput
aveis

Para cada seq


uencia quase nula (a1 , a2 , . . .) de n
umeros naturais
existe n N que depende da seq
uencia tal que am = 0, se m > n. Se
P e um programa para uma MRI denotemos por P (a1 , a2 , . . . , an )
a execucao do programa P pela MRI sobre a conguracao inicial
(a1 , a2 , . . . , an , 0 . . .).
Deni
c
ao 6.41 Dizemos que P (a1 , . . . , an ) ou P (a1 , a2 , . . . ,
an , 0 . . .) converge se, com a conguracao inicial (a1 , a2 , . . . ,
an , 0, . . .) a MRI para; e dizemos que converge para b N se, alem
disso, no nal da computacao, b e o elemento do registro R1 , isto
e, r1 = b. Se P (a1 , . . . , an ) nao para dizemos que P (a1 , . . . , an )
diverge.
Sejam f : Nn N uma funcao parcial e P um programa
para uma MRI. Dizemos que P computa f (ou computa f (x)) por
uma MRI se para toda n-upla (a1 , . . . , an ) Dom(f ) temos que
/
P (a1 , . . . , an ) converge para b = f (a1 , . . . , an ). Se (a1 , . . . , an )
Dom(f ), ent
ao P (a1 , . . . , an ) diverge.
Uma funcao parcial f : Nn N e dita MRI comput
avel se
existe um programa P que computa f (x) em uma MRI.
oes parciais f : Nn N
Denotemos por Cn a classe das func
que sao MRI computaveis.
Exemplo 6.42 (a) Seja f : N2 N denida por f (x1 , x2 ) =
x1 + x2 .
Um programa que computa f pode ser obtido somando 1 a`
x1 , x2 vezes, usando a instrucao sucessor. A conguracao inicial
e x1 , x2 , 0, . . . . Nosso programa adiciona 1 `a r1 (no registro R1 ),
umero de 1s acrescidos
usando R3 como um contador que marca o n
a r1 .

No
c
oes de Computabilidade

337

Uma conguracao tpica sera: x1 + k, x2 , k, 0, . . . A parada deve


ser imposta quando x2 = k, pois a temos x1 + x2 em R1 . Um
programa e dado por:

I1 : J(2, 3, 5)

I2 : S(1)

I3 : S(3)

I4 : J(1, 1, 1),

cujo diagrama e:
incio


 (k = x2 ?)

 r3 = r2 ?
n
ao






sim

Pare.


 (k := k + 1)
|r1 := r1 + 1| 
r3 := r3 + 1

(b) Sejaf : N N denida por f (x) = x 1, onde

x 1, se x > 0,
x 1 :=
0,
se x = 0.
Um diagrama e o seguinte






338

Aspectos Formais da Computa


c
ao
Incio

|r1 = r2 ?|

sim

Pare

n
ao
|r2 := r2 + 1|

|r1 = r2 ?|

.
n
ao

|r3 := r3 + 1|

sim
|r1 := r3 |

Pare
Como f (x) e uma funcao de uma vari
avel a conguracao inicial e: x, 0, . . . e o programa do diagrama anterior e como segue:
ao,
Primeiro vericamos se x = 0 (r1 = r2 ). Se for, paramos; se n
usamos os registros R2 e R3 como contadores com r2 = k + 1 e
r3 = k, k = 0, 1, 2, . . . e entramos na seguinte rotina: vericar se
x = k + 1 (r1 = r2 ). Se for, o resultado nal e k, isto e, T (3, 1), se
nao, acrescentamos 1 aos registros R2 e R3 e repete-se o processo.
Portanto, depois de k etapas na computacao, a conguracao tpica
e: x, k + 1, k, 0 . . . e o programa e:
I1 : J(1, 2, 7), I2 : S(2), I3 : J(1, 2, 6), I4 : S(3), I5 : J(1, 1, 2),
I6 : T (3, 1).
 1
se x e par
2 x,
(c) f (x) =
indenida, se x: mpar
Neste exemplo, temos que o domnio de f e o conjunto dos
n
umeros pares, e devemos fazer um programa que nao para se a
entrada e mpar.
Utilizemos dois registros como contadores contendo k e 2k,
k = 0, 1, . . . para vericarmos se x = 2k. Se x = 2k, a resposta

No
c
oes de Computabilidade

339

e k, se nao, adicionamos 1 a k e 2 a 2k. Claramente, se x = 2n + 1,


o procedimento nao para.
Uma conguracao tpica e: x, k, 2k, 0, . . . , e o diagrama e o
seguinte

Incio




 x = 2k?  sim  T (2, 1) = k R1
 

 r1 = r3 ? 

r1 := r2

nao

 r3 = r3 + 2

 2k = 2k + 2



 Pare


.




  r2 := r2 + 1
 k := k + 1







A partir deste diagrama, fazemos o seguinte programa para esta


funcao parcial:
I1 : J(1, 3, 6), I2 : S(3), I3 : S(3), I4 : S(2), I5 : J(1, 1, 1), I6 :
T (2, 1).
Logo, f (x) e MRI computavel.
Observa
c
ao. Nao existe um u
nico programa que computa por
uma MRI uma dada funcao parcial. Basta ver que, uma vez obtido
um programa P que computa uma funcao f, podemos construir
outro programa P  adicionando a P instrucoes sem efeito, ou seja,
instrucoes que nao alteram mais o conte
udo do registro R1 , e P 
p
ara em uma dada n-uplas se, e somente se, P p
ara nesta n-upla,
e ambos os programas divergem nas mesmas n-uplas. No entanto,
a recproca e verdadeira: Dado um programa P para uma MRI, se
existir alguma funcao parcial f : Nn N, tal que P computa f (x),
ent
ao ela e u
nica. Assim,
Nota
c
ao 6.43 Seja P um programa para uma MRI, tal que
P (a1 , . . . , an ) converge pelo menos em uma n-upla (a1 , . . . , an ).

340

Aspectos Formais da Computa


c
ao

Denotemos por fPn a u


nica funcao parcial de Nn em N que e computavel por P.
De fato, a funcao parcial g : Nn N, denida por
g(x1 , . . . , xn ) = b se, e somente se, P (x1 , . . . , xn ) converge para
b, e a u
nica funcao parcial de Nn em N que pode ser computado
pelo programa P em uma MRI.
ao, para
Por exemplo, dado o programa P = I1 : S(1), ent
qualquer n
umero de vari
aveis n, P (x1 , x2 , . . . , xn ) da como resultado x1 + 1 em R1 , sobre qualquer entrada (x1 , x2 , . . . , xn , 0, . . .).
nica funcao parcial de Nn em
Logo, fPn (x1 , . . . , xn ) = x1 + 1 e a u
N computavel por P.
Finalmente, facamos um programa que compute por uma MRI
- 2x .
, onde [q] signica o maior
a seguinte funcao parcial: f (x) =
3
n
umero inteiro contido no n
umero racional q.
Solucao: Um programa pode ser feito do seguinte modo: Usamos
dois registros, digamos R2 e R3 como contadores com r2 = k e
r3 = 2k, e perguntamos quando x = k (x = r2 ) para k = 0, 1 . . . .
Se x = k, usamos S(2) e duas vezes S(3) para fazer r2 = k + 1 e
r3 = 2k + 2. Repete-se o processo perguntando se x = r2 , ate obter
x = r2 = k. Com isto, r3 = 2k = 2x e resta programar o maior
2k
para obter f (x).
inteiro contido em
3
Para esta segunda etapa do programa, usamos quatro registros, digamos R4 , R5 , R6 e R7 como contadores, onde r4 =
s, r5 = 3s, r6 = 3s + 1 e r7 = 3s + 2, e perguntamos quando
- r5 .
=
2k e igual a 3s, 3s + 1 e 3s + 2 para s = 0, 1 . . . (pois
3
- r6 .
- r7 .
=
= r4 = s). Quando isto ocorrer, colocamos como
3
3
resposta s = r4 em R1 . A conguracao inicial e x, 0, 0, . . . , pois f e
uma funcao parcial de uma vari
avel, e uma conguracao tpica de
um determinado estagio da computacao e x, k, 2k, s, 3s, 3s + 1, 3s +
2, 0, 0, . . . . Como os valores iniciais para k e s sao zero, as tres
primeiras instrucoes do programa a seguir servem para deixar a conguracao inicial na forma x, 0, 0, 0, 0, 1, 2, 0 . . . (uma conguracao
inicial tpica).
O diagrama e:

No
c
oes de Computabilidade

341

Incio


 x = k?

 r1 = r2 ?






n
ao

sim


 2k := 2k + 2

 r3 := r3 + 2


 3s+2 := 3s+5

 r7 := r7 + 3







 3s+1 := 3s+4

 r6 := r6 + 3


 3s := 3s + 3

 r5 := r5 + 3





.







 2k = 3s?

 r3 = r5 ?


 k := k + 1

 r2 := r2 + 1
















nao

 2k = 3s+1?

 r3 = r6 ?

/ sim

 sim
 |r4 R1 | Pare


n
ao

 2k = 3s + 2?

 r3 = r7 ?
n
ao

 s := s + 1

 r4 := r4 + 1






0 sim






O programa que computa f (x) feito sobre o diagrama acima e:


I1
I2
I3
I4
I5
I6

: S(6)
: S(7)
: S(7)
: J(1, 2, 9)
: S(2)
: S(3)

I7 : S(3)
I8 : J(1, 1, 4)
I9 : J(3, 5, 23)
I10 : J(3, 6, 23)
I11 : J(3, 7, 23)
I12 : S(4)

I13
I14
I15
I16
I17
I18

: S(5)
: S(5)
: S(5)
: S(6)
: S(6)
: S(6)

I19
I20
I21
I22
I23

: S(7)
: S(7)
: S(7)
: J(3, 3, 9)
: T (4, 1)

Para nalizar esta secao, vamos tratar de predicado decidvel e computabilidade sobre outros conjuntos.

Aspectos Formais da Computa


c
ao

342

No captulo 1, vimos que um predicado n-ario de n


umeros
naturais, e uma sentenca aberta sobre o conjunto dos n
umeros
naturais contendo n vari
aveis. A func
ao caracterstica do predicado M, denotada por cM (x), onde x = (x1 , x2 , . . . , xn ), e denida por:

1, se M (x) e verdadeira,
cM (x) =
0, se M (x) e falso.
Por exemplo, se M (x, y) e o predicado x divide y, ent
ao cM (x, y)
= 1, se x divide y, e cM (x, y) = 0, no outro caso.
Deni
c
ao 6.44 Predicado Decidvel
Um predicado n-ario de n
umeros naturais M (x), (onde x =
(x1 , x2 , . . . , xn )) sera dito decidvel se sua funcao caracterstica cM :
Nn N for MRI computavel. Caso contrario, o predicado sera dito
indecidvel.
Um subconjunto A de Nn sera dito decidvel se sua funcao
caracterstica for MRI computavel.
Exemplo 6.45 (a) - O predicado M (x) : x = 0e decidvel, pois
sua funcao caracterstica

1, se x = 0
cM (x) =
0, se x =
 0
e MRI computavel. De fato, o seguinte programa computa cM (x).
I1 : J(1, 2, 3),

I2 : J(1, 1, 4),

I3 : S(2),

I4 : T (2, 1).

(b) - O predicado M (x1 , x2 ) : x1 = x2 sobre N N e decidvel.


Para vericar esta armacao, faca o exerccio (1)(c) no nal deste
captulo.
Observa
c
ao 6.46 Existem predicados, como x e multiplo de y,
que, apesar de simples, quaisquer programas para as suas funcoes
caractersticas sao extremamente complicados e extensos.
Adiante, neste captulo, desenvolveremos algumas tecnicas de computabilidade que nos permitir
ao dizer que algumas funcoes parciais
mais complexas sao computaveis, sem ter a necessidade de exibir
qualquer programa que as compute por uma MRI.

No
c
oes de Computabilidade

343

Agora, faremos um breve comentario sobre a computabilidade em outros conjuntos, numericos ou nao, mas enumeraveis.
Apesar de uma MRI trabalhar apenas com n
umeros naturais, isto
n
ao signica que estamos restritos apenas a este campo n
umerico,
pois sempre podemos codicar objetos por n
umeros.
Deni
c
ao 6.47 Um c
odigo de um conjunto de objetos D e uma
funcao : D N injetiva. Dizemos que o objeto d esta codicado
pelo n
umero natural (d).
Um exemplo de codicacao e o processo de Godelizacao que
vimos em secoes anteriores.
Agora suponhamos que f (x) e uma funcao parcial de D em
ao
D, D = . Dizemos que f = f 1 : N N codica a func
parcial f. Dizemos, tambem, que a funcao parcial f : D D e MRI
comput
avel se f : N N e MRI computavel. Tendo em vista
estes conceitos, podemos estudar computabilidade sobre qualquer
domnio enumer
avel.
Exemplo 6.48 Considere a funcao f : Z Z denida por f (x) =
x 1. Esta
 funcao e MRI computavel sobre Z. De fato, a funcao
2n, se n 0
(n) =
codica n
umeros inteiros. Sua in2n 1, se n < 0

1
e par,
2 m, se m
versa e dada por 1 (m) =
Logo,
1
2 (m + 1), se m e mpar.
f = f 1 : N N e uma funcao dada por

1, se x = 0 (i.e. x = (0)),

x 2, se x > 0 e x e par (i.e. x = (n), n > 0),


f (x) =

x + 2, se x e mpar (i.e. x = (n), n < 0).


Agora e rotina escrever um programa para f . Assim podemos concluir que f : Z Z e MRI computavel. Veja exerccio (3)(b) no
nal deste captulo.

6.3.2

Gerando Fun
co
es Comput
aveis

Neste paragrafo veremos varios metodos de combinar funcoes parciais MRI computaveis para obter outras funcoes parciais MRI comput
aveis. Isto possibilita-nos mostrar bem rapidamente que uma

344

Aspectos Formais da Computa


c
ao

determinada funcao parcial MRI comput


avel e MRI computavel,
sem a necessidade de escrever um programa que a compute, programa este que pode ser bastante trabalhoso e tedioso.
Primeiro vericaremos que algumas funcoes parciais particularmente simples sao MRI computaveis. Essas funcoes parciais serao
chamadas de func
oes b
asicas. Sao as funcoes Zero : Nn
N, Sucessor S : N N e Projecao Pni : Nn N, denidas,
respectivamente, por (x) = 0, x Nn , S(x) = x + 1, x N
e Pni (x) = xi , x = (x1 , x2 , . . . , xn ) Nn . Depois, usando tecnicas
que serao desenvolvidas nas secoes posteriores, mostraremos que
funcoes parciais mais complexas, geradas a partir destas, sao MRI
computaveis.
Lema 6.49 As funcoes basicas , S, Pni sao MRI computaveis.
Demonstracao: Essas funcoes parciais correspondem `as instrucoes aritmeticas dadas a uma maquina MRI, cujos programas s
ao,
respectivamente: Programa Z(1), Programa S(1) e Programa
T (i, 1).

Uni
ao de Programas
Adiante necessitaremos de escrever programas que incorporem outros programas como sub-programas ou como rotinas de um
programa maior. Segue uma tecnica para fazer isto.
Suponhamos que temos os programas P e Q e desejamos escrever um programa com a seguinte caracterstica: Primeiro queremos a acao de P e depois a acao de Q. A intuicao diz que primeiro
devemos colocar, neste novo programa, as instrucoes de P seguidas
das instrucoes de Q e, portanto, existem dois pontos a considerar:
(A) Suponhamos que P : I1 , I2 , . . . , Is . Como a computacao
sobre P e completada quando a pr
oxima instrucao e Iv com v > s,
devemos exigir que a computacao, no novo programa composto,
tenha Iv como sendo a 1a instrucao de Q, ou seja, v = s + 1 com
Is+i = Ii , onde Q : I1 , I2 , . . . , It . Assim, para a construcao do
novo programa, somos obrigados a considerar programas P que
invariavelmente param porque a pr
oxima instrucao, depois do programa P, deve ser Is+1 . Dizemos que tais programas estao na forma

No
c
oes de Computabilidade

345

can
onica. Claro que somente instrucoes saltos podem fazer com que
um programa n
ao pare na forma can
onica. Ent
ao diremos que um
onica se, para toda
programa P = I1 , I2 , . . . , Is , esta na forma can
instrucao salto J(m, n, q) de P, temos que q s + 1. Os programas
do exemplo 6.45(a) e do exerccio (2) estao na forma canonica. A
forma canonica nao e restritiva, como mostra o lema a seguir.
Lema 6.50 Para todo programa P que para, existe um programa
P na forma canonica, tal que a computacao em P e em P e a
mesma, exceto possivelmente no modo dos programas pararem. Em
particular, para todos a1 , . . . , an , b N, tem-se que P (a1 , a2 , . . . , an )
converge para b se, e somente se, P (a1 , . . . , an ) converge para b e,
portanto, fPn = fPn para todo n > 0.
Demonstracao: Se P esta na forma canonica, tome P igual a
P. Caso contrario, sejam I1 , I2 , . . . , Is as instrucoes do programa
P. Ent
ao, para obter P de P, basta mudar as instrucoes salto
que param para as instrucoes salto que param na instrucao Is+1 .
Assim, podemos escrever P : I1 , I2 , . . . , Is , onde Ik = Ik , se Ik e
uma instrucao aritmetica, e, se Ik e uma instrucao salto, digamos,
ao Ik = J(m, n, s + 1). Da P
Ik = J(m, n, q), q > s + 1, ent
satisfaz as condicoes desejadas.

O outro ponto a considerar quando unimos P e Q e
(B) relativo `as instrucoes salto de Q. Se a instrucao J(i, j, r)
ocorre no programa Q, signica que temos um salto para a r-esima
instrucao de Q, que na uni
ao de P e Q sera agora s + r. Portanto,
para adequ
a-la `a uni
ao de P e Q, devemos corrigir para J(i, j, s+r).
Com estas modicacoes temos:
Deni
c
ao 6.51 Uni
ao ou Concatenac
ao de Programas.
Sejam P e Q programas de comprimento s e t respectivamente,
ambos na forma canonica. A uni
ao ou concatenac
ao dos programas
P e Q denotados por P Q e o programa:

, . . . , Is+t
,
I1 , I2 , . . . , Is , Is+1
, . . . , I
onde P : I1 , I2 , . . . , Is e Is+1
ao as instrucoes I1 , I2 , . . . ,
s+t s
It de Q, respectivamente, onde as instrucoes salto J(m, n, q) do
programa Q sao substitudas por J(m, n, s + q).

346

Aspectos Formais da Computa


c
ao

Com esta denicao, e claro que o efeito do programa P Q e o


desejado, isto e, toda computacao sobre P Q corresponde `a computacao inicial P seguida da computacao Q, cuja conguracao inicial de Q e a conguracao nal da computacao de P.
Suponhamos, agora, que desejamos compor programas Q e P
tendo P como sub-rotina. Para escrever este novo programa Q , e
preciso achar um registro que ca inalterado pelo programa P. O
seguinte procedimento busca este registro.
Como temos um n
umero nito de instrucoes em P, existe um
menor n
umero u, tal que nenhum dos registros Rv , v > u, sao
mencionados no programa P, ou seja, se Z(n) ou S(n) ou T (m, n)
ou J(m, n, p) e uma instrucao de P, ent
ao n u e m u. Portanto, o conte
udo de Rv e inalterado na computacao dada por P e
nao inuencia os valores r1 , r2 , . . . , ru . Assim, quando escrevemos
o programa Q , o registro Rv para v > u pode ser usado, por
exemplo, para guardar informacoes, sem ser afetado por qualquer
computacao da sub-rotina P.
Denotemos o n
umero u por (P ). Para v > u, os registros
Rv que foram usados sao chamados de arquivos ou arquivos de
mem
oria.
Finalmente, se P e um programa na forma can
onica que computa a funcao f (x1 , x2 , . . . , xn ) e P e usado como rotina de um
programa maior, as entradas x1 , x2 , . . . , xn usadas para calcular
f (x1 , x2 , . . . , xn ) convem ser guardadas nos registros R(P )+1 , . . . ,
R(P )+n , em vez dos registros R1 , . . . , Rn , como o programa P simples requer, alem disso, a sada f (x1 , x2 , . . . , xn ) computada pela
rotina P convem ser guardada no registro R(P )+n+1 , em vez de
R1 , como foi convencionado. Esses cuidados devem ser considerados, pois, alem de os registros R1 , . . . , R(P ) poderem conter todo
tipo de informacoes nao desejadas, os valores xi , i = 1, . . . , n e
f (x1 , . . . , xn ) podem ser usados, caso necessario, em qualquer momento da computacao, ja que sabemos onde busca-los. Todos esses
conceitos serao usados no teorema seguinte.
Substitui
c
ao
D
a-se o nome de substituic
ao ao processo de obter novas funcoes

No
c
oes de Computabilidade

347

parciais substituindo funcoes parciais em outras funcoes parciais, ou


seja, fazendo uso da composicao de funcoes parciais. O proximo teorema mostra que, quando este processo e usado sobre funcoes parciais MRI computaveis, obtem-se funcoes parciais MRI computaveis.
Ent
ao podemos dizer que a classe de todas as funcoes parciais
MRI computaveis (denotada por C) e fechada para a operacao de
substituicao.
Notemos que se f (y1 , . . . , yk ) e g1 (x), . . . , gk (x) sao funcoes parciais, entao h(x) = f (g1 (x), . . . , gk (x)) esta denida se, e somente
se, g1 (x), g2 (x), . . . , gk (x) estao denidas e (g1 (x), . . . ,
gk (x)) pertence ao domnio de f. Em particular, se f e g1 , . . . , gk
sao funcoes, entao h e uma funcao.
Teorema 6.52 Suponhamos que f (y1 , y2 , . . . , yk ) e g1 (x), . . . ,
gk (x) sao funcoes parciais MRI computaveis, onde x =
ao, h(x)  obtida por substituicao e denida por
(x1 , . . . , xn ). Ent
h(x) := f g1 (x), . . . , gk (x) tambem e MRI computavel.
otese e Lema 6.50 existem programas
Demonstracao: Por hip
na forma canonica F, G1 , . . . , Gk que computam f, g1 , . . . , gk ,
respectivamente. Seja = max{(F ), (G1 ), . . . , (Gk )}. Facamos um programa H, contendo uma ligeira modicacao desses programas como subprogramas, e que computa h do seguinte modo:
Entre com a conguracao (inicial) x1 , x2 , . . . , xn , 0, . . . usando a
instrucao sucessor. Esta etapa, em geral, e evitada em qualquer
programa e, em geral, comecamos o programa ja supondo a conguracao inicial na maquina. Considerando isto, iniciamos com
(1) Transra xi do arquivo Ri para o arquivo R+i , i = 1, 2, . . . , n,
usando a instrucao Transferencia.
(2) Aplique G1 em x = (x1 , . . . , xn ). Isto da g1 (x) em R1 .
(3) Coloque g1 (x) no arquivo R+n+1 usando a instrucao Transferencia.
(4) Apague R1 , . . . , R usando a instrucao zero.
(5) Transra xi de R+i para Ri usando a instrucao Transferencia.
(6) Aplique G2 em x, obtendo g2 (x) em R1 .
(7) Usando a instrucao Transferencia, coloque g2 (x) no arquivo
R+n+2 .

Aspectos Formais da Computa


c
ao

348

(8) Repetindo o raciocnio para todos os outros programas Gi ,


obteremos g1 (x), g2 (x), . . . , gk (x) nos arquivos R+n+1 , R+n+2 ,
. . . , R+n+k , respectivamente.
(9) Agora apagamos novamente os registros R1 , . . . , R e transferimos os conte
udos g1 (x), . . . , gk (x) dos arquivos R+n+1 , . . . ,
R+n+k para os registros R1 , . . . , Rk .
(10) Aplique F e pare.
Quando aplicarmos F na k-upla (g1 (x), . . . , gk (x)) obteremos
f (g1 (x), . . . , gk (x)), pois F esta na forma canonica e obrigatoriamente a maquina vai parar com f (g1 (x), . . . , gk (x)) em R1 . Uma
conguracao tpica quando estamos aplicando Gr (e o programa
Gr como subprograma de H), 1 < r < k e

R1
s1

R2
s2

R+n
xn
|

Rn
sn

R+n+1
g1 (x) |

R+n+r
0

R
s

R+n+r1
gr1 (x)
|

Como foi descrito nos passos anteriores, o diagrama para o programa H e:

No
c
oes de Computabilidade

 Inicia com

 x = (x1 , x2 , . . . , xn )







 Transfere xi de Ri para

 R+i , i = 1, 2, . . . , n


 Aplique G1 em

 x = (x1 , . . . , xn )

349






|Pare|


 Aplique F em

 (g1 (x), g2 (x), . . . , gk (x))












 Transfere g1 (x)

 para R+n+1







 Transfere gj (x) de R+n+j

 para Rj , j = 1, . . . , k






|Apague R1 , R2 , . . . , R |


 Transfere xi de R+i

 para Ri , i = 1, . . . , n.

|Apague R1 , R2 , . . . , R |





..
.





 Aplique G em x   Transfere g2 (x)de
2
 R1 para R+n+2






Tendo em vista este diagrama, a construcao do programa H e


um trabalho bastante simples. Claramente, a computacao H(x)
p
ara se, e somente
 se, cada computacao Gi (x) (1 i k) e

F g1 (x), . . . , gk (x) param.

Aspectos Formais da Computa


c
ao

350

Exemplo 6.53
 Sejam f (x1 , x2 ) = x1 + x2 , g1 (x1 , x2 ) = x2 e
1, se x1 = x2 ,
Ent
ao
g2 (x1 , x2 ) =
0, se x1 = x2 .



x2 + 1, se x1 = x2 ,
f g1 (x1 , x2 ), g2 (x1 , x2 ) =
x2
se x1 = x2 .
Temos os programas: F = I1 : J(2, 3, 5), I2 : S(1), I3 : S(3), I4 :
J(1, 1, 1),
G1 = I1 : T (2, 1) e G2 = I1 : J(1, 2, 4), I2 :
T (3, 1), I3 : J(1, 1, 6), I4 : S(3), I5 : J(1, 1, 2).
Estes programas estao na forma canonica e k = n = 2. As
constantes (F ) = 3, (G1 ) = 2 e (G2 ) = 3 nos dao = max{3, 2}
= 3. Logo, o programa H e dado por:
I1
I2
I3
I4
I5
I6

: T (1, 4)
: T (2, 5)
: T (2, 1)
: T (1, 6)
: Z(1)
: Z(2)

I7 : Z(3)
I8 : T (4, 1)
I9 : T (5, 2)
I10 : J(1, 2, 13)
I11 : T (3, 1)
I12 : J(1, 1, 15)

I13
I14
I15
I16
I17
I18

: S(3)
: J(1, 1, 11)
: T (1, 7)
: Z(1)
: Z(2)
: Z(3)

I19
I20
I21
I22
I23
I24

: T (6, 1)
: T (7, 2)
: J(2, 3, 25)
: S(1)
: S(3)
: J(1, 1, 21)

Observe que G1 = I3 , G2 = I10 , . . . , I14 e F = I21 , . . . , I24 . Assim, para construir um programa para a composicao
f (g1 (x), g2 (x), . . . , gk (x)), nao basta, simplesmente, concatenar os
programas de g1 (x), g2 (x), . . . , gk (x) e de f (y1 , . . . , yk ). Alem disso,
e preciso ajustar estes programas adequadamente.
A partir de funcoes parciais dadas, podemos obter novas funcoes
parciais permutanto ou identicando vari
aveis, ou ainda, adicionando uma ou v
arias vari
aveis mudas nas funcoes parciais. Mais formalmente, se f (x, y) e dada, ent
ao:
g(y, x) := f (x, y) (e uma permutacao)
h(x) := f (x, x) (e uma identicacao)
j(x, y, z) := f (y, z) (e uma adicao de uma vari
avel muda)
O teorema a seguir e um corolario do Teorema anterior e mostra
que essas funcoes parciais, bem como combinacoes delas, transformam funcoes parciais MRI computaveis em funcoes parciais MRI
computaveis.

No
c
oes de Computabilidade

351

Teorema 6.54 Suponhamos que f (y1 , . . . , yk ) e uma funcao paruencia de k vari


aveis
cial MRI computavel e xi1 , . . . , xik e uma seq
ao a
das vari
aveis x1 , . . . , xn (possivelmente com repeticoes). Ent
funcao parcial h denida por: h(x1 , . . . , xn ) := f (xi1 , . . . , xik ) e
MRI computavel.
Demonstracao: Escrevendo
x = (x1 , .. . , xn ), temos que h(x) e

denida por h(x) := f pin1 (x), . . . , pink (x) , que e MRI computavel
devido ao Lema 6.49 e ao Teorema 6.52.


6.3.3

Fun
co
es Recursivas Primitivas

Apesar de que a denicao mais convincente de procedimentos mecanicos seja dada pelo conceito de maquinas abstratas de Turing, o
conceito equivalente de funcoes recursivas aparece primeiro, historicamente, mais ou menos com a culminacao das denicoes recursivas
simples de adicao e multiplicacao. Isto porque a nocao de recursao e
uma sosticacao da nocao de inducao aplicada `as denicoes, onde
se tenta tirar o maximo de proveito das propriedades de ordem
dos naturais. Por isso as funcoes recursivas estao mais proximas
dos abacos que conhecemos para operar com inteiros (por exemplo,
adicao, multiplicacao etc.).
A recursao e um metodo de denicao de funcoes parciais, especicando cada um de seus valores em termos de outros valores
previamente denidos e, possivelmente, usando outras funcoes parciais ja dadas. Para ser mais preciso,
Deni
c
ao 6.55 Sejam f (x) e g(x, y, z) (onde x = (x1 , . . . , xn ))
funcoes parciais nao necessariamente MRI computaveis.
A
funcao parcial h(x, y) denida por:
(i) h(x, 0) := f (x) 

(ii) h(x, y + 1) := g x, y, h(x, y)
e dita ser denida por recurs
ao das func
oes parciais f (x) e g(x, y, z)
e as equacoes (i) e (ii) sao ditas equac
oes de recurs
ao.
`
A primeira vista surge uma pequena d
uvida quanto ao modo
como e denida, e ate parece nao ser uma denicao valida, porque
na 2a linha ca h(x, y) denida em termos dela mesma. Ocorre
que a vari
avel y aparece como uma testemunha de quantas vezes

352

Aspectos Formais da Computa


c
ao

e aplicada a funcao parcial h(x, y) e este fato afastara qualquer


d
uvida. Por exemplo, suponhamos que queremos calcular h(x, 3).
Como y = 3 e nao nulo, e preciso usar a equacao (ii) com 3 = y + 1.
A equacao em (ii) mostra que precisaremos de h(x, 2), que, por sua
vez, precisara de h(x, 1), que precisara de h(x, 0). Agora usamos
(i). Isto mostra a nao ambig
uidade da denicao, e os valores de
h(x, y) para y > 0 sao obtidos de h(x, y  ) com y  < y, previamente
calculados.
A funcao parcial h(x, y) denida por recurs
ao de f (x) e g(x, y, z)
sera funcao apenas quando f (x) e g(x, y, z) sao funcoes; e o domnio
de h(x, y) satisfaz:
(x, 0) Dom(h) se, e somente se, x Dom(f ),
 (x, y + 1)
 Dom(h) se, e somente se, (x, y) Dom(h) e
x, y, h(x, y) Dom(g).
Observa
c
ao 6.56 Quando a vari
avel x nao for envolvida, as equacoes de recursao (i) e (ii) se resumem a:
(i) h(0) = a e 

(ii) h(y + 1) = g y, h(y)
e, neste caso, dizemos que a funcao parcial h(y) e obtida por recurs
ao simples de g(y, z).
As funcoes parciais h(x, y) ou h(y) sao obtidas de modo u
nico
pelas equacoes de recursao, fato este que nao provaremos aqui.
Exemplo 6.57 (a) Adicao de n
umeros naturais denida por
x + 0 = x,
x + (y + 1) = (x + y) + 1.
Assim a adicao (ou seja, a funcao h(x, y) = x + y) e denida por
recursao das funcoes: f (x) = x e g(x, y, z) = z + 1. Por exemplo,
h(x, 0) = f (x) = x, h(x, 1) = g(x, 0, h(x, 0)) = h(x, 0) + 1 = x + 1
etc.
(b) A funcao y! denida por:
0! = 1 e
(y + 1)! = (y + 1)y!
e denida por recurs
ao simples da funcao g(y, z) = (y + 1)z. Basta
por:


(i) h(0) = 1 e (ii) h(y + 1) = g y, h(y) = (y + 1)h(y).

No
c
oes de Computabilidade

353

O teorema seguinte mostra que a classe das funcoes parciais


MRI computavel e fechada para a recursao, ou seja:
Teorema 6.58 Sejam f (x) e g(x, y, z) funcoes parciais MRI comput
aveis, onde x = (x1 , . . . , xn ). Ent
ao a funcao parcial h(x, y)
obtida de f (x) e g(x, y, z) por recursao e MRI computavel.
Demonstracao: Veja o Teorema 4.4 do livro de N. Cutland, da
referencia.

Fun
c
oes Recursivas Primitivas
No contexto geral de recursao existem varios tipos de recursoes
a serem consideradas. A denicao de recursao que demos anteriormente gera uma classe de funcoes parciais chamadas Func
oes
Recursivas Primitivas. A nocao que segue da um outro enfoque
formal `a nocao de computabilidade.
Deni
c
ao 6.59 F.R.P.
A classe das func
oes recursivas primitivas e a menor classe de
funcoes parciais que contem as funcoes basicas Zero: Z(x) = 0, x,
Sucessor: S(x) = x + 1, x, Projecoes: Pni (x1 , x2 , . . . , xn ) = xi , e e
fechada para as operacoes de composicao e recursao, onde menore
entendido como interseccao de conjuntos e fechada parasignica
que sempre que se aplica as operacoes de composicao ou recursao
aos elementos do conjunto, o objeto resultante tambem esta no
conjunto.
Observe, ent
ao, que a classe das F.R.P. e obtida como o resultado de sucessivas aplicacoes das operacoes de recursao e composicao em quaisquer outras funcoes parciais, assim obtidas a partir
das funcoes basicas. A classe das F.R.P. e uma subclasse da classe
das funcoes parciais MRI computaveis devido aos Lema 6.49, Teorema 6.52 e Teorema 6.58.
Agora, usaremos os Teoremas 6.52 (composicao) e 6.58 (recursao) para computar uma colecao de funcoes recursivas primitivas. Claro que a colecao total de F.R.P. e innita e, portanto,
a nossa lista, que sera nita, vai depender da escolha das funcoes
parciais f (x) e g(x, y, z) nas equacoes de recursao e tambem das

Aspectos Formais da Computa


c
ao

354

funcoes parciais f (y) e g1 (x), . . . , gk (x) do Teorema 6.52, previamente escolhidas.


Usaremos repetidamente o fato de que, devido ao Teorema 6.58,
as funcoes parciais f (x) e g(x, y, z) nao necessitam ser funcoes
denidas em todas as vari
aveis para que a funcao parcial h(x, y)
seja uma F.R.P. Finalmente, queremos observar que, se o leitor
voltar atr
as, vericar
a que todas as funcoes parciais vistas ate aqui
sao F.R.P. e tambem todos os resultados vistos: Teoremas, Lemas
etc., continuam validos se trocarmos MRI computavel por F.R.P.
A lista a seguir ajuda nesta vericacao.
Exemplo 6.60 As seguintes funcoes parciais sao recursivas primitivas (e, portanto, s
ao MRI computaveis).
(a) +(x, y) = x + y.
Demonstracao: Basta ver que a funcao parcial g(x, y, z) = z + 1
do exemplo 6.57(a) e composicao das funcoes basicas: Sucessor e
p3 (x, y, z).
(b) .(x, y) = xy.
Demonstracao: Exerccio (5) da lista no nal do captulo.
(c) (x, y) = xy .
Demonstracao: A funcao parcial xy e dada por:

1,
se y = 0,
y
x =
xy1 .x, se y > 0.
Logo, usando (b) e recurs
ao para g(x, y, z) = xz e f (x) = 1,
temos que xy pertence a classe das F.R.P.. De fato, f e recursiva
primitiva e





g(x1 , x2 , x3 ) = . P31 x1 , x2 , (x, y1) , P33 x1 , x2 , (x, y1) .




0,
se x = 0.
(d) x 1 =
x 1, se x 1.
denida por recurs
Demonstracao: E
ao simples para h(0) = 0 e
g(y, z) = y.


x y, se x y,
(e) Subtracao Limitada x y =
0,
se x < y.
denida por recurs
Demonstracao: E
ao e (d) usando f (x) = x

e g(x, y, z) = z 1.

No
c
oes de Computabilidade

355


1, se x = 0,
0, se x = 0.
Demonstracao: sg(0) = 0 e sg(x + 1) = 1 por recurs
ao simples,
onde h(0) = 0 e g(y, z) = 1.

1, se x = 0,
(g) Func
ao Teste do Zero sg(x) =
0, se x = 0.
(f ) Func
ao sinal (do ingles Signal) sg(x) =

Demonstracao: sg(x) = 1 sg(x).

onde
f (x) = 1 x e
Por substituicao, f (g(x)) = 1 sg(x),


g(x) = sg(x); ou ainda h(y + 1) = g y, h(y) , onde g(x, y) = xy.
(h) |x y|.

Demonstracao: |x y| = (x y) + (y x), por substituicao,


(a) e (e).
(i) x!
Demonstracao: Exemplo 6.57(b).
(j) min{x, y}.

Demonstracao: min{x, y} = x (x y).

ao,
Sejam g1 (x, y) = x (projecao), f (x, y) = g2 (x, y) :=
 x y. Ent
por substituicao, min{x, y} = f g1 (x, y), g2 (x, y) .
(k) max{x, y}.

Demonstracao: max{x, y} = x + (y x), por substituicao,


usando (a) e (e).
(l) r(x, y) =resto da divisao de y por x.
Convencionaremos r(0, y) = y para obtermos uma funcao.
Demonstracao: r(x, 0) = 0 e

r(x, y)+1, se r(x, y)+1 = x,
r(x, y + 1) =
0, se r(x, y)+1 = x.

 
ao, r(x, 0) = 0 e r(x, y + 1) = r(x, y) + 1 sg |x
Ent
 (r(x,
 y) +
1)| , que pode ser obtida por recurs
ao de g(x, y, z) = z +1 sg |x
(z + 1)| . Como g(x, y, z) e recursiva primitiva, por aplicacoes de
v
arias substituicoes, usando os exerccios anteriores e r(x, y + 1) =
g(x, y, r(x, y)), temos que r(x, y) e recursiva primitiva.
(m) q(x, y) =quociente da divis
ao de y por x.

Aspectos Formais da Computa


c
ao

356

Denimos q(0, y) = 0. Ent


ao, q(x, y) e denida por:

q(x, y + 1) =

q(x, y) + 1,
q(x, y),

se r(x, y) + 1 = x,
se r(x, y) + 1 = x.

Assim, q(x, y) e denida por h(x, 0) =


 0 e h(x, y + 1) =
g(x, y, h(x, y)), onde g(x, y, z) = z + sg |x (r(x, y) + 1)| .

1, se x|y,
(n) div(x, y) =
0, se x  y
e denimos 0|0 e 0  y se y = 0.
Este exemplo mostra que o predicado x divide y (ou y e
m
ultiplo de x) e decidvel.


Demonstracao: Basta ver que div(x, y) = sg r(x, y) . Assim,
a funcao div(x, y) e primitiva recursiva (MRI comput
avel) por
substituicao.

1, se x e mpar,

(o) Impar(x) =
0, se x e par.
Demonstracao: Esta funcao e denida por recurs
ao simples,

sg(y),
da

h(y
+
1)
=
g
y, h(y) =
onde
h(0)
=
0
e
g(x,
y)
=


sg h(y) .
Assim, o conjunto dos n
umeros naturais mpares e decidvel (ver
denicao 6.44).
(p) Funca
o Maior Inteiro da Metade
[ n2 ]


=

n
2,
n1
2 ,

se n e par,
se n e mpar.

Demonstracao: Denimos [ n2 ] por recursao simples,



denindo a funcao h por: h(0) := 0 e h(y + 1) := g y, h(y) , onde
g(x, y) = y + mpar(x). Note que g(x, y) = p2 (x, y)+
mpar(p1 (x, y)), que, pelos Teoremas e resultados anteriores obtidos, e recursiva primitiva.

No
c
oes de Computabilidade

357

Corol
ario 6.61 Denic
ao por casos
Suponhamos que f1 (x), . . . , fk (x) sao funcoes parciais recursivas primitivas (ou MRI comput
aveis) e M1 (x), . . . , Mk (x) predicados decidveis, tais que, para cada x, exatamente um dos predicados M1 (x), . . . , Mk (x) vale. Ent
ao e recursiva primitiva (MRI
comput
avel)
a
fun
c

a
o
parcial

f1 (x), se M1 (x)vale,

f2 (x), se M2 (x)vale,
f (x) =
...
...

fk (x), se Mk (x)vale .
Demonstracao: Basta escrever f (x) na forma f (x) =
k
e a funcao caracterstica do prei=1 cMi (x)fi (x), onde cMi (x)
dicado Mi . Da, por substituicao, usando adicao e multiplicacao,
f (x) e recursiva primitiva (MRI comput
avel).


Corol
ario 6.62 Algebra
da Decibilidade
Suponhamos que P e Q sao predicados decidveis. Ent
ao, os
seguintes predicados tambem sao decidveis: (a) P, (b) P Q,
(c) P Q.
Demonstracao: As funcoes caractersticas destes predicados

sao respectivamente (a) cP (x) = 1 cP (x), (b) cP Q (x) =


cP (x).cQ (x) ou cP Q (x)= min{cP (x), cQ (x)} e (c) cP Q (x) =
max{cP (x), cQ (x)} = sg cP (x) + cQ (x) , que sao funcoes parciais
MRI computaveis.

A recursao pode ser usada para construir funcoes recursivas
primitivas (ou MRI comput
aveis) a partir de outras funcoes recursivas primitivas (resp. MRI comput
aveis). Um exemplo importante
do uso de recursao e dado na seguinte situacao:
Teorema 6.63 Suponhamos que f (x, y) seja uma funcao qualquer, que e tambem funcao recursiva primitiva (MRI comput
avel),
ao, as (
funcoes de x e y, soma limitada
ex = (x1 , . . . , xn ). Ent
f
(x,
z)
e
produto
limitado
z<y
z<y f (x, z), denidas pelas equacoes de recursao a seguir, tambem sao funcoes recursivas primitiva
(resp. MRI computaveis)

Aspectos Formais da Computa


c
ao

358



0,
 z<0 f (x, z) := 
z<y+1 f (x, z) :=
z<y f (x, z) + f (x, y),

e


z<0 f (x, z)

:= 1(

f
(x,
z)
:=
z<y+1
z<y f (x, z) .f (x, y)

Demonstracao: Basta ver que a recursao preserva a classe das


funcoes recursivas primitivas (resp. MRI computaveis).

facil ver que, se o limite em z na soma e produtos limitados e
E
dado por qualquer funcao, que e funcao recursiva primitiva (resp.
MRI computavel), ent
ao o resultado e ainda computavel, como
segue.
Corol
ario 6.64 Suponhamos que as funcoes f (x, z) e K(x, w) sao
funcoes recursivas primitivas
(MRI comput
aveis), entao as funcoes
(

f
(x,
z)
e
de x de w :
z<K(x,w)
z<K(x,w) f (x, z) tambem sao funcoes recursivas primitivas (MRI computaveis).
Demonstracao: Basta substituir y por K(x, w) na soma e produtos limitados.


6.3.4

Minimiza
c
ao
Primos

Limitada

Codica
c
ao

Por

Uma outra tecnica usada para a construcao de funcoes recursivas


ou MRI computaveis (pois preserva estas classes) e a minimizac
ao
limitada. Fazendo uso desta nova tecnica, daremos outra colecao
particular de funcoes recursivas primitivas (MRI computaveis) e
de predicados decidveis. Aproveitando as funcoes parciais dadas,
daremos a codicacao por primos, cujo interesse e que esta codicacao permite guardar muitas informacoes num u
nico n
umero.
Na denicao que segue, a expressao: min z < y, ( ) signica o menor natural z menor que y tal que .

No
c
oes de Computabilidade

359

Deni
c
ao 6.65 Minimizac
ao Limitada. Dada uma funcao parcial f (x, z), onde x = (x1 , . . . , xn ), denimos uma nova funcao parcial denotada por g(x, y) = min z < y, (f (x, z) = 0) e denida
por

g(x, y) :=

min{z N, z < y}, tal que f (x, z) = 0, se z,


y,
se nao existe z.

Se f (z) e funcao parcial apenas da vari


avel z, ent
ao g e denida
so em termos da variavel y.
O operador min z < ye chamado de operador de minimizac
ao
limitada.
Teorema 6.66 Suponhamos que f (x, y) e uma funcao. Se f (x, y)
e recursiva primitiva (ou
MRI comput
avel), ent
ao a funcao

min z < y, f (x, z) = 0 e recursiva primitiva (MRI comput
 avel).

(
Demonstracao: Considere a funcao h(x, v) = u<v sg f (x, u) ,
que e recursiva primitiva (MRI comput
avel) pelo Corolario 6.64.

ao e facil ver
Dados x, y, seja z0 = minz < y, f (x, z) = 0 . Ent
que,
se v < z0 , ent
ao h(x, v) = 1;
Se z0 v < y, ent
ao h(x, v) = 0.
Assim

z0 e o n
umero
 de v s menores que y (v < y), tal que h(x, v) = 1,
que e igual a v<y h(x, v), ou seja:


   
sg f (x, u)) ,
min z < y, f (x, z) = 0 =
v<y uv

que e recursiva primitiva (resp. MRI comput


avel) pelo Teorema
6.63.

Como nas soma e produto limitados, o limite na minimizacao
limitada pode ser dado por qualquer funcao recursiva primitiva (ou
MRI computavel) K(x, w), pois, basta substituir y por K(x, w),
temos o seguinte corolario.

360

Aspectos Formais da Computa


c
ao

Corol
ario 6.67 Sejam f (x, z) e K(x, w) funcoes. Se f (x, z) e
K(x, w) recursivas
primitivas
(MRI comput
aveis), entao min z <


K(x, w), f (x, z) = 0 tambem e recursiva primitiva (resp. MRI
computavel).

Temos ainda as seguintes aplicacoes envolvendo a minimizacao
limitada.
Corol
ario 6.68 Suponhamos que R(x, y) e um predicado decidvel.
Ent
ao


(a) A funcao parcial f (x, y) = min z < y, R(x, z) e recursiva primitiva (resp. MRI comput
avel).
(b) Os seguintes predicados
sao decidveis.

(i) M1 (x, y) z < y R(x, z) 
(ii) M2 (x, y) z < y R(x, z) .


f (x, y) = min z < y, sg(cR (x, z)) = 0 .
Demonstracao: (a) (
(b)(i) cM1 (x, y) = z<y cR (x, z)


(ii) M2 (x, y) = z < y, ( R(x, z)) , e decidvel pelo tem
(i) anterior e Corolario 6.62(a).

Agora, usaremos a minimizacao limitada em alguns casos e daremos
outra colecao de funcoes recursivas primitivas ou MRI computaveis.
Teorema 6.69 As seguintes funcoes parciais sao primitivas recursivas (MRI computaveis).
(a) D(x) =no de divisores de x (convencionamos que D(0) =
1),

1, se x e primo,
(b) P r(x) =
(Isto e: o pre0, se x nao e primo.
dicado x e primo e decidvel.
(c) pm = m-esimo n
umero primo (com a convencao p0 = 0,
p1 = 2, p2 = 3,etc).
o expoente de py na decomposicao em fatores primos de x, para x > 0 e y > 0,
(d) [x]y =

0, se x = 0 ou 
y = 0.
e a
Demonstracao: (a) D(x) =
yx div(y, x), onde div
funcao dada no exemplo 6.60(n), que e recursiva primitiva (MRI

No
c
oes de Computabilidade

361

comput
avel). Logo, pelo Teorema 6.63 segue o armado. Outro
metodo e usar que div(y, x) = c= (y, x) + c= (2y, x) + c= (3y, x) +
+ c= (xy, x) para x 1, onde c= (z, t) e a funcao caracterstica
da igualdade z =t.
nicos
1, se D(x) = 2 (isto e x > 1 e os u
divisores positivos de x sao 1 e x.
(b) P r(x) =

0, em outro caso.
Ent
ao P r(x) = sg(|D(x) 2|).
(c) Pelo Teorema de Euclides (veja exerccio (10)), sabemos
que, dado um n
umero primo mpar p, existe um primo q, p <
q < p! + 1. Ent
ao podemos denir a funcao pm , que da o m-esimo
n
u
mero
primo
por:

p0 = 0, p1 = 2, p2 = 3
pm+1 = minz < (pm ! +1), (z > pm e z : primo), se m 2.
O exerccio (1)(d) mostra que o predicado z > ye decidvel. Logo
pelo Corolario 6.62 o predicado z > y e z : primo e decidvel.
Como pm e denida por recurs
ao, segue-se do Corolario 6.68 que
esta funcao e recursiva primitiva (resp. MRI comput
avel).
 x), que
(d) Temos que [x]y e dada por min z < x, (pz+1
y
e recursiva primitiva (resp. MRI comput
avel), pois o predicado

b

e
decid
vel.

pz+1
y
Exemplo 6.70 Calculemos [100]y para todo y. Como 100 = 22 .52 ,
temos que [100]0 = 0, [100]1 = 2 (expoente de p1 = 2), [100]2 =
umero y maior que 3.
0, [100]3 = 2 e [100]y = 0 para todo n
Para a decodicacao de uma seq
uencia, precisaremos da funcao
(comprimento) que informa quantos primos em seq
uencia podemos
encontrar na decomposicao de x > 1 (x N) a partir de p1 = 2
(historicamente, esta funcao e denotada por lh, length).
lh(x) = min z < x, ([x]z = 0).
Por exemplo, lh(6) = lh(2.3) = lh(p1 .p2 ) = 2,
lh(21) = lh(3.7) = lh(p2 .p4 ) = 0,
lh(123) = lh(2.32 .7) = lh(p1 .p22 .p4 ) = 2.
E agora podemos codicar uma seq
uencia nita qualquer de n
umeros
umero x = pa11 +1 pa22 +1 pnan +1 .
naturais b = (a1 , a2 , . . . , an ) pelo n

Aspectos Formais da Computa


c
ao

362

Observe que os pi s estao em seq


uencia (do mesmo modo como zemos no processo de Godelizacao), de modo que lh(x) = n e, portanto, corresponde ao tamanho da n-upla. Para que isto ocorra,
e suciente somar 1 a todo expoente ai de pi , pois queremos codicar toda seq
uencia de comprimento n, inclusive seq
uencias contendo zeros. Assim, a codicacao nao ca ambgua para zero. Por
exemplo, b = (1, 0, 2) e codicado por x = 22 .3.53 = p21 .p2 .p33 , e
nao por y = 2.30 .52 = p1 .p23 , onde os primos nao aparecem em
seq
uencia, ou seja, lh(y) = 1 e nao 3, como de fato e. Por este prouencia b, ca
cesso de codicacao, o n
umero aj da posicao j, na seq
a +1
codicado por pj j . Observe que este processo mostra que o processo de Godelizacao e recursivo primitivo. Alem disso, como cada
seq
uencia de comprimento n (n nito) tem uma codicacao que e
um n
umero natural, temos a uma aplicacao injetora das seq
uencia
nitas de n
umeros naturais em N.
Para podermos decodicar qualquer n
umero aj da seq
uencia b,
devemos denir
(x)j = [x]j 1.
Finalmente, para decodicar uma seq
uencia b codicada em
um n
umero x, observe inicialmente que esta funcao que codica
seq
uencias por n
umeros naturais e injetora, mas nao e sobrejetora.
Logo, dado um n
umero x, precisamos saber se ele esta na imagem
(denotemo-la por S) desta funcao, ou seja, precisamos saber se x
codica alguma seq
uencia b de n
umeros naturais. Com a convencao
de que um n
umero x so codica alguma seq
uencia ate lh(x), o
que faremos, na pr
atica, e tomar uma decomposicao de x e, se
ocorrer um primo pj , ver se falta nesta decomposicao algum primo
ao x
pi , com i < j. Se nao faltar pi para j, o maior dos ndices, ent
codica alguma seq
uencia, caso contrario, x nao codica nenhuma
seq
uencia. Este procedimento e recursivo primitivo e e descrito na
funcao caracterstica de S.

cod(x) =

1,
0,

se x n
ao tem fatores primos maiores que plh(x) ,
caso contrario.

Usando o fato de que: lh(x) < x (veja exerccio), ent


ao cod(x) e

No
c
oes de Computabilidade

363



dado por cod(x) = sg min n (lh(x) < n x : pn |x , que e uma
funcao recursiva primitiva por resultados anteriores.
Exemplo 6.71 (a) Para x = 10 = 2.5, temos que lh(x) = 1, pois
seq
uencia,
falta o primo p2 = 3. Logo, 10 nao codica nenhuma

ou seja,
 cod(10) = 0. Por outro lado, min n lh(10) < n 10 :
pn |10 = 3 e sg(3) = 0.
(b) O n
umero 30 = 2.3.5 codica a seq
uencia b = (0, 0, 0) e
lh(30) = 3.
 Como nao existe n > 3, tal que pn |30, temos que
sg min n(3 < n 30) : pn |30 = sg(0) = 1 = cod(30).
(c) Se x e tal que cod(x) = 1, ent
ao x pode ser decodicado por


Decod(x) = (x)1 , (x)2 , . . . , (x)lh(x) = b,

onde (x)i = [x]i 1 = ai .


cod(360) = 1.
Por exemplo,
360 = 23 .32 .5 satisfaz


Decod(360) = (360)1 , (360)2 , (360)3 = (2, 1, 0).

Da

Observa
c
ao 6.72 A nocao da codicacao por primos pode ser
usada para reduzir a classe das funcoes recursivas primitivas de
v
arias vari
aveis `a classe de funcoes recursivas primitivas de uma
vari
avel. Da ser possvel enumerar efetivamente as funcoes recursivas primitivas.

6.3.5

A Fun
c
ao de Ackermann e a Complexidade das
F.R.P.

Para fechar o captulo de Computabilidade, trataremos um pouco


da complexidade das F.R.P. e da funca
o de Ackermann.
Um pouco de experiencia com as F.R.P. faz suspeitar de que
podemos considerar varios nveis de complexidade entre as funcoes
recursivas. Por exemplo
- complexidade da denicao: quantas recursoes sao usadas, por
exemplo.
- complexidade de calculo: por exemplo, somar e mais simples que multiplicar, que e mais simples que exponenciar, que e

364

Aspectos Formais da Computa


c
ao
x

mais simples que fazer (x ) (y vezes). Teceremos apenas alguns


comentarios sobre o assunto.
Existem pelo menos dois bons conceitos de hierarquia de F.R.P.,
os conceitos segundo Grzegorczyk e Ritchie. O que eles fazem e precisar esta nocao do ponto de vista matematico. Em termos simples,
a ideia e buscar uma funcao que nos de uma visao geral de todas as
funcoes recursivas primitivas de uma so vez. Um exemplo intuitivo
de tal funcao e a funcao que diagonaliza todas as F.R.P.; outro
e a exponenciacao iterada que diagonaliza as funcoes elementares
(outra classe de funcoes). A ideia de Grzegorczyk foi construir,
por recursao, uma classe de funcoes i , i = 1, 2, . . . parecidas com
a funcao de Ackermann (m, n), que crescem mais rapidamente
que as funcoes (m, n), e, depois, usa-las para dividir a classe das
F.R.P. em subclasses 1 , 2 , . . . , n , . . . , onde a classe das F.R.P e
igual `a reuniao de todas as classes i . Por denicao, a subclasse i
e a menor subclasse das funcoes recursivas primitivas que contem
as funcoes: Z(x), S(x), pin (x) e i e e fechada para a composicao e minimizacao limitada. Alem disso, uma funcao f i se
a denida, tal que f (x, y) g(x, y).
existe g i j
A Hierarquia de Ritchie lida com classes de funcoes parciais
computaveis (por algum metodo) previsveis e busca seq
uencias de
funcoes parciais computaveis para a qual uma previs
ao na complexidade do calculo possa ser feito de um modo razoavelmente simples.
A func
ao de Ackermann e denida do seguinte modo:

(0, y) = y + 1,
(x + 1, 0) = (x, 1),
: N N N,



(x + 1, y + 1) = x, (x + 1, y) .
A pergunta e: Por que (x, y) e computavel? (nao necessariamente no sentido MRI). Apesar de que parece provir de uma
denicao recursiva, como temos visto, na verdade ela envolve recursao em duas vari
aveis. No entanto, e, de fato, uma funcao,
pois as equacoes sao denidas de modo n
ao ambguo. Antes de
demonstrar este fato, facamos um comentario sobre as equacoes. A
primeira equacao e clara, enquanto que, nas duas u
ltimas equacoes,

No
c
oes de Computabilidade

365

observe que (x, y) com x > 0 e denido em termos de valores


(x1 , y1 ) com x1 < x ou x1 = x e y1 < y. Assim, se considerarmos
a tabela
(0, 0)

(0, 1)

(0, 2)

(0, y)

(1, 0)

(x, 0)

(1, 1)

(x, 1)

(1, 2)

(x, 2)

(1, y)

(x, y)

(x+1, 0) (x+1, 1) (x+1, 2)

(x+1, y)

para obter (x, y), com x > 0, a denicao de nos faz proceder
da seguinte maneira: Considerando a linha x + 1 e coluna x + 1
de (x, y), precisaremos de alguns valores (a, b) com (a, b), ou em
linhas acima da linha de (x, y), eventualmente numa coluna mais
distante da primeira coluna, ou (a, b) na mesma linha de (x, y),
mas em uma coluna mais proxima da primeira. Isto ocorre para
cada valor (x, y) que se deseja calcular. Assim, obrigatoriamente,
atingiremos a primeira linha ou a primeira coluna. No caso de
alcancar a 1a coluna (equacao 2), ela nos leva `a linha imediatamente
superior, se houver, de entrada x (1a coordenada) e nos faz usar a
equacao 3, para y = 0. Na equacao 3, usaremos a 1a coluna, e mais
tarde o resultado obtido, e a linha acima x 1, se houver. Desta
forma, vamos subindo nas linhas da matriz anterior, formada de
elementos de N N, ate atingir a 1a linha formada de elementos da
forma (0, y), y N; e nao precisamos nos preocupar com y, pois
e dado o valor (0, y). Por exemplo, para calcular (2, 1), temos:


(2, 1) = 1, (2, 0) e precisamos de (2, 0),
(2, 0) = (1,
de (1, 1),
 1) e precisamos

(1, 1) = 0, (1, 0) e precisamos de (1, 0),
(1, 0) = (0, 1) e (0, 1) = 2.
Da (1, 1) = (0, 2) = 3 e, portanto, (2, 1) = (1, 3). Mas
(1, 3)
 =

0, (1, 2) , e precisamos de (1, 2),

Aspectos Formais da Computa


c
ao

366



(1, 2) = 0, (1, 1) e, como (1, 1) = 3, vem que (1, 2) =
(0, 3) = 4.
Assim, (1, 2) = (1, 3) = (0, 4) = 5.
Observe, na tabela, como foi a seq
uencia de passos para calcular
(2, 1).

(0,0)

(0,1)

(0,2)

(0,3)

(0,4) . . .

(1,0)

(1,1)

(1,2)

(1,3)

(1,4) . . .

(2,0)

(2,1)

(2,2)

(2,3)

(2,4) . . .

...

...

...

...

...

...

Figura 6.4: seq


uencia de passos para calcular (2, 1).
Agora, provemos que (x, y) esta bem denida em N N, por
inducao dupla nas vari
aveis x e y. Comecemos por inducao na
vari
avel x.
(a) x = 0. Por denicao, (0, y) = y + 1 para todo y N. Logo,
(0, y) esta bem denida.
(b) Agora, suponhamos, como hip
otese de inducao na primeira vari
avel, que (z, y) esteja bem denida para todo z x
e qualquer y N e provemos que (x + 1, y) esta bem denida,
para qualquer y N.
Agora usaremos inducao na segunda vari
avel.
(i) y = 0. Por denicao, (x + 1, 0) = (x, 1). Por hip
otese de
inducao, na primeira vari
avel vem que (x+1, 0) esta bem denido.
(ii) Suponhamos, como hip
otese de inducao na segunda vari
avel, que (x + 1, t) esta bem denida, para todo t y, e demonstremos que (x + 1, y + 1) esta bem denido.
Por denicao, (x + 1, y + 1) = (x, (x + 1, y)). Pela hip
otese
de inducao na segunda vari
avel, (x + 1, y) e um n
umero bem
denido. Portanto, pela hip
otese de inducao na primeira vari
avel,
umero bem denido. Logo,
(x+1, y+1) = (x, (x+1, y)) e um n
(x, y) esta bem denida em todo (x, y) N N. Isto conclui a
demonstracao.

No
c
oes de Computabilidade

367

A funcao de Ackermann nao e recursiva primitiva. A demonstracao desta armacao segue-se de 2 fatos:
(I) A classe das F.R.P. e enumeravel. Isto pode ser demonstrado codicando todas F.R.P. de um n
umero qualquer de
vari
aveis `a F.R.P. de apenas uma vari
avel, usando a codicacao por
primos, que temos visto anteriormente. Da enumerar as funcoes
recursivas primitivas de uma vari
avel.
(II) A funcao (x, y) domina todas funcoes unarias recursivas
primitivas (isto e, se g e recursiva primitiva de uma vari
avel, ent
ao
existe m tal que g(x) < (m, x), x N).
A demonstracao dos fatos (I) e (II) podem ser encontrados no
livro de R. Peter referencia [6]. Agora podemos enunciar
Proposi
c
ao 6.73 (x, y) nao e recursiva primitiva.
ao f (x) =
Demonstracao: Se (x, y) fosse recursiva primitiva, ent
(x, x) tambem seria pelo Teorema 6.52. Pelo fato (II) existiria
m N, tal que f (x) < (m, x), para todo x N. Em particular,
teramos (m, m) = f (m) < (m, m), o que e absurdo.

Apesar de (x, y) nao pertencer `a classe das funcoes recursivas,
primitivas ela pertence a uma outra classe mais ampla de funcoes
recursivas chamadas de Func
oes Recursivas Parciais. Esta classe
e gerada (do mesmo modo que as F.R.P) pelas funcoes basicas:
Sucessor, Zero, Projecoes e e fechada para as operacoes de composicao e recursao mas, neste caso, acrescenta o Operador ; veja o
livro de W. Carnielli citado na biliograa. Prova-se que esta classe
e a mesma classe das funcoes Turing computaveis.

Exerccios
(1) Faca um programa para cada uma das funcoes parciais abaixo,
para que elas
 sejam MRI computaveis.
0, se x = 0,
(a) f (x) =
(b) f (x) = 5.
1, se x = 0.


0, se x = y,
0, se x y,
(c) f (x, y) =
(d) f (x, y) =
1, se x = y.
1, se x > y.
 1
se x = 3q,
3 x,
(e) f (x) =
0,
em outros casos.

368

Aspectos Formais da Computa


c
ao

(2) Determine uma funcao parcial de duas vari


aveis que seja MRI
computavel pelo programa P: I1 = J(1, 2, 6), I2 = S(2),
I3 = S(3), I4 = J(1, 2, 6), I5 = J(1, 1, 2), I6 = T (3, 1).
(3) (a) - Mostre que a funcao parcial f : Z Z f (x) = 2x e MRI
computavel.
(b) - Mostre que a codicacao f : N N, dada no exemplo
6.48, e MRI computavel, exibindo um programa para f .
(c)Mostre que o predicado x 0 e decidvel sobre Z.
(4) (a) - Sem escrever qualquer programa, mostre que as funcoes
parciais abaixo sao MRI computaveis.
(i) funcao constante f (x) = m, x. (ii) a funcao g(x) = mx, x.
(b) Suponha que f (x, y) e MRI computavel, e m N. Mostre que
h(x) := f (x, m) e MRI computavel.
(c) Suponhamos que g(x) e uma funcao de N em N MRI computavel. Mostre que o predicado M (x, y) : g(x) = ye decidvel.
(5) Mostre
 que a funcao : N N N denida por:
0,
se y = 0,
x.y =
e denida por recurs
ao.
(x.(y 1)) + x, se y > 0,
(6) (i) Mostre que o predicado x < y e decidvel.
(ii) Use (i) e Corolario 6.62 para mostrar que o predicado de
igualdade de n
umeros (isto e: x = y) e decidvel.
(7) Faca um programa para cada uma das funcoes parciais
abaixo para que sejam MRI comput
aveis:
(i) f : N N | f (x) = 3x. De P (0), P (1), P (2).
(ii) f : N N | f (x) = [ x2 ] (maior inteiro da metade). De
P (0), P (1), P (5).
(iii) f : N N | f (x) = 5. (iv) f : N N | f (x) = x 2.
(8) De uma enumeracao para as MRI.
(9) Mostre que os predicados M1 : x = y e M2 : x > 3
(x N) sao decidveis sobre N. De suas funcoes caractersticas, os
diagramas corridos, seus programas P1 e P2 e verique se P1 (2, 2)
e P1 (2, 3) convergem. Verique se P2 (2) e P2 (4) convergem.
(10) Teorema de Euclides. Mostre que, para todo primo mpar

No
c
oes de Computabilidade

369

p, existe um primo q, tal que p < q < (p! + 1). Sugestao: Use o
Teorema fundamental da aritmetica e raciocine por contradicao.
(11) Calcule (2, 3), destacando a seq
uencia de pares (x, y) NN
usados, fazendo uma seq
uencia numa tabela de elementos de NN.
(12) Mostre que as seguintes funcoes parciais sao recursivas primitivas:
(a) g(x) = a0 +a1 x+a2 x2 + +an xn , onde a0 , a1 , . . . , an N.

(b) [ x] (maior inteiro da raiz quadrada). (c) mmc(x, y) e


mdc(x, y).
(d) f (x) =n
umero de divisores primos de x.
(e) A funcao de Euler, denida por: (x) =n
umero de inteiros positivos entre 0 e x que sao primos com x.
(f ) A funcao parcial denida por: f (0) = f (1) = 1 e f (n +
1) = f (n 1) + f (n), para todos n 1. Sugest
ao: Mostre que
g(x) = 2f (x) 3f (x+1) e recursiva primitiva e depois use o Teorema
6.69(d).
(13) Prove que a funcao de Ackermann (m, n) pode ser calculada
para m = 1, 2, 3 por: a. (1,
 n) = n + 2,
(3, n + 1) = 2(3, n) + 3,
b. (2, n) = 2n+3 e c.
(3, 0) = 5.
(14) Mostre que (m, n) > n por inducao dupla.
Sugest
ao: Primeiro, por inducao sobre m, mostre que
(0, n) > n para todo n. Depois, suponha que (m, n) > n para
todo n e prove que (m + 1, n) > n para todo n (neste caso, use
inducao sobre n).
(15) Mostre que (m, n + 1) > (m, n).
Sugest
ao: Pode ser feito por inducao simples em m, usando o
exerccio 14.
(16) Mostre que (m + 1, n) (m, n + 1).
Sugest
ao: Mostre que (1, 0) = (0, 1). Assuma verdadeiro
para m = 0 e k n e prove que (1, n + 1) (0, n + 1). Ate aqui
voce mostrou que o resultado vale para m = 0 e todo n. Devera
mostrar, em seguida, que vale para m + 1 e todo n. Para isto (a)
Note que (m + 1, 0) = (m, 1) (logo, vale para n = 0 em m + 1).

370

Aspectos Formais da Computa


c
ao

(b) Supondo (m + 1, n) (m, n + 1), mostre que (m + 1, n +


1) (m, n + 1) usando os exerccios 15 e 16.
(17) Mostre que lh(x) < x, para todo x > 1.

RESPOSTAS DE ALGUNS EXERCICIOS

RESPOSTAS DOS EXERCICIOS DO CAPITULO 1 2 (a):


falso que no
Para a negacao basta colocar Nao e verdadeou E
incio de cada uma das proposicoes.
RESPOSTAS DOS EXERCICIOS DO CAPITULO 1 2 (b):
Os valores verdades das proposicoes p q sao: (a) V, (b) F, (c)
F, (d) V.
RESPOSTAS DOS EXERCICIOS DO CAPITULO 1 2 (c):
falso que as cien(1) Sao proposicoes (a) e (d).
(2)(d) E
cias matematicas sao faceis. ou e falso que 2 e menor que 3. (3)(a)
pq, (b) pq, (c) (pq)(pq), (d) pq. (4) Basta colocar
e falso queou nao e verdade queno incio de cada proposicao.
(5)(a) F, (b) V, (c) F, (d) F, (e) V, (f) F, (g) V, (h) F, (i) V.
(6) Sao tautologias as proposicoes dos tens: (a), (b), (f), (g), (h).
RESPOSTAS DOS EXERCICIOS DO CAPITULO 1 3.
(1) Basta ver que cada membro de tem as mesmas tabelasverdade.
(2) Verique que as proposicoes (p q) r e p (q r) nao
tem as mesmas tabelas-verdade. (3) Semelhante ao exerccio (1).
(4) Ok.
(5) Usando o Teorema 1.13, ou fazendo uso das tabelas-verdade
podemos ver que (i) e (iii) sao tautologias, enquanto que (ii) e
logicamente equivalente a q (p r). (6)(a) implica, (b) n
ao
implica, (c) implica.
(9)(i) Basta fazer as tabelas de (pq) e (pq), respectivamente.
(ii) p|q e falsa, apenas quando p e q forem, ambas, verdadeiras;
enquanto que p q e verdadeira, apenas quando p e q forem, ambas
falsas.

372

Aspectos Formais da Computa


c
ao

RESPOSTAS DOS EXERCICIOS DO CAPITULO 1 4 e 5.


(1)(a) Pode-se usar quaisquer quanticadores, (b) x N, y

N | x + y = 8. (c) Identica ao tem (a).



(2)(a) x : P (x) Q(x) S(x), (b) x : P (x) S(x), (c)
x : A(x) B(x), (d) x : A(x) C(x).
6
(3)(a) mdc(2, 3) = 3 e mmc(2, 3) = 6, V, (b) 35 = 10
e 5.6 =
1
2
umero inteiro e
3.10, F, (c) 2 3 e 2.2 < 1.3, F, (d) Todo n
primo, F.

(4)(i) Joana, Slvia ou Maria e irma de Joao e Andre, (ii) Joana,


Slvia ou Maria e irma de Joao ou Andre, (iii) Joana, Slvia e Maria
sao irmas de Joao e Andre.
(5)(a) Verdadeira, {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (3, 1)}, (b) Verdadeira x = 1, (c) Falso e a negacao e: x, y : x2 + y 2
12cujo conjunto solucao e: {(2, 3), (3, 2), (3, 3)}, (d) Verdadeira,
{(1, 1, 2), (1, 1, 3), (1, 2, 2), (1, 2, 3), (2, 1, 2), (2, 1, 3),
(1, 3, 3), (3, 1, 3), (2, 2, 3), (2, 3, 3), (3, 2, 3)}, (e) Falso, a negacao e:
x, y, z | x2 + y 2 2z 2 , cuja solucao e z = 1 (pois x, y A :
x2 + y 2 12.).
(6)(a) P (x, y, z) : x, y A, z A : x + 2y + 3z < 12(para
z = 1 temos que x + 2y + 3 < 12, x, y A), e falso (veja que para
x = y = 3, n
ao existe z A tal que 3 + 3.3 + 3z < 12).
(7)(i) Sejam P o conjunto de todas as
 pessoas, M (y, x) : y e maede
x. x P, y P | [M (y, x) z P, z = y M (z, x) ]
ou x P, !y P | M (y, x). (ii) x R, x = 0, y R |
x.y = 1. (iii)  > 0, > 0 | x R, x = a, |x a|
|f (x) L| < .
(8) Demonstre por contra-recproca:a: par = a2 : pare tambem
por contradicao: a2 : mpar e a : par.
ao a = 3, F
(9) (a) Se a = 3 ent
ao a2 = 4, F, (b) Se a2 = 4 ent
2
2
 4, V. Isto conrma o
(c) a = 3 ou a = 4, F (d) a = 3 e a =
Teorema 1.20.

Respostas de Alguns Exerccios

373

RESPOSTAS DOS EXERCICIOS DO CAPITULO 1.


(1) Sao proposicoes os tens (a) F, (b) V, (d) F, (e) V, (g) V.
(2) (i) Hoje nao e terca-feira, (ii) Existe poluicao em Sao
Paulo, (iii) O ver
ao no Rio de Janeiro n
ao e quente e ensolaradoou O ver
ao no Rio de Janeiro n
ao e quente ou nao e ensolarado.
(3) Alguns tens: (e) Se os votos nao foram contados ent
ao a
eleicao nao esta decidida, (h) Os votos n
ao foram contados ou,
a eleicao nao esta decidida e os votos foram contados.
(4) (a) p q, (b) q r, (c) p q r, (d) p (q r), (e)
[p (q r)] [(q r) p], (f) p q.
(5)(a) F, (b) V, (c) V, (d) V, (e) V, (f) V, (g) V, (h) F.
(6) Ambos os tens sao ou exclusivo.
(7) Negacao: Hoje choveu e amanha nao vai fazer frio, Contrarecproca: Se amanh
a nao fazer frio ent
ao hoje nao choveu.
(9)(i) min{0, 8; 0, 4} = 0, 4, (ii) min{10, 8; 10, 4} = 0, 2, (iii) 0, 8,
(iv) 0, 6.
(10) Nao, pois nao admite valor logico ou falso ou verdadeiro.
(11) (a) Note que se uma das proposicoes esta certa entao todas
as outras estao erradas. So a proposicao de n
umero 99 exatamente 99 proposicoes desta lista sao falsase a verdadeira. (b)
Seja P (n) : Pelo menos n proposicoes desta lista sao falsas.
Note que P (n): verdadeira = P (s) : verdadeira, s n. Logo
P (51), P (52), . . . , P (100) sao falsas e P (1), P (2), . . . , P (50) sao
verdadeiras.
(12) Sao tautologias (a), (b), (c), (e), (f), (g).
(13) (i) P =
p q r, (ii) Q = (p q r) (p q r) (p q r). Esta
e a forma disjuntiva normal de Q.
(17) (i) Tem estudante que passa mais de cinco horas por semana
em classe, (ii) Todo (ou Cada) estudante passa mais de cinco
horas por semana em classe, (iii) Tem estudante que nao passa
mais de cinco horas por semana em classe, (iv) Todo estudante
n
ao passa mais de cinco horas por semana em classe.
(18) (a) Qualquer pessoa que e motorista e atenciosaou simplesmente Todo motorista e atencioso, (b) Todas as pessoas sao
motoristas e atenciosas (e nao motoristas atenciosos), (c) Exis-

374

Aspectos Formais da Computa


c
ao

tem pessoas que se sao motoristas, sao atenciosas, (d) Existem


pessoas que sao motoristas e sao atenciosas.
(19) Seja U o conjunto universo, constituido de todos os alunos de
sua classe. (a) x U | C(x) D(x) F (x), (b) x U, C(x)
D(x) F (x), (c) x U | C(x) D(x) F (x), (d) x U |
C(x) D(x) F (x), (e) x U, C(x) D(x) F (x).
(20) Sejam P (x) : x e perfeito e H o conjunto de todas as
pessoas, A(x) : x e meu amigo. (a) x H, P (x), ou
equivalentemente x H, P (x):
todos sao imperfeitos,
(b)


[x H : P (x)], (c)

 x H, A(x)  P (x) , (d) x, A(x)
(x)
ou
x

H,
A(x)

x
P (x) , (e)
x

H,
A(x)

P


 

H, P (x) , (f) x H, A(x) x H, P (x) ou [x
H, A(x)] [x H : P (x)].
(21) (i) (a) V, (b) V, (c) F, (d) F, (e) V, (f) F. (ii) (a) V, (b)
V, (c) F, (d) V, (e) F, (f) V, (g) F.
(22) (a) V, (b) V, (c) V, (d) V.
(23) (a) P (1)P (0)P (1)P (2), (b) P (1)P (0)P (1)P (2),
(c) P (1)P (0)P (1)P (2), (d) P (1)P (0)P (1)
P (2), (e) [P (1) P (0) P (1) P (2)], (f) [P (1) P (0)
P (1) P (2)].
C(p)
(24) Sejam p, q proposicoes, T (p) : p e uma tautologia,

 : p
e uma contradicao. (a) p, T (p), (b) p, C(p)

T
(p)

 , (c)
p, q, T (p)C(p)T
(q)C(q)T (pq) , (d) p, q, T (p)

T (q) T (p q) .
(25) (a) Se existe impressora com defeito e ativa entao tem impressao que foi perdida, (b) Se todas as impressoras est
ao ativas
ent
ao alguma impressora tem uma longa la, (c) Se existe uma
oes entao existe
impressora que tem uma longa la e perdeu impress
impressora com defeito, (d) Se todas impressoras estao ativas e
todas tem uma longa la ent
ao alguma impressao foi (sera) perdida.
(26) Nem sempre tem o mesmo valor verdade, por exemplo, tome
U = Z, P (x) : x 0 e Q(x) : x2 1.
(27)Pelas regras de inferencia para proposicoes quanticadas temos:
x, P (x) Q(x) P (c) Q(c), c : arbitr
ario P (c), c: arbitrario e Q(c), c : arbitr
ario x P (x) x Q(x).
(28) Semelhante ao anterior.

Respostas de Alguns Exerccios

375

(29) Se A e verdadeiro, ou seja,


 A e uma tautologia
 T, ent
ao (a)
(xP (x)) T
xP
(x)

x
P
(x)

T
e
(b)
xP
(x)
T


xP (x) x P (x) T . Raciocnio an
alogo se A e uma contradicao.
ao (i)
(30) Sejam U = R, P (x) : x < 0, Q(x) : x 0. Ent
x, x < 0 (x, x 0) e falsa,
enquanto
que
x
(x
<
0

x
0)
 

e verdadeira,
(ii)
x,
x
<
0

x,
x

e
verdadeira,
enquanto


que x < 0 x 0 e falsa.
(31) (b) Para todos n
umeros reais x, y se x e y sao positivos ent
ao
o produto, xy, tambem e positivo.
(32) (a) Algum aluno desta classe tem enviado uma mensagem por
e-mail para um outro aluno desta classe. (b) Algum aluno desta
classe tem enviado uma mensagem por e-mail `a todos os alunos
desta classe. (c) Todos os alunos desta classe tem enviados
mensagens por e-mail `a todos os alunos desta classe. (d) Todos
os alunos desta classe tem enviados mensagens por e-mail a um
aluno da classe. (e) Todos os alunos desta classe tem recebido
uma mensagem por e-mail de algum aluno.
(33) (a) x, y Z, x 0, y 0 x + y 0, (b) x, y
Z, x 0, y 0 | x y < 0, (c) x, y Z, x2 + y 2 (x + y)2 ,
(d) x Z, x 0 (a, b, c, d Z | x = a2 + b2 + c2 + d2 ).
(34) (I) (a) V, (b) V, (c) V, (d) V, (e) V, (f) F, (g) F, (h) F,
(II) (a) V, (b) V, (c) F, (d) V, (e) F.
(35) (i) l R e um limite superior de S se l x, x S; (ii)
s R e o supremo de S se s x, x S, e l R | l x, x
S = l s.
(36) limn an = L quando  > 0, n0 N | n n0 =
|an L| < .
(37) Tem-se que log2 3 = ab Q se, e somente se, 2a = 3b , com
a > 0, b > 0. Absurdo, pois 2a e par e 3b e mpar.
valido, por Modus Ponens, (b) V
(38) (a) E
alido, por Modus Ponens, (c) Valido, por Modus Tollens, (d) N
ao e valido, e uma falacia
por negacao da hip
otese.
(39) O tem (b) e valido.
(44) (i) claro, pois x y ou y x. (ii) Divida em casos, por
exemplo, facamos o caso y z x. Temos min{x, min{y, z}} =
min{x, y} = y. Por outro lado min{min{x, y}, z} = min{y, z} =

376

Aspectos Formais da Computa


c
ao

y. Logo vale a igualdade.


(45) n = 10k +l, 0 l 9. Da n2 = 10s+l2 e n4 = 10r +l4 . Logo
ltimo dgito de
ou
ltimo dgito de n2 e n4 sao, respectivamente, o u
2
l e l4 .
(46) Note que n tem que ser par.
(47) (i) Tome 100 n
umeros consecutivos entre 10001 = (100)2 + 1 e
2
10200 = (101) 1. A prova e construtiva. (ii) Se 2.(10)500 + 15 =
x2 e 2.(10)500 + 16 = y 2 , ent
ao y 2 = x2 + 1 e podemos tomar
y > x > 0. Segue que y x + 1 e portanto y 2 (x + 1)2 . Da
ao construtiva.
equacao y 2 = x2 + 1 temos um absurdo. Prova n

(48) (a) E valido, (b) E valido, (c) Nao e valido, (faca uma
analise por casos, considerando a proposicao Matematica nao e
valido,
facilverdadeira e depois considerando ela e falsa, (d) E
(e) Nao e valido.

RESPOSTAS DOS EXERCICIOS DO CAPITULO 2:


(6) Seja an o n-esimo termo da seq
uencia dada. Ent
ao (a) a0 =
1, an = 2.an1 , n 1. (b) Pelo Exerccio (4) a0 = 0 e an =
an1 + (2n 1), n 1, onde aj = j 2 . (c) a0 = a1 = 1 e an+1 =
an + an1 , n 1.
(7) E(0) = 1 e E(i + 1) = ni
i+1 E(i), 0 i < n.
(9) (A) Por divis
oes sucessivas para o calculo do mdc (p
agina 65),
encontramos: (a) mdc(14; 7684) = 2 = (549).(14) + (1).(7684).
(b) mdc(4118; 7684) = 68 = (50).(4148) + (27).(7684).
(c) mdc(180; 252) = 36 = (3).(180) + (2).(252).
(d) mdc(1144; 351) = 13 = (4).(1144) + (13).(351).
(e) mdc(8024; 412) = 4 = (21).(8024) + (409).(412).
(B) mdc(6, 10, 14) = 2 = (2).(6) + (1).(10) + 0.(14).
(10) (i) Segue a proposicao 2.7. (ii) Use o item (i).
(11)(ii) Devido a proposicao 2.7, ou exerccio (10)(i).
(13) Temos a = 48.b, b > 1. Logo b = 3, 5, 7 e a = 144, 240, 336.
(14) (d) Sejam d1 = mdc(ba, bc) e d2 = mdc(a, c). Como d2 |a e
d2 |c temos que bd2 |ba e bd2 |bc. Pela denicao 2.10 tem (3) temos
que bd2 |d1 .
Reciprocamente, como b|ba e b|bc, pelo item (3) da denicao

Respostas de Alguns Exerccios

377

2.10 temos que b|d1 . Seja d1 = bz, z Z. Como ba = d1 x, bc =


d1 y, x, y Z, substituindo temos: ba = bzx, bc = bzy. Logo
(b = 0) a = zx, c = zy, ou ent
ao, z|a e z|c. Por denicao z|d2 .
Isto implica que bz|bd2 , isto e, d1 |bd2 . Como d1 e bd2 sao positivos
vem que d1 = bd2 .
(g) Pelo Teorema Fundamental da Aritmetica l = p1 1 p2 2 pr r ,
pi distintos dois a dois, 1 i r, r 1. Como p2i e fator de ab e
mdc(a, b) = 1, cada p2i e fator de a ou (exclusivo) b.
(16) Todo n
umero natural n se escreve como n = as 10s +as1 10s1
+ + a1 10 + a0 . Como ar 10r (1)r ar (mod.11), r = 0, 1, . . .
temos que n a0 a1 + a2 + (1)s as (mod.11). Portanto 11|n
se, e somente se, 11|a0 a1 + a2 + (1)s as . Tambem temos
que 9|n 9|a0 + a1 + + as e 5|n 5|a0 .
(17) (i) abcabc = a105 + b104 + c103 + a102 + b10 + c a(9) +
3b c + 9a 3b + c(mod.13) 0(mod.13). Logo 13 divide abcabc.
Raciocnio an
alogo para 11 e 7. (ii) Por (i) encontramos 310310 =

2.5.7.11.13.31. (iii)
ao e divisvel por nenhum
E primo pois 997 n
primo menor que 997.
(18) (i) resto 4, (ii) resto 6, (iii) 07. Note que de 710 1(mod.11),
q
temos que 710q+r = (710 ) .7r 7r (mod.11). Ent
ao coloque a poten1321
na forma 10q + r, fazendo congruencia dela modulo
cia (de 7), 7
10.
(19) Por exemplo, f (x) = 5x + 1(mod.26). Ent
ao f 1 (x) = 21x +
5(mod.26), (pois 5.21 1(mod.26)). A terra e azul e levada por
f na seq
uencia f wzmmf z wabi.
10
10
1
1 1
+ 0 1
1
1 1 1 1
0 0 1
e
(20)
1 0 1 1 1
1 1 10
1 0 1 0 0 1
(22) (i) 211134 (ii) 2020314 (iii) (21324 2234 ) = 13034 (iv)
Quociente 124 e resta 3124 (v) Quociente 334 e resta 34 (vi)
Quociente 114 e resta 104 .
(23) (i) 10011011012 (ii) 2120003 (iii) 15457 (iv) 51511 .
(24) 120113 = 139.
(25) Semelhante ao exerccio (23).
(26) Os dgitos da base 4 sao 0,1,2 e 3; logo em 15324 o 5 nao pode

378

Aspectos Formais da Computa


c
ao

aparecer.
(27) 9, 421875 = 9 + 0, 421875. Temos 9 = 10012 e 0, 421875 =
0, 0110112 , Logo 9, 421875 = 1001, 0110112 .
(28) (a) (i) 0, 8125 = 0, 11012 (ii) 34 = 0, 75 = 0, 112 (iii) 0, 6875 =
0, 10112 (iv) 58 = 0, 625 = 0, 1012 (v) 0, 7 = 0, 101102 (vi) Pelo
item (iv) 0, 625 = 58 . Logo 24, 625 = 24 + 58 = 11000, 1012 . (vii)
29 = 111012 e 0, 1875 = 0, 00112 . Logo 29, 1875 = 11101, 00112
(viii) 0, 22 = 0, 001110, (Veja exemplo 2.26(A)(iii).
1
= 0, 8125 (ii) 0, 1112 = 21 + 14 + 18 = 0, 875
(b) (i) 0, 11012 = 12 + 14 + 16
1
1
1
1
+ 64
= 0, 703125.
(iii) 0, 1011012 = 2 + 8 + 16
1
(29) (i) De 1 + r + r2 + + rn + =
, para 0 < r < 1, temos
1r


1
=
23 + 27 + 211 + = 23 1 + 24 + 28 + = 23 .
1 24
1
2
2
1
7
, e 24 +28 +212 + = . Logo a resposta e 12 + 15
+ 15
= 10
.
15
15


(30) (a) Proposicao 2.23 (b) a = 6D16 = (110)(1101) =
11011012 , b = 3A16 = 1110102 , a b = 6D16 3A16 = 3316 (c)
x + y = 7C16 + A216 = 11E16 , e x y = 7C16 A216 = (A216
=
7C
 16 ) = 2616 , e pela proposicao 2.23, x + y
(0001)(0001)(1110) = 1000111102 .


x y = 2616 = (0010)(0110) = 1001102 .
(31)(i) Fazendo o processo inverso da Proposicao 2.23, para a base
octal, junte os n
umeros da seq
uencia em blocos de 3 dgitos ordenados `a partir da vrgula e passe
 cada bloco para a base dez:
(101111, 01)2 = (101)(111), (010) 2 = 57, 28 e (111010, 1001)2 =


(111)(010), (100)(100) 2 = 72, 448 . Na base hexadecimal temos:


(101111, 01)2 = (0010)(1111), (0100) 2 = 2F, 416 e


(111010, 1001)2 = (0011)(1010), (1001) = 3A, 916 .
(ii) Use a Proposicao 2.23 para obter:
A85E, 1616 = 1010100001011110, 00010112 . Para reduzir para a
base octal nao podemos usar a Prop. 2.23, (Por que?). Passe para
a base decimal e depois para a base octal para obter: A85E16 =
124136, 0548 . E
761F, 9816 = 73037, 468 = 111011000011111, 100112 .
(32) Facamos as tabuadas da base octal (mais curtas).

Respostas de Alguns Exerccios









































+
0
1
2
3
4
5
6
7

0
0
1
2
3
4
5
6
7

1
1
2
3
4
5
6
7
10

0
1
2
3
4
5
6
7

0
0
0
0
0
0
0
0
0

1
0
1
2
3
4
5
6
7

2
2
3
4
5
6
7
10
11
2
0
2
4
6
10
12
14
16

3
3
4
5
6
7
10
11
12
3
0
3
6
11
14
17
22
25

4
4
5
6
7
10
11
12
13
4
0
4
10
14
20
24
30
34

379

5
5
6
7
10
11
12
13
14
5
0
5
12
17
24
31
36
43

6
6
7
10
11
12
13
14
15
6
0
6
14
22
30
36
44
52





















7
7
10
11
12
13
14
15
16
7
0
7
16
25
34
43
52
61





















(33)(i) Quociente 1C816 e resto 13916 . (ii) 21428 .348 = 752708 .


(iii) 2307028 125208 = 16, 261 8 .
(34) Os procedimentos sao os mesmos da Prop. 2.23.
RESPOSTAS DOS EXERCICIOS DO CAPITULO 3.
(1) Sao falsos os tens: (a), (b), (d), (e), (g), (h), (i), (j), (m), (o),
(p). Os outros sao verdadeiros.
(2) (a) (b) (c) (d) .
(3) Sao falsos os tens (a) 1
/ B, (b) 1
/ C, (c) 3
/ C, (d) 5
/B e
sao verdadeiros os tens: (e) x, x C = x C, (f) x, x =
x B.
(4) (a) Y, (b) {4}, (c) , (d) {4, 5, 6, 7, 8}, (e) X, (f) {4, 5}, (g)
{1, 2, 3, 4, 5, 6, 8}.
(5) (a) A, (b) {4}, (c) {4, 6, 10, 12}, (d) {3, 11}, (e) {1, 4}, (f)
{3, 9, 10, 11}, (g) {5, 6, 7}, (h) {0, 2, 4, . . . , 2n, . . .}, (i) {5, 6, 7, 8}.

Aspectos Formais da Computa


c
ao

380

(8) (a) Falso, tome A = {1}, B = {1, 2} e C = {1, 2, 3}; (b)


Falso, tome A = {1, 2}, B = {1, 3} e C = {1, 4}; (c) Falso, tome
A = {1, 2, 3, 5}, B = {1, 2, 4} e C = {1, 4, 5}; (d) Ok.
(9) Use tambem diagrama de Venn.
(11) (a) R\{1}, (b) {x R : 1 < x 1}, (c) {x R : x < 1},
(d) {1}.




(12) (i) {(3, 2), 13 , 13 }, (ii) A \ {(3, 2), 13 , 13 }.
(15) (i) falso, (ii) A = {a}, B = {b}. Ent
ao {(a, b)} pertence a
(A B) e nao pertence a (A) (B).
(16) (A) = {, {a}, {b}, {{a, b}}, {a, b}, {a, {a, b}}, {b, {a, b}}, A}.
(17) {0, 3, 5, 7} {0, 3, 5, 7}.
(18) (i) {1, 2}, (ii) {1, 2, 6}, (iii) , (iv) A\B = {1, 3, 5}, B A =
{6, 8, 10}, (v) A B = {x N | x e par}, B A = .
(20) (a) Um retangulo limitado pelas retas x = 1, x = 4, y = 2
e y = 3.
(21)(a) {(a, 2), (a, 3), (a, 4), (b, 2), (b, 3), (b, 4)} (b) {(a, 3), (b, 3)},
(c) {(a, 2), (b, 2)}, (d) {(a, 2), (a, 3), (a, 4), (b, 2), (b, 3), (b, 4)},
(e) {(a, 2), (a, 4), (b, 2), (b, 4)}.
(23) Use inducao quando for o caso.

(24) (a) B unit
ario ou A vazio, (b) n(A).n(B)+n(A B) = n(A)+
n(B).
(25) (a) 190, (b) 810, (c) 245.


(26)
Ai = R2 {(0, y), y R} e
Ai = {(0, 0)}.
iR

iR

0
(27) (i) (a) {1, 2, 3, {1, 2, 3}}, (b) {}, (c) {, {}}, (d) , {},
1
23
, {} ; (ii) n + 1.
(28) Do exerccio (4): (a) y = 11100000, (b) 00010000, (c)
00000000, (d) 00011111, (e) 11111000, (f) 00011000, (g) 11111101;
Do exerccio (5) (a) 111111111, (b) 001000000, (c) 001101010,
(d) 010000100, (f) 010011100.
uencias de bits as(30) Sejam a = a1 a2 an , b = b1 b2 bn as seq
sociadas aos conjuntos A e B, respectivamente. Ent
uencias
 aoc as seq
de bits associadas aos conjuntos A B = A B e AB sao,
respectivamente: a b e (a b) (a b).

Respostas de Alguns Exerccios

381

RESPOSTAS DOS EXERCICIOS DO CAPITULO 4 1.


(1) (a) reexiva, anti-simetrica e transitiva (b) reexiva, simetrica e transitiva (c) simetrica (d) simetrica (e) simetrica (f)
simetrica (g) reexiva, anti-simetrica e transitiva (h) reexiva,
anti-simetrica e transitiva.
(3) so a propriedade reexiva
(7) A relacao nao e reexiva, pois a44 = 0; nao e simetrica pois a
matriz nao e simetrica; nao e anti-simetrica pois a12 = a21 = 1;
n
ao e transitiva pois a23 = a34 = 1 e a24 = 0.
(8) R = {(a, b), (b, a)}, S = {(b, c), (c, b)} denidas sobre {a, b, c}.
Ent
ao R e S sao simetricas mas R S = {(c, a)} nao e simetrica.
preciso que, para cada a A exista b A tal que (a, b) R.
(9) E
R = {(a, a), (b, b), (a, b), (b, a)}, denida sobre {a, b, c}, e simetrica,
transitiva, mas nao e reexiva.
(12) Se R = {(a, a), (b, b), (c, c), (a, b), (b, c)} denida sobre {a, b,
ao e transitiva.
c, }, ent
ao R R1 n
(13)(b) Antigo (c) R = {(a, b), (b, a)}, S = {(b, c), (c, b)} denidas
sobre {a, b, c}.
(15) 2m.n .
2
1
(16) Existem 2n n relacoes reexivas, 2(n+1).n.2 relacoes sime1
tricas e 3n(n1).2 .2n relacoes anti-simetricas.
(17) S R = {(2, 3), (3, 2), (4, 1)}, IB R = {(2, 4), (3, 3), (4, 2)} =
R IA ,
R S = {(3, 4), (4, 3)}.

0 0 0
1
0
0
0
0 0 1

MR =
MS = 0 1 0 0 ,
0 1 0 ,
0 0 1 0
1 0 0

0 0 0 0
1 0 0
0 0 1 0
0 1 0

MSR =
MRSR =
0 1 0 0 ,
0 0 1 .
1 0 0 0
0 0 0
(18) S R = {(1, 0), (2, 1)}, R S = {(2, 0), (2, 1), (3, 2)},
R S R = {(1, 0), (1, 1), (2, 2)} e R3 = {(0, 0), (0, 1), (0, 2), (0, 3),
(1, 2), (2, 1), (2, 3)}.
(20) D = {(2, 3), (2, 4), (4, 3)} {1, 2, 4} {3, 4} e D com a menor

382

Aspectos Formais da Computa


c
ao

cardinalidade possvel e univocamente determinado.


(21) Mostre por inducao que Rr = {(i, j) Z2 | j = i + r}.
(23)(a) S R = {(1, 1), (1, 2), (1, 4), (2, 1), (2, 2), (2, 3), (2, 4),
(3, 1), (3, 3), (4, 2), (4, 3), (4, 4)}.
(b) R S = {(1,2), (1,4), (2,1), (3,3)} (c) Tc = {(2,2), (3,3), (3,4),
(4,2), (4,3)}
(d) R Tc = {(1, 2), (1, 4), (2, 1), (2, 2), (2, 3), (2, 4), (3, 1), (3, 3),
(3, 4), (4, 2), (4, 3)}
(e) (R S) T = {(1, 1), (1, 2), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1),
(4, 4)}
(f) R Sc = {(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2),
(3, 3), (3, 4), (4, 1), (4, 3)}

c

(g) R (S Tc = {(1, 1), (1, 3), (3, 2), (3, 4), (4, 1), (4, 4)}
(h) (S T) (R Tc ) = {(1,2), (1,4), (2,1), (2,2), (2,3), (2,4), (3,1),
(3,3), (4,2)}; e

1 1 0 1
0 1 0 1
1 1 1 1
1 0 0 0

MSR =
=
M
RS
1 0 1 0
0 0 1 0
0 1 1 1
0 0 0 0

0 0 0 0
0 1 0 1
0 1 0 0
1 1 1 1

c =
MTc =
M
RT
0 0 1 1
1 0 1 1
0 1 1 0
0 1 1 0

1 1 0 1
0 1 1 1
1 0 1 1
1 0 1 1

M(RS)T =
MRSc =
1 0 0 0
1 1 1 1
0 0 0 1
1 0 1 0

1 0 1 0
0 0 0 0

c =

M
0 1 0 1 , e nalmente
R(STc
1 0 0 1

0 1 0 1
1 1 1 1

M(ST)(RTc ) =
1 0 1 0
0 1 0 0

Respostas de Alguns Exerccios

383

RESPOSTAS DOS EXERCICIOS DO CAPITULO 4 2.


(1)(a) {0, 1, 2, 3, 4}
(b) {Pares, Impares}
(c) {0, 1, . . . , 9}
(d) {0, 1, . . . , 11}.
(4) Se R e S sao as relacoes denidas sobre {a, b, c, d, e} e
{r, s, t, x, y, z}, respectivamente, entao R = {{a, c}, {b, e}, {d}} e
R = {{r, t}, {s, x, y}, {z}}.
(6) R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 4), (3, 4)} onde (a, b) =
{(r, s) A tal que a soma r + s da a + b},
S = {(1, 1), (1, 2), (1, 3), (1, 4)}.
2 = {{a, b}, {c, d}},
(7) 1 = {{a}, {b}, {c}, {d}},
3 = {{a, c}, {b, d}}, 4 = {{a, d}, {b, c}}, 5 = {{a}, {b, c, d}},
6 = {{b}, {a, c, d}}, 7 = {{c}, {a, b, d}}, 8 = {{a, b, c},
{d}}, 9 = {{a}, {b}, {c, d}}, 10 = {{a}, {c}, {b, d}},
11 = {{a}, {d}, {b, c}}, 12 = {{b}, {c}, {a, d}}, 13 = {{b},
{d}, {a, c}}, 14 = {{c}, {d}, {a, b}}, 15 = {{a, b, c, d}}.
umero de
(8) Vamos dar uma formula recorrente: Seja Pn e o n
particoes de um conjunto com n elementos, digamos {a1 , a2 , . . . ,
an }. Tome outro elemento an+1 e considere um bloco do conoe que ele contem
junto {a1 , a2 , . . . , an , an+1 } contendo an+1 . Sup
k elementos adicionais (todos
 de {a1 , a2 , . . . , an }). Esses elementos
n
podem ser escolhidos de
maneiras diferentes. Os n k elek
mentos restantes podem ser particionados em Pnk blocos. Como
k pode ser qualquer n
umero de 0 ate n, a regra soma de produtos
n  
n  


n
n
nos da a formula recursiva: Pn+1 =
Pnk =
Pk .
k
k
k=0

k=0

Temos P3 = 5, P4 = 15 e P5 = 52 que pode ser vericado


pela formula ou diretamente, por c
alculo.
(9) R = {(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (1, 2), (2, 1), (3, 4), (4, 3)}.
(10) So (b).
(11) So a representacao `a esquerda e de uma relacao de equivalencia.
(12) A classe de equivalencia de um elemento a e constitudo de
todos os elementos que voce pode chegar ate ele por um caminho
de setas partindo de a, sem saltos.
(13) (b) 0 = {0}, a = {a.2m , m Z}, a = 0.

384

Aspectos Formais da Computa


c
ao

(14) Se R e uma relacao de equivalencia; sejam a, b, c A tais


que aRb e bRc. Ent
ao aRc (pela transitiva) e, pela simetria, cRa.
Logo R e circular. Suponha agora que R e reexiva e circular. Se
aRb temos aRb e bRb. Por hip
otese (neste caso b = c), bRa. Logo
R e simetrica. Alem disso, se aRb e bRc ent
ao cRa pela circular.
Como R e simetrica aRc. Logo R e tambem transitiva. Portanto,
de equivalencia.


ao
ai bj =
(16) Se R = {a1 , . . . , ar }, S = {b1 , . . . , bs } ent
i,j

A, 1 i r, 1 j s. Temos no maximo rs interseccoes ai bj


distintas.
(17) Para = tome = . Para = , tome =
{(a, a), (a, b), (b, a), (b, b), (c, c)} e = {(a, a), (b, b), (b, c), (c, b),
(c, c)} denidas sobre {a, b, c}.
(18) Posto quatro e classes de equivalencias distintas:0, 1, 2, 4.
RESPOSTAS DOS EXERCICIOS DO CAPITULO 4 3.
(2)(i) 2 e 3 sao incomparaveis, {2, 4, 8, 32} e uma cadeia. (ii) Os
limites superiores de A sao todos os n
umeros naturais da forma
6q, q N, maxA = supA = 6 e 6 e o u
nico elemento maximal; 1 e
ou
nico limite inferior. Logo 1 =inf A, nao existe minA, 2 e 3 sao
elementos minimais.

(3)(i) nao e linear, pois (0, 1) e (1, 0) sao incomparaveis. (ii) E


totalmente ordenado, pois (0, 0) 2 (0, 1) 2 (1, 0) (1, 1). (iii)
as denicoes sao exatamente as mesmas para (a, b) e (c, d) E E.
(7)(i) segue do exerccio (5), (ii) (1, 2), (2, 1) sao incomparaveis.
Logo nao e total.
(iii) a ordem inversa e (a, b) " (c, d) a
e m
ultiplo de c e b d. (iv) Ambos sao elementos maximais e
minimais, limites inferiores (1, 0), (1, 1), e inf A = (1, 1), n
ao existe
min A. Limites superiores sao da forma (2s, b), com s N e b 2;
sup A = (2, 2), nao existe max A.

Respostas de Alguns Exerccios

385

(10)
72
D [777

77

77


77


77


77


7


2E 3 .3Z6

23Y4

66
66
66
66
66
66
6

22C .3[72

77
77
77
77
77
77
7












2
2D 2 .3[7
2.3
C Y44
7


44
77

44

44
77

44


44

77

44


44

7
44

77

44


44
77

44 

4
7 

2
2.3
2 Z6
3E 2
C [77

66

77


66
77



66

77

66

77

66

77

66
6 
7

2 [7
C3
77

77


77

77


77

77

7 

(a) a natureza do diagrama de Hasse do conjunto D+ (pk11 .pk22 ) e


an
alogo ao caso acima, ou seja, no nvel zero coloca-se o n
umero 1 =
0
0
p1 .p2 , no primeiro nvel coloca-se os elementos incomparaveis p1 e
p2 , no segundo nvel coloca-se os elementos incomparaveis p21 , p1 .p2
e p22 (se k1 > 1 e k2 > 1). Em geral, no nvel s coloca-se todos os
possveis elementos pa1 .pb2 , com a + b = s, 0 a k1 , 0 b k2 ,
k1 k2
b
com uma seta de pa1 .pb2 `a pa+1
1 .p2 (caso este divide p1 .p2 ) e outra
(caso este divide pk11 .pk22 ).
seta de pa1 .pb2 `a pa1 .pb+1
2
(11) Prove que a interseccao de duas ordens e uma ordem. A re-

386

Aspectos Formais da Computa


c
ao

uni
ao de duas ordens n
ao e uma ordem, pois se R e uma ordem
ao R R1 nunca e orsobre A, diferente da ordem trivial A ent
dem, pois existem a = b com (a, b) e (b, a) R R1 .
ao (a, b) R
(13) Se R e relacao de ordem, seja (a, b) R R1 . Ent
1
e (a, b) R , ou seja, (a, b) R e (b, a) R. Como R e de ordem
b = a. Logo R R1 IE . Como R e R1 sao relacoes de ordem
ao
IE R R1 . Facamos agora R R = R. Seja (x, z) R R. Ent
existe y tal que (x, y) e (y, z) R. Como R e transitiva (x, z) R.
Logo R R R. Seja (x, y) R. Como (y, y) R temos que
(x, y) R R e por isso R R R. Logo R R = R.
ao IE R. Logo
Reciprocamente se RR1 = IE e RR = R, ent
R e reexiva. Sejam x, y E tais que (x, y) e (y, x) R. Ent
ao
1
1
(x, y) R e (x, y) R , ou (x, y) R R = IE . Logo x = y e
portanto R e anti-simetrica. Finalmente, sejam (x, y), (y, z) R.
Logo (x, z) R R = R e R e, entao, transitiva. Portanto R e
relacao de ordem.
(14) A ordem 1 e total, pois dados x = (x1 , . . . , xn ), y = (y1 , . . . ,
yn ) em X n . Se x = y ent
ao, existe i, 1 i n tal que xi = yi
(em X). Tome i0 o menor dos ndices i tal que xi = yi . Como e
total temos: xi0 yi0 ou yi0 xi0 . Da x y ou y x.
(15) Denotando por Ri a relacao sobre o conjunto {a, b, c, d, e} cuja
matriz e Mi , i = 1, 2, 3, 4 somente R1 e R3 sao relacoes de ordens.
(16) Para R1 os pares de elementos a, c e b, c sao incomparaveis;
e para R3 os elementos b, c sao incomparaveis.


ALGUNS PARADOXOS EM MATEMATICA

J
a vimos que na logica classica so ha duas ocorrencias como valores logicos: falso ou verdadeiro. N
ao ha uma terceira ocorrencia
como valor logico, como acontece em outras teorias logicas. Agora vamos apresentar varios paradoxos em matematica, a maioria
deles baseados no problema da diagonal de uma teoria.
A diagonalizacao de uma sentenca e uma sentenca de carater
mais ou menos universal, que pode ser colocada dentro de algumas teorias. Para deni-la, e preciso um pouco mais de teoria
sobre logica e sugerimos ao leitor que busque em livros sobre o
assunto. O problema das sentencas diagonais e que, apesar de
ser uma sentenca clara e bem colocada dentro da teoria, ela deveria ser uma proposicao. Mas nao o e, pois e uma sentenca que
n
ao e verdadeira e nem e falsa, como veremos em varios exemplos a seguir. Por isto se diz que existem teorias (sobre Q, por
exemplo) que sao incompletas, pois existem proposicoes na teoria que nem sao verdadeiras, nem sao falsas. Para dar uma ideia
melhor da diagonal, suponhamos um conjunto de proposicoes, que
possui um subconjunto A de proposicoes, que tem a propriedade
de reetir as demais. Assim, cada proposicao neste conjunto e
simetrica, em relacao a A, a uma outra proposicao distinta dela,
sendo que cada proposicao de A tem a propriedade de ser simetrica
em relacao a si mesma. Em resumo, o subconjunto A e como se
fosse um espelho. Cada proposicao (objeto) e uma armacao sobre seu simetrico (imagem) e vice-versa. Portanto, se p e uma
proposicao de A, ent
ao p faz uma armacao sobre si mesmo.
Os tens de (A), (B), (D), (E), (H), (I), (J), (M) se referem
ao problema da diagonal. Pergunta: Existem outros tens que se

388

Aspectos Formais da Computa


c
ao

referem a este problema?


(A) Epimenedes de Creta disse: Todos os Cretenses sao mentirosos; o que, de outra maneira, ele disse: Eu estou mentindo.
Se a sentenca Eu estou mentindo for verdadeira, ent
ao ele
esta mentindo ao dizer Eu estou mentindo. Logo, a sentenca e
falsa: Contradicao. Se a sentenca Eu estou mentindoe falsa,
ent
ao ela e verdadeira.
A analise e complicada, porque esta sentenca esta na diagonal da teoria. Esta sentenca e a sentenca: Meu simetrico esta
mentindo. Ocorre que a pessoa e seu simetrico sao os mesmos,
pois estao na diagonal.
O proximo paradoxo e uma outra vers
ao e parece ser mais simples de ver.
(B) Em uma folha de papel em branco escreva a sentenca p:
A sentenca do outro lado e falsa, e, no verso, escreva a sentenca
q: A sentenca do outro lado e falsa. Verique que p e verdadeiro
se, e somente se, q e falso. Como p e q sao iguais, temos uma
contradicao!
(C) Novamente numa folha de papel em branco escreva a
mesma sentenca p: A sentenca do outro lado e falsa e, no verso,
escreva a sentenca r: A sentenca do verso e verdadeira. Verique
que p e r nao podem assumir nenhum valor l
ogico.
(D) Paradoxo de Berry
Suponha que podemos associar sentencas a cada n
umero natural, compostas de qualquer combinacao de letras, smbolos ti claro que
acos e smbolo branco (para separar palavras). E
pogr
temos apenas um n
umero nito de n
umeros naturais enumerados, usando, por exemplo, ate 70 smbolos (pois o alfabeto e
nito). Listemos estes n
umeros.
Agora o menor n
umero natural n
ao listado usando menos de
setenta smbolos denota um n
umero natural bem denido. Mas a
sentenca tem 69 smbolos e, portanto, o menor n
umero natural n
ao
listado usando ate 70 smbolos e enumerado usando 69 smbolos.
(E) Paradoxo de Greeling
Uma palavra e dita ser autologica se seu signicado se aplica
a ela mesma e dita ser heterologica caso contrario. Por exemplo:

Alguns Paradoxos em Matem


atica

389

Palavra e uma palavra autol


ogica; polisslaba, english, portugues
sao palavras autol
ogicas. As palavras monosslaba, ingles, green
sao palavras heterologicas. Pergunta: A palavra heterol
ogica e
heterol
ogica?
Se ela for, ent
ao seu signicado nao se aplica a ela mesma, e
ent
ao ela e autologica. Se, caso contrario, ela e autologica, ent
ao
ela deve ser heterologica.
(F) Paradoxo da Prova Inesperada.
Um professor diz aos alunos que na pr
oxima semana vai haver
uma prova surpresa, em algum dia da semana. Os alunos, sabendo
que o professor nunca mente, comecam a raciocinar: A prova n
ao
pode ser realizada na sexta-feira (
ultimo dia da semana), senao nao sera prova surpresa.
Ent
ao para ser prova surpresa deve ser realizada ate quintafeira: Riscam sexta-feira. Ficando quinta-feira para o u
ltimo dia
para a prova surpresa, esta tambem nao pode ser realizada quintafeira porque, sendo o u
ltimo dia, n
ao seria surpresa, tambem riscam quinta-feira. Ent
ao ca quarta-feira para o u
ltimo da
prova surpresa. Mas, do mesmo modo, eles concluem que nao pode
ser quarta-feira, nem terca-feira e, portanto, segunda-feira tambem
n
ao pode. Levaram este argumento para o professor e, como este
n
ao mente, teve que cancelar a prova surpresa.
(G) Paradoxo de Hempel.
O losofo Carl G. Hempel prop
os em 1937 o seguinte paradoxo,
conhecido como paradoxo da conrmac
ao.
Sup
oe que um ornitologista deseja investigar a seguinte hip
otese: Todos os corvos sao pretos. A conrmacao para esta hipotese
consiste em examinar a maior quantidade possvel de corvos e, se
ele achar pelo menos um corvo que nao e preto, a hip
otese e falsa.
Por outro lado, quanto mais corvos pretos ele achar, torna mais
prov
avel a hipotese.
Consideremos as propriedades C(x): x e corvo e P (x): x
e preto. Nossa hipotese Para todo x, se x e corvo, entao x e
pretose escreve, em smbolos, do seguinte modo:
X, C(x) P (x).
Por contra-recproca, a hip
otese e logicamente equivalente a:
x, P (x) C(x). Como C(x) C(x) e estas duas condi-

390

Aspectos Formais da Computa


c
ao

cionais implicam em C(x), temos nossa hipotese re-escrita como:


x, [ C(x) P (x)] C(x). Pelas leis de DeMorgan, temos a
nossa hipotese re-escritacomo:

x, C(x) P (x) C(x),
ou seja, para qualquer x, se x nao e corvo preto, ent
ao x nao e
corvo. Logo, um corvo branco serve para conrmar que todos os
corvos sao pretos.
(H) Paradoxo de Richard
Julio Richard prop
os em 1905 um paradoxo tratando dada denicao real. Diz que um n
umero real e nitamente denvel se ele
pode ser denido por uma sentenca em linguagem natural (isto e:
uma combinacao nita de letras do alfabeto mais um n
umero nito
de sinais tipogracos). Se inclumos o branco para separar palavras,
podemos enumerar essas combinacoes nitas de um conjunto nito
de smbolos usando a ordem lexicogr
aca (ordem do dicion
ario) do
seguinte modo: Duas seq
uencias (frases) de comprimento diferente,
o comprimento decide a ordem, sendo que a menor vem antes,
e duas seq
uencias de mesmo comprimento, a ordem lexicograca
estendida aos sinais tipogracos mais o smbolo branco decide a
ordem.
Agora, considere a sentenca: Seja d o n
umero real, cuja parte
inteira e zero, e n-esimo dgito decimal e 1, se o n-esimo dgito
decimal do n-esimo n
umero na tabela e zero, e zero em outro caso.
Ent
ao o n
umero d e nitamente denvel, mas ele e diferente de
todos os n
umeros da tabela, que e uma contradicao, pois a tabela
lista todos os n
umeros nitamente denvel.
(I) Paradoxo do Barbeiro
Numa cidade havia so um barbeiro e o barbeiro s
o fazia a
barba de quem n
ao se barbeava. Pergunta: Quem fazia a barba
do barbeiro?
Note que o barbeiro n
ao pode se barbear, pois ele so faz a barba
de quem nao se barbeia. Mas, se ele nao se barbear, o barbeiro faz
sua barba. Ocorre que o barbeiro e ele mesmo. Entao, de qualquer
forma, temos uma contradicao.
(J) Uma mae, em visita com seu lho ao jardim zoologico, por
descuido deixa um crocodilo pegar seu lho. Diante da aicao e da
imploracao da mae, o crocodilo resolve dar uma chance a ela e poe

Alguns Paradoxos em Matem


atica

391

a seguinte questao: Ele devolver


a o lho se ela adivinhar se ele vai
comer ou vai devolver o lho para ela. Como ela conhecia l
ogica,
vendo a pergunta mal posta, deu uma resposta de modo a, pelo
menos, salvar o lho, qualquer que fosse a intencao do crocodilo.
Qual foi a resposta dada pela m
ae?
(K) Os habitantes de um antigo reino, quando morriam, subiam ate um ponto no caminho para a eternidade, onde havia uma
bifurcacao e o caminho se dividia em dois. Um era o caminho do
ceu, o outro do inferno.
Nesta bifurcacao, ora havia um anjo que era verdadeiro, belo,
etc: era a verdade; ora estava ali a mentira e, por isso, era mentiroso, cheio de contradicoes como, por exemplo, tambem era belo
e, por isso, ninguem sabia qual era o anjo verdadeiro e qual era o
anjo mentiroso. Chegando a, as pessoas tinham direito de fazer
so uma pergunta para saber qual era o caminho do ceu e seguir
viagem para la ou, por azar, ir para o inferno.
Que pergunta pode ser feita ao anjo de modo que te diz com
certeza o caminho do ceu, independente de ser o anjo verdadeiro
ou mentiroso?
(L) O queijo suco tem muitos buracos. Quanto mais queijo,
mais buraco. Logo, quanto mais queijo, menos queijo.
(M) Um velho ditado arma: Toda ideia xa esta errada.
Inclusive esta.
(N) Voce pode provar que seu colega nao esta aqui, do seguinte
modo: Escolha duas cidades diferentes desta onde voces estao (digamos Paris e Londres, se for o caso). Pergunte a ele: Voce esta em
Londres? Se ele nao for sincero e dizer que esta, voce responde que
ent
ao ele nao esta aqui. Se ele for sincero responder
a que nao. De
mais uma chanceperguntando se ele esta em Paris. Novamente
se ele disser que esta, ent
ao ele nao esta aqui. Se ele disser que
n
ao esta, voce diz: Bem, se voce nao esta em Londres e nao esta
em Paris, ent
ao voce esta em outro lugar, concorda? Ele deve
responder que sim. Ai voce arremata dizendo: ent
ao, se voce esta
em outro lugar, voce nao esta aqui!

BIBLIOGRAFIA

[1] Carnielli W. e Epstein, R. L. Computabilidade Func


oes Com
put
aveis, L
ogica e os Fundamentos da MATEMATICA. Editora
UNESP, 2006.
[2]. Cutland, N.: Computability, An introduction to recursive function theory - Cambridge University Press, 1980.

[3]. Domingues, Hygino H. e Iezzi, G. Algebra


Moderna, Atual
a
Editora, 4 Edicao, 2003.
[4]. Dornho, L.L. & Hohn, F.E. Applied Modern Algebra, Macmillan Publishing Co., Inc. N. York, 1978.
[5]. Lipschutz, S. Teoria dos Conjuntos, Colecao Schaum - ao Livro
Tecnico S. A., Rio de Janeiro, 1968.
[6]. Peter, R.,: Recursive Functions, Academic Press, 1967.
[7]. Whitesitt, J.E. Algebra Booleana y sus aplicaciones, Compania
Editorial Continental, S.A., Mexico - Espa
na - Argentina - Chile,
1971. Traducao de Laura Bustamante Llaca.

SOBRE OS AUTORES

A Professora Aparecida e licenciada em Ciencias em 1977 e em

matematica em 1978 pelo IBILCE/UNESP S.J.Rio Preto-SP. E


mestre e doutora em matematica, formada pelo IMECC/UNICAMP. Foi bolsista de Iniciacao Cientca pelo CNPq na graduacao e durante o mestrado. Orientou alunos na P
os-Graduacao do
Departamento e varios alunos de graduacao. Sua area de pesquisa

e Algebra
Comutativa e Jogos no Ensino da Matem
atica. Atualmente e coordenadora regional da OBMEP.
O Professor Clotilzio e licenciado em Ciencias em 1977 e em

matematica em 1978 pelo IBILCE/UNESP S.J.Rio Preto-SP. E


mestre (1982) e doutor (1994) em matematica, formado pelo
IMECC/UNICAMP. Fez Pos-Doutorado no IMECC/UNICAMP
no primeiro semestre de 2009. Foi bolsista de Iniciacao Cientca
pela Fapesp na graduacao, bolsista do CNPq durante o mestrado
e, bolsista do PICD, durante parte do doutorado. Orientou alunos
nos cursos de graduacao e de Pos-Graduacao do Departamento
de matematica IBILCE/UNESP, no qual e docente deste de 1982.
Tem publicacoes na area de teoria algebrica de formas quadr
aticas
sobre corpos e sobre algebras de quaternios, sua area de pesquisa.
Tem como hobby pesquisas sobre o passado, presente e destino futuro da raca Humana e ciencias Metatronicas, baseadas nos Livros
do Conhecimento: As chaves de Enoch e Pistis Sophia conforme

publicacoes da ACADEMIA PARA CIENCIA


FUTURA, do qual
e membro.

Você também pode gostar