Primtalen och aritmetikens fundamentalsats Tomas Malm Bokförlaget Bärarna
c 2015 Tomas Malm & Bokförlaget Bärarna Version av texten: 15 november 2016 Redigering/bearbetning av text & bild: Tomas Malm Detta dokument ingår i Bokförlaget Bärarnas distribution av kostnadsfritt material för utbildning och utbyte av tankar och idéer. Det är tillåtet att ladda ned, skriva ut och kopiera materialet. Det får användas privat, i utbildningssyfte eller som underlag för diskussion. Det är inte tillåtet att: bearbeta texten, använda den utan att uppge författaren som referens, ladda upp den på andra webbsidor än Bokförlaget Bärarnas eller författarens egen, distribuera och sälja fysiska utskrifter eller nyutgåvor av texten utan skriftlig överenskommelse med Bokförlaget Bärarna. För detaljer gällande rättigheter med mera vänligen kontakta förlaget via dess hemsida. Om du har förslag på förbättringar av eller kompletteringar till texten, vänligen kontakta bokförlaget via dess hemsida. 1
Innehåll 1 Abstract 2 2 Primtalen och aritmetikens fundamentalsats 3 2.1 Definition av primtal....................... 4 2.2 Euklides primtalssats....................... 5 2.3 Primfaktorer och aritmetikens fundamentalsats......... 6 2.4 Bevis för aritmetikens fundamentalsats............. 8 2.5 Bevis för Euklides hjälpsats................... 10 3 Kommentarer 12 3.1 Talteori och fascinationen för primtal.............. 12 4 Lock/portar 14 4.1 Teorifrågor samt frågor till stöd för minnet........... 14 4.2 Ett urval av problem....................... 14 1 Abstract This article offers a reminder on the basics of prime factorization, that is, the possibility of splitting any integer (greater than one) into prime factors. The so called fundamental theorem of arithetmics is stated and proved in full detail. I det här dokumentet går vi igenom begreppet primtalsfaktorisering, det vill säga möjligheten av att dela upp varje givet heltal (större än ett) i primfaktorer. Vi formulerar aritmetikens fundamentalsats och ger ett fullständigt bevis för den. 2
2 Primtalen och aritmetikens fundamentalsats Primtalen utgör, kan man säga, heltalens atomer. Ordet atom kommer av grekiskans atomos, vilket betyder odelbar. Primtalen är på ett sätt heltalens odelbara minsta enheter, nämligen, så länge man begränsar betraktelsen till att endast gälla heltal och inte går över till bråk. Texten leder i sin helhet fram till ett bevis för aritmetikens fundamentalsats. Fundamentalsatsens innebörd är att varje heltal (större än 1) kan uttryckas som en produkt av primtal, och att denna produkt är entydig bortsett från den ordning i vilken primtalen ställs. De väsentliga inslagen i fundamentalsatsen och dess bevis finner man redan i Euklides Elementa Bok VII, som behandlar talteori. Även i moderna läroböckers bevis för primtalsfaktoriseringens entydighet utnyttjas oftast ett talteoretiskt samband som kallas Euklides hjälpsats (eller Euklides lemma ), vilken dyker upp som Prop. 30 ur Bok VII. Aritmetikens fundamentalsats är, som namnet antyder, ett mycket användbart matematiskt samband. Det är oumbärligt för många matematiska bevis och metoder. Inte minst i samband med olika slags kodning hör det till själva förutsättningen för kodningens tillförlitlighet att primtalsfaktoriseringen är unik. Ett annat exempel på en användning av fundamentalsatsen finns inom det område av modern teoretisk matematikvetenskap som går under namnet matematisk logik, och speciellt ett delområde som heter metamatematik. Detta innebär det matematiska studiet av formaliserade logiska system. Den bland icke matematiker kanske mest berömda av 1900 talets matematiker är förmodligen österrikaren Kurt Gödel (1906 1978). Gödel gör i beviset för det inte mindre berömda Gödels ofullständighetsteorem bruk av aritmetikens fundamentalsats vid den så kallade Gödelaritmetiseringen, ett sätt att koda påståendesatser inom ett aritmetiskt axiomsystem (typiskt Peanoaritmetiken) som heltal. 3
Figur 1: Punktrektanglar för heltalen 1 till 10. Om heltalet är större än 1 och ett primtal så är den enda möjligheten en ensam rad av punkter. Om heltalet inte är ett primtal (och större än 1) är det ett sammansatt tal. Det är då möjligt att framställa en punktrektangel med minst två rader av punkter. 2.1 Definition av primtal Ett positivt heltal p, större än 1, säges vara ett primtal om de enda positiva delarna till p är 1 och p. Naturligtvis gäller att talet 1 endast är delbart med 1 och sig självt, men av ett visst lämplighetsskäl undviker man att betrakta 1 som ett primtal. Det handlar om att aritmetikens fundamentalsats skulle få en mer omständlig formulering om man också lät talet ett räknas till primtalen. De första primtalen upp till och med 101 räknar tjugosex stycken: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101 Det kan vara bra att ha definitionen av primtal klart formulerad som en matematiskt giltig sats: [1] Ett heltal p är ett primtal om och endast om p är större än 1 och de enda positiva delarna till p är 1 och p. Om ett heltal, större än 1, inte är ett primtal säges det vara ett sammansatt 4
tal. De sammansatta talen under 101 är alla de heltal från 4 och uppåt som inte dyker upp någonstans i ovanstående lista av primtal. Exempelvis är 4, 10 och 15 sammansatta heltal, eftersom 4 = 2 2, 10 = 2 5 och 15 = 3 5. Heltalen 0 och 1 utgör varken primtal eller sammansatta tal. 2.2 Euklides primtalssats Låt oss nu försöka besvara följande fråga: Fråga 1. Hur många primtal finns det? Det svar Euklides ger återfinner man som Prop. 20 ur bok IX av Elementa, också kallad för Euklides primtalssats: [2] Det finns oändligt många primtal; listan med primtal kan med andra ord fortsättas utan slut. Euklides klassiska bevis för sitt påstående ser ut såhär (eller ungefär såhär): 1. Antag att man har en lista av några av de första primtalen. Utan att förlora i resonemangets allmängiltighet kan vi helt enkelt anta att vår lista består av primtalen p 1, p 2, p 3. 1 2. Konstruera nu talet N = p 1 p 2 p 3 + 1 Antingen är N ett primtal eller så är det inte primtal. 3a. Antag att N är ett primtal. N är strikt större än vart och ett av talen p 1, p 2 och p 3. Av det följer att N är ett primtal som vi kan förlänga listan av primtal med och i så fall är vi klara. 3b. Antag istället att N inte är ett primtal. I så fall måste det finnas något primtal som är en delare till N. Heltalsdivision av N med vilket som helst av primtalen p 1, p 2 eller p 3 ger dock resten 1. (Räknar man till exempel hur många gånger p 1 1 Resonemanget förlorar inget i allmängiltighet eftersom ett helt analogt argument kunde upprepas för en lista av primtal av godtycklig längd. Om vi har en lista av fyra primtal, så sätter vi helt enkelt N = p 1 p 2 p 3 p 4 + 1, om en lista med fem primtal N = p 1 p 2 p 3 p 4 p 5 + 1, och så vidare. 5
går i N är svaret p 2 p 3 gånger och resten är 1.) Alltså är en primtalsdelare till N också ett primtal att förlänga vår lista av primtal med och i så fall är vi klara. 4. Oavsett vilket av alternativen i rad (2) som gäller har vi ändå funnit ytterligare primtal att förlänga listan av primtal med. Slutsatsen är att det finns oändligt många primtal. Beviset är klart. 2.3 Primfaktorer och aritmetikens fundamentalsats Om p är ett primtal som delar ett givet heltal n så säges p vara en primfaktor i n. Varje heltal kan delas upp i primfaktorer och därefter uttryckas som en produkt av dessa primfaktorer. Exempel 1. Låt oss titta på ett konkret exempel och dela upp heltalet 42 i primtal. 1. Vi börjar med att pröva primtalet 2 och ställer frågan Är 42 delbart med 2? Svaret är ja, eftersom om vi delar 42 med 2 får vi 21 och resten 0: 42 = 2 21 2. 21 är inte ett primtal, så vi undersöker vilka primfaktorer det har. Är 21 delbart med 2? Nej, det är det inte. Däremot är det delbart med 3, eftersom 21 = 3 7: 42 = 2 3 7 3. 7 är ett primtal och kan därför inte delas upp i fler faktorer. Därmed har vi funnit alla primfaktorer till talet 42. Att denna uppdelning i primfaktorer dessutom bara kan göras på ett bestämt sätt för ett givet heltal är innebörden av aritmetikens fundamentalsats. Den produkt av primtalsfaktorer som aritmetikens fundamentalsats omtalar kallas för primtalsfaktoriseringen av heltalet. Eftersom den är entydig, bortsett från faktorernas ordning, kan produkten skrivas på ett och endast ett sätt 6
med primtalen i stigande storleksordning. När man skriver upp primtalsfaktoriseringen brukar man samla alla upprepningar av ett primtal som en potens istället. Några exempel på sådana primtalsfaktoriseringar: 6 = 2 3 = 2 1 3 1 42 = 2 3 7 = 2 1 3 1 7 1 18 000 = 2 2 2 2 3 3 5 5 5 = 2 4 3 2 5 3 Detta att ställa produkten av primfaktorer i storleksordning kallas för primtalsfaktorisering på normalform. Ett annat smidigt sätt att redogöra för primtalsfaktoriseringen av ett tal är med hjälp av ett primfaktorträd. Ett primfaktorträd är ett exempel på den allmänna diskreta strukturen träddiagram, som kommer till användning inom datalogin, logiken och sannolikhetsläran exempelvis. Såhär kan ett primfaktorträd för talet 60 se ut: 60 2 30 2 15 3 5 Talet 60 har primtalsfaktorerna 2, 2, 3, 5. På normalform kan primtalsfaktoriseringen av 60 skrivas: 60 = 2 2 3 5 Aritmetikens fundamentalsats lyder som följer: [3] Varje heltal n större än 1 kan skrivas som en produkt av primtal. Bortsett från i vilken ordning man ställer primtalen är denna uppdelning i primtalsfaktorer entydig. Här är ett alternativt men helt ekvivalent sätt att formulera fundamentalsatsen: Låt n vara ett heltal större än 1. Då finns det primtal p 1, p 2,..., p m 7
och exponenter k 1, k 2,..., k m som alla är större än noll, sådana att n = p k 1 1 p k 2 2 p km m Bortsett från i vilken ordning man ställer primtalen är denna uppdelning i primtalsfaktorer entydig för heltalet n. 2.4 Bevis för aritmetikens fundamentalsats Att det i varje enskilt fall, alltså för ett givet heltal n större än 1, verkligen är möjligt att dela upp talet i primtalsfaktorer torde inte vara så svårt att inse. Man kunde formulera ett bevis för denna första del av aritmetikens fundamentalsats, alltså primtalsfaktoriseringens möjlighet, såhär: 1. Varje heltal n, större än 1, är antingen ett primtal eller ett sammansatt tal. Om det är ett primtal så är vi klara. Om det inte är ett primtal kan n delas upp i delfaktorer, som var och en är strikt mindre än n. Eftersom vi rör oss med ett ändligt tal kan uppdelningen av talet i faktorer inte fortgå i all oändlighet. Vad vi då i slutändan landar med är en uppsättning faktorer som inte låter sig uppdelas ytterligare det vill säga en uppsättning primtal. Den knepigare biten i beviset för fundamentalsatsen är med andra ord inte att visa att en primtalsfaktorisering överhuvudtaget låter sig göras; det är så gott som självklart. Det svårare är att visa att det bara låter sig göras på ett enda sätt för varje möjligt heltal, bortsett från den ordning i vilken man sedan ställer primtalsfaktorerna. För denna bit av beviset används vanligtvis Euklides hjälpsats, som är själva kärnan i det sedvanliga bevisförfarandet. Man kunde nästan säga att beviset för hela aritmetikens fundamentalsats låter sig återföras på att bevisa Euklides hjälpsats. Beviset för den senare har jag valt att placera i nästkommande avsnitt. Euklides hjälpsats (eller Euklides lemma ) dyker upp som teorem 30 ur bok VII av Elementa: [4] Om primtalet p är en delare till produkten ab, så är p också delare till minst ett av heltalen a och b. 8
Med den formella logikens notation kan hjälpsatsen skrivas: p ab = p a p b Jag påminner om att symbolen i matematiken och den formella logiken är beteckning för inklusiv disjunktion. I matematiken innebär A eller B alltid A eller B eller båda två om ingenting annat är uttryckligen sagt. Det kan naturligtvis gälla att primtalet p delar både a och b. Exempelvis är primtalet 2 delare till talet 24 = 6 4, men också till båda talen 6 och 4. Ur Euklides hjälpsats får vi omedelbart en följdsats (ett korollarium): [5] Om primtalet p är en delare till en mångfaldig produkt a 1 a 2 a 3 a m av heltal, så är p även delare till åtminstone en av faktorerna i produkten (och eventuellt fler av dem). Jag överlåter på läsaren att övertyga sig om att detta följer ur Euklides hjälpsats. Låt oss nu ser hur vi kan använda Euklides hjälpsats för att demonstrera primtalsfaktoriseringens entydighet (upp till faktorernas ordning) och därmed fullborda beviset för aritmetikens fundamentalsats: 2. Antag att vi har två primtalsfaktoriseringar p 1 p m och q 1 q l av ett och samma naturliga tal n > 1. Tanken är att visa att den ena faktoriseringen i så fall är en permutation av den andra, vilket betyder en omkastning av faktorerna i en annan ordning helt enkelt. 3. Eftersom p 1 n följer av sats [5] att p 1 delar någon av faktorerna q 1,..., q l, låt oss säga q 3. Men då både p 1 och q 3 är primtal gäller förstås att p 1 = q 3. Dela n med p 1 och fortsätt på liknande sätt med p 2. Vi inser att p 2 är lika med något av talen q 1, q 2, q 4,..., q l, låt oss säga q 5. När man på det där sättet har gått igenom hela listan med primtal p i har man i och med detta även uttömt listan med primtal q j. (Det inte är möjligt att något av talen i den andra faktoriseringen blivit utelämnat, eftersom man i så fall skulle ha kvar en motsägelse på formen 1 = något primtal.) 4. Slutsatsen är att primtalen som ingick i de två primtalsfaktoriseringarna i själva verket var desamma. 9
Beviset för aritmetikens fundamentalsats är således fullbordat. 2.5 Bevis för Euklides hjälpsats Med utgångspunkt i Euklides algoritm kan man konstatera följande matematiska samband: [6] Låt a och b vara två heltal. Då finns det heltal x och y sådana att linjärkombinationen av a och b med x och y är lika med den största gemensamma delaren till a och b. Det är: xa + yb = gcd(a, b) För en förklaring till detta se dokumentet Den största gemensamma delaren och Euklides algoritm. Med hjälp av [6] kan ett bevis för sats [4] formuleras: 1. Antag att p ab. 2. Om p a så är vi klara, eftersom det i så fall gäller att p delar a eller b. 3. Antag därför att p inte delar a. I det fallet gäller att den största gemensamma delaren till p och a är 1. Det kreativa steget består nu i att utnyttja Euklides algoritm för beviset. 4. Eftersom p och a i det här fallet är relativt prima finns enligt sats [6] därmed heltal x och y sådana att 1 = px + ay 5. Multiplicerar vi nu vänsterled och högerled i likheten med b får vi: b = pbx + aby 6. Enligt villkoret i satsen är p en delare till ab, varför ab = pc, för något heltal c. 7. Ur (5) och (6) följer att b = pbx + pcy = p(bx + cy) 10
genom substitution av ab med pc. Om p inte delar a gäller med andra ord att p istället är en delare till b. Alltså gäller även under antagande (3) att p delar a eller b. 8. Slutsatsen är att p a eller p b. Beviset för Euklides hjälpsats är klart. 11
3 Kommentarer 3.1 Talteori och fascinationen för primtal Primtalen har varit ett starkt intresse för matematiker ända sedan antiken. Även idag finns det matematiker som har valt att viga sin forskning åt primtalen och deras egenskaper. De flesta människor är förstås inte särskilt intresserade av att viga sina liv åt primtalen. Men även för oss som inte delar matematikerns engagemang för saken finns det alltjämt ett bildningsintresse, även för den som är mer filosofiskt eller humanistiskt orienterad, i att åtminstone känna till litegrann om primtalen och den roll de spelar i matematiken och idéhistorien. Förutom det renodlat matematiska intresset eller den humanistiska bildningsaspekten finns det idag, på grund av datorernas uppkomst och utveckling, även tekniska tillämpningar av talteoretisk kunskap om primtalen. Den kommer bland annat till praktisk tillämpning inom datakryptering. Det är ett område som är gemensamt för matematiken och datavetenskapen som kallas för kryptologi. Bland annat banker använder primtalskryptering för säker betalning via internet. Naturligtvis är kryptering också ett viktigt kunskapsområde för militären och dess olika organ. Det med all säkerhet genom tiderna mest berömda av alla talteoretiska problem heter Fermats sista problem. Detta är dock inte längre ett olöst problem, men det tog matematiker och amatörers ansträngningar till trots över 350 år att finna en lösning. Den som slutligen lade alla pusselbitarna på plats var en brittisk matematiker vid namn Andrew Wiles. År 1995 publicerade Wiles sitt bevis för Fermats sista sats som en cirka 200 sidor lång matematisk avhandling med titeln Modular Elliptic Curves and Fermat s Last Theorem. För denna bedrift erhöll Wiles den prestigefyllda Fieldsmedaljen, matematikvärldens motsvarighet till Nobelpriset, dock ännu mer sällsynt, då den bara delas ut vart fjärde år. Än idag finns det mängder av olösta talteoretiska problem. En del av dessa har förblivit olösta gåtor i åtskilliga sekler. Ett annat berömt talteoretiskt 12
problem, men som faktiskt fortfarande är olöst, handlar om primtalen. Den tyske matematikern Christian Goldbach lade på 1700 talet fram en hypotes som sedan dess kallas för Goldbachs hypotes eller förmodan: Varje jämnt heltal större än 2 kan skrivas på åtminstone ett sätt som en summa av två primtal. Hypotesen säger inte att det bara skulle gå att göra på ett enda sätt, men att det för varje jämnt heltal finns åtminstone ett sätt att skriva det som en summa av två primtal. Det gäller ju exempelvis att: 4 = 2 + 2 6 = 3 + 3 8 = 3 + 5 10 = 5 + 5 = 7 + 3 12 = 7 + 5 Det olösta talteoretiska problem, som också brukar gå under namnet Goldbachs förmodan, lyder alltså såhär: Problem (Goldbachs förmodan): Bevisa eller motbevisa Goldbachs hypotes. Än så länge har man inte hittar något motexempel mot Goldbachs hypotes, vilket omedelbart skulle bevisa att den är falsk. Men man har heller inte åtminstone inte än så länge lyckats ge ett matematiskt bevis för att den är sann. Av att man än så länge inte har hittat något motexempel, följer ju inte att påståendet nödvändigtvis skulle vara sant för alla möjliga jämna heltal. Man kan ju tänka sig att det skulle kunna finnas ett heltal större än alla hittills kända test, men som inte uppfyllde den efterfrågade egenskapen. I dagsläget finns med andra ord varken ett bevis eller ett motbevis för Goldbachs hypotes. 13
4 Lock/portar 4.1 Teorifrågor samt frågor till stöd för minnet F2. (a) Hur lyder definitionen av primtal respektive sammansatt tal? (b) Vilka är de första tio primtalen? (c) Hur många primtal finns det? F3. Ge ett bevis för Euklides primtalssats. F4. Hur kommer det sig att primtalsfaktorisering alltid är möjlig att genomföra för ett heltal större än 1? F5. Hur lyder Euklides hjälpsats? Vad är en omedelbar konsekvens av detta lemma? F6. Ge ett bevis för Euklides hjälpsats. F7. Ge ett bevis för aritmetikens fundamentalsats (närmare bestämt primtalsfaktoriseringens entydighet) med stöd av Euklides hjälpsats. 4.2 Ett urval av problem P1. Primtalsfaktorisera heltalet. Redovisa på normalform och med primfaktorträd: (a) 21 (b) 330 (c) 150 P2. Visa följande matematiska ekvivalens: [7] Ett heltal n är delbart med 6 om och endast om n är delbart med både 2 och 3. Med matematisk notation: 6 n 2 n 3 n 14