Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O...

118
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 1 Disciplina: ÁLGEBRA APLICADA À COMPUTAÇÃO Código: CCMP0001 Carga Horária Semestral: 60h Professor: Carlos Alexandre Barros de Mello Número de Créditos: TEÓRICOS: 04; PRÁTICOS: 0; TOTAL: 04 Pré-Requisito: Linguagem de Programação Imperativa e Lógica Co-Requisito: - EMENTA Conjuntos. Relações. Funções. Restrição. Fecho. Indução. Recursão. Sistemas algébricos. Reticulados. Monóides. Grupos. Anéis. Álgebras booleanas. BIBLIOGRAFIA ROSS, Kenneth, WRIGHT, Charles. DISCRETE MATHEMATICS, New Jersey, Ed. Prentice-Hall, 2002. BURTON, David M. ELEMENTARY NUMBER THEORY, New York, Ed. McGraw-Hill , 2001. CALENDÁRIO DE PROVAS 1oEE 2oEE 2a Chamada Final 01/04 25/05 01/06 03/06 Obrigatória: x Eletiva : Período Indicado: 3º

Transcript of Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O...

Page 1: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 1

Disciplina: ÁLGEBRA APLICADA À COMPUTAÇÃO Código: CCMP0001 Carga Horária Semestral: 60h Professor: Carlos Alexandre Barros de Mello

Número de Créditos: TEÓRICOS: 04; PRÁTICOS: 0; TOTAL: 04 Pré-Requisito: Linguagem de Programação Imperativa e Lógica Co-Requisito: -

EMENTA

Conjuntos. Relações. Funções. Restrição. Fecho. Indução. Recursão. Sistemas algébricos. Reticulados. Monóides. Grupos. Anéis. Álgebras booleanas.

BIBLIOGRAFIA

ROSS, Kenneth, WRIGHT, Charles. DISCRETE MATHEMATICS, New Jersey, Ed. Prentice-Hall, 2002.

BURTON, David M. ELEMENTARY NUMBER THEORY, New York, Ed. McGraw-Hill , 2001.

CALENDÁRIO DE PROVAS

1oEE 2oEE 2a Chamada Final

01/04 25/05 01/06 03/06

Obrigatória: x Eletiva :

Período Indicado: 3º

Page 2: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 2

PARTE I. Teoria dos Conjuntos A teoria dos conjuntos é a base da matemática. Assim, os conceitos de

“conjuntos” e “associação” são tidos como termos básicos não-definidos e o

resto da matemática é definido nesses termos.

Um conjunto é uma coleção de objetos. A definição do conjunto não deve ser

ambígua de modo que se possa decidir se um objeto pertence ou não ao

conjunto.

Um objeto a que pertence a um conjunto S é chamado membro de S ou

elemento de S. Se a é um objeto, A é um conjunto e a é membro de A, dizemos

que a ∈ A ou a ∉ A, se a não é membro de A.

É possível descrever um conjunto de diversas maneiras. Uma delas é listando

seus elementos (forma extencionista):

ù = {0, 1, 2, 3, 4, ...} = Conjunto dos Números Naturais

P = {1, 2, 3, 4, ...} = Conjunto dos Positivos = ù*

Z = {.., -3, -2, -1, 0, 1, 2, 3, ...} = Conjunto dos Inteiros

Q = Conjunto dos Racionais = Números da forma m/n

ú = Reais = Todos os números racionais ou não

÷ = Complexos

Podemos ver como esses Universos se relacionam entre si na Figura 1.

Page 3: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 3

Fig. 1. Relação entre os Universos.

Outra forma de apresentar os conjuntos é através de regras de formação:

{x : x ∈ ú ∧ 1 ≤ x < 3} (representa todos os reais maiores ou iguais a 1 e

menores que 3)

Uma terceira forma é através de intervalos.

O mesmo exemplo anterior poderia ser escrito como:

{x : x ∈ ú ∧ x ∈ [1, 3) }

Assim, podemos ter:

[a, b] = {x : x ∈ ú ∧ x ∈ a ≤ x ≤ b}

[a, b) = {x : x ∈ ú ∧ x ∈ a ≤ x < b}

(a, b] = {x : x ∈ ú ∧ x ∈ a < x ≤ b}

(a, b) = {x : x ∈ ú ∧ x ∈ a < x < b}

Pode haver mais de uma forma de descrever um mesmo conjunto.

Page 4: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 4

Sejam dois conjuntos S e T, dizemos que T é um subconjunto de S, se todo

elemento de T pertence a S: T ⊂ S. Se T está contido e é igual a S, dizemos: T

⊆ S.

Assim, T = S, sse, T ⊂ S ∧ S ⊂ T.

Podemos escrever que T ⊂ S, indicando que T está contido em S, mas T é

diferente de S. Se T ⊂ S, dizemos que T é um subconjunto próprio de S.

Teorema 1.1: Transitividade da Contingência

Suponha que A, B e C são conjuntos quaisquer. Se A ⊆ B e B ⊆ C, então A ⊆ C.

Prova:

Suponha que A ⊆ B e B ⊆ C. Seja a um elemento qualquer pertencente a A.

Assim, a ∈ A. X ⊆ Y implica que todo elemento de X também é elemento de Y.

Assim, como A ⊆ B, então a ∈ B, para todo a pertencente a A. Da mesma forma,

como B ⊆ C, todo elemento de B pertence a C. Como a pertence a B, a também

pertence a C.

Considere agora os seguintes conjuntos:

{n ∈ ù: 2 < n < 3} {x ∈ ú: x2 < 0}

{r ∈ Q: r2 = 2} { x ∈ ú: x2 + 1 = 0}

Esses conjuntos têm em comum o fato de não possuírem elementos. O conjunto

sem elementos é chamado de Conjunto Vazio, representado por ∅ ou { }.

Cuidado! {∅} é um conjunto com um elemento (o vazio).

Se A é um conjunto, {A} é outro conjunto com um membro apenas não

importando quantos elementos existam em A. Assim, {∅} não é o conjunto

Page 5: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 5

vazio. É um conjunto com um elemento mesmo que o vazio não contenha

elementos. Temos que ∅ ∈ {∅}, ∅ ⊂ {∅}, mas ∅ ∉ ∅.

O conjunto de todos os subconjuntos de um conjunto S é chamado de Conjunto

das Partes de S (Power Set) e será representado por P(S). Obviamente, i e S

fazem parte de P(S):

a) P(∅) = {∅}

b) Se S = {a}, então P(S) = {∅, {a}}

c) Se S = {a, b}, então P(S) = {∅, {a}, {b}, {a, b}}

d) Seja S um conjunto finito com n elementos, n ≥ 0, então P(S) tem 2n

elementos.

f) Se S é infinito, P(S) é infinito também.

1.1 Operações entre Conjuntos

União: A ∪ B = {x: x ∈ A ∨ x ∈ B}

Interseção: A ∩ B = {x: x ∈ A ∧ x ∈ B}

Dois conjuntos são ditos disjuntos se A ∩ B =∅

Complemento Relativo: A – B = {x: x ∈ A ∧ x ∉ B}

Diferença Simétrica: A ⊕ B = {x: x ∈ A ∨ x ∈ B, mas não ambos}

A ⊕ B = (A ∪ B) – (A ∩ B) = (A – B) ∪ (B – A)

Às vezes, é conveniente ilustrar relações através de diagramas de Venn1. Os

diagramas de Venn são largamente utilizados nos estudos da teoria dos

conjuntos. Eles utilizam figuras geométricas para representar as estruturas da

teoria dos conjuntos. A figura abaixo apresenta a representação de algumas

relações através dos diagramas.

1 John Venn, Matemático inglês (1834-1923)

Page 6: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 6

A ∪ B A ∩ B A – B A ⊕ B

U = Conjunto Universo

U – A = Complemento Absoluto ou complemento de A = Ac

No estudo da álgebra de conjuntos, podemos fazer uma relação fácil com

elementos da lógica como os conectivos. Por analogia temos:

Conectivo Lógico Operação sobre Conjuntos

Negação Complemento

Disjunção União

Conjunção Interseção

1.2 Leis da Álgebra de Conjuntos

1. Leis Comutativas

a) A ∪ B = B ∪ A

b) A ∩ B = B ∩ A

2. Leis Associativas

a) (A ∪ B) ∪ C = A ∪ (B ∪ C)

b) (A ∩ B) ∩ C = A ∩ (B ∩ C)

3. Leis Distributivas

a) A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)

b) A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)

Page 7: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 7

4. Leis Idempotentes

a) A ∪ A = A

b) A ∩ A = A

5. Identidade

a) A ∪ i = A

b) A ∪ U = U

c) A ∩ i = i

d) A ∩ U = A

6. Complemento Duplo: (Ac)c = A

7.a) A ∪ Ac = U

b) A ∩ Ac = i

8.a) Uc = i

b) ic= U

9. Leis de deMorgan

a) (A ∪ B) c = A c ∩ B c

b) (A ∩ B) c = A c ∪ B c

10. Associatividade da Diferença Simétrica

(A ⊕ B) ⊕ C = A ⊕ (B ⊕ C)

Prova da Lei de deMorgan a:

a) (A ∪ B) c = A c ∩ B c

Vamos tentar mostrar que (A ∪ B) c ⊆ A c ∩ B c e A c ∩ B c ⊆ (A ∪ B) c

I) Seja x ∈ (A ∪ B) c ⇒ x ∉ (A ∪ B), logo x ∉ A e x ∉ B. Assim, x ∈ Ac e x ∈ Bc

Como x pertence a ambos, x também deve pertencer à interseção. Assim:

Page 8: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 8

x ∈ (Ac ∩ Bc)

⇒ (A ∪ B) c ⊆ A c ∩ B c

Por outro lado:

II) Seja x ∈ Ac ∩ Bc ⇒ x ∈ Ac e x ∈ Bc. Assim, x ∉ A e x ∉ B. Logo, x ∉ (A ∪ B).

Isso implica que x ∈ (A ∪ B)c.

⇒ A c ∩ B c ⊆ (A ∪ B) c

I e II só são possíveis se (A ∪ B) c = A c ∩ B c. Logo, está provado. A Lei b tem

prova similar.

1.3 Pares Ordenados

Sejam S e T dois conjuntos e s∈S e t∈T. Podemos formar o par ordenado <s, t>

≠ <t, s>. Onde <s1, t1> = <s2, t2>, sse s1 = s2 e t1 = t2. O conjunto de todos os

pares ordenados <s, t> é chamado produto cartesiano de S e T e é escrito SxT:

Se S = T, podemos escrever SxS = S2.

Exemplos: Se S = {1, 2, 3} e T={a, b}

SxT = {<1, a>, <1, b>, <2, a>, <2, b>, <3, a>, <3, b>}

SxS = S2 = {<1, 1>, <1, 2>, <1, 3>, <2, 1>, <2, 2>, <2, 3>, <3, 1>, <3, 2>, <3, 3>}

As seguintes propriedades regem o produto cartesiano:

1) Não-Comutatividade: Sejam A e B dois conjuntos. Então AxB é, em geral,

diferente de BxA.

2) Não-Associatividade: Sejam A, B e C três conjuntos. Então (AxB)xC é, em

geral, diferente de Ax(BxC).

Observações:

a) A x ∅ = ∅

Page 9: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 9

b) ∅ x A = ∅

c) ∅2 = ∅

O produto cartesiano se distribui sobre a união e a interseção:

a) Distributividade do produto cartesiano sobre a união:

Ax(BUC) = (AxB)U(AxC)

b) Distributividade do produto cartesiano sobre a interseção:

Ax(B∩C) = (AxB)∩(AxC)

O produto cartesiano é uma operação reversível. Ou seja, dado o conjunto de

pares gerados pelo produto de AxB, é possível retornar ao conjunto A e ao

conjunto B que gerou esses pares. Para tanto, os primeiros operandos dos

pares fazem parte do conjunto A e os segundos operandos fazem parte de B.

Exemplo: Se o resultado do produto cartesiano de dois conjuntos A e B foi:

{<a, a>, <a, b>, <b, a>, <b, b>}

então:

A = {a, b} e B = {a, b}.

A reversibilidade só não é possível quando o produto envolver o conjunto vazio.

Como visto nas observações acima, o produto cartesiano de qualquer conjunto

com o conjunto vazio retorna o próprio vazio não sendo possível, assim,

identificar o conjunto que gerou o resultado.

1.4 Paradoxo de Russell

Por definição, um conjunto é uma coleção de zero ou mais elementos distintos

os quais não possuem qualquer ordem associada.

Page 10: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 10

Se considerarmos que um conjunto pode possuir conjuntos como elementos,

surge a questão:

Um conjunto pode ser elemento de si mesmo?

Para resolvermos esse problema, temos que entender a noção de conjunto

ordinário. Considere a seguinte definição por compreensão:

S = {A | A é um conjunto ordinário}

Ou seja, o conjunto de todos os conjuntos que não são elementos de si

mesmos.

Essa definição, no entanto, retrata uma contradição, um paradoxo2, denominado

de Paradoxo de Russell.

Teorema 1.2: Paradoxo de Russell A seguinte definição não é um conjunto:

S = {A | A é um conjunto ordinário}

Prova:

Vamos fazer uma prova por absurdo. Ou seja, partimos da negação das

hipóteses e tentamos chegar a um resultado absurdo.

Assim, vamos considerar que S é um conjunto.

Como S é um conjunto de conjuntos, podemos verificar se S é um elemento de

si mesmo. Vamos supor os dois casos:

1) S ∈ S: Temos então

Se S ∈ S então, pela definição de conjunto ordinário, S não é um conjunto

ordinário. Isso implica que S ∉ S. Ou seja, um absurdo, pois de S ∈ S

concluímos que S ∉ S.

2) S ∉ S: Temos então

2 Paradoxo é uma situação que, embora pareça fazer sentido, não tem solução. Exemplos: paradoxo da biblioteca, do barbeiro, de Cretense (ou do mentiroso), etc.

Page 11: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 11

Se S ∉ S, então, pela definição, S é um conjunto ordinário. Mas, pela definição,

S ∈ S, o que é uma contradição. Ou seja, de S ∉ S concluímos que S ∈ S.

Assim, é um absurdo supor que S é um conjunto, portanto, S não é um conjunto.

Pelo paradoxo de Russell, podemos afirmar ainda que não exista o conjunto de

todos os conjuntos. Ou seja, nem toda coleção de elementos constitui um

conjunto. O conjunto Universo não pode ser considerado o conjunto de todos os

conjuntos em larga escala. Apenas para um pequeno escopo essa definição é

válida. Essa é a chamada álgebra pequena.

1.5 Aplicações de Teoria dos Conjuntos em Computação Existem diversas aplicações da Teoria dos Conjuntos dentro da computação.

Vamos listar aqui três aplicações das mais simples.

1.5.1 Linguagens de Programação Na linguagem de programação Pascal é possível definir tipos de dados

baseados em conjuntos finitos, variáveis conjuntos sobre esses tipos de dados,

bem como constantes conjuntos (também finitos). Pascal possui as seguintes

operações sobre conjuntos:

+ (união)

* (interseção)

- (diferença)

Exemplo: dias_semana = set of (seg, ter, qua, qui, sex, sab, dom);

feriado, trabalho, feriado_trabalho, uteis, parados: dias_semana;

feriado := [qua, sab];

trabalho := [seg,..,sex];

feriado_trabalho := trabalho*feriado; {interseção = {qua}}

uteis := trabalho – feriado; {diferença = {seg, ter, qui, sex}}

Page 12: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 12

parado := [sab, dom] + feriado; {união = {qua, sab, dom}}

1.5.2 Teoria da Computação Álgebra de conjuntos é fundamental em alguns assuntos relacionados com

Teoria da Computação. A teoria da computação trata da análise do que é

solucionável através de computador, i.e., o que é computável. Instruções são

reconhecidas por um computador se existir um autômato finito para reconhecer

essas instruções. Um autômato finito é um modelo matemático para sistemas

com entradas e saídas discretas. As instruções são conjuntos de palavras

formadas por operações aplicadas sobre um alfabeto. Essas operações são,

basicamente, união, interseção e complemento.

Exemplo:

Suponha o alfabeto ∑ = {a, b}. Sejam as linguagens:

L1 = {a, ab}

L2 = {b, aa}

Assim, L1*L2 denota uma expressão regular que corresponde às strings {ab,

aaa, abb, abaa}. Ou seja, são reconhecidas strings que comecem com uma

palavra de L1 seguida de uma palavra de L2. De forma análoga, a expressão

regular L1 + L2 denota as strings formadas por palavras de L1 ou de L2.

1.5.3 Processamento Digital de Imagens Na área de processamento digital de imagens, encontramos o uso direto da

Teoria dos Conjuntos nos assuntos relacionados a Morfologia Matemática a qual

envolve técnicas que avaliam as estruturas dentro de uma imagem.

Page 13: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 13

Exemplos:

Page 14: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 14

PARTE II. Teoria dos Números

A Teoria dos Números é a parte da matemática que lida, basicamente, com o

Universo Discreto. Ou seja, apenas números inteiros são reconhecidos. Não

existem valores definidos entre os inteiros x e x + 1, onde x é inteiro.

1. Indução Matemática (Método de Prova) (Capítulo 1 do Burton)

Princípio da Ordenação

Todo conjunto não-vazio S de números inteiros não-negativos contém um

elemento mínimo. Ou seja, existe algum inteiro a em S tal que a ≤ b, para todo b

pertencente a S.

Teorema 1.1: Propriedade Arquimediana. Se a e b são quaisquer inteiros

positivos pertencentes a um conjunto S de inteiros não-negativos, a é o

elemento mínimo de S, então existe um número inteiro positivo n tal que na ≥ b.

Prova:

Assuma que o teorema é falso. Assim, para algum a e b, na < b, para todo n ∈

Z+. Então o conjunto:

S = {b – na | n ∈ Z+}

é composto apenas por inteiros positivos (pois na < b):

na < b ⇒ na – b < 0 ⇒ b – na > 0

Pelo Princípio da Ordenação, S vai possuir um elemento mínimo. Como todos os

elementos são da forma b – na, vamos supor que o elemento mínimo seja:

Page 15: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 15

b – ma

Observe, porém, que b – (m + 1)a também faz parte do conjunto S, já que S

contém todos os elementos dessa forma. Mas, temos:

b – (m + 1)a = (b – ma) – a < b – ma

Isso implica que b – ma não é o elemento mínimo. Isso mostra que o conjunto

em questão não tem elemento mínimo. Tal contradição (ou absurdo) partiu da

suposição que o Teorema não era válido. Logo, o Teorema é verdadeiro.

Teorema 1.2: Princípio da Indução Finita

Seja S um conjunto de inteiros positivos com as seguintes propriedades:

a) O inteiro 1 ∈ S (Base para a indução)

b) Sempre que o inteiro k ∈ S, o próximo inteiro k + 1 também deve

pertencer a S (Passo da Indução)

Então S é o conjunto de todos os inteiros positivos.

Obs: Entenda “1” como o primeiro elemento de seu conjunto. Por exemplo,

suponha que temos algo a ser provado para todos os inteiros maiores ou iguais

a 2. Assim, o primeiro elemento será o 2.

Page 16: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 16

Exemplos:

1. 12 + 22 + 32 + ... + n2 = n.(2.n + 1).(n + 1)/6 , para n = 1, 2, 3,...

