EMERGENT GRAVITY maths — every equation

The maths the project actually runs on.

Everything below is a real equation appearing in the code — either in the toy universe we simulate (the wave-equation kernels, the potentials, the integrator) or in the search machinery that the AI uses to grade and pick recipes. Each card carries the equation in proper notation, who came up with it, what it actually says, and where it shows up in our code.

For the wave-form intuition behind these symbols, see the Learn page. For why we're testing all of this in the first place, see The Big Idea.

The classical baseline

Two equations the project is constantly measured against. If a candidate Lagrangian doesn't reproduce one or the other in the appropriate limit, it isn't gravity.

classical · 1687

Newton's law of universal gravitation

Isaac Newton, Principia Mathematica · 1687
\[ F \;=\; G\,\frac{m_1\,m_2}{r^2} \]

What it says

Two masses attract along the line between them with a force proportional to the product of their masses and falling off as the inverse square of the distance. The same equation that drops an apple keeps the moon in orbit.

In this project

The behaviour we're hunting for. Three of the seven fitness components test for it directly: s_attr (always-attractive, no repulsion), s_range (1/r² fall-off), and s_univ (universal across particle species). See search/fitness.py.

classical · 1915

Einstein's field equations

Albert Einstein · 1915
\[ G_{\mu\nu} \;+\; \Lambda\,g_{\mu\nu} \;=\; \frac{8\pi G}{c^4}\,T_{\mu\nu} \]

What it says

The curvature of spacetime at a point (the Einstein tensor \(G_{\mu\nu}\), built from the metric \(g_{\mu\nu}\)) is set by the energy-and-momentum density there (the stress-energy tensor \(T_{\mu\nu}\)). \(\Lambda\) is the cosmological constant — the residual curvature of empty space.

In this project

Not directly simulated — too expensive on a single GPU at the scales we care about. But every "is this gravity-like?" measurement is implicitly comparing the candidate's behaviour against what general relativity would predict for the same arrangement of mass-energy.

The wave substrate

What every "universe" actually evolves under. A scalar field \(\phi\) (one number per point in space) obeying a wave equation with some self-attraction potential \(V(\phi)\).

substrate · 1926

The Klein-Gordon equation

