>[!warning]
>This content has not been peer reviewed.
# Graph rule spec — Canonical sovereign rule
The canonical graph rule that achieves $d_B \approx 1.22$ and $d_s \approx 4/3$. This document specifies the rule interface, lattice-based variants, and the **Literal (background-independent)** approach.
> **Canonical derivation:** The **Pure Axiom Substrate** (`rst_axiom_pure.py`) is the canonical derivation engine — Axioms → Graph → $n$, $d_B$. **For derivation and applications, use rst_axiom_pure.py (Pure Axiom Substrate).** This ledger rule is a **deprecated/alternative** for lattice-based evolution, not the derivation path.
>
> **Status: Integer Pivot.** All L^1.25-based rules (ledger, traffic, literal) are **deprecated for derivation claims** — they program $n=1.25$ into the micro-code and get 1.25 out (tautology). **Definitive constraint:** [[Integer Pivot]] — Planck-scale math is integer math. Next: `rst_automaton.py` (pure integer degree-thresholding, SOC).
---
## Integer Pivot (definitive constraint)
**See [[Integer Pivot]] for the full specification.**
Any rule that uses $W = (S^n + N_0^n)^{1/n}$ with $n = 1.25$ at the microscopic level **cannot** support a claim of deriving macroscopic dimension. A reviewer would reject: *"You programmed 1.25 in and got 1.25 out."*
**The constraint:** At Planck scale, no fractions. Only 1s and 0s. The micro-rule must use $n=1$ (linear) or pure Boolean logic. The $1.25$ dimension must **emerge** as the macroscopic shadow of an integer rule.
**Current approach:** `triangle_n1` — n=1 micro-triangle. $W = S + N$, $\mu = S/(S+N)$. Planck-scale: bits combine linearly (L^1). No $1.25$ in micro-code. Run `rst_automaton_triangle.py` for FSS.
---
## Search status and deprecated approaches
| Approach | Substrate | Status |
|:---------|:----------|:-------|
| **Ledger** (ledger, ledger_scale_invariant) | 3D lattice | Deprecated — L^1.25 tautology |
| **Traffic** (current-flow) | 3D lattice | Deprecated — floating-point, tuning |
| **Markov** (PageRank) | 3D lattice | Abandoned — N_0 decoupled; circular (assumes lattice) |
| **Literal** (emergent space) | None — dense random graph | **Stopped** — same L^1.25 tautology; Cosmic Cooling sweep killed |
| **triangle_n1** (n=1 micro-triangle) | 3D lattice | **Current** — $W=S+N$, $\mu=S/(S+N)$; no 1.25 in micro-code |
**Implementation:** Lattice rules in `rst_graph_rule_candidates.py`. Future: `rst_automaton.py`.
---
## 1. Rule identity
| Parameter | Value | Role |
|:---|:---|:---|
| **rule** | ledger | Add/remove driven by [[expanded theory applied/further applications/Reality Engine/Simulating the Ledger|solve_fidelity_equilibrium]] |
| **meta_variant** | ledger | Base ledger (no explicit $d_s$ feedback) |
| **I_mode** | hybrid | $I_{ij} = \alpha \cdot I_{\mathrm{conn}} + (1-\alpha) \cdot I_{\mathrm{bal}}$ |
| **I_alpha** | 0.7 | 70% connectivity, 30% balanced |
| **n_const** | 1.0 | Ledger scaling |
| **strength** | 0.4 | Add/remove sensitivity |
| **k_K_R** | 0.5 | Landauer bias when $K_R < 1$ |
| **L** | 24 | Lattice side |
| **p_init** | $p_c \approx 0.2488$ | Bond percolation at critical |
**Physically consistent variant (`ledger_local`):** Uses local saturation penalty instead of global N. Each node has max local capacity $W_{\max}$; if degree exceeds it, P(remove) is boosted. No global edge-count constraint; SOC emerges from local bankruptcy. **Not scale-invariant** (I ∝ 1/n); fails FSS. Use `ledger_scale_invariant` for rigorous verification.
**Scale-invariant variant (`ledger_scale_invariant`):** Strictly intensive I and N. $I_{ij} = (d_a + d_b)/12$ (3D cubic max); $N = N_{\mathrm{base}} + \gamma (d_a + d_b)$. No $L$, $n$, or $|E|$; Axiom A3 compliant. Use `--rule ledger_scale_invariant` for FSS and scientifically relevant results.
---
## 2. Per-edge logic
For backbone edge $(a,b)$ with degrees $d_a$, $d_b$ and $n$ nodes:
$
I_{\mathrm{conn}} = \frac{d_a + d_b}{n}, \quad
I_{\mathrm{bal}} = \frac{I_{\mathrm{conn}}}{1 + |d_a - d_b|}, \quad
I_{ij} = 0.7 \cdot I_{\mathrm{conn}} + 0.3 \cdot I_{\mathrm{bal}}
$
$
N = \frac{n_{\mathrm{const}}}{|\mathrm{backbone\_edges}|}, \quad
(\Omega, W, \mu) = \texttt{solve\_fidelity\_equilibrium}(I_{ij}, N, n_{\mathrm{pathway}})
$
- Edge present: $P(\mathrm{remove}) = \mathrm{strength} \cdot (1 - \mu) \cdot k_{\mathrm{KR}}$
- Edge absent: $P(\mathrm{add}) = \mathrm{strength} \cdot \mu / k_{\mathrm{KR}}$
With $k_{\mathrm{KR}} = 1 + k_{K_R} \cdot (1 - K_R)$ when $K_R < 1$, else $1$.
---
## 3. Substrate and backbone
- **Substrate:** 3D cubic lattice, $L^3$ nodes, nearest-neighbor bonds.
- **Initial:** Bond percolation at $p_c$, largest connected component.
- **Backbone:** 2-core (degree-1 removal) or biconnected (bridge removal + largest 2-edge-connected component).
---
## 4. Targets
| Quantity | Target |
|:---|:---|
| $d_B$ | 1.22 |
| $d_s$ | 4/3 |
See [[Genesis - Bare vs dressed]] for the bare ($d_B \approx 1.21$) vs dressed ($n = 1.25$) distinction.
---
## 5. Reproduce
**Genesis (graph → Sovereign Chain):**
```bash
python rst_genesis.py --seed 42 --n 1.25
```
Or load `sovereign_graph_rule.json` for the last converged configuration.
**Protocol verification (multi-seed convergence):**
```bash
python rst_graph_rule_convergence.py --L 24 --T 2500 --interval 100 --rule ledger --d-method chemical --thermalization --protocol
```
- **Cwd:** `expanded theory applied/further applications/Micro-Graph Generator/`
- **Dependencies:** numpy, scipy, matplotlib; rst_engine and graph_rule_utils (local)
- **Expected outputs:** `convergence_analysis.png`, `convergence_trajectories.csv`, `convergence_summary.txt`, `convergence_thermalization.png` (with --thermalization)
- **Tolerances:** N_in_band ≥ 3, var_d_B < 0.15
**Rigorous variant (scale-invariant):** `--rule ledger_scale_invariant` — required for FSS; see [[Graph rule verification results#Why ledger_local failed FSS (extensive noise bug)]].
**Finite-size scaling (FSS):** Prove $d_B(\infty)$ via $d_B(L) = d_B(\infty) + A L^{-\omega}$. Use scale-invariant rule only:
```bash
python rst_graph_rule_fss.py --L-values 16,24,32,48 --rule ledger_scale_invariant --d-method chemical
```
**d_B measurement:** `chemical` (burning method, relational distance) is the rigorously valid option; `euclidean` (box-counting in 3D) and `resistance` (A5 metric) are alternatives. Protocol defaults to chemical.
---
## 6. Verification
Protocol criteria: N ≥ 3 seeds with $|d_B - 1.22| < 0.05$, and std($d_B$) < 0.15. With thermalization: burn-in 10×τ_auto before final sampling. FSS mode: PASS if $d_B(\infty) \in [1.17, 1.27]$, and $d_B(L)$ flattens (scale invariance). See [[Graph rule verification results]] for recorded runs and the current scientific workflow.
---
## 7. Visualization
To generate 3D manifold-style visuals of the backbone:
```bash
python rst_graph_rule_visualize.py --seed 42 --T 800
```
Produces `graph_rule_3d.png` — nodes colored by degree, edges as lines. See [[Micro-Graph Generator - Code]].
---
## Related
- [[Graph rule verification results]] — Records protocol runs with dates and pass/fail