n = 1: 12 = 1 = 1.(2.1 + 1).(1 + 1)/6

....

n = k: 12 + 22 + 32 + ... + k2 = k.(2.k + 1).(k + 1)/6 (I)

n = k + 1: 12 + 22 + 32 + ... + k2 + (k + 1)2 = ???

de (I):

12 + 22 + 32 + ... + k2 = k.(2.k + 1).(k + 1)/6

Logo:

12 + 22 + 32 + ... + k2 + (k + 1)2 =

(12 + 22 + 32 + ... + k2) + (k + 1)2 =

k.(2.k + 1).(k + 1)/6 + (k + 1)2 =

[(k+1)/6].[k.(2.k + 1) + 6.(k + 1)] =

[(k+1)/6].(2k2 + 7k + 6) = [(k+1)/6].(2k + 3).(k + 2) = (k+1).(2k + 3).(k + 2)/6 (II)

Pela fórmula dada, teríamos, para n = k + 1:

n.(2.n + 1).(n + 1)/6 = (k + 1).[2.(k + 1) + 1].(k + 1 + 1)/6 =

= (k + 1).(2k + 3).(k + 2)/6 (III)

Como II = III, está provado.

2. Cuidado!! É preciso sempre calcular o caso base!

Suponha que resolvemos não calculá-lo neste exemplo:

Provar que: 1 + 3 + 5 + ... + (2n - 1) = n2 + 3

n = k: 1 + 3 + 5 + ... + (2k - 1) = k2 + 3 (I)

Page 17: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 17

n = k + 1: 1 + 3 + 5 + ... + (2k - 1) + [2(k + 1) – 1] = ???

n = k + 1: k2 + 3 + (2k + 1) = k2 + 3 + 2k + 1 =

= k2 + 2k + 1 + 3 = (k + 1)2 + 3

Ou seja, conseguimos provar a proposição corretamente! No entanto, não existe

nenhum valor para n que satisfaça essa proposição!

n = 1: 1 = 1 ≠ 12 + 3

n = 2: 1 + 3 = 4 ≠ 22 + 3

Logo, o caso base já indicaria que a assertiva é falsa. Nesse caso, não é preciso

fazer qualquer outra prova. Para a indução ser verdadeira, tanto o caso base

quanto o passo da indução devem ser verdadeiros.

Comentários Finais: Métodos de Prova Um dos mais comuns métodos de prova é a prova direta na qual, dado o

conjunto de hipóteses H1, ..., Hn, devemos mostrar:

H1 ∧ H2 ∧ H3 ∧ … ∧ Hn ⇒ C

onde C é a conclusão a ser inferida.

Provas que não são diretas são ditas indiretas. O primeiro tipo delas é a prova

por contrapositivo, ou seja, mostrar que: ¬C ⇒ ¬(H1 ∧ H2 ∧ H3 ∧ … ∧ Hn)

Outro método de prova indireta é a prova por contradição:

H1 ∧ H2 ∧ H3 ∧ … ∧ Hn ∧ ¬C ⇒ Uma contradição (ou um Absurdo)

Uma implicação da forma H1 ∨ H2 ∨ H3 ∨ … ∨ Hn ⇒ C pode ser escrita como:

(H1 ⇒ C) ∧ (H2 ⇒ C) ∧ …. ∧ (Hn ⇒ C)

e, provando cada (H1 ⇒ C), (H2 ⇒ C), ..., separadamente, temos uma prova por

Casos.

Page 18: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 18

Uma implicação P ⇒ Q é algumas vezes dita vagamente verdadeira ou

verdadeira por default se P é falso. Uma prova vaga é uma prova de uma

implicação P ⇒ Q, mostrando que P é falso. Não é um tipo de prova muito

usado, pois não diz nada sobre Q.

Uma implicação P ⇒ Q é algumas vezes dita trivialmente verdadeira se Q é

verdadeiro. Neste caso, o valor verdade de P é irrelevante. Uma prova trivial de

P ⇒ Q é uma na qual Q é verdadeira sem qualquer referência a P.

Exemplo: Se x e y são Reais tal que x.y = 0, então (x + y)n = xn + yn, n pertencente aos

inteiros. Ou seja, sejam:

p = “x.y = 0”

q = “(x + y)n = xn + yn”

Vamos analisar

p ⇒ q

Essa proposição é trivialmente verdadeira para n = 1; (x + y)1 = x1 + y1 é

obviamente verdade e este fato independe da hipótese x.y = 0. Para n ≥ 2, a

hipótese torna-se necessária.

Uma prova construtiva especifica o objeto ou indica como ele pode ser

determinado por algum procedimento ou algoritmo. Uma prova não-construtiva

estabelece a existência de objetos por meios indiretos, como uma prova por

contradição, sem dar direções sobre como encontrá-los.

Exemplo: É possível provar que existem infinitos números primos sem construir uma lista

de todos eles (prova não-construtiva). Uma prova construtiva criaria tal lista.

Page 19: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 19

2. Teorema da Divisibilidade de Inteiros (Capítulo 2 do Burton)

2.1 O Algoritmo da Divisão

Teorema 2.1: O algoritmo da Divisão. Dados inteiros a e b, com b > 0, existem

inteiros únicos q e r, satisfazendo:

a = q.b + r, 0 ≤ r < b

Onde q é o quociente e r é o resto.

Corolário: Se a e b são inteiros, com b ≠ 0, então existem inteiros únicos q e r,

tal que:

a = q.b + r, 0 ≤ r < |b|

Problemas: 1. Prove que o quadrado de qualquer inteiro pode ser escrito como 3k ou 3k + 1,

onde k é um inteiro. Por exemplo, 22=4= 3.1 + 1, 32=9 = 3.3, 72=49= 3.16 + 1, ....

Solução

Pelo algoritmo da divisão, temos que qualquer inteiro x quando dividido por 3

pode gerar apenas os restos 0, 1 ou 2, já que 0 ≤ r < 3. Logo, qualquer inteiro ao

ser dividido por 3 gera um número na forma 3j, 3j + 1 ou 3j + 2. Vamos calcular o

valor do quadrado de x para cada caso desses:

I) Para x = 3j: x2 = (3j)2 = 3.(3j2) = 3k (k um inteiro)

II) Para x = 3j + 1: x2 = (3j + 1)2 = 9j2 + 6j + 1 = 3(3j2 + 2j) + 1 = 3k + 1

(k um inteiro)

II) Para x = 3j + 2: x2 = (3j + 2)2 = 9j2 + 12j + 4 = 3(3j2 + 4j + 1) + 1 = 3k + 1 (k um inteiro)

Logo, o quadrado de qualquer inteiro pode ser escrito como 3k ou 3k + 1, para k

um inteiro.

Page 20: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 20

2. Prove que o cubo de qualquer inteiro pode ser escrito da forma 9k, 9k + 1 ou

9k + 8, com k um inteiro.

Solução

Similar ao que fizemos antes, pelo algoritmo da divisão, temos que qualquer

inteiro x quando dividido por 3 pode gerar apenas os restos 0, 1 ou 2, já que 0 ≤

r < 3. Logo, qualquer inteiro ao ser dividido por 3 gera um número na forma 3j, 3j

+ 1 ou 3j + 2. Vamos calcular o valor do cubo de x para cada caso desses:

I) Para x = 3j: x3 = (3j)3 = 9.(3j3) = 9k (k um inteiro)

II) Para x = 3j + 1: x3 = (3j + 1)3 = 33.j3 + 3.32.j2 + 3.3.j + 1 = 9.(3.j3 + 3.j2 + j) + 1 =

9k + 1 (k um inteiro)

II) Para x = 3j + 2: x2 = (3j + 2) 3 = 33.j3 + 3.2.32.j2 + 3.22.3.j + 23 = 9.(3.j3 + 3.2.j2 +

+ 22.j) + 8 = 9k + 8 (k um inteiro)

Logo, o cubo de qualquer inteiro pode ser escrito como 9k, 9k + 1 ou 9k + 8,

para k um inteiro.

3. Para n ímpar, mostre que n4 + 4n2 + 11 é da forma 16k.

Solução

Qualquer número ímpar pode ser escrito na forma 2j + 1. Logo, precisamos

substituir n por 2j + 1 e calcular a equação:

n4 + 4n2 + 11 = (2j + 1)4 + 4(2j + 1)2 + 11

= (24j4 + 4.23j3 + 6.22j2 + 4.2.j + 1) + 4.(22.j2 + 2.2.j + 1) + 11

= (16j4 + 32j3 + 24j2 + 8j + 1) + (16j2 + 16j + 4) + 11

= 16j4 + 32j3 + 40j2 + 24j + 16 (I)

Observe que a expressão acima não é da forma 16k! Alguns elementos são,

outros não. Vamos separá-los:

(I) = 16.(j4 + 2j3 + 1) + 40j2 + 24j (II)

Mais ainda...

(II) = 16.(j4 + 2j3 + 1) + 32j2 + 8j2 + 16j + 8j

= 16.(j4 + 2j3 + 2j2 + j + 1) + 8j2 + 8j = 16w + 8.(j2 + j), onde w é um inteiro. (III)

Page 21: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 21

Isso não resolve nossa questão, mas resolveria se (j2 + j) fosse um número par.

Vamos verificar se isso acontece...

Suposição: (j2 + j) é da forma 2t:

Qualquer número j pode ser escrito como 2m ou 2m + 1.

I) Se j = 2m: j2 + j = (2m)2 + (2m) = 2t

II) Se j = 2m + 1: j2 + j = (2m + 1)2 + (2m + 1) = 4m2 + 4m + 1 + 2m + 1 = 2t

Logo, (j2 + j) sempre é um número par. Assim:

8.(j2 + j) = 8.2t = 16t

De (III):

16w + 8.(j2 + j) = 16w + 16t = 16k

Page 22: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 22

Exercícios 1. Estabeleça as fórmulas abaixo por Indução Matemática

a) 2

)1(...321 +=++++

nnn , para todo n >= 1

b) 1 + 3 + 5 + ... + (2n – 1) = 2n , para todo n >= 1

c) 1*2 + 2*3 + 3*4 + ... + n*(n+1) = 3

)2)(1( ++ nnn , para todo n >= 1

d) 2

3333

2)1(...321 ⎥⎦⎤

⎢⎣⎡ +

=++++nnn , para todo n >= 1

2. a) Se r ≠ 1, mostre que, para qualquer n inteiro positivo:

1)1(...

12

−−

=+++++

rraararara

nn

b) Prove que, para qualquer inteiro positivo n, nn >2 .

3. Mostre que qualquer inteiro da forma 6k + 5 também é da forma 3j + 2, mas o

inverso não é verdadeiro.

4. Use o Algoritmo da Divisão para estabelecer o seguinte:

a) O quadrado de qualquer inteiro é da forma 3k ou 3k + 1.

b) O cubo de qualquer inteiro é da forma: 9k, 9k + 1 ou 9k + 8.

c) A quarta potência de qualquer inteiro é da forma 5k ou 5k + 1.

d) Prove que nenhum inteiro na seqüência é um quadrado perfeito:

11, 111, 1111, 11111, ......

e) Verifique que, se um inteiro é simultaneamente um quadrado e um cubo

(como 32 4864 == ), então ele deve ser da forma 7k ou 7k + 1.

Page 23: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 23

5. Prove que 13 2 −a nunca é um quadrado perfeito.

6. Para n>=1, prove que 6

)12)(1( ++ nnn é um inteiro.

7. Mostre que o cubo de qualquer inteiro é da forma 7k ou 7k ± 1.

8. Para n>=1, estabeleça que o inteiro )57( 2 +nn é da forma 6k.

Page 24: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 24

2.2 Máximo Divisor Comum (Capítulo 2 do Burton)

Definição 2.1: Um inteiro b é dito divisível por um inteiro a diferente de zero, em

símbolos, a|b (a divide b), se existe algum inteiro c, tal que b = ac. Escrevemos

aðb (a não divide b) para indicar que b não é divisível por a. Podemos também

dizer que a é um divisor de b, a é um fator de b, ou que b é um múltiplo de a.

Se a divide b, então –a também divide. Logo, os divisores vêm em pares.

Teorema 2.2: Para inteiros a, b e c, tem-se:

a) a|0, 1|a, a|a

b) a|1, sse, a = ±1

c) Se a|b e c|d, então (ac)|(bd)

d) Se a|b e b|c, então a|c

e) a|b e b|a, sse a = ±b

f) Se a|b e b≠0, então |a| ≤ |b|

g) Se a|b e a|c ⇒ a|(bx + cy), para todo x e y inteiros

Prova de f: Se a|b e b≠0, então |a| ≤ |b|.

Hipóteses:

I) a|b

II) b≠0

Conclusão: |a| ≤ |b|

Se a|b, então existe um c tal que b = ac.

b = ac ⇒ |b| = |ac| ⇒ |b| = |a||c| (I)

Como b≠0 e, por definição, a≠0, então c≠0.

c≠0 ⇒ |c| ≥ 1

|c| ≥ 1 . |a|

|a||c| ≥ |a|

Page 25: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 25

Mas, de (I), |b| = |a||c|. Logo:

|b| ≥ |a| ou |a| ≤ |b|

Prova de g: Se a|b e a|c ⇒ a|(bx + cy), para todo x e y inteiros.

Hipóteses:

I) a|b

II) a|c

Conclusão: a|(bx + cy) para todo x e y inteiros.

Se

a|b ⇒ b = ar

e

a|c ⇒ c = as

Logo, bx + cy = (ar)x + (as)y = a(rx + sy) = ak, k inteiro, já que x e y são inteiros.

Assim, bx + cy = ak ⇒ a|(bx + cy), x e y inteiros.

Definição 2.2: Sejam a e b inteiros, com pelo menos um deles diferente de zero.

O Máximo Divisor Comum (Greatest Commom Divisor) de a e b, GCD(a, b), é

o inteiro positivo d, satisfazendo:

a) d|a e d|b (d é divisor comum)

b) Se c|a e c|b, então c ≤ d (d é máximo)

Exemplo:

Divisores de -12: 1, 2, 3, 4, 6, 12 (e o negativo desses)

Divisores de 30: 1, 2, 3, 5, 6, 10, 15, 30 (e o negativo desses)

GCD (-12, 30) = 6

Teorema 2.3: Dados inteiros a e b, com pelo menos um deles diferente de zero,

existem inteiros x e y tal que:

GCD(a, b) = ax + by

Page 26: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 26

Corolário: Se a e b são inteiros dados, com pelo menos um deles diferente de

zero, então o conjunto:

T = {ax + by : x e y são inteiros}

é precisamente o conjunto de todos os múltiplos de d = GCD(a, b)

Definição 2.3: Dois inteiros a e b, com pelo menos um deles diferente de zero,

são ditos relativamente primos entre si sempre que

GCD(a, b) = 1

Teorema 2.4: Sejam a e b inteiros, com pelo menos um deles diferente de zero.

Então a e b são relativamente primos entre si, sse existem inteiros x e y tal que:

1 = ax + by

Prova:

I) Se a e b são relativamente primos entre si, então GCD(a, b) = 1. Então, pelo

Teorema 2.3, existem inteiros x e y, satisfazendo 1 = ax + by.

II) Suponha que 1 = ax + by para algum x e y e que d=GCD(a, b). Como d|a e

d|b, o Teorema 2.2.g diz que d|(ax + by). Como (ax + by) = 1, então d|1. No

caso, o Teorema 2.2.b diz que d = ±1. Como o GCD deve ser um número

positivo, então d = 1.

Corolário 1: Se GCD(a,b) = d, então GCD (a/d, b/d) = 1.

Prova:

Hipótese: GCD (a, b) = d

Conclusão: GCD (a/d, b/d) = 1

Primeiro, como d = GCD(a, b), então d é divisor de a e b. Logo, a/d e b/d são

números inteiros. Do contrário, deve-se provar que essas divisões geram

inteiros.

Como GCD(a,b) = d, é possível encontrar inteiros x e y tais que

Page 27: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 27

d = ax + by

Dividindo os dois lados por d, temos:

1 = (a/d)x + (b/d)y

Como a/d e b/d são inteiros, temos: GCD (a/d, b/d) = 1.

Corolário 2: Se a|c e b|c, com GCD (a, b) = 1, então (ab)|c.

Hipóteses:

I) a|c

II) b|c

III) GCD(a, b) = 1

Conclusão: (ab)|c

Prova:

a|c ⇒ c = ar

b|c ⇒ c = bs

Como GCD(a, b) = 1 ⇒ 1 = ax + by, para algum x e y inteiro

1 = ax + by .c

c = acx + bcy

c = a(bs)x + b(ar)y = absx + abry = ab(sx + ry) = abk, k inteiro

Logo, c = abk ⇒ (ab)|c.

Teorema 2.5: Lema de Euclid. Se a|(bc), com GCD(a,b) = 1, então a|c.

Prova:

Hipótestes:

I) a|(bc)

II) GCD(a, b) = 1

Conclusão: a|c

Como GCD (a, b) = 1 ⇒ Existem x e y tal que: 1 = ax + by.

1 = ax + by .c

Page 28: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 28

c = acx + bcy

Como a|(ac) e, por hipótese, a|(bc), então:

a|(acx + bcy)

Mas c = acx + bcy

Logo: a|c

Teorema 2.6: Sejam a e b inteiros, com pelo menos um deles diferente de zero.

Para um inteiro positivo d, d=GCD(a,b) sse:

a) d|a e d|b (d é divisor comum)

b) Sempre que c|a e c|b, então c|d. (d é máximo)

Problema: 1. Prove que 8|(52n + 7), onde n é um inteiro.

Solução:

8|(52n + 7) ⇒ 52n + 7 = 8r, r inteiro

Vamos tentar provar a proposição acima por indução. Ou seja:

n = 1: 52.1 + 7 = 25 + 7 = 32 = 8.4 = 8r, r inteiro (Base da Indução OK)

....

n = k: 52k + 7 = 8r (Considera-se verdade....)

n = k + 1: 52(k+1) + 7 = ????

52(k+1) + 7 = 52k+2 + 7 = 52k.52 + 7 =

= 52k.52 + 7 + 52.7 - 52.7

= 52(52k + 7) + 7 - 52.7

= 52(8r) + 7 - 25.7

= 25.8r – 168 = 8k.

Logo, 52k + 7 = 8k. Ou seja: 8|(52k + 7)

Page 29: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 29

2.3 Algoritmo Euclidiano O GCD entre dois números pode ser achado listando todos os seus divisores,

mas esse é um processo dispendioso para grandes números.

Algoritmo Euclidiano: Sejam a e b dois inteiros cujo maior divisor comum

deseja-se encontrar. Como GCD(|a|, |b|) = GCD(a, b), podemos assumir, sem

perda de generalidade, que a ≥ b > 0. O primeiro passo é usar o algoritmo da

divisão em a e b:

a = q1b + r1, 0 ≤ r1 < b

Se r1 = 0, então b divide a e GCD(a, b) = b. Quando r1 ≠ 0, divida b por r1 para

achar q2 e r2 satisfazendo:

b = q2r1 + r2, 0 ≤ r2 < r1

Se r2 = 0, então paramos e GCD(a, b) = r1. Caso contrário, continuamos como

antes para obtermos:

r1 = q3r2 + r3, 0 ≤ r3 < r2

A divisão prossegue até encontrar algum resto zero, digamos, no passo (n + 1)

quando rn-1 é dividido por rn (não serão precisas mais do que b divisões):

