Stellingen

Cantors diagonaalargument: waarom de reële getallen niet op een lijst passen

26 juni 20268 min. leestijd
Cantors diagonaalargument: waarom de reële getallen niet op een lijst passen

Stel dat iemand je een lijst geeft. Het is een oneindige lijst, en die persoon beweert dat hij elk reëel getal tussen 0 en 1 bevat. Geen steekproef, geen selectie: elk afzonderlijk, netjes geïndexeerd als r1, r2, r3, enzovoort, eindeloos doorlopend.

Georg Cantors antwoord, in 1891, was dit: welke lijst je me ook geeft, ik kan een getal aflezen dat er niet op staat. De constructie kost ongeveer dertig seconden om te beschrijven. De consequentie kostte wiskundigen decennia om te verwerken, omdat het betekent dat oneindigheid in meer dan één grootte voorkomt.

Tellen en opsommen

Voor de diagonaalzet helpt het om precies te zijn over wat "aftelbaar" betekent. Een verzameling is aftelbaar als je elk element een uniek natuurlijk-getallabel kunt geven: een eerste element, een tweede, een derde, enzovoort, zonder rest. De natuurlijke getallen zelf zijn per definitie aftelbaar. De gehele getallen ook (som ze op als 0, 1, -1, 2, -2, ...) en zelfs de rationale, hoewel het opsommen van elke breuk een slim zigzagpatroon vraagt.

Cantors argument laat zien dat de reële getallen tussen 0 en 1 écht anders zijn: er bestaat geen nummering, hoe je het ook probeert. Dat is geen falen van de verbeelding. Het is een bewijs dat de taak onmogelijk is.

Neem aan dat de lijst bestaat

Het argument is een bewijs uit het ongerijmde. Begin met de tegenstander alles te gunnen wat die wil: neem aan dat er een complete lijst van elk reëel getal in (0, 1) bestaat. Schrijf elk getal als oneindige decimale ontwikkeling.

De lijst zou zo kunnen beginnen:

  • r1=0.14159265r_{1} = 0.14159265\dots
  • r2=0.73205080r_{2} = 0.73205080\dots
  • r3=0.00000000r_{3} = 0.00000000\dots
  • r4=0.27182818r_{4} = 0.27182818\dots
  • r5=0.91415926r_{5} = 0.91415926\dots
  • ...

Elk item loopt eeuwig door. De lijst loopt eeuwig door. En volgens de aanname verschijnt elk reëel getal tussen 0 en 1 ergens erop.

Kijk nu wat er gebeurt als je de diagonaal afleest.

De diagonaal lezen

Kijk naar het eerste decimale cijfer van r1, het tweede decimale cijfer van r2, het derde van r3, enzovoort. In het voorbeeld hierboven zijn die diagonaalcijfers: 1, 3, 0, 2, 9, ...

Je bouwt nu een nieuw getal, noem het d, cijfer voor cijfer. De regel: kies voor elk diagonaalcijfer een ander cijfer, maar vermijd bewust 0 en 9.

r₁0.14159
r₂0.33333
r₃0.50000
r₄0.71828
r₅0.60259
new0.24138

Each highlighted digit sits on the diagonal. The new number changes every one of them (1 3 0 2 9 becomes 2 4 1 3 8), so it cannot equal any row in the list.

De diagonaalcijfers zijn 1, 3, 0, 2, 9. De regel toepassen levert 2, 4, 1, 3, 8. Dus d=0.24138d = 0.24138\dots

Het vermijden van 0 en 9 is een kleine maar noodzakelijke waarborg. Sommige reële getallen hebben twee decimale schrijfwijzen: 0.4999... en 0.5000... noemen hetzelfde punt op de getallenlijn. Een cijfer naar 0 of 9 omdraaien zou je op de "andere naam" van een getal dat al op de lijst staat kunnen zetten, wat het argument vertroebelt. Door voor elk omgedraaid cijfer in het bereik 1 tot en met 8 te blijven, garandeer je dat d precies één decimale ontwikkeling heeft, en de vergelijking hieronder schoon is.

Het nieuwe getal verschilt van elk item

Hier is de uitbetaling.

1

d verschilt van r1 op de eerste decimale plaats

Het eerste cijfer van d is zo gekozen dat het verschilt van het eerste cijfer van r1. Dus d is niet gelijk aan r1. Ze verschillen op positie 1.

2

d verschilt van r2 op de tweede decimale plaats

Het tweede cijfer van d is zo gekozen dat het verschilt van het tweede cijfer van r2. Dus d is niet gelijk aan r2. Ze verschillen op positie 2.

3

d verschilt van rn op de n-de decimale plaats, voor elke n

Volgens de constructie verschilt het n-de cijfer van d van het n-de cijfer van rn. Omdat twee getallen met een verschillend cijfer op welke plaats dan ook ongelijk zijn, is d niet gelijk aan rn, voor welke n je ook noemt.

Dit is de diagonaalzet: d is ontworpen om met elk item op de lijst te botsen, op de ene plek waar elk item het meest blootligt, zijn eigen diagonaalpositie.

4

d is een reëel getal tussen 0 en 1, maar staat niet op de lijst

Het getal d=0.24138d = 0.24138\dots is duidelijk een reëel getal in het interval (0, 1). Maar we hebben net laten zien dat het verschilt van r1, van r2, van r3, van elk item. Als de lijst compleet was, zou d ergens erop moeten staan. Dat doet hij niet. Dus de lijst is niet compleet.

