# Reality Engine (RST)
Graph-based simulation of dynamics emerging from an **informational ledger** and **Relational Substrate Theory (RST)**. No kinematic force laws are coded; observables emerge from path-integral sampling over graph distance and resource constraints.
## No hidden variables — code audit statement
**This engine contains zero kinematic force laws.** There is no \(F = ma\), no \(G\), no \(a_0\), and no interpolation functions hardcoded into the physics loop.
- **Gravity** and **electromagnetism** emerge from a single constraint: **Axiom 5 (relational friction)**. Edge cost is \(1/\mu\); the path-integral minimizes total cost. No explicit attraction or repulsion terms.
- **\(a_0\)** is not a tunable constant: it is **derived** each tick as \(a_0 = c\,H/(2\pi)\) from the ledger’s expansion/noise scale \(H\). The observed MOND scale in m/s² is recovered when \(H\) is set to the Hubble constant in SI (see [Quantitative \(a_0\) calibration](#quantitative-a_0-calibration)).
- All dynamics are driven by **graph distance** (sum of \(1/\mu\) along paths) and the **Resource Triangle** (\(W^n = \Omega^n + N^n\), \(\mu = \Omega/W\)). No \(1/r^2\), no Yukawa, no extra force terms.
**Summary:** All gravitational and electromagnetic behaviour in this codebase emerges strictly from **MCMC path-integral sampling** over an **informational ledger** subject to **Axiom 5** (relational friction as distance). A code search for "gravity", "attraction", "a0", "1/r" or "F=ma" finds only comments, documentation, or the **derived** \(a_0 = c\,H/(2\pi)\) used inside the fidelity solver, not as an input law.
---
## Quantitative \(a_0\) calibration
- **Theory:** \(a_0 = c\,H/(2\pi)\). With \(H\) in SI (1/s), \(a_0\) is in m/s². For \(H_0 \approx 70\,\mathrm{km/s/Mpc} \approx 2.27\times 10^{-18}\,\mathrm{s}^{-1}\), one gets \(a_0 \approx 1.2\times 10^{-10}\,\mathrm{m/s}^2\) (the empirical MOND scale).
- **Engine:** `compute_a0()` returns `c * self.H / (2*pi)`. No literal `1.2e-10` is hardcoded. To obtain the physical MOND scale, set `initial_H` to the Hubble constant in 1/s (e.g. `2.27e-18`).
- **Radial MOND scan:** Acceleration is in **(graph distance)/tick²**. To convert to m/s², use a `PhysicalScale` with \(L_{\mathrm{ref}}\) (m per graph-distance unit) and \(t_{\mathrm{ref}}\) (s per tick): \(a_{\mathrm{phys}} = a_{\mathrm{engine}}\, L_{\mathrm{ref}} / t_{\mathrm{ref}}^2\). When \(H = H_0\) and the same scale is used for length and time (e.g. the collapse 2.0 cosmological calibration), the “kink” in the radial acceleration curve (transition to flat MOND regime) should lie near \(a_{\mathrm{phys}} \approx 1.2\times 10^{-10}\,\mathrm{m/s}^2\). See `rst_engine/scale_binding.py` and the collapse 2.0 report (physical units) for the mapping.
---
## Running validation
From this directory (or with `PYTHONPATH` including the repo root):
```bash
python run_rst_proofs.py
```
This runs the seven RST proofs and prints PASS/FAIL. For a quick check, use `--micro`. Full stress tests: `rst_reality_engine_test_suite.py --run all` (long run: MOND 200/300, log_radial 80/250, lensing 35×35/120, EFE 80 steps, flicker 25×25/80). See [tests/README.md](tests/README.md).
---
## References
- **Blueprint and guardrails:** [Blueprint and guardrails (Reality Engine).md](Blueprint%20and%20guardrails%20(Reality%20Engine).md)
- **Tests:** [tests/README.md](tests/README.md) and `rst_reality_engine_test_suite.py --run all`