GCD(a, b) = rn (o último resto diferente de zero)

Lema: Se a = qb + r, então GCD(a,b) = GCD(b,r).

Prova:

Hipótese: a = qb + r

Conclusão: GCD(a,b) = GCD(b,r)

Como:

a = qb + r ⇒ r = a – qb

Seja d=GCD(a, b). Logo d|a e d|b ⇒ d|(a – qb) ⇒ d|r

Assim, d é um divisor comum de b e r. Por outro lado, se c é um divisor comum

qualquer de b e r:

Page 30: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 30

c|(qb + r) ⇒ c|a

Isso torna c um divisor comum de a e b, tal que c ≤ d (do contrário, c seria o

GCD e não d). Se supusermos que c é o GCD entre b e r, e c é diferente de d,

poderíamos ter:

I) c > d: Isso implica que d não é o GCD entre a e b, já que c divide os dois.

II) c < d: Mas d divide r. Assim, c não pode ser menor que d.

Como c não pode ser maior ou menor que d, ele tem que ser igual a d.

Exemplo: 1. Encontre o GCD entre 12378 e 3054.

Aplicando o algoritmo da divisão:

12378 = 4.3054 + 162

3054 = 18.162 + 138

162 = 1.138 + 24

138 = 5.24 + 18

24 = 1.18 + 6

18 = 3.6 + 0

Como chegamos ao resto zero, o GCD é o último resto diferente de zero: 6.

Logo, GCD(12378, 3054) = 6

Observe que podemos escrever:

6 = 132.12378 + (-535).3054

Teorema 2.7: Se k > 0, então GCD (ka, kb) = k.GCD(a, b).

Prova:

Seja d = GCD(a, b) ⇒ d = ax + by .k

kd = kax + kby = GCD (ka, kb)

k.GCD(a, b) = GCD(ka, kb)

Exemplo: GCD (12, 30) = 6.GCD(2, 5) = 6.1 = 1

Page 31: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 31

Corolário: Para qualquer k ≠ 0, GCD (ka, kb) = |k|.GCD(a, b).

Definição 2.4: O Mínimo Múltiplo Comum de dois inteiros a e b diferentes de

zero, denotado por LCM (a, b) (Least Commom Multiple), é o inteiro positivo m,

satisfazendo:

a) a|m e b|m (m é múltiplo comum)

b) Se a|c e b|c, com c > 0, então m ≤ c (m é mínimo)

Teorema 2.8: Para inteiros positivos a e b:

GCD (a, b).LCM(a, b) = a.b

Corolário: Para qualquer escolha de inteiros positivos a e b, LCM(a, b) = ab, sse

GCD(a, b) = 1.

2.4 Equação Diofântica3

Equação Diofântica é qualquer equação com uma ou mais variáveis que deve

ser resolvida no universo dos inteiros. Uma Equação Diofântica Linear pode ser

escrita como:

ax + by = c, a, b e c inteiros, com a e b diferentes de zero.

O par de inteiros (x, y) é dito uma solução da equação.

Tal equação pode ter um grande número de soluções mesmo no universo dos

inteiros. Suponha a equação 3x + 6y = 18. São possíveis soluções:

3.4 + 6.1 = 18

3.(-6) + 6.6 = 18

3.10 + 6.(-2) = 18

Mas não existe solução (nos inteiros) para a equação: 2x + 10y = 17. O que

distingue as duas equações?

3 Homenagem a Diophantus (250 a.C.)

Page 32: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 32

Teorema 2.9: A Equação Diofântica Linear ax + by = c tem solução sse d|c,

onde d = GCD(a, b). Se (x0, y0) é uma solução particular da equação, então

todas as soluções são dadas por:

x = x0 + (b/d)t e y = y0 – (a/d)t

onde t é um inteiro qualquer, atuando como parâmetro para obter a família de

soluções.

Exemplo: 172x + 20y = 1000

Primeiro, precisamos saber se a equação tem solução. Para isso, calculamos o

GCD (172, 20) usando o algoritmo Euclidiano:

172 = 20.8 + 12 (1)

20 = 12.1 + 8 (2)

12 = 8.1 + 4 (3)

8 = 4.2 + 0

Logo, GCD (172, 20) = 4. Como 4|1000, a equação tem solução no universo dos

inteiros. É preciso agora encontrar uma solução particular para a equação.

Vamos aproveitar os cálculos já executados pelo algoritmo Euclidiano para

tentar encontrar essa solução.

A partir de (3) anterior, temos:

12 = 8.1 + 4 ⇒ 4 = 12 – 8.1 (4)

De (2), temos:

8 = 20 – 12.1 (5)

Substituindo (5) em (4):

4 = 12 – (20 – 12.1).1 (6)

Observe que estamos tentando encontrar uma solução para a equação. Esse é

o objetivo a ser seguido. Logo, não há a necessidade de resolver o lado direito

da equação (6). Mas podemos simplificá-lo tendo nosso objetivo como meta:

4 = 12 – 20 + 1.12

4 = 2.12 – 20 (7)

Page 33: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 33

Agora, de (1):

12 = 172 – 20.8

Em (7):

4 = 2.(172 – 20.8) – 20

4 = 2.172 – 20.16 – 20

4 = 2.172 – 17.20

Assim, concluímos que:

172.2 + 20.(-17) = 4 (8)

quando procuramos uma solução para a equação:

172x + 20y = 1000

Ou seja, para atingirmos nosso objetivo, basta multiplicarmos os dois lados de

(8) por 250:

172.(2.250) + 20.(-17.250) = 4.250

172.(500) + 20.(-4250) = 1000

Solução particular: x0 = 500 e y0 = -4250. Assim, as soluções gerais são da

forma:

x = 500 + (20/4)t e y = -4250 – (172/4)t

x = 500 + 5t e y = -4250 – 43t

Essas equações definem a família de soluções para a equação diofântica linear

proposta. Dependendo das condições iniciais impostas no problema. Por

exemplo, suponha que desejamos apenas as soluções que sejam positivas.

Assim, t deve ser escolhido de forma que satisfaça simultaneamente:

x = 500 + 5t > 0 e y = -4250 – 43t > 0

t > -100 e t < - 98,94

-100 < t < -98,84

Como t é um inteiro, t = -99. Isso implica que o único valor de t que gera

soluções positivas é -99. Essas soluções são:

x = 500 + 5.(-99) e y = -4250 – 43.(-99)

x = 5 e y = 7

Page 34: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 34

Corolário: Se GCD (a, b) = 1 e se (x0, y0) é uma solução particular da equação

diofântica ax + by = c, todas as outras soluções são dadas por:

x = x0 + bt e y = y0 – at

onde t é um inteiro qualquer.

Exemplo: 5x + 22y = 18 tem x0 = 8 e y0 = -1 como uma solução. Pelo corolário,

uma solução completa é dada por:

x = 8 + 22t e y = -1 – 5t

onde t é um inteiro qualquer.

Page 35: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 35

Exercícios 1. Dados os inteiros a,b,c,d, verifique o seguinte:

a) Se a | b, então a | bc

b) Se a | b e a | c, então bca |2

c) a | b se e só se ac | bc, onde c ≠ 0

d) Se a | b e c | d, então ac | bd.

2. Para n >= 1, use a indução matemática para estabelecer cada uma das

seguintes regras de divisibilidade:

a) )75(|8 2 +n

b) )12(|15 4 −n

3. a) Prove que se a e b são ambos inteiros ímpares, então )2(|16 44 −+ ba

b) Estabeleça que a diferença de dois cubos consecutivos nunca é divisível por

2.

c) Prove que se o GCD(a, b) = 1, então GCD(a + b, ab) = 1.

d) Prove que, para um inteiro positivo n e qualquer inteiro a, GCD(a, a+n) divide

n; assim, GCD(a, a+1) = 1.

e) GCD(2a + 1, 9a + 4) = 1, a inteiro.

f) Se a e b são inteiros diferentes de zero, prove que GCD(2a - 3b, 4a - 5b)

divide b.

4. Determine todas as soluções inteiras positivas da seguinte Equação

Diofântica: 54x + 21y = 906.

Page 36: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 36

3. Primos e sua Distribuição (Capítulo 3 do Burton)

3.1 Teorema Fundamental da Aritmética

Definição 1: Um inteiro p > 1 é chamado um número primo, se seus únicos

divisores positivos são 1 e p. Um inteiro maior que 1 que não é primo é chamado

composto.

Teorema 1: Se p é primo e p|(ab), então p|a ou p|b ou ambos.

Prova:

Hipóteses:

I) p é primo

II) p|(ab)

Conclusão: p|a ou p|b ou ambos.

Se p|a, a solução é clara. Consideremos, então, o caso que pða. Como os

únicos divisores positivos de p são 1 e ele mesmo, então GCD (p, a) = 1. Assim,

de acordo com o Lema de Euclid4, p|b.

Corolário 1: Se p é um primo e p|(a1a2....an), então p|ak para algum k, onde 1 ≤

k ≤ n.

Corolário 2: Se p, q1, q2, ...., qn são todos primos e p|(q1q2....qn), então p = qk

para algum k, onde 1 ≤ k ≤ n.

4 Lembrando: Lema de Euclid: Se a|(bc), com GCD(a, b) = 1, então a|c.

Page 37: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 37

Teorema 2: Teorema Fundamental da Aritmética. Todo inteiro positivo n, n > 1,

pode ser expresso como um produto de primos. Essa representação é única,

não importa a ordem que os fatores apareçam.

Corolário: Qualquer inteiro positivo n, n > 1, pode ser escrito unicamente na

forma canônica:

n = p1k1. p2

k2.... prkr

onde, para i = 1, 2, ..., r, cada ki é um inteiro positivo e cada p1 é um primo, com

p1 < p2 < ... < pr.

Teorema 3: Teorema de Pitágoras. O número 2 é um irracional puro.

Prova:

Suponha o contrário, 2 é um racional, i.e., 2 =a/b, com GCD (a, b) = 1.

Se 2 = a/b, então a = 2 b e b = a/ 2 . Como GCD (a,b) = 1, implica que

existem inteiros r e s satisfazendo:

ar + bs = 1

Multiplicando os dois lados por 2 :

2 (ar + bs) = 2

( 2 a)r + ( 2 b)s = 2

Como a = 2 b e b = a/ 2 :

2br + as = 2

Como b, r, a e s são todos inteiros, temos que 2 é um inteiro o que é um

absurdo. Logo, 2 é um irracional.

Page 38: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 38

Problemas: 1. Prove que o único primo da forma n3 – 1 é 7.

Solução:

n3 – 1 = (n – 1).(n2 + n + 1)

Para que esse número seja um primo, ele só pode ser divisível por 1 e por ele

mesmo. Assim, podemos ter:

(n – 1).(n2 + n + 1)

1 . p (I)

p . 1 (II)

(I)

Se n – 1 = 1 ⇒ n = 2

p = n2 + n + 1 = 22 + 2 + 1 = 7

(II)

Se n2 + n + 1 = 1

n2 + n = 0 ⇒ n.(n + 1) = 0 ⇒ n = 0 ou n = -1.

n = 0 ⇒ p = n – 1 = -1

n = -1 ⇒ p = n – 1 = -2

Em ambos os casos, p seria um número negativo o que não é possível. Logo, o

único primo na forma n3 – 1 é 7.

2. Prove que o único primo da forma n2 – 4 é 5.

Solução:

n2 – 4 = (n + 2).(n – 2)

1 . p (I)

p . 1 (II)

(I) n + 2 = 1 ⇒ n = -1 ⇒ p = -3 (Errado !)

(II) n – 2 = 1 ⇒ n = 3 ⇒ p = 5 (OK)

Logo, o único primo da forma n2 – 4 é 5.

Page 39: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 39

3.2 O Crivo5 de Eratóstenes6

Como determinar se um dado inteiro é primo ou não? Uma forma é tentar dividir

o número por todos os seus predecessores e verificar se algum deles o divide

(menos o 1). Esse processo pode ser simplificado da seguinte forma: Se um

inteiro a, a > 1, é composto, podemos escrever a = bc, onde 1 < b < a e 1 < c <

a. Assumindo que:

b ≤ c ⇒ b2 ≤ bc = a

Logo

b ≤ a

Como b > 1, o Teorema 2 garante que b tem, pelo menos, um fator primo p.

Então p ≤ b ≤ a . Como p|b e b|a ⇒ p|a. Ou seja, um número composto a

sempre vai possuir um divisor primo p, satisfazendo p ≤ a .

Para testar a primalidade de um inteiro a, a > 1, basta dividir a pelos primos

menores que a . Seja, por exemplo, a = 509. 509 = 22,56. Assim, precisamos

apenas testar os primos menores que 22, i.e., 2, 3, 5, 7, 11, 13, 17, 19. Como

nenhum deles divide 509, então ele é primo.

Suponha que desejamos encontrar todos os primos abaixo de um número n. O

esquema definido por Eratóstenes lista todos os números de 2 a n em sua

ordem natural e então elimina todos os números múltiplos 2p, 3p, 4p, 5p, ....,

com p ≤ n . Os inteiros que sobrarem na lista (aqueles que não caem no

“crivo”) são primos.

Teorema 4: Euclid. Existe um infinito número de primos.

5 Crivo = peneira 6 Eratóstenes, matemático grego, 276-194 a.C.

Page 40: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 40

Prova: Por contradição, vamos supor que o número de primos é finito. Assim,

teríamos um primo pn que seria o último número primo. Vamos então formar um

número composto P gerado pelo produto de todos os primos:

P = p1. p2. p3.... pn.

Dessa forma, existe um P’ = P + 1. Esse número deve ser composto já que, se

ele fosse primo, ele seria um fator de P o que seria um absurdo. Assim, P’ é

composto. Sendo assim, ele deve ser divisível por um primo pk. Observe que:

pk|P

já que pk deve ser igual a um dos pi’s, 1 ≤ i ≤ n. Assim:

pk|P

e

pk|P’

ou seja

pk|(P’ – P)

pk|(P + 1 – P)

pk|1 ⇒ pk = ±1

Como um número primo deve ser positivo, pk = 1. Mas pk deve ser maior que 1

para ser primo. Como chegamos a uma contradição, a negação da proposição

está errada e a proposição é verdadeira.

Logo, o número de primos é infinito.

3.3 A Conjectura de Goldbach7

Em 1845, Joseph Bertrand apresentou uma teoria que os números primos são

bem distribuídos no sentido que entre n ≥ 2 e 2n existe, pelo menos, um número

primo. Tal teoria não foi provada por Bertrand, mas foi verificada para todo n até

3.000.000. A prova formal veio em 1852 pelo matemático russo Tchebyshev.

7 Citada em 1742 em uma carta enviada a Euler.

Page 41: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 41

Pode-se provar que existem infinitos números primos, mas ainda não se sabe

como eles se distribuem. Não se sabe nem se existem infinitos “primos gêmeos”

(primos da forma p e p + 2 – como 11 e 13, 17 e 19, etc.). Os maiores gêmeos

encontrados até 2002 têm 51.090 dígitos8. Os primos podem estar próximos

(como os gêmeos) ou muito distantes. A maior distância já encontrada entre

primos consecutivos é de 864.

Número de primos gêmeos menores que N

N atual estimado

106 8.169 8.248

108 440.312 440.368

1010 27.411.417 27.412.679

A conjectura de Goldbach diz que todo inteiro par maior que 4 pode ser escrito

como a soma de dois primos (podem ser iguais e ele aceita o 1 como primo). A

conjectura nunca foi provada, mas já foi comprovada para números até 4.1011.

A primeira parte da prova só surgiu em 1922 (quase 200 anos depois) por Hardy

e Littlewood. Eles mostraram que qualquer número ímpar grande é a soma de

três primos. Em 1937, o russo Vinogradov comprovou o trabalho de Hardy e

Littlewood.

Aceita-se que a conjectura de Goldbach é verdadeira em quase 100% dos

casos. No entanto, quase 0% de casos falsos não descarta a possibilidade de

infinitos falsos.

8 Maiores informações: http://primes.utm.edu/top20/page.php?id=1

Page 42: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 42

3.4 Mais sobre primos

Em dezembro de 2005, a Universidade Estadual do Missouri (EUA) anunciou

que um cluster de 700 computadores calculou o maior número primo que se tem

notícia. 9

A monstruosidade numérica tem 9.152.052 dígitos. Era a segunda vez naquele

ano que um número primo de proporções astronômicas é calculado. A iniciativa

faz parte do projeto computacional Gimps (sigla em inglês para Grande Busca

de Número Primo Mersenne na Internet), que oferece um prêmio de US$ 100 mil

a quem chegar a um número primo com dez milhões de dígitos.

O Gimps conta com a participação de 200 mil computadores que oferecem

voluntariamente o seu poder de processamento ocioso para chegar a números

primos Marsenne gigantescos.

Um número primo é um número que só pode ser dividido por um ou por ele

mesmo sem que tenha um resto de divisão. Um Mersenne é um tipo especial de

primo que é definido por dois elevado a uma potência específica, menos um. Por

exemplo, sete é um Mersenne, pois é dois elevado ao cubo menos um. O

número recém-anunciado é dois elevado à 30.402.457ª potência menos 1.

Números primos - e Mersenne especialmente - têm um papel fundamental na

definição de algoritmos computacionais de criptografia Quanto maiores esses

números, mais difíceis de se quebrar o esquema de segurança.

Apesar disso, números gigantescos, como o recém-anunciado, têm um interesse

puramente acadêmico, devido à dificuldade de serem usados em um sistema

comercial. Para se ter uma idéia do que isso representa, seriam necessários 67

9 Maiores informações: http://info.abril.com.br/aberto/infonews/122005/28122005-4.shl

Page 43: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 43

mil anos de processamento de um computador comandado por um Pentium a 90

MHz para se calcular o número anunciado em dezembro de 2005.

Antes disso, em 2004, Manindra Agrawal, Neeraj Kayal e Nitin Saxena

apresentaram um algoritmo eficiente para definir se um dado número é primo ou

não. Por eficiente diz-se de algoritmos que podem chegar a uma solução com

tempo de processamento definido por uma função polinomial relacionada com a

entrada. O algoritmo é baseado no Pequeno Teorema de Fermat para anéis

polinomiais sobre campos finitos. 10

Exercícios

1. Prove:

a) Qualquer número primo da forma 3n+1 também é da forma 6m+1.

b) O único primo da forma 13 −n é 7.

c) O único primo para o qual 3p+1 é um quadrado perfeito é p = 5.

2. Prove o Teorema 3.2 (Teorema Fundamental da Aritmética)

3. a) Se p >= 5 é um número primo, mostre que 22 +p é composto.

b) Dado que p é primo e que nap | , prove que nn ap | .

4. Prove:

a) Todo inteiro da forma 44 +n , com n>1, é composto.

b) Se n > 4 é composto, então n divide (n-1)!.

c) Encontre todos os primos que dividem 100!.

5. a) Mostre que p é irracional para qualquer primo p.

10 http://www.cse.iitk.ac.in/users/manindra/primality_v6.pdf

Page 44: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 44

b) Mostre que qualquer número composto com 3 dígitos deve ter um fator primo

menor ou igual a 31.

6. Se GCD(a,b) = p, um primo, quais são os valores de ),gcd( 22 ba , ),gcd( 2 ba e

),gcd( 23 ba .

7. Faça programas, usando Borland C, que:

a) Calcule os fatores primos de um número n até n = 30.000.