De tegenspraak is scherp: we namen aan dat de lijst compleet was, en we produceerden een reëel getal dat er niet op staat. De aanname moet onjuist zijn. Er kan geen complete lijst van de reële getallen tussen 0 en 1 bestaan.

Wat dit eigenlijk zegt

Wiskundigen zeggen dat de natuurlijke getallen kardinaliteit alef-nul hebben (geschreven met de Hebreeuwse letter alef: het eerste transfiniete kardinaalgetal). De reële getallen hebben een strikt grotere kardinaliteit, soms geschreven als c of als 2 tot de macht alef-nul. Cantors argument is wat vaststelt dat deze twee oneindigheden niet dezelfde grootte hebben.

Dit was diep controversieel toen Cantor het publiceerde. Sommige collega's wezen het resultaat af als curiositeit of fout. Het is geen van beide. Het zit aan de basis van hoe wiskundigen denken over verzamelingen, kardinaliteit en de structuur van de reële getallenlijn, en het sluit direct aan op vragen over wat wel en niet berekend kan worden (zie ook het bewijs in de stelling van Goodstein voor een ander geval waarin iets bewijsbaar waars tegen de grenzen van formele systemen duwt).

Waarom de diagonaal werkt

Wat het argument elegant maakt is de specificiteit. Je raadt niet naar een ontbrekend getal en doet geen beroep op vage intuïtie over hoe groot de reële getallen zijn. Je leest precies af welke posities op de lijst elk item beheerst, en bouwt dan een getal dat elk item precies op die positie ontwijkt.

De lijst zelf vertelt je waar je moet kijken. Elk item op de lijst geeft je één coördinaat, zijn eigen diagonaalcijfer, en de constructie draait die coördinaten om tot een getal dat de lijst niet kan bevatten.

De eenvoud is bedrieglijk. Er is hier niets dat vereist dat je iets weet over de items op de lijst. Het maakt niet uit welke getallen erop staan, in welke volgorde, of hoe ze gekozen zijn. Het argument is universeel: pak willekeurig welke lijst van reële getallen, en de diagonaalconstructie produceert een reëel getal dat er niet op staat.

De zen ervan

Cantors diagonaalargument zit in een lange traditie van wiskundige resultaten die aanvoelen alsof ze niet zouden moeten werken. Je staart naar het bewijs en wacht op de truc, de verborgen aanname, de plek waar de logica glijdt. Die is er niet. Het bewijs is precies zo eenvoudig als het eruitziet.

Wat het je vraagt te accepteren is vreemder dan het bewijs zelf: dat "oneindig" geen enkele bestemming is. De gehele getallen en de reële getallen zijn beide oneindig, maar ze zijn oneindig op categorisch verschillende manieren. Het diagonaalargument is de scheidslijn.

Voor een dieper gevoel van hoe oneindige collecties zich vreemd kunnen gedragen is de structuur van oneindige decimalen een goed volgend punt, of hoe limieten werken wanneer rijen eeuwig een waarde naderen zonder die te bereiken. Het diagonaalargument hoort in dezelfde familie: een precieze, geduldige blik op wat er gebeurt aan de rand van het oneindige, waar intuïtie een bewijs nodig heeft om eerlijk te blijven.

Oneindigheid is niet één ding. Dat is het nieuws. Het argument dat het aflevert past op een halve pagina.

Veelgestelde vragen

Wat bewijst Cantors diagonaalargument?
Het bewijst dat de reële getallen tussen 0 en 1 overaftelbaar zijn: geen lijst, hoe slim ook gemaakt, kan elk reëel getal in dat interval bevatten. Er zijn simpelweg meer reële getallen dan posities op welke lijst dan ook.
Wat betekent 'overaftelbaar'?
Een verzameling is aftelbaar als je elk lid kunt koppelen aan een natuurlijk getal (1, 2, 3, ...) zodat er niets overblijft. De natuurlijke getallen, gehele getallen en zelfs de rationale getallen zijn allemaal aftelbaar. De reële getallen zijn dat niet: ze zijn te talrijk om in zo'n één-op-één-correspondentie te plaatsen.
Waarom kun je het ontbrekende getal niet gewoon aan de lijst toevoegen?
Dat kan, maar dan geldt het diagonaalargument opnieuw voor de nieuwe, langere lijst en produceert het weer een ontbrekend getal. Het argument werkt voor elke lijst, hoe lang of slim gerangschikt ook, dus er is geen manier om de lijst tot volledigheid te lapen.
Waarom vermijd je de cijfers 0 en 9 bij het omdraaien?
Sommige reële getallen hebben twee decimale schrijfwijzen: 0.4999... en 0.5000... zijn hetzelfde getal. Als je een cijfer naar 0 of 9 omdraait, kun je per ongeluk op de 'andere naam' van een getal dat al op de lijst staat belanden. 0 en 9 vermijden omzeilt die technische val en houdt het bewijs schoon.
Zijn de rationale getallen ook overaftelbaar?
Nee. De rationale getallen zijn aftelbaar: je kunt systematisch elke breuk p/q opsommen en elk een index van een natuurlijk getal geven, zonder iets over te slaan. Cantors diagonaalargument richt zich op de reële getallen, niet op de rationale.

Oefen het zelf

Vond je het leuk om dit door te denken?

Math Zen maakt van dit soort inzicht dagelijkse oefening, met adaptieve opgaven bij 24 wiskundeonderwerpen.