Oskar Klein & Walter Gordon · 1926
\[ \frac{\partial^{2}\phi}{\partial t^{2}} \;=\; \nabla^{2}\phi \;-\; V'(\phi) \]

What it says

How fast the field is changing how fast it's changing equals its spatial curvature minus the slope of the potential it sits in. The relativistic generalisation of Schrödinger's equation; describes any spin-0 field.

In this project

This is the equation our CuPy integrator advances every time step. The choice of \(V(\phi)\) is what makes each "recipe" different. See src/emergent_gravity/wave.py.

substrate · 1964

The Mexican-hat (double-well) potential

Higgs, Englert, Brout · 1964 (long earlier history in Landau condensed-matter)
\[ V(\phi) \;=\; \lambda\,(\phi^{2} - v^{2})^{2} \]

What it says

Two stable minima at \(\phi = \pm v\), a hill at \(\phi = 0\), steep walls outside. "Mexican-hat" because the 2D version (complex \(\Phi\)) looks like a sombrero. The defining shape for spontaneous symmetry breaking.

In this project

The default potential for Phase 1's oscillon experiments. The two stable vacua are what allow stable localised structures to form — the original "first stable wave" lives in this potential. See src/emergent_gravity/potential.py.

substrate

The φ⁴ self-interaction

Standard field-theory toolbox
\[ V(\phi) \;=\; \lambda\,\phi^{4} \]

What it says

The simplest non-trivial self-attraction. A field with this potential experiences a restoring force that grows as the cube of its displacement (\(V'(\phi) = 4\lambda\phi^{3}\)). Pure quartic — no minimum away from zero.

In this project

The toggle on the Learn page's wave-visualizer — flipping "λφ⁴" on is what locks two crossing waves into a stationary oscillon. This is the single simplest non-linearity that makes mass-like structures possible.

The numerical machinery

How we actually advance the wave equation in time on a discrete grid without losing energy.

integrator · 1967

Velocity-Verlet integration

Loup Verlet · 1967 (earlier history with Carl Størmer 1907)
\[ \begin{aligned} \phi_{n+1} &\;=\; \phi_{n} \;+\; \pi_{n}\,dt \;+\; \tfrac{1}{2}\,F_{n}\,dt^{2} \\[4pt] \pi_{n+1} &\;=\; \pi_{n} \;+\; \tfrac{1}{2}\,(F_{n} + F_{n+1})\,dt \end{aligned} \]

What it says

Given the field \(\phi\), its time-derivative \(\pi\), and the force \(F = \nabla^{2}\phi - V'(\phi)\), update both in one synchronised step. Symplectic — it preserves a quantity equivalent to energy over long runs, so we can simulate for thousands of steps without numerical drift.

In this project

The integrator inside every wave-evolution kernel — real scalar, complex scalar, Q-ball, multi-field. The reason energy conservation in our 4000-step simulations stays under 0.1% drift. See src/emergent_gravity/wave.py and complex_wave.py.

The structures we test

Promote the substrate from a real scalar to something richer, and stable particle-like solutions appear. Each of these has been the headline ingredient of one of Phases 2–5.

structure

Complex scalar with U(1) symmetry

Standard field-theory machinery
\[ \Phi \;=\; \phi_{1} + i\,\phi_{2} \qquad\;\qquad V(|\Phi|^{2}) \;=\; \lambda\,(|\Phi|^{2} - v^{2})^{2} \]

What it says

Two real fields bundled into one complex field. The potential only cares about the magnitude \(|\Phi|^{2}\), so rotating \(\Phi \to e^{i\alpha}\Phi\) costs no energy — a continuous symmetry. Where that phase winds around a closed loop in space, we get a vortex: a topologically protected structure that can't decay smoothly to nothing.

In this project

The Phase-2 setup. Vortices of winding 1, 2, 3 all settle into distinct stable shapes — the "discrete particle spectrum" result. See src/emergent_gravity/complex_field.py.

structure · 1985

Q-ball ansatz + potential

Sidney Coleman · 1985
\[ \Phi(\vec{x}, t) \;=\; \sigma(r)\,e^{i\omega t} \qquad\;\qquad V(\sigma^{2}) \;=\; \tfrac{1}{2}\,m^{2}\sigma^{2} \;-\; \tfrac{1}{4}\,\lambda\,\sigma^{4} \;+\; \tfrac{1}{6}\,g\,\sigma^{6} \]

What it says

Assume a solution whose magnitude is some radial profile \(\sigma(r)\) and whose phase rotates uniformly at frequency \(\omega\). With the right six-degree polynomial potential, this ansatz yields a stable, localised solution — a Q-ball — that carries a conserved Noether charge. A literal particle made of field.

In this project

The Phase-5 setup, and the building block for the Phase-6 breakthrough. Q-balls are the closest thing to point particles our substrate can hold without invoking topology. See src/emergent_gravity/complex_field.py → solve_qball_profile().

structure · 1918

Noether charge (for a Q-ball)

Emmy Noether · 1918
\[ Q \;=\; \int\!\bigl(\phi_{2}\,\pi_{1} \;-\; \phi_{1}\,\pi_{2}\bigr)\,d^{3}x \]

What it says

Noether's theorem: every continuous symmetry of a Lagrangian implies a conserved current. For a complex scalar with U(1) symmetry, that conserved quantity \(Q\) is integer-valued (in suitable units) and stays constant under time evolution. For a Q-ball it's the analogue of electric charge.

In this project

How we verify that a Q-ball is actually stable: we measure \(Q\) at \(t = 0\) and at \(t = 60\) and check the drift (typically < 0.3%). It's also one of the parameters that distinguishes the four phase-and-charge configurations the search tests.

structure · 1962

The Skyrme term

Tony Skyrme · 1962
\[ \mathcal{L}_{\text{Skyrme}} \;=\; \tfrac{\kappa}{4}\;G^{2} \qquad\text{where}\qquad G \;=\; |\nabla\Phi|^{2} \]

What it says

A higher-derivative correction to the standard kinetic term. Adds a term that grows as the fourth power of the field's spatial gradient. Skyrme proposed it as a way to stabilise solitons that would otherwise collapse under their own self-attraction.

In this project

Tested in Phase 2 as a potential stabiliser. Result: in 4D, \(\kappa\) is marginal — adding the Skyrme term doesn't prevent Derrick-style collapse the way it does in 3D. The negative result was what triggered the pivot to topological vortex sheets. See complex_skyrme.py.

The breakthrough — multi-field with a mediator

After Phases 1–5 ruled out single-field paths to gravity, the Phase-6 setup added a third field — a real-scalar mediator \(\chi\) — that talks to the energy density of two independent Q-ball fields. This was the first arrangement that produced universal, phase-independent, always-attractive interaction.

project · phase 6

Multi-field action with universal mediator

Built for this project; family is Nordström/Brans-Dicke scalar gravity (1912–1961)
\[ S \;=\; \int d^{4}x \Bigl[\; |\partial \Phi_{A}|^{2} \,+\, |\partial \Phi_{B}|^{2} \,+\, \tfrac{1}{2}\,(\partial \chi)^{2} \,-\, V(|\Phi_{A}|^{2}) \,-\, V(|\Phi_{B}|^{2}) \,-\, \tfrac{1}{2}\,m_{\chi}^{2}\,\chi^{2} \,+\, g_{c}\,\chi\bigl(|\Phi_{A}|^{2} + |\Phi_{B}|^{2}\bigr) \;\Bigr] \]

What it says

Two independent complex scalars \(\Phi_A, \Phi_B\) (each hosting Q-balls) plus a real-scalar mediator \(\chi\) of mass \(m_\chi\). The crucial term is the last one: \(g_{c}\,\chi\,(|\Phi_{A}|^{2} + |\Phi_{B}|^{2})\) — \(\chi\) couples to the energy density of either field with the same coupling constant \(g_c\). That universal same-coupling-to-everything is gravity's defining property.

In this project

The Phase-6 headline. With this action, all four phase-and-charge configurations of two Q-balls gave identical attraction to four decimal places. See src/emergent_gravity/multifield.py. The honest caveat: the universal coupling was written in by hand — the Phase-8 search is hunting for Lagrangians where something equivalent emerges.

prediction · 1912

Nordström's gravitational time dilation

Gunnar Nordström · 1912 (predating general relativity by three years)
\[ \frac{\omega_{\text{observed}}}{\omega_{\text{vacuum}}} \;=\; \sqrt{\,1 \,-\, g_{c}\,\chi\,} \]

What it says

A clock placed where the mediator field has value \(\chi\) ticks slower than an empty-space clock by exactly this factor. Equivalent to GR's \(d\tau/dt = \sqrt{1 + 2\Phi/c^{2}}\) once you identify \(-g_{c}\chi/2\) with the Newtonian potential \(\Phi/c^{2}\). Nordström's scalar gravity, written in 1912, is the simplest relativistic theory of gravity ever proposed.

In this project

Phase-7 result. A Q-ball placed in the \(\chi\)-well of another (heavier) Q-ball ran slower than a vacuum reference Q-ball by exactly this factor — to 0.03%. And the deviation was the same for two different Q-ball species (different \(\omega\)), confirming clock universality. See experiments/21_time_dilation.py.

How the AI grades and searches

Phase 8 isn't physics — it's the autonomous search loop that wraps around the physics. These are the equations that decide whether a candidate looks gravity-like, and which recipe family to try next.

project · phase 8

The fitness score — seven questions, weighted

Built for this project
\[ \text{score} \;=\; \sum_{i \in \mathcal{C}} w_{i}\,s_{i} \qquad\text{with}\qquad s_{i} \in [0, 1],\; \sum_{i} w_{i} = 70 \]

What it says

For each candidate universe, score seven "is this gravity?" questions on a 0-to-1 scale, multiply each by its weight, sum. The seven components: s_phase (phase-flip invariance), s_charge (charge-flip invariance), s_attr (universal attraction), s_range (1/r² fall-off), s_univ (cross-species universality), s_energy (energy-only coupling), s_audit (numerical-soundness check).

In this project

What the AI uses to grade every universe it tries. After rescaling to 0–100, score ≥ 50 is the "Looks Promising" (emergence_candidate) tier; ≥ 86 is "It Works" (confirmed_candidate). See search/fitness.py.

algorithm · 1933

Thompson-sampling bandit

William R. Thompson · 1933
\[ \theta_{i} \;\sim\; \text{Beta}(\alpha_{i},\, \beta_{i}) \qquad \text{pick family} = \mathop{\mathrm{argmax}}_{i}\,\theta_{i} \] \[ \alpha_{i} \to \alpha_{i} + 1\;\;\text{if score} > 0;\qquad \beta_{i} \to \beta_{i} + 1\;\;\text{otherwise.} \]

What it says

For each recipe-book family, keep a Beta distribution tracking its history of wins (positive score) and losses (failures). Each turn, sample one draw from each, pick the family whose draw was highest. Auto-balances exploring (try a family we haven't tried much, so its posterior is wide) against exploiting (try a family that's been winning, so its posterior is high). Provably near-optimal for many bandit problems.

In this project

How the AI decides which of the nine recipe families to try next. The "what the AI is curious about right now" bars on the homepage are showing the current \(\alpha_{i}/(\alpha_{i}+\beta_{i})\) ratios — the posterior mean confidence in each family. See search/strategy.py.

project · phase 4

Observed force-law fit (Phase-4 falsifier)

Measured in this project
\[ t_{\text{annihilation}} \;\propto\; r^{\alpha} \qquad\;\; \alpha_{\text{Newton}} = 1.5,\;\; \alpha_{\text{log-vortex}} = 1.0,\;\; \alpha_{\text{observed}} = 1.08 \pm 0.15 \]

What it says

Place two opposite-winding vortex lines at separation \(r\) and measure how long they take to attract and annihilate. Newton's 1/r² force predicts an exponent \(\alpha = 1.5\); a logarithmic 2D-global-vortex force predicts \(\alpha = 1.0\). The measurement decides between the two.

In this project

Phase-4 fit gave \(\alpha = 1.08 \pm 0.15\) — squarely consistent with logarithmic-vortex behaviour, ruling out Newtonian. This was the result that falsified the original "vortex = mass = gravity" claim and pushed the project toward the multi-field route in Phase 6. See docs/findings_two_vortex_phase4.md.

That's every equation that does meaningful work in the project. If you want the wave-form intuition that goes with these symbols, head to the Learn page. If you want why we're testing any of this in the first place, the Big Idea page lays out the chain of reasoning.

And if you want to watch the search actually try recipes against the fitness function in real time — the homepage is where it's happening.