Álgebra Christian Lomp 2004 2 Sumário 1 Preliminares 1.1 Lógica . . . . 1.2 Conjuntos . . 1.3 O princı́pio da 1.4 Relações . . . . . . . 5 5 8 10 11 2 Aritmética 2.1 Divisores e múltiplos . . . . . . . . . . . . . . . . . . . . . . . 2.2 Máximo divisor comum . . . . . . . . . . . . . . . . . . . . . . 2.3 Números primos e factorização . . . . . . . . . . . . . . . . . . 19 19 21 27 3 Aritmética modulo n 3.1 Congruências . . . . . . . . . . . . . . . . . . 3.2 Resolução da congruência linear ax ≡ b(modn) 3.3 O pequeno Teorema de Fermat . . . . . . . . 3.4 Sistema criptográfico RSA . . . . . . . . . . . 3.5 Representação na base n . . . . . . . . . . . . 33 33 36 40 42 45 . . . . . . . . . . Indução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Permutações 49 4.1 O grupo simétrico . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.2 Ciclos e Transposições . . . . . . . . . . . . . . . . . . . . . . 54 4.3 Permutações pares e ı́mpares . . . . . . . . . . . . . . . . . . . 59 5 Monóides e Grupos 5.1 Operações Binárias . . . . . . . . . . . . 5.2 Monóides . . . . . . . . . . . . . . . . . 5.3 Invertibilidade em monóides . . . . . . . 5.4 Grupos . . . . . . . . . . . . . . . . . . . 5.5 Grupos cı́clicos . . . . . . . . . . . . . . 5.6 Classes laterais e o Teorema de Lagrange 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 63 64 66 67 72 74 4 SUMÁRIO 6 Anéis e corpos 81 6.1 Anéis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.2 Ideais e Teorema Fundamental do Homomorfismo . . . . . . . 84 6.3 Domı́nios de Integridade e Corpos . . . . . . . . . . . . . . . . 87 Capı́tulo 1 Preliminares 1.1 Lógica Neste curso só consideramos afirmações(proposições) relativamente as quais podemos decidir se são verdadeiras ou falsos. Por exemplo a afirmação ”Este frase é falsa.” é uma afirmação inadmissı́vel. Sejam A e B afirmações. Temos as seguintes operações: conjugação A∧B disjunção A∨B implicação A⇒B equivalência A ⇔ B negação ¬A é verdadeira se e é verdadeira se e é verdadeira se e é verdadeira se e ou ambas falsas. é verdadeira se e só só só só se se se se A A B A é B são verdadeiras. ou B é verdadeira. é verdadeira ou A é falsa. e B são ambos verdadeiras só se A é falsa. Podemos representar estes operações por uma tabela de verdade (em relação com os valores de A e B). A letra F representa o valor ”falsa”e a letra V representa o valor ”verdadeira”. A B F F F V V F V V A∧B F F F V A∨B F V V V A⇒B V V F V A⇔B V F F V ¬A V V F F Estes tabelas dizem-se também tabelas de verdade. Seja A(X1 , . . . , Xn ) uma afirmação que depende das variáveis X1 , . . . , Xn cujos valores é F ou V . A tabela de verdade de A é uma tabela onda para toda a combinação de F e V por X1 , . . . , Xn o valor de A(X1 , . . . , Xn ) é registado. 5 6 CAPÍTULO 1. PRELIMINARES Por exemplo: Seja A(X, Y ) a afirmação que é verdade se e só se X é verdade e Y é falso. Então a tabela de verdade de A é: X F F V V Y F V F V A(X, Y ) A(F, F ) = F A(F, V ) = F A(V, F ) = V A(V, V ) = F Duas afirmações A(X1 , . . . , Xn ) e B(X1 , . . . , Xn ) que dependem da algumas variáveis X1 , . . . , Xn são equivalentes se têm a mesma tabela de verdade. Seja A(X, Y ) a afirmação do exemplo anterior e seja B(X, Y ) := ¬(X ⇒ Y ). Então vemos que as afirmações A e B são equivalentes. Escrevemos A ≡ B. Exercı́cio 1.1.1 Verifique que as duas afirmações (X ∧ (¬Y )) ∨ ((¬X) ∧ Y ) e ¬(X ⇔ Y ) são equivalentes. Observação 1.1.2 As seguintes afirmações são verdadeiras para afirmações A, B e C: (1) [A ⇒ B] ≡ [B ∨ (¬A)] (2) ¬(A ∧ B) ≡ (¬A) ∨ (¬B) (3) ¬(A ∨ B) ≡ (¬A) ∧ (¬B) (4) A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C) (5) A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C) (6) ¬(¬A) ≡ A (7) A ∧ B = B ∧ A (8) A ∨ B = B ∨ A. Demonstração: Exercı́cio. As equivalências (2) e (3) dizem-se as leis de DeMorgan. Quantificadores Suponhamos que queremos fazer afirmações sobre alguns objectos/entidades. Por exemplo sobre ”os alunos da FCUP”. Há duas maneiras de formular estas afirmações: 1.1. LÓGICA 7 • Afirmações que são validas para todos os objectos; por exemplo a afirmação ”Todos os alunos da FCUP têm um número mecanográfico”. • Afirmações que são validas para (pelo menos) um objecto; por exemplo a afirmação ”Existe um aluno da FCUP que tem cabelo louro.” Na linguagem de matemática escrevemos ∀x : P (x) para dizer que todo o objecto x tem a propriedade P (x). E escrevemos ∃x : P (x) para dizer que existe (pelo menos) um objecto x que tem a propriedade P (x). Temos sempre de indicar a qual objectos nos referimos. Por exemplo; seja A o conjunto das alunos da FCUP e seja P (x)= ” x tem um número mecanográfico ”. Podemos construir a afirmação ∀x ∈ A : P (x). Observação 1.1.3 A negação das afirmações que contêm quantificadores é importante. Seja P (x) uma propriedade. (1) A negação da afirmação ”todos objectos x têm a propriedade P ” é equivalente da afirmação ”existe (pelo menos um) objecto x que não tem a propriedade P ”. Em linguagem simbólica, escrevemos: ¬(∀x : P (x)) ≡ ∃x : ¬P (x) (2) A negação da afirmação ”existe um objecto x que tem a propriedade P ” é equivalente da afirmação ”todos os objectos x não têm a propriedade P ”. Em linguagem simbólica, escrevemos: ¬(∃x : P (x)) ≡ ∀x : ¬P (x) Em vez de ¬(∃x : P (x)) escrevemos também @x : P (x). Exemplo 1.1.4 Seja R o conjunto dos números reais. Consideramos as seguintes afirmações: (1) ∀x ∈ R : x2 > 0. (2) ∃x ∈ R : x2 > 0. (3) @x ∈ R : x2 > 0. Só a afirmação em (2) é verdadeira; as outras são falsas. 8 CAPÍTULO 1. PRELIMINARES Seja P (x, y) uma propriedade que depende de dois objectos. Por exemplo a propriedade ”x + y = 0” para x, y ∈ R é uma propriedade P (x, y) que depende de dois objectos x e y. Temos: [∃x∃y : P (x, y)] ≡ [∃y∃x : P (x, y)] [∀x∀y : P (x, y)] ≡ [∀y∀x : P (x, y)]. Então a ordem das quantificadores do mesmo tipo não interesse. Mas cuidado ! Geralmente a ordem das quantificadores de dois tipos diferentes é importante: [∀x∃y : P (x, y)] 6≡ [∃y∀x : P (x, y)] Por exemplo: seja P (x, y) = ”x + y = 0” para x, y ∈ R então a afirmação (∀x ∈ R)(∃y ∈ R) : x + y = 0 é verdadeira (para um x ∈ R escolhemos y = −x). Mas a afirmação (∃y ∈ R)(∀x ∈ R) : x + y = 0 é falsa; se existe um y ∈ R tal que para todo x ∈ R : x + y = 0 temos em particular 0 + y = 0 que implica y = 0. Mas 1 = 1 + 0 = 1 + y = 0 é absurdo. O problema é que na frase ”para todos x existe um y tal que ...” o y pode depender de x. Ou seja para qualquer x existe um y com uma certa propriedade mas este y pode ser diferente para diferentes x. No entanto na frase ”existe um y tal que para todos o x ...” o y é fixo para todos os x. 1.2 Conjuntos Um conjunto é uma colecção de alguns objectos. Os objectos de um conjunto chamam-se elementos. Escrevemos a ∈ A se a é um elemento do conjunto A ou a 6∈ A se a não é um elemento de A. Dois conjuntos são iguais se têm os mesmos elementos. Por exemplo os conjuntos A = {0, 1, 2} e B = {0, 0, 0, 1, 1, 2} são iguais; A=B. Escrevemos |A| para o número de elementos do conjunto de A. Se A tem um número infinito de elementos escrevemos |A| = ∞. Nota-se | {0, 0, 0, 1, 1, 2} |= 3. Exemplo 1.2.1 Temos as seguintes conjuntos conhecidos: 1.2. CONJUNTOS N Z Q R C = {0, 1, 2, 3, · · ·} = {0, ±1, ±2, ±3, · · ·} = { ab | a, b ∈ Z ∧ b 6= 0} = {a + ıb | a, b ∈ R} 9 os os os os os números inteiros números números números naturais racionais reais complexos Axioma do conjunto vazio: Existe um conjunto sem elementos. Este conjunto chama-se o conjunto vazio. Escrevemos ∅ para o conjunto vazio. Sejam A e B conjuntos. Se todo o elemento de A é também um elemento de B digamos que A é um subconjunto de B e escrevemos A ⊆ B. Observação 1.2.2 (i) Sejam A e B dois conjuntos. Temos A = B se e só se A ⊆ B e B ⊆ A. (ii) O conjunto vazio é um subconjunto de todo o conjunto. Seja B um conjunto e seja P uma propriedade que os elementos x de B têm ou não têm. Então A := {x ∈ B|x tem a propriedade P } é um subconjunto de B. Seja B = R+ por exemplo igual ao conjunto dos números reais positivos e seja P (x) =00 x1 > 100 a propriedade que um número real x tem se x1 > 1 + + 1 A := {x ∈ R |x tem a propriedade P (x)} = x ∈ R | > 1 =]0, 1[. x Note-se que: se B é um conjunto e P uma propriedade tal que nenhum elemento de B tem esta propriedade, então A := {x ∈ B|x tem a propriedade P } = ∅. Axioma dos conjunto das partes: Para todo o conjunto B existe um conjunto P(B) cujo elementos são os subconjuntos de B. Por exemplo para B := {0, 1, 2} o conjunto das partes P (B) de B é igual P (B) = {∅, {0}, {1}, {2}, {0, 1}, {0, 2}, {1, 2}, B}. Axioma da reunião: Para quaisquer dois conjuntos A e B existe um conjunto que consiste precisamente dos elementos de A e de B. Chama-se a reunião de A e B. Escrevemos A ∪ B para este conjunto. Dado dois conjuntos A e B definimos os seguintes conjuntos: 10 CAPÍTULO 1. PRELIMINARES • A ∩ B := {x ∈ A|x ∈ B} a intersecção de A e B. • A \ B := {x ∈ A|x 6∈ B} Obviamente temos (A \ B) ∩ B = ∅. O produto cartesiano de dois conjuntos A e B é o conjunto A × B = {(a, b)|a ∈ A, b ∈ B}. Dois pares (a, b) e (a0 , b0 ) são iguais se e só se a = a0 e b = b0 . Podemos repetir esta construção e obtemos um produto de k conjuntos A1 , . . . , Ak : A1 × · · · × Ak := {(a1 , . . . , ak ) | ai ∈ Ai para 1 ≤ i ≤ k} 1.3 O princı́pio da Indução Suponhamos que para qualquer número positivo n temos uma afirmação P (n). Para mostrar que todas afirmações P (n) são verdadeiras podemos usar o princı́pio da indução: Se (I1) P (0) é verdadeira e (I2) se P (n) é verdadeira então P (n + 1) é verdadeira para n ≥ 0. então todas as afirmações P (n) são verdadeiras. P ”para qualquer Exemplo 1.3.1 Seja P (n) a afirmação ” nk=0 k = n(n+1) 2 n ≥ 0. Vamos mostrar que todas afirmações P (n) são verdadeiras: P (I1) P (0) é verdadeira, pois para n = 0 a afirmação P (n) é ” 0k=0 k = 0 = 0(0+1) ”. 2 (I2) Seja n ≥ 0. Suponha que P (n) é verdadeira. Para mostrar que P (n+1) P é verdadeira temos de verificar se a igualdade n+1 k = (n+1)(n+2) é Pn k=0 n(n+1) 2 válido. Por hipótese P (n) é verdadeira, i.e. é válido. k=0 k = 2 Logo n+1 X k=0 k= n X k=0 k + (n + 1) = n(n + 1) 2(n + 1) (n + 2)(n + 1) + = . 2 2 2 Portanto P (n + 1) é verdadeira. Por indução todas as afirmações P (n) são verdadeiras. 1.4. RELAÇÕES 11 As vezes uma forma mais forte do princı́pio da indução é usada: o princı́pio da indução forte: Se (I1) P (0) é verdadeira e (I2) se P (k) é verdadeira para qualquer k ≤ n então P (n + 1) é verdadeira para n ≥ 0. então todas as afirmações P (n) são verdadeiras. 1.4 Relações Definição 1.4.1 Sejam A e B conjuntos. Um subconjunto R ⊆ A×B diz-se uma relação entre A e B. Dizemos que um elemento a ∈ A está em relação com um elemento b ∈ B se (a, b) ∈ R. Exemplo 1.4.2 Seja A um conjunto de algumas pessoas e seja R := {(x, y) ∈ A × A | y é filho de x}. Então R é uma relação em A. Seja B um conjunto de alguns computadores então o subconjunto S := {(t, x) ∈ B × A | o computador t pertence a pessoa x} é uma relação entre B e A. Observação 1.4.3 Para qualquer conjunto A podemos sempre definir em A as seguintes relações: • IdA := {(a, a) ∈ A × A | a ∈ A}, • T otalA := A × A. Notação: Seja R uma relação entre A e B. Escrevemos aRb se e só se (a, b) ∈ R e escrevemos a6 Rb se e só se (a, b) 6∈ R. Definição 1.4.4 Seja R ⊆ A × B uma relação entre dois conjuntos A e B. O domı́nio de uma relação R ⊆ A × B é o conjunto Dom(R) := {a ∈ A| existe um b ∈ B tal que (a, b) ∈ R} e a imagem de R é o conjunto Im(R) := {b ∈ B| existe um a ∈ A tal que (a, b) ∈ R}. Exemplo 1.4.5 Nem sempre temos Dom(R) = A ou Im(R) = B. Seja por exemplo A = B = R. 12 CAPÍTULO 1. PRELIMINARES • Seja R := {(x, y) ∈ R2 | y 2 = x}. O domı́nio de R não é igual a R: Dom(R) = {x ∈ R | ∃y ∈ R : (x, y) ∈ R} = {x ∈ R | ∃y ∈ R : y 2 = x} = R+ ∪ {0} = 6 R • Seja R := {(x, y) ∈ R2 | y = 2}. A imagem de R não é igual a R: Im(R) = {y ∈ R | ∃x ∈ R : (x, y) ∈ R} = {y ∈ R | ∃x ∈ R : y = 2} = {y ∈ R | y = 2} = {2} = 6 R • Dada uma relação qualquer, por definição de domı́nio e da imagem R ⊆ Dom(R) × Im(R) é uma relação entre Dom(R) e Im(R). Definição 1.4.6 Uma função entre dois conjuntos A e B é uma relação R ⊆ A × B tal que para todo a ∈ A existe um e um só b ∈ B tal que (a, b) ∈ R. Se (a, b) ∈ R escrevemos também a 7→ b ou f (a) = b para alguma letra f . Uma relação R é uma função se e só se Dom(R) = A e o conjunto {b ∈ B | (a, b) ∈ R} ou é vazio ou tem um e um só elemento (para qualquer a ∈ A). Seja A um subconjunto de X então escrevemos f (A) := {y ∈ Y | ∃x ∈ A : y = f (x)}. Seja C um subconjunto de Y então escrevemos f −1 (C) := {x ∈ X | ∃y ∈ C : y = f (x)}. Tem-se f (X) = Im(f ) e f −1 (Y ) = Dom(f ) = X. Exemplo 1.4.7 1. Seja A um conjunto não vazio. Então a função da identidade IdA : A → A definido por IdA (a) = a é uma função (ver 1.4.3(1)). 2. Seja A = B = R. A relação R := {(x, y) ∈ R2 | x = y 2 } não é uma função. Uma vez que para x = 4 se tem (x, 2) ∈ R e (x, −2) ∈ R. Também não há nenhum y ∈ R tal que (−1, y) ∈ R. + 3. Seja A = B = R √ . Então √ a relação R de (2) é uma função. Este função é f (x) = x onde x é a raiz positiva de x. 1.4. RELAÇÕES 13 Sejam f : X → Y e g : Y → Z funções. A composição de f por g é a função h : X → Z definido por h(x) := g(f (x)) para qualquer x ∈ X. Escrevemos g ◦ f := h. Por exemplo se f : R → R é a função f (x) = 2x + 1 para qualquer x ∈ R e g : R → R é a função g(x) = x2 então a composição de f por g é a função (g◦f )(x) = (2x+1)2 . A composição de g por f é a função (f ◦g)(x) = 2x2 +1. Definição 1.4.8 Uma função f : X → Y diz-se injectiva se para dois elementos diferentes x1 e x2 de X as imagens f (x1 ) e f (x2 ) são elementos diferentes de Y . Ou seja em linguagem simbólica: ∀x1 , x2 ∈ X : x1 6= x2 ⇒ f (x1 ) 6= f (x2 ). A função f diz-se sobrejectiva se todo o elemento y ∈ Y é imagem de um elemento de X. Ou seja em linguagem simbólica: ∀y ∈ Y ∃x ∈ X : f (x) = y. Exercı́cio 1.4.9 (a) Encontre um exemplo de uma função f : X → Y com a propriedade: (i) f não é nem injectiva nem sobrejectiva. (ii) f é injectiva mas não é sobrejectiva. (iii) f não é injectiva mas é sobrejectiva. (iv) f é injectiva e sobrejectiva. Definição 1.4.10 Seja f : X → Y uma função e seja f −1 := {(y, x) ∈ Y × X | f (x) = y}. Observação 1.4.11 Seja f : X → Y uma função. Então f −1 é uma função se e só se f é injectiva e sobrejectiva. Uma função f que é injectiva e sobrejectiva diz-se bijectiva ou bijecção. A função f −1 diz-se a função inversa de f ou o inverso de f . Observação 1.4.12 Uma função f : X → Y é uma bijecção se e só se existe uma função g : Y → X tal que g ◦ f = IdX e f ◦ g = idY . Neste caso g = f −1 . Exercı́cio 1.4.13 Verifique que f : R+ → R+ definida por f (x) = (2x + 1)2 é bijectiva e determine f −1 . Seja A = {a1 , a2 , . . . , an } um conjunto com n elementos e seja B = {b1 , b2 , . . . , bm } um conjunto com m elementos (n, m ≥ 1). 14 CAPÍTULO 1. PRELIMINARES Observação 1.4.14 n = m se e só se existe uma bijecção f : A → B. Consideramos o conjunto das funções entre A e B B A := {f : A → B | f é uma função }. Verificamos que B A tem mn elementos (ou seja |B A | = | B ||A| ). Seja B := {0, 1} e seja P (A) := {C ⊆ A} o conjunto das partes de A. Para todo o subconjunto C ⊆ A temos uma função 1C : A → {0, 1} definida por 1 se a ∈ C 1C (a) := 0 se a 6∈ C (este função diz-se a função caracterı́stica de C). Observação 1.4.15 A função ϕ : P (A) −→ {0, 1}A C 7→ 1C é uma função bijectiva. Portanto |P (A)| = |{0, 1}A | = 2|A| . Definição 1.4.16 Seja A um conjunto não vazio. Uma relação de equivalência em A é uma relação R ⊆ A × A tal que R satisfaz as seguintes três propriedades: (1) ∀a ∈ A : (a, a) ∈ R (digamos R é reflexiva). (2) ∀a, b ∈ A : se (a, b) ∈ R ⇒ (b, a) ∈ R (digamos R é simétrica). (3) ∀a, b, c ∈ A : se (a, b) ∈ R e (b, c) ∈ R ⇒ (a, c) ∈ R (R é transitiva). Exemplo 1.4.17 (1) As relações IdA e T otalA em 1.4.3 são relações de equivalência. (2) Seja A o conjunto das computadores na cidade do Porto e seja R ⊆ A × A a relação definida por (a, b) ∈ R se e só se os computadores a e b são do mesmo fabricante. Então R é uma relação de equivalência em A. 1.4. RELAÇÕES 15 (3) Seja A = Z × Z \ {0}. Definimos R := {((a, b), (c, d)) ∈ A × A | ad = bc} ⊆ A × A. R é reflexiva porque para todo (a, b) ∈ A temos ab = ba e logo ((a, b), (a, b)) ∈ R. Suponha que ((a, b), (c, d)) ∈ R então ad = bc por definição. Logo cb = da implica ((c, d), (a, b)) ∈ R - R é simétrica. Se ((a, b), (c, d)) ∈ R e ((c, d), (e, f )) ∈ R então ad = bc e cf = de. Portanto acf = ade = bce ⇒ af = be ⇒ ((a, b), (e, f )) ∈ R mostre que R é transitiva. Logo R é uma relação de equivalência. Definição 1.4.18 Sejam A e I conjuntos não vazios e seja f : I → P (A) uma função, i.e. para todo o i ∈ I temos um subconjuntos f (i) =: Ai de A. Dizemos que a colecção {Ai }i∈I é uma famı́lia de subconjuntos de A indexadas por I. Definimos a intersecção e a reunião de uma famı́lia de subconjuntos: \ [ Ai := {a ∈ A | ∀i ∈ I : a ∈ Ai } e Ai := {a ∈ A | ∃i ∈ I : a ∈ Ai } i∈I i∈I T Ou seja i∈I Ai é oSmaior subconjunto de A que é um subconjunto de todo os conjuntos Ai e i∈I Ai é o menor subconjunto de A que contem todo o conjunto Ai . Definição 1.4.19 Uma famı́lia S {Ai }i∈I de subconjuntos de um conjunto A diz-se uma partição de A se i∈I Ai = A e para quaisquer i 6= j: Ai = Aj ou Ai ∩ Aj = ∅. Exemplo 1.4.20 Seja A = I um conjunto não vazio e seja f : A → P (A) a função f (x) = {x} =: Ax . A famı́lia {Ax }x∈A é uma partição de A. Definição 1.4.21 Seja R ⊆ A × A uma relação de equivalência em A (A 6= ∅). Para qualquer elemento a ∈ A o subconjunto [a]R := {b ∈ A | aRb} de A diz-se a classe de a (relativamente R). Observação 1.4.22 Seja R uma relação da equivalência num conjunto A (não vazio). Seja [ ]R : A → P (A) a função a 7→ [a]R . Então {[a]R }a∈A é uma partição de A. 16 CAPÍTULO 1. PRELIMINARES Observação 1.4.23 Seja {Ai }i∈I uma partição de um conjunto não vazio A indexada por I. Definimos a relação R := {(a, b) ∈ A × A | ∃i ∈ I : a ∈ Ai e b ∈ Ai }. Então R é uma relação da equivalência. Exercı́cio 1.4.24 Sejam A, B e C afirmações. Mostre que: 1. [A ⇒ B] ≡ [(¬B) ⇒ (¬A)] 2. [A ⇔ B] ≡ [A ⇒ B ∧ B ⇒ A] 3. A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C) 4. A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C) 5. ¬(A ∧ B) ≡ (¬A) ∨ (¬B) 6. ¬(A ∨ B) = (¬A) ∧ (¬B) Sejam A, B e C conjuntos. Mostre que as seguintes igualdades são validas: (a) A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) (b) A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) (c) A \ (B ∩ C) = (A \ B) ∪ (A \ C) (d) A \ (B ∪ C) = (A \ B) ∩ (A \ C) Sejam X e Y conjuntos e seja f : X → Y uma função. Sejam A e B subconjuntos de X e sejam D e E subconjuntos de Y . Mostre que se verifica: (a) f (A ∪ B) = f (A) ∪ f (B); (b) f (A ∩ B) ⊆ f (A) ∩ f (B); (c) f −1 (D ∩ E) = f −1 (D) ∩ f −1 (E); (d) f −1 (D ∪ E) = f −1 (D) ∪ f −1 (E); (e) A ⊆ f −1 (f (A)) e f (f −1 (f (A))) = f (A); (f ) D ⊇ f (f −1 (D)) e f −1 (f (f −1 (D))) = f −1 (D). S T 1 1 1. Descreva os subconjuntos n∈N [ n+1 , 1] e n∈N [ n+1 , 1] de R. 1.4. RELAÇÕES 17 2. Seja A := Z e seja An := {3a + n | a ∈ Z} para qualquer n ∈ N. A famı́lia {An }n∈N é uma partição de Z ? Quantos subconjuntos An diferentes existem ? 3. Seja A := R2 e seja Ar := {(x, 3x + r) ∈ R2 | x ∈ R} para qualquer r ∈ R. A famı́lia {Ar }r∈R é uma partição de R2 ? Como pode descrever Ar geometricamente ? A famı́lia {Ar }r∈N é uma partição de R2 também? 18 CAPÍTULO 1. PRELIMINARES Capı́tulo 2 Aritmética Neste capı́tulo estudamos as propriedade aritméticas dos inteiros Z. 2.1 Divisores e múltiplos Definição 2.1.1 Um inteiro a divide um inteiro b se existe um inteiro q tal que b = qa. Escrevemos a|b se a divide b. O inteiro q diz-se o quociente, o inteiro b diz-se um múltiplo de a e a diz-se um divisor de b. b diz-se divisı́vel por a. Observação 2.1.2 Sejam a, b e c inteiros. (1) Se a | b e b | c então a | c. (2) Se a | b então −a | b e a | bc para qualquer inteiro c. (3) Se a | b e a | c então a | b + c. (4) Se 0|b então b = 0. (5) para qualquer inteiro a temos a | 0 Demonstração: Exercı́cio. Relembre a ordem dos inteiros: a ≤ b se e só se b − a ≥ 0. Observação 2.1.3 Seja b um inteiro positivo. Então todo o divisor positivo de b está entre 1 e b. Demonstração: Se a > 0 e a|b. Logo existe um inteiro q tal que b = aq. Como a e b são positivo, q é positivo. Então b − a = a(q − 1) > 0 ou equivalentemente b > a. 19 20 CAPÍTULO 2. ARITMÉTICA Corolário 2.1.4 Seja a um inteiro. Se a | 1 então a = 1 ou a = −1. Demonstração: Suponhamos que a é positivo. Então por 2.1.3 temos a = 1. Se a é negativo então −a é positivo e pelo 2.1.3 −a = 1 ⇔ a = −1. Corolário 2.1.5 Sejam a e b inteiros. Se a | b e b | a então a = b ou a = −b. Demonstração: a | b implica que existe um c ∈ Z tal que b = ac e b | a implica que existe um d ∈ Z com a = bd. Logo temos b = ac = bdc ou seja b(1 − dc) = 0. Se b = 0 então a = 0 por 2.1.2(4). Se b 6= 0 temos 1 = dc ou seja d | 1. Por Corolário 2.1.4 temos d = ±1 e portanto a = ±b. Teorema 2.1.6 (Algoritmo da divisão) Seja a um inteiro e b um número positivo. Então existe um inteiro q e um número r tais que a = bq + r e 0 ≤ r < b. Em vez de uma demonstração consideramos o seguinte algoritmo: Algorı́tmo da divisão INPUT:dois números positivos a e b OUTPUT:dois números positivos q e r tal que a = bq + r e 0 ≤ r < b (1) q := 0; r := 0; (2) while(a − qb > b)q := q + 1; (3) r := a − qb; Para um inteiro a negativo podemos aplicar o algoritmo com −a e b e obtemos q 0 e r0 tal que −a = bq 0 + r0 . Se r0 = 0 podemos escolher r = 0 e q = −q 0 . Se r0 = 6 0 podemos escolher r := b − r0 e q = −(q 0 + 1). Temos a = −(bq 0 + r0 ) = −bq 0 − b + b − r0 = qb + r. O número r diz-se o resto e q diz-se o quociente da divisão de b por a. Em qualquer linguagem de programação existem funções para calcular r e q. Por exemplo em C tem-se r := b%a e q := b/a. Exercı́cio 2.1.7 Calcule o resto e o quociente para os seguintes inteiros: (i) a = 2047, b = 128; (ii) a = 5251, b = 89; (iii) a = −34, b = 13 (iv) a = 4, b = 12; 2.2. MÁXIMO DIVISOR COMUM 2.2 21 Máximo divisor comum Definição 2.2.1 Sejam a e b inteiros não simultaneamente nulos. Um inteiro c que divide a e b diz-se um divisor comum entre a e b. O maior divisor comum de a e b diz-se o máximo divisor comum entre a e b. Escrevemos mdc(a, b) para este inteiro positivo. Note que só existe um máximo divisor comum entre dois inteiros. Observação 2.2.2 Sejam a e b inteiros não simultaneamente nulos. (1) mdc(a, b) = mdc(b, a) (2) mdc(a, b) = mdc(−a, b) (3) mdc(a, 0) = |a| (4) mdc(a, b) = mdc(a, b + na) para qualquer n ∈ Z. Demonstração: (1-3) Exercı́cios. (4) Todo o divisor comum entre a e b é também um divisor comum entre a e b + na (para qualquer n ∈ Z) e todo o divisor comum entre a e b + na é um divisor comum entre e a e b. De facto, se d | a e d | b então d | b + an (por 2.1.2(2+3) ) e se d | a e d | b + na então d | b + na − na, isto é d | b. Portanto mdc(a, b) = mdc(a, b + na). Corolário 2.2.3 Sejam a e b inteiros não simultaneamente nulos. Seja a = qb + r com q, r ∈ Z e 0 ≤ r < b. Então mdc(a, b) = mdc(b, r). Demonstração: Por 2.2.2(1) temos mdc(a, b) = mdc(b, a). Como r = a + (−q)b temos por 2.2.2(4) mdc(b, a) = mdc(b, r). Logo mdc(a, b) = mdc(b, r). O último corolário ajuda calcular o máximo divisor comum. Por exemplo seja a = 45 e b = 18. O resto 45 por 18 é 9. Por o corolário temos mdc(45, 18) = mdc(18, 9). O resto de 18 por 9 é 0. Aplicamos o corolário de novo temos mdc(18, 9) = mdc(9, 0). Por 2.2.2(3) temos mdc(9, 0) = 9. Portanto: mdc(45, 18) = mdc(18, 9) = mdc(9, 0) = 9. O seguinte algoritmo de Euclides (325 - 265 A.D.) usa o último corolário para determinar o mdc: 22 CAPÍTULO 2. ARITMÉTICA Algorı́tmo de Euclides INPUT: a, b ∈ N>0 OUTPUT: mdc(a, b) while (b 6= 0) do { substitue ao mesmo tempo a por b e b pelo resto da divis~ ao de a por b. } return a Podemos implementar facilmente este algoritmo na linguagem C: int mdc(int a, int b) { int aux; while(b!=0) { aux=b; b=a%b; a=aux } return a } Exemplo 2.2.4 Sejam a = 144 e b = 81. O algoritmo trabalha da seguinte forma: a b 144 81 81 63 63 18 18 9 9 0 a%b 63 18 9 0 144 = 1*81 + 63 81 = 1*63 + 18 63 = 3*18 + 9 18 = 2*9 + 0 algoritmo termina (1) (2) (3) (4) Logo mdc(144, 81) = 9. Note que as equações (3),(2) e (1) implicam: mdc(144, 81) = = = = = 63 − 3 ∗ 18 por (3) 63 − 3 ∗ (81 − 1 ∗ 63) por (2) 4 ∗ 63 + (−3) ∗ 81 4 ∗ (144 − 1 ∗ 81) + (−3) ∗ 81 por (1) 4 ∗ 144 + (−7) ∗ 81 Encontrámos inteiros r e s (r = 4, s = −7) tal que mdc(144, 81) = r ∗ 144 + s ∗ 81 Teorema 2.2.5 Sejam a e b inteiros não simultaneamente nulos. Então existem inteiros r e s tais que mdc(a, b) = r ∗ a + s ∗ b. 2.2. MÁXIMO DIVISOR COMUM 23 Se a e b são inteiros positivos e a = qb + r para alguns inteiros q, r com 0 ≤ r < b então sabemos mdc(a, b) = mdc(b, r). Suponha que existem inteiros x, y ∈ Z tal que mdc(b, r) = xb + yr então temos: mdc(a, b) = mdc(b, r) = xb + yr = xb + y(a − qb) = ya + (x − qy)b. Isto surgiu o seguinte algoritmo recursivo: Algorı́tmo mdc INPUT:a, b ∈ Z+ e x, y ∈ Z OUTPUT:mdc(a, b) = xa + yb if (b! = 0) { determine q e r tal que a = qb + r; aux:=mdc(b,r,x,y); substitue x por y e y por x-qy; return aux; } else { x=1; y=0; return a; } Temos também a seguinte versão alargada do Algoritmo de Euclides que não usa recursão: Algorı́tmo de Euclides(alargada) INPUT: a, b ∈ N>0 OUTPUT: x, y ∈ Z tal que mdc(a, b) = xa + yb Variáveis auxiliar: q, r, u, v, x, y ∈ Z Inicializaç~ ao: x = 1; v = 1; y = 0; u = 0; while (b n~ ao nulo) do { encontre q e r tal que a = qb + r e 0 ≤ r < b substitue simultaneamente: a por b e b por r x por u e u por x − qu y por v e v por y − qv } return x e y 24 CAPÍTULO 2. ARITMÉTICA Por exemplo sejam a = 144 e b = 81. O algoritmo trabalha assim: a b x 144 81 1 81 63 0 63 18 -1 18 9 -1 9 0 4 u y u 0 0 1 1 1 -1 1 -1 2 4 2 -7 -9 -7 16 144 = 1*81 + 63 81 = 1*63 + 18 63 = 3*18 + 9 18 = 2*9 + 0 algoritmo termina Podemos agora mostrar algumas propriedades importantes do máximo divisor comum. Teorema 2.2.6 Sejam a, b e d inteiros positivos. As seguintes afirmações são equivalentes: (a) d = mdc(a, b). (b) d é um divisor comum entre a e b tal que todo o divisor comum positivo de a e b também é um divisor de d. (c) d é o menor inteiro positivo tal que existem inteiros x e y tal que d = x ∗ a + y ∗ b. A caracterização (c) do mdc diz: mdc(a, b) = min{d ∈ Z>0 | ∃x, y ∈ Z : d = x ∗ a + y ∗ b} Demonstração: (a) ⇒ (c) Seja e := min{z ∈ Z>0 | ∃x, y ∈ Z : z = xa + yb}. Pelo Algoritmo de Euclides existem x, y ∈ Z tais que d = xa + yb. Como e é o menor inteiro com esta propriedade tem-se e ≤ d. Por outro lado d é um divisor comum entre a e b. Logo temos d | ra + sb para quaisquer inteiros r e s e d | e ou seja d ≤ e. Portanto d = e. (c) ⇒ (b) Seja d := min{z ∈ Z>0 | ∃x, y ∈ Z : z = xa + yb} e sejam x e y inteiros tais que d = xa + yb. Seja c um divisor comum positivo de a e b. Logo existem r e s tal que a = rc e b = sc. Portanto d = xa + (yb = xr + ys)c mostra que c divide d. (b) ⇒ (a) Como mdc(a, b) é um divisor comum positivo de a e b temos por hipótese mdc(a, b) | d ou seja mdc(a, b) ≤ d (2.1.3). Mas mdc(a, b) é o máximo divisor comum entre a e b. Portanto tem-se mdc(a, b) = d. Em particular temos o seguinte corolário: Corolário 2.2.7 Sejam a e b inteiros positivos e existem inteiros x e y tais que 1 = x ∗ a + y ∗ b então mdc(a, b) = 1. 2.2. MÁXIMO DIVISOR COMUM 25 Dois inteiros a e b com mdc(a, b) = 1 dizem-se relativamente primos. Observação 2.2.8 Para qualquer inteiros a, b ∈ Z \ {0} temos b são relativamente primos. mdc(a,b) a mdc(a,b) e a Demonstração: De facto se um d ≥ 1 é um divisor comum de mdc(a,b) e a b b então existem x, y ∈ Z tal que mdc(a,b) = xd e mdc(a,b) = yd. Logo mdc(a,b) dmdc(a, b) é um divisor comum de a e b. Portanto dmdc(a, b) ≤ mdc(a, b) porque mdc(a, b) é o máximo divisor comum. Mas isto implica d ≤ 1 ou seja a b d = 1. Então mdc( mdc(a,b) , mdc(a,b) ) = 1. Corolário 2.2.9 Sejam a e b dois inteiros positivos e suponha que a e b são relativamente primos. Para qualquer inteiro c temos: se a | bc então a | c. Demonstração: Pelo algoritmo de Euclides existem inteiros x e y tais que 1 = xa + yb. Logo c = xac + ybc. Se a | bc então a | xac + ybc ⇒ a | c. Dados inteiros a, b, c ∈ Z queremos encontrar todos os inteiros X e Y tais que aX + bY = c. Uma equação deste tipo diz-se uma equação de Diofanto linear. ( Diofanto de Alexandria, matemático grego, vivia (cerca) entre 200-284 A.D.) Observação 2.2.10 Sejam a e b inteiros não simultaneamente nulos e relativamente primos (mdc(a, b) = 1). Suponha que existem inteiros X e Y tais que aX + bY = 0 então existe um inteiro n tal que X = −nb e Y = na. Demonstração: aX + bY = 0 ⇒ aX = −bY . Se a = 0 temos b = 1 porque mdc(0, b) = 1 ⇒ b = 1. Logo Y = 0 = n0 e X = −n para qualquer n ∈ Z. Suponha que a 6= 0. Como a | −bY e mdc(a, b) = 1 temos por 2.2.9 a | −Y . Portanto existe n ∈ Z tal que Y = na e aX = −bY = −nab implica X = −nb. Teorema 2.2.11 Sejam a e b inteiros não simultaneamente nulos. As soluções inteiros X e Y da equação aX + bY = 0 são da forma X= para algum n ∈ Z. na −nb e Y = mdc(a, b) mdc(a, b) 26 CAPÍTULO 2. ARITMÉTICA Demonstração: Para qualquer n ∈ Z temos a −nb na −nab + nab +b = = 0. mdc(a, b) mdc(a, b) mdc(a, b) −nb na Logo X = mdc(a,b) e Y = mdc(a,b) são soluções da equação aX + bY = 0. Sejam X e Y soluções da equação aX + bY = 0 então X e Y também são a b soluções da equação A equação mdc(a,b) X + mdc(a,b) Y = 0. Por observação 2.2.8 a mdc(a,b) b mdc(a,b) são relativamente primo −nb na X = mdc(a,b) e Y = mdc(a,b) . e e por observação 2.2.10 existe um n ∈ Z tal que Portanto as soluções da equação aX + bY = 0 são precisamente os inteiros −nb na X = mdc(a,b) e Y = mdc(a,b) para algum n ∈ Z. Teorema 2.2.12 Sejam a, b, c ∈ Z tal que a e b não são simultaneamente nulos. A equação de Diofanto linear aX + bY = c tem uma solução inteiro se e só se mdc(a, b) | c. Neste caso todas as soluções inteiros são da forma: X= rc + nb sc − na e Y = , mdc(a, b) mdc(a, b) para algum n ∈ Z e r, s ∈ Z tais que mdc(a, b) = ra + sb. Demonstração: Suponha que X, Y ∈ Z são soluções da equação aX + bY = c. Como mdc(a, b) | a e mdc(a, b) | b temos mdc(a, b) | aX + bY = c. Logo se mdc(a, b) - c então não há soluções inteiros da equação. Suponha que mdc(a, b) | c. Por o algoritmo de Euclides existem inteiros r, s tais rc sc que mdc(a, b) = ra + sb. Como mdc(a, b) | c os valores X = mdc(a,b) e Y = mdc(a,b) são inteiros e temos: aX + bY = ar + bs arc + bsc =c = c. mdc(a, b) mdc(a, b) Portanto X e Y são soluções da equação. Para mostrar que todos os soluções têm a forma indicada suponha que X e Y rc sc são soluções inteiros da equação aX + bY = c. Portanto mdc(a,b) − X e mdc(a,b) −Y 0 0 são soluções da equação aX + bY = 0. De facto sc rc −X + b −Y a mdc(a, b) mdc(a, b) rc sc = a +b − [aX + bY ] = c − c = 0. mdc(a, b) mdc(a, b) Por 2.2.12 existe um n ∈ Z tal que rc −nb sc na −X = e −Y = mdc(a, b) mdc(a, b) mdc(a, b) mdc(a, b) 2.3. NÚMEROS PRIMOS E FACTORIZAÇÃO 27 Ou seja X= sc − na rc + nb e Y = mdc(a, b) mdc(a, b) 2.3 Números primos e factorização Definição 2.3.1 Um número positivo p ≥ 2 diz-se um número primo se os únicos divisores positivos de p são 1 e p. Exemplos: 2, 3, 5, 7, 11, 13, 17, ... Observação 2.3.2 Todo o inteiro maior que 1 é divisı́vel por um número primo. Demonstração: Seja a > 1. Se a é um número primo, então como a é divisı́vel por si próprio, a é divisı́vel pelo primo p = a. Se a não é um primo, então existe um inteiro positivo 1 < a2 < a tal que a2 | a. Se a2 é primo, então o primo p = a2 divide a. Se a2 não é primo então existe um inteiro positivo 1 < a3 < a2 tal que a3 | a2 . Note que também a3 | a. Se a3 é primo então o primo p = a3 divide a. Se a3 não é primo então existe um 1 < a4 < a3 tal que a4 | a3 . Continuando assim obtemos inteiros ai tal que 1 < ai < ai−1 < . . . < a2 < a e ai | a. Este processo tem de terminar depois no máximo a − 1 passos e encontramos um divisor ai de a que é um primo. Corolário 2.3.3 Há uma infinidade de números primos. Demonstração: Suponhamos que existe apenas um número finito de primos. Sejam p1 , . . . , pn todos os números primos distintos. Consideramos o número m := p1 p2 · · · pn + 1. Pela observação acima 2.3.2, existe um número primo que divide m. Como p1 , . . . , pn são todos os números primos existe i ∈ {1, . . . , n} tal que pi | m. Mas como pi | p1 p2 · · · pn temos pi | m − p1 p2 · · · pn ou seja pi | 1 porque m − p1 p2 · · · pn = 1. Por 2.1.4 pi = 1 - uma contradição porque 1 não é um número primo. Portanto existe um número infinito de primos. Para decidir se um número n é um número primo basta verificar se nenhum √ primo entre 2 e n divide n. Observação 2.3.4 Seja n ≥ 2 um número. Suponha que nenhum número primo √ entre 2 e n divide n então n é um número primo. 28 CAPÍTULO 2. ARITMÉTICA √ Demonstração: Seja n ≥ 2 tal que nenhum número primo entre 2 e n divide n. Suponha que n não é um número primo. Então n = ab para alguns inteiros 1 < a, b < n. Por 2.3.2 existem números primos p e q tal que p | a e q | b. √ Como p e q dividem também n temos por hipótese p, q > n. Portanto temos: √ √ n = ab ≥ pq > n n = n que é absurdo (n > n). Logo n é um número primo. Exemplo 2.3.5 Seja n = 127. Para número primo basta √ verificar que n é um √ √ de ver se nenhum primo entre 2 e 127 divide 123. Temos 127 < 144 = 12. Os números primos entre 2 e 12 são: 2, 3, 5, 7, 11 e nenhum destes números divide 127. Portanto 127 é um número primo. Para usar o critério 2.3.4 precisamos uma lista dos números primos entre 2 é um número n ≥ 2. O grego Eratóstenes (276-194 A.D.) inventou o seguinte algoritmo para obter esta lista. Algorı́tmo Crivo de Eratóstenes INPUT: n ≥ 2 OUTPUT:uma lista de todos os primos menores ou iguais a n Construa uma lista L := [2, 3, . . . , n] e uma lista vazia M := ∅ while( L 6= ∅ ) do { Escolha o menor número a da liste L. Coloque a na lista M Remova todos os múltiplos de a da lista L } A lista M é o OUTPUT. Exercı́cio 2.3.6 Escreve um programa na linguagem C que implemente o Crivo de Eratóstenes. Faça uma lista dos números primos entre 1 e 1000. Quantos números primos há entre 1 e 1000 ? Observação 2.3.7 O crivo de Eratóstenes e o critério 2.3.4 dão um algoritmo para decidir se um número é primo: Dado n ≥ 2 faça uma lista M dos pri√ mos entre 2 e n usando o crivo de Eratóstenes. Se nenhum de M di√ primo √ vide n, n é primo. Por exemplo seja n = 1021. Temos 1021 < 1024 = 32. Usando o crivo de Eratóstenes encontramos os primos entre 2 e 32 são 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 e nenhum destes números primos divide 1021. Portanto 1021 é um número primo. Teorema 2.3.8 Seja p ≥ 1 um inteiro. Tem-se que p é primo se e só se para todos a, b ∈ Z: se p | ab então p | a ou p | b. 2.3. NÚMEROS PRIMOS E FACTORIZAÇÃO 29 Demonstração: ” ⇒ ” Suponha que p é um primo e p | ab para alguns a, b ∈ Z. Se p - a então 1 = mdc(a, p) ou seja a e p são relativamente primo. Pelo Corolário 2.2.9 temos p | b (podemos supor que a é positivo. Caso contrário −a é positivo, logo p | (−a)(−b) implica p | (−b)). ” ⇐ ” Suponha que d é um divisor positivo de p. Então existe um inteiro e tal que p = de ou seja p | de. Por hipótese p | d ou p | e. Se p | d temos p = d. Se p | e temos e = pe0 para um e0 ∈ Z. Portanto p = de = dpe0 implica 1 = de0 ou seja d | 1. Por 2.1.4 temos d = 1. Corolário 2.3.9 Seja p um primo e a1 , . . . , ak inteiros. Se p | a1 · · · ak então existe um ı́ndice i ∈ {1, . . . , k} tal que p | ai . Demonstração: p | a1 · · · ak ⇒ p | a1 ou p | a2 · · · ak ⇒ .. . p | a1 ou p | a2 ou p | a3 · · · ak .. . ⇒ p | a1 ou p | a2 ou · · · ou p | ak−1 ou p | ak Podemos agora mostrar o Teorema fundamental da Aritmética: Teorema 2.3.10 (Teorema Fundamental da Aritmética) Todo o inteiro a > 1 é produto de primos, existem k ≥ 1, n1 , . . . , nk e números primos p1 , . . . , pk tais que pi 6= pj para i 6= j e a = pn1 1 pn2 2 · · · pnk k = k Y pni i . i=1 Esta factorização em números primos de a é única a menos da ordem dos factores. Demonstração: Seja a > 1. Pela observação 2.3.2 existe um número primo p1 que divide a. Temos 1 ≤ a/p1 < a. Se a/p1 6= 1 existe mais um número primo p2 que divide a/p1 . Logo 1 ≤ a/(p1 p2 ) < a/p1 . Se a/(p1 p2 ) 6= 1 existe um número primo p3 que divide a/(p1 p2 ). Temos 1 ≤ a/(p1 p2 p3 ) < a/(p1 p2 ). 30 CAPÍTULO 2. ARITMÉTICA Continuando este processo obtemos números primos p1 , p2 , . . . , pm tais que a/(p1 p2 · · · pm ) = 1 Ou seja a = p1 p2 · · · pm . Nesta forma alguns destes primos pi podem ser iguais. Seja k =| {p1 , . . . , pm } | o número de primos diferentes. Existem expoentes n1 , . . . , nk tal que k Y pni i . a = p1 · · · pm = pn1 1 · · · pnk k = i=1 Sejam a = q1 · · · qr = p1 · · · pm duas factorizações de a em números primos. Sem perda da generalidade podemos supor que r ≥ m. Temos q1 | a = p1 · · · pm . Pelo 2.3.9 existe um i ∈ {1, . . . , m} tal que q1 | pj . Como pj é um primo e como q1 6= 1 temos q1 = pj . Sem perda da generalidade podemos supor que j = 1. Dividimos a por q1 temos q2 · · · qr = p2 · · · pm . Continuando este processo e dividimos por p2 , p3 , . . . , pm . Se r 6= m chegamos depois de m passos a equação pr−m · · · pr = 1. Logo pi = 1 para todo r − m ≤ i ≤ m - uma contradição porque os pi são números primos e por definição diferentes de 1. Portanto r = m. Definição 2.3.11 Sejam a e b inteiros não simultaneamente nulos. Um inteiro m tal que a e b são divisores de m diz-se um múltiplo comum de a e b. Escrevemos mmc(a, b) para o menor múltiplo comum positivo de a e b. Este valor diz-se o mı́nimo múltiplo comum entre a e b. Teorema 2.3.12 Temos mmc(a, b) = ab mdc(a,b) para a, b inteiros positivos. Demonstração: Pelo Algoritmo de Euclides existem inteiros x, y ∈ Z tais que mdc(a, b) = xa + yb. Por definição mmc(a, b) é um múltiplo de a e de b. Logo existem inteiros r, s ∈ Z tais que ar = mmc(a, b) = bs. Temos mmc(a, b)mdc(a, b) = ar(xa + yb) = a(xar + ybr) = a(xbs + ybr) = ab(xs + yr). ab ab Logo mmc(a, b) = mdc(a,b) (xs+yr). Note-se que (xs+yr) é positivo. Como mdc(a,b) é um múltiplo comum positivo de a e b e como mmc(a, b) por definição é o menor ab múltiplo comum positivo de a e b temos mmc(a, b) ≤ mdc(a,b) . Portanto mmc(a, b) ≤ ab ab ≤ (xs + yr) = mmc(a, b) mdc(a, b) mdc(a, b) implica xs + yr = 1 e mmc(a, b) = ab mdc(a,b) . Observação 2.3.13 Sejam a e b inteiros positivos maiores 1. Sabemos que Qk de Ql m ni a e b têm uma factorização em números primos: a = i=1 pi e b = j=1 qj j , para números primos p1 , . . . , pk e q1 , . . . , ql e ni , mj ≥ 1 Sem perda da generalidade podemos supor que k = l e {p1 , . . . , pk } = {q1 , . . . , ql } (porque se um número pi não 2.3. NÚMEROS PRIMOS E FACTORIZAÇÃO 31 aparece na factorização de b incluı́mos o factor p0i formalmente na factorização). Então podemos escrever a e b na seguinte forma: mk 1 m2 a = pn1 1 pn2 2 · · · pknk e b = pm 1 p 2 · · · pk para k ≥ 1, alguns números primos p1 , p2 , . . . , pk e expoentes ni , mi ≥ 0. Calcular agora o máximo divisor comum e o menor múltiplo comum de a e b é fácil. Temos min(n1 ,m1 ) min(n2 ,m2 ) min(nk ,mk ) p2 · · · pk mdc(a, b) = p1 max(n1 ,m1 ) max(n2 ,m2 ) max(nk ,mk ) p2 · · · pk mmc(a, b) = p1 Exemplo 2.3.14 Sejam a = 4200 e b = 7865. Temos a factorização em números primos a = 23 ∗ 31 ∗ 52 ∗ 71 e b = 51 ∗ 112 ∗ 131 . Podemos escrever a e b como produto de factores primos comum: a = 23 ∗ 31 ∗ 52 ∗ 71 ∗ 110 ∗ 130 e b = 20 ∗ 30 ∗ 51 ∗ 70 ∗ 112 ∗ 131 . O máximo divisor comum e o menor múltiplo comum de a e b são: mdc(a, b) = 2min(3,0) ∗ 3min(1,0) ∗ 5min(2,1) ∗ 7min(1,0) ∗ 11min(0,2) ∗ 13min(0,1) = 20 ∗ 30 ∗ 51 ∗ 70 ∗ 110 ∗ 130 = 5. mmc(a, b) = 2max(3,0) ∗ 3max(1,0) ∗ 5max(2,1) ∗ 7max(1,0) ∗ 11max(0,2) ∗ 13max(0,1) = 23 ∗ 31 ∗ 52 ∗ 71 ∗ 112 ∗ 131 = 6606600 32 CAPÍTULO 2. ARITMÉTICA Capı́tulo 3 Aritmética modulo n 3.1 Congruências Definição 3.1.1 Seja n ∈ N. Definimos a seguinte relação de equivalência em Z: Rn := {(a, b) ∈ Z × Z | n | b − a} Se (a, b) ∈ Rn então dizemos que a é congruente com b modulo n. Escrevemos também a ≡ b(mod n). Dado um inteiro a ∈ Z. O subconjunto de Z que consiste de todos os inteiros b tais que a é congruente com b módulo n diz-se a classe de a módulo n. [a]n := {b ∈ Z | b ≡ a(mod n)} Exemplo 3.1.2 Seja n = 2 e a, b ∈ Z. Suponha que a é congruente com b módulo 2 ou seja a ≡ b(mod 2). Por definição 2 | b − a. Se a é um número par então existe um inteiro k tal que a = 2k. Tem-se 2 | b − 2k ⇒ 2 | b. Logo b é um número par. Se a é ı́mpar então existe um inteiro k tal que a = 2k + 1. Logo 2 | b − 2k − 1 ⇒ 2 | b − 1 ou seja b = 2l + 1 para um l ∈ Z. Logo b é ı́mpar também. Portanto se a é congruente com b módulo 2 então a e b são ambos par ou ambos ı́mpar. No outro caso suponha que a e b são dois números pares então b − a é par também e logo 2 | b − a. Logo a é congruente com b módulo 2. Se a e b são ambos ı́mpar então b − a é par e também temos a é congruente com b módulo 2. Vimos que dois inteiros a é b são congruente módulo 2 se e só se ambos são números pares ou números ı́mpares. A congruência módulo 2 divide os inteiros em duas partes : os números pares e os números ı́mpares. A classe [a]2 módulo 2 de um elemento a ou é igual os números pares ou é igual os números ı́mpares. [a]2 = { os números pares } = [0]2 [a]2 = { os números ı́mpares} = [1]2 33 34 CAPÍTULO 3. ARITMÉTICA MODULO N Observação 3.1.3 Seja n ∈ N: 1. ∀a ∈ Z : a ∈ [a]n porque a ≡ a(mod n). 2. ∀a, b ∈ Z : b ≡ a(mod n) ⇔ a ≡ b(mod n). 3. ∀a, b, c ∈ Z : se a ≡ b(mod n) e b ≡ c(mod n) então a ≡ c(mod n). Isto implica também: b ≡ c(mod n) ⇔ [b]n ⊆ [c]n . 4. Temos em particular: [a]n = [b]n ⇔ [a]n ∩ [b]n 6= ∅ ⇔ a ≡ b(mod n) (suponha que existe c ∈ [a]n ∩ [b]n . Então [c]n ⊆ [a]n ∩ [b]n . Por (2) temos também a, b ∈ [c]n e logo [a]n ∪ [b]n ⊆ [c]n ⊆ [a]n ∩ [b]n , que implica [a]n = [c]n = [b]n . Portanto [a]n ∩ [b]n 6= ∅ ⇒ [a]n = [b]n . A outra implicação é obvia.) 5. As classes {[a]n }a∈Z módulo n formam uma S partição de Z. (Pois, como todo o inteiro a ∈ Z pertence a [a]n temos a∈Z [a]n = Z. Vimos na alı́nea anterior que [a]n = [b]n ou [a]n ∩ [b]n = ∅ para qualquer a, b ∈ Z.) 6. Seja a ∈ Z. Pelo Algoritmo da Divisão existem q, r ∈ Z tais que a = qn + r e 0 ≤ r < n. Temos a − r = qn ou seja a ≡ r(mod n). Por (4) temos [a]n = [r]n ou seja a classe de um inteiro a módulo n é igual a classe do resto da sua divisão por n. 7. Para o conjunto das classes módulo n escrevemos: Zn := {[a]n | a ∈ Z} Se n 6= 0 este conjunto tem precisamente n elementos (distintos) ou seja | Zn |= n. Vimos na alı́nea anterior que, para qualquer a ∈ Z, existe um número 0 ≤ r < 0 (o resto da divisão de a por n) tal que [a]n = [r]n . Logo Zn := {[0]n , [1]n , [2]n , . . . , [n − 1]n } Exemplo 3.1.4 Seja n = 5. Qual é a classe de 73 módulo 5? Temos para um inteiro b b ≡ 73(mod n) ⇔ ∃n ∈ Z : b − 73 = 5n ⇔ ∃n ∈ Z : b − 14 ∗ 5 − 3 = 5n ⇔ ∃n ∈ Z : b − 3 = 5(n + 14) ⇔ b ≡ 3(mod5). 3.1. CONGRUÊNCIAS 35 Portanto as classes [73]5 e [3]5 são iguais e temos: [73]5 = [3]5 = {b ∈ Z | o resto da divisão de b por 5 é 3} = {5n + 3 | n ∈ Z}. Observação 3.1.5 Seja n ∈ N e sejam a, a0 , b, b0 ∈ Z tais que a ≡ a0 (mod n) e b ≡ b0 (mod n). Temos (i) a ± b ≡ a0 ± b0 (mod n); (ii) a ∗ b ≡ a0 ∗ b0 (mod n); (iii) para qualquer k ∈ N tem-se ak ≡ (a0 )k (mod n). Em geral não temos a/b ≡ a0 /b0 (mod n) se b | a e b0 | a0 . Por exemplo seja n = 4, a = 10, a0 = 6, b = 10, b0 = 2. Tem-se a = 10 ≡ 6 = a0 (mod 4) e b = 10 ≡ 2 = b0 (mod 4) mas não temos a/b = 1 ≡ a0 /b0 = 3(mod 4). Definição 3.1.6 Seja n ∈ N. Temos as seguintes operações no conjunto Zn . Para qualquer [a]n , [b]n ∈ Zn definimos: [a]n + [b]n := [a + b]n e [a]n ∗ [b]n = [a ∗ b]n Observação 3.1.7 1. As operações + e ∗ são independente das escolha do representante dos elementos [a]n . 2. As operações + e ∗ são comutativas [a]n + [b]n = [b]n + [a]n e [a]n ∗ [b]n = [b]n ∗ [a]n e distributiva relativamente + [a]n ∗ ([b]n + [c]n ) = ([a]n ∗ [b]n ) + ([a]n ∗ [c]n ) . A aritmética modular tem alguns aplicações úteis: Observação 3.1.8 A aritmética modular pode ser usado para verificar que um número é divisı́vel por 9. Seja a ∈ Z+ . Podemos representar a na forma: a = an 10n + an−1 10n−1 + · · · + a2 102 + a1 10 + a0 para a0 , a1 , . . . , an ∈ {0, 1, . . . , 9} e an 6= 0. Tem-se 10 ≡ 1(mod 9) e logo 10k ≡ (1)k (mod 9) = 1(mod 9). Portanto ⇔ ⇔ ⇔ 9 a an 10n + +an−1 10n−1 + · · · + a2 102 + a1 10 + a0 an + an−1 + · · · + a2 + a1 + a0 | ≡ ≡ ≡ a 0(mod 9) 0(mod 9) 0(mod 9) 36 CAPÍTULO 3. ARITMÉTICA MODULO N Por exemplo os números a = 1233 e a = 123456789 são divisı́veis por 9. Observação 3.1.9 A aritmética modular ajuda também a reduzir potências. Suponhamos que queremos decidir se o número 109 + 1 é divisı́vel por 19. Temos: 10 ≡ (−9)(mod 19) e logo 102 ≡ (−9)2 (mod 19) = 81(mod 19) = 5(mod 19). Continuando assim obtemos: 104 ≡ (102 )2 (mod 19) = 52 (mod 19) = 6(mod 19) 108 ≡ (104 )2 (mod 19) = 62 (mod 19) = (−2)(mod 19) 109 ≡ 10 ∗ (10)8 (mod 19) = (−20)(mod 19) = (−1)(mod 19) 109 + 1 ≡ (−1) + 1(mod 19) = 0(mod 19) Portanto 19 | 109 + 1. 3.2 Resolução da congruência linear ax ≡ b(modn) Em vez da equação linear aX = b com inteiros a e b podemos também estudar soluções da congruência linear aX ≡ b(mod n). Observação 3.2.1 As operações + e ∗ têm um elemento neutro. Temos [a]n + [0]n = [a + 0]n = [a]n = [0 + a]n = [0]n + [a]n [a]n ∗ [1]n = [a ∗ 1]n = [a]n = [1 ∗ a]n = [1]n ∗ [a]n Definição 3.2.2 Um elemento [a]n ∈ Zn \ {[0]n } diz-se invertı́vel se existe um elemento [b]n ∈ Zn tal que [a]n ∗ [b]n = [1]n O elemento [b]n diz-se o inverso multiplicativo de [a]n . Notação [a]−1 n := [b]n . Um inteiro a ∈ Z diz-se invertı́vel módulo n se [a]n é invertı́vel em Zn . Exemplo 3.2.3 Seja n = 10 temos [3]10 ∗ [7]10 = [21]10 = [1]10 . Portanto [3]10 é invertı́vel e 3 é invertı́vel módulo 10. Uma solução da congruência linear aX ≡ b(mod n) é equivalente a equação [a]n [X]n = [b]n . Se [a]n é invertı́vel podemos multiplicar com [a]−1 n e obtemos [X]n = [b]n [a]−1 . n Teorema 3.2.4 Seja n > 1 e a ∈ Z. As seguintes afirmações são equivalentes: 3.2. RESOLUÇÃO DA CONGRUÊNCIA LINEAR AX ≡ B(M ODN ) 37 (a) a classe [a]n é invertı́vel; (b) mdc(a, n) = 1 (ou seja a e n são relativamente primos); (c) a congruência aX ≡ 1(mod n) tem uma solução. Demonstração: (a) ⇒ (b). Suponha que [a]n é invertı́vel. Então existe um x ∈ Z tal que [1]n = [a]n ∗ [x]n = [ax]n . Então existe um y ∈ Z tal que 1 − ax = yn ⇔ 1 = ax + ny. Por 2.2.7 mdc(a, n) = 1. (b) ⇒ (c) Suponha que mdc(a, n) = 1 então por 2.2.9 existem inteiros X, Y tais que 1 = aX + nY ou seja n | 1 − aX. Então aX ≡ 1(mod n) tem uma solução. (c) ⇒ (a) Seja X a solução de aX ≡ 1(mod n) então [a]n ∗ [X]n [aX]n = [1]n implica [a]n invertı́vel. Corolário 3.2.5 Seja p um número primo. Todo o elemento [a]p ∈ Zp \ {[0]p } é invertı́vel. Teorema 3.2.6 Seja n um inteiro positivo. A congruência linear aX ≡ b(mod n) tem uma solução se e só se mdc(a, n) | b. Neste caso as soluções são da forma: X≡ rb + nk (mod n) onde k ∈ {0, 1, . . . , mdc(a, n) − 1} mdc(a, n) e r ∈ Z tal que mdc(a, n) = ra + sn para algum s ∈ Z. Demonstração: Sejam a e b ∈ Z e seja n ≥ 1. Temos aX ≡ b(mod n) ⇔ n | b − aX ⇔ ∃Y ∈ Z : aX + nY = b. A ultima equação é uma equação de Diofanto linear. Por 2.2.12 esta equação tem uma solução se e só se mdc(a, n) | b. Portanto aX ≡ b(mod n) tem uma solução se e só se mdc(a, n) | n. Teorema 2.2.12 diz também que neste caso as soluções são da forma: X= rb + nk para k ∈ Z e r, s ∈ Z tal que mdc(a, n) = ra + sn. mdc(a, n) Dois soluções n| rb+nk mdc(a,n) e rb+nk0 mdc(a,n) são congruente módulo n se e só se rb + nk 0 n(k 0 − k) rb + nk − = ⇔ mdc(a, n) | (k 0 − k). mdc(a, n) mdc(a, n) mdc(a, n) Portanto as soluções módulo n são da forma X≡ rb + nk (mod n) onde k ∈ {0, 1, . . . , mdc(a, n) − 1}. mdc(a, n) 38 CAPÍTULO 3. ARITMÉTICA MODULO N Exemplo 3.2.7 Queremos encontrar todos as soluções da congruência linear 15X ≡ 66(mod 9). O máximo divisor comum entre 15 e 9 é 3 = mdc(15, 9) = 2 ∗ 15 + (−3) ∗ 9. Logo r = 2 e as soluções são da forma: 2 ∗ 66 − 9k (mod 9) 3 = 44 − 3k(mod 9) X ≡ = 8 − 3k(mod 9) para k ∈ {0, 1, 2}. Portanto X ≡ 8(mod 9) ou X ≡ 5(mod 9) ou X ≡ 2(mod 9) são todos as soluções. Observação 3.2.8 (i) Se a congruência aX ≡ b(mod n) tem uma solução então qualquer inteiro X= n rb + k para k ∈ Z mdc(a, n) mdc(a, n) é uma solução. (ii) Se mdc(a, n) = 1 então só há uma solução X ≡ rb(mod n) módulo n. (iii) As soluções da congruência aX ≡ 0(mod n) são da forma X≡ n k(mod n) para k ∈ {0, 1, . . . , mdc(a, n) − 1} mdc(a, n) (iv) Seja c ∈ Z e c 6= 0. Então as congruências acX ≡ bc(mod nc) e aX ≡ b(mod n) têm as mesmas soluções. Tem-se: acX ≡ bc(mod nc) ⇔ nc | (b − aX)c ⇔ n | b − aX ⇔ aX ≡ b(mod n). Por exemplo: 15X ≡ 12(mod 21) ⇔ 5X ≡ 4(mod 7) ⇔ X ≡ 5(mod 7). (v) Suponha que mdc(a, n) | b então a b n aX ≡ b(mod n) ⇔ X≡ mod . mdc(a, n) mdc(a, n) mdc(a, n) n a n a , mdc(a,n) = 1, mdc(a,n) é invertı́vel módulo mdc(a,n) . Como mdc mdc(a,n) a n Logo existe um r ∈ Z tal que r mdc(a,n) ≡ 1(mod mdc(a,n) ). Portanto rb aX ≡ b(mod n) ⇔ X ≡ mdc(a, n) n mod mdc(a, n) . 3.2. RESOLUÇÃO DA CONGRUÊNCIA LINEAR AX ≡ B(M ODN ) 39 Teorema 3.2.9 (Teorema chinês do resto) Dados inteiros positivos n1 , . . . , nk e inteiros a1 , . . . , ak . Se mdc(ni , nj ) = 1 para i 6= j então o sistema das congruências lineares X ≡ ai (mod ni ) para i = 1, . . . , k tem uma única solução módulo n1 n2 · · · nk Demonstração: Suponha que mdc(ni , nj ) = 1 para i 6= j. Para qualquer i ∈ {1, 2, . . . , k} seja Y n̂i := nj := n1 · · · ni−1 ni+1 · · · nk . j6=i Temos mdc(ni , n̂i ) = 1. Logo pelo Algoritmo de Euclides existem inteiros ri , si ∈ Z tal que 1 = ri ni + si n̂i Tem-se ai = ai si n̂i + ai ri ni ou seja ai si n̂i ≡ ai (mod ni ). Temos também ai si n̂i ≡ 0(mod nj ) para qualquer j 6= i Seja X := Pk i=1 ai si n̂i := a1 s1 n̂1 + · · · ak sk n̂k . Então X ≡ ai si n̂i (mod ni ) ≡ ai (mod ni ) para qualquer i ∈ {1, . . . , k}. Logo X é uma solução. Suponha que X é Y são soluções. Então X − Y ≡ 0(mod ni ) para qualquer i ou seja ni | X − Y . Como mdc(ni , nj ) = 1 temos n1 · · · nk | X − Y e X ≡ Y (mod n1 · · · nk ). Exemplo 3.2.10 Seja k = 3. Consideramos o sistema: (1) X ≡ 3(mod 5) (2) X ≡ 6(mod 7) (3) X ≡ 4(mod 6) Pela equação (1) uma solução X deste sistema tem ser igual X = 3 + 5Y para um inteiro Y . Substituı́mos X por 3 + 5Y na equação (2) obtemos: X ≡ 6(mod 7) ⇔ 3 + 5Y ≡ 6(mod 7) ⇔ 5Y ≡ 3(mod 7). 40 CAPÍTULO 3. ARITMÉTICA MODULO N Como mdc(5, 7) = 1 | 3 pelo Teorema 3.2.6 a solução para Y é Y ≡ 3r(mod 7) onde r é um inteiro tal que existe um s ∈ Z e 1 = mdc(5, 7) = 5r + 7s. Neste caso podemos escolher r = (−4) (e s = 3). Portanto Y = (−4) ∗ 3 + 7Z = −12 + 7Z para um Z ∈ Z e X = 3 + 5Y = 3 + 5(−12 + 7Z) = −57 + 35Z. Substituı́mos X por −57 + 35Z na equação (3) temos X ⇔ −57 + 35Z ⇔ 35Z ⇔ 5Z ≡ ≡ ≡ ≡ 4(mod 6) 4(mod 6) 61(mod 6) 1(mod 6) Como mdc(5, 6) = 1 | 1 pelo Teorema 3.2.6 a solução para Z é Z ≡ t(mod 6) onde t é um inteiro tal que existe um u ∈ Z e 1 = mdc(5, 6) = 5t + 6u. Neste caso podemos escolher t = −1 (e u = 1). Portanto Z = −1 + 6W para um W ∈ Z. Logo X = −57 + 35Z = −57 + 35(−1 + 6W ) = −92 + 210W. Como 118 ≡ −92(mod 210) X ≡ 118(mod 210) é a (única) solução do sistema. 3.3 O pequeno Teorema de Fermat O seguinte teorema é muito importante e a fundação do sistema criptográfico RSA. Teorema 3.3.1 (Pequeno Teorema de Fermat) Seja p um número primo. Para qualquer inteiro a ∈ Z se mdc(a, p) = 1 então ap−1 ≡ 1(mod p). Em particular tem-se ap ≡ a(mod p) para qualquer a ∈ Z. 3.3. O PEQUENO TEOREMA DE FERMAT 41 Demonstração: Seja Zp := {[0]p , [1]p , . . . , [p − 1]p } o conjunto das classes módulo p. Se a ∈ Z é um inteiro tal que mdc(a, p) = 1 temos em particular p - a ou seja [a]p 6= [0]p . Pelo Corolário 3.2.5 sabemos que [a]p é invertı́vel em Zp . Então existe um b ∈ Z tal que [a]p ∗ [b]p = [1]P . Escrevemos [a]−1 p := [b]p . Consideramos a função f : Zp −→ Zp tal que [x]p 7→ [x]p ∗ [a]p Como [a]p é invertı́vel a função f tem um inverso f −1 : Zp −→ Zp tal que [x]p 7→ [x]p ∗ [a]−1 p Pois temos f −1 (f ([x]p )) = f −1 ([x]p ∗ [a]p ) = [x]p ∗ [a]p ∗ [a]−1 p = [x]p ∗ [1]p = [x]p e temos também f f −1 ([x]p ) = [x]p . Portanto a imagem de f é igual Zp (para qualquer [x]p temos f ([x]p [a]−1 p ) = [x]p ). Im(f ) = {[x]p ∗ [a]p | x ∈ {0, 1, . . . , p − 1}} = {[0]p , [a]p , [2a]p , . . . , [(p − 1)a]p } = Zp = {[0]p , [1]p , [2]p , . . . , [p − 1]p } Portanto o produto de todos os elementos em Im(f ) \ {[0]p } é igual ao produto de todos os elementos em Zp \ {[0]p }. [a]p ∗ [2a]p ∗ · · · ∗ [(p − 1) ∗ a]p = [1]p ∗ [2]p ∗ · · · ∗ [p − 1]p Note-se que o produto tem p − 1 factores. Então temos (?) [ap−1 (p − 1)!]p = [(p − 1)!]p Note-se que p - (p − 1)! (pois, se p | (p − 1)! então p | x com 1 ≤ x ≤ p − 1 que é impossı́vel.) Então pelo 3.2.5 [(p − 1)!]p é invertı́vel e logo existe um elemento [(p − 1)!]p−1 ∈ Zp tal que [(p − 1)!]p ∗ [(p − 1)]−1 p = [1]p . Multiplicamos a equação (?) com [(p − 1)!]−1 obtemos p [ap−1 ]p = [1]p ou seja ap−1 ≡ 1(mod p). Se mdc(a, p) = 1 temos ap−1 ≡ 1(mod p). Multiplicamos com a obtemos ap ≡ a(mod p). Se mdc(a, p) 6= 1 então p | a ⇒ a ≡ 0(mod p) ⇒ ap ≡ a(mod p). Precisamos a seguinte observação: Observação 3.3.2 Sejam a e b dois inteiros e seja c um múltiplo comum de a e b. Então mmc(a, b) | c. Em particular se a e b são relativamente primo, i.e. mdc(a, b) = 1 então ab | c. 42 CAPÍTULO 3. ARITMÉTICA MODULO N Demonstração: Suponha que a e b são relativamente primos. Existem x, y ∈ Z tais que m = xa = yb. Como b | xa e mdc(a, b) = 1 temos pelo 2.2.9 b | x. Portanto ab | m. Para qualquer a e b tal que c é um múltiplo comum de a e b. a b c Tem-se a0 := mdc(a,b) e b0 := mdc(a,b) são relativamente primos e c0 := mdc(a,b) é um 0 0 0 0 0 múltiplo comum de a e b . Portanto a b | c ou seja a b c ab | ⇒ mmc(a, b) = | c. mdc(a, b) mdc(a, b) mdc(a, b) mdc(a, b) Em geral a | c e b | c não implica que ab | c. Por exemplo a = 2, b = 4 e c = 4. Tem-se 2 | 4 e 4 | 4 mas 2 ∗ 4 = 8 - 4. Teorema 3.3.3 Sejam p e q dois números primos diferentes. Seja n := pq e m := (p − 1)(q − 1). Se a e b são inteiros tais que ab ≡ 1(mod m) então xab ≡ x(mod n). Demonstração: Como ab ≡ 1(mod m) existe um k ∈ Z tal que ab = 1 + km. Logo k(q−1) . xab = x1+km = x xkm = x xp−1 Se mdc(x, p) = 1 então pelo Teorema de Fermat 3.3.1 sabemos xp−1 ≡ 1(mod p). Portanto k(q−1) xab = x xp−1 ≡ x (1)k(q−1) ≡ x(mod p) ou seja p | xab − x. Se mdc(x, p) 6= 1 então p | x e logo p | xab − x também. k(p−1) Analogamente podemos escrever xab como x xq−1 e concluı́mos q | xab − ab ab x. Pelo 3.3.2 temos pq | x − x ou seja x ≡ x(mod pq). 3.4 Sistema criptográfico RSA O teorema 3.3.3 é a base do sistema criptográfico RSA. Este sistema deve o seu nome aos seus autores R.Rivest, A.Shamir e L.Adlerman que publicaram um artigo 1 no qual descrevem o sistema. Sem perda da generalidade podemos supor que a mensagem que queremos codificar é uma sequência de números (por exemplo podemos converter um texto numa sequência de números através da tabela de ASCII). A codificação é uma função e a descodificação o seu inverso. 1 A method for obtaining digital signatures tosystems, Communications of the ACM 21(2), http://theory.lcs.mit.edu/∼rivest/rsapaper.pdf ) and public-key crip120-126 (1978) ( ou 3.4. SISTEMA CRIPTOGRÁFICO RSA 43 Sejam p e q dois primos diferentes e seja n := pq. Dado dois números a e b tais que ab ≡ 1(mod m) onde m = (p − 1)(q − 1) podemos codificar uma mensagem x (=um inteiro x < n) por C : x 7→ xa (mod n). O teorema 3.3.3 assegura que a função D : y 7→ y b (mod n) é a função da descodificação, pois D(C(x)) = xab (mod n) ≡ x(mod n) Isto é o princı́pio do sistema RSA. Uma pessoa A que pretende dar a outros a possibilidade de lhe envia mensagens codificadas tem de escolher primos distintos p e q e um valor a com mdc(a, (p − 1)(q − 1)) = 1. A pessoa A tem de dar a conhecer as valores a e n = pq. Uma pessoa B que quer enviar uma mensagem secreta à A usa estes parâmetros a e n para codificar a sua mensagem. Só a pessoa A pode descodificar a mensagem porque A conhece a factorização de n = pq e pode calcular o inverso de a módulo (p − 1)(q − 1). Como a função de codificar e os seus parâmetros são públicos este tipo de sistema criptografia chama-se public-key cryptosystem (os parâmetros a e n chamam-se chaves). Os ingredientes do sistema criptográfico RSA Parâmetros dois primos p e q distintos n := pq e m := (p − 1)(q − 1) dois número a e b tais que ab ≡ 1(mod m). Secretos: os parâmetros p, q, m e b são secretos e só o ”criador” ( o destinário) os conhece. Públicos: os parâmetros a e n podem ser públicos. Codificação: • O destinário envia os parâmetros a e n ao remetente. • O remetente transforma a mensagem x que pretende enviar numa sequência {xi } de inteiros de menor que n, i.e. xi ≤ n. 44 CAPÍTULO 3. ARITMÉTICA MODULO N • Para cada inteiro xi o remetente calcula yi := xai (mod n) e emite a sequência {yi } ao destinário. Descodificação O destinário recebe uma sequência de inteiros {yi } e calcula xi := yib (mod n). Depois transforma a sequência {xi } num texto. A segurança de método consiste no facto de, para valores de n suficientemente grandes, ser muito difı́cil (não existe um algoritmo eficaz) decompor n como produto de dois primos distintos p e q. Exemplo 3.4.1 Suponha que temos a seguinte tabela para transformar um texto numa sequência de números: 0 1 2 0 A K U 1 B L V 2 C M W 3 D N X 4 E O Y 5 F P Z 6 G Q , 7 H R . 8 I S ! 9 J T O texto ”RSA!”transforma-se numa sequência 17; 18; 00; 28. • Seja p = 7 e q = 11 então n = 7 ∗ 11 = 77 e m = (7 − 1) ∗ (11 − 1) = 60. Escolhemos a = 7, mdc(7, 60) = 1. Para codificar a mensagem 17; 18; 00; 28 temos calcular x7 (mod 77) para x ∈ {17, 18, 00, 28}. 177 ≡ 52(mod 77) 187 ≡ 39(mod 77) 007 ≡ 00(mod 77) 287 ≡ 63(mod 77) Depois podemos enviar a mensagem codificada 52; 39; 00; 63. Para descodificar a mensagem temos encontrar o inverso de 7 módulo 60 que é igual −17. Como só usamos parâmetros positivos escolhemos b = 43 ≡ −17(mod 60). 5243 ≡ 17(mod 77) 3943 ≡ 18(mod 77) 0043 ≡ 00(mod 77) 6343 ≡ 28(mod 77) 3.5. REPRESENTAÇÃO NA BASE N 45 • Suponha que escolhamos p = 47 e q = 59 então n = 47 ∗ 59 = 2773 e m = (47 − 1) ∗ (59 − 1) = 2668. Como n tem 4 algarismos podemos transformar a mensagem ”RSA!”numa sequência de dois blocos de inteiros de 4 algarismos: 1718; 0028. Escolhemos a = 157, mdc(157, 2668) = 1. Então a mensagem codificada é 2369; 1377 porque 1718157 ≡ 2369(mod 2773) e 0028157 ≡ 1377(mod 2773). Usando o algoritmo de Euclides obtemos b = 17 e podemos descodificar a mensagem 236917 ≡ 1718(mod 2773) e 137717 ≡ 0028(mod 2773). • Suponha que escolhamos p = 1777 e q = 19379 então n = p ∗ q = 34436483 e m = (p − 1) ∗ (q − 1) = 34415328. Como n tem 8 algarismos podemos transformar a mensagem ”RSA!”num único inteiro de 8 algarismos: 17180028. Escolhemos a = 11, mdc(a, m) = 1. Então a mensagem codificada é 1718002811 ≡ 06004372(mod 34436483). Para descodificar a mensagem precisamos obter o inverso de 11 módulo m, que é 15643331. Os autores de RSA sugeriram usar primos p e q com 100 algarismos tal que o valor do produto pq tenha 200(!) algarismos. Para factorizar um número com 200 algarismos os melhores algoritmos precisam mais do que 1023 (!) operações ou seja milhões de anos para terminar. 3.5 Representação na base n Definição 3.5.1 Seja a > 1. Uma representação de um inteiro m ≥ 0 na base a é uma sequência de números b0 , b1 , . . . , bk , com 0 ≤ bi < a (0 ≤ i ≤ k) tal que m = bk ak + bk−1 ak−1 + · · · + b1 ab0 . Denota-se esta representação por m = (bk · · · b0 )a . Teorema 3.5.2 Seja a > 1 um inteiro. Todo o inteiro m ≥ 0 tem uma representação na base a. Além disso, se m > 0, a representação m = (bk · · · b0 )a , com bk 6= 0, é única. Demonstração: Se m = 0 então k = 0 e b0 := 0 é uma representação de 0. Seja m ≥ 1. Então existem m1 , b0 ∈ N tais que m = m1 a + b0 e 0 ≤ b0 < a. Note-se que 0 ≤ m1 < m. Se m1 6= 0 então existem m2 , b1 ∈ N tais que m1 = m2 a + b1 e 0 ≤ b1 < a. 46 CAPÍTULO 3. ARITMÉTICA MODULO N Temos m = m1 a + b0 = m2 a2 + b1 a + b0 . Note-se que 0 ≤ m2 < m1 < m. Continuando este processo obtemos (depois de no máximo m passos) inteiros m1 , . . . , mk , mk+1 e b0 , b1 , b2 , . . . bk . Tal que mk+1 = 0 e m = m1 a + b0 = (m2 a2 + b1 a) + b0 = ··· = ((· · · (((mk a + bk−1 )a) + bk−2 )a + · · ·)a + b1 )a + b0 = bk ak + bk−1 ak−1 + · · · + b1 a + b0 . Podemos também escrever um programa: Algorı́tmo INPUT:base a e número m OUTPUT:(bk bk−1 · · · b1 b0 )a i = 0; b[i] = 0; while(m 6= 0) { i = i + 1; b[i] = m%a; m = (int)m/a; } Agora suponha que (bk · · · b0 )a e (b0n · · · b00 )a são duas representações de m na base a. Sem perda da generalidade podemos supor que k ≥ n. Então a diferença ! n X 0 i 0=m−m= (bi − bi )a + bn+1 an+1 + · · · + bk ak . i=0 bi − b0i Seja ci := para 0 ≤ i ≤ n e ci := bi para n + 1 ≤ i ≤ k. Note-se −a < ci < a para todo i. Tem-se a | ci ⇔ ci = 0. Como (?) 0 = c0 + c1 a1 + c2 a2 + · · · + ck ak temos c0 = a(−c1 − c2 a − · · · − ck ak−1 ) ou seja a | c0 . Logo c0 = 0 e a equação (?) é equivalente à (?1 ) 0 = c1 + c2 a + · · · + ck ak−1 . Temos c1 = a(−c2 − c3 a − · · · − ck ak−2 ) ou seja a | c1 . Logo c1 = 0 e a equação (?1 ) é equivalente à (?2 ) 0 = c2 + c3 a + · · · + ck ak−2 . 3.5. REPRESENTAÇÃO NA BASE N 47 Continuando assim obtemos ci = 0 para todo i. Portanto bi = b0i e n = k. Exemplo 3.5.3 Seja m = 1234 e a = 7. 1234 176 25 3 = = = = 176 ∗ 7 + 2 25 ∗ 7 + 1 3∗7+4 0∗7+3 b0 b1 b2 b3 := 2 := 1 := 4 := 3 Logo m = 176∗7+2 = (25∗7+1)∗7+2 = ((3∗7+4)∗7+1)∗7+2 = 3∗73 +4∗72 +1∗7+2. Portanto (3412)7 é a representação de 1234 na base 7. 48 CAPÍTULO 3. ARITMÉTICA MODULO N Capı́tulo 4 Permutações 4.1 O grupo simétrico Sejam X e Y conjuntos não vazios. Definição 4.1.1 Uma função f : X → Y diz-se • injectiva se x1 6= x2 implica f (x1 ) 6= f (x2 ) para todo x1 , x2 ∈ X; • sobrejectiva se, para todo y ∈ Y existe um x ∈ X tal que f (x) = y; • bijectiva se f é injectiva e sobrejectiva. A função idX : X → X com idX (x) = x para todo x ∈ X é uma função bijectiva e diz-se a identidade em X. Observação 4.1.2 Uma função f : X → Y é bijectiva se e só se existe uma função inversa g : Y → X ou seja uma função g tal que g(f (x)) = x e f (g(y)) = y para todo x ∈ X e y ∈ Y . Notação: f −1 := g. Se f tem um inverso então para qualquer y ∈ Y existe um x ∈ X (x := g(y)) tal que f (x) = y. Logo f é sobrejectiva. Se x1 e x2 são elementos de X então f (x1 ) = f (x2 ) implica x1 = g(f (x1 )) = g(f (x2 )) = x2 . Portanto f é injectiva e logo bijectiva. Reciprocamente, se f é bijectiva então a correspondência g : Y → X da forma g(y) := x se e só se f (x) = y é uma função. Uma vez que para todo o y existe um x ∈ X tal que f (x) = y (pois f é sobrejectiva) e existe um só x ∈ X com esta propriedade (pois f é injectiva). Por definição g é o inverso de f . Seja f : X → Y uma função bijectiva. Tem-se f ◦ f −1 = idY e f −1 ◦ f = idX . 49 50 CAPÍTULO 4. PERMUTAÇÕES Definição 4.1.3 Uma função f : X → Y bijectiva diz-se também bijecção. Se existe uma bijecção entre dois conjuntos X e Y escrevemos X ' Y . Se X = Y uma bijecção f : X → X diz-se permutação. Denote-se por SX o conjunto de todas as permutações de X, isto é SX := {f : X → X | f é bijectiva }. SX diz-se o grupo simétrico de X. Observação 4.1.4 A composição de duas permutações é uma permutação. Pois, se f, g ∈ SX então f ◦ g : X → X com f ◦ g(x) := f (g(x)) é uma função. f ◦ g é bijectiva porque tem um inverso que é a função g −1 ◦ f −1 . Tem-se (f ◦ g)((g −1 ◦ f −1 )(x)) = f (g(g −1 (f −1 (x)))) = f (f −1 (x)) = x e (g −1 ◦ f −1 )((f ◦ g)(x)) = g −1 (f −1 (f (g(x)))) = g(g −1 (x)) = x ∀x ∈ X. Suponha que existe uma bijecção ϕ : X → Y entre dois conjuntos X e Y . Então existe também uma bijecção entre os grupos simétricos SX e SY . Observação 4.1.5 Sejam X e Y dois conjuntos não vazios. Suponha que existe uma bijecção ϕ : X → Y . Então a função ϕ : SX → SY f 7→ ϕ ◦ f ◦ ϕ−1 é uma bijecção entre SX e SY . (Note-se ϕ(f )(y) := ϕ(f (ϕ−1 (y)))) Demonstração: A função ϕ tem um inverso. Temos: Y y −→ X −→ X −→ Y −1 −1 7→ ϕ (y) 7→ f (ϕ (y)) 7→ ϕ(f (ϕ−1 (y))) = ϕ(f )(y) Seja ψ : SY → SX definido por ψ(g) := ϕ−1 ◦ g ◦ ϕ para qualquer g ∈ SY . Logo: ψϕ(f ) = ψ ϕ ◦ f ◦ ϕ−1 = ϕ−1 ◦ ϕ ◦ f ◦ ϕ−1 ◦ ϕ = f e ϕψ(g) = ϕ ϕ−1 ◦ g ◦ ϕ = ϕ ◦ ϕ−1 ◦ g ◦ ϕ ◦ ϕ−1 = g. Portanto ψ =: ϕ−1 é o inverso de ϕ. Queremos estudar o grupo simétrico de um conjunto finito X. 4.1. O GRUPO SIMÉTRICO 51 Observação 4.1.6 Seja X um conjunto com n elementos (n ≥ 1). Então existe uma bijecção entre X e o subconjunto {1, 2, . . . , n} de N. Em particular SX ' S{1,2,...,n} . Demonstração: Exercı́cio. Estamos particularmente interessados no caso de X ser um conjunto finito de ordem n (n ≥ 1). Pela observação anterior podemos supor que X := {1, 2, . . . , n}. Denotamos SX por Sn . Sn := {f : {1, 2, . . . , n} −→ {1, 2, . . . , n} | f é bijectiva }. Sn diz-se o grupo simétrico de grau n. A composição ◦ é uma operação binária em Sn e a identidade id em {1, 2, . . . , n} é o elemento neutro, i.e. f ◦id = f = id ◦ f para todo f ∈ Sn . Seja f ∈ SX , denota-se f 0 := id f k := f ◦ f ◦ · · · ◦ f | {z } k vezes para k ≥ 1 Denota-se ainda f −k := (f −1 )k para k ≥ 1. Observação 4.1.7 Seja f ∈ SX . Para todos m, n ∈ Z: f m ◦ f n = f m+n e (f m )n = f m·n . Sendo f ∈ Sn é usual representar f através de uma matriz 2 × n, da seguinte maneira: f= 1 2 ··· n f (1) f (2) · · · f (n) Tem-se na primeira linha os elementos de {1, 2, . . . , n} e abaixo de cada 1 ≤ i ≤ n tem-se a sua imagem f (i). Exemplo 4.1.8 Só existe uma função {1} → {1}, a identidade. Logo S1 = {id}. 1 Podemos escrever em vez de id : . 1 Existem quatro funções f : {1, 2} → {1, 2} mas só dois bijecções: a identidade e a função que troca 1 e 2, i.e. f (1) =2 e f (2) = 1. Logo S2 = {id, f }. Podemos 1 2 representar f na forma: f = . 2 1 52 CAPÍTULO 4. PERMUTAÇÕES Existem 27 funções f : {1, 2, 3} → {1, 2, 3} mas existem só seis bijecções: id = f3 = 1 2 3 1 2 3 1 2 3 3 2 1 f1 = f4 = 1 2 3 1 3 2 1 2 3 3 1 2 1 2 3 2 1 3 1 2 3 2 3 1 f2 = f5 = Logo S3 = {id, f1 , f2 , f3 , f4 , f5 }. A composição de dois permutações em Sn é também uma permutação. Por exemplo a composição de f3 e f5 : Tem-se f3 ◦ f5 (1) = f3 (f5 (1)) = f3 (2) = 2 f3 ◦ f5 (2) = f3 (f5 (2)) = f3 (3) = 1 f3 ◦ f5 (3) = f3 (f5 (3)) = f3 (1) = 3 Logo f3 ◦f5 = 1 2 3 3 2 1 1 2 3 2 3 1 = 1 2 3 2 1 3 = f2 . Para a composição f5 ◦ f3 tem-se: f5 ◦ f3 (1) = f5 (f3 (1)) = f3 (3) = 1 f5 ◦ f3 (2) = f5 (f3 (2)) = f3 (2) = 3 f5 ◦ f3 (3) = f5 (f3 (3)) = f3 (1) = 2 Logo f5 ◦ f3 = 1 2 3 2 3 1 1 2 3 3 2 1 = 1 2 3 1 3 2 = f1 . Note-se que f3 ◦ f5 = f2 6= f1 = f5 ◦ f3 Para calcular o inverso de uma permutação temos trocar as linhas. Por exem 1 2 3 e plo f5 = 2 3 1 f5−1 = 2 3 1 1 2 3 = 1 2 3 3 1 2 = f4 . Teorema 4.1.9 Seja n ≥ 1. O grupo simétrico Sn de grau n tem n! elementos. Demonstração: Seja f ∈ Sn . Temos n possibilidades para a imagem f (1), n − 1 possibilidades para f (2), n − 2 possibilidades para f (3), . . ., 2 possibilidades para f (n−1) e uma possibilidades para f (n). Logo f é uma das n(n−1)(n−2)·· · ··2·1 = n! bijecções possı́veis. Portanto |Sn | = n!. Teorema 4.1.10 Seja n ≥ 1. Para toda a permutação f ∈ Sn existe um k ∈ N tal que f k = id. 4.1. O GRUPO SIMÉTRICO 53 Demonstração: Consideramos o subconjunto P := {f k | k ≥ 1} ⊆ Sn . Como Sn é um conjunto finito (só tem n! elementos) o subconjunto P é um conjunto finito também. Portanto nem todas as potências f k são distintas. Portanto existem números n > m tal que f n = f m e f n = f m ⇔ f n ◦ f −m = f m ◦ f −m ⇔ f n−m = id. Logo existe um k ≥ 1 (aqui k = n − m) tal que f k = id. Definição 4.1.11 A ordem de f ∈ Sn é o menor inteiro positivo k ≥ 1 tal que f k = id. A ordem da identidade é igual 1. Exemplo 4.1.12 Seja n = 3 e f := 6= id 1 2 3 2 f = 1 3 2 1 Logo f tem ordem 2. Seja f := 3 1 2 3 1 3 2 ∈ S3 . f f f2 f3 1 2 3 1 2 3 = id. = 1 2 3 1 3 2 2 3 ∈ S3 . 1 2 6= id 1 2 1 2 3 = 3 1 2 3 1 1 2 3 1 2 = 3 1 2 2 3 3 = 2 3 = 1 1 2 1 1 2 3 2 2 3 6= id 1 3 = id 3 Logo f tem ordem 3. Observação 4.1.13 Seja n ≥ 1 e f ∈ Sn . Seja k a ordem de f . 1. Tem-se f −1 = f k−1 , pois f k = id implica f k−1 = f k ◦ f −1 = f −1 . 2. Suponha que f l = id para um inteiro l ≥ 1. Então k | l, pois f l = id implica l ≥ k como k e o menor inteiro positivo tal que f k = id. Pelo algoritmo da divisão existem inteiros q e r tais que l = qk + r e 0 ≥ r < k. Tem-se q id = f l = f qk ◦ f r = f k ◦ f r = (id)q ◦ f r = f r . Como k é o menor inteiro positivo com a propriedade f k = id e como r < k tem-se r = 0. Portanto l = qk ou seja k | l. 54 4.2 CAPÍTULO 4. PERMUTAÇÕES Ciclos e Transposições Definição 4.2.1 Seja f ∈ Sn . Definimos os elementos fixos fix(f ) := {i ∈ {1, 2, . . . , n} | f (i) = i} e o suporte de f sup(f ) := {i ∈ {1, 2, . . . , n} | f (i) 6= i} Obviamente temos fixf = {1, 2, . . . , n} \ supf . Note-se que supf = ∅ se e só se f = id. 1 2 3 4 Exemplo 4.2.2 Seja f = então sup(f ) = {1, 2, 3} e fix(f ) = 2 3 1 4 1 2 3 4 {4}. Note-se que f −1 = e sup(f −1 ) = sup(f ) e fix(f −1 ) = fix(f ). 3 1 2 4 Observação 4.2.3 Seja f ∈ Sn . Tem-se sup(f −1 ) = sup(f ). Também tem-se i ∈ sup(f ) se e só se f (i) ∈ sup(f ) para todo 1 ≤ i ≤ n. Demonstração: Seja i ∈ fix(f ). Então f (i) = i ⇒ f (f (i)) = f (i). Logo f (i) ∈ fix(f ). Se f (i) ∈ fix(f ) então f (f (i)) = f (i) ⇒ f −1 (f (f (i))) = f −1 (f (i)) ⇔ f (i) = i. Portanto i ∈ sup(f ) ⇔ i 6∈ fix(f ) ⇔ f (i) 6∈ fix(f ) ⇔ f (i) ∈ sup(f ). Seja i ∈ fix(f ), i.e i = f (i) então f −1 (i) = f −1 (f (i)) = i implica i ∈ fix(f −1 ). Seja i ∈ fix(f −1 ) , i.e. f −1 (i) = i. Então i = f (f −1 (i)) = f (i) implica i ∈ fix(f ). Logo sup(f ) = sup(f −1 ). Definição 4.2.4 Seja m ≥ 2. Uma permutação f ∈ Sn diz-se m-ciclo se se puder ordenar o suporte de f sup(f ) = {a1 , a2 , . . . , am } com ai 6= aj ∀i 6= j, de forma que f (ai ) = ai+1 (∀i ∈ {1, . . . , m − 1}) e f (am ) = a1 Escrevemos f = (a1 a2 · · · am ) para um m-ciclo f . Um 2-ciclo diz-se uma transposição. identidade um 1-ciclo. Note-se que a notação f = (a1 · · · am ) é ambı́gua. Para ser precisa, é necessário indicar o grupo Sn ao qual f pertence. 1 2 3 4 Exemplo 4.2.5 Seja f = ∈ S4 então sup(f ) = {1, 2, 3}. Pode3 1 2 4 mos ordenar o suporte da forma sup(f ) = {1, 3, 2} ou seja sup(f ) = {a1 , a2 , a3 } com a1 = 1, a2 = 3 e a3 = 2, pois temos f (a1 ) = a2 , f (a2 ) = a3 e f (a3 ) = a1 . Logo f é um 3-ciclo f = (132). 4.2. CICLOS E TRANSPOSIÇÕES 55 1 2 3 4 Note-se que = é também um 3-ciclo. O suporte sup(f −1 ) = 2 3 1 4 sup(f ) = {1, 3, 2} pode ser ordenado da forma sup(f −1 ) = {1, 2, 3}. Temos −1 −1 f −1 (1) = 2, f −1 (2) = 3, f (3) = 1. Logo f = (123). 1 2 3 4 Seja g = . O suporte sup(g) = {1, 2, 3, 4} não pode ser or2 1 4 3 denado da forma sup(g) = {a1 , a2 , a3 , a4 } tal que g(ai ) = ai+1 para i = 1, 2, 3 e g(a4 ) = a1 . Por exemplo começamos com a1 = 1 tem-se g(1) = 2 e g(2) = 1. Portanto temos um 2-ciclo (12) ”dentro” g. Não é difı́cil de ver que g = (12)(34). Como ciclos são permutações, a composição de ciclos é definido. Mas em geral o produto de dois ciclos não é um ciclo. Por exemplo 1 2 3 4 1 2 3 4 1 2 3 4 (12)(34) = = = g. 2 1 3 4 1 2 4 3 2 1 4 3 f −1 O produto dos ciclos (23)(543) é igual 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 = (2354). (23)(543) = = 1 3 5 2 4 1 3 2 4 5 1 2 5 3 4 Observação 4.2.6 Seja f = (a1 · · · am ) ∈ Sn um m-ciclo. Então f −1 é um mciclo também e tem-se f −1 = (am am−1 · · · a2 a1 ) Demonstração: Tem-se f (ai ) = ai+1 para 1 ≤ i < m e f (am ) = a1 . Logo f −1 (ai+1 ) = f −1 (f (ai )) = ai para 1 ≤ i < m e f −1 (a) = f −1 (f (am )) mostra que o suporte sup(f −1 ) = sup(f ) = {am , am−1 , . . . , a1 } pode ser ordenado na forma querida. Logo f = (am am−1 · · · a1 ) é um m-ciclo. Note-se que os m-ciclos (a1 a2 · · · am ) e (am a1 · · · am−1 ) são iguais. Logo o inverso (231) do ciclo (132) é igual o ciclo (123). Teorema 4.2.7 A ordem de um m-ciclo é m. Demonstração: Seja f = (a1 · · · am ) um m-ciclo. Seja 1 ≤ k < m. Tem-se f k (a1 ) = f k−1 (a2 ) = f k−2 (a3 ) = · · · = f 2 (ak−1 ) = f (ak ) = ak+1 . Então f k (a1 ) = ak+1 6= a1 mostra que a ordem de f é ≥ m. Temos f m (a1 ) = f (f m−1 (a1 )) = f (am−1+1 ) = f (am ) = a1 . Para qualquer 1 < i ≤ m tem-se f m (ai ) = f m (f i−1 (a1 )) = f i−1 (f m (a1 )) = f i−1 (a1 ) = ai . Portanto m é a ordem de f . 56 CAPÍTULO 4. PERMUTAÇÕES 1 2 3 4 5 6 Exemplo 4.2.8 Seja f = ∈ S6 . Podemos ordenar o su3 5 2 6 4 1 porte sup(f ) = {1, 2, 3, 4, 5, 6} = {1, 3, 2, 5, 4, 6} tal que f (1) = 3, f (3) = 2, f (2) = 5, f (5) = 4, f (4) = 6 e f (6) = 1. Logo f = (132546) é um 6-ciclo. Portanto a ordem de f é 6. Definição 4.2.9 Dois permutações f e g de Sn dizem-se disjuntas se sup(f ) ∩ sup(g) = ∅. Observação 4.2.10 Sejam f, g ∈ Sn permutações disjuntas então f ◦ g = g ◦ f . Demonstração: Tem-se {1, 2, . . . , n} = sup(f ) ∪ sup(g) ∪ (fix(f ) ∩ fix(g)) como conjuntos disjuntos. Para todo i ∈ fix(f )∩fix(g) temos f (g(i)) = f (i) = i = g(i) = g(f (i)). Para todo i ∈ sup(f ) temos i ∈ fix(g) e logo f (g(i)) = f (i) = g(f (i)) (ver 4.2.3). Analogamente temos para todo i ∈ sup( g) também f (g(i)) = g(i) = g(f (i)). Portanto f ◦ g = g ◦ f . Digamos também que as permutações f e g comutam se f ◦ g = g ◦ f . Teorema 4.2.11 Seja f e g dois permutações disjuntas de Sn . A ordem da composição f ◦ g é o mı́nimo múltiplo comum das ordens de f e de g: ord(f ◦ g) = mmc(ord(f ), ord(g)). Demonstração: Seja k = mmc(ord(f ), ord(g)). Como f e g são disjuntas temos f ◦g =g◦f e p q (f ◦ g)k = (f ◦ g) ◦ · · · ◦ (f ◦ g) = f k ◦ g k = f ord(f ) ◦ g ord(g) = id | {z } k− vezes onde q = k/ord(f ) e p = k/ord(g). Logo m := ord(f ◦ g) ≤ k. Tem-se id = (f ◦ g)m = f m ◦ g m implica f m = g −m e sup(f m ) = sup(g −m ) = sup(g m ). Como fix(g) ⊆ fix(g m ) temos sup(g) ⊇ sup(g m ). Logo sup(f m ) = sup(g m ) ⊆ sup(f ) ∩ sup(g) = ∅ implica sup(f m ) = ∅ = sup(g m ) ou seja f m = id = g m . Portanto ord(f ) | m e ord(g) | m implica k = mmc(ord(f ), ord(g)) ≤ m. Logo m = k. Teorema 4.2.12 Toda a permutação de Sn é um produto de ciclos disjuntos. Além disso, o produto é único a menos da permutação identidade e da ordem dos factores. 4.2. CICLOS E TRANSPOSIÇÕES 57 Demonstração: Seja f ∈ Sn . Definimos uma relação de equivalência no conjunto {1, 2, . . . , n} por i ∼ j se e só se j = f k (i) para algum k ≥ 0. Seja [i]∼ := {j ∈ {1, 2, . . . , n} | i ∼ j} a classe de i. Tem-se [i]∼ = {i} ⇔ i ∈ fix(f ). Como o conjunto {1, 2, . . . , n} é finito temos só um número finito de classes distintas. Sejam [a1 ]∼ , [a2 ]∼ , . . . , [ak ]∼ as classes com mais do que 1 elemento. Então {1, 2, . . . , n} = fix(f ) ∪ [a1 ]∼ ∪ [a2 ]∼ ∪ · · · ∪ [ak ]∼ . Para cada 1 ≤ i ≤ k seja mi ≥ 1 o menor inteiro positivo tal que f mi +1 (ai ) = ai . Tem-se [ai ]∼ = {ai , f (ai ), f 2 (ai ), . . . , f mi (ai )} Seja gi := (ai f (ai )f 2 (ai ) · · · f mi (ai )) o mi -ciclo. Então temos f = g1 ◦ g2 ◦ · · · ◦ gk . Para todo x ∈ fix(f ) tem-se gi (x) = x, ∀1 ≤ i ≤ k. Portanto g1 ◦ g2 ◦ · · · ◦ gk (x) = x = f (x). Seja x ∈ [ai ]∼ então x = f r (ai ) para 0 ≤ r ≤ mi . Portanto gi (x) = gi (f r (ai )) = f r+1 (ai ) = f (f r (ai )) = f (x). Como x, f (x) 6∈ [aj ]∼ para j 6= i. Tem-se gj (x) = x e gj (f (x)) = f (x) para j 6= i. Logo g1 ◦g2 ◦· · ·◦gk (x) = · · · = g1 ◦ g2 ◦· · ·◦gi−1 ◦gi (x) = g1 ◦ g2 ◦· · ·◦gi−1 (f (x)) = · · · = f (x). Portanto para todo x ∈ {1, 2, . . . n}, f (x) = g1 ◦ · · · ◦ gk (x). Suponhamos f = g1 · · · gk = h1 · · · hl é produto de ciclos disjuntos gi e hj . Seja x ∈ sup(f ) então existem i, j tais que x ∈ sup(gi ) e x ∈ sup(hj ). Sem perda da generalidade podemos supor i = j = 1. Tem-se g1r (x) = f r (x) = hr1 (x) para todo r ∈ N. Portanto existe um r ≥ 1 tal que g1r (x) = x = hr1 (x). Tem-se g1 = (xg1 (x)g12 (x) · · · g1r (x)) = h1 . ˜ Logo g1 = h1 ou seja g1−1 f = h−1 1 f =: f . Repetindo o processo conclui-se que k = l e, a menos da ordem dos factores fi = gi . 1 2 3 4 5 6 . Então sup(f ) = {1, 2, 3, 5, 6}. 3 1 2 4 6 5 Escolhemos um número i ∈ sup(f ); por exemplo i = 1. Tem-se 1, f (1) = 3, f 2 (1) = f (3) = 2, f 3 (1) = f 2 (3) = f (2) = 1. Logo temos um 3-ciclo Exemplo 4.2.13 Seja f = g1 := (132) 58 CAPÍTULO 4. PERMUTAÇÕES Depois escolhemos um número i ∈ sup(f ) \ sup(g1 ) = {5, 6}; por exemplo i = 5. Tem-se 5, f (5) = 6, f 2 (5) = f (6) = 5. Logo temos uma transposição g2 := (56). Agora sup(f ) \ (sup(g1 ) ∪ sup(g2 ) = ∅ ou seja sup(f ) = sup( g1 ) ∪ sup(g2 ). Podemos representar f como produto dos ciclos g1 e g2 . f = g1 ◦ g2 = (132)(56). Seja f = 1 2 3 4 5 6 4 5 6 1 2 3 . Então sup(f ) = {1, 2, 3, 4, 5, 6}. Definição 4.2.14 Seja f ∈ Sn . A função Sn → Sn g 7→ f ◦ g ◦ f −1 diz-se a conjugação com f . Observação 4.2.15 Seja g = (a1 . . . am ) um m-ciclo e seja f ∈ Sn (n ≥ m). Então f ◦ g ◦ f −1 = (f (a1 ) · · · f (am )). Demonstração: Seja h := f gf −1 . Temos sup(h) = {f (a1 ), . . . , f (am )} porque se x ∈ sup(h) então h(x) = f gf −1 (x) 6= x ou seja gf −1 (x) 6= f −1 (x). Logo f −1 (x) ∈ sup(g) = {a1 , . . . , am } ou seja x = f (ai ) para um i ∈ {1, . . . , m}. Para todo o elemento f (ai ) tem-se h(f (ai )) = f gf −1 (f (ai )) = f (g(ai )) = f (ai+1 ) com am+1 := a1 . Portanto f (ai ) ∈ sup(f gf −1 ) e h = (f (a1 ) · · · f (am )) é um m-ciclo. Teorema 4.2.16 Toda a permutação é produto de transposições. Demonstração: Seja f = (a1 · · · am ) um m-ciclo. Então f = (a1 a2 )(a2 a3 ) · · · (am−1 am ). Logo f é produto de transposições. Pelo 4.2.12 toda a permutação é produto de ciclos. Como todo ciclo é produto de transposições também toda a permutação é produto de transposições. 4.3. PERMUTAÇÕES PARES E ÍMPARES 4.3 59 Permutações pares e ı́mpares Pelo 4.2.16 sabemos que toda a permutação é produto de transposições. Esta factorização não é única como podemos ver no exemplo (23) = (12)(13)(12). Mas o número dos factores de duas factorizações é igual módulo 2: Teorema 4.3.1 Seja f ∈ Sn . Suponha que f pode ser escrito de duas maneiras como produto de transposições com k e com l factores. Então k e l são ambos números pares ou ambos ı́mpares. Demonstração: Primeiro vamos mostrar que é impossı́vel escrever a identidade id como um produto de um número ı́mpar das transposições. Seja id = t1 · · · tm um produto de m ≥ 1 transposições. Seja t1 = (x, y). Como permutações disjuntas comutam podemos supor que existe um número l tal que ti = (x, yi ) para 2 ≤ i ≤ l e x 6∈ sup(ti ) para l + 1 ≤ i ≤ m. Seja g := t2 · · · tl = (x, y2 ) · · · (x, yl ) e h = tl+1 · · · tm . Tem-se id = (x, y)gh e x = id(x) = (x, y)gh(x) = (x, y)g(x). Logo y = (x, y)(x) = g(x) implica y ∈ sup(g). Portanto existe uma transposição (x, yi ) em g tal que y ∈ sup((x, yi )) para um i entre 2 e l. Como sup((x, yi )) = {x, yi } tem-se y = yi . Logo id = (x, y)gh = (x, y)(x, y2 ) · · · (x, yi−1 )(x, y)(x, yi+1 ) · · · (x, yl )h = [(x, y)(x, y2 )(x, y)] [(x, y)(x, y3 )(x, y)] [· · ·] [(x, y)(x, yi−1 )(x, y)] (x, yi+1 ) · · · (x, yl )h = (y, y2 )(y, y3 ) · · · (y, yi−1 )(x, yi+1 ) · · · (x, yl )tl+1 · · · tm Portanto id é produto de (i−1−2+1)+(m−(i+1)+1) = m−2 transposições. Continuando assim reduzimos os números de factores cada vez por dois. Suponhamos que m é ı́mpar então chegamos à conclusão que id é igual a uma transposição, o que é impossı́vel uma vez que o suporte da uma transposição tem sempre dois elementos mas o suporte da identidade é vazia. Portanto qualquer produto de transposições que representa a identidade tem um número par de factores. Agora seja f ∈ Sn uma permutação. Suponhamos que f = t1 · · · tk = s1 · · · sm para algumas transposições ti e sj . Então id = f f −1 = t1 · · · tk · sm · · · s1 o que implica que k + m é par. Portanto k e m são ambos par ou ambos ı́mpares. 60 CAPÍTULO 4. PERMUTAÇÕES Definição 4.3.2 Uma permutação diz-se par se é produto de um número par de transposições e ı́mpar se é produto de um número ı́mpar de transposições. Definimos a função sign : Sn −→ {−1, 1} com −1 se f é ı́mpar sign(f ) := 1 se f é par sign(f ) diz-se o sinal de f . Exemplo 4.3.3 Seja f = (12345) ∈ S5 . Temos f = (12)(23)(34)(45). Logo f é uma permutação par e sign(f ) = 1. Se f = t1 · · · tk é produto de transposições então sign(f ) = (−1)k . Observação 4.3.4 Seja n ≥ 2 e sejam f, g ∈ Sn . Tem-se (i) sign(id) = 1; (ii) sign(f ◦ g) = sign(f ) · sign(g); (iii) sign(f −1 ) = sign(f ); (iv) se f = (a1 . . . am ) é um m-ciclo então sign(f ) = (−1)m−1 . Demonstração: (i) id = (12)(12) é uma permutação par. (ii) Seja f = t1 · · · tk e g = s1 · · · sl com transposições ti , sj . Temos sign(f ◦ g) = (−1)k+l = (−1)k · (−1)l = sign(f ) · sign(g). (iii) Seja f = t1 · · · tk produto de transposições ti . Então tk · · · t1 f = id ⇒ f −1 = tk · · · t1 ⇒ sign(f −1 ) = (−1)k = sign(f ). (iv) Um m-ciclo f = (a1 · · · am ) é igual f = (a1 a2 )(a2 a3 ) · · · (am−1 am ) que é produto de m − 1-transposições. Logo sign(f ) = (−1)m−1 . Como vimos anterior um m-ciclo f é uma permutação par se m é ı́mpar e f é uma permutação ı́mpar se m é par. Vimos também que a composição de dois permutações pares é par e o inverso de uma permutação par é par. Definição 4.3.5 Denotamos por An o subconjunto de Sn das permutações pares. Da observação 4.3.4 decorre que • Para duas permutações pares f, g ∈ An a composição f ◦ g pertence An . • id ∈ An . 4.3. PERMUTAÇÕES PARES E ÍMPARES 61 • Se g ∈ An então g −1 ∈ An . An diz-se o grupo alterno de n elementos. Teorema 4.3.6 Seja n ≥ 2. Tem-se que An tem n! 2 elementos. Demonstração: Seja Bn = Sn \ An o conjunto das permutações ı́mpares em Sn . Tem-se que ϕ : An −→ Bn f 7→ f (12) ϕ é uma função bijectiva porque tem um inverso (a função ϕ−1 : Bn → An que leva f a f (12)). Como An e Bn são subconjuntos de Sn e como Sn é um conjunto finito também An e Bn são conjuntos finitos. Uma bijecção entre dois conjuntos finitos implica que os dois conjuntos têm o mesmo número de elementos. Logo |An | = |Bn |. Como Sn = An ∪ Bn e An ∩ Bn = ∅ tem-se n! = |Sn | = |An | + |Bn | = 2|An |. Portanto |An | = n! 2. Exemplo 4.3.7 Se n = 2, então |A2 | = 1, A2 = {id}. Se n = 3, então |A3 | = 26 = 3 e A3 = {id, (123), (132)}. Os 3-ciclos são os ciclos de menor cumprimento que são permutações pares e, de facto, para n ≥ 3, toda a permutação de An é produto de 3-ciclos. Teorema 4.3.8 Seja n ≥ 3. Toda a permutação em An é produto de 3-ciclo. Demonstração: Tem-se que id = (123)(123). O produto de dois transposições diferentes pode ser escrito como produto de 3-ciclos. Sejam (ab), (cd) ∈ Sn com (ab) 6= (cd). Se a, b, c, d são todas diferentes, então (ab)(cd) = (adc)(abc). Suponha que existe um elemento comum às duas transposições. Sem perda da generalidade podemos supor a = c, então (ab)(cd) = (ab)(ad) = (adb). Como toda a permutação f em An é produto de um número par de transposições podemos representar f como produto de 3-ciclos. Exemplo 4.3.9 Seja n = 5 e seja f = (13)(24)(54)(24) ∈ A5 . Tem-se (13)(24) = (124)(134) e (54)(24) = (254). Logo f = (124)(134)(254). 62 CAPÍTULO 4. PERMUTAÇÕES Capı́tulo 5 Monóides e Grupos 5.1 Operações Binárias Seja M um conjunto não vazio. Qualquer função : M × M → M diz-se uma operação binária em M . Em vez de ((x, y)) escrevemos x y para todo x, y ∈ M (“Infix-notação). O par (M, ) diz-se um grupóide. Uma operação binária diz-se associativa se x (y z) = (x y) z para todos os elementos x, y, z ∈ M . Neste caso o par (M, ) diz-se um semigrupo. A operação binária diz-se comutativa se x y=y x para todos os elementos x, y ∈ M . Um elemento e ∈ M que tem a propriedade x e=x=e x para todo x ∈ M diz-se o elemento neutro do grupóide (M, ). Observação 5.1.1 Um grupóide tem apenas um elemento neutro. Demonstração: Seja (M, ) um grupóide e sejam e, f ∈ M elementos neutros de (M, ). Então e = e f = f . Logo e = f . Um triplo (M, , e) diz-se monóide se (M, ) é um semigrupo e e é o elemento neutro de (M, ). Exemplo 5.1.2 1. (N, +, 0), (Z, +, 0), (Q, +, 0), (R, +, 0), (C, +, 0) são monóides. 2. (M, ·) são semigrupos e (M \ {0}, ·, 1) são monóides para M = N, Z, Q, R, C. 63 64 CAPÍTULO 5. MONÓIDES E GRUPOS 3. (Zn , +, [0]n ) e (Zn \ {[0]n }, ·, [1]n ) são monóides para n ≥ 1. 0 0 a b 4. (M2 (A), +, ) é um monóide onde M2 (A) = { | a, b, c, d ∈ 0 0 c d A} para A = N, Z, Q, R, C. 5. O conjunto dos polinómios (A[X], +, 0) com coeficientes em A = N, Z, Q, R, C é um monóide. 5.2 Monóides Observação 5.2.1 Sejam (M, , e) e (N, ~, f ) monóides. No produto cartesiano M × N podemos definir uma operação binária : (M × N ) × (M × N ) → (M × N ) por (m, n) (m0 , n0 ) := (m m0 , n ~ n0 ) para todos os elementos (m, n), (m0 , n0 ) ∈ M × N . Então (M × N, , (e, f )) é um monóide e diz-se o produto directo de M e N . Demonstração: Por definição é uma função. Então (M ×N, ) é um grupóide. O elemento (e, f ) é o elemento neutro de (M ×N, ), pois para todo (m, n) ∈ M ×N tem-se (m, n) (e, f ) = (m e, n ~ f ) = (m, n) = (e m, f ~ n) = (e, f ) (m, n). A operação é associativa, porque para (m, n), (m0 , n0 ), (m00 , n00 ) ∈ M × N tem-se (m, n) ((m0 , n0 ) (m00 , n00 )) = (m = ((m (m0 m0 ) m00 ), n ~ (n0 ~ n00 )) m00 ), (n ~ n0 ) ~ n00 ) = ((m, n) (m0 , n0 )) (m00 , n00 ) Portanto (M × N, , (e, f )) é um monóide. Definição 5.2.2 Seja (M, , e) um monóide. Um subconjunto N ⊆ M diz-se submonóide de M se (i) e ∈ N (ii) N é fechado para , i.e. ∀x, y ∈ N ⇒ x y ∈ N. Observação 5.2.3 Sejam (M, , e) um monóide e C um conjunto de submonóides de M . Então \ N N ∈C é um submonóide de M . 5.2. MONÓIDES 65 T Demonstração: Como e ∈ N para todo N ∈ C, e ∈ N ∈C N . Sejam x, y ∈ T N ∈C N então x, y ∈ N para todo N ∈ C. Logo \ x y ∈ N ∀N ∈ C ⇒ x y ∈ N. N ∈C Seja A um conjunto não vazio que designamos por alfabeto (os elementos de A são as letras). Seja A+ o conjunto das palavras no alfabeto A, i.e. as sequências a1 a2 · · · an com ai ∈ A. Seja A∗ = A+ ∪ {∅}, onde ∅ é a palavra vazia. Define-se a operação · de concatenação da seguinte maneira: (a1 · · · an ) · (b1 · · · bm ) = a1 · · · an b1 · · · bm ∅·∅=∅ (a1 · · · an ) · ∅ = a1 · · · an = ∅ · (a1 · · · an ) para ai , bj ∈ A. Então (A+ , ·) é um semigrupo e (A∗ , ·, ∅) é um monóide, que se diz o monóide livre em A. Suponha A = {x} então h : N → A∗ com h(0) := ∅ e h(k) := |xx{z · · · x} é uma k−vezes função bijectiva. Temos também h(k + l) = h(k) · h(l). Definição 5.2.4 Sejam (M, , e) e (N, ~, f ) dois monóides. Uma função h : M → N diz-se homomorfismo de monóides se (i) h(e) = f (ii) h(m m0 ) = h(m) ~ h(m0 ) para todo m, n ∈ M . Se h é uma função bijectiva h diz-se um isomorfismo de monóides. Se existe um isomorfismo entre dois monóides M e N dizemos que M e N são isomorfos e escrevemos M ' N . Vimos que os monóides (N, +, 0) e ({x}∗ , ·, ∅) são isomorfos. Observação 5.2.5 Seja f : M → N um isomorfismo entre monóides. Então | M |=| N | e f −1 : N → M é também um isomorfismo de monóides. Definição 5.2.6 Sejam (M, , e) um monóide e D um subconjunto de M . O submonóide gerado por D é hDi := {x1 x2 ··· xn | n ≥ 1, xi ∈ D} ∪ {e}. Observação 5.2.7 Sejam (M, , e) um monóide e D um subconjunto de M . 1. hDi é o menor submonóide de M que contém D. T 2. hDi = N ∈C N onde C é o conjunto dos submonóides N de M que contêm D. 66 CAPÍTULO 5. MONÓIDES E GRUPOS 5.3 Invertibilidade em monóides Definição 5.3.1 Sejam (M, , e) e x, y ∈ M . Diz-se que y é o inverso de x se x y=e=y x. Se x tem um inverso dizemos que x é invertı́vel. Neste caso denota-se o inverso de x por x−1 . Observação 5.3.2 Um elemento de um monóide tem apenas um inverso. Demonstração: Seja x um elemento de um monóide (M, , e) e suponhamos que y e z são inversos de x. Então y=y e=y (x z) = (y x) z=e z = z. Seja U (M ) := {x ∈ M | x é invertı́vel }. Observação 5.3.3 Sejam (M, , e) e x, y ∈ M . 1. e é invertı́vel, i.e. e ∈ U (M ). 2. se x e y são invertı́veis então x y é invertı́vel, i.e x y ∈ U (M ). O inverso de x y é (x y)−1 = y −1 x−1 . 3. U (M ) é um submonóide de M . Demonstração: 1) Como e (x y) (y −1 e = e, e é invertı́vel. 2) Como x−1 ) = x y −1 ) (y x−1 = x x−1 = x e x−1 = e e (y −1 Tem-se (x x−1 ) (x y) = y −1 y)−1 = y −1 (x−1 y = y −1 x) e y = y −1 y=e x−1 . Teorema 5.3.4 Sejam (M, , e) um monóide e x ∈ M um elemento invertı́vel. Então para qualquer a, b ∈ M , se a x = b x ou x a = x b então a = b. Demonstração: Seja x−1 o inverso de x então a x=b x ⇒ (a x−1 = (b x) x−1 ) = b ⇒ a (x ⇒ a e=b e ⇒ a = b. Analogamente mostra-se que x a=x b ⇒ a = b. x) (x x−1 x−1 ) 5.4. GRUPOS 5.4 67 Grupos Definição 5.4.1 Um grupo é um monóide (G, ·, e) tal que todo o elemento de G é invertı́vel. Então (G, ·, e) é um grupo se • G é um conjunto • · : G × G −→ G é uma operação binária • e ∈ G é o elemento neutro, i.e. a · e = a = e · a∀a ∈ G • todo o elemento de G tem um inverso (em G), i.e. ∀g ∈ G : ∃h ∈ G : h · g = e = g · h. Exemplo 5.4.2 1. (Z, +, 0) é um grupo. 2. (Z, ·, 1) não é um grupo, mas ({1, −1}, ·, 1) é um grupo. 3. (Q, +, 0) e (Q \ {0}, ·, 1) são grupos. 4. (Sn , ◦, id) e (An , ◦, id) são grupos. 1 0 0 0 ) são grupos onde ) e (GL2 (Q), ·, 5. (M2 (Q), +, 0 1 0 0 GL2 (Q) := {A ∈ M2 (Q) | det A 6= 0}. Um grupo cuja operação binária é comutativa diz-se também grupo abeliano. Observação 5.4.3 Sejam G1 e G2 grupos. O produto directo G1 ×G2 é um grupo. Demonstração: Sejam (G1 , , e1 ) e (G2 , ~, e2 ) grupos. Sabemos que G1 × G2 é um monóide com a operação binária: (a1 , a2 ) (b1 , b2 ) := (a1 b 1 , a2 ~ b 2 ) e com o elemento neutro (e1 , e2 ). Como G1 e G2 são grupos todo o elemento a1 ∈ G1 e a2 ∈ G2 tem um inverso. Logo o inverso do elemento (a1 , a2 ) ∈ G1 × G2 −1 é o elemento (a−1 1 , a2 ), pois −1 (a1 , a2 ) (a−1 1 , a2 ) = (a1 −1 a−1 1 , a2 ~ a2 ) = (e1 , e2 ). Definição 5.4.4 Seja H um subconjunto de um grupo G. H diz-se um subgrupo de G se H é um submonóide de G tal para todo h ∈ H também o inverso h−1 pertence H. 68 CAPÍTULO 5. MONÓIDES E GRUPOS Então um subconjunto H de um grupo G é um subgrupo de G se • e∈H • ∀h ∈ H : h−1 ∈ H • ∀h, g ∈ H : hg ∈ H. Exemplo 5.4.5 1. An é um subgrupo de Sn 2. (Z, +, 0) é um subgrupo de (Q, +, 0). 3. (Z \ {0}, ·, 1) não é um subgrupo de (Q \ {0}, ·, 1). 4. SL2 (Q) é um subgrupo de GL2 (Q). 5. (2Z4 , +, [0]4 é um subgrupo de (Z4 , +, [0]4 ) onde 2Z4 := {[2a]4 | a ∈ Z} = {[0]4 , [2]4 }. Observação 5.4.6 Seja C um conjunto de subgrupos de um grupo G. Então T H∈C H é um subgrupo de G. T Demonstração: Seja K := H∈C H. Já sabemos que K é um submonóide de G. Seja k ∈ K então k ∈ H para todo H ∈ C. Como H é um subgrupo temos k −1 ∈ H para todo H ∈ C. Logo k −1 ∈ K. Definição 5.4.7 Seja (G, , e) um grupo e D ⊆ G um subconjunto. O subgrupo gerado por D em G é hDi := {x1 x2 ··· xn | n ≥ 0 e xi ∈ D ou x−1 i ∈ D}. Por convenção o produto com 0 factores é igual a e (= o elemento neutro de G). Note-se que hDi é igual ao submonóide gerado por D∪D−1 onde D−1 := {d−1 | d ∈ D}. Observação 5.4.8 Seja G um grupo e D ⊆ G. 1. hDi é o menor subgrupo de G que contém D. T 2. hDi = H∈C H onde C é o conjunto dos subgrupos H de G que contêm D. Definição 5.4.9 Suponha G = hDi para um subconjunto D ⊆ G. Então dizemos que G é gerado por D e D é um conjunto dos geradores de G. Se existe um conjunto finito D = {d1 , d2 , . . . , dm } tal que G = hDi então G diz-se finitamente gerado. Se existe um elemento d ∈ G tal que G = h{d}i então G diz-se cı́clico. 5.4. GRUPOS 69 Usamos a seguinte notação. Seja x um elemento de um grupo (G, , e) e seja k ∈ Z: xk := |x ·{z · · x} para k > 0, k−vezes xk := e para k = 0, −1 −1 para k < 0. xk := x · · · x {z } | |k|−vezes Note-se que se G = Z e 0 6= x ∈ Z então no grupo (Z, +, 0) temos xk = x · · + x} = kx | + ·{z k−vezes para k > 0 e xk = (−x) + · · · + (−x) = (−k)x | {z } |k|−vezes para k < 0. No grupo (Q \ {0}, ·, 1) temos xk = x · · · x} = xk | · ·{z k−vezes para k > 0 e xk = 1 1 1 · ··· · = k x x x | {z } |k|−vezes para k < 0. Observação 5.4.10 1. Todo o grupo G é gerado pelos seus elementos, i.e. G = hGi. Logo se o conjunto G é finito, G é finitamente gerado. 2. O grupo (Z, +, 0) é cı́clico, pois Z = h{1}i. 3. Seja (G, , e) um grupo abeliano e D ⊆ G. Então hDi = {xk11 xk22 ··· xknn | n ≥ 0, ki ∈ Z, xi ∈ D e xi 6= xj ∀i 6= j}. 4. O grupo (Q, +, 0) não é finitamente gerado. Demonstração: (1),(2) exercı́cio; (3) Por definição qualquer elemento x ∈ hDi é igual x = x1 x2 · · · xm para xi ∈ D ou x−1 ∈ D. Como a operação i é comutativo podemos reordenar os factores e obtemos x = y1k1 · · · ynkn para yi ∈ {x1 , . . . , xm } e yi 6= yj e ki ∈ Z. Portanto todo o elemento de hDi pode ser descrito desta forma. m } ⊂ Q. Por (3) todo o elemento x ∈ hDi pode ser escrito (4) Seja D := { ab11 , . . . , abm como a1 am x = k1 + · · · km b1 bm 70 CAPÍTULO 5. MONÓIDES E GRUPOS onde ki ∈ Z. Calculando esta soma obtemos um elemento de Q da forma x= c b1 b2 · · · bm para algum c ∈ Z ( talvez seja possı́vel simplificar este termo, mas isso será ignorado aqui). Seja p um primo tal que p - bi para todo 1 ≤ i ≤ m. Então 1 1 p 6∈ hDi, caso contrário suponhamos que p ∈ hDi. Então existira um c ∈ Z tal que p1 = b1 b2c···bm ou seja b1 b2 · · · bm = cp. Logo p | b1 b2 · · · bm . Assim, como p é primo, p | bi para algum 1 ≤ i ≤ m - absurdo. Portanto p1 6∈ hDi e Q 6= hDi para qualquer subconjunto finito D de Q. Logo Q não é finitamente gerado. Definição 5.4.11 Sejam (G1 , , e1 ) e (G2 , ~, e2 ) grupos. Uma função f : G1 −→ G2 diz-se um homomorfismo de grupos se f é um homomorfismo de monóides tal que f (x−1 ) = f (x)−1 para todo x ∈ G1 . Então f : G1 −→ G2 é um homomorfismo de grupos se • f (e1 ) = e2 ; • ∀x ∈ G1 : f (x−1 ) = f (x)−1 ; • ∀x, y ∈ G1 : f (x y) = f (x) ~ f (y). Observação 5.4.12 Seja f : G1 → G2 uma função. Então f é um homomorfismo de grupos se e só se f (x y) = f (x) ~ f (y). Demonstração: ⇒ por definição. ⇐ Temos f (e1 ) = f (e1 ) ~ e2 = f (e1 ) ~ (f (e1 ) ~ f (e1 )−1 ) = f (e1 e1 ) ~ f (e1 )−1 = f (e1 ) ~ f (e1 )−1 = e2 Para todo x ∈ G1 temos f (x)−1 = f (x)−1 ~ e2 = f (x)−1 ~ f (e1 ) = f (x)−1 ~ f (x x−1 ) = f (x)−1 ~ f (x) ~ f (x−1 ) = f (x−1 ). 5.4. GRUPOS 71 Seja f : G1 −→ G2 um homomorfismo de grupos. O subconjunto de G1 Ker(f ) := {x ∈ G1 | f (x) = e2 } diz-se o núcleo de f . Para a imagem de f escrevemos f (G1 ). Teorema 5.4.13 Seja f : G1 −→ G2 um homomorfismos de grupos. 1. A imagem f (G1 ) é um subgrupo de G2 . 2. O núcleo Ker(f ) é um subgrupo de G1 . 3. O homomorfismo f é injectivo se e só se Ker(f ) = {e1 }. 4. se f é um isomorfismo então f −1 : G2 → G1 é um isomorfismo também. Demonstração: (3) Suponhamos que Ker(f ) = {e1 }. Sejam x, y ∈ G1 tais que f (x) = f (y). Então e2 = f (y) ~ f (x)−1 = f (y x−1 ). Logo y x−1 ∈ Ker(f ) = {e1 }. Consequentemente y x−1 = e1 ou seja y = x. Portanto f é injectivo. Se f é injectivo e f (x) = e2 logo x = e1 . Teorema 5.4.14 (Teorema de Cayley) Qualquer grupo (G, , e) é isomorfo a um subgrupo de um grupo simétrico SX . Demonstração: Seja X = G e SX o grupo simétrico do conjunto X. Para qualquer g ∈ G seja Lg : X → X a função: Lg (x) = g x. Tem-se Lg ◦ Lg−1 (x) = g g −1 x = x = id(x) para qualquer x ∈ X, portanto Lg é bijectiva e Lg ∈ SX . Nota que Lg h (x) =g h x = Lg (Lh (x)) = (Lg ◦ Lh )(x) para qualquer x ∈ X. A aplicação L : G → SX com f (g) = Lg é um homomorfismo de grupos, porque f (g h) = Lg h = Lg ◦ Lh = f (g) ◦ f (h). Se f (g) = Lg = id, então e=g g −1 = Lg (g −1 ) = id(g −1 ) = g −1 . . Portanto Ker(f ) = {e} e f é injectivo e G é isomorfo ao imagem de f , que é um subgrupo de SX . 72 5.5 CAPÍTULO 5. MONÓIDES E GRUPOS Grupos cı́clicos Teorema 5.5.1 Seja (G, , e) um grupo cı́clico, i.e. G = hxi para algum x ∈ G. Então ou G é isomorfo ao grupo (Z, +, 0) ou G é isomorfo ao grupo (Zn , +, [0]n ) para algum n ≥ 1. Demonstração: Suponhamos que não existe nenhum inteiro k 6= 0 tal que xk = e onde e é o elemento neutro de G. Então a função f : Z → G tal que f (k) := xk é bijectiva, porque se f (k) = f (l) para k ≥ l então xk = xl ⇒ xk−l = xl−l = e ⇒ k − l = 0 ⇒ k = l. A função f é um homomorfismo de grupos, pois f (k + l) = xk+l = xk xl = f (k) f (l) para k, l ∈ Z. Então f é um isomorfismo de grupos. Suponhamos que existe um inteiro k 6= 0 tal que xk = e. Sem perda de generalidade podemos supor que existe um inteiro positivo, porque se k < 0 e xk = e então x−k = e−1 = e e −k > 0. Seja n o menor inteiro positivo tal que xn = e. Temos que f : Zn → G com f ([k]n ) := xk ∀[k]n ∈ Zn é uma função. Temos de verificar se f está bem-definida. Então sejam k ≤ l dois inteiros tais que [k]n = [l]n . Logo n | l − k ⇒ ∃q ∈ Z : l = k + qn. Portanto f ([l]n ) = xl = xk (xn )q = xk e = f ([k]n ) mostre que f está bem-definida. Temos que f é um homomorfismo de grupos, pois f ([k]n + [l]n ) = f ([k + l]n ) = xk+l = xk xl = f ([k]n ) f ([l]n ) para todo [k]n , [l]n ∈ Zn . Suponha que existe um k ∈ Z tal que f ([k]n ) = xk = e. Pelo Algoritmo da divisão existem q ∈ Z e r ∈ {0, 1, . . . , n − 1} tais que k = nq + r. Portanto e = xk = (xn )q xr = e xr = xr . Como n é o menor inteiro positivo tal que xn = e e 0 ≤ r < n temos r = 0. Logo n | k ⇒ [k]n = [0]n . Portanto f é injectivo. Como f é também sobrejectivo, f é bijectiva e um isomorfismo de grupos. Definição 5.5.2 Seja G um grupo. Define-se ordem de g ∈ G e denota-se por ord(g), como sendo a ordem do subgrupo hgi gerado por g; ord(g) :=| hgi |. Observação 5.5.3 Seja g ∈ G. Se ord(g) é finito então ord(g) é o menor inteiro positivo n tal que g n = e. Além disso g k = e ⇔ ord(g) | k para k ∈ Z. 5.5. GRUPOS CÍCLICOS 73 Demonstração: Suponhamos que ord(g) =| hgi |= n < ∞. Então f : Zn → hgi com f ([k]n ) = g k é um isomorfismo de grupos. Suponhamos que g k = e para algum k ∈ Z. Então f ([k]n ) = g k = e = g 0 = f ([0]n ) o que implica que [k]n = [0]n , pois f é injectivo. Logo n | k. Se k > 0 então k ≥ n. Portanto n = ord(g) é o menor inteiro positivo tal que g n = e. Também temos que se g k = e então n = ord(g) | k. A afirmação contrária é obvia. Lema 5.5.4 Todo o subgrupo de um grupo cı́clico é cı́clico. Demonstração: Seja (G, , e) um grupo cı́clico. Então existe um g ∈ G tal que G = hgi. Seja H um subgrupo de G. Se H = {e} então H é cı́clico, pois H = hei. Suponha que H 6= {e} e seja h ∈ H tal que h 6= e. Como todo o elemento de G é da forma g k para k ∈ Z existe k ∈ Z tal que h = g k . Sem perda de generalidade podemos supor que existe um inteiro positivo k > 0 tal que g k ∈ H, pois se k < 0 então g −k = h−1 ∈ H e −k > 0. Sejam k o menor inteiro positivo tal que g k ∈ H e g l ∈ H com l ∈ Z um elemento de H qualquer. Pelo algoritmo da divisão existem inteiros q ∈ Z e r ∈ {0, 1, . . . , k − 1} tais que l = qk + r. Portanto g l = g kq q r ⇒ g r = g l−qk ∈ H. Como k é o menor inteiro positivo tal que g k ∈ H e como 0 ≤ r < k temos r = 0 e k | l. Logo todo o elemento de H é da forma (g k )q para um q ∈ Z. Então H ⊆ hg k i ⊆ H implica que H = hg k i é cı́clico. Corolário 5.5.5 Os subgrupos de (Z, +, 0) são da forma nZ para n ≥ 0. Demonstração: O subgrupo gerado por um inteiro n ∈ Z é igual hni = {n . . + n} | k > 0} ∪ {0} ∪ {(−n) + . . . + (−n) | k < 0} | + .{z | {z } k−vezes |k|−vezes = {kn | k ∈ Z} = nZ. Obviamente nZ = (−n)Z, então todo o subgrupo tem a forma nZ para algum n ≥ 0. Observação 5.5.6 Seja G = hgi um grupo cı́clico tal que ord(g) = n. As seguintes propriedades são satisfeitas para todo o elemento g k ∈ G com k ∈ Z: (i) ord(g k ) = n mdc(n,k) . (ii) hg k i = hg mdc(n,k) i. 74 CAPÍTULO 5. MONÓIDES E GRUPOS (iii) hg k i = G se e só se mdc(n, k) = 1. k n Demonstração: (i) Temos (g k ) mdc(n,k) = (g n ) mdc(n,k) = e e logo ord(g k ) ≤ n n k kord(g) = e temos n | kord(g) ⇒ mdc(n,k) . Como g mdc(n,k) | mdc(n,k) ord(g). Os n k inteiros mdc(n,k) e mdc(n,k) são relativamente primos. Pelo 2.2.9 temos n ord(g). Logo mdc(n,k) = ord(g). (ii) Pela (i) temos: ord(g mdc(n,k) ) = (iii) Se hgi = G então temos ord(g) = | n n = = ord(g k ). mdc(n, mdc(n, k)) mdc(n, k) n mdc(n,k) n mdc(n,k) n mdc(n,k) = ord(g) = n ⇒ 1 = mdc(n, k). Se mdc(n, k) = 1 = n = ord(g). Logo hg k i = G. Corolário 5.5.7 Os subgrupos de grupo (Zn , +, [0]n ) são da forma h[d]n i = dZn para d | n. Demonstração: Note-se que Zn = h[1]n i. Então pela observação 5.5.6(ii) h[k]n i = hk · [1]n i = hmdc(n, k)[1]n i = h[mdc(n, k)]n i. Como mdc(n, k) | n temos que todo o subgrupo de Zn é da forma h[d]n i onde d | n. Um elemento g de um grupo G diz-se gerador do grupo se G = hgi. Corolário 5.5.8 Os geradores de grupo (Zn , +, [0]n ) são os elementos da forma [k]n onde mdc(k, n) = 1. 5.6 Classes laterais e o Teorema de Lagrange Seja (G, , e) um grupo e seja H um subgrupo de G. Define-se a relação de equivalência em G: a ∼H b ⇔ a−1 b ∈ H para todos os elementos a, b ∈ G. A relação ∼H é reflexiva: para todo a ∈ G tem-se a−1 a ∼H a. A relação ∼H é simétrica: para a, b ∈ G se a ∼H b então a−1 b ∈ H ⇒ (a−1 b)−1 ∈ H ⇒ b−1 a = e ∈ H, logo a ∈ H ⇒ b ∼H a. A relação ∼H é transitiva: para a, b, c ∈ G se a ∼H b e b ∼H c então a−1 b ∈ H e b−1 c ∈ H ⇒ a−1 c = a−1 b b−1 c ∈ H ⇒ a ∼H c. 5.6. CLASSES LATERAIS E O TEOREMA DE LAGRANGE 75 Portanto ∼H é uma relação de equivalência. A classe de um elemento a ∈ G é igual: [a]∼H a := {b ∈ G | a ∼H b} = {b ∈ G | a−1 = {b ∈ G | ∃h ∈ H : a−1 = {b ∈ G | ∃h ∈ H : b = a = {a b ∈ H} h | h ∈ H} = a b = h} h} H H diz-se classe lateral esquerda de a. Definição 5.6.1 O conjunto de classes laterais esquerdas denota-se por G/H := {a H | a ∈ G}. Exemplo 5.6.2 Se G = Z, H = nZ então para quaisquer a, b ∈ Z : a ∼H b ⇔ −a + b ∈ nZ ⇔ ∃k ∈ Z : b − a = kn ⇔ n|b−a ⇔ a ≡ b(mod n) Logo G/H = Z/nZ = {a + nZ | a ∈ Z} = {[a]∼H | a ∈ Z} = Zn . Teorema 5.6.3 (Teorema de Lagrange) Seja G um grupo finito e seja H um subgrupo de G. Então |G| . | G/H |= |H| Além disso | H | divide | G |. Demonstração: Primeiro verifique-se | a H |=| H | para todo a ∈ G. Pois se H = {h1 , h2 , . . . , hm } com hi 6= hj para 1 ≤ i 6= j ≤ m então a com a hi 6= a a H = {a h1 , a h2 , . . . , a hm } hj para i 6= j, pois se hi = a hj ⇒ hi = a−1 a hi = a−1 a h j = hj . 76 CAPÍTULO 5. MONÓIDES E GRUPOS Como as classes de uma relação de equivalência formam uma partição do conjunto G tem-se G = (a1 H) ∪ (a2 H) ∪ · · · ∪ (ak H) para alguns elementos ai ∈ G tal que (ai ∗ H) ∩ (aj ∗ H) = ∅ para i 6= j; onde k é o número das classes laterais esquerdas distintas de G/H. Logo | G |=| a1 H | + | a2 H | + · · · + | ak ou seja | H | divide | G | e k =| G/H |= |G| |H| . H |= k | H | Corolário 5.6.4 A ordem de um elemento de um grupo finito divide a ordem de grupo. Isto é ord(a) | n para qualquer a ∈ G e n =| G |. Também é possı́vel definir uma relação aH ∼ b ⇔ ba−1 ∈ H. As classes dessa relação de equivalência são da forma [a]H ∼ = H a = {h e chamam-se classes laterais direitas. Se G é abeliano tem-se a H = H a H 6= H a. a | h ∈ H} a para qualquer a ∈ G, mas em geral Definição 5.6.5 Um subgrupo H de um grupo (G, , e) diz-se normal se a H = H a para qualquer a ∈ G. Obviamente todo o subgrupo de um grupo abeliano é normal. A importância de subgrupos normais deve-se ao facto de se H for normal então o conjunto das classes laterais esquerdas G/H é um grupo com a operação (a H) (b H) := (a b) H. Teorema 5.6.6 Sejam (G, , e) um grupo e H um subgrupo de G. As seguintes afirmações são equivalentes: (a) H é um subgrupo normal de G. (b) a H a−1 ⊆ H para todo a ∈ G. (c) (G/H, , H) é um grupo onde (a a, b ∈ G. H) (b H) := (a b) H para todo Demonstração: (a) ⇒ (c) Como a definição da operação depende dos representantes escolhidos a e b das classes laterais a H e b H, temos de verificar se a operação está bem-definido ou seja se a H = a0 H e b H = b0 H então (a H) (b H) =? (a0 H) (b0 H), 5.6. CLASSES LATERAIS E O TEOREMA DE LAGRANGE Neste caso tem-se a0 ∈ a H e b0 ∈ b a0 = a h1 e b0 = b h2 . Portanto (a0 Como h H)(b0 H) = (a0 77 H. Logo existem h1 , h2 ∈ H tais que b0 ) H = (a h1 b h2 ) b) H. H. H = H para qualquer h ∈ H tem-se (a0 H) (b0 H) = (a Como H é normal tem-se h1 b ∈ H que h1 b = b h˜1 . Portanto h1 H ou seja existe um h˜1 ∈ H tal b=b (a0 H) (b0 H) = (a h1 b) H = (a b h˜1 ) H = (a b) H = (a H) (b H) mostre que a definição da operação é independente da escolha dos representantes das classes laterais. Como a operação é associativa, também é associativa, pois ((a H) (b A classes H = e H)) (c H) = ((a b) c) H c)) H = (a (b = (a H) ((b H) (c H é o elemento neutro, pois (a H) (e H) = (a e) H=a H e também H (a H) = (a H) para qualquer a ∈ G. O inverso de um elemento a H é a−1 H, pois (a H) (a−1 H) = (a a−1 ) Portanto (G/H, , H) é um grupo. (c) ⇒ (b) Seja a ∈ G e h ∈ H. Tem-se h a−1 eh a−1 ∈ a−1 H = (h H) (a−1 H=e H = H. H = H. Logo H) = (h a−1 ) H. Então existe um k ∈ H tal que h a−1 = a−1 k⇒a h a−1 = k ∈ H. Portanto a H a−1 ⊆ H para todo a ∈ G. (b) ⇒ (a) Seja a ∈ G. Tem-se a a−1 ⊆ H ⇒ a H H⊆H a. a⊆a H. Também tem-se a−1 Portanto a H=H a. H a⊆H⇒H H H)). 78 CAPÍTULO 5. MONÓIDES E GRUPOS Exemplo 5.6.7 (1) Já sabemos que os conjuntos Z/nZ e Zn são iguais. Mas também como grupo (Z/nZ, +, nZ) = (Zn , +, [0]n ). (2) Seja n ≥ 1. An é um subgrupo normal de Sn . Para ver isto usamos a condição (b) do teorema passado. Sejam g ∈ Sn uma permutação e f ∈ An uma permutação par. Então sign(g ◦ f ◦ g −1 ) = sign(g)sign(f )sign(g −1 ) = sign(g)2 sign(f ) = sign(f ) = 1 mostre que g ◦ f ◦ g −1 ∈ An . Portanto Sn /An é um grupo. Como | An |=| Sn | /2 tem-se | Sn /An |= 2. Não é difı́cil ver que todo o grupo com dois elementos é isomorfo à (Z2 , +, [0]2 ). Logo (Sn /An , ◦, An ) ' (Z2 , +, [0]2 ). Lema 5.6.8 Sejam (G1 , , e) e (G0 , ~, e0 ) grupos e f : G → G0 um homomorfismo de grupos. Então Ker(f ) é um subgrupo normal de G e Im(f ) é um subgrupo de G0 . Demonstração: Sejam h ∈ Ker(f ) e g ∈ G. Então f (g h g −1 ) = f (g) ~ f (h) ~ f (g)−1 = f (g) ~ e0 ~ f (g)−1 = f (g) ~ f (g)−1 = e0 . Logo g h g −1 ∈ Ker(f ) e g Ker(f ) g −1 ⊆ Ker(f ). Pelo Teorema 5.6.6, Ker(f ) é normal. Im(f ) é um subgrupo e G0 , pois f (e) = e0 ∈ Im(f ) e para dois elementos f (g), f (h) ∈ Im(f ) com g, h ∈ G tem-se f (g) ~ f (h) = f (g h) ∈ Im(f ). Teorema 5.6.9 Sejam (G1 , , e) e (G0 , ~, e0 ) grupos e f : G → G0 um homomorfismo de grupos e H := Ker(f ). A função f : G/H → G0 com f (g H) := f (g) H ∈ G/H é um homomorfismo de grupos injectivo. para todo g Demonstração: Primeiro verificamos que f está bem-definida: Sejam g, h ∈ G tais que g H = h H. Então g ∈ hH implica que existe um k ∈ H = Ker(f ) tal que g = h k. Portanto g H = f (g) = f (h) ~ f (k) = f (h) ~ e0 = f (h) = h H, f está bem-definida. Se f (g H) = f (g) = e0 então g ∈ Ker(f ) = H e g Logo a função f é injectiva. f é um homomorfismo de grupos, pois f ((g H) (h H)) = f (g = f (g h H) h) = f (g) ~ f (h) = f (g para todo gH, hH ∈ G/H. H) ~ f (h H) H = H. 5.6. CLASSES LATERAIS E O TEOREMA DE LAGRANGE 79 Corolário 5.6.10 Sejam (G1 , , e) e (G0 , ~, e0 ) grupos e f : G → G0 um homomorfismo de grupos. Então os grupos G/Ker(f ) e Im(f ) são isomorfos: G/Ker(f ) ' Im(f ). Demonstração: Tem-se Im(f ) = Im(f ). Portanto f : G/Ker(f ) → Im(f ) é uma isomorfismo de grupos. Exemplo 5.6.11 Seja n ≥ 1. O núcleo do homomorfismo f : Z → Zn com f (a) := [a]n para todo a ∈ Z é Ker(f ) = nZ. Portanto Z/nZ ' Zn . 80 CAPÍTULO 5. MONÓIDES E GRUPOS Capı́tulo 6 Anéis e corpos 6.1 Anéis Definição 6.1.1 Um conjunto A com duas operações binárias + e · é um anel se (i) (A, +, 0) é um grupo abeliano. (ii) (A, ·, 1) é um monóide. (iii) ∀a, b, c ∈ A : a · (b + c) = a · b + a · c (b + c) · a = b · a + c · a A operação + diz-se a adição do anel, a operação · diz-se a multiplicação do anel; o elemento neutro 0 da adição diz-se o zero do anel; o elemento neutro 1 da multiplicação diz-se o elemento um do anel. Dado a ∈ A o inverso de a em (A, +, 0) diz-se o simétrico de a e representa-se por −a. Se a multiplicação do anel for comutativa, o anel diz-se anel comutativo. Em geral representamos apenas por A o anel (A, +, ·, 0, 1). Um elemento a do anel A diz-se invertı́vel se a for invertı́vel no monóide (A, ·, 1), i.e. se existir b ∈ A tal que ab = 1 = ba. Se a for invertı́vel o inverso de a em (A, ·, 1) é único e denota-se por a−1 . Um anel A tal que todo o elemento a não nulo, i.e. a 6= 0, é invertı́vel diz-se um corpo. O anel A = {0} diz-se anel trivial. Não é difı́cil mostrar que A é o anel trivial se e só se |A| = 1. Exemplo 6.1.2 é um grupo. • Z, Q, R, C são anéis. N não é um anel porque (N, +, 0) não 81 82 CAPÍTULO 6. ANÉIS E CORPOS • (Zn , +, ·, [0]n , [1]n ) é um anel para n ≥ 0. 0 0 1 0 • (M2 (R), +, ·, , ) munido da soma e produto de matrizes 0 0 0 1 é um anel. • (R[X], +, ·, 0, 1) munido da soma e produto de polinómios é um anel. Observação 6.1.3 Seja A um anel e a, b ∈ A. Tem-se que (i) a · 0 = 0 = 0 · a. (ii) (−a) · b = −(a · b) = a · (−b) (iii) (−a) · (−b) = a · b (iv) A é o anel trivial se e só se 0 = 1. Demonstração: (i) Seja a ∈ A então a · 0 = a · (0 + 0) = a · 0 + a · 0 ⇒ 0 = a · 0. (ii) (−a) · b + a · b = (−a + a) · b = 0 · b = 0. Logo (−a) · b = −(a · b). (iii) 0 = (−a)·(−b)+(−(a·b) = (−a)·(−b)+(−a)·b = (−a)·(−b+b) = (−a)·0 = 0. Logo (−a) · (−b) = −(−(a · b)) = a · b. (iv) Obviamente se A é trivial então 0 = 1. Seja 0 = 1. Para todo a ∈ A temos a = a · 1 = a · 0 = 0. Logo A = {0}. Teorema 6.1.4 Sejam (A, +, ·, 0, 1) e (A0 , +0 , ·0 , 00 , 10 ) anéis. O produto cartesiano A × A0 é um anel com as operações (a, a0 ) + (b, b0 ) := (a + b, a0 +0 b0 ) e (a, a0 ) · (b, b0 ) := (a · b, a0 ·0 b0 ), zero (0, 00 ) e elemento um (1, 10 ). O anel (A × A0 , +, ·, (0, 00 ), (1, 10 )) diz-se o produto directo de A e A0 . Demonstração: Já sabemos que (A × A0 , +, (0, 00 ) é um grupo e (A × A0 , ·, (1, 10 )) é um monóide. Como (a, a0 ) + (b, b0 ) = (a + b, a0 +0 b0 ) = (b + a, b0 +0 a0 ) = (b, b0 ) + (a, a0 ) para qualquer (a, a0 ), (b, b0 ) ∈ A × A0 o grupo (A × A0 , +, (0, 00 )) é abeliano. Sejam (a, a0 ), (b, b0 ), (c, c0 ) ∈ A × A0 então (a, a0 ) · [(b, b0 ) + (c, c0 )] = (a, a0 ) · (b + c, b0 +0 c0 ) = (a · (b + c), a0 ·0 (b0 +0 c0 )) = (a · b + a · c), a0 ·0 b0 +0 a0 ·0 c0 ) = (a · b, a0 · b0 ) + (a · c, a0 ·0 c0 ) = (a, a0 ) · (b, b0 ) + (a, a0 ) · (c, c0 ). Analogamente tem-se [(b, b0 )+(c, c0 )]·(a, a0 ) = (b, b0 )·(a, a0 )+(c, c0 )·(a, a0 ). Portanto A × A0 é um anel. 6.1. ANÉIS 83 Definição 6.1.5 Seja (A, +, ·, 0, 1) um anel e B ⊆ A. Diz-se que B é um subanel de A se B é um subgrupo de (A, +, 0) e B é um submonóide de (A, ·, 1). Assim B é um subanel de A se e só se (i) 0 ∈ B; (ii) ∀b ∈ B : −b ∈ B; (iii) ∀a, b ∈ B : a + b ∈ B; (iv) 1 ∈ B; (v) ∀a, b ∈ B : a · b ∈ B. Definição 6.1.6 Seja A um corpo e B ⊆ A. Diz-se que B é um subcorpo de A se B é um subanel de A e ∀b ∈ B \ {0} : b−1 ∈ B. Exemplo 6.1.7 • Z é um subanel de Q mas não é um subcorpo de Q. • Q é um subcorpo de R e C. Teorema 6.1.8 Seja A um anel e seja C um conjunto de subanéis de A. Então a intersecção \ B B∈C é um subanel de A. Seja D um subconjunto não vazio de um anel A. Seja C := {B ⊆ A | B é um subanel de A e contém todos os elementos de D}. Então o subanel gerado por D é hDi := \ B. B∈C Um anel A diz-se finitamente gerado se existe um subconjunto não vazio finito {d1 , . . . , dn } ⊆ A tal que A = h{d1 , . . . , dn }i. Por exemplo Z = h{1}i e Z × Z = h{(1, 0), (0, 1)}i. Os números racionais Q não são finitamente gerado como anel. 84 CAPÍTULO 6. ANÉIS E CORPOS 6.2 Ideais e Teorema Fundamental do Homomorfismo Definição 6.2.1 Sejam (A, +, ·, 0, 1) e (A0 , +0 , ·0 , 00 , 10 ) dois anéis. Uma função f : A → A0 diz-se homomorfismo de anéis se f é um homomorfismo entre os grupos (A, +, 0) e (A0 , +0 , 00 ) e é um homomorfismo entre os monóides (A, ·, 1) e (A0 , ·0 , 10 ). Então uma função f é um homomorfismo de anéis se (i) f (a + b) = f (a) +0 f (b) para a, b ∈ A (ii) f (a · b) = f (a) ·0 f (b) para a, b ∈ A (iii) f (1) = 10 . Um homomorfismo bijectivo diz-se um isomorfismo. Observação 6.2.2 Seja f : A → A0 um homomorfismo de anéis. (i) f (0) = 00 ; (ii) f (−a) = −f (a) para todo a ∈ A; (iii) se a ∈ A é invertı́vel então f (a) é invertı́vel e f (a)−1 = f (a−1 ); (iv) f é injectivo se e só se Ker(f ) = {0}; (v) se f é um isomorfismo, então f −1 : A0 → A é também um isomorfismo de anéis. (vi) Im(f ) é um subanel de A0 . Demonstração: Como f é um homomorfismo de grupos (A, +, 0) e (A0 , +0 , 00 ) tem-se (i), (ii) e (iv). (iii) Seja a ∈ A invertı́vel. Então f (a) ·0 f (a−1 ) = f (a · a−1 ) = f (1) = 10 = f (1) = f (a−1 · a) = f (a−1 ) ·0 f (a). Logo f (a−1 ) = f (a)−1 . Definição 6.2.3 Um subconjunto I de um anel (A, +, ·, 0, 1) diz-se ideal se I é um subgrupo de (A, +, 0) tal que ax ∈ I e xa ∈ I para todo a ∈ A e x ∈ I. 6.2. IDEAIS E TEOREMA FUNDAMENTAL DO HOMOMORFISMO 85 Exemplo 6.2.4 (1){0} e A são ideais de um anel A. (2) Os ideais de Z são da forma nZ para n ∈ N. Todo o ideal I de Z é também um subgrupo do grupo (Z, +, 0). Logo I = nZ por 5.5.5. Por outro lado todo o subconjunto nZ é um subgrupo de (Z, +, 0). Como para todo a ∈ Z e nx ∈ nZ: a(nx) = (nx)a = n(xa) ∈ nZ nZ é um ideal. Lema 6.2.5 Seja f : A → A0 um homomorfismo de anéis então Ker(f ) é um ideal de A. Demonstração: Já sabemos que Ker(f ) é um subgrupo de (A, +, 0). Sejam a ∈ A e k ∈ Ker(f ) então f (a · k) = f (a) ·0 f (k) = f (a) ·0 00 = 00 = 00 ·0 f (a) = f (k) ·0 f (a) = f (k · a). Logo a · k, k · a ∈ Ker(f ). Teorema 6.2.6 Seja I um ideal de um anel (A, +, ·, 0, 1) então o grupo quociente (A/I, +, I) é um anel com a multiplicação (a + I)·(b + I) := (a · b) + I ∀a, b ∈ A e o elemento um 1 + I. O anel (A/I, +, ·, I, 1 + I) diz-se o anel quociente de A por I. Demonstração: O grupo quociente (A/I, +, I) de A por I é um grupo. Como (A, +, 0) é um grupo abeliano: (a + I)+(b + I) = (a + b) + I = (b + a) + I = (b + I)+(a + I) ∀a, b ∈ A, i.e. (A/I, +, I) é um grupo abeliano. Vamos ver que a multiplicação esteja bem-definida: Seja a+I = a0 +I e b+I = b0 +I ou seja a − a0 ∈ I e b − b ∈ I. Então existem x, y ∈ I tais que a = a0 + x e b = b0 + y. Portanto (a + I)·(b + I) = (a · b) + I = ((a0 + x) · (b0 + y)) + I = (a0 · b0 + a0 · y + x · (b0 + y)) + I = (a0 · b0 ) + I = (a0 + I)·(b0 + I) 86 CAPÍTULO 6. ANÉIS E CORPOS porque a0 · y ∈ I e x · (b0 + y) ∈ I como I é um ideal e x, y ∈ I. (Note-se que (a + z) + I = a + I se z ∈ I). Portanto · está bem-definida. (A/I, ·, 1+I) é um monóide, pois para todos os elementos a+I, b+I, c+I ∈ A/I tem-se [(a + I)·(b + I)]·(c + I) = [(a · b) + I]·(c + I) = ((a · b) · c) + I = (a · (b · c)) + I = (a + I)·[(b · c) + I] = (a + I)·[(b + I)·(c + I)], i.e. · é associativa. (a + I)·(1 + I) = (a · 1) + I = a + I = (1 · a) + I = (1 + I)·(a + I), i.e. 1 + I é o elemento neutro de (A/I, ·). Também tem-se (a + I)·[(b + I)+(c + I)] = (a + I)·((b + c) + I) = (a · (b + c)) + I = (a · b + a · c)) + I = [(a · b) + I]+[(a · c) + I] = [(a + I)·(b + I)]+[(a + I)·(c + I)] e analogamente [(b + I)+(c + I)]·(a + I) = [(b + I)·(a + I)]+[(c + I)·(a + I)]. Logo (A/I, +, ·, I, 1 + I) é um anel. Teorema 6.2.7 (Teorema fundamental de homomorfismos) Sejam A e A0 anéis, f : A → A0 um homomorfismo de anéis e I := Ker(f ). A função f : A/I → A0 com f (a + I) := f (a) para todo a + I ∈ A/I é um homomorfismo de anéis injectivo. Demonstração: Já sabemos pelo 5.6.9 que f : A/I → A0 é um homomorfismo de grupos (A/I, +, I) e (A0 , +0 , 00 ) onde I = Ker(f ) e f (a + I) = f (a). Também sabemos que f é injectivo. Basta mostrar que f é um homomorfismo de anéis ou seja que f é um homomorfismo de monóides (A/I, ·, 1 + I) e (A0 , ·0 , 10 ). Tem-se para todo a + I, b + I ∈ A/I : f ((a + I)·(b + I)) = f ((a · b) + I) = f (a · b) = f (a) ·0 f (b) = f (a + I) ·0 f (b + I). 6.3. DOMÍNIOS DE INTEGRIDADE E CORPOS 87 Verifique-se também f (1 + I) = f (1) = 10 . Portanto f é um homomorfismo de monóides (A/I, ·, 1 + I) e (A0 , ·0 , 10 ) e como já sabemos que f é um homomorfismo de grupos (A/I, +, I) e (A0 , +0 , 00 ) tem-se que f é um homomorfismo de anéis. Corolário 6.2.8 Seja f : A → A0 um homomorfismo de anéis. Então os anéis A/Ker(f ) e Im(f ) são isomorfos: A/Ker(f ) ' Im(f ). 6.3 Domı́nios de Integridade e Corpos Definição 6.3.1 Seja A um anel comutativo. Um elemento a ∈ A \ {0} diz-se um divisor de zero se existir b ∈ A \ {0} tal que ab = 0. Exemplo 6.3.2 Seja A = Z6 . O elemento a = [2]6 ∈ A é um divisor de zero, porque para b = [3]6 tem-se ab = [2]6 [3]6 = [6]6 = [0]6 . Por definição: Um elemento a ∈ A é um divisor de zero se a afirmação ∃b ∈ A : b 6= 0 ∧ ab = 0 for verdade. Negamos esta afirmação obtemos que um elemento a não é um divisor de zero se 6 ∃b ∈ A : b 6= 0∧ab = 0 ou seja se ∀b ∈ A : b = 0∨ab 6= 0. Observação 6.3.3 Seja A um anel comutativo e a ∈ A. Suponha que a é invertı́vel então a não é um divisor de zero. Demonstração: Suponha que a ∈ A é invertı́vel. Seja a−1 o inverso de a. Se ab = 0 para algum b ∈ A então b = a−1 ab = a−1 0 = 0. Portanto a não pode ser um divisor de zero. Definição 6.3.4 Um anel comutativo A diz-se domı́nio de integridade se A não tem divisores de zero. Observação 6.3.5 Seja A um anel comutativo. A é um domı́nio de integridade se e só se xa = xb ⇒ x = 0 ∨ a = b para todo a, b, x ∈ A. Demonstração: Seja A um domı́nio de integridade. Suponha que xa = xb para x, a, b ∈ A. Logo x(a − b) = 0. Como A é um domı́nio de integridade, A não tem divisores de zero. Logo ou x ou a − b é igual 0. Portanto x = 0 ∨ a = b. Suponha que xa = xb ⇒ x = 0 ∨ a = b para todo a, b, x ∈ A. Se ab = 0 para alguns elementos a, b ∈ A então ab = 0 = a0 ⇒ a = 0 ∨ b = 0. Portanto A não tem divisores de zero. 88 CAPÍTULO 6. ANÉIS E CORPOS Exemplo 6.3.6 Z, Q, R, C são domı́nios de integridades. Teorema 6.3.7 Todo o corpo é um domı́nio de integridade. Demonstração: Como todo o elemento de um corpo ou é igual 0 ou é um elemento invertı́vel a observação 6.3.3 mostre que um corpo não tem divisores de zero. O anel Z é um domı́nio de integridade mas não é um corpo. Digamos que um anel A é finito se |A| é um número finito. Teorema 6.3.8 Todo o domı́nio de integridade finito é um corpo. Demonstração: Seja A um domı́nio de integridade finito com n elementos. Para qualquer x ∈ A \ {0} consideramos a função Ex : A → A com Ex (a) = xa. Se Ex (a) = Ex (b) então xa = xb ⇒ a = b por 6.3.5. Logo Ex é injectivo. Como A tem n elementos e Ex é injectivo, a imagem da função Ex : Im(Ex ) = {xa | a ∈ A} ⊆ A tem também n elementos. Logo Ex é sobrejectivo, i.e. Im(()Ex ) = A. Portanto existe um a ∈ A tal que xa = Ex (a) = 1, i.e x é invertı́vel. Mostrámos que todo o elemento x 6= 0 é invertı́vel; logo A é um corpo. Definição 6.3.9 Seja A um anel comutativo. Um ideal I de A diz-se primo se ∀a, b ∈ A : ab ∈ I ⇒ a ∈ I ∨ b ∈ I. Um ideal I de A diz-se maximal se para todo ideal J de A: I ⊆ J ⊆ A ⇒ I = J ∨ J = A. Exemplo 6.3.10 Os ideais maximais de Z são da forma pZ onde p é um número primo. Para ver isto seja I um ideal maximal de Z. Como todo o subgrupo de Z é da forma nZ com n ≥ 0 existe um n ∈ N tal que I = nZ. Seja d um divisor positivo de n, i.e. 1 ≤ d ≤ n e d | n. Então I = nZ ⊆ dZ ⊆ Z porque todo o elemento na ∈ nZ é também um múltiplo de d, portanto na ∈ dZ. Como I é maximal, I = dZ ou dZ = Z. No primeiro caso tem-se d ∈ I = nZ ou seja d = nx mas como n = dy para algum y ∈ Z tem-se d = dyx ⇒ 1 = yx ⇒ y = x = 1 ⇒ d = n. No segundo caso tem-se 1 ∈ dZ ou seja 1 = dx para algum x ∈ Z. Logo d = 1. Portanto os únicos divisores positivos de n são 1 e n, i.e. n é um número primo. Suponha que I = pZ com p um número primo. Seja J um ideal de Z tal que pZ ⊆ J ⊆ Z. Se pZ 6= J então existe um n ∈ J \ pZ. Logo p - n ou seja mdc(p, n) = 1. Pelo Algoritmo de Euclides existem x, y ∈ Z tais que 1 = px + ny. Como px ∈ pZ ⊆ J e ny ∈ J tem-se 1 ∈ J. Portanto J = Z. 6.3. DOMÍNIOS DE INTEGRIDADE E CORPOS 89 Exemplo 6.3.11 Os ideais primos de Z são os ideais maximais de Z e o ideal {0}. Seja I um ideal primo de Z. Existe um n ∈ N tal que I = nZ. Se n = 0 então I = {0}. Suponha que n 6= 0. Seja d um divisor positivo de n tal que n = dx para algum x ∈ Z. Como dx = n ∈ nZ = I e I é primo, d ∈ I ou x ∈ I. Se d ∈ I então d = ny para algum y ∈ Z. Logo n = dx = nyx ⇒ 1 = yx ⇒ x = 1 ⇒ n = d. Se x ∈ I então x = ny para algum y ∈ Z. Logo n = dx = dny ⇒ 1 = dy ⇒ d = 1. Portanto os únicos divisores positivos de n são 1 e n, i.e. n é um número primo. O ideal {0} é um ideal primo, pois se a, b ∈ Z: ab ∈ {0} ⇒ ab = 0 ⇒ a = 0 ∨ b = 0 ⇒ a ∈ {0} ∨ b ∈ {0}. Seja p um número primo e a, b ∈ Z ab ∈ pZ ⇒ p | ab ⇒ p | a ∨ p | b ⇒ a ∈ pZ ∨ b ∈ pZ. Portanto pZ é um ideal primo de Z. Lema 6.3.12 Sejam I e J ideais de um anel A, então I + J := {x + y | x ∈ I, y ∈ J} é um ideal de A. Demonstração: Verificamos que I + J é um subgrupo de A: (i) 0 ∈ I ⊆ I + J; (ii) ∀x, x0 ∈ I e y, y 0 ∈ J: (x + y) + (x0 + y 0 ) = (x + x0 ) + (y + y 0 ) ∈ I + J; então I + J está fechado para +. (iii) ∀x + y ∈ I + J : (−x) + (−y) ∈ I + J. Sejam a ∈ A e x + y ∈ I + J com x ∈ I e y ∈ J. Então a · (x + y) = a · x + a · y ∈ I + J e (x + y) · a = x · a + y · a ∈ I + J Lema 6.3.13 Sejam A um anel e I ⊆ J ideais de A. O subconjunto J/I := {a + I | a ∈ J} é um ideal do anel quociente A/I. Demonstração: Exercı́cio. Teorema 6.3.14 Seja A um anel comutativo e I um ideal de A. Tem-se (1) I é um ideal primo se e só se o anel quociente A/I é um domı́nio de integridade. 90 CAPÍTULO 6. ANÉIS E CORPOS (2) I é um ideal maximal se e só se o anel quociente A/I é um corpo. Demonstração: (1) Suponha que I é um ideal primo. Sejam a + I, b + I dois elementos de A/I tais que (a + I) · (b + I) = (a · b) + I = I. Logo a · b ∈ I. Como I é primo, a ∈ I ou b ∈ I ou seja a + I = I ou b + I = I. Portanto A/I não tem divisores de zero. Suponha que A/I é um domı́nio de integridade. Sejam a, b ∈ A tais que a · b ∈ I. Logo (a + I) · (b + I) = (a · b) + I = I. Como A/I é um domı́nio de integridade, a + I = I ou b + I = I ou seja a ∈ I ou b ∈ I. Portanto I é um ideal primo. (2) Suponha que I é um ideal maximal. Seja a ∈ A tal que a + I 6= I. Então I ⊆ J ⊆ A onde J = hai + I. Como I é maximal I = J ou J = A. O caso I = J é impossı́vel porque a ∈ J mas a 6∈ I. Logo J = A e 1 ∈ J = hai + I. Então existem x ∈ hai e y ∈ I tais que 1 = x + y como todo o elemento x de hai é da forma x = ba para b ∈ A tem-se 1 = ba + x ou seja 1 − ba = x ∈ I. Logo 1 + I = (ba + I) = (b + I) · (a + I), i.e a + I é invertı́vel em A/I. Portanto todo o elemento não nulo de A/I é invertı́vel, i.e. A/I é um corpo. Suponha que A/I é um corpo. Seja J um ideal de A tal que I ⊆ J ⊆ A. O subconjunto J/I := {a + I | a ∈ J} é um ideal de A. Como todo o elemento não nulo de A/I é invertı́vel, então ou J/I contém um elemento invertı́vel ou todo o elemento de J/I é igual o elemento zero. No primeiro caso J/I = A/I pelo um teorema dado. Então 1 + I ∈ J/I ou seja 1 + I = a + I para um a ∈ J. Logo 1 − a ∈ I e existe um b ∈ I tal que 1 = a + b. Como a ∈ J e b ∈ I ⊆ J tem-se 1 = a + b ∈ J. Portanto J = A. No segundo caso J/I = {I} ou seja ∀a ∈ J : a + I = I. Portanto todo o elemento a ∈ J é um elemento de I, i.e. J = I. Portanto I é um ideal maximal. Corolário 6.3.15 Todo o ideal maximal de um anel comutativo é um ideal primo. Demonstração: Seja I um ideal maximal de um anel A. Então A/I é um corpo. Como todo o corpo é um domı́nio de integridade A/I é um domı́nio de integridade e logo I é um ideal primo. Note-se que todo o anel A é isomorfo ao anel quociente A/{0}. Corolário 6.3.16 Seja A um anel comutativo. (1) A é um domı́nio de integridade se e só se {0} é um ideal primo de A. (2) A é um corpo se e só se {0} é um ideal maximal de A. Exemplo 6.3.17 O ideal {0} de Z é primo porque Z é um domı́nio de integridade. O ideal pZ de Z com p um número primo é maximal porque Z/pZ = Zp é um corpo. 6.3. DOMÍNIOS DE INTEGRIDADE E CORPOS 91 Conhecemos os corpos Zp para p um número primo e Q. Vamos ver que todo o corpo contém um destes corpos. Definição 6.3.18 O subcorpo gerado por um subconjunto D de um corpo K é a intersecção de todos os subcorpos de K que contém D ou seja o menor subcorpo hDi de K que contém D. Definição 6.3.19 Seja K um corpo. O subcorpo gerado por 1 diz-se o subcorpo primo de K e escrevemos Prim(K) para h1i. Como todo o subcorpo contém o elemento 1, Prim(K) é o menor subcorpo de K. Teorema 6.3.20 Seja K um corpo. Então ou Prim(K) ' Q ou Prim(K) ' Zp para algum primo p. Demonstração: Consideramos a função f : Z → Prim(K) com f (n) = n1 para qualquer n ∈ Z. Obviamente f é um homomorfismo de anéis. Suponha que n1 = 0 para algum n ∈ Z. Então Ker(f ) = nZ. Pelo teorema fundamental de homomorfismos Im(f ) ' Z/nZ = Zn . Como Im(f ) é um subanel de Prim(K) e como Prim(K) é um domı́nio de integridade, também Im(()f ) é um domı́nio de integridade. Logo n =: p é um número primo e Im(()f ) ' Zp é um subcorpo de K. Mas como Prim(K) é o menor subcorpo de K que contém 1, Prim(K) = Im(()f ) ' Zp . Suponha que n1 6= 0 para qualquer n ∈ Z. Então podemos definir uma função f : Q → Prim(K) tal que f ( ab ) := f (a)f (b)−1 . Também é fácil ver que f é um homomorfismo de anéis. Como Q é um corpo os únicos ideais são {0} e Q. Portanto Ker(f ) = {0} e Q ' Q/{0} = Q/Ker(f ) ' Im(f ) ⊆ Prim(K) é um subcorpo de K. Como Prim(K) é o menor subcorpo de K que contém 1, Prim(K) = Im(f ) ' Q. Definição 6.3.21 Seja K um corpo. A caracterı́stica de K é igual 0 se Prim(K) ' Q e é igual a um número primo p se Prim(K) ' Zp . Escrevemos Char(K) para a caracterı́stica de K. Seja A um domı́nio de integridade e A∗ := A \ {0}. Vamos definir uma relação de equivalência em A × A∗. Dizemos (a, b) ∼ (c, d) ⇔ ad = bc. • ∼ é reflexiva: ∀(a, b) ∈ A × A∗: ab = ba ⇒ (a, b) ∼ (a, b) 92 CAPÍTULO 6. ANÉIS E CORPOS • ∼ é simétrica: ∀(a, b), (c, d) ∈ A × A∗: (a, b) ∼ (c, d) ⇔ ad = bc ⇔ cb = da ⇔ (c, d) ∼ (a, b). • ∼ é transitiva: ∀(a, b), (c, d), (e, f ) ∈ A × A∗: (a, b) ∼ (c, d) ∧ (c, d) ∼ (e, f ) ⇒ ad = bc ∧ cf = de ⇒ adf = bcf ∧ bcf = bde ⇒ adf = bde ⇒d6=0 af = be ⇒ (a, b) ∼ (e, f ) Representamos a classe [(a, b)]∼ = {(c, d) ∈ A × A∗ | ad = bc} por conjunto das classes por Q := { ab | a, b ∈ A, b 6= 0}. a b e o Teorema 6.3.22 O conjunto Q é um corpo com as operações binárias: a c ad + cb a c ac + := e · := b d bd b d bd para todos os elementos ab , dc ∈ Q. O zero é 0 1 e o elemento um é 11 . Demonstração: Temos mostrar que as operações estão bem-definidas: Seja a0 c c0 0 0 0 0 b0 e d = d0 . Então ab = ba e cd = dc e a b = (ad + cb)b0 d0 = ab0 dd0 + cd0 bb0 = ba0 dd0 + dc0 bb0 = bd(a0 d0 + c0 b0 ). Logo (ad + cb, bd) ∼ (a0 d0 + c0 b0 , b0 d0 ) ou seja ad + cb a0 d0 + c0 b0 a0 c0 a c + = = = 0 + 0. 0 0 b d bd bd b d Também temos (ac)(b0 d0 ) = ab0 cd0 = ba0 dc0 = (bd)(a0 c0 ). Logo (ac, bd) ∼ (a0 c0 , b0 d0 ) ou seja ac a0 c0 a0 c0 a c · = = 0 0 = 0 · 0. b d bd bd b d Portanto as operações + e · estão bem-definidas. Teorema 6.3.23 A função i : A → Q com i(a) := anéis injectivo. a 1 é um homomorfismo de Demonstração: Para a, b ∈ A tem-se f (a + b) = a+b a b = + = f (a) + f (b) 1 1 1 6.3. DOMÍNIOS DE INTEGRIDADE E CORPOS f (ab) = 93 ab a b = · = f (a) · f (b) 1 1 1 1 f (1) = . 1 Portanto f é um homomorfismo de anéis. Suponha que f (a) = a1 = 10 . Então (a, 1) ∼ (0, 1) ou seja a = a · 1 = 1 · 0 = 0. Portanto Ker(f ) = {0} e f é injectivo. O corpo Q diz-se o anel de fracções de A. Índice Remissivo divisor comum, 21 divisor de zero, 87 domı́nio, 11 domı́nio de integridade, 87 a é congruente com b modulo n, 33 m-ciclo, 54 ı́mpar, 60 caracterı́stica, 91 subcorpo primo , 91 elemento neutro, 36 elementos, 8 equação de Diofanto linear, 25 a identidade em X, 49 A ordem de f ∈ Sn , 53 adição do anel, 81 anel, 81 anel comutativo, 81 associativa, 63 Axioma da reunião:, 9 Axioma do conjunto vazio:, 9 Axioma dos conjunto das partes:, 9 factorização, 29 finitamente gerado, 68, 83 função da identidade, 12 gerado por, 68 grupóide, 63 grupo, 67 grupo abeliano, 67 grupo simétrico de grau n, 51 bijecção, 50 bijectiva, 49 homomorfismo de anéis, 84 homomorfismo de monóides, 65 cı́clico, 68 classe, 33 classe lateral esquerda, 75 Codificação:, 43 composição, 13 comutativa, 63 concatenação, 65 congruência linear, 36 conjugação com f ., 58 conjunto, 8 ideal, 84 imagem, 11 injectiva, 49 invertı́vel, 36, 66, 81 leis de DeMorgan, 6 mı́nimo múltiplo comum, 30 máximo divisor comum, 21 múltiplo, 19 múltiplo comum, 30 maximal, 88 monóide, 63 monóide livre em A, 65 multiplicação do anel, 81 Descodificação, 44 disjuntas, 56 divide, 19 divisı́vel, 19 divisor, 19 94 ÍNDICE REMISSIVO número primo, 27 na base , 45 normal, 76 o anel quociente, 85 o elemento neutro, 51, 63 o elemento um do anel, 81 o grupo alterno de n elementos, 61 o grupo simétrico de X, 50 o inverso, 66 o núcleo, 71 o produto directo, 82 o simétrico, 81 o sinal, 60 o suporte de f , 54 o zero do anel, 81 operação binária, 63 ordem, 72 os elementos fixos, 54 Os ingredientes do sistema criptográfico RSA, 43 Públicos:, 43 par, 60 Parâmetros, 43 partição, 34 permutação, 50 primo, 88 produto directo, 64 public-key cryptosystem, 43 Quantificadores , 6 quociente, 19, 20 reflexiva, 14 relação de equivalência, 14 relativamente primos, 25 representação, 45 resto, 20 Secretos:, 43 semigrupo, 63 simétrica, 14 sobrejectiva, 49 subanel, 83 95 subanel gerado por D, 83 subcorpo, 83 subgrupo, 67 subgrupo gerado por D, 68 submonóide, 64 submonóide gerado por, 65 transitiva, 14 transposição, 54 um corpo, 81