b) Calcule todos os primos abaixo de um número n qualquer, n até 30.000,

usando o Crivo de Eratóstenes.

OBS: Não se preocupem com a eficiência dos programas.

Page 45: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 45

Anexo: Lista de Primos Os primeiros 1.000 Primos

(o 1.000o é 7919) Para mais informações sobre primos: http://primes.utm.edu/

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997 1009 1013 1019 1021 1031 1033 1039 1049 1051 1061 1063 1069 1087 1091 1093 1097 1103 1109 1117 1123 1129 1151 1153 1163 1171 1181 1187 1193 1201 1213 1217 1223 1229 1231 1237 1249 1259 1277 1279 1283 1289 1291 1297 1301 1303 1307 1319 1321 1327 1361 1367 1373 1381 1399 1409 1423 1427 1429 1433 1439 1447 1451 1453 1459 1471 1481 1483 1487 1489 1493 1499 1511 1523 1531 1543 1549 1553 1559 1567 1571 1579 1583 1597 1601 1607 1609 1613 1619 1621 1627 1637 1657 1663 1667 1669 1693 1697 1699 1709 1721 1723 1733 1741 1747 1753 1759 1777 1783 1787 1789 1801 1811 1823 1831 1847 1861 1867 1871 1873 1877 1879 1889 1901 1907 1913 1931 1933 1949 1951 1973 1979 1987 1993 1997 1999 2003 2011 2017 2027 2029 2039 2053 2063 2069 2081 2083 2087 2089 2099 2111 2113 2129 2131 2137 2141 2143 2153 2161 2179 2203 2207 2213 2221 2237 2239 2243 2251 2267 2269 2273 2281 2287 2293 2297 2309 2311 2333 2339 2341 2347 2351 2357 2371 2377 2381 2383 2389 2393 2399 2411 2417 2423 2437 2441 2447 2459 2467 2473 2477 2503 2521 2531 2539 2543 2549 2551 2557 2579 2591 2593 2609 2617 2621 2633 2647 2657 2659 2663 2671 2677 2683 2687 2689 2693 2699 2707 2711 2713 2719 2729 2731 2741 2749 2753 2767 2777 2789 2791 2797 2801 2803 2819 2833 2837 2843 2851 2857 2861 2879 2887 2897 2903 2909 2917 2927 2939 2953 2957 2963 2969 2971 2999 3001 3011 3019 3023 3037 3041 3049 3061 3067 3079 3083 3089 3109 3119 3121 3137 3163 3167 3169 3181 3187 3191 3203 3209 3217 3221 3229 3251 3253 3257 3259 3271 3299 3301 3307 3313 3319 3323 3329 3331 3343 3347 3359 3361 3371 3373 3389 3391 3407 3413 3433 3449 3457 3461 3463 3467 3469 3491 3499 3511 3517 3527 3529 3533 3539 3541 3547 3557 3559 3571

Page 46: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 46

3581 3583 3593 3607 3613 3617 3623 3631 3637 3643 3659 3671 3673 3677 3691 3697 3701 3709 3719 3727 3733 3739 3761 3767 3769 3779 3793 3797 3803 3821 3823 3833 3847 3851 3853 3863 3877 3881 3889 3907 3911 3917 3919 3923 3929 3931 3943 3947 3967 3989 4001 4003 4007 4013 4019 4021 4027 4049 4051 4057 4073 4079 4091 4093 4099 4111 4127 4129 4133 4139 4153 4157 4159 4177 4201 4211 4217 4219 4229 4231 4241 4243 4253 4259 4261 4271 4273 4283 4289 4297 4327 4337 4339 4349 4357 4363 4373 4391 4397 4409 4421 4423 4441 4447 4451 4457 4463 4481 4483 4493 4507 4513 4517 4519 4523 4547 4549 4561 4567 4583 4591 4597 4603 4621 4637 4639 4643 4649 4651 4657 4663 4673 4679 4691 4703 4721 4723 4729 4733 4751 4759 4783 4787 4789 4793 4799 4801 4813 4817 4831 4861 4871 4877 4889 4903 4909 4919 4931 4933 4937 4943 4951 4957 4967 4969 4973 4987 4993 4999 5003 5009 5011 5021 5023 5039 5051 5059 5077 5081 5087 5099 5101 5107 5113 5119 5147 5153 5167 5171 5179 5189 5197 5209 5227 5231 5233 5237 5261 5273 5279 5281 5297 5303 5309 5323 5333 5347 5351 5381 5387 5393 5399 5407 5413 5417 5419 5431 5437 5441 5443 5449 5471 5477 5479 5483 5501 5503 5507 5519 5521 5527 5531 5557 5563 5569 5573 5581 5591 5623 5639 5641 5647 5651 5653 5657 5659 5669 5683 5689 5693 5701 5711 5717 5737 5741 5743 5749 5779 5783 5791 5801 5807 5813 5821 5827 5839 5843 5849 5851 5857 5861 5867 5869 5879 5881 5897 5903 5923 5927 5939 5953 5981 5987 6007 6011 6029 6037 6043 6047 6053 6067 6073 6079 6089 6091 6101 6113 6121 6131 6133 6143 6151 6163 6173 6197 6199 6203 6211 6217 6221 6229 6247 6257 6263 6269 6271 6277 6287 6299 6301 6311 6317 6323 6329 6337 6343 6353 6359 6361 6367 6373 6379 6389 6397 6421 6427 6449 6451 6469 6473 6481 6491 6521 6529 6547 6551 6553 6563 6569 6571 6577 6581 6599 6607 6619 6637 6653 6659 6661 6673 6679 6689 6691 6701 6703 6709 6719 6733 6737 6761 6763 6779 6781 6791 6793 6803 6823 6827 6829 6833 6841 6857 6863 6869 6871 6883 6899 6907 6911 6917 6947 6949 6959 6961 6967 6971 6977 6983 6991 6997 7001 7013 7019 7027 7039 7043 7057 7069 7079 7103 7109 7121 7127 7129 7151 7159 7177 7187 7193 7207 7211 7213 7219 7229 7237 7243 7247 7253 7283 7297 7307 7309 7321 7331 7333 7349 7351 7369 7393 7411 7417 7433 7451 7457 7459 7477 7481 7487 7489 7499 7507 7517 7523 7529 7537 7541 7547 7549 7559 7561 7573 7577 7583 7589 7591 7603 7607 7621 7639 7643 7649 7669 7673 7681 7687 7691 7699 7703 7717 7723 7727 7741 7753 7757 7759 7789 7793 7817 7823 7829 7841 7853 7867 7873 7877 7879 7883 7901 7907 7919 Cinco primos aleatórios de 200 dígitos • 203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123

Page 47: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 47

• 531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219 • 319705304701141539155720137200974664666792526059405792539680974929469783512821793995613718943171723765238853752439032835985158829038528214925658918372196742089464683960239919950882355844766055365179937610326127675178857306260955550407044463370239890187189750909036833976197804646589380690779463976173 • 250556952327646214427246777488032351712139094643988394726193347352092526616305469220133287929222242315761834129196430398011844978805263868522770723615504744438638381670321613949280530254014602887707960375752016807510602846590492724216092721283154099469988532068424757856392563537802339735359978831013 • 290245329165570025116016487217740287508837913295571609463914348778319654489118435855243301969001872061575755804802874062021927719647357060447135321577028929269578574760547268310055056867386875959045119093967972205124270441648450825188877095173754196346551952542599226295413057787340278528252358809329

Page 48: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 48

4. Teoria das Congruências

(Capítulo 4 do Burton)

A Teoria das Congruências apresenta uma outra abordagem ao problema da

divisibilidade. Faremos aqui uma mudança no universo de representação dos

números; um mapeamento de um universo de infinitos números para outro com

uma quantidade limitada de elementos. Aqui, os números são representados

através do resto de uma divisão.

4.1 Propriedades Básicas da Congruência

Definição 1: Seja n um inteiro positivo. Dois inteiros a e b são ditos congruentes

módulo n, simbolizado por:

a ≡ b mod n

se n divide a diferença a – b; i.e., a – b = kn, para algum inteiro k.

Exemplos: Considere n = 7:

8 ≡ 1 mod 7, pois 8 – 1 = 7 = 1.7

17 ≡ 3 mod 7, pois 17 – 3 = 14 = 2.7

3 ≡ 24 mod 7, pois 3 – 24 = -21 = (-3).7

-31 ≡ 11 mod 7, pois -31 – 11 = -42 = (-6).7

-15 ≡ -64 mod 7, pois -15 – (-64) = 49 = 7.7

Se n não divide a diferença a – b, dizemos que a é incongruente a b módulo n,

no caso, a † b mod n.

Exemplo: 25 † 12 mod 7, pois 25 – 12 = 13 ≠ 7k, para qualquer k inteiro.

Page 49: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 49

Teorema 4.1: Para inteiros quaisquer a e b, a ≡ b mod n, sse, a e b têm o

mesmo resto não-negativo quando divididos por n.

Prova:

a ≡ b mod n ⇒ a = b + kn, para algum inteiro k.

A divisão de b por n gera um resto r, de acordo com o teorema da divisibilidade:

b = qn + r, 0 ≤ r < n

Logo,

a = b + kn

a = (qn + r) + kn

a = n(q + k) + r = q1n + r

Assim, a e b têm o mesmo resto quando divididos por n.

Teorema 4.2: Seja n > 1 e a, b, c e d inteiros quaisquer:

a) a ≡ a mod n

b) Se a ≡ b mod n, então b ≡ a mod n

c) Se a ≡ b mod n e b ≡ c mod n, então a ≡ c mod n

d) Se a ≡ b mod n e c ≡ d mod n, então

a + c ≡ b + d mod n

ac ≡ bd mod n

e) Se a ≡ b mod n, então a + c ≡ b + c mod n e ac ≡ bc mod n

f) Se a ≡ b mod n, então ak ≡ bk mod n, para qualquer inteiro positivo k

Exemplos: 1. Prove que 41| (220 – 1)

Solução:

Vamos tentar resolver o problema tratando casos mais simples. Vamos procurar

primeiro a relação entre 41 e alguma potência de 2. Por exemplo:

25 ≡ -9 mod 41

(25)4 ≡ (-9)4 mod 41

Page 50: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 50

220 ≡ (-9)4 mod 41

220 ≡ (-9)2.(-9)2 mod 41

220 ≡ 81.81 mod 41

Mas

81 ≡ -1 mod 41

Logo

220 ≡ (-1).(-1) mod 41

220 ≡ 1 mod 41

Do Teorema 4.2.e:

220 – 1 ≡ 1 - 1 mod 41

220 – 1 ≡ 0 mod 41

Assim, 220 – 1 é múltiplo de 41. Logo, 41|(220 – 1).

2. Encontrar o resto da divisão de 1! + 2! + 3! + .... + 100! Quando divididos por

12.

Solução:

Observe que 4! = 24 ≡ 0 mod 12

Assim, para k ≥ 4:

k! = 4!.5.6.7....k = múltiplos de 4!

Logo, k! ≡ 0 mod 12, para k ≥ 4.

Ou seja,

1! + 2! + 3! + .... + 100! ≡ 1! + 2! + 3! mod 12

1! + 2! + 3! + .... + 100! ≡ 1 + 2 + 6 mod 12

1! + 2! + 3! + .... + 100! ≡ 9 mod 12

Logo, o resto da divisão de 1! + 2! + 3! + .... + 100! por 12 é 9.

Teorema 4.3: Se ca ≡ cb mod n, então a ≡ b mod (n/d), onde d = GCD (c, n)

Page 51: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 51

Prova:

Hipótese: ca ≡ cb mod n

Conclusão: a ≡ b mod (n/d), onde d = GCD (c, n)

Como ca ≡ cb mod n, podemos escrever:

ca – cb = kn, para algum inteiro k

Considerando que GCD (c, n) = d (não faz parte da conclusão!), implica que

existem inteiros r e s, tal que c = dr e n = ds, com GCD(r, s) = 1. Logo:

ca – cb = kn

dra – drb = kds

r.(a – b) = ks ⇒ s|[r(a – b)]

Como GCD (r, s) = 1 ⇒ s|(a – b):

a ≡ b mod s

Mas s = n/d. Logo:

a ≡ b mod (n/d)

Corolário 1: Se ca ≡ cb mod n e GCD (c, n) = 1, então a ≡ b mod n.

Corolário 2: Se ca ≡ cb mod p e pðc, onde p é primo, então a ≡ b mod p.

Exemplo: 1. Calcule o resto de 250 quando dividido por 7.

Solução:

Vamos tentar simplificar o problema encontrando alguma relação entre uma

potência de 2 e 7. Sempre que possível, é interessante trabalhar com

congruências com 1.

Observe que:

23 = 8 ≡ 1 mod 7

Page 52: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 52

Logo

(23)16 ≡ 116 mod 7

248 ≡ 1 mod 7

Pelo Teorema 4.2.e:

22.248 ≡ 22.1 mod 7

250 ≡ 22 mod 7

2. Considere a congruência 33 ≡ 15 mod 9, ou 3.11 ≡ 3.5 mod 9. Como GCD(3,

9) = 3, o Teorema 4.3 conclui que 11 ≡5 mod 3. Outro exemplo pode ser visto

analisando -35 ≡ 45 mod 8. Ou, 5.(-7) ≡ 5.9 mod 8. Como 5 e 8 são

relativamente primos entre si, podemos obter -7 ≡ 9 mod 8.

Outra situação curiosa é conseguida pela teoria das Congruências. O produto de

dois inteiros, nenhum deles congruente com zero, pode gerar um número

congruente com zero. Por exemplo, 4.3 ≡ 0 mod 12, mas 4 ≠ 0 mod 12 e 3 ≠ 0

mod 12. Isso mostra que se a.b ≡ 0 mod n e GCD(a, n) = 1, então b ≡ 0 mod n.

Uma variação acontece quando n é um número primo p. Nesse caso, se a.b ≡ 0

mod p, com p primo, então ou a ≡ 0 mod p ou b ≡ 0 mod p.

Page 53: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 53

Exercícios

1. Prove cada uma das assertivas:

a) Se a ≡ b mod n e m|n, então a ≡ b mod m

b) Se a ≡ b mod n e c > 0, então ca ≡ cb mod cn

c) Se a ≡ b mod n e os inteiros a, b e n são todos divisíveis por d > 0, então a/d ≡

b/d mod n/d

2. Se a ≡ b mod n, prove que o GCD (a, n) = GCD (b, n).

3. Encontre o resto de 4165 quando dividido por 7.

4. Prove que 53103 + 10353 é divisível por 39.

5. Prove que:

a) Se a é um inteiro ímpar, então a2 ≡ 1 mod 8.

b) Para qualquer inteiro a, a3 ≡ 0, 1 ou 6 mod 7.

Page 54: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 54

4.2 Testes Especiais de Divisibilidade

Uma das aplicações da teoria das congruências consiste em encontrar critérios

especiais sob os quais um dado inteiro é divisível por outro. Vamos começar

mostrando que, dado um inteiro b > 0, qualquer inteiro positivo N pode ser

escrito unicamente em termos de potências de b como:

N = ambm + am-1bm-1 + .... + a2b2 + a1b + a0

onde os coeficientes ak podem ser quaisquer valores menores que b, ou seja, 0,

1, 2, ...., b – 1. Pelo algoritmo da divisão, temos q1 e a0 tal que:

N = q1b + a0 0 <= a0 < b

Se q1 >= b, podemos dividir mais uma vez, obtendo:

q1 = q2b + a1 0 <= a1 < b

Substituindo q1 na equação anterior:

N = (q2b + a1)b + a0 = q2b2 + a1b + a0

Enquanto o quociente for maior ou igual a b, a divisão continua com uma

seqüência decrescente de quocientes até que seja alcançada a representação

final:

N = ambm + am-1bm-1 + ... + a1b + a0

fazendo am = qm.

Podemos escrever também que:

N = (am, am-1,..., a1, a0)b

Ou seja, a notação na base b de N. Na verdade, essa notação já é bastante

conhecida. Quando convertemos um número de decimal para binário estamos,

na verdade, representando um número N da base 10 na base 2. Por exemplo:

105 = (1101001)2

de forma abreviada.

Teorema 4.4: Seja ∑=

=m

k

kk xcxP

0

)( uma função polinomial de x com coeficientes

inteiros ck. Se a ≡ b mod n, então P(a) ≡ P(b) mod n.

Page 55: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 55

Se P(x) é um polinômio, dizemos que a é solução da congruência P(x) ≡ 0 mod

n, se P(a) ≡ 0 mod n.

Corolário: Se a é uma solução de P(x) ≡ 0 mod n, e a ≡ b mod n, então b

também é uma solução.

Teorema 4.5: Seja N = am10m + am-110m-1 + ... + a110 + a0 a expansão decimal

do inteiro positivo N, 0 <= ak < 10, e seja S = a0 + a1 + .... + am. Então 9|N, se e

só se, 9|S.

Prova:

Considere ∑=

=m

k

kk xaxP

0

)( um polinômio com coeficientes inteiros. Observe que

10 ≡ 1 mod 9, assim, pelo Teorema 4.4, P(10) ≡ P(1) mod 9. Mas P(10) = N e

P(1) = S, tal que N ≡ S mod 9. Segue que N ≡ 0 mod 9, sse, S ≡ 0 mod 9.

Teorema 4.6: Seja N = am10m + am-110m-1 + ... + a110 + a0 a expansão decimal

do inteiro positivo N, 0 <= ak < 10, e seja T = a0 - a1 + a2 - .... + (-1)mam. Então

11|N, se e só se, 11|T.

Prova:

Similar a anterior, lembrando que 10 ≡ -1 mod 11.

Page 56: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 56

Exercícios

1. Prove as seguintes afirmativas:

a) Para qualquer inteiro a, o dígito das unidades de a2 é 0, 1, 4, 5, 6 ou 9.

b) Qualquer um dos inteiros de 0 a 9 pode ser o dígito das unidades de a3.

c) Para qualquer inteiro a, o dígito das unidades de a4 é 0, 1, 5 ou 6.

2. Encontre os dois últimos dígitos de 999 .

3. Sem fazer divisões verifique se os inteiros 176.521.221 e 149.235.678 são

divisíveis por 9 ou 11.

Page 57: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 57

4.3 Congruências Lineares

Uma equação da forma a.x ≡ b mod n é chamada uma congruência linear, e por

uma solução de tal equação entendemos um inteiro x0 para o qual a.x0 ≡ b mod

n. Por definição, a.x0 ≡ b mod n, sse n|(a.x0 – b), ou, da mesma forma, sse, a.x0

– b = n.y0, para algum inteiro y0. Assim, o problema de encontrar todos os

inteiros que satisfazem a congruência linear ax ≡ b mod n é idêntico ao de

encontrar todas as soluções da equação Diofântica ax – ny = b.

Teorema 4.7: A congruência linear ax ≡ b mod n tem solução sse d|b, onde d =

GCD (a, n). Se d|b, então ela tem d soluções mutuamente incongruentes módulo

n.

OBS: Observe que o Teorema 4.7 reflete exatamente o que caracteriza uma

equação diofântica ter solução. A congruência ax ≡ b mod pode ser expressa

como ax – b = nk ou ax –nk = b. Isso é uma equação diofântica que tem solução

quando GCD(a, n) | b (Teorema 2.9).

Corolário: Se GCD (a, n) = 1, então a congruência linear ax ≡ b mod n tem uma

