Rationella tal Låt oss skissa hur man definierar de rationella talen utifrån heltalen. Förutom att det ger en inblick i hur matematiken är uppbyggd, är detta är ett bra exempel på ekvivalensrelationer och ekvivalensklasser. Mängden {. . . , −2, −1, 0, 1, 2, . . .} av heltal betecknas Z. Om a, b och c är heltal gäller, bland annat, följande räkneregler: • Associativa lagen för multiplikation: (ab)c = a(bc). • Kommutativa lagen för multiplikation: ab = ba. • Kansellering för multiplikation: Om c 6= 0 gäller det att ac = bc medför a = b. Låt X vara mängden av par av heltal (a, b) där b 6= 0. Vi inför en relation E på mängden X genom att säga att (a, b)E(c, d) om ad = bc. Detta är en ekvivalensrelation! För att se det, låter vi (a, b), (c, d) och (e, f ) vara element i X. Reflexiv: Relationen (a, b)E(a, b) är alltid uppfylld eftersom ab = ba (kommutativa lagen). Symmetrisk: Relationen (a, b)E(c, d) är ekvivalent med ad = bc som är ekvivalent med cb = da som är ekvivalent med (c, d)E(a, b). (kommutativa lagen) Transitiv: Antag att (a, b)E(c, d) och (c, d)E(e, f ). Då gäller ad = bc och cf = de. Vi vill visa att (a, b)E(e, f ), vilket är det samma som af = be. Vi gör uträkningen (af )d = a(f d) = a(df ) = (ad)f = (bc)f = b(cf ) = b(de) = b(ed) = (be)d där vi använder kommutativa och associativa lagen. Enligt förutsättningen gäller d 6= 0. Alltså kan vi kansellera d och få af = be. Definition. Vi definierar QQ som mängden av ekvivalensklasser av X under ekvivalensrelationen E. Vi inför notationen a := [(a, b)] b för ekvivalensklassen som hör till (a, b) ∈ X. På mängden QQ definerar man sedan de vanliga räkneoperationerna och ordningsrelationerna. Exempelvis definieras addition ⊕ som a c ad + bc ⊕ := b d bd 1 och multiplikation ⊗ som a c ac ⊗ := . b d bd Man måste kontrollera att operationerna är väldefinierade. Om vi exempelvis har c a a0 c0 = 0, = 0 b b d d så vill vi ju att c0 a0 d0 + b0 c0 a0 ⊕ 0 := 0 b d b0 d0 ska vara samma ekvivalensklass som ad + bc . bd När man gjort det får man gång igång och härleda räknelagarna för rationella tal. Notera att jag använder andra symboler för addition och multiplikation av rationella tal än för addition och multiplikation av heltal. Detta är för att understryka att vi använder oss av de gamla operationerna för att definiera nya. När man visat att de nya operationerna uppfyller rätt egenskaper, övergår man till att kalla dem + och · också. Vi betraktar normalt också Z som en delmängd till QQ. För att rättfärdiga det, behöver man visa att funktionen Z → QQ som ges av n 7→ n/1 är injektiv. Sammantaget är det med andra ord en ganska mödosam process. Det är en bra träning att prova att göra några av stegen nogrannt, men sedan kan man med gott samvete strunta i resten och vara glad att någon annan redan gjort jobbet. Division och rest Definition. Låt a, b ∈ Z vara två heltal. Vi säger att a delar b, eller att a är en delare till b, om det existerar ett tredje heltal m sådant att a · m = b. Detta betecknas a|b. Detta ger en relation på mängden av heltal, som dock inte är en ekvivalensrelation. Notera att | är just en relation, och inte ska blandas ihop med räknesättet division. Exempel 1. Vi har exempelvis 2|14 och −2|14. Vidare gäller a|0, 1|a och −1|a för alla a ∈ Z. Sats (Divisionsalgoritmen). För alla heltal a, b ∈ Z finns det ett unikt par av heltal q, r ∈ Z sådana att a = q · b + r, 0 ≤ r < |b| 2 Positionssystem För att beskriva heltal används vanligtvis ett positionssystem med bas 10. Exempelvis gäller 2014 = 2 · 103 + 0 · 102 + 1 · 101 + 4 · 100 . Positionssystem används även för att beskriva tal som inte är heltal. Exempelvis 1, 45 = 1 · 100 + 4 · 10−1 + 5 · 10−2 . I allmänhet får man oändliga decimalutvecklingar, även för rationella tal. För rationella tal får man dock alltid utvecklingar som så småningom blir periodiska. Detta kan man se om man tillämpar lådprincipen på resterna som dyker i uträkningarna. Exempel 2. Använder man divisionsalgoritmen, ser man att 2/11 = 0, 18. Även andra positionssystem är möjliga. Inom datalogin är det exempelvis ofta praktiskt att använda bas 2 och bas 16. Tal skrivna i bas 2 kallas binära och tal skrivna i bas 16 kallas hexadecimala. Exempel 3. Vi vill skriva talet 42 i salgoritmen ger 42 = 21 = 10 = 5 = 2 = 1 = bas 2. Upprepad användning av division21 · 2 + 0, 10 · 2 + 1, 5 · 2 + 0, 2 · 2 + 1, 1 · 2 + 0, 0 · 2 + 1, så 42 = (101010)2 . Notera att sekvensen (101010)2 bestämmer talet 42 entydigt, eftersom kvot och rest i varje steg i uträkningen är unika. Primtal och aritmetikens huvudsats Definition. Låt a, b ∈ Z vara heltal, som inte båda är noll. Den största gemensamma delaren gcd(a, b) definieras som det största heltal d sådant att d|a och d|b. Om gcd(a, b) = 1 kallas För att handgripligen beräkna största gemensamma delare, använder man sig av Euklides algoritm. Den bygger divisonsalgoritmen och identiterna gcd(a, 0) = a samt gcd(a, b) = gcd(q, r) om a, b, q, r ∈ N sådana att a = qb + r. Eftersom gcd(a, b) = gcd(−a, b), kan metoden tillämpas på allmänna heltal. Från Euklides algoritm följer också följande användbara sats: 3 Sats. Låt a, bZ vara heltal som inte båda är 0. Då existerar heltal n, m ∈ Z sådana att gcd(a, b) = na + mb. Definition. Ett naturligt tal p > 1 kallas för ett primtal om de enda positiva delarna av p är 1 och talet självt. Ett naturligt tal som inte är ett primtal kallas för ett sammansatt tal. Sats (Aritmetikens huvudsats). Alla naturliga tal kan entydigt, upp till omordning av faktorerna, skrivas som en produkt av primtal. Beviset av aritmetikens huvudsats består av två delar. Dels behöver man bevisa att varje naturligt tal kan skrivas som en produkt av primtal, och dels att faktoriseringen är unik. Att en faktorisering verkligen existerar, kan man visa med ett ganska enkelt induktionsargument. Träna på att göra detta själv! För att visa att faktoriseringen är unik använder man sig av följande sats. Lemma. Låt p vara ett primtal och a och b naturliga tal, sådana att p|ab. Då gäller p|a eller p|b. D.v.s. primtalet p delar någon av faktorerna. Bevis. Om p|a är vi klara, så vi kan anta att p inte delar a. Då gäller gcd(p, a) = 1 eftersom p är ett primtal. Alltså finns tal n, m sådana att np + ma = 1 enligt Euklides algoritm. Vi multiplicerar ekvationen med b och får b = npb + mab. Enligt förutsättningarna gäller p · c = ab för något tal c. Alltså gäller b = b = npb + mab = npb + mpc = p(nb + mc), så p delar b, vilket visar påståendet. Exempel 4. Man kan, med lite möda, visa att 1999 är ett primtal. Vi visar att det finns ett naturligt tal n, som bara innehåller 1:or i sin decimalutveckling, som är delbart med 1999. Tag de 2000 första talen i sekvensen 1, 11, 111, . . .. Enligt lådprincipen måste två av dem, säg a, b ge samma rest vid division med 1999. Då gäller 1999|a−b. Vi kan, utan inskränkning, anta att a > b. Då är a−b på formen 111 · · · 111000 · · · 0 och kan därmed skrivas som en produkt n · 10k för några tal k och n, där n bara har 1:or i sin decimalutveckling. Eftersom de enda primtalen som delar 10k är 2 och 5, gäller det att 1999 inte delar 10k . Enligt lemmat följer det att 1999|n, som önskat. Det är värt att påpeka att vi egentligen inte behöver veta att 1999 är ett primtal för att ovanstående exempel ska fungera. Det är lätt att se att gcd(1999, 10k ) = 1. Nu kan man, med samma metod som i beviset för lemmat, visa att 1999|n·10k medför 1999|n. För att illustrera att aritmetikens fundamentalsats inte är ett självklart påstående, ger vi ett exempel på en liknande situation då motsvarande sats inte gäller. 4 √ √ Exempel 5. Mängden Z[ −5] = {n + m −5 | n, m ∈ Z} beter sig i mångt och mycket som mängden av vanliga heltal. Exempelvis kan varje tal i denna mängden skrivas som en produkt av motsvarigheter till primtal. Men inte på ett unikt sätt! Exempelvis har talet 6 två distinkta faktoriseringar: √ √ 6 = 2 · 3 = (1 + 5)(1 − 5) Att visa detta är inte så svårt, men ligger utanför ramarna för kursen. 5