If we have a sequence of prime numbers, we can add in non-prime natural numbers “in between” in a way that preserves the ordering by making the newly inserted numbers be the products their neighbors.
We have 2 3 5 7 and we want to put a new number in between 3 and 5? That’s gonna be 15 since 3×5 is 15.
Like if we have the numbers 2 3 5 45 and 15, we know that the leaf order needs to be 2 3 45 15 5.
Why? Because first we take our primes; in this case 2 3 5.
Then we can insert the lower products where they fit, like 15 has to go between 3 and 5.
Then 45 has to go between 3 and 15. Our order can be reconstructed no
matter how jumbled the numbers are.
Or if we have 2 3 6 12 72, we know that their leaf order needs to be 2 12 72 6 3, same method. Factoring the numbers and seeing where they go.
So to tell the story, on the planet Mars there’s a guy with two sacks. One he fills with values: all the reals he can discover or come up with, the other with keys: one natural number for each real in the order he discovered them. He claims that this is a 1:1 mapping. Someone tries to “find a new real” by diagonalising, he just puts that on top of his value sack and adds N+1 on his key stack and calls that a day. This “Martian Method” is not new to mathematics and if it proved or disproved anything about the countability of reals that would’ve been known by now.
Now over on planet Venus there’s me and I’m doing a way more cumbersome method. First of, I seeded my value bag with the thousand most popular and coolest reals, and sorted them in number order. I gave the lowest the key 3, the second lowest the key 5, the third lowest the key 7 and so on. Reserving the primes 2 for lower-than-lowest and 7297 for higher than highest. From then on, as I set out on my real gathering journey, no more primes for keys. Each new real will be sorted in along the number line (so π goes between 3 and 4) and the key will be a non-prime generated by multiplying the neighboring element’s keys.
So far, so bad. I have a lot of the same mathematically theoretical drawbacks as the Martian Method of adding reals one by one.
I mean if a generator function for all reals (just as naturals have “prev+1’) had been found, that would’ve been headline news since it’s been proven that that can’t exist. Don’t worry, that’s not what this is.
This is still pretty cool I think, because now here’s the one benefit I have:
Let’s say there’s a hurricane one day across the solar system so that all four of our bags are jumbled. All four bags used separate fonts for the numbers in them (like, I used Helvetica for my natural indices and Times for my reals, and on Mars they used Verdana for the natural indices and Comic Sans for their reals) so there’s no worry at of what number goes in which bag. Even so, the Martian guy is SOL at this point. He can’t reconstruct his mapping.
I can easily. I just sort all my reals according to the number line (so 3.5 goes after π but before 4 and so on) and I can figure out the proper ordering of my keys also. I reset the primes to the order they started in and then their products go in between them. I find a 35 I know it needs to go between 5 and 7. I find a 175 I know it goes between 5 and 35, that’s the only place it can go. Then I lay the two arrays next to each other and I have my 1:1 mapping back.
That’s it. That’s what was new and cool in this paper. No more, no less. Still no ordered generator for the reals.
If we’re adding the reals in a sane and orderly fashion, this does not work. Like, let’s say we first add all reals that are also naturals. Then we add all halves. Then we add all quarters. Then we add all eights. Then we add all sixteenths and so on fractally. That’s no good because that fractal will bloom out and “use up” all keys before we even get to things like thirds and fifths, let alone pi and e.
This can only work if we add all possible reals willy nilly, in an undefined order, sorting them after we add them. So if we add 8 after 7 and 9, it goes between them because seven eight nine.
Instead seeding with a thousand popular reals and the 1002 lowest primes, I could also have started with an empty bag of reals and just the primes 2 and 3, that works just as well. The first real I find gets key 6, the second real I find gets either 12 or 18, the third real I find gets either 24, 72, 108, or 54. And so on. That’s the elegantest way to do it.
Since the primes don’t need to be in natural order, just in an order I can get back later post-hurricane, I also could’ve started with the ordered infinite set that’s all possible primes five or higher from here to eternity, setting aside 2 and 3 to use for boundary factors later, and map that infinite set of primes to my value sack of reals which is seeded with all possible algebraics, mapped 1:1 to those prime keys. Then I just need to go hunting for all possible transcendentals. And yes, there are infinitely many of them but that’s fine, I have an infinite amount of keys since I can just keep on multiply the neighbors. In between 2 and 3 go 6. In between 2 and 6 go 12. In between 2 and 12 go 24. And there’s no other place the 24 could go.
Carl writes in, saying:
Thinking about your primes thing. I think that it has a similar structure to the rationals, right? Just as you can take any pair of rationals and find another rational between them, so can you take any pair of naturals and find a natural that goes between them in your ordering.
I can’t write a generator if the sequence has more than one infinite loop and I also need to be able to refactor the infinite loop to go on the outside of all other loops or I’d get unreachable code. Like, generating infinite squares with a do while true loop is easy. Generating infinite rectangles trickier but possible with zigzagging like 1x1, 1x2, 2x1, 1x3, 2x3, 3x3, 3x1, 3x2 and so on.
That’s why generating all finite binary strings is super easy, barely an inconvenience. But generating all infinite strings not so much since that would require two nested infinite loops which creates unreachable code.