única solução módulo n.

Teorema 4.8: Teorema Chinês dos Restos. Sejam n1, n2, ..., nr inteiros

positivos tais que GCD (ni, nj) = 1 para i ≠ j. Então o sistema de congruências

lineares:

x ≡ a1 mod n1

x ≡ a2 mod n2

....

x ≡ ar mod nr

tem uma solução simultânea, que é única módulo n1.n2...nr.

Page 58: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 58

Exemplo: 1. O primeiro problema a ser resolvido pelo Teorema Chinês dos Restos foi

postulado no início do Século I por Sun Tsu. Ele pediu para que fosse

encontrado um número inteiro que tivesse resto 2, 3 e 2 quando dividido por 3, 5

e 7 respectivamente. Esse problema corresponde ao sistema de três

congruências:

x ≡ 2 mod 3

x ≡ 3 mod 5

x ≡ 2 mod 7

Solução:

Seja n = 3.5.7 = 105. Para cada k = 1, 2, ..., r, seja:

Nk = n/nk

Assim:

N1 = n/3 = 105/3 = 35

N2 = n/5 = 105/5 = 21

N3 = n/7 = 105/7 = 15

Assim, as congruências lineares:

(n/nk)x ≡ 1 mod nk

para todo k, tornam-se

35x ≡ 1 mod 3 21x ≡ 1 mod 5 15x ≡ 1 mod 7

são satisfeitas por x1 = 2, x2 = 1, x3 = 1, respectivamente. Assim, uma solução é

dada por:

x = 2.(n/n1). x1 + 3.(n/n2).x2 + 2.(n/n3).x3

x = 2.35.2 + 3.21.1 + 2.15.1 = 233

A solução é dada por x mod n, ou seja:

x= 233 ≡ 23 mod 105

Observe que:

23 ≡ 2 mod 3, 23 ≡ 3 mod 5 e 23 ≡ 2 mod 7

Page 59: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 59

2. Vamos resolver a congruência linear 17x ≡ 9 mod 276

Solução:

Como 276 = 3.4.23, isso é equivalente a encontrar a solução para o sistema de

congruências:

17x ≡ 9 mod 3 ou -x ≡ 0 mod 3 ⇒ x ≡ 0 mod 3

17x ≡ 9 mod 4 ou x ≡ 1 mod 4

17x ≡ 9 mod 23 ou 17x ≡ 9 mod 23

Pela primeira equação, como x ≡ 0 mod 3, isso implica que x é da forma 3k, k

inteiro. Logo, na segunda equação, podemos escrever que

3k ≡ 1 mod 4 * 3

k ≡ 9k ≡ 3 mod 4

tal que k = 3 + 4j, onde j é um inteiro. Então:

x = 3k = 3.(3 + 4j) = 9 + 12j

Para a última congruência:

17x ≡ 9 mod 23

17(9 + 12j) ≡ 9 mod 23

204j ≡ -144 mod 23

3j ≡ 6 mod 23

j ≡ 2 mod 23

j = 2 + 23t, com t um inteiro

Assim, x = 9 + 12j = 9 + 12(2 + 23t) = 33 + 276t

Para t = 0, x = 33 é uma solução.

Exercícios 1. Resolva as seguintes congruências:

a) 25x ≡ 15 mod 29

b) 5x ≡ 2 mod 26

2. Resolva a congruência linear 17x ≡ 3 mod (2.3.5.7).

Page 60: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 60

5. Teorema de Fermat11

5.1 Método de Fatoração de Fermat

Em um fragmento de carta para o Padre Marin Mersenne em 1643, Fermat

descreveu uma técnica para fatoração de grandes números. Isso representou o

primeiro grande avanço sobre métodos clássicos de busca por fatores de um

número n. Até então, essa busca ainda era feita por divisões por todos os

números menores que a raiz quadrada de n. O método de fatoração de Fermat

parte da idéia de que a busca por fatores de um número inteiro ímpar n (como

números pares são facilmente reconhecidos, não há perda de generalidade

considerar n ímpar) é equivalente a obter soluções x e y da equação:

n = x2 – y2 (n ímpar!!)

Se n é a diferença entre dois quadrados, então n pode ser fatorado em:

n = x2 – y2 = (x + y).(x – y)

Por outro lado, quando n tem fatoração n = a.b, com a ≥ b ≥ 1, então podemos

escrever: 22

22⎟⎠⎞

⎜⎝⎛ −

−⎟⎠⎞

⎜⎝⎛ +

=baban

Mais ainda, como n é um inteiro ímpar, a e b são ímpares também, implicando

que (a + b)/2 e (a – b)/2 são inteiros não-negativos.

A busca começa por possíveis valores de x e y que satisfaçam a equação

n = x2 – y2

ou:

x2 – n = y2

11 Pierre de Fermat, matemático francês (1601-1665)

Page 61: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 61

Primeiro, procura-se o primeiro inteiro k tal que k2 ≥ n. Agora, olhamos

sucessivamente para os números:

k2 – n, (k + 1) 2 – n, (k + 2) 2 – n, (k + 3) 2 – n, ...

até que um valor de m ≥ √n seja encontrado tal que m2 – n seja um quadrado. O

processo não pode seguir indefinidamente já que, eventualmente, chegaremos

a: 22

21

21

⎟⎠⎞

⎜⎝⎛ −

=−⎟⎠⎞

⎜⎝⎛ + nnn

que é a representação de n correspondendo à fatoração trivial n = n.1. Se esse

ponto for alcançado sem que uma diferença quadrada seja encontrada, então n

não tem outros fatores além de 1 e dele mesmo (n é primo).

Fermat usou esse procedimento para descobrir, em apenas 11 passos, que:

2027651281 = 44021.46061

Exemplo: Vamos fatorar o número 119143.

De uma tabela de quadrados, encontramos que 3452 < 119143 < 3462. Assim,

só precisamos considerar os valores de (k2 – 119143) que satisfaçam a

desigualdade 346 ≤ k < (119143 + 1)/2 = 59572. Os cálculos procedem como

segue:

3462 – 119143 = 119716 – 119143 = 573

3472 – 119143 = 120409 – 119143 = 1266

3482 – 119143 = 121104 – 119143 = 1961

3492 – 119143 = 121801 – 119143 = 2658

3502 – 119143 = 122500 – 119143 = 3357

3512 – 119143 = 123201 – 119143 = 4058

3522 – 119143 = 123904 – 119143 = 4761 = 692

A última linha apresenta a fatoração:

Page 62: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 62

119143 = 3522 – 692 = (352 + 69).(352 – 69) = 421.283

Como os dois fatores são primos, apenas sete passos foram necessários.

O método de Fermat é mais eficiente quando os dois fatores de n são de mesma

magnitude.

Exemplo: Vamos fatorar o número 23449. O menor quadrado excedendo 23449

é 1542, assim a seqüência (k2 – n) começa com:

1542 – 23449 = 23716 – 23449 = 267

1552 – 23449 = 24025 – 23449 = 576 = 242

Assim, os fatores de 23449 são:

23499 = 1552 – 242 = (155 – 24).(155 + 24) = 179.131

Há ainda uma generalização do método de fatoração de Fermat usando o

conceito de congruência. Aqui, procuramos por inteiros x e y tais que x2 – y2 seja

múltiplo de n. Ou seja:

x2≡ y2 mod n

Tendo obtido esses valores de x e y, podemos calcular pelo algoritmo de

Euclides:

d = GCD(x – y, n)

ou

d = GCD(x + y, n)

Sendo d um divisor de n. É importante considerar na prática que n é o produto

de dois primos (n = p.q). Assim, como d | n, então d = 1, p, q ou p.q.

Page 63: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 63

Exemplo: Suponha que desejamos fatorar o inteiro n = 2189.

Primeiro, precisamos encontrar valores de x e y tal que x2 ≡ y2 mod 2189. A

busca por esses quadrados não é tão trivial. Assim, vamos procurar quadrados

perfeitos perto de múltiplos de 2189. Por exemplo:

812 – 3.2189 = 6 e 1552 – 11.2189 = 54 = 2.27

que pode ser entendido como:

812 ≡ 2.3 mod 2189 e 1552 ≡ 2.33 mod 2189

Quando essas congruências são multiplicadas temos:

(81.155)2 ≡ (2.32)2 mod 2189

Mas

81.155 = 12555 ≡ -579 mod 2189

Logo:

5792 ≡ 182 mod 2189

Assim, temos os valores x = 579 e y = 18. Ou seja:

x2 ≡ y2 mod n

5792 ≡ 182 mod n

Calculamos então:

GCD (579 – 18, 2189) = GCD (561, 2189) = ?

Pelo algoritmo Euclidiano:

2189 = 3.561 + 506

561 = 1.506 + 55

506 = 9.55 + 11

55 = 5.11

Logo, GCD (561, 2189) = 11. Sendo esse um dos fatores primos de 2189. O

outro fator é 199 que pode ser obtido procurando:

GCD (579 + 18, 2189) = GCD (597, 2189) = 199

Com isso, temos que:

2189 = 11.199

Page 64: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 64

Exercícios

1. Use o teorema de Fermat para fatorar cada um dos seguintes números:

a) 2279

b) 10541

c) 340663

2. Fatore o número 211 – 1 usando o método de fatoração de Fermat.

3. Mersenne definiu que quando um número pode ser escrito como a soma de

dois quadrados relativamente primos entre si de duas formas distintas, ele é

composto e pode ser fatorado como segue: Se n = a2 + b2 = c2 + b2, então:

))(())((

dadabdacbdacn

−+−+

=

Use esse resultado para fatorar:

a) 493 = 182 + 132 = 222 + 32

b) 38025 = 1682 + 992 = 1562 + 1172

4. Aplique o método generalizado de Fermat para fatorar:

a) 2911 (saiba que: 1382 ≡ 672 mod 2911)

b) 4573 (saiba que: 1772 ≡ 922 mod 4573)

Page 65: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 65

5.2 O Pequeno Teorema de Fermat

Teorema 5.1: Teorema de Fermat: Seja p um primo e suponha que pða. Então:

ap-1 ≡ 1 mod p

Prova:

Vamos começar considerar os primeiros p – 1 múltiplos positivos de a; isto é, os

inteiros:

a, 2a, 3a, ...., (p – 1)a

Nenhum desses números é congruente entre si módulo p (já que todos os

coeficientes são menores que p e pða), assim como nenhum deles é congruente

com zero. Se fossem, teríamos:

r.a ≡ s.a mod p 1 ≤ r < s ≤ (p – 1)

Logo:

r ≡ s mod p

O que é impossível. Assim, o conjunto anterior deve congruente módulo p a 1, 2,

3, ...., p – 1. Multiplicando todas essas congruências juntas, encontramos que:

a.2a.3a....(p – 1)a ≡ 1.2.3....(p – 1) mod p

Assim:

ap-1.(p – 1)! ≡ (p – 1)! mod p

Logo:

ap-1 ≡ 1 mod p

Corolário: Se p é um primo, então ap ≡ a mod p para qualquer inteiro a.

Prova: Quando p|a, a proposição é óbvia. Nesse caso, ap ≡ 0 ≡ a mod p. Se pða,

de acordo com o teorema de Fermat ap-1 ≡ 1 mod p. Quando a congruência é

multiplicada por a, concluímos que ap ≡ a mod p.

Page 66: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 66

É importante ressaltar, porém, que o inverso não é necessariamente verdade.

Ou seja, ap ≡ a mod p não implica que p seja primo, como veremos

posteriormente.

Lema: Se p e q são primos distintos com ap ≡ a mod q e aq ≡ a mod p, então apq

≡ a mod pq.

Prova:

Como ap ≡ a mod p, temos que apq ≡ aq mod p.

Por hipótese, temos que

aq ≡ a mod p ⇒ apq ≡ ap mod p

mas

ap ≡ a mod p

logo

apq ≡ a mod p

ou de forma diferente:

p|(apq - a)

Da mesma forma, podemos concluir que q|(apq - a). Assim, pelo corolário 2 do

teorema 2.4 (se a|c e b|c com GCD(a, b) = 1, então (ab)|c):

pq|(apq - a)

que pode ser re-escrito como:

apq ≡ a mod pq

Esse lema serviu para resolver um problema que perdurou por séculos.

Acreditava-se que n é primo, se e somente se, n|(2n – 2). Por exemplo:

22 – 2 = 2 e 2|2 ⇒ 2 é primo

23 – 2 = 6 e 3|6 ⇒ 3 é primo

24 – 2 = 14 e 4ð14 ⇒ 4 não é primo

25 – 2 = 30 e 5|30 ⇒ 5 é primo

26 – 2 = 62 e 6ð62 ⇒ 6 não é primo

Page 67: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 67

No entanto, vamos checar o que acontece para n = 341 = 11.31.

Pelo Teorema 5.1:

2340 ≡ 1 mod 341

210 = 1024 = 31.33 + 1 ⇒ 210 ≡ 1 mod 31

Assim

211 = 2.210 ≡ 2.1 ≡ 2 mod 31

e

231 = 2.(210)3 ≡ 2.13 ≡ 2 mod 11

Pelo Lema anterior, temos:

211.31 ≡ 2 mod 11.31

ou

2341 ≡ 2 mod 341

que leva a:

2340 ≡ 1 mod 341

Com isso, temos um número n (341) que satisfaz a condição n|(2n – 2), mas não

é primo. De fato, essa condição funciona para todo n ≤ 340.

De fato, um inteiro n é chamado de pseudoprimo sempre que n|(2n – 2). Pode

ser mostrado que existem infinitos pseudoprimos. Os primeiros são 341, 561,

645 e 1105.

Page 68: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 68

Exercícios

1. Use o teorema de Fermat para verificar que 17 divide 11104 + 1.

2.

a) Se GCD (a, 35) = 1, mostre que a12≡1 mod 35.

b) Se GCD (a, 42) = 1, mostre que 168=3*7*8 divide a6 – 1.

c) Se GCD (a, 133) = GCD (b, 133) = 1, mostre que 133|(a18 – b18).

3. Do teorema de Fermat deduza que, para qualquer inteiro n≥0, 13|(1112n+6 + 1).

4. Prove:

a) a21 ≡ a mod 15, para todo a.

b) a7 ≡ a mod 42, para todo a.

c) a13 ≡ a mod (3*7*13), para todo a.

d) a9 ≡ a mod 30, para todo a.

5. Se GCD (a, 30) = 1, mostre que 60 divide a4 + 59.

6. Encontre o dígito das unidades de 3100 usando o Teorema de Fermat.

7. Para um inteiro a, verifique que a5 e a têm o mesmo dígito das unidades.

Page 69: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 69

6. Generalização de Euler12 do Teorema de Fermat (Capítulo 7 do Burton)

6.1 Função Phi de Euler

Definição: Para n ≥ 1, seja φ(n) o número de inteiros positivos menores que n e

que são relativamente primos a n.

Exemplo: Ф(30) = 8 já que existem 8 números menores que 30 e que são relativamente

primos a ele (1, 7, 11, 13, 17, 19, 23, 29).

De forma similar, temos:

Ф(1) = 1, Ф(2) = 1, Ф(3) = 2, Ф(4) = 2, Ф(5) = 4, Ф(6) = 2, Ф(7) = 6, .....

Observe que Ф(1) = 1, pois GCD (1, 1) = 1. Enquanto, se n > 1, então GCD(n, n)

= n ≠ 1.

A função Ф é chamada de função phi de Euler.

Se n é primo, então todo inteiro menor que n é relativamente primo a ele. Assim,

φ(n) = n – 1, se n é primo. Se n > 1 é composto, então n tem um divisor d tal que

1 < d < n. Segue que existem, pelo menos, dois inteiros entre 1 e n que não são

relativamente primos a n (d e n), Como resultado, φ(n) ≤ n – 2.

Precisamos agora definir uma maneira de calcular o valor de φ(n) diretamente da

fatoração de n.

Teorema 6.1: Se p é um primo e k > 0, então:

Ф(pk) = pk – pk-1 = pk(1 – 1/p)

12 Leonhard Euler (1707-1783)

Page 70: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 70

Exemplos:

φ(9) = φ(32) = 32 – 3 = 6

φ(16) = φ(24) = 24 – 23 = 16 – 8 = 8

Lema: Dados inteiros a, b e c, o GCD (a, bc) = 1, se e somente se, GCD(a, b) =

1 e GCD (a, c) = 1.

Prova:

Primeiro, suponha que GCD(a, bc) = 1 e defina que d = GCD(a, b). Então d|a e

d|b. Assim, d|a e d|bc. Isso implica que GCD (a, bc) ≥ d. Como GCD (a, bc) = 1,

então 1 ≥ d o que implica d = 1. O mesmo raciocínio pode ser feito para GCD(a,

c) = 1.

Pela outra direção, considere GCD (a, b) = GCD (a, c) = 1 e assuma que GCD

(a, bc) = d1 > 1. Então d1 deve ter um fator primo divisor p. Como d1|bc, segue

que p|bc; em conseqüência, p|b ou p|c. Se p|b e considerando que p|a (já que p

é um fator de d1 que é divisor de a), então GCD(a, b) ≥ p, que é uma contradição

já que GCD (a, b) = 1 e 1 não é primo. Da mesma forma, a condição p|c leva a

uma conclusão igualmente falsa que o GCD (a, b) ≥ p. Assim d1 = 1 e o lema

está provado.

Teorema 6.2: A função φ é uma função multiplicativa. Ou seja, Ф(mn) = Ф(m)

Ф(n), sempre que m e n não têm fator em comum.

Teorema 6.3: Se o inteiro n>1 pode ser fatorado em p1k1. p2

k2.... pr

kr, então:

Ф(n)=(p1k1 - p1

k1

-1). (p2k2 – p2

k2

-1)... (prkr – pr

kr-1) = n(1 – 1/p1). (1 – 1/p2).. (1 – 1/pr).

Teorema 6.4: Para n>2, Ф(n) é um inteiro par.

Prova: Se n é primo Ф(n) = n – 1 que é par. Se n é ímpar, Ф(n) = n2 – n que é

par. Por último, se n é par, então Ф(n) = n2 – n que é par também.

Page 71: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 71

Exercícios 1.Calcule:

a) Ф(1001)

b) Ф(5040)

c) Ф(36.000)

2. Verifique que a igualdade Ф(n) = Ф(n + 1) = Ф(n + 2) é válida para n = 5186.

3. Estabeleça cada uma das afirmativas abaixo:

a) Se n é um inteiro ímpar, então Ф(2n) = Ф(n).

b) Se n é um inteiro par, então Ф(2n) = 2Ф(n).

c) Ф(3n) = 3.Ф(n), se e somente se 3|n.

4. Prove que a equação φ(n) = φ(n + 2) é satisfeita por n = 2(2p – 1) sempre que

p e 2p-1 forem ambos primos.

Page 72: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 72

6.2 Teorema de Euler

Lema: Seja n > 1 e GCD (a, n) = 1. Se a1, a2, ..., aφ(n) são inteiros positivos

menores que n e relativamente primos a n, então

aa1, aa2, ..., aaφ(n)

são congruentes módulo n a a1, a2, ..., aφ(n) em alguma ordem.

Prova:

Observe que nenhum par dentre os inteiros aa1, aa2, ..., aaφ(n) é congruente

módulo n. Do contrário, teríamos

a.ai ≡ a.aj mod n, 1 ≤ i < j ≤ φ(n)

⇒ ai ≡ aj mod n

