What if the "constants of nature" aren't free — and you could compute them from two numbers?
By Stefan Hamann · v5.3 (2026)
I build ecommerce software for a living. So let me get the obvious disclaimer out of the way: this has nothing to do with that. No shops, no checkout, no roadmap.
But here's the part anyone who writes software will recognize instantly. The actual skill in our job isn't typing code — it's taking something huge and intimidating and hacking it into pieces small enough that each one is obviously right. Big scary problem in; small, checkable steps out. Do that well enough and the monster just falls apart into things you can verify one by one.
A few years ago I started pointing that exact instinct at the thing I find more fascinating than anything in my day job: physics. And one question wouldn't let go of me —
If you had to rebuild our universe from scratch, how many numbers would you actually have to type in by hand?
Let me make that concrete, because it sounds abstract until you see it. Our best, most-tested description of reality — the Standard Model — comes with a kind of control panel bolted to the front: about 25 dials. The electron's mass. The strength of electromagnetism. Why there are exactly three copies of every matter particle. We've measured each dial to absurd precision… and we can't explain a single one. There is no "why." You just type the numbers in.
That bugs me the way a 25-line config file with zero comments bugs me. Where do these come from? Do they have to be these values? How many are even independent?
Topological Fixed Point Theory (TFPT) is my attempt to hack that problem down to its smallest pieces — and the answer it keeps handing back is both uncomfortable and thrilling: the real number of dials isn't 25. It's closer to two. Feed in two numbers, turn the crank, and the rest is computed.
And because I'm an engineer, not a mystic, I didn't want a beautiful story — I wanted something I could run. So before a single claim, here's the deal: every number below is either computed by the compiler, read through a named bridge, or explicitly marked open — and every one is re-derived by an independent program, frozen before it ever meets the data, and shipped with a concrete way to prove it wrong. In a genre full of "theories of everything" that can't be checked and can't be wrong, that's the whole difference.

