Uppsala Universitet Matematiska institutionen Isac Hedén Algebra I, 5 hp Lösningsförslag till problemen om uppräknelighet. Vi börjar med något ord om begreppet uppräknelighet. En uppräknelig mängd är en mängd som låter sig ”räknas upp”. Med det menas att vi kan räkna upp dess samtliga element, alltså att vi kan ordna dem ett efter ett på rad, så att mängden har ett första element, ett andra, ett tredje, ett fjärde osv. Alla element får en plats i listan, så om vi fixerar ett godtyckligt element i mängden, så kommer vi för eller senare fram till just det om vi bara stegar oss tillräckligt långt genom uppräkningen. En uppräknelig mängd kan räknas upp på många olika sätt, eftersom man kan räkna upp elementen i olika ordning. Ett exempel på en uppräknelig mängd är mängden av alla positiva udda heltal, som kan räknas upp på följande vis: 1, 3, 5, 7, 9, 11, 13, . . .. Förr eller senare kommer vi fram till vilket givet positivt udda heltal som helst, så listan är fullständig (annars: vilket positivt udda tal finns inte med i listan?). En uppräkning av samtliga heltal kan se ut som följer: 0, 1, −1, 2, −2, 3, −3, 4, −4, 5, −5, . . .. Även de icke-negativa heltalen och de negativa heltalen kan räknas upp var och en för sig: 0, 1, 2, 3, 4, 5, 6 . . . och −1, −2, −3, −4, −5, −6, −7, . . .. Uppräkningen av samtliga heltal får vi genom att ”fläta” dessa två uppräkningar. Däremot vore det inte möjligt att räkna upp heltalen genom att först räkna upp de positiva och sedan de negativa. Det går alltså inte att bara ta de två uppräkningarna och sätta ”på rad” efter varandra (annars: på vilken plats i listan skulle det första negativa heltalet komma?). Just detta att ”fläta ihop” uppräkningar är ofta en användbar idé vid problemlösning. Lägg märke till att en uppräkning av en mängd A är precis samma sak som en bijektion f : N −→ A. Eftersom 0 ∈ N, börjar uppräkningen med A:s ”nollte” element, därefter kommer det första, andra, tredje, fjärde, osv. Funktionen f definieras helt enkelt i termer av uppräkningen, så att f (0) blir det ”nollte” elementet i A, f (1) det första, f (2) det andra, f (3) det tredje, osv. Om vi å andra sidan har en bijektion f : N −→ A, kan uppräkningen definieras i termer av f , så att det ”nollte” elementet i uppräkningen är f (0), det första är f (1) och så vidare. Att funktionen är injektiv innebär att det inte finns någon upprepning i uppräkningen – det blir ett nytt element varje gång. Att funktionen är surjektiv betyder att varje element i A förr eller senare dyker upp i uppräkningen. Även fast en mängd är uppräknelig, som Q till exempel, behöver det inte finnas någon uppräkning där elementen kommer i storleksordning. Just i fallet Q, skulle ju uppräkningen behöva börja med det minsta rationella talet, men något sådant tal finns inte! Att visa att en mängd är uppräknelig betyder alltså precis att vi ska visa att det finns en bijektion från N till mängden i fråga. 1. Detta är ett ”enkelt” problem, eftersom mängderna är givna ”genom uppräkning” – problemtexten i sig har ett inbyggt förslag på hur numreringen (eller uppräkningen) ska se ut, eftersom mängderna är givna som en lista med element: ett första, ett andra, ett tredje och så vidare. a) Definiera f : N −→ {11, 12, 13, 14, . . .} genom f (n) = n + 11. Det är en bijektion. 5 b) Definiera f : N −→ { 2n | n = 1, 2, 3, . . .} genom f (m) = 5 2(m+1) . Det är en bijektion. 2. Låt M beteckna mängden av naturliga tal som är delbara med tre. a) Här kan vi ta f : N −→ M, f (m) = 3m. Det är en bijektion. b) Det finns två slags naturliga tal som inte är delbara med tre: de som ger rest 1 vid division med 3, och de som ger rest 2 vid division med tre: {1, 4, 7, 10, 13, 16, 19, 22, . . . } och {2, 5, 8, 11, 14, 17, 20, 23, . . . }. Var och en av dem är givna genom uppräkning, och vi är intresserade av att räkna upp deras union. Det gör vi medelst ”flätning”. Det betyder att vi använder de jämna naturliga talen för att räkna upp den ena av dem, och de udda för att räkna upp den andra. I formler kan man skriva den uppräkningen på följande vis { 3m om m är jämnt 2 +1 f (m) = 3m+1 om m är udda. 2 Observera att faktorn 23 gör att f (m) växer i rätt hastighet: om m växer från ett jämnt tal till nästa (eller udda till nästa udda), så växer f (m) med 3. Den konstanta termen (1 respektive 12 ) är bara till för att göra så att uppräkningen börjar på rätt tal. 3. Det första sättet man kommer att tänka på att räkna upp elementen i den givna mängden är 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, . . . Låt oss ta vara på den idén för att skapa en funktion f : N −→ A. Vi definierar f (0) = 1, f (1) = 10, f (2) = 11, f (3) = 100, f (4) = 101, osv. I allmänhet definierar vi för ett godtyckligt naturligt tal n att f (n) = ”talet n + 1 skrivet binärt”. Det är lätt att se att funktionen är injektiv och surjektiv (det är ekvivalent med att säga att varje följd av ettor och nollor i A är den binära representationen av något naturligt tal (surjektivitet), samt att olika naturliga tal har olika binär representation (injektivitet)). 4. Låt A vara mängden av rationella tal q som uppfyller 0 < q < 1. Vi betraktar funktionen f : Q+ −→ A, f (m/n) = m/(m + n). För det första är f (m/n) verkligen ett element i A, eftersom 0 < m/(m + n) < 1 (nämnaren är större än täljaren). Den är injektiv, för om p/q och r/s är rationella tal, har vi f (p/q) = f (r/s) ⇒ p/(p + q) = r/(r + s) ⇒ p(r + s) = r(p + q) ⇒ ps = rq ⇒ p/q = r/s. Det vill säga p q ̸= r s ⇒ f ( pq ) ̸= f ( rs ), så olika rationella tal i definitionsmängden har olika funktionsvärden. Den är också surjektiv: Låt a/b vara ett godtyckligt tal i A. Då gäller b > a. Nu behöver vi försöka hitta m/n ∈ Q+ sådant att f (m/n) = a/b. Det visar sig att m = a och n = b − a ”gör jobbet”. Funktionen f är alltså surjektiv: varje tal a/b i målmängden är funktionsvärdet av något i definitionsmängden. Sammanfattningsvis följer det att mängden A har samma kardinalitet som Q+ – trots att A är en äkta delmängd av den senare. 5. a) Vi kan definiera f : Z+ −→ M genom f (n) = 1/n. Det är tydligt att funktionen är injektiv: f (m1 ) = f (m2 ) ⇒ m1 = m2 , däremot är den inte surjektiv eftersom (till exempel) f (x) ̸= 2/3 för alla x ∈ Z+ , trots att 2/3 ∈ M . b) Vi kan definiera en surjektion g : M −→ Z+ genom { 1 om x = n1 för något n ∈ Z+ g(x) = x 1 annars. Till exempel har vi g(3/4) = g(9/46) = g(2/7) = 1 och g(1/9) = 9, g(1/5) = 5. Funktionen är inte injektiv eftersom det finns olika tal i M som avbildas på 1. 6. a) En linje genom origo bestäms av sin lutning. Om en linje innehåller en heltalspunkt (m, n) med m ̸= 0 så har den lutning n/m ∈ Q. Sedan finns det ytterligare en linje som innehåller heltalspunkter, nämligen y-axeln (man skulle kunna säga att ”dess lutning är ∞”, alltså inte ett rationellt tal). Låt q0 , q1 , q2 , q3 . . . vara en uppräkning av de rationella talen (att en sådan finns bevisade vi på föreläsning 11). Till varje linje genom origo (utom y-axeln) hör ett rationellt tal, och till varje rationellt tal hör en linje genom origo. Nu kan vi producera en uppräkning av linjerna genom origo som innehåller heltalspunkter som följer: f : N −→ {linjer genom origo som innehåller en heltalspunkt} { definieras av f (n) = y − axeln linjen med lutning qn−1 om n = 0 om n ≥ 0. b) En godtycklig linje genom origo kan beskrivas med hjälp av en vinkel θ ∈ [0, π). Det finns alltså lika många linjer genom origo som det finns reella tal θ som uppfyller 0 ≤ θ < π. Ett sådant intervall har samma kardinalitet som R, och är alltså överuppräkneligt. 7. Till exempel är f : [0, 1] −→ [2, 3], f (x) = x + 2 en bijektion. 8. Till exempel är f : (0, 1) −→ (0, 2), f (x) = 2x en bijektion. 9. Till exempel är f : (0, 1] −→ [0, 1), f (x) = 1 − x en bijektion. 10. Till exempel är f : (0, 1] −→ [1, ∞), f (x) = 1/x en bijektion. 11. Till exempel kan vi göra som följer: Istället för att alternera mellan sifforna 3 och 8 som vi gjorde i beviset på föreläsning 11, i konstruktionen av talet b som inte återfinns i listan, kan vi alternera mellan 1 och 2 på den första decimalen, sedan mellan 3 och 4 på de följande tio decimalerna, sedan mellan 1 och 2 på de följande 100 decimalerna, sedan mellan 3 och 4 på de följande 103 decimalerna, sedan mellan 1 och 2 på de följande 104 decimalerna, sedan mellan 3 och 4 på de följande 105 decimalerna, sedan mellan 1 och 2 på de följande 106 decimalerna och så vidare. Det producerar ett irrationellt tal som inte finns med i listan, för om det på detta sätt konstruerade talet b vore rationellt så skulle det ha en periodisk decimalutveckling. Det är omöjligt, för om perioden hade längd p och innehåller en siffra 0 ≤ c ≤ 9, kommer talet b att ha decimalföljder som är längre än perioden p, där siffran c inte förekommer (10i blir förr eller senare större än p). 12. a) Låt A vara en mängd av icke-tomma öppna disjunkta intervall. Varje element i A (ett öppet intervall på den reella tallinjen alltså) innehåller (minst) ett rationellt tal. Disjunkta intervall har inga gemensamma punkter, så genom att välja ut ett rationellt tal i vart och ett av de öppna intervallen i A, kan vi bilda en injektiv funktion från A till Q. Det följer att A har lägre eller samma kardinalitet som Q, så att A är ändlig eller uppräknelig. b) Låt {qi }∞ i=1 vara en uppräkning av de rationella talen q som uppfyller 0 < q ≤ 1, och låt q0 = 0. Då kan vi definiera en bijektion f : (0, 1] −→ [0, 1] genom { qi−1 om x = qi för något i = 1, 2, 3, . . . f (x) = x om x är irrationellt. Det visar att kardinaliteten för ett intervall på den reella tallinjen inte förändras bara för att man lägger till eller drar ifrån en punkt. c) Låt {qi }∞ i=0 vara en uppräkning av de rationella talen. Låt K vara √ delmängden av R som består av element som blir rationella om man subtraherar 2 från dem. Då kan vi räkna upp K på följande vis: √ √ √ √ K = {q0 + 2, q1 + 2, q2 + 2, q3 + 2, . . .}. Nu är tricket att ”fläta ihop” K och Q, så att f (x) tillhör K för alla x ∈ K ∪ Q, och så att f (x) ∈ / Q för alla x ∈ R. Definiera alltså f : R −→ R \ Q genom √ om x = qi ∈ Q q2i + 2√ √ f (x) = q2i+1 + 2 om x = qi + 2 ∈ K x annars. Det gör att f (K ∪ Q) = K och f (R \ (K ∪ Q)) = R \ (K ∪ Q). Funktionen f är en bijektion.