⇒ ai = aj

já que ai e aj são menores que n. Isso seria uma contradição. Além do mais,

como GCD(ai, n) = 1 para todo i e GCD(a, n) = 1, o lema relacionado ao

Teorema 6.1 garante que cada um dos a.ai é relativamente primo a n.

Vamos fixar em um a.ai particular. Existe um único inteiro b, onde 0 ≤ b < n, para

o qual a.ai ≡ b mod n. Como

GCD (b, n) = GCD (a.ai, n) = 1

então b deve ser um dos inteiros a1, a2, ..., aφ(n). Isso prova que os números a1,

a2, ..., aφ(n) e os números aa1, aa2, ..., aaφ(n) são idênticos (módulo n).

Teorema 6.4: Teorema de Euler: Se n ≥ 1 e GCD (a, n) = 1, então

aφ(n) ≡ 1 mod n.

Corolário: Fermat: Se p é primo e p ð a, então ap-1 ≡ 1 mod p.

Page 73: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 73

Exemplo: O Teorema de Euler é bastante útil na redução de inteiros grandes módulo n.

Por exemplo, vamos encontrar os últimos dois dígitos na representação decimal

de 3256. Isso é equivalente a obter o menor inteiro não negativo para o qual 3256

é congruente módulo 100.

Como GCD (3, 100) = 1 e

Ф(100) = Ф(22.52) = 100.(1 – 1/2).(1 – 1/5) = 40

O Teorema de Euler leva a:

340 ≡ 1 mod 100

Pelo algoritmo da divisão 256 = 6.40 + 16; assim:

3256 ≡ 36.40 + 16 ≡ (340)6316 ≡ 316 mod 100

Assim, nosso problema se reduz a calcular 316 mod 100:

34 = 81 ≡ -19 mod 100

316 = (34)4 ≡ (-19)4 mod 100

(-19)4 = (361)2 ≡ (61)2 mod 100

(61)2 ≡ 21 mod 100

Exercícios

1. Use o Teorema de Euler para estabelecer as seguintes assertivas:

a) Para qualquer inteiro a, a37 ≡ a mod 1729

(Sugestão: 1729 = 7.13.19)

b) Para qualquer inteiro a, a13 ≡ a mod 2730

(Sugestão: 2730 = 2.3.5.7.13)

2. Encontre o dígito das unidades de 3100 usando o Teorema de Euler.

Page 74: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 74

7. Aplicações - Criptografia

A matemática discreta encontra seu maior nicho de aplicações na Criptografia.

Existem algumas definições de Criptografia. Se a pergunta for “o que é

criptografia?” temos uma resposta curta:

Criptografia é a ciência da cifragem de dados

e a resposta longa

Criptografia é a ciência que lida com métodos de proteção de dados

através de cifragem e processos relacionados.

A palavra Criptografia vem do grego kryptein (esconder) e gráphein (escrita).

Vamos entender alguns elementos básicos antes de vermos uma aplicação real

baseada na Teoria dos Números.

5.1 Conceitos Básicos

Um sistema de criptografia pressupõe que existe uma mensagem sendo

transferida entre dois elementos: o transmissor e o receptor.

Suponha que um transmissor deseja enviar uma mensagem a um receptor. Mais

ainda, é necessário que essa mensagem seja enviada de modo seguro a fim de

que nenhuma outra pessoa que a intercepte tenha acesso ao seu conteúdo.

Comumente, nos estudos de Criptografia, costuma-se atribuir ao transmissor e

ao receptor os nomes “Alice” e “Bob”. A Figura 2 ilustra essa situação.

Fig. 2.Alice como transmissora de uma mensagem ao receptor Bob.

Page 75: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 75

A mensagem é o texto claro o qual contém a informação que se deseja enviar

sem qualquer mecanismo para escondê-la. Essa mensagem passa por um

processo de Cifragem (Encryption) a fim de esconder seu conteúdo. Esse

processo gera o chamado texto cifrado. O processo inverso à cifragem que

recebe o texto cifrado como entrada e devolve o texto claro como saída é

chamado de Decifragem (Decryption). Esse processo é ilustrado na Figura 3.

Fig. 3. Cifragem e decifragem de uma mensagem (texto claro).

A notação usada para os elementos acima é:

M = Texto claro

C = Texto cifrado

Cifragem = E(M) = C

Decifragem = D(C) = D(E(M)) = M

De uma maneira geral, um terceiro elemento pode ser inserido na Figura 2. Ao

enviar uma mensagem para Bob, Alice não quer que outra pessoa acesse às

informações ali contidas. Mas um outro personagem pode estar “escutando” a

transmissão da informação e pode interceptar a mensagem no canal entre Alice

para Bob. Assim, ele teria a mensagem cifrada que Alice enviou a Bob. É

importante que ele não consiga recuperar o texto claro original. Esse terceiro

elemento é chamado de Criptanalista. E o processo de quebra de uma

mensagem cifrada a fim de recuperar o texto claro é chamado de Criptanálise.

Os sistemas de cifragem/decifragem (chamados de sistemas criptográficos)

devem ser capazes de prover algumas propriedades a todo o processo:

Page 76: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 76

1) Autenticação: Deve ser possível para o receptor assegurar-se de sua origem;

um intruso não deve ser capaz de se mascarar;

2) Integridade: Deve ser possível ao receptor verificar que a mensagem não foi

modificada durante a transmissão; um intruso não deve ser capaz de substituir

uma mensagem verdadeira por uma falsa;

3) Não-repudiação: O emissor não pode negar que enviou uma mensagem.

Um algoritmo criptográfico (cifrador) é uma função matemática usada para cifrar

e decifrar. Em geral, a função é inversível. Ou seja, com poucas modificações, a

função usada para cifrar deve ser a mesma usada para decifrar. Tais algoritmos

dividem-se em:

1) Algoritmo restrito: Nesse caso, a segurança é baseada no algoritmo. Ao

conhecer o método de cifragem, é possível descobrir o texto claro.

Notadamente, esses algoritmos devem ser complexos (para que não sejam

fáceis de serem quebrados) e o processo todo é ineficiente já que a descoberta

do algoritmo o torna inútil.

2) Algoritmos baseados em Chaves: Esses são os algoritmos mais fortes e mais

comuns. O método de cifragem é conhecido por todos, mas a quebra de uma

mensagem depende de uma chave a qual é a fonte de todo o segredo. Diferente

do caso anterior, essa chave pode ser alterada em qualquer momento, tornando

mais difícil a descoberta da mensagem.

Em relação a esses dois modelos, o princípio de Kerckhoffs diz que “A

segurança de um sistema de cifragem deve depender apenas na segurança da

chave K, e não na segurança dos algoritmos”. Isso reforça o que dissemos

anteriormente quanto ao uso de algoritmos restritos ou baseados em chaves.

Todo o processo de cifragem e decifragem com chaves é descrito a seguir. É

possível utilizar uma mesma chave para cifrar e decifrar ou uma chave diferente

em cada processo.

Page 77: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 77

1) Algoritmos que usam a mesma chave para cifrar e decifrar: Algoritmos

Simétricos:

Seja K a chave, temos:

Ek(M) = C

Dk (C) = M

Dk (Ek (M)) = M

2) Algoritmos que usam chaves diferentes para cifrar e decifrar: Algoritmos

Assimétricos:

Seja K1 a chave de cifragem e K2 a chave de decifragem:

Ek1(M) = C

Dk2(C) = M

Dk2(Ek1(M)) = M

Nos algoritmos baseados em chave, foco de nosso estudo a partir de agora, a

segurança é completamente baseada no conhecimento dessa chave. O

algoritmo, em si, é amplamente conhecido. O processo agora de cifragem e

decifragem é como descrito na Figura 4. Compare com a Figura 3 anterior.

Fig. 4. Processo de cifragem e decifragem em algoritmos baseados em chaves.

No caso de algoritmos simétricos, a chave de cifragem é a mesma de

decifragem. Para algoritmos assimétricos, elas são diferentes.

Novamente, focando nossos estudos, vamos analisar a classes dos algoritmos

assimétricos. Como ele utiliza duas chaves, uma para cifrar e outra para decifrar,

Page 78: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 78

é possível tornar-se uma dessas chaves de conhecimento de todos (digamos, a

chave de cifragem) e outra de conhecimento apenas do emissor (digamos, a

chave de decifragem). Tal modelo é conhecido como Algoritmos de Criptografia

de Chave Pública. A idéia aqui é que uma chave seja conhecida e a outra possa

ser encontrada através dessa, mas de forma não trivial. É nessa classe de

algoritmos que se encontra o algoritmo RSA que destacaremos na próxima

Seção.

Como dito, os algoritmos de chave pública são algoritmos assimétricos, onde a

chave de cifragem é conhecida por todos, mas a chave de decifragem é secreta.

Assim, qualquer um pode cifrar uma mensagem, mas só uma pessoa específica

pode decifrá-la. A chave de cifragem é dita uma chave pública e a chave de

decifragem é a chave secreta.

5.2 Sistema Criptográfico RSA

Em um sistema criptográfico de chave pública, a cifragem não usa uma chave

secreta; essa só é necessária na decifragem. Para tanto são usadas as

chamadas “One-Way Trapdoor Functions”. Uma função ft(x): D → R é uma

função one-way (de mão única), se ela for fácil calcular para todo x ∈ D e difícil

de inverter para quase todos os valores em R. Contudo, se a informação

trapdoor (porta dos fundos) t é usada, então, para todo y ∈ R, é fácil calcular

x∈D, satisfazendo y=ft(x).

Em 1978, Rivest, Shamir e Adleman (Figura 5) propuseram o criptossistema de

chave pública RSA baseado em funções modulares em um one-way trapdoor

functions. Além do uso de funções modulares, o algoritmo toma como base

também o uso de números primos grandes e a dificuldade de fatoração de

números com grandes quantidades de dígitos.

Page 79: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 79

Fig. 5. Rivest, Shamir e Adleman – criadores do RSA.

O algoritmo RSA funciona da seguinte forma:

1) Alice escolhe dois números primos aleatórios, p e q, tais que eles

tenham, aproximadamente, o mesmo número de dígitos

2) Calcula: N = p.q

3) Calcula: Ф(N) = (p - 1).(q - 1)

4) Escolhe um inteiro e < Ф(N) tal que GCD (e, Ф(N))=1 e calcula o inteiro

d tal que e.d ≡ 1 mod Ф(N)

A chave pública é (N, e) e d é a chave privada; p, q e Ф(N) não são mais

necessários. Na prática, devem ser destruídos.

Cifragem:

Para enviar uma mensagem cifrada M < N para Bob, Alice calcula o texto cifrado

C:

C ≡ Me mod N

Lembrando que N e e são a chave pública de Bob.

Decifragem:

Para decifrar C, Bob computa:

M ≡ Cd mod N

Lembrando que apenas Bob tem a chave de decifragem d.

Vamos analisar o processo de decifragem:

M ≡ Cd mod N = (Me)d mod N = Med mod N

Page 80: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 80

ed ≡ 1 mod Ф(N) ⇒ ed ≡ 1 + k.Ф(N)

Logo:

M = M1 + k.Ф(N) mod N = M.Mk.Ф(N) mod N

Pelo Teorema de Lagrange:

MФ(N) ≡ 1 mod N

e

Mk.Ф(N) ≡ 1k mod N ≡ 1 mod N

Exemplo:

p = 7 e q = 13 ⇒ N = 7.13 = 91

Ф(N) = (7 – 1).(13 – 1) = 72

e = 5 ⇒ d = 29, onde

5.29 ≡ 1 mod Ф(N) ≡ 1 mod 72

Seja M = 3, a cifragem torna-se:

C ≡ Me mod N

C = 35 = 243 ≡ 61 mod 91 ⇒ C = 61

e a decifragem seria:

Cd = 6129 ≡ 3 mod 91 = M

Geralmente, os primos p e q são números com cerca de 50 dígitos. Dessa

forma, N, formado pelo produto dos dois, tem cerca de 100 dígitos. Um

criptanalista pode pegar a mensagem C e decifrá-la, algoritmicamente, de forma

simples. O método de decifrar é conhecido e ele tem acesso à chave pública e a

N. Calculado o valor de Ф(N), é relativamente simples encontrar o valor de d. O

problema está no fato de N ser formado por dois fatores primos com cerca de 50

dígitos e essa fatoração ser necessária para calcular Ф(N). Assim, a dificuldade

do RSA depende do problema de fatoração de inteiros

Um RSA construído com dois primos seguros é mais difícil de ser

quebrado. Em 2000, uma coalizão de 9000 workstations, trabalhando em

paralelo conseguiu quebrar um RSA de 512 bits em 4 meses.

Page 81: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 81

PARTE III - Relações e Estruturas Algébricas

1. Relações (Capítulo 3 do Ross)

1.1 Introdução

Dados conjuntos S e T, uma Relação de S para T é um subconjunto R de SxT,

i.e., um conjunto de pares ordenados (s, t). Dizemos que s é R-relacionada a t

ou que s é relacionada a t por R, no caso, (s, t) ∈ R. Não há garantia que (t, s) ∈

R também !

Se f: S→ T (f uma função), identificamos f com o conjunto:

Rf = {(x, y) ∈ SxT: y = f(x)}

que é uma relação de S para T. Nem todas as relações são funções. Uma

função de S para T é um tipo especial de relação de S para T tal que: para cada

x ∈ S existe exatamente um y ∈ T com (x, y) ∈ R. Assim, o conceito de relação é

muito mais amplo que o de função. Não é preciso, por exemplo, haver um

mapeamento matemático em uma relação como acontece com funções.

Relações são muito comuns em diversas áreas da computação como Banco de

Dados.

Exemplos: 1. Todo conjunto S tem, pelo menos, a relação básica de “igualdade”:

E = {(x, x): x ∈ S}

Dois elementos em S satisfazem esta relação, se e somente se, eles são

idênticos. Ou seja, (x, y) ∈ E, sse x = y.

Page 82: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 82

2. Para o conjunto ú, a relação de desigualdade “≤” pode ser vista como um

subconjunto D de úxú: D = {(x, y): x ≤ y}. Como (x, y) ∈ D, sse x ≤ y,

normalmente, escrevemos a relação como ≤. Essa relação tem algumas

propriedades que são particularmente importantes:

(Reflexividade) x ≤ x, ∀x ∈ ú.

(Anti-Simetria) x ≤ y e y ≤ x, implica que x = y, ∀x,y ∈ ú.

(Transitividade) x ≤ y e y ≤ z, implica que x ≤ z, ∀x, y, z ∈ ú.

Essas propriedades podem ser escritas também como:

(R) (x, x) ∈ R, ∀x ∈ ú.

(AS) (x, y) ∈ R e (y, x) ∈ R, implica que x = y, ∀x, y ∈ ú.

(T) (x, y) ∈ R e (y, z) ∈ R, implicam que (x, z) ∈ R, ∀x, y, z ∈ ú.

3. A relação de desigualdade estrita “<” em ú também é uma relação e

corresponde ao conjunto R = {(x, y): x < y}. Essa relação tem as seguintes

propriedades:

(AR) x < x, nunca ocorre, ∀x ∈ ú.

(T) x < y e y < z, implica que x < z, ∀x, y, z ∈ ú.

Essas podem ser escritas como:

(AR) (x, x) ∉ R, ∀x ∈ ú.

(T) (x, y) ∈ R e (y, z) ∈ R, implica que (x, z) ∈ R, ∀x, y, z ∈ ú.

4. Quanto à relação de congruência “≡”, no conjunto dos inteiros:

(R) m ≡ m mod p, ∀m, p ∈ Z.

(S) m ≡ n mod p implica que n ≡ m mod p, ∀m, n, p ∈ Z.

(T) m ≡ n mod p e n ≡ r mod p implica que m ≡ r mod p, ∀m, n, p, r ∈ Z.

que tornam-se

(R) (m, m), ∀m ∈ Z.

(S) (m, n) ∈ R implica que (n, m) ∈ R, ∀m, n ∈ Z.

Page 83: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 83

(T) (m, n) ∈ R e (n, r) ∈ R, implica que (m, r) ∈ R, ∀m, n, r ∈ Z.

Considere uma relação R de S em T. Isto é, R ⊆ SxT. A relação inversa R← é a

relação inversa de T em S definida por:

(t, s) ∈ R←, sse (s, t) ∈ R.

Ou seja, absolutamente diferente do que acontece com funções, nas relações a

inversão de uma relação dá-se apenas pela inversão dos pares que a formam.

Não há qualquer necessidade de ser mantida alguma referência à relação

original.

Exemplo: 1. A respeito das relações inversas, se, por exemplo, tivermos:

R = {(m, n) ∈ SxS: m – n > 0}

então a relação inversa é dada por:

R← = {(n, m) ∈ SxS: n – m < 0}

Assim, por exemplo, se o par (3, 2) fazia parte de R, o par (2, 3) faz parte de R←.

Observe que não é apenas o complementar da desigualdade “>” que define o

inverso. Nesse caso, o complementar seria “≤”, mas aqui a igualdade não é

permitida já que os pares (x, x) não pertencem à relação original.

Representação Gráfica de Relações

É possível representar os pares que fazem parte de uma relação graficamente.

Vamos analisar essa possibilidade através do exemplo a seguir.

Exemplo:

1. Considere a relação R1 no conjunto {0, 1, 2, 3,} definida por ≤. Assim, o par

(m, n) ∈ R1, sse m ≤ n. Os seguintes pares fazem parte da relação:

Page 84: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 84

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

Graficamente, isso pode ser representado da seguinte forma:

Todos os elementos do conjunto são dispostos e as setas indicam a disposição

dos pares. Se existe um par (2, 3) na relação, haverá uma seta direcionada de 2

para 3. Para os pares do tipo (x, x), é criado um chamado laço do elemento para

ele mesmo. Esses laços podem ser direcionados ou não já que, nesse caso, a

direção não importa.

2. Seja R2 a relação em {1, 2, 3, 4, 5} definida por m R2 n, sse m – n é par:

3. A relação inversa R1← é obtida invertendo as setas de R1 sem alterar os laços.

Page 85: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 85

4. A representação gráfica de R2 também é conseguida como a de R2←,

observando que a figura de R2← é igual à de R2, caracterizando uma relação

simétrica.

1.2 Digrafos e Grafos

Um Digrafo G consiste de dois conjuntos: o conjunto não-vazio V(G) de vértices

de G e o conjunto E(G) de arestas de G, junto com uma relação γ (gama) de

E(G) para V(G)xV(G) que diz para onde as arestas vão.

Se e é uma aresta de G e γ(e) = (p, q), então dizemos que e vai de p para q e

chamamos p de vértice inicial e q de vértice terminal de e.

Exemplos: 1. Considere a tabela abaixo e sua representação em digrafos:

e γ(e)

a

b

c

d

e

f

g

h

(w,z)

(w, x)

(x, z)

(z, z)

(z, x)

(z, y)

(y, w)

(y, x)

Em um grafo, um caminho é uma seqüência de arestas tal que o vértice terminal

de uma aresta é o vértice inicial da próxima (arestas adjacentes). Dizemos que

e1, e2, e3,..., en é um caminho de tamanho n do vértice x1 a xn+1. O caminho é

dito fechado se x1 = xn+1.

Page 86: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 86

2. Na figura anterior, f g a e é um caminho de tamanho 4 de z para x. O caminho

pode também ser definido por uma seqüência de arestas. z y w z x define o