Let me lead with results, not promises
This isn't one lucky constant. It's a whole scoreboard — and every entry is either computed straight from the two inputs, bridged through a named hypothesis, or openly marked as not-yet-forced. Nothing here is tuned to the data after the fact, and nothing hides its status.
The colors are the honesty of the project:
- 🟢 exact compiler output — an identity or theorem the compiler forces, checked by computer,
- 🟡 conditional bridge — holds under clearly stated, named hypotheses,
- 🔴 open — not forced, and labeled as such, never hidden.
Every entry is reproducible, and every one ships with a way to be proven wrong. Hold onto that last part — it's the whole game.
So what are the two numbers?
This is the part that still feels almost unfair. The entire input is this:
- c₃ = 1/(8π) — the seam constant: the one coefficient of the theory's boundary (the "seam"). It sets the rate of the seam's little clock. The 8 inside it is the rank of E₈ — the very same 8π already sitting inside Einstein's equations of gravity.
- g_car = 5 — the carrier rank: five matter slots (a 3 + 2 split) that seed the particles and forces.
That's it. Everything after this is forced — the way that, once you commit to a circle, you don't also get to choose π. And as you'll see in a moment, even these two aren't really free.
How it all clicks: think of it as a compiler
This is where my software brain finally relaxed, because TFPT behaves like a compiler — a small machine that takes source code and, stage by stage, builds a working program. Each step only passes if the one before it is consistent. Exactly the "small checkable pieces" idea from the top, turned into physics.
- Source code — the two numbers.
- The compiler (D₅ ⊕ A₃ + μ₄) reads that code and assembles the charges, residues and symmetries.
- The type‑checker — where E₈ comes in (next section).
- The read‑out — particles, constants and gravity get projected out, then compared to experiment.
What E₈ actually does — and what it doesn't
E₈ is a famously rigid mathematical object, and it's been abused a lot. Plenty of "theories of everything" try to make it the literal symmetry group of all particles — and there are well-known no-go theorems that shoot that idea down on sight.
TFPT does not do that. Here E₈ is a consistency hull — an audit / type-checker the compiled structure has to fit inside without contradiction. Those no-go results hit models that use E₈ as a literal physical gauge or spacetime symmetry. TFPT does neither: the Standard Model is read off after projection, not declared as an E₈ gauge theory — which is exactly why the no-go theorems don't bite.
Why E₈ specifically? Because it's the last finite checkpoint that passes — the unique structure where the consistency condition actually closes. We didn't pick it. It's the only door that doesn't slam shut.
Why these two numbers — and why they're not even free
Fair question: why these two? Let me unpack both — and then show you the part that genuinely surprised me, which is that the theory hands them right back to you.
The seam, and c₃. The "seam" is the theory's boundary — a reflection-positive edge where the boundary physics lives. c₃ = 1/(8π) is its single constant: the coefficient of that boundary, and the thing that sets the rate of the seam's little μ₄ clock (the order-4 tick that later turns the static lattice into running time). The 8 inside it isn't a free choice either — it's the rank of E₈, the very same 8π that already sits in Einstein's gravity.
Why 5. The carrier rank g_car = 5 is pinned from three independent directions at once:
- Rank-fill: 5 + 3 = 8. The carrier (5) plus the three families is exactly the rank of E₈.
- Coxeter: 5 is the largest prime of E₈'s Coxeter number h(E₈) = 30 = 2·3·5 (its icosahedral signature).
- Pascal: 2⁴ = 1 + 5 + 10. There is exactly one rank where this closes — and that uniqueness is machine-proven in Lean, not asserted.
Three different locks, one answer. That's already hard to fake.
The loop that leaves no free dial. Here's the kicker. You feed c₃ and 5 into the machine, it builds up to E₈ — and then the E₈ closure forces those same two numbers back out. The inputs turn out to be fixed points of their own output, not dials I get to turn. That's the "bootstrap": the structure re-derives the very things it started from.
I want to be precise about what this isn't: it's not "the universe from nothing." This is self-consistency within the E₈-closure framework — "no free numerical dials given the framework," with the framework itself the honest meta-assumption. Once the loop closes, the only genuinely irreducible continuous number left is π, from the boundary geometry.
The leap that turns mathematics into a universe
This is my favorite part, and it's the bit most write-ups skip. Everything so far is static — integers, lattices, exact counts. Beautiful, but frozen. Nothing happens.
The single move that turns that blueprint into a living universe is the seam clock — the μ₄ tick whose rate is set by c₃.
One rhythm at the seam, and the static structure starts to run: couplings flow with energy, distances and scales appear, and time itself is just that ticking. Discrete → continuous. The same c₃ that anchors gravity is the thing that makes the whole picture move. That transition — from a counting problem to a physics problem — is, to me, the most beautiful idea in the entire framework.
One machine, and everything folds out
Because it's a single compiler, the outputs aren't a grab-bag. They all come from one source. I think of it as a Swiss-army knife: one compact tool, many blades.
The Standard Model particle content — read off, not printed
Run the machine and the entire particle content appears: six quarks, six leptons, the force carriers, the Higgs — projected from the structure, not hand-drawn into it. (To be precise: this is the particle/charge skeleton — the generations, the gauge content, the Higgs count — not a from-scratch re-derivation of every measured pole mass or running scheme.)
And the bookkeeping comes out exactly right: three generations, the known forces, exactly one Higgs. No fourth generation. No second Higgs.
The masses: an integer, not an accident
The masses are where I expected the whole thing to fall apart — and instead they got more convincing. The nine charged fermions span five orders of magnitude, from the heavy top quark to the featherweight electron. Sort them by their rung number L and they drop into a clean descending staircase:
I'm not drawing a magic line that every dot lands on. What's exact is the integers: each fermion's rung L is an entry in a tiny 3×3 matrix K whose rows are the charge sectors and whose columns are the generations. Its row sums (6, 9, 10), its column sums (13, 8, 4), and every one of its characteristic polynomials factor into the theory's own "compiler numbers" — checked exactly, nothing fitted. And the ordering it predicts is perfect: every higher rung is lighter, with no exceptions.
One more detail I love: the ladder's natural step, λ_Y = √(φ₀(1−φ₀)) ≈ 0.224, turns out to be the Cabibbo angle — the very number that controls how quarks mix. Same number, two completely different jobs. That's the fingerprint of genuine connection, and the opposite of what coincidence produces.
Gravity comes along for free
People assume gravity has to be bolted on separately. It isn't.
Under the entanglement-equilibrium bridge (the entanglement first law, the known link between entanglement and spacetime), those same two numbers fix the full Einstein equation — with no free knob for the strength of gravity. The reason is almost cheeky: gravity's strength is set by the very same 8π that lives in the clock c₃. It was already in the source code.
Step back and one principle keeps repeating: every part of the theory turns out to be the same kind of mathematical object — one with a single stable answer and no room for a free dial. "There are no free parameters" stops being a slogan and starts looking like a theorem.
How does it all fit together this tightly?
This is the question I keep getting, usually with a raised eyebrow, and it's the right one to ask. The answer isn't "seven lucky coincidences stacked up." It's over-determination — the same facts being forced from several independent directions at once:
- The key integer 8 (the one in 8π) is fixed four independent ways. Knock out any one derivation and the others still pin it.
- α⁻¹ ≈ 137 — a prime that is completely foreign to the theory's (2, 3, 5) skeleton — still comes out right. A theory built to hit small integers has no business landing on a stubborn prime, and yet.
- The same numbers do double duty across totally different physics: the clock anchors gravity and drives the running scales; the ladder step is the Cabibbo angle.
When a structure is genuinely rigid, you don't tune it — you discover it's already nailed down. That's the texture of the whole thing.
"But isn't this just numerology?"
You should ask that. A two-input theory that prints small integers deserves suspicion — I'd distrust it too. The difference is that TFPT treats itself as the suspect and measures the suspicion instead of waving it away.
Every load-bearing claim has to survive a stack of defenses:
- A null model with teeth. Predictions are frozen, then scored against chance. Enumerate the full space of comparable formulas and the look-elsewhere-corrected probability that a random theory of equal complexity reproduces this scorecard is ≤ 10⁻³⁰·⁷. For the fine-structure constant alone, exactly one of 94,500 complexity-matched formula variants lands on the measured value. Nudge the seed by 1 % and the whole scorecard collapses.
- It publishes its waste. Of E₈'s eight core ingredients, only three feed a physical read-out; the other five map to nothing — and we say so. Cherry-pickers hide their misses; we list ours.
- Grades you can't fudge. Each claim is graded [E] / [C] / [O], and an audit makes it structurally impossible to quietly dress a conditional result up as a proven one.
- Two independent reproductions. The exact core is re-derived in a separate Wolfram engine and in a machine-checked Lean proof with no gaps — so one bug can't be silently carrying the result.
- A red team. There's an entire layer of the project whose only job is to attack the theory, and it publishes its sharpest attacks rather than burying them.
I'll name the ceiling out loud, because that's the line between this and the usual internet fare: this is a null-model rejection conditional on the declared grammar. It's strong evidence that coincidence is an expensive explanation. It is not a certificate of truth. Anyone who tells you their theory is certain is selling something.
What I'm not claiming
I won't oversell this. TFPT is a research program, not a theory of everything. What makes it worth your time is that it states — precisely — what it has not earned.
What's genuinely open is short, and named:
- One scale. A theorem proves a number-only machine can't invent an absolute size, so one overall unit has to be an input (the same unit as gravity's 1/G).
- One math keystone about the boundary — now reduced to a single, published-theorem-sized step, and pinned in Lean.
- A few physics interfaces (like the proton-to-electron mass ratio) that are deliberately never quoted as outputs.
The freedom shrank from "25 mystery dials" to "π, one scale, and a short, honest to-do list." That's the actual claim. Not "we solved physics" — "we shrank the mystery, and here's exactly how much is left."
Every prediction — and when reality checks it
This is the part that separates a theory from a story: dates. Each prediction below names the experiment that will confirm or kill it, and roughly when.
The full board — all 22:
The reactor angle (#6) currently sits about +2σ from the data. I flag it as the most-tensioned prediction in advance instead of quietly dropping it. If JUNO confirms that tension, it's a real problem for TFPT — and we said so before the verdict came in. That's what falsifiable looks like.
How you can help
This only works in the open, and it genuinely is open. Depending on your background:
- Anyone: clone the repo and run python run_all.py. It either ends with ALL CHECKS PASSED or it doesn't. No trust required. There's also an in-browser reproducer on the site.
- Mathematicians (operator algebras / AQFT): the one remaining keystone is a clean, stated problem (the seam continuum theorem), reduced to a cited result and pinned in Lean. Close it — or break it.
- Particle & astro physicists: the open interfaces (Koide, the baryon asymmetry, the axion relic, the proton-to-electron ratio) are typed, runnable solvers waiting for sharper physics.
- Experimentalists: every prediction above has a frozen value and a kill test. Confront them.
- Skeptics: join the red team. The fastest way to help a falsifiable theory is to try to falsify it. File an issue, attack a claim, find the crack.
Why this matters to me
I didn't get into this to add another voice to the "theory of everything" pile. I got into it because I couldn't shake that one question — how many numbers do you really have to choose? — and because I was tired of pretty stories that conveniently can't be wrong.
So I built the opposite. If even part of this holds up, it would mean the constants of nature aren't 25 separate dice-rolls we're doomed to measure forever. They'd be read-outs of one small, rigid structure — most of them forced, with the real mystery shrinking to a single scale and a short list of honestly-labeled unknowns.
That's a big claim. Which is precisely why every line of it is graded, re-derived, scored against chance, and built to be falsifiable — with dates. I would much rather be precisely wrong than vaguely right. The first one teaches you something; the second one is just noise.
So if you work in mathematics, particle physics, or cosmology: please, come find the crack. It's all open, and I mean that literally.
Explore & verify
- 🌐 Website: https://www.fixpoint-theory.com
- 💻 Code, verification suite & kill tests: https://github.com/sthamann/tfpt-theoryv4
- 📦 Archived snapshot: Zenodo (DOI in the repository)
Claim discipline: nothing here is marked closed that isn't machine-verified, and no quantity with units is ever claimed as a derivation from pure numbers. The status ledger holds the authoritative, per-claim status.



