Samenvatting

$ 1. Bouwplan Herhaal wiskundige objecten en hun relaties tot en met de oneindige. Probeer met zo min mogelijk tekens zo groot mogelijke getallen te schrijven. $ 1.1. Tellen Getallen kunnen bestaan uit eenheden of units, maar ook uit operaties en functies in een wiskundige expressie. In natuurlijke getallen tellen de units 'een' 1 op tot een aantal 1.. enen. Negatieve getallen krijgen factor 'min' - ervoor, of tel ze met -.. minnen. Na 1 komen de getallen 'twee', 'drie', 'vier', etc. met als cijfers 2,3,4,.. In unaire notatie blijven de enen eenvoudig staan. 2 = 11 3 = 111 4 = 1111 5 = 11111 Herhaal de unit 1 volgens .. de 'rep' repetitie :n tot het aantal tekens (de expressie lengte) gelijk is = aan het getal n zelf. 1.. :n = n 1.. :0 =   = 0 Begin met niets   en stop zonder te tellen, dan is het getal 'nul' 0. Cijfers worden gebruikt als digits d van een uniek getal. Vertaal deze := naar factoren * van aflopende machten ^ van een basis 10 en tel ze dan pas op. d_i.. p:0 := +d_i*10^i.. 0:p De index i neemt per herhaling toe of af met 1 zoals 'ltr' van links naar rechts aangeduid in de rep. In basis 'zes' is het getal 555 hetzelfde als 215 in basis 'tien'. Maar als de bases onbekend zijn, kunnen deze dan berekend worden..? $ 1.2. Supermachten Zet de var a en b naast elkaar, dan telt hun som ab meteen op. a+b = 1..1.. :a :b = ab Het 'plus' + teken stelt optellen uit, geeft voorrang aan elke evaluatie links en aan andere operaties rechts, waarna de loze plus wegvalt. Vermenigvuldigen * is herhaald optellen van hetzelfde getal. Begin met 0 en tel var a een aantal keer b op. a*b = a.. :b Machtsverheffen ** of ^ is herhaald vermenigvuldigen. Werk a tot de macht b+1 met voorrang uit in stappen. a^b1 = a*a^b == a*..a^1 :b = a*..a :b Herhaald machtsverheffen *** of ^^ heet "tetratie", uit te werken tot een toren van machten, die van rechts naar links moet worden opgelost. a^^b1 = a^a^^b == a^..a :b Operatie na operatie worden zo de *{c1} of ^{c} supermachten gevormd. Teller {c} geeft het aantal tekens in de operator aan. Dit is een dubbele recursie, met als bases *{0} optellen en unit operaties a . Definitie voor de evaluatie van 'ster' supermachten. • a*{0}b = ab • a*{c1}1 = a • a*{c1}b1 = a*{c}(a*{c1}b) == a*{c}(..a..) :b: De rep :b: geeft een dubbelzijdige herhaling. Hier met haakjes, omdat anders (wellicht) de mindere sterren en die links voorrang krijgen. Gehele getallen tellen louter units. Haakjes om gehele getallen of om 'var' variabelen a heen mogen overal ≡ wegvallen, ook binnen expressies. (a) ≡ a Supermachten worden ook met Knuth's pijlen ↑{c} of carets ^{c} genoteerd. Hierbij gaan de hogere operaties of anders die rechts voor. 2^^^3 = 2^^2^^^2 = 2^^2^^2 = 2^^4 = 2^2^^3 = 2^2^2^^2 = 2^2^4 = 2^(2*2*2*2) = 2^16. = 65536. Pas in 1976 werd de ↑.. operator vorm uitgevonden door Donald Knuth, hoewel de dubbel recursieve functie al te vinden is bij David Hilbert (1925). $1.3. Popsterren Een 'pop' plus stelt bij ster operaties *{c}+ de evaluatie ervan uit. Zet ook een plus + voor de hele expressie, die wegvalt zodra er een getal over is. • +a = a Zo zijn supermachten stapsgewijs vanaf rechts =` te reduceren zonder haakjes in te lassen, wat een teken scheelt. Definitie van supermachten met popsterren. • a*{c1}1 ≡ a • a*{c1}b1 =` a*{c1}b*{c}+a • +a*{c}+b =` +a*{c}b Popsterren *{c}+ worden actief, als links ervan een plus komt te staan. Voor de herhaling geldt b>0 en voor de dubbele recursie c≥0 . De hogere machten in de toren werken dus eerder uit. Bijvoorbeeld, de evaluatie van 3^^3 met popsterren. +3***3 = +3***2**+3 = +3***1**+3**+3 = +3**+3**+3 = +3**+3**3 = +3**+3**2*+3 = +3**+3**1*+3*+3 = +3**+3*+3*3 = +3**+3*+3*2+3 = +3**+3*+3+6 = +3**+3*9 == +3**+27. = +3**27. == 7625597484987. Gebruik popsterren om de oceaan van de supermachten in kaart te brengen. $1.4. Omega ω Tellen zonder te stoppen ... kan doorgaan tot het oneindige. 1... = ω Dit telbaar oneindige getal omega ω stelt het totaal van de telbare getallen voor. Optellen kan bij elk getal, dus ook ω+1.. na omega. Wie het axioma van oneindig als getal en oneindige herhaling accepteert kan elke variabele in elk verband met ω vullen. ω**2 = ω*ω = ω... 2**ω = 1.*2... Kenmerk van een wiskundige lijn is dat elk stuk ervan steeds in twee stukken is te verdelen, tot in het oneindige. Een totaal opgedeeld continuüm bevat dus minstens 2^ω delen, waarmee Cantor de reële getallen telde. Maar de constructie van reële getallen verloopt anders. Historisch vanuit het vlak, waar de afstand @ van punten (x,y) tot de oorsprong de wortels geeft. @(1,..0..) :n: = n^(1/2) Neem vervolgens de booglengtes van cirkels, parabolen en algebraïsche curven, etc. Er ontstaat een hierarchie van functies, waar de lengte van de curve steeds ingewikkelder wordt om te bepalen. Eerst nog uit te drukken in integralen, maar verder zijn deze getallen alleen numeriek te benaderen. - - - - - - - - - - - - - - - - - - - - Tot slot een groot getal en een opgave: "Googol" is de naam bedacht voor 10^100 . Vind een tetratie kwadraat p^^p dat in de buurt komt van googol. Als p exact was, zou dit een nieuw type reëel getal kunnen zijn, sneller en dieper verzonken in de getallenlijn...? Het vermoeden is dat deze superwortels niet kunnen worden berekend. Ze bestaan gegeven hun wiskundige definities, maar fundamenteel blijven er onbenaderbare getallen, die buiten het recursief deelbare 2^ω continuüm moeten vallen. Er zijn oneindig veel hogere ^{c} operaties, uitgebreid tot functies met *[X] superarrays. De meeste inversen daarvan blijven vaag en hun relatieve plaatsing zal veelal onbekend blijven. - - - - - - - - - - - - - - - - - - - - - David Hilbert `1, "On the infinite", 1925, in Heijenoort "From Frege to Gödel", 1967. - Donald Knuth `2, Mathematics and Computer Science: coping with finiteness, 1976. $ 2. Functies $ 2.1. Conway's pijlketens Toen John H. Conway zijn pijlketens had geschapen, zag hij dat de getallen groot waren. Onze definitie van zijn pijlketen notatie gebruikt de text variabele X om het linker deel van de keten voor te stellen, minimaal een getal x . -C.1. a→b = a^b = a*..1 :b -C.2. X→1 = X -C.3. X→1→z = X -C.4. X→y1→z1 = X→(X→y→z1)→z == X→(..X..)→z :y: Zo drukt de eerste pijlketen a→b→c Knuth's superexponenten a^{c}b uit. Conway's pijlen → zijn geen operatoren, maar de komma separatoren , van een functie met een variabel aantal parameters of tellers. Ronald Graham gaf ooit als bovengrens een getal, waarin de superexponenten een aantal keer zijn herhaald. Hier de populaire versie van het getal van Graham (volgens Gardner). 3^{..4..}3 :64: = 3^{..3^^^^3..}3 :63: Dit ligt boven de 3→3→64→2 of 3→3→(..27..) :63: in pijlketen notatie, maar onder de 2→3→65→2 of 2→3→(..8..) :64: dat op deze schaal maar insignificant kleiner is dan 3→3→(..7..) :64: aangezien: 2^{8}3 = 2^{7}4 = 2^{6}2^{6}4 == 2^{i}(..16..) 6:1: = 2*{i}..6 7:0 3^{7}3 = 3^{6}3^{6}3 == 3^{i}(..27..) 6:1: = 3*{i}..6 7:0 Chris Bird heeft maar vier tellers nodig om even grote getallen te noteren als Conway met zijn hele keten. De definitie van Bird's lineaire arrays is verkort, omdat Bird's regel |Bird|-B.1.5| onder regel |-4| valt, indien :n=0 en met de gretige 'var' c>0 . Zou je beginnen om |{a,b}| als ab te laten optellen, dan is dat vrijwel even snel en heb je het hele systeem inderdaad beperkt tot vier regels. -B.1.0. {a} = a & {a,b} = a^b -B.1.2. {X,1} = {X} -B.1.1. {a,1,Z} = a -B.1.5. {a,b1.,1..,c1Z} :n≥0 = {.a,..$,cZ} :n1 - {a,b1,Y} => $ ≡ {a,b,Y} | Bird's vierde teller functioneert als de lengte van Conway's keten, omdat... - John H. Conway, Richard K. Guy, 1996, The Book of Numbers - Martin Gardner Mathematical Games Scientific American, Nov. 1977 # 2.2. Basisfunctie rij -A.1. , ≡ 0 a,{k} = a.. = a*k -B.0. a#b = b -B.1. A, = A -B.2. a#b,c1 `= a#ab,c a#b,1 = a+b a#,c = a*c a#b,c = a*c+b -B.2.1 a#b,{k},c1 `= a#b,{k}a,c a#b,,d1 = a#b,a,d = a#a*a+b,,d = a^2*d1+b a#,,,e1 = a#,,a,e = a#a^3,,,e = a^3*e1 a#,{k}f = a^k*f a#,{a}1 = a^a ... # 2.0 Groter ... ... $ 2.0. Bèta rij Karakteristiek voor beta functies is het opladen van een groeiende som vanuit de basis naar afgetelde hogere recursies. Ik zal bewijzen dat zo'n oplaadregel elke uitgebreide array functie maximaal maakt. In de basis a,b, bevatten arrays de constante a en de variabele som b≥0 . Wanneer plek b na afladen vacant a,, staat, laadt je door met a . Door ab samen te nemen, kan dit met één regel voor opladen. Verder bevat elke plek een positief geheel getal 1.. dat aftelt tot 1 in de recursie. Alle 'var' zijn gretig naar enen, zo pas je de regels toe. Definitie van functie β voor de evaluatie van de primaire rij. -1.0. β(a) = a -1.1. β(a,b) = β(ab) -1.2. β(a, ,1) =` β(a, ) -1.3. β(a,b,c1 ) `= β(a,ab,c ) -1.4. β(a,b ,1,d1 ) `= β(a, ,ab,d ) Op de witruimte kunnen er binnen de expressie delen staan, die geen match vormen voor de regel en gelijk blijven na evaluatie. Bijvoorbeeld in regel `=_4 voor opladen kan in de ruimte links een reeks ,1.. voorkomen, maar niets anders, aangezien ,1,d1 de eerstvolgende match vormt en d>0 is vereist voor de evaluatie. In regels met `= verander je de expressie vanaf links, in regels met =` vanaf de rechter kant. Regels met = vervangen de hele expressie. Met == herhaal je eerder toegepaste regels. En ≡ betekent dat de substitutie direct is. De uitwerkingen laten de functie β() signatuur en regel =_0 achterwege. a,b =_1 ab |Arit|= a+b| a,b,c1 =_3. a,ab,c ==_3 a,.a..b,1 :c =_2 a,.a..b :c =_1 a..b :c1 |= a*c1+b| a,,c == |a*c| Na optellen en vermenigvuldigen komt machtsverheffen. a,b,c1,d2 =_3 a,|a*c+b|,1,d2 =_4 a,,|a*c1+b|,d1 = a,,|a*(a*c1+b)|,d == a,,|a**d*+a*c1+b|,1 = |a**d1*+a*c1+b| Dus in β(a,b,c,d) vermenigvuldig je een serie van d factoren a en een laatste factor c+b/a . Vul dit in voor een enkele macht. a,,1,d = |a**d| Tetratie als een toren van e+2 machten van a en een hoogste macht d+1 op rechts, waaraan factor c en som b nog slechts weinig toevoegen. a,b,c,d1,e2 = a,,1,|a**d*+a*c+b|,e1 = a,,1,|a**(a**d*+a*c+b)|,e == |a***e1**+a**d*+a*c+b| Zo wordt de rij van functie β omgezet naar een serie superster operaties, voorzien van uitgestelde popster operaties. a,b,c.,d_[i]1.. 1:k = |.a*{i1}d_i*{i}+|..|a*c+b| k:1 & |a*{i1}0*{i}+| ≡ 0 De afgetelde elementen ,1 vallen direct als 0 weg. Daaruit volgt de formule, die supermachten exact uitdrukt. β(a,.,1..,f1) :k>0 = |a*{k}f| Functie β telt elementen af tot 1 , en laadt ze later weer op met a+b . Dat is bijna gelijk aan een beta algoritme dat b op zou laden, maar dan met c+1 in plaats van c in de expressie. Schrijf je ook b+1 voor b , dan pakt dat al groter uit, terwijl de input op deze lage plekken insignificant is. Pinda's dus. Hetzelfde zie je in Bird's extensie van de Ackermann functie. Het opladen met subfuncties bij Bird oogt moeilijk, en draagt nauwelijks bij aan de grootte van zijn getallen. Significant is dat subtotalen b worden hergebruikt. De motor van Bird's matrix functies is de dubbele recursie, overgenomen van de Ackermann functie. Dit gaat sneller van start dan primitief optellen ab , wat later wel gebeurt, op de bodem van de recursief geneste subfuncties. (a,b1,c1, ) = (a,(a,b,c1, ),c, ) De gesubstitueerde functie is maximaal, omdat alleen de basis 'var' 1 minder is. Maar subfuncties kosten wel een paar haakjes, optellen is gratis. In dit hoofdstuk drukte onze Bèta functie over een rij met k+3 elementen de supermacht pijlen ↑{k} van Knuth uit. Met functie substitutie kan dat in drie elementen, de derde c=k , waarmee Bird zijn lineaire array begint. De verdere elementen in Bird's rij noteren veel grotere getallen. Hoe kun je die evenaren...? Stel een regel voor, die naar de lengte :k van Bèta rijen de som b oplaadt. Daarna zul je tweede rij de eerste rij van Bird al inhalen...! - Chris Bird, 2012, Bird's Linear Array Notation # 3. Dimensies &*PPexample;