caminho anterior também. f a não define um caminho; f g a é um caminho

fechado.

Um caminho fechado, onde cada vértice aparece apenas uma vez (menos o

primeiro e o último), é chamado de ciclo (ou circuito ou laço). Um digrafo sem

ciclos é chamado acíclico.

Dado um digrafo G e vértices v e w em V(G), v é adjacente a w, se existe uma

aresta em E(G) de v a w.

Um digrafo sem as setas (ou seja, não direcionado) é chamado um grafo. Os

mesmos conceitos de aresta, vértices, caminhos, comprimento de caminhos,

ciclos, etc, são válidos.

Definimos a relação de alcançabilidade R em V(G) por (v, w) ∈ R, se existe um

caminho em G de v para w.

Page 87: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 87

2. Mais sobre Relações (Capítulo 10 do Ross)

2.1 Conjuntos Parcialmente Ordenados (Partially Ordered Sets – Posets)

Conjuntos cujos membros podem ser comparados entre si de alguma forma.

Tipicamente, pensamos em um elemento sendo menor do que o outro, em

algum tipo de ordem. A ordem mais conhecida é ≤ em ú que tem as seguintes

propriedades:

(R) x ≤ x, ∀x ∈ ú (Reflexividade)

(AS) x ≤ y e y ≤ x ⇒ x = y, ∀x, y ∈ ú (Anti-Simetria)

(T) x ≤ y e y ≤ z ⇒ x ≤ z, ∀x, y, z ∈ ú (Transitividade)

(L) Dados x e y, tanto x ≤ y ou y ≤ x, ou ambos se x = y (Linearidade)

A propriedade L garante que dois elementos quaisquer são comparáveis. Uma

relação ≤ em um conjunto que satisfaça as propriedades acima é chamada

ordem total ou ordem linear. O termo L sugere que os elementos podem ser

listados em uma linha.

Qualquer conjunto S cujos elementos podem ser listados pode ser dado uma

ordem, satisfazendo as propriedades (R), (AS), (T) e (L), concordando que um

membro s precede um outro membro t, escrevendo s ≤ t, se s aparece na lista

antes de t ou se s = t.

Em alguns conjuntos, temos elementos não-comparáveis, logo, a propriedade L

não pode ser aplicada. Tais conjuntos são ditos ordenados e a especificação de

como seus membros se comparam entre si é chamada relação de ordem no

conjunto.

Page 88: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 88

Exemplo: 1. Se comparamos os fabricantes de carros, podemos ter um fabricante A

melhor que um Fabricante B, ou casos onde um fabricante C é melhor que um D

em alguns aspectos, mas nada podendo ser dito sobre o todo.

2. Podemos comparar dois números no conjunto {1, 2, 3,...., 73} se um é divisor

do outro. Então 6 e 72 são comparáveis, assim como 3 e 6. Mas 6 e 8 não são já

que 6 não divide 8 e nem vice-versa.

Conjuntos com relações de comparações que permitam a possibilidade de

elementos não-comparáveis são ditos parcialmente ordenados. Uma relação R

em um conjunto S é um subconjunto de SxS. Uma Ordem Parcial em um

conjunto S é uma relação R que é reflexiva, anti-simétrica e transitiva. Essas

condições significam que, se escrevermos x ≤ y como uma notação alternativa

para (x, y) ∈ R, então uma ordem parcial satisfaz:

(R) s ≤ s, ∀s em S;

(AS) s ≤ t e t ≤ s implica em s = t;

(T) s ≤ t e t ≤ u implica em s ≤ u.

Se ≤ é uma ordem parcial em S, o par (S, ≤) é chamado um conjunto

parcialmente ordenado ou poset. Entenda ≤ como um operador genérico de

comparação; ele não é o operador de desigualdade “menor que”.

O inverso de uma ordem parcial ≤ é denotado por ≥. Assim, x ≥ y é o mesmo que

y ≤ x. A relação inversa também é uma ordem parcial. Se virmos ≤ em S como

um subconjunto R de SxS, então ≥ corresponde à relação inversa R←.

Page 89: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 89

Dada uma ordem parcial ≤ em um conjunto S, definimos outra relação < em S

por:

x < y, se e somente se, x ≤ y e x ≠ y.

Exemplo:

Se ≤ é o conjunto inclusão ⊆, então A < B significa um subconjunto de B, i.e., A

⊂ B. A relação < é AR e T:

(AR) s < s é falso para todo s em S

(T) se s < t e t < u, então s < u.

Uma relação que é AR e T é chamada de uma Quasi-Ordem. Cada ordem

parcial em S tem uma quasi-ordem correspondente e vice-versa. Assim, se < é

uma quasi-ordem, então a relação ≤ definida por:

x ≤ y, se e somente se, x < y e x = y

é uma ordem parcial em S. A escolha de uma ordem parcial ou de sua quasi-

ordem associada para descrever comparações entre membros de um Poset

depende do problema em particular.

É possível desenhar um diagrama que mostre a relação de ordem de um Poset

finito. Dada uma ordem parcial ≤ em S, dizemos que o elemento t cobre o

elemento s, no caso s ≤ t, e não existe nenhum elemento u em S tal que s < u <

t. Um diagrama de Hasse13 (lê-se Hah-suh) de um Poset (S, ≤) é uma figura de

um digrafo cujos vértices são membros de S e no qual existe uma aresta de t

para s, se e somente se, t cobre s. Diagramas de Hasse são, geralmente,

desenhados como árvores com a raiz embaixo e as folhas em cima.

Para criação de um digrama de Hasse para um Poset, as seguintes regras

devem ser seguidas: 13 Helmut Hasse (1898-1079): matemático alemão com grandes contribuições para a Teoria dos Números

Page 90: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 90

1- Gera o digrafo

2- Elimina os laços dos vértices:

Como é um Poset, ele já é naturalmente reflexivo, logo, os laços são

redundantes.

3- Se (a, b) e (b, c) estão em ordem parcial, remova a aresta (a, c), pois esta

também deve estar:

Novamente, como é um Poset, obrigatoriamente, ele deve ser Transitivo.

4- Re-arranje cada aresta de forma que o vértice inicial fique abaixo do terminal:

Gera a estrutura de árvore.

5- Elimine as setas direcionais; elas são desnecessárias já que sempre estariam

apontando de baixo para cima.

Exemplo:

1. Considere o conjunto S = {1, 2, 3, 4, 5, 6} e a relação R = {(m, n) ∈ RxR: m |

n} (ou seja, m divide n)

Poset (S, |)

Pares que satisfazem a relação:

(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 2), (2, 4), (2, 6), (3, 3), (3, 6), (4, 4), (5,

5), (6, 6)

Digrafo:

Seguindo passo-a-passo as regras definidas, geramos o seguinte diagrama de

Hasse:

Page 91: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 91

No entanto, podemos ver pelo diagrama que 1|6 porque, pela transitividade, 1|2

e 2|6. De forma similar, podemos ver que 1|4, pois 1|2 e 2|4.

Teorema: Todo Poset finito tem um diagrama de Hasse.

No entanto, alguns Posets infinitos também possuem diagrama de Hasse. Um

diagrama de Hasse de Z com ordem ≤ é uma linha vertical com pontos

espaçados ao longo dela representando os números. Por outro lado, nenhum

número real cobre qualquer outro número na ordem ≤. Assim, (ú, ≤) não tem

diagrama de Hasse.

Se (P, ≤) é um Poset, diz-se que um elemento x de P é o elemento maximal no

caso de não existir nenhum elemento y em P com x < y. Chamamos x de

elemento minimal, se não existe nenhum y em P com y < x. Pode existir mais de

um elemento maximal ou minimal.

Exemplo: Considere o diagrama de Hasse abaixo, representando um Poset:

Page 92: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 92

Nessa relação, temos:

Elementos Maximal: d, e, f

Elemento Minimal: a

Um subconjunto S de um Poset P herda a ordem parcial de P e é ele mesmo um

Poset já que as leis (R), (AS) e (T) se aplicam a todos os membros de P.

Chamamos S um Subposet de P.

Exemplo:

Considere o conjunto S = {1, 2, 3, 4, 5, 6} e a relação R = {(m, n) ∈ RxR: m | n}

(ou seja, m divide n)

Poset P(S, |)

Os conjuntos a) {2, 3, 4, 5, 6} e b) {1, 2, 3, 6} são Subposets de P:

a) b)

Page 93: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 93

Se S é um Subposet de um Poset (P, ≤), então S pode ter um membro M tal que

s ≤ M para todo s em S. Na figura b anterior, temos s ≤ 6 para todo s, enquanto

que não existe tal elemento na figura a anterior. Um elemento M com tal

propriedade é chamado o maior elemento de S ou o máximo de S denotado por

max(S). De forma similar, se S tem um elemento m tal que m ≤ s para todo s em

S, então m é chamado o menor elemento de S ou o mínimo de S,denotado por

min(S). Existe no máximo um único elemento máximo ou mínimo.

Se um Subposet S de um Poset (P, ≤) tem ou não um elemento máximo, devem

existir elementos x no conjunto P tal que s ≤ x para todo s em S. Um tal

elemento é chamado um limite superior para S em P. Se x é um limitte superior

para S em P e é tal que x ≤ y para todo limite superior y para S em P, então x é

chamado menor limite superior de S em P, e escrevemos x = lub(S) (Least

Upper Bound). Da mesma forma, um elemento z em P tal que z ≤ s, para todo s

em S é um limite inferior para S em P. Um menor limite z tal que w ≤ z para todo

menor limite w é chamado um Maior Limite Inferior de S em P, sendo denotado

por glb(S) (Greatest Lower Bound). Pela propriedade da anti-simetria, um

subconjunto de P não pode ter dois diferentes lub ou dois diferentes glb.

Exemplo: 1. No Poset (Z+

*, |) onde, como usual, m | n, sse, m divide n, quem são o lub {m,

n} e glb {m, n} ?

lub {m, n} = LCM (m, n)

glb {m, n} = GCD (m, n)

Um limite superior para {m, n} é um inteiro k em Z+* tal que m divide k e n divide

k, i.e., um múltiplo comum de m e n. O menor limite superior lub {m, n} é o

mínimo múltiplo comum de m e n. Da mesma forma, o maior limite inferior glb

{m, n} é o maior divisor comum de m e n, o maior inteiro positivo que divide tanto

m quanto n.

Page 94: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 94

2. Considere o Poset ({1, 2, 3, 4, 5, 6}, |)

O subconjunto {2, 3} tem lub {2, 3} = 6 e glb {2, 3} = 1

O subconjunto {4, 6} não tem lub e tem glb {4, 6} = 2.

O subconjunto {3, 6} tem lub {3, 6} = 6 e tem glb {3, 6} = 3

3. Considere o Poset P mostrado na figura abaixo:

O subconjunto {b, c} tem d, e, g e h como limites superiores em P, e h é um

limite superior para {d, f}. O subconjunto {b, c} não tem menor limite superior em

P, mas h = lub{d, f}. Os elementos a e c são limites inferiores para {d, e, f}. No

entanto a = glb{b, d, e, f}.

A maioria dos posets que têm aplicações práticas tem a propriedade que cada

subconjunto com dois elementos tem tanto um menor limite superior quanto um

maior limite inferior. Um reticulado (lattice) é um poset no qual existe lub{x, y} e

glb{x, y} para todo x e y. Em um reticulado (P, ≤), as equações

x ∨ y = lub{x, y} e x ∧ y = glb{x, y}

Page 95: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 95

definem operações binárias ∨ e ∧ em P. Observe que isso está de acordo com a

Álgebra Booleana já que glb{x, y} = x ∧ y = x, sse, x ≤ y, que é verdade , sse

lub{x, y} = x ∨ y = y.

Exemplos:

1. O poset (P({a, b, c}, ⊆)) abaixo:

é um reticulado. Por instância:

lub ({a}, {c}) = {a} ∨ {c} = {a, c}

lub ({a, b}, {a, c}) = {a, b} ∨ {a, c} = {a, b, c}

glb ({a}, {c}) = {a} ∧ {c} = { }

glb ({a, b}, {b, c}) = {a, b} ∧ {b, c} = {b}

Em geral, para qualquer conjunto S, P(S, ⊆) é um reticulado com o lub(A, B) =

A∪B e glb(A, B) = A∩B.

2. O poset abaixo

Page 96: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 96

não é um reticulado. Por exemplo, {a, b} e {a, c} não têm menor limite superior.

De fato, eles não têm qualquer limite superior.

2.2 Fechamento de Relações

Algumas vezes, é necessário criar novas relações a partir de outras já

existentes. Ou seja, podemos ter duas relações R1 e R2 em S, que são R, S e T,

e queremos encontrar uma relação equivalente, contendo as duas. O candidato

mais óbvio seria R1 ∪ R2.

Uma outra forma de representar uma relação R em um conjunto S é através da

chamada Matriz Booleana. Cria-se uma matriz nxn, onde n é o número de

elementos do conjunto S. Os membros dessa matriz são números binários

representando a existência de ligação entre elementos (1) ou não (0) –

elementos booleanos. As linhas da matriz indicam o ponto de partida da seta

direcional e as colunas representam o ponto de chegada.

Exemplo: 1. Considere o digrafo abaixo referente à relação R aplicada sobre o conjunto S

= {1, 2, 3, 4}.

Seja A a matriz Booleana:

Page 97: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 97

1 2 3 4

1 0 0 1 1

2 0 1 0 0

3 0 0 1 0

4 1 0 0 0

Como exemplo na matriz, o elemento A(1, 3) tem valor 1, indicando que o par (1,

3) faz parte da relação, ou seja, no digrafo, existe um caminho de 1 para 3. Da

mesma forma, o elemento A(2, 1) tem valor 0 porque o par (2, 1) não faz parte

da relação (não há caminho de 2 para 1 no digrafo).

Vamos chamar t(R) uma relação transitiva; r(R) reflexiva e s(R) simétrica. Seja R

a relação apresentada no exemplo anterior. Analisando o digrafo, observamos

que a relação R não é reflexiva já que nem 1 e nem 4 estão relacionados entre

si. Na matriz booleana A, isso está indicado pelo 0 nas posições A(1, 1) e A(4,

4). Assim, se a relação fosse reflexiva, esses elementos teriam valor 1. Ou seja,

para uma relação reflexiva, toda a diagonal principal da matriz booleana tem

valor 1.

Seja r(R) um operador que, ao ser aplicado a uma relação R, torna-a reflexiva. A

aplicação desse operador acrescenta novos pares à relação de forma a torná-la

aquilo que se busca. Isso independe do comportamento da relação antes da

aplicação do operador MESMO quando a relação é gerada sobre uma função.

Por exemplo, suponha que é aplicada ao conjunto S = {1, 2, 3} a relação R =

{(m, n) ∈ R | m < n}. Obviamente, os pares (x, x), x ∈ S, não fazem parte de R.

No entanto, ao criarmos a relação R1 = r(R), os pares (x, x) são inseridos a fim

de tornar a relação R reflexiva.

Page 98: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 98

2. Vamos aplicar o operador de reflexividade na relação R definida no exemplo

anterior, utilizando seu mesmo conjunto S. Assim, a relação R1 gerada por r(R),

cria o digrafo e a matriz booleana:

1 2 3 4

1 1 0 1 1

2 0 1 0 0

3 0 0 1 0

4 1 0 0 1

Foram incluídos os pares (1, 1) e (4, 4) que correspondem, no digrafo, aos laços

nos elementos 1 e 4 e, na matriz booleana, os elementos (1, 1) e (4, 4) tornam-

se 1.

De forma similar, os operadores s(R) e t(R) aplicam as propriedades de Simetria

e Transitividade à relação R. As mesmas considerações anteriores são válidas

quanto à aplicação do operador à relação.

Exemplo: 1. Considerando a mesma relação R anterior (não R1 que é gerado por r(R) !!!),

podemos gerar R2 = s(R):

1 2 3 4

1 0 0 1 1

2 0 1 0 0

3 1 0 1 0

4 1 0 0 0

Page 99: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 99

Nesse caso, foi acrescentado o par (3, 1) que indica um caminho de 3 para 1 no

digrafo e a atribuição do valor 1 à posição (3, 1) da matriz booleana. Em termos

de matriz, a simetria pode ser facilmente observada já que a matriz booleana

gerada é uma matriz simétrica (A = AT)

Vamos agora aplicar à relação R original o operador de transitividade, criando a

relação R3 = t(R). O digrafo e a matriz booleana de R3 são apresentados abaixo:

1 2 3 4

1 1 0 1 1

2 0 1 0 0

3 0 0 1 0

4 1 0 1 1

Observe que a transitividade é um processo mais complicado de ser avaliado.

No momento, não vamos nos deter em como saber se a transitividade foi

alcançada ou não. É preciso definir os caminhos que já existem através do

digrafo e que tornam necessário a criação de outros. Assim, na relação R

original, havia um caminho de 4 para 1 e de 1 para 3, logo deve haver um

caminho de 4 para 3; i.e., deve ser acrescentado o par (4, 3). Da mesma forma,

por causa da transitividade, observe que temos um caminho de 4 para 1 e de 1

para 4; logo, o par (4, 4) teve que ser acrescentado. O mesmo vale para o par

(1, 1) derivado do caminho de 1 para 4 e de 4 para 1.

Vale salientar que a relação R3 final tornou-se reflexiva, mas isso não é uma

condição necessária para a transitividade.

Page 100: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 100

Proposição: Seja R uma relação. Então R = r(R), sse R é reflexiva. R = s(R),

sse R é simétrica e R = t(R), sse R é transitiva. Mais ainda:

r(r(R)) = r(R), s(s(R)) = s(R), t(t(R)) = t(R)

Podemos pensar em r, s e t como funções que mapeiam relações em relações; s

mapeia R em s(R). Funções assim são chamadas operadores. Segundo a

proposição, a repetição da aplicação dos operadores não gera novas relações

(r(r(R))) = r(R) = r(r(r....r(R)...)). Os operadores com essas propriedades são

chamados de operadores de fechamento.

A combinação de dois ou mais operadores diferentes pode levar a novas

relações.

Exemplo: 1. Para a relação R anterior:

1 2 3 4

1 0 0 1 1

2 0 1 0 0

3 0 0 1 0

4 1 0 0 0

temos

r(R) = 1 2 3 4

1 1 0 1 1

2 0 1 0 0

3 0 0 1 0

4 1 0 0 1

s(R) = 1 2 3 4

1 0 0 1 1

2 0 1 0 0

3 1 0 1 0

4 1 0 0 0

Page 101: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 101

e sr(R) = s(r(R)) =

Lema:

a. Se R é reflexiva, s(R) e t(R) também são.

b. Se R é simétrica, r(R) e t(R) também são. Ou seja, t(s(R)) é transitiva.

c. Se R é transitiva, r(R) também é. Nada pode ser dito sobre s(R).

Teorema: Para qualquer relação R em um conjunto S, tsr(R) é a menor relação

de equivalência14 contendo R. Diz-se que é a menor relação porque uma matriz

booleana composta por 1’s em todas as posições também é s, r e t.

Exemplo: Para a relação anterior temos, rs(R) = sr(R) =

O fechamento transitivo de sr(R) = tsr(R) = t(s(r(R))) =

14 Relação de equivalência: uma relação que é s, r e t ao mesmo tempo.

1 2 3 4

1 1 0 1 1

2 0 1 0 0

3 1 0 1 0

