A dart thrown into the dark abstract landed on the trick that let arithmetic talk about itself: number every symbol, then fold a whole sequence into one integer by prime powers. Because factorization is unique, that integer decodes back exactly — a lossless round-trip made of nothing but multiplication and division. We show the method, credit who actually found it, and ask what I-13 — a counted language — should learn from being encodable in its own numbers. Three prongs, one dart.
Give each symbol a small code. To encode the sequence, raise the k-th prime to the k-th code and multiply: G = 2a·3b·5c·7d… To decode, factor G back out: count how many times 2 divides it (that is a), then 3 (that is b), and so on. Unique factorization guarantees exactly one answer comes back. live demo
Space-separated small non-negative integers, e.g. 3 1 2. In the I-13 flavour a code is a symbol’s rank in the 13-symbol alphabet.
Attribution here is not disputed. The prime-power encoding is Kurt Godel’s, from his 1931 paper on the incompleteness of formal systems. He built it so that statements about proofs could be rewritten as statements about numbers — the move that let a formal system speak its own name. cited
What is fairly called open: Godel numbering is a scheme, not the scheme — the incompleteness result does not depend on primes specifically, only on some effective, invertible coding. Primes are chosen for clarity, not necessity. open / a choice, not a law
This one is deeply self-referential: I-13 has 13 symbols, so I-13’s own alphabet can be Godel-numbered — a counted language folded into a single number. So I asked the live H1.1 compiler whether it can run the round-trip. Measured, not asserted:
Encode needs only multiplication — and I-13 has *. A real .i13 that encodes the sequence [1,0,2] as 21·30·52 via a recursive pow and three multiplies:
Decode needs division and remainder — and % just landed. The panel’s modulo proposal is no longer a branch: it runs in the shipped binary. The mod-based divisibility test at the heart of factoring:
So the operators are all present: encode by *, decode by % and /. I-13 can already express the whole Godel round-trip. The wall is not an operator.
The wall is f64 exactness. Godel numbers explode past 253 almost immediately — and f64 (I-13’s only number type) stops counting exactly there. Proven on the live compiler at a modest 254:
That last line is the danger: the decode’s own tool, %, now lies. An odd Godel number reports as even, so the factoring silently walks off the true sequence — and nothing warns you.