Lezioni di Aritmetica Modulare Antonino Salibra Universita` Ca’Foscari Venezia 31 Ottobre 2017 Nel seguito indicheremo con Z l’insieme dei numeri interi. Scriveremo talvolta a|b al posto di “a divide b”. Questo significa che esiste c ∈ Z tale che b = ac. Ricordiamo che ogni numero intero divide 0. 1. Massimo comun divisore Lemma 1.1. Dati due interi a e b con b (cid:54)= 0, esiste un’unica coppia di interi q (quoziente) ed r (resto) tali che a = bq +r con 0 ≤ r < |b|, dove |b| `e il valore assoluto di b. Proof. Consideriamo l’insieme A = {a−bz : z ∈ Z}. Sia r il minimo elemento positivo di A. Allora esiste q ∈ Z tale che a = bq +r. Se fosse r > |b|, allora 0 < r −|b| < r. Se b > 0, allora a = b(q+1)+(r−b), mentre se b < 0 allora a = b(q−1)+(r−|b|). In ogni caso, r non sarebbe il minimo elemento positivo di A. Contraddizione. Example 1.1. Se a = 17 e b = −3, allora 17 = (−3)(−5) + 2. Se a = −17 e b = −3 allora −17 = (−3)6+1. Se a ,...,a sono interi, allora a Z + ··· + a Z denota l’insieme di tutti gli interi 1 n 1 n che hanno la forma x a + ··· + x a per opportuni x ,...,x ∈ Z. Se a ∈ Z, allora 1 1 n n 1 n aZ = {ka : k ∈ Z} `e l’insieme dei multipli di a. L’insieme a Z+···+a Z si chiama ideale 1 n generato da a ,...,a . 1 n Consideriamo due esempi: 2Z+3Z = Z perch´e 1 = 3−2 e quindi un arbitrario intero x si scrive come 3x+2(−x), mentre lasciamo al lettore la verifica che l’ideale 4Z+10Z `e l’insieme dei numeri pari. Lemma 1.2. 1. a|b ,...,a|b sse b Z+···+b Z ⊆ aZ. 1 n 1 n 2. a = ±b sse bZ = aZ. In particolare, abbiamo: b `e un multiplo di a sse bZ ⊆ aZ e a divide b sse aZ ⊇ bZ Lemma 1.3. Siano a e b numeri interi non entrambi nulli. Allora aZ+bZ = dZ, dove d `e il minimo intero positivo che appartiene all’ideale aZ+bZ. 1 Lezioni di Aritmetica Modulare 2 Proof. Da d ∈ aZ+bZ si ricava d = xa+yb per opportuni x,y ∈ Z. Quindi ogni multiplo di d si scrive come kd = (kx)a+(ky)b, da cui si ha dZ ⊆ aZ+bZ. Viceversa, proviamo che aZ+bZ ⊆ dZ. Sia c ∈ aZ+bZ, ossia c = za+tb per opportuni z,t. Dividendo c per d si ottiene c = dq + r per opportuni q ed r tali che 0 ≤ r < d. Sostituendo c = za + tb e d = xa + yb si ricava: za + tb = qxa + qyb + r. Quindi r = (z−qx)a+(t−qy)b ∈ aZ+bZ. Siccome d `e il minimo intero positivo in aZ+bZ, si deduce r = 0 e quindi c = dq ∈ dZ. Lemma 1.4. Siano a e b numeri interi. Allora esiste un unico numero d ≥ 0 che verifica le seguenti propriet`a: (i) d|a e d|b; (ii) Se c|a e c|b, allora c|d. Se a,b sono non entrambi nulli, allora dZ = aZ+bZ. Proof. Se a = 0 oppure b = 0, allora d = 0, perch´e 0 `e l’unico numero intero che ammette come divisori tutti i numeri interi. Se a,b sono non entrambi nulli, applichiamo il Lemma 1.3 per ottenere dZ = aZ+bZ. Allora, (i) segue da a,b ∈ aZ+bZ = dZ. (ii) Dall’ipotesi c|a e c|b segue che a,b ∈ cZ e quindi dZ = aZ+bZ ⊆ cZ. Ossia c divide d. Si noti che, se non utilizzassimo la teoria degli ideali, non sarebbe banale provare la proprieta` (ii) del precedente lemma. Definition 1.1. Il massimo comun divisore (MCD) di a e b `e il piu` grande divisore comune di a e b. Il massimo comun divisore di a e b coincide con l’unico numero determinato dal Lemma 1.4. Verra` indicato con MCD(a,b) oppure con (a,b). Abbiamo (a,b) = (|a|,|b|), dove |a| e |b| sono il valore assoluto di a e b rispettivamente. Dal Lemma 1.4 segue che (0,0) = 0. Due numeri interi a,b si dicono relativamente primi se (a,b) = 1. Un metodo efficiente di calcolo del massimo comun divisore `e l’algoritmo di Euclide. Lemma 1.5. Siano a e b interi con b (cid:54)= 0 e sia a = bq + r con 0 ≤ r < |b|. Allora (a,b) = (b,r). Proof. Abbiamo per ipotesi che bZ+rZ ⊆ aZ+bZ, perch´e r = a−bq ∈ aZ+bZ. L’altra inclusione aZ+bZ ⊆ bZ+rZ vale, perch´e a = bq+r. Allora, applicando il Lemma 1.4 si ottiene la conclusione: (b,r)Z = bZ+rZ = aZ+bZ = (a,b)Z. Euclide(int a,int b) : int {int r; while (b (cid:54)= 0) do //ripetere finch´e non riduciamo b a zero begin r := a%b //resto della divisione di a per b; Lezioni di Aritmetica Modulare 3 a := b; b := r; end; return a; //quando b diventa 0, il risultato `e a L’algoritmo consiste in una serie di divisioni con resto: a = b·q +r 0 ≤ r < |b| 1 2 2 b = r ·q +r 0 ≤ r < r 2 2 3 3 2 r = r ·q +r 0 ≤ r < r 2 3 3 4 4 3 r = r ·q +r 0 ≤ r < r 3 4 4 5 5 4 (1) . . . . . . . . . r = r ·q +r 0 ≤ r < r t−2 t−1 t−1 t t t−1 r = r ·q Allora r = (a,b) t−1 t t t Dati due naturali a,b con a > b, allora c(a,b) `e il numero di volte che calcoliamo la divisione con resto nell’algoritmo di Euclide per ottenere (a,b). Per esempio, c(a,1) = 1 per ogni a > 1. Example 1.2. (134,36) = (36,26) = (26,10) = (10,6) = (6,4) = (4,2) = (2,0). In tal caso, c(134,36) = 6. Example 1.3. La successione di Fibonacci `e definita ricorsivamente come segue: F = 1; F = 1; F = F +F . 0 1 n n−1 n−2 I primi elementi della successione sono: 1,1,2,3,5,8,13,21,34,55,89,144,233,.... Il centesimo numero di Fibonacci `e F = 354224848179261915075. Se dividiamo F 100 n+1 per F otteniamo proprio la relazione F = F + F , cio´e il quoto `e 1 ed il resto `e n n+1 n n−1 F < F . F e F sono relativamente primi: n−1 n n+1 n (F ,F ) = (F ,F ) = (F ,F ) = ··· = (F ,F ) = 1. n+1 n n n−1 n−1 n−2 2 1 n = c(F ,F ) `e il numero di volte che calcoliamo la divisione con resto. n+1 n Per definizione log (b) `e uguale al numero reale x tale che 2x = b. 2 Lemma 1.6. Siano a > b interi positivi. Il numero di volte che iteriamo la divisione con resto nell’algoritmo di Euclide `e al piu` 2log (b)+1. 2 Proof. Siano r = a e r = b e 0 1 r = r q +r 0 ≤ r < r 0 1 1 2 2 1 r = r q +r 0 ≤ r < r 1 2 2 3 3 2 r = r q +r 0 ≤ r < r 2 3 3 4 4 3 r = r q +r 0 ≤ r < r 3 4 4 5 5 4 (2) . . . . . . . . . r = r q +r 0 ≤ r < r t−2 t−1 t−1 t t t−1 r = r q t−1 t t Lezioni di Aritmetica Modulare 4 Allora r > 2r , per ogni i ≥ 0. Infatti, i i+2 r = r q +r 0 ≤ r < r i i+1 i+1 i+2 i+2 i+1 ≥ r +r r > r da cui segue q ≥ 1 (3) i+1 i+2 i i+1 i+1 > 2r r < r i+2 i+2 i+1 Iterando il procedimento si ottiene: b = r > 2r > 22r > ··· > 2kr . 1 3 5 2k+1 Se 2k > b segue che r < 1, ossia r = 0. In termini dell’algoritmo di Euclide (2) 2k+1 2k+1 si ha r = 0, cos`ı abbiamo t+1 ≤ 2k +1, da cui t ≤ 2k. Inoltre vi sono esattamente t+1 t divisioni effettuate in (2), cos`ı l’algoritmo di Euclide termina in al piu` 2k iterazioni. Consideriamo il piu` piccolo k tale che 2k ≥ b > 2k−1. Allora si ha: numero di iterazioni ≤ 2k = 2(k −1)+2 < 2log (b)+2. 2 Lemma 1.7. Siano a,b numeri interi non entrambi nulli. Allora esistono interi x e y tali che ax+by = (a,b). Proof. Dal Lemma 1.3 segue aZ+bZ = (a,b)Z, dove (a,b) `e il massimo comun divisore di a,b. Osservazione: Siano a,b interi non entrambi nulli. Allora l’equazione lineare ax+by = 0 rappresenta la retta dei vettori (x,y) che sono ortogonali al vettore (a,b). Il Lemma 1.3 afferma che la retta ax+by = c parallela alla retta ax+by = 0 passa attraverso dei punti che hanno coordinate intere sse c `e un multiplo di (a,b). Theorem 1.1. (Proprieta`diB´ezout) Siano a,b,c numeri interi e sia d = (a,b) il massimo comun divisore di a,b. Allora l’equazione lineare ax+by = c ha soluzioni intere sse d|c. Proof. Dal Lemma 1.3 si ha aZ+bZ = dZ. Quindi c ∈ aZ+bZ sse c ∈ dZ. Example 1.4. Trovare una soluzione intera dell’equazione 240x+36y = 12. Possiamo dividere tutti i coefficienti per 12 ed ottenere 20x+3y = 1. Siccome 20 e 3 sono relati- vamente primi (cio´e (20,3) = 1) allora le soluzioni intere di 20x + 3y = 1 esistono. Si vede facilmente che x = −1 e y = 7 `e una soluzione di 20x+3y = 1. La stessa soluzione risolve 240x+36y = 12. Example 1.5. Trovare una soluzione intera dell’equazione 120x+81y = 12. Dividendo per 3 si ottiene 40x+27y = 4. Siccome 40 e 27 sono relativamente primi (cio´e (40,27) = 1) allora le soluzioni intere di 40x+27y = 1 esistono. Applichiamo l’algoritmo di Euclide per il calcolo del massimo comun divisore: 40 = 27 + 13 e 27 = 13 ∗ 2 + 1. Quindi 1 = 27 − 13 ∗ 2 = 27 − (40 − 27) ∗ 2 = 27 − 40 ∗ 2 + 27 ∗ 2 = (−2)40 + 27 ∗ 3. Quindi una soluzione intera dell’equazione 40x+27y = 4 `e: x = −8, y = 12. Le stesse soluzioni funzionano per l’equazione lineare 120x+81y = 12. Example 1.6. Non esistono soluzioni intere dell’equazione 6x+2y = 5, perch´e 2 = (6,2) non divide 5. Lezioni di Aritmetica Modulare 5 1.1. Massimo comun divisore e matrici Ricordiamo che il minimo comune multiplo di due numeri interi a e b `e il piu` piccolo ` naturale k tale che a|k e b|k. E denotato da mcm(a,b). Sia a > b > 0. Consideriamo il sistema lineare (cid:20) (cid:21)(cid:20) (cid:21) (cid:20) (cid:21) 1 0 x a = (4) 0 1 y b (cid:20) (cid:21) a Esso ammette banalmente come unica soluzione il vettore . Sappiamo anche che ogni b sistema lineare, che si ottiene dal sistema (4) applicando alla matrice completa (cid:20) (cid:21) 1 0 a A = 0 1 b le regole del metodo di eliminazione di Gauss (scambio di due righe; sostituzione di una riga con la somma della riga stessa con un’altra moltiplicata per uno scalare r) ammette (cid:20) (cid:21) a come unica soluzione il vettore . b Se a = bq +r con 0 ≤ r < b, si sottrae alla prima riga q volte la seconda riga e poi si scambiano la prima e la seconda riga: (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) 1 0 a 1 −q a−bq 1 −q r 0 1 b ⇒ = ⇒ 0 1 b 0 1 b 0 1 b 1 −q r Siccome b > r, si procede in maniera simile fino a quando nella terza colonna della matrice non appare uno 0 in posizione A . Alla fine otterremo una matrice 23 (cid:20) (cid:21) c d n e f 0 per cui il sistema lineare (cid:20) (cid:21)(cid:20) (cid:21) (cid:20) (cid:21) c d x n = e f y 0 (cid:20) (cid:21) a ha come unica soluzione il vettore . b (cid:20) (cid:21)(cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) c d a ca+db n = = e f b ea+fb 0 Lezioni di Aritmetica Modulare 6 L’algoritmo `e il seguente. Matrice(nat a,nat b) {matrix A;nat q,z} (cid:20) (cid:21) 1 0 a A := ; 0 1 b while (A (cid:54)= 0) do //ripetere finch´e non riduciamo A a zero 23 23 begin q := A13 //quoto della divisione A = A q +r con resto 0 ≤ r < A ; A23 13 23 23 for i := 1 to 3 do A := A −qA ; //Sottrai q volte la riga 2 dalla riga 1 di A ; 1i 1i 2i for i := 1 to 3 do z := A ;A := A ;A := z; Scambia le righe 1 e 2 della matrice A; 1i 1i 2i 2i end; return A = A a+A b; // A = 0 implica (a,b) = A = A a+A b 13 11 2 23 13 11 12 return A a = −A b; // A = 0 implica mcm(a,b) = |A a| = |−A b| 21 22 23 21 22 Example 1.7. Calcoliamo il massimo comun divisore e il minimo comune multiplo di 53 e 71 con il metodo matriciale: (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) 1 0 71 0 1 53 1 −1 18 ⇒ ⇒ 0 1 53 1 −1 18 −2 3 17 (cid:20) (cid:21) (cid:20) (cid:21) −2 3 17 3 −4 1 ⇒ ⇒ 3 −4 1 −53 71 0 Quindi, (cid:20) (cid:21)(cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) 3 −4 71 3×71−4×53 1 = = −53 71 53 −53×71+71×53 0 da cui (71,53) = 1 = 3×71−4×53; mcm(71,53) = 71×53. Example 1.8. (134,36) = (26,36) = (26,10) = (6,10) = (6,4) = (2,4) = (2,0) perch´e (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) 1 0 134 0 1 36 1 −3 26 −1 4 10 ⇒ ⇒ ⇒ 0 1 36 1 −3 26 −1 4 10 3 −11 6 (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) 3 −11 6 −4 15 4 7 −26 2 ⇒ ⇒ ⇒ −4 15 4 7 −26 2 −18 67 0 Quindi, (cid:20) (cid:21)(cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) 7 −26 134 7×134−26×36 2 = = −18 67 36 −18×134+67×36 0 da cui (134,36) = 2 = 7×134−26×36; mcm(134,36) = 67×36 = 18×134 = 2412. Example 1.9. Calcoliamo il massimo comun divisore di numeri di Fibonacci consecutivi (si veda esempio 1.3). Poniamo F = 1 e F = 0. −2 −1 (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) 1 0 F 0 1 F 1 −1 F −1 2 F n ⇒ n−1 ⇒ n−2 ⇒ n−3 0 1 F 1 −1 F −1 2 F 2 −3 F n−1 n−2 n−3 n−4 Lezioni di Aritmetica Modulare 7 (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) 2 −3 F −3 5 F 5 −8 F ⇒ n−4 ⇒ n−5 ⇒ n−6 ⇒ ... −3 5 F 5 −8 F −8 13 F n−5 n−6 n−7 Si noti che i numeri 2,3,5,8,13,... che compaiono nella matrice sono numeri di Fi- bonacci. In altri termini, (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) F −F F −F F F F −F F −F F F −2 −1 n ⇒ −1 0 n−1 ⇒ 0 1 n−2 ⇒ 1 2 n−3 −F F F F −F F −F F F F −F F −1 0 n−1 0 1 n−2 1 2 n−3 2 3 n−4 (cid:20) (cid:21) (cid:20) (cid:21) (cid:20) (cid:21) F −F F −F F F F −F F ⇒ 2 3 n−4 ⇒ 3 4 n−5 ⇒ 4 5 n−6 ⇒ ... −F F F F −F F −F F F 3 4 n−5 4 5 n−6 5 6 n−7 Si noti che ad ogni passo abbiamo F F −F F = F ; F F −F F = −F 2i n 2i+1 n−1 n−(2i+2) 2i−1 n 2i n−1 n−(2i+1) Se n `e pari e 2i+2 = n si ha 1 = F = F F −F2 . 0 n−2 n n−1 Se n `e dispari e 2i+1 = n si ha F2 −F F = 1 = (F ,F ); F F −F F = F = 0; mcm(F ,F ) = F F n−1 n−2 n n n−1 n−1 n n n−1 −1 n n−1 n−1 n L’algoritmo di Euclide ed i numeri di Fibonacci sono collegati come segue. Siano r = a > r = b due numeri interi positivi arbitrari. Allora, r = r q +r , 0 ≤ r < r . 0 1 0 1 1 2 2 1 Da r = r q +r , 0 ≤ r < r . 1 2 2 3 3 2 e da q > 0 si ottiene 2 b = r > r +r > 2r 1 2 3 3 Similmente, r = r q +r , 0 ≤ r < r . 2 3 3 4 4 3 Da q > 0 si ottiene 3 r > r +r > 2r 2 3 4 4 e quindi b = r > r +r > 2r +r = F r +F r > 3r = F r . 1 2 3 3 4 2 3 1 4 4 3 4 In generale abbiamo b = r > F r +F r > F r , 1 n−1 n n−2 n+1 n n+1 dove F `e l’ennesimo numero di Fibonacci. n Lezioni di Aritmetica Modulare 8 Figure 1. Aritmetica dell’orologio 2. L’aritmetica dell’orologio L’aritmetica modulare (o aritmetica dell’orologio) `e stata introdotta da Gauss ad inizio ottocento. Consideriamo un orologio con n > 0 tacche che corrispondono ad i numeri da 0 a n − 1 (Si veda la figura per il caso n = 9). Indichiamo con Z = {0,1,...,n − n 1}. Scorriamo l’orologio in senso orario partendo da 0. Una mossa +1 consiste nello spostarsi in senso orario dalla tacca in cui ci troviamo alla tacca successiva. La mossa +1 corrisponde all’operazione di aggiungere 1. Quando arriviamo al numero n − 1 ed eseguiamo una ulteriore mossa +1, scopriamo che (n−1)+1 = 0 anzich´e (n−1)+1 = n. Quindi, contrariamente ai numeri naturali, il numero 0 `e il successore del numero n−1 e la funzione determinata dalle mosse +1 definisce una funzione bigettiva dall’insieme Z nell’insieme Z . Viceversa, scorriamo l’orologio in senso antiorario partendo da 0. n n Una mossa −1 consiste nello spostarsi in senso antiorario dalla tacca in cui ci troviamo alla tacca precedente. La mossa −1 corrisponde a sottrarre 1. Quindi 0 − 1 = n − 1 anzich´e essere indefinito come avviene nell’aritmetica dei numeri naturali. La funzione determinata dalle mosse −1 definisce una funzione bigettiva dall’insieme Z nell’insieme n Z . Essa `e la funzione inversa della funzione determinata dalle mosse +1. n Come possiamo “rappresentare” un intero a nell’orologio? Adottiamo due strategie diverse se a`e positivo oppure negativo. Se a`e positivo, eseguiamo esattamente un numero di mosse +1 pari ad a volte partendo da 0. La tacca in cui ci troviamo rappresenta il numero intero positivo a nell’orologio. Se a`e negativo, eseguiamo esattamente un numero di mosse −1 pari a |a| volte partendo da 0. La tacca in cui ci troviamo rappresenta il Lezioni di Aritmetica Modulare 9 numerointeronegativoanell’orologio. Inentrambiicasilataccadelnumeroarappresenta il numero mod (a) n che `e il resto della divisione di a per n. Esso `e un numero naturale compreso tra 0 e n−1. Notazione: Talvolta scriviamo a mod n al posto di mod (a). n Definiamo la somma + (modulo n) ed il prodotto ∗ (modulo n) sui numeri interi n n come segue: a+ b = mod (a+b); a∗ b = mod (ab). n n n n Il risultato della somma e del prodotto `e sempre un valore compreso tra 0 e n − 1, quindi rappresentabile nell’orologio. Lemma 2.1. L’insieme Z = {0,1,...,n−1} `e chiuso rispetto alle operazioni di somma n + e prodotto ∗ . n n Per semplificare i conti, utilizziamo la seguente proposizione Proposition 2.1. Valgono le seguenti uguaglianze (a,b ∈ Z): 1. mod (a+b) = mod (mod (a)+mod (b)); n n n n 2. mod (ab) = mod (mod (a) mod (b)). n n n n Example 2.1. Sia n = 9. Allora mod (95·37) = mod (mod (95)+mod (37)) = mod (5· 9 9 9 9 9 2) = mod (10) = 1. Se non avessimo utilizzato la proposizione avremmo dovuto calcolare 9 mod (3515), che `e piu` difficile specialmente se n `e grande. 9 Se ci restringiamo ad i numeri compresi tra 0 e n−1, possiamo anche definire la somma + come segue (0 ≤ a,b < n): n a se b = 0 a+ b = a+1 se b = 1 n (a+ (b−1))+1 se b (cid:54)= 0,1. n Example 2.2. 7+ 3 = (7+ 2)+1 = ((7+ 1)+1)+1 = ((7+1)+1)+1 = (8+1)+1 = 9 9 9 0+1 = 1. Possiamo definire il prodotto ∗ sui numeri tra 0 e n−1 utilizzando la somma modulare n + : n 0 se b = 0 a∗ b = a se b = 1 n (a∗ (b−1))+ a se b (cid:54)= 0,1. n n Example 2.3. 7∗ 3 = (7∗ 2)+ 7 = ((7∗ 1)+ 7)+ 7 = (7+ 7)+ 7 = 5+ 7 = 3. 9 9 9 9 9 9 9 9 9 Nella parte finale abbiamo applicato la definizione della somma + per arrivare al risultato 9 finale 3. L’aritmetica dell’orologio`e correlata alla teoria delle congruenze che introduciamo nella prossima sezione. Lezioni di Aritmetica Modulare 10 3. Congruenze Le tacche numerate dell’orologio della sezione precedente sono i rappresentanti delle n classidiequivalenzadiunarelazionediequivalenza≡ definitasugliinteri. Nellaprossima n definizione definiamo la relazione ≡ . n Definition 3.1. Sia n > 0. Diciamo che a,b ∈ Z sono congruenti modulo n, e scriviamo a ≡ b (mod n) oppure a ≡ b, n se mod (a) = mod (b). n n Quindi abbiamo a ≡ b se il resto della divisione di a per n `e uguale al resto della n divisione di b per n. Lemma 3.1. Sia n > 0 e siano a e b numeri interi. Allora, a ≡ b sse n divide b−a. n Proof. Supponiamo che a ≡ b. Allora, dividendo a e b per n, si ha: a = q n + r e n 1 b = q n+r con 0 ≤ r < n. Ne segue che b−a `e divisibile per n: b−a = n(q −q ). 2 2 1 Perladirezioneopposta, supponiamocheb−a = ntperunopportunot ∈ Z. Dividiamo sia a che b per n: a = q n + r e b = q n + r con 0 ≤ r ,r < n. Allora, b − a = 1 1 2 2 1 2 n(q −q )+(r −r ) = nt, da cui segue r −r = n(t+q −q ). Ma |r −r | < n. Quindi 2 1 2 1 2 1 1 2 2 1 l’unica possibilit`a `e che r = r . 1 2 Lemma 3.2. La relazione ≡ `e una relazione di equivalenza su Z che `e compatibile n rispetto alle operazioni di addizione, moltiplicazione e esponenziazione di interi: (i) a ≡ b∧c ≡ d ⇒ a+c ≡ b+d. n n n (ii) a ≡ b∧c ≡ d ⇒ ac ≡ bd. n n n (iii) a ≡ b ⇒ ak ≡ bk. n n Proof. Sia mod (a) = mod (b) e mod (c) = mod (d). n n n n (i) Sia Dalla Proposizione 2.1(1) e dall’ipotesi si ha: mod (a+c) = mod (mod (a)+ n n n mod (c)) = mod (mod (b)+mod (d)) = mod (b+d). n n n n n (ii) La prova `e simile a quella del punto (i). (iii) La prova `e per induzione su k utilizzando (ii). La relazione ≡ partiziona Z in n classi di equivalenza. Se a `e un intero scriveremo [a] n n per la classe di equivalenza di a modulo l’equivalenza ≡ . Ecco la partizione determinata n da ≡ : n [0] = {kn : k ∈ Z}; [1] = {1+kn : k ∈ Z}; ... [n−1] = {(n−1)+kn : k ∈ Z}. n n n Scegliamo come rappresentanti delle classi di equivalenza i numeri 0,1,2,...,n − 1. Questi numeri corrispondono alle tacche di un orologio che segna le ore da 0 sino ad n−1 (si veda la figura con n = 4). Le operazioni di somma + e prodotto ∗ , definite nella sezione precedente, agiscono n n sulle classi di equivalenza modulo n tramite i loro rappresentanti.