4 1 0 0 1

1 2 3 4

1 1 0 1 1

2 0 1 0 0

3 1 0 1 0

4 1 0 0 1

1 2 3 4

1 1 0 1 1

2 0 1 0 0

3 1 0 1 1

4 1 0 1 1

Page 102: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 102

Seja R1 uma relação em um conjunto finito S com matriz booleana A. Então:

(R) R1 é reflexiva, sse toda a diagonal principal de A é igual a 1.

(AR) R1 é anti-reflexiva, sse toda a diagonal principal de A é igual a 0.

(S) R1 é simétrica se A = AT

(AS) R1 é anti-simétrica, sse A∧AT ≤ I, onde I e a matriz identidade

(T) R1 é transitiva, sse A*A ≤ A

Obs: Para matrizes booleana mxn A1 e A2, dizemos que A1 ≤ A2, se toda entrada

de A1 for menor ou igual à entrada correspondente de A2, i.e., A1[i, j] ≤ A2[i, j],

para todo 1 ≤ i ≤ m e 1 ≤ j ≤ n.

Exemplo: R é uma relação em {1, 2, 3} com matriz booleana:

A =

1 1 1

0 1 0

0 0 1

R é reflexiva, pois toda a diagonal principal de A é igual a 1.

R não é simétrica, pois A ≠ AT

R é transitiva, pois A*A ≤ A:

1 1 1 1 1 1 1 1 1

0 1 0 0 1 0 0 1 0

0 0 1

*

0 0 1

≤ 0 0 1

Assim,

A = r(A) = t(A) = tr(A) = rt(A)

s(R) =

1 1 1

1 1 0

1 0 1

Page 103: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 103

st(R) = s(t(R)) = str(R) = srt(R) = s(R)

1 1 1

1 1 0

1 0 1

Mas, ts(R) =

1 1 1

1 1 1

1 1 1

= tsr(R) = trs(R).

Mas, st(R) = str(R) = str(R) = s(R) ≠ ts(R) = tsr(R) = trs(R).

Logo, tsr(R) pode ser diferente de str(R). A ordem da aplicação dos operadores

pode gerar relações diferentes. Isso vale para os casos onde o operador de

transitividade está envolvido.

Page 104: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 104

Exercícios

1. As figuras abaixo mostram os diagramas de Hasse de três Posets.

A B C

a) Quais são os membros maximais dos Posets ?

b) Quais desses Posets têm elementos minimais ?

c) Quais desses Posets têm elemento mínimo (min(S)) ?

d) Que elementos cobrem o elemento e em A?

e) Encontre cada um dos valores a seguir, se existir:

lub{d,c}, lub {w, y, v}, lub {p, m}, glb {a, g}

2. Seja S um conjunto de sub-rotinas de um programa de computador (como

uma função em C). Para A e B em S escreva A < B se A tiver que ser

completada antes que B possa ser completada. Algum tipo de restrição deve ser

colocada na chamada a sub-rotina no programa principal para tornar < uma

quasi-ordem?

3. Defina as relações <, ≤ e * no plano Reais x Reais por:

(x,y) < (z,w) se 2222 wzyx +<+

(x,y) ≤ (z,w) se (x,y) < (z,w) ou (x,y) = (z,w)

(x,y) * (z,w) se 2222 wzyx +≤+

a) Quais dessas relações são ordens parciais ? Explique.

b) Quais são quasi-ordens ? Explique.

Page 105: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 105

4. Dadas as seguintes matrizes booleanas, correspondendo a relações R em {1,

2, 3}, desenhe diagramas de Hasse, representando cada uma.

5. Seja S = {1, 2, 3} e R = {(2,1), (2,3), (3,2)} uma relação em S.

a) Desenhe o Diagrama de Hasse de R e R².

b) R é Transitiva ?

c) R² é Tansitiva ?

6. Dê a matriz booleana para as seguintes relações em S = {0, 1, 2, 3}.

a) (m,n) ∈ R1 se m + n = 3

b) (m,n) ∈ R2 se m ≡ n (mod 2)

c) (m,n) ∈ R3 se m ≤ n

d) (m,n) ∈ R4 se m + n ≤ 4

e) (m,n) ∈ R5 se Max{m, n} = 3, onde Max{m, n} é o valor máximo entre m e n

7. Para cada relação no exercício anterior, especifique quais as propriedades

(R), (AR), (S), (AS) e (T) são satisfeitas em cada uma.

8. Considere a relação R em {1, 2, 3} com matriz booleana

.

Encontre as matrizes booleanas para :

a) r(R) b) s(R) c) rs(R) d) sr(R) e) tsr(R)

Page 106: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 106

3. Grupos (Final do Burton)

3.1 Introdução

Definição: Um grupo <G, • > é uma estrutura algébrica onde G é um conjunto e

• é uma composição nele, tal que as quatro propriedades a seguir sejam

satisfeitas simultaneamente:

(i) (fechamento) g•h está em G, ∀g, h ∈ G

(ii) (associatividade) g•(h•k) = (g•h)•k, ∀g, h, k ∈ G

(iii) (identidade) Existe um elemento e em G tal que e•g = g•e = g, ∀g ∈ G

(iv) (inverso) Para todo g ∈ G, existe um elemento inverso, g-1, pertencente a G,

tal que g•g-1 = g-1•g = e

Diversas são as aplicações da teoria dos grupos. Dentre elas, destaca-se

novamente a criptografia.

Em geral, o par <G, •> é referido como o grupo G para diferenciar do conjunto G.

Definição: Um grupo Abeliano, ou grupo comutativo, é um grupo para o qual o

axioma da comutatividade é válido. Ou seja, g•h = h•g, para todo g e h

pertencentes ao conjunto G.

Definição: A cardinalidade (ou ordem) de um grupo G, denotada por |G|, é o

número de elementos no conjunto G.

Exemplos: São grupos:

a) <Q – {0}, *> (Multiplicação nos racionais menos o zero)

b) <Z, +> (Adição de inteiros)

c) <ú - {0}, *> (Multiplicação de reais menos o zero)

Page 107: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 107

d) <ú, +> (Adição de reais)

e) <Zn, +n> (Adição de inteiros módulo n)

Observe que nas letras a e c houve a necessidade de exclusão do zero. Se

incluíssemos esse elemento, sob a operação de multiplicação, qual seria seu

inverso? Notadamente, com o operador de composição sendo a operação de

multiplicação, o elemento identidade tem valor 1. É esse elemento que

multiplicado por qualquer outro elemento do conjunto dos reais, gera o próprio

elemento. No caso, se o zero fizer parte do grupo, qual seria o elemento inverso

que multiplicado pelo zero resultasse no elemento identidade 1? Ou seja, quem

é x tal que x*0 = 1? Isso não é possível nos reais... Logo, está justificada a

exclusão do zero para termos um grupo válido de acordo com as propriedades.

Sob a operação de adição, os grupos têm o zero como elemento identidade.

Lema: A identidade de um grupo é única.

Prova:

Vamos supor que um grupo possa ter duas identidades: e1 e e2. Assim:

g•e1 = g = g•e2

Se compusermos pela esquerda ambos os lados com o inverso de g:

g-1•g•e1 = g-1•g•e2

e1•e1 = e2•e2

e1 = e2

Logo, se considerarmos que existem duas identidades, elas devem ser iguais.

Lema: Todo elemento de um grupo tem um único inverso.

Prova:

Vamos supor que um elemento do grupo tenha dois inversos. Ou seja, vamos

supor que h e k são inversos de g. Assim:

Page 108: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 108

g•h = e = g•k

Novamente, vamos efetuar uma composição pela esquerda de ambos os lados

com o inverso de g:

g-1•g•h = g-1•g•k

e•h = e•k

h = k

Logo, se considerarmos que existem dois inversos para um elemento, eles

devem ser iguais.

Lema: Para todo elemento a e b de um grupo <G, •>, temos (a•b)-1 = b-1•a-1.

Prova:

Note que

(b-1•a-1)•(a•b) = b-1•(a-1•a)•b = b-1•b = e

Da mesma forma

(a•b)•(b-1•a-1) = a•(b•b-1)•a-1 = a•a-1 = e

Assim, (b-1•a-1) é o inverso de a•b e é único como já provado.

Lema: Para qualquer elemento a e b de um grupo <G, •>, a equação a•x = b

tem uma solução única x em G.

Prova:

Efetuando uma composição pela esquerda dos dois lados da equação pelo

inverso de a e usando os axiomas dos grupos obtemos:

a-1•(a•x) = a-1•b

a-1•a•x = a-1•b

e•x = a-1•b

x = a-1•b

Mostrando que a equação tem solução x para todo a e b.

Page 109: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 109

Representação de grupos através de Tabelas de Composição

Uma forma simples de representar completamente um grupo é através das

chamadas Tabelas de Composição. Nelas, todos os elementos do conjunto G

são dispostos assim como o resultado de suas composições. As tabelas de

composição criam uma estrutura matricial onde as células apresentam o

resultado da composição da linha pela coluna.

Exemplos: a) Grupo com apenas um elemento: Como todo grupo precisa conter o elemento

identidade, um grupo com um elemento contém apenas a identidade.

• e

e e

b) Grupo com dois elementos:

• e g

e e g

g g ?

A composição com o elemento identidade e gera o próprio elemento. O que

precisamos definir agora é qual o resultado da composição de g por ele mesmo.

Pela propriedade de fechamento temos duas possibilidades:

g•g = g

g•g = e

Vamos analisar a primeira delas: g•g = g. Como e•g = g, se g•g = g, teremos

uma situação com duas identidades diferentes. Isso provaria que g = e e

teríamos um grupo com um elemento apenas. Assim, g•g deve ser igual a e. A

tabela de composição para um grupo de ordem 2 fica:

• e g

e e g

g g e

Page 110: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 110

c) Grupo de ordem 3:

• e h g

e e h g

h h ? ?

g g ? ?

Novamente, temos elementos não determinados na tabela. No caso, precisamos

definir:

h•h = ? h•g = ? g•h = ? g•g = ?

Vamos tratar dos casos mais simples primeiro:

h•g = ?

Pela propriedade do fechamento, essa composição deve ser igual a h, g ou e.

Mas, se for igual a h ou g, teremos a identidade igual a g ou h, respectivamente.

Assim, h•g deve ser igual a e. O mesmo raciocínio vale para g•h o qual é igual a

e também. Dessa forma, temos:

h•h = ? h•g = e g•h = e g•g = ?

Consideremos h•h. Tal composição pode ser igual a h, g ou e. Se h•h for igual a

h, teremos que e = h o que não é válido. Como definimos antes que h•g = e,

então, se h•h = e, teremos g = h (h teria dois inversos). Conclui-se que h•h = g.

De forma similar, pode-se concluir que g•g = h, gerando a tabela de

composição:

• e h g

e e h g

h h g e

g g e h

Page 111: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 111

Exemplo: Considere o grupo <Z2, +2>, ou seja, adição módulo 2 nos inteiros. A tabela de

composição é dada por:

+2 0 1

0 0 1

1 1 0

Que tem exatamente a mesma distribuição de elementos que nosso grupo

genérico com dois elementos apresentado na letra b do exemplo anterior.

Ficou claro a dificuldade em criar grupos. À medida que a ordem do grupo

cresce, cresce também a quantidade de dependências que surgem entre a

definição dos valores das composições. Uma forma, porém, de construir grupos

maiores é usar o conhecimento que temos de grupos menores.

Definição: Sejam G e H grupos com composições ° e *, respectivamente. O

Produto Direto de G e H, escrito GxH, é a estrutura <GxH, •>, onde • é uma

composição de GxH definida por:

<g1, h1>•<g2, h2> = <(g1°g2), (h1*h2)>

para todo g1 e g2 pertencentes a G e h1 e h2 pertencentes a H.

Teorema: O produto direto de grupos G e H é também um grupo.

Podemos agora construir, por exemplo, a tabela de composição para um grupo

de ordem 6 como o produto direto de grupos de ordem 2 e 3:

° e2 g

e2 e2 g

g g e2

* e3 h k

e3 e3 h k

h h k e3

k k e3 h

Page 112: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 112

• e2, e3 e2, h e2, k g, e3 g, h g, k

e2, e3 e2, e3 e2, h e2, k g, e3 g, h g, k

e2, h e2, h e2, k e2, e3 g, h g, k g, e3

e2, k e2, k e2, e3 e2, h g, k g, e3 g, h

g, e3 g, e3 g, h g, k e2, e3 e2, h e2, k

g, h g, h g, k g, e3 e2, h e2, k e2, e3

g, k g, k g, e3 g, h e2, k e2, e3 e2, h

Definição: Um subgrupo de um grupo G é um subconjunto de elementos do

conjunto G que forma um grupo sob a operação de composição do grupo G.

Exemplo: Na tabela de composição do grupo de ordem 6 anterior, os conjuntos {<e2, e3>,

<e2, k>, <e2, h>} e {<e2, e3>, <g, e3>} formam subgrupos de ordem 3 e 2,

respectivamente.

Teorema: Seja H um subgrupo de G. Então a identidade de H é a mesma de G.

Mais ainda, os inversos dos elementos de H são os mesmos desses elementos

quando em G.

Prova:

Sejam eg e eh as identidades em G e em seu subgrupo H, respectivamente.

Como eh é identidade, eh•h = h• eh = h, para todo h pertencente a H. Como eg é

uma identidade em G, eg•h = h•eg = h. Combinando, temos que eg = eh.

Consequentemente, para todo h em H, seu inverso em H é h-1 (o mesmo inverso

em G) porque eh = h•h-1 = h-1•h = eg.

Não é tão simples encontrar subgrupos de um grupo. Todo grupo tem, pelo

menos, dois subgrupos: um de ordem 1 com o elemento identidade e outro que

é o próprio grupo.

Page 113: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 113

Definição: A ordem de um elemento g do grupo é o menor inteiro r tal que gr =

e.

A notação com potência faz uma analogia à matemática. Assim, por exemplo, g2

= g•g, apenas. Não há necessidade da operação de composição ser produto.

Exemplo:

Em um grupo de ordem 2, g2 = g•g = e. Logo, a ordem do elemento g é 2.

OBS: A ordem de um elemento não é igual à cardinalidade do grupo. Observe

por exemplo <Z4, +4>, onde o elemento 2 tem ordem 2 e o elemento 1 tem

ordem 4.

3.2 Geradores e Grafos de Grupos

Definição: Um subconjunto de elementos de um grupo G é dito um conjunto de

geradores de G, se qualquer elemento de G puder ser expresso como uma

composição dos elementos desse subconjunto e seus inversos. Assim, se g e h

são geradores de um grupo <G, • >, então g•h•g-1 e g•h•g•h são composições

válidas no sentido usado na definição.

Exemplos: 1. Grupo de ordem 2

• e g

e e g

g g e

Possui dois elementos: g e e

{g} é um conjunto de elementos geradores, pois:

g•g = e

Page 114: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 114

g•g•g = e•g = g

Logo, g consegue gerar todos os elementos do grupo.

2. Para um grupo de ordem 3:

• e h g

e e h g

h h g e

g g e h

Os elementos são: e, h, g

Conjuntos de geradores:

{h} é um conjunto gerador porque temos: {h, h•h = g, h•h•h = e}

{g} também é um conjunto gerador, pois: {g, g•g = h, g•g•g = e}

A partir dos geradores, é possível construir grafos que representam os grupos:

1- Coloque um nó no grafo para cada elemento do grupo G

2- Seja x um gerador do grupo. Então, para cada elemento y em G, desenhe

uma aresta de y para z, onde z = y•x

Exemplos: 1. Grupo de ordem 2: gerador {g}

Page 115: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 115

2. Grupo de ordem 3: gerador {g}

As arestas do grafo representam operações do ponto de partida com o gerador

do grupo. No exemplo 2 anterior, temos uma aresta indo de h para e. Isso

significa que h•g = e. A operação de composição é representada pela aresta. Da

mesma forma, os caminhos representam todas as composições envolvidas.

Assim, se partirmos de h e chegarmos a g, passamos por g•h e e•g, i.e, g•h•e•g

= e•e•g = g.

3.3 Grupos de Permutações

Definição: Uma permutação de um conjunto X é uma bijeção de X em X. O grau

da permutação é a cardinalidade do conjunto no qual ele está definido (número

de permutações).

Exemplo: Conjunto {0, 1}

Permutações possíveis:

que podem ser representadas como (0)(1) e (01).

Page 116: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 116

Definição: Um grupo de permutação é um conjunto de permutações que forma

um grupo com respeito à função de composição.

Exemplo: Vamos verificar se o grupo de permutações {(1)(2)(3), (123), (132)} forma um

grupo de permutação.

• (1)(2)(3) (123) (132)

(1)(2)(3) (1)(2)(3) (123) (132)

(123) (123) (132) (1)(2)(3)

(132) (132) (1)(2)(3) (123)

Vamos analisar uma das operações para entender como as composições se

formam. Considere a composição (123)•(132). Observemos as permutações em

separado:

(123) (132)

E a composição das duas:

Page 117: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 117

O resultado da composição é definido pelo caminho existente. Assim, por

exemplo, no diagrama acima, existe um caminho de 1 para 2 e para 1

novamente. Assim, a permutação final é de 1 para 1: (1). Usando o mesmo

raciocínio para as outras operações, temos como resultado final da composição:

(1)(2)(3). Observe que esse é o elemento identidade do grupo.

3.4 Outra Estrutura: Anéis

Definição: Similar a um grupo, um Anel pode ser definido como um conjunto A

com duas operações binárias. Formalmente, um anel é uma tríplice (A, +, *) tal

que:

(i) Associatividade aditiva: ∀ a, b, c ∈ A, (a + b) + c = a + (b + c);

(ii) Comutatividade Aditiva: ∀ a, b ∈ A, a + b = b + a;

(iii) Identidade Aditiva: existe um elemento nulo pertencente a A, 0A, tal que 0A +

a = a + 0A = a;

(iv) Inverso Aditivo: ∀ a ∈ A, existe -a ∈ A, tal que a + (-a) = (-a) + a = 0A;

(v) Associatividade Multiplicativa: ∀ a, b, c ∈ A, (a*b)*c = a*(b*c);

(vi) Distributividade pela direita ou pela esquerda: ∀ a, b, c ∈ A, a*(b + c) = (a*b)

+ (a*c) e (b + c)*a = (b*a) + (c*a).

Um Anel é, assim, um grupo Abeliano sob a adição e um semi-grupo sob a

multiplicação.

Exemplo: (Z, +, *) é um anel.

Page 118: Número de Créditos: TEÓRICOS: ; PRÁTICOS: ; TOTAL: EMENTAdmd/inf101/biblio/Algebra.pdf · O produto cartesiano se distribui sobre a união e a interseção: a) Distributividade

Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 118

Exercícios

1. Construa a Tabela de Composição de um grupo não-abeliano de ordem 6.

Como sub-grupos ele tem o grupo de ordem 2 e o grupo de ordem 3.

2. Considere o conjunto de rotações do quadrado unitário (figura abaixo) nele

mesmo Seja I a rotação de 0º, e sejam R, D e L as rotações de 90º, 180º e 270º,

respectivamente. Mostre que esse conjunto de rotações forma um grupo, com a

operação do grupo sendo uma composição de rotações.

3. Verifique se o conjunto de permutações {(1)(2)(3), (12)(3), (132)} forma um

grupo sob a operação de composição de permutações. Justifique.