Uppsala Universitet Matematiska institutionen Isac Hedén isac [email protected] Algebra I, 5 hp Vecka 18. Euklides algoritm (fortsättning) Vi börjar med en metod att ”nysta upp” Euklides algoritm, dvs. att göra den baklänges i en viss mening. Det kommer att visa sig mycket användbart till exempel för att lösa Diofantiska ekvationer (vecka 19), men spelar även en roll i beviset för aritmetikens fundamentalsats som vi strax kommer till. Låt a och b vara två heltal. Säg att vi är intresserade av att hitta heltal x och y sådana att ax + by = SGD(a, b). Det kan vara till hjälp att tänka på situationen som att vi är i ett land där de bara har två slags mynt (och inga sedlar) – det ena slags myntet är värt a kr, och det andra slags myntet är värt b kr. Hur ska vi bära oss åt för att betala SGD(a, b) kr? Säg att mynten är värda 4 respektive 5 kr – eftersom SGD(5, 4) = 1, är vi alltså intresserade av att betala 1 kr med dessa två typer av mynt. Det kan göras genom att ge kassören en femma och få en ”fyra” i växel. Motsvarande ekvation är 5x + 4y = 1, och lösningen ges av x = 1, y = −1. Exempel 2.1. Om vi tar a = 47 och b = 14, så blir SGD(a, b) = 1, och uppgiften är alltså att hitta heltal x och y sådana att 47x + 14y = 1. Den allmänna metoden för detta är att utföra Euklides algoritm på a och b, sedan att ”nysta upp” algoritmen. Vi börjar med att utföra Euklides algoritm på a och b, alltså att först dela a med b med kvot och rest, sedan dela b med resten, sedan dela den första resten med den andra resten, sedan den andra resten med den tredje resten, den tredje med den fjärde och så vidare tills en division går jämnt upp: 47 14 5 4 (1) = 3 · 14 + 5 (2) = 2·5+4 (3) = 1·4+1 (4) 4·1+0 = Målet när vi ”nystar upp” algoritmen är att skriva talet SGD(a, b) (lika med 1 i det här fallet) som en heltalskombination av 47 och 14. Det betyder att vi vill ha ett helt antal ”fyrtiosjuor” och ett helt antal ”fjortonar” sådana att det blir 1 när vi lägger ihop dem. Begreppet heltalskombination är ett nyckelbegrepp. Vi börjar med den sista ekvationen där resten är nollskild, alltså ekvation (3). Den används för att skriva 1 som en heltalskombination av 5 och 4, som i ekvation (a) nedan. Sedan går vi vidare uppåt till ekvation (2), och använder den för att eliminera 4, som blev resten där. Resultatet är ekvation (b), där 4 är utbytt mot 14 − 2 · 5. Nu har vi skrivit 1 som en heltalskombination av 5 och 14, likheten (c) är bara en förenkling för att se hur många det är av varje (koefficienterna, alltså så många som vi har av varje, är 3 och −1). Därefter använder vi ekvation (1) för att eliminera 5, som blev resten vid division av 47 med 14. Resultatet är ekvation (d), där 5 byts ut mot 47 − 3 · 14, enligt ekvation (1). Nu har vi skrivit 1 som en heltalskombination av 14 och 47, precis som vi ville, och i ekvation (e) räknar vi bara hur många vi har av varje (koefficienterna är 3 respektive −10). Metoden var alltså att skriva 1 som en heltalskombination först av 4 och 5 (rad 1 nedan), sedan som en heltalskombination av 5 och 14 (rad 2 nedan), och till sist som en heltalskombination av 14 och 47 (rad 3 nedan). 1 (a) = 5−4 (b) = 5 − (14 − 2 · 5) = 3 · 5 − 14 (d) 3(47 − 3 · 14) − 14 = 3 · 47 − 10 · 14. = (c) (e) En lösning är alltså (x, y) = (3, −10). Det innebär att man kan betala 1 kr genom att ge 3 st ”fyrtiosjuor” och få 10 stycken ”fjortonar” i växel. Ett litet diagram kanske kan vara till nytta för att förstå i vilken ordning de olika stegen i uppnystningen ska göras. De inblandade talen i Euklides algoritm är a = 47, b = 14, och de successiva resterna 5, 4, 1, och 0: 47 47 47 14 14 14 5 5 5 4 4 4 1 1 1 0 0 0 Fyror och femmor används först, sedan femmor och ”fjortonar”, och till sist ”fjortonar” och ”fyrtiosjuor”, och vi är klara. De två rutorna på varje rad startar till vänster om SGD(a, b), ettan alltså i det här fallet, och förflyttar sig sedan hela tiden ett steg till vänster. När de är i den vänstra änden är saken klar. Ju fler successiva rester man får i algoritmen, desto fler rader blir det. Exempel 2.2. Vi utför Euklides algoritm på talen a = 74 och b = 11 och bestämmer sedan, medelst uppnystning, heltal x och y sådana att 74x + 11y = SGD(74, 11): 74 = 6 · 11 + 8 11 = 1 · 8 + 3 8 = 2·3+2 3 = 1·2+1 2 = 2·1+0 Under uppnystningen eliminerar vi de successiva resterna 1, 2, 3, och 8 med hjälp av motsvarande rad i ovanstående beräkningar. Observera hur radbytena i uppnystningen stämmer överens med radbytena i uppställningen för Euklides algoritm: vi börjar på den näst nedersta raden (där resten blev 1) och arbetar oss uppåt till den översta raden: 1 = 3−2 = 3 − (8 − 2 · 3) = 3 · 3 − 8 = 3 · (11 − 8) − 8 = 3 · 11 − 4 · 8 = 3 · 11 − 4 · (74 − 6 · 11) = 27 · 11 − 4 · 74. På den andra raden ersatte vi 2 med 8 − 2 · 3, på den tredje raden ersatte vi 3 med 11 − 8 och på den sista raden ersatte vi 8 med 74 − 6 · 11. Ekvationen 74x + 11y = 1 har alltså (bland annat) lösningen (x, y) = (−4, 27). Här följer ett exempel där SGD(a, b) ̸= 1. Exempel 2.3. Låt a = 720 och b = 99: 720 = 7 · 99 + 27 99 = 3 · 27 + 18 27 = 1 · 18 + 9 18 = 2 · 9 + 0 Eftersom den sista nollskilda resten är 9, vet vi att SGD(720, 99) = 9, och då kan vi ”nysta upp” Euklides algoritm för att hitta heltalslösningar till ekvationen 720x + 99y = 9: 9 = 27 − 18 = 27 − (99 − 3 · 27) = 4 · 27 − 99 = 4 · (720 − 7 · 99) − 99 = 4 · 720 − 29 · 99. Ekvationen 720x + 99y = 9 har alltså (bland annat) lösningen (x, y) = (4, −29). Vi inser med hjälp av dessa exempel att vi har följande allmängiltiga resultat, som i [Vre06, sid 66]. Lemma 2.4. Om a och b är givna heltal, så finns det heltal x och y sådana att SGD(a, b) = xa + yb. Aritmetikens fundamentalsats Målet med det här avsnittet är att bevisa följande sats om primtal, alltså tal som inte har några icke-triviala delare. Sats 2.5 (Aritmetikens fundamentalsats). Varje heltal som är större än eller lika med 2 kan skrivas som en produkt av primtal, och så när som på omordning av faktorerna är en sådan faktorisering entydig. Satsen bevisas med hjälp av fyra stycken hjälpsatser. HS 1: Om a ≥ 2 inte är ett primtal, så är den minsta positiva äkta1 delaren till a ett primtal. HS 2: Varje heltal som är större än eller lika med 2 kan skrivas som en produkt av primtal (på minst ett sätt). HS 3: Låt a och b vara heltal, och p ett primtal. Om p|ab så följer det att p|a eller p|b. HS 4: Antag att ett heltal a ≥ 2 har två primfaktoriseringar: a = p 1 p 2 · · · p m = q1 q2 · · · qn , (alla pj och qk är primtal). Då gäller det att m = n, och om man skriver de två följderna av primtal i storleksordning så gällder det att p1 = q1 , p2 = q2 , . . . , pn = qn . Bevis. (HS 1): Eftersom a inte är ett primtal, så har a äkta delare. Låt b vara den minsta positiva bland dessa. Då gäller det att 1 < b < a. Om nu b inte vore ett primtal så skulle b ha en positiv äkta delare c med 1 < c < b, men då skulle c även vara en äkta delare till a, och den skulle vara mindre än b. Det är en motsägelse eftersom b var den minsta bland a:s äkta positiva delare. 1 En äkta delare är synonymt med en icke-trivial delare. En positiv äkta delare x till a är alltså en delare som uppfyller 1 < x < a. Bevis. (HS 2): Låt a vara ett positivt heltal, a ≥ 2. Om a inte redan självt är ett primtal, så finns det enligt HS 1 ett primtal som delar a. Vi kallar detta primtal för p1 och kvoten för a1 så att a = p1 a 1 . Om a1 är ett primtal så är vi klara, annars använder vi HS 1 igen och hittar ett primtal som delar a1 . Vi kallar detta primtal för p2 och kvoten för a2 så att a = p1 p2 a 2 . Om a2 är ett primtal så är vi färdiga, annars hittar vi ett primtal p3 som delar a2 och kallar kvoten för a3 . Vi fortsätter på samma sätt tills vi kommer fram till en kvot ai som själv är ett primtal. Anledningen till att vi förr eller senare måste erhålla en kvot ai som själv är ett primtal, är att vi annars skulle kunna producera en oändligt avtagande följd av heltal som alla ligger mellan 1 och a, nämligen följden a1 > a2 > a3 > a4 > . . . Detta är förstås omöjligt oavsett vilket heltal a som vi började med. Bevis. (HS 3): Vi visar att om p|ab men p ∤ a så följer det att p|b. Antag alltså att p inte delar a. Eftersom p är ett primtal måste då SGD(a, p) = 1, och genom ”uppnystning av Euklides algoritm utförd på a och p” kan vi hitta två heltal x och y sådana att xa + yp = 1. Multiplikation av denna likhet med b ger: xab + ypb = b. Nu ser vi att p uppenbarligen är en delare i vänstra ledet eftersom p delar båda termerna där (här använder vi antagandet att p|ab). Alltså måste p även vara en delare i det högra ledet – höger och vänster led är ju lika med varandra! Därmed är beviset färdigt. Genom upprepad användning av HS 3 inser man att om ett primtal p delar en produkt av k stycken tal, så måste p dela åtminstone en av de k faktorerna: p|a1 a2 · · · ak ⇒ ∃i ∈ {1, 2, 3, . . . , k} : p|ai . Vi kallar detta för HS 3b. Vi illustrerar med tre faktorer: Antag att p|abc. Eftersom abc = a(bc) kan ses som en produkt av två faktorer, får vi enligt HS 3 att p|a eller p|bc. Om p ∤ a så gäller p|bc vilket enligt HS 3 medför att p|b eller p|c. I vilket fall delar alltså p minst en av a, b och c. Bevis. (HS 4): Vi vet redan från HS 2 att varje heltal a ≥ 2 kan skrivas som en produkt av primtal, och nu återstår det att visa att denna faktorisering är entydigt bestämd av a – dvs. att det inte finns flera olika sätt att primfaktorisera a. Antag därför att vi har två stycken primfaktoriseringar av a (om de har olika många faktorer, så kallar vi primtalen i den ”längsta” faktoriseringen för qi och primtalen i den ”kortare” för pj , så att n ≥ m nedan): a = p1 p2 · · · pm , och a = q1 q2 · · · qn . Eftersom p1 är en faktor i a, är p1 en faktor i q1 q2 · · · qn , och det följer av HS 3b (vi kan använda HS 3b eftersom p1 är ett primtal) att p1 |qi för något i ∈ {1, 2, . . . , n}. Ifall det skulle visa sig att i ̸= 1, så gör vi en omnumrering av q1 , q2 , . . . , qn så att det som före omnumreringen hette qi efter omnumreringen istället heter q1 . Det leder till att p1 |q1 och eftersom både p1 och q1 är primtal så följer det att p1 = q1 . Om vi förkortar a med p1 (som också är lika med q1 ) får vi följande: p2 p3 · · · pm = q2 q3 · · · qn . Nu upprepar vi precis samma procedur, och drar slutsatsen att (eventuellt efter ytterligare en omnumrering av q2 , q3 , . . . , qn ) att p2 = q2 . Efter att ha utfört proceduren m gånger kan vi dra slutsatsen att p1 = q1 , p2 = q2 , . . . , pm = qm , och det som återstår är endera ekvationen 1 = 1 (om n = m) eller ekvationen 1 = qm+1 qm+2 · · · qn (om m < n). I det första fallet är vi klara, och det andra fallet kan inte inträffa eftersom en produkt av (fler än noll) primtal inte kan vara lika med 1. Ett annat sätt att formulera aritmetikens fundamentalsats kunde vara som följer: Låt a ≥ 2 vara ett heltal. Då kan a skrivas som en produkt av primtal, och om vi har två sådana faktoriseringar av a: p1 p2 · · · pm = q1 q2 · · · qn , som uppfyller p1 ≤ p2 ≤ . . . ≤ pm och q1 ≤ q2 ≤ . . . ≤ qn , så gäller det att m = n och pi = qi för i = 1, 2, 3, . . . , n. Primtalsfaktorisering Enligt aritmetikens fundamentalsats, kan varje heltal som är större än eller lika med två skrivas som en produkt av primtal.2 För att utföra en sådan primfaktorisering av ett heltal räcker det att testa delbarhet med primfaktorer. Med andra ord börjar man med att dividera talet med 2 så många gånger som det går. Sedan med 3 så många gånger som det går, sedan med 5, 7, 11, 13, 17, . . . så många gånger som det går. Vid primfaktorisering av ett tal n räcker det att testa delbarhet med primfaktorer upp √ till och med n. Detta är förstås mycket användbart, och används till exempel i deluppgift exempel 2.6(c) nedan. För att sluta oss till att 211 är ett primtal behöver vi inte testa √delbarhet 211 ≃ 15. med alla primtal mellan 1 och 211. Det räcker att testa delbarhet med primtal upp till √ Anledningen är enkel: Om ett positivt heltal n har en äkta delare p som är större än√ n, så är även√kvoten q = √ n/p en äkta delare, eftersom pq = n, och den måste vara mindre än n (för om p > n och q ≥ n, √ skulle deras produkt inte kunna bli n). Det vill√säga, för varje äkta delare p som är större än n, finns det en äkta delare q som √ är mindre än n. Slutsatsen blir, att om det inte finns√några äkta delare som är mindre än n, så finns det inte heller några delare som är större än n, eftersom de kommer parvis. Exempel 2.6. Primfaktorisera a) 171 b) 203 c) 211. Lösning: (a) 171 = 32 · 19. (b) 203 = 7 · 29. (c) 211 är ett primtal och kan inte skrivas som produkt av några icke-triviala delare. Den slutsatsen kan man dra efter √ att ha testat delbarhet med 2, 3, 5, 7, 11, och 13 (eftersom nästa primtal är 17, och 17 > 211). 2 Tal som själva är primtal, räknas som en produkt av ett element. Talet 7 till exempel, har en primfaktorisering som bara består av en enda faktor: talet 7 själv. Aritmetikens fundamentalsats säger att dessa faktoriseringar är entydiga i den meningen att det inte går att faktorisera de tre talen på något annat sätt i primfaktorer förutom ordningsbyte av faktorerna (till exempel kunde vi ha skrivit 171 = 3 · 19 · 3, men det finns inget sätt att faktorisera 171 i några andra primfaktorer än just dessa tre). Beviset för aritmetikens fundamentalsats är, som ni säkert märkte, relativt invecklat. Ni förväntas inte kunna reproducera det på egen hand, men det hör till den matematiska allmänbildningen att någon gång i livet ha tagit sig igenom det och sett de olika stegen. De fyra typer av bevis som följer nu (motsägelsebevis, indirekta bevis, direkta bevis och fallbevis), illustrerar mycket användbara strategier att tillämpa när man vill bevisa något visst påstående. Nu handlar det alltså inte längre om matematisk allmänbildning, utan om metoder som ni kommer att kunna använda till att lösa problem och övningsuppgifter med. Indirekta bevis3 Ett indirekt bevis är ett bevis där man istället för att bevisa en utsaga på formen p ⇒ q bevisar den ekvivalenta utsagan ¬q ⇒ ¬p (att de två utsagorna är desamma, kan man inse genom att göra en sanningsvärdestabell för var och en av dem). Som exempel på detta bevisar vi följande sats. Sats 2.7. Ett heltal n är jämnt om n2 är jämnt. Bevis. Istället för att bevisa (n2 jämnt ⇒ n jämnt) bevisar vi det ekvivalenta påståendet (n udda ⇒ n2 udda): Om n är udda så har vi n = 2k + 1 för något heltal k. Det medför att n2 = (2k + 1)2 = 4k 2 + 4k + 1 = 2(2k 2 + 2k) + 1 också är udda. Motsägelsebevis Ett så kallat motsägelsebevis bygger på att en sluten utsaga u endera är falsk eller sann. Om vi kan visa att ”u är falsk” leder till en logisk omöjlighet, så att det alltså inte är fallet att ”u är falsk”, så kan vi sluta oss till att u är en sann utsaga. Ett motsägelsebevis för u har följande form: ”Antag ¬u. Då följer det att (. . .något logiskt resonemang. . .). Motsägelse!” Vi illustrerar med ett exempel. √ Sats 2.8. 2 är irrationellt. √ Bevis. Antag att 2 är rationellt, då finns det tal p och q utan gemensamma faktorer sådana att √ 2 = p/q (eftersom man alltid kan förkorta bort gemensamma faktorer). Det följer att 2q 2 = p2 . Det betyder att p2 är ett jämnt tal, och enligt sats 2.7 måste därför p själv vara jämnt: p = 2k för något heltal k. Men då följer det att q 2 = 2k 2 så att q 2 är ett jämnt tal, och därför måste även q vara jämnt. Motsägelse (eftersom p och q inte har några gemensamma faktorer)! √ Det enda antagandet som vi gjorde under bevisets √ gång var att 2 var rationellt – det ledde √ till en motsägelse. Alltså var det inte fallet att 2 är rationellt, och vi kan dra slutsatsen att 2 istället är irrationellt (några andra alternativ finns ju inte). 3 Indirekta bevis är nära besläktade med motsägelsebevis, och en del författare använder termen motsägelsebevis för båda två. Direkta bevis Direkta bevis är ”rakt på”. Man bevisar p genom att bevisa p. Vi tar följande exempel: Sats 2.9. Om p är ett primtal och p ̸= 3 så gäller det att 3|(p2 − 1). Bevis. Eftersom p2 − 1 = (p − 1)(p + 1), räcker det att bevisa att 3|(p − 1) eller 3|(p + 1). Vart tredje tal är delbart med 3, så något av p − 1, p, p + 1 är delbart med 3. Men om p är ett primtal och p ̸= 3 så kan p inte vara delbart med 3. Alltså måste p − 1 eller p + 1 vara det. Fallbevis Ibland kan man göra en falluppdelning för att bevisa ett påstående p. Ett sådant bevis, för en utsaga u har strukturen (p ∨ q) ∧ (p ⇒ u) ∧ (q ⇒ u). Det vill säga: Om vi vet att p eller q är sann, samt att båda två var för sig medför u, så kan vi sluta oss till u (även om vi inte vet vilken av p och q som är sann). Som exempel på denna bevisteknik visar vi: Sats 2.10. Det finns irrationella tal b och c sådana att bc är rationellt. √ √2 Bevis. Betrakta√talet 2 . √ √ 2 √ Fall 1: Om 2√ är rationellt, så är saken klar med b = c = 2, eftersom 2√är irrationellt. √ 2 √ √ 2 Fall 2: Om 2 är irrationellt så är saken också klar, nämligen med b = 2 och c = 2: ( √ )√2 √ 2 √ √2·√2 √ 2 bc = 2 = 2 = 2. = 2 I det här fallet var utsagan u: ”Det finns irrationella tal b och c sådana att bc är rationellt”, medan p och q var följande utsagor: √ √2 p : 2 är rationellt √ √2 q : 2 är irrationellt. Utsagan (p ∨ q) är uppenbart sann. Utsagan (p ⇒ u) visas i fall 1, och utsagan (q ⇒ u) i fall 2. Det finns oändligt många primtal Vi avslutar med ytterligare en (klassisk) sats som kan visas med ett motsägelsebevis: Sats 2.11. Det finns oändligt många primtal. Bevis. Antag att det bara finns ändligt många primtal: {p1 , p2 , . . . , pN }. Bilda talet a = p1 p2 p3 · · · pN + 1. Det är uppenbarligen inte ett primtal eftersom det inte finns med i listan. Alltså kan vi skriva det som en produkt av primtal (enligt aritmetikens fundamentalsats) – men det är inte delbart med något av p1 , p2 , . . . , pN eftersom resten hela tiden blir 1 när man dividerar med något av dem. Alltså har vi hittat ett tal som varken är ett primtal eller kan skrivas som produkt av primtal – motsägelse! Referenser [Vre06] A. Vretblad och K. Ekstig. Algebra och geometri. Gleerup, 2006.