Toen Isaac Newton1 in 1677 correspondeerde met Gottfried Leibniz2 over zijn methode van oneindige reeksen, wilde hij verwijzen naar zijn "fluxionale methode" — de calculus — zonder die daadwerkelijk prijs te geven. Hij gebruikte daarom een speciaal trucje — na de beschrijving van zijn methoden voor raaklijnen en het gebruiken van minima en maxima, schreef hij:
The foundations of these operations is evident enough, in fact; but because I cannot proceed with the explanation of it now, I have preferred to conceal it thus: 6accdae13eff7i3l9n4o4qrr4s8t12ux. On this foundation I have also tried to simplify the theories which concern the squaring of curves, and I have arrived at certain general Theorems.
Die vreemde reeks die we groen gemarkeerd hebben, vormt een inventaris van deze zinsnede die Newton wilde verbergen:
Data aequatione quotcunque fluentes quantitates involvente, fluxiones invenire; et vice versa.
Dit betekent zoveel als
Gegeven een vergelijking met een willekeurig aantal vloeiende grootheden3 (functies) om de fluxions4 (afgeleiden) te vinden, en omgekeerd.
De 6a geeft aan dat de Latijnse zin zes keer de letter a bevat, cc betekent dat er twee c's zijn, enzovoort. Op deze manier kon Newton zijn ontdekking in de brief vastleggen zonder deze daadwerkelijk prijs te geven. Het feit dat hij een nauwkeurige letterinventaris van de fundamentele stelling van de calculus kon presenteren, bewees achteraf dat hij de stelling had bewezen op de datum waarop de brief was verzonden.
De inventaris van een zin geeft aan hoe vaak elke letter van het alfabet erin voorkomt: eerst het aantal keer dat de letter a voorkomt, dan het aantal keer dat de letter b voorkomt, enzoverder. De inventaris codeert het aantal voorkomens $$n$$ van een letter $$\alpha$$ op de volgende manier:
$$n\alpha$$ als de letter $$\alpha$$ minstens drie keer voorkomt ($$n \geq 3$$)
$$\alpha\alpha$$ als de letter $$\alpha$$ twee keer voorkomt ($$n = 2$$)
$$\alpha$$ als de letter $$\alpha$$ één keer voorkomt ($$n = 1$$)
niets als de letter $$\alpha$$ helemaal niet voorkomt ($$n = 0$$)
Bij het tellen van voorkomens wordt geen onderscheid gemaakt tussen hoofdletters en kleine letters. In de inventaris worden de letters altijd als kleine letters genoteerd. Alle coderingen voor de opeenvolgende letters van het alfabet worden in de inventaris achter elkaar geschreven. De inventaris legt dus niet vast hoe vaak karakters voorkomen die geen letter zijn.
Gevraagd wordt:
Schrijf een functie inventaris waaraan een zin (str) moet doorgegeven worden. De functie moet de inventaris (str) van de zin teruggeven.
Schrijf een functie uitpakken waaraan een zin (str) moet doorgegeven worden. De functie moet de uitgepakte zin (str) teruggeven. Dit is de zin waarin elk voorkomen van een getal $$n$$ (een opeenvolging van cijfers) gevolgd door een karakter $$c$$ dat geen cijfer is, vervangen werd door $$n$$ keer het karakter $$c$$ na elkaar. Zo moet 6a bijvoorbeeld vervangen worden door aaaaaa. Alle karakters in de zin die zelf geen cijfer zijn en die niet voorafgegaan worden door een getal, moeten gewoon blijven staan in de uitgepakte zin.
Schrijf een functie vereenvoudigen waaraan een zin (str) moet doorgegeven worden. De functie moet de inventaris (str) van de uitgepakte zin teruggeven.
>>> inventaris('Data aequatione quotcunque fluentes quantitates involvente, fluxiones invenire; et vice versa.')
'7accd14eff7i3l9n4o4qrr4s9t7u5vx'
>>> inventaris('ut tensio sic vis')
'ce3ino3sttuv'
>>> uitpakken('6accdae13eff7i3l9n4o4qrr4s8t12ux')
'aaaaaaccdaeeeeeeeeeeeeeeffiiiiiiilllnnnnnnnnnooooqqqqrrssssttttttttuuuuuuuuuuuux'
>>> uitpakken('ce3ino3sttuv')
'ceiiinosssttuv'
>>> vereenvoudigen('6accdae13eff7i3l9n4o4qrr4s8t12ux')
'7accd14eff7i3l9n4o4qrr4s8t12ux'
>>> vereenvoudigen('i2scvotu2ietns')
'ce3ino3sttuv'
Het idee om vast te leggen wanneer men bepaalde informatie verworven heeft, is al eeuwen oud. Toen Robert Hooke8 bijvoorbeeld in 1660 de wet van Hooke9 ontdekte, wilde hij deze nog niet publiceren, maar wilde hij wel aanspraak kunnen maken op het feit dat hij als eerste de ontdekking gedaan had. Dus publiceerde hij eerst het anagram ceiiinosssttuv en pas later de vertaling ut tensio sic vis (Latijn voor "zo de rek is, zo is de kracht"). Op dezelfde manier publiceerde Galileo Galilei10 zijn ontdekking van de fasen van Venus eerst in anagramvorm. De techniek staat tegenwoordig bekend als trusted timestamping11.
Veel moderne handboeken kunnen een puntje zuigen aan de ∫nedigheid waarmee dit boek uit 1910 de basisprincipes van de calculus uitlegt.