# The Particle Ladder — vacuum ↔ leptons ↔ hadrons ↔ atoms ↔ black holes > **One generate-and-close cascade, run both directions.** In the [Quantum Logical Framework > (QLF)](README.md) the same primitive — a ½-spin Zero-Free-Action (ZFA) closure carrying one bit > — builds *up* from transient vacuum pairs through leptons, generations, hadrons, and atoms, and > *down* from black holes by Hawking-unwind back to the vacuum. This document assembles pieces that > already live across the repo into one coherent ladder, and marks honestly what is **machine-checked**, > what is **structural** (prose/numeric), and what is **open**. **Honest framing up front.** QLF already has the *primitives* and most *rungs* of this ladder as verified or structural results. What is **not** yet done is (a) an explicit map from topological depth/axis to the observed mass ratios along the *whole* chain, and (b) a temperature-dependent pair-production *rate* derived from the census. Those are named open, not glossed. So this is a **synthesis + honest ledger**, in the style of [`Mysteries_Of_Physics.md`](Mysteries_Of_Physics.md) and [`Information_Physics.md`](Information_Physics.md) — not a claim that the full ladder is proven. **Status at a glance** (full detail in §5): | Rung / claim | Status | |---|---| | ½-spin atom = one bit, `ΔF = −log 2` | ✅ machine-checked | | 3 generations = 3 axes; Koide `⟹ m_τ` | ✅ machine-checked | | baryon needs all 3 colours (confinement) | ✅ machine-checked | | particle = quantum black hole (Compton = Schwarzschild) | ✅ machine-checked | | decay = Hawking unwind, `log 2` released per unlock | ✅ machine-checked | | mass spectrum = one exponentially-generated scale | ✅ machine-checked | | bound-state atoms · fusion channel opening · temperature → stable rung | ◻ structural / modeled | | pair-production mechanism (deterministic census + thermal freeze-out) | ◻ modeled — constructor + [`pair_production_demo.py`](pair_production_demo.py) | | **`(R, axis) → observed mass ratios`** along the full chain | 🔵 **open — the priority gap** | | **analytic pair-production rate calibrated to measured onsets** | 🔵 open |

Bidirectional ladder: up the left (vacuum pair → lepton → generations e/μ/τ → hadron → atom → collective), down the right (black hole → Hawking unwind releasing log 2 → cascade → vacuum), hinged by particle = quantum black hole (Compton = Schwarzschild); creation is a deterministic census, temperature sets the freeze-out fraction

> The diagram is a static picture — GitHub can't make image regions clickable. **The per-box links to the QLF explanation of each layer are the table just below** (each doc in turn links to the live constructor). **Each ladder box → its QLF explanation:** | Ladder box | QLF explanation of that layer | live | |---|---|---| | **0 · Vacuum pair** | [`Creation.md`](Creation.md) — creation = separation of nothing into conjugate pairs (why the first distinction is two-valued) | [▶ e⁺e⁻](https://rchain-community.github.io/quantum-logical-framework/spacetime_constructor.html#qc=positronium%20%40%200%2C0%2C0) | | **1 · Stable lepton (½-spin)** | [`Spin_QLF.md`](Spin_QLF.md) — spin *is* the twists; the ½-spin closure | | | **2 · Generations e/μ/τ** | [`Standard_Model.md`](Standard_Model.md) — three generations = the three spatial axes | | | **3 · Hadron / proton** | [`Quarks.md`](Quarks.md) — colour = the three axes; Borromean confinement | | | **4 · Atom** | [`Bound_States_QLF.md`](Bound_States_QLF.md) — atoms as bound joint-ZFA closures (the real observables) | [▶ H](https://rchain-community.github.io/quantum-logical-framework/spacetime_constructor.html#qc=H%20%40%200%2C0%2C0) | | **5 · Collective** | [`Chemistry.md`](Chemistry.md) — one valence rule; crystals, condensates | | | **Black hole** | [`BLACK-HOLES.md`](BLACK-HOLES.md) — finite interiors, no singularity | | | **Hawking / unwind** | [`Hadron_BlackHoles.md`](Hadron_BlackHoles.md) — hadron = quantum black hole; decay = Hawking evaporation | | | **Cascade** | [`Decay.md`](Decay.md) — the census-exponential prime-slip cascade | | | **Vacuum (return)** | [`Creation.md`](Creation.md) §8a — the logical bang / Stage 0 | | | **Hinge · particle = quantum BH** | [`Hadron_BlackHoles.md`](Hadron_BlackHoles.md) — Compton = Schwarzschild (`QLF_QuantumBlackHole`) | | | *Dynamics* | [`pair_production_demo.py`](pair_production_demo.py) — census creation + freeze-out | [▶ full cascade](https://rchain-community.github.io/quantum-logical-framework/spacetime_constructor.html#t=0.95) | --- ## 1. The primitives (each already anchored) | Primitive | What it is | Anchor | |---|---|---| | **The atom of the ladder** | one ½-spin ZFA Hermitian pair (bra-ket closure folding to `±I`); carries exactly one bit, `ΔF = −log 2` | `QLF_SpinorInformation`, `QLF_FreeEnergy` ([`Information_Physics.md`](Information_Physics.md)) | | **Gauge fold `+−`** | a closure carrying a constructing delay `Δt = R/f` → local time + a Planck-scale Markov blanket (a primordial quantum-black-hole seed) | `QLF_PlanckScale` (`planck_self_dual`, `coherent_iff_subplanck`) | | **Depth `R` / frequency `f`** | number of nested/sequential folds; sets the mass–frequency scale (`m = ℏf/R`) and the local clock rate (`f = 1/t`) | [`Per_Qubit_Mass_Quantum.md`](Per_Qubit_Mass_Quantum.md), [`Time.md`](Time.md) | | **Three axes** | the three spatial twist axes generate the three fermion generations | `num_generations_eq_three`, `generations_from_three_axes_constructive` ([`lean/QLF_Generations.lean`](lean/QLF_Generations.lean)) | | **Temperature = logical density** | *precisely:* the local ZFA-closure rate (equivalently the inverse latency, `f = 1/latency`); it does **not** create pairs (the census does, §2) — it sets the **freeze-out fraction** of created pairs that persist as real vs virtual | [`Time.md`](Time.md), [`QLF_FreeEnergy`](lean/QLF_FreeEnergy.lean), [`Spacetime_Constructor.md`](Spacetime_Constructor.md) | **The particle = micro-black-hole identity is proven.** A closure is a Markov-blanket horizon; the Compton radius equals the Schwarzschild radius exactly at the Planck mass (`compton_eq_schwarzschild_iff`, [`lean/QLF_QuantumBlackHole.lean`](lean/QLF_QuantumBlackHole.lean)), so **every hadron is a quantum black hole** and a particle's decay is that black hole's Hawking evaporation ([`Hadron_BlackHoles.md`](Hadron_BlackHoles.md)). This is the hinge that lets the *same* ladder run from particles to black holes and back. --- ## 2. The upward ladder — vacuum → atoms | Stage | Object | Structure / depth | QLF status | |---|---|---|---| | **0. Vacuum fluctuation** | transient pair (e.g. `e⁺e⁻`), a horizon-open/unbalanced closure | `R ≈ 1`, short-lived | ✅ conjugate-pair closure (`ER_EPR_QLF`, `conjugate_pair_closes`); **promotion rate open** | | **1. Stable lepton** | one ½-spin (+ optional gauge fold) | `R` small | ✅ spin = twists (`QLF_Spin`); ν is Majorana (`neutrino_majorana`), e is Dirac | | **2. Heavier generations** | same topology, deeper fold / higher-frequency axis | axis 2, 3 | ✅ **3 generations = 3 axes** (`num_generations_eq_three`); Koide `Q=2/3 ⟹ m_τ` (`three_generations_satisfy_koide`); free-lepton mass *ratios* not the observable (bound systems are) | | **3. Hadron / proton** | three-axis colour-locked closure + gauge (Borromean) | `R` larger | ✅ **needs all three colours** (`baryon_needs_all_three_axes`, `single_colour_not_baryon`); confinement = a topological necessity; hadron = quantum BH (`compton_eq_schwarzschild_iff`) | | **4. Atom** | lepton + hadron complementary joint-ZFA closure | bound state | ✅ structural — the QLF observable is the *bound* system (positronium/muonium/hydrogen), not the free lepton ([`Bound_States_QLF.md`](Bound_States_QLF.md)) | | **5. Collective** | many atoms phase-locked | crystal / molecule / condensate | ✅ chemistry (one valence rule), crystals (Pauli), Cooper/BEC ([`Chemistry.md`](Chemistry.md), `QLF_CondensedMatter`) | **Promotion rule (virtual → real) — two parts, and the split matters.** This is subtler than "heat makes pairs," and the constructor already gets it right (reproduced outside the browser in [`pair_production_demo.py`](pair_production_demo.py)): - **Creation is a *deterministic census* cascade — no dice, no thermal gate.** Pairs are read out of the census by frequency (`m = 1/R`), so the *species ratios are the census multiplicities* — lightest dominate (`e⁺e⁻ : μ⁺μ⁻ : p p̄` in the illustrative model ≈ `0.90 : 0.075 : 0.025`), **not** a Boltzmann factor. "The census draws the space" (`QLF_CensusBrownian` / `QLF_BornProbability`). - **Temperature only sets the *freeze-out fraction* — real vs virtual.** A created pair persists as **real** matter with a fraction that rises with the local logical density (temperature); at `T=0` every pair is virtual foam, near the Planck top ~97% are real. Persisting one bit still pays `ΔF = −log 2`. So heating does not *make* the heavier species — it lets more of the already-drawn census *stay*. **Open:** calibrating the census buckets to the *measured* onsets (`e⁺e⁻ ~10¹⁰ K`, then `μ`, then `p`) and deriving the freeze-out fraction analytically from the census — the constructor's edges are illustrative, the *mechanism* is the QLF content (§5). **Generation rule.** The three generations are the *same* topological pattern realized on the three independent spatial axes (`generations_from_three_axes_constructive`). That the count is exactly three is proven; the **mass ratios** `m_e : m_μ : m_τ` as functions of depth/axis are the open quantitative target — QLF fixes one relation (Koide) and the *structure* (one scale, exponentially generated, `spectrum_one_scale`, `log_transmuted_hierarchy`, [`lean/QLF_MassSpectrum.lean`](lean/QLF_MassSpectrum.lean)), not the full ladder of ratios (`mass_spectrum_in_progress`). ### Colour *content* vs colour *charge* — the real question for μ and τ The ladder raises a sharp question: since both colour and the generation count come from the same **three spatial axes**, what is the colour structure of the muon and tau? The key is to split **net colour charge** from **colour content** — they answer differently. - **Net colour charge — firm.** Leptons are colour **singlets**: `B = 0`, no net colour, and *therefore free* — a net-coloured particle is confined (`singlet_closure`; a lone colour axis gives `B = 0`, `single_colour_not_baryon`). This is *why* we see free muons, and it does not change across generations. - **Colour content — real, and mostly open.** A singlet is **not** structureless. The electron loop `^` is machine-verified to engage **two** axes — `σ_y·(−σ_x)·(−σ_y)·σ_x = −I`, i.e. the x (`<>`) and y (`^v`) axes, *not* z (`interleaved_xlvr_folds_to_negI`, [`lean/QLF_TwistAlphabet.lean`](lean/QLF_TwistAlphabet.lean)). So leptons carry genuine axis/colour content, and it is not obviously the same for every generation. So the right question is not "do μ, τ carry colour?" (no *net* charge — they're free) but **"what is each generation's axis/colour content?"** Since `num_generations_eq_three` ties the three generations to the three axes, the natural hypothesis is that each generation is a chiral loop engaging a **different set of axes** — the electron's verified content being `{x, y}`, with the muon and tau reaching the third axis (the other coordinate planes `{y,z}`, `{z,x}`, or a deeper multi-axis winding). *What those "colours" are* — which axes each generation occupies — is the open, promising structure, exactly as the second look suggests. **The one guardrail (confinement).** Whatever the content, a lepton must stay a colour-*neutral* singlet (`B = 0`): "μ has two colours, τ three" has to mean a two-/three-axis **singlet**, not a coloured (confined) state — otherwise it would be a Borromean baryon, not a free lepton. Distinguishing a 3-axis lepton singlet from the 3-axis *baryon* (`B ≠ 0`, `baryon_needs_all_three_axes`) is precisely the content to pin down. **Where a proof would live.** Derive the μ and τ twist loops, read off their axis content, verify `B = 0`, and show that content reproduces the Koide-constrained mass ratios — the `(R, axis) → mass-ratio` map (§5, `mass_spectrum_in_progress`; the lepton↔quark mass correlation is still "separate and open," [`Quarks.md`](Quarks.md)). The electron's verified `{x, y}` content is the one anchor to build from. **A first computational step** ([`lepton_flavor_axes.py`](lepton_flavor_axes.py), toward issue #140) enumerates the short spatial ZFA closures and classifies them by axis content, splitting `B=0` **lepton singlets** from `B≠0` **baryons**: the electron is one of the two-axis `{x,y}` singlets, and 1-axis, other-2-axis, and full 3-axis `{x,y,z}` **singlets** all exist — e.g. at length 6 the 3-axis content splits into **144 `B=0` singlets** (candidate "three-colour" lepton content, `^v<>/\`) vs **576 `B≠0` baryons** (correctly confined). So a colour-neutral 3-axis lepton genuinely exists and is distinct from the 3-axis baryon. **This connects directly to Koide — the open piece is now *located*.** `QLF_Koide` derives `Q = 2/3` from `N = 3` axes ∧ `A² = 2` — the **two *transverse* axes**, the one longitudinal axis being the common "1" (`koide_two_thirds`, verified `Q = 0.6667` to 0.001%; `m_τ = 1776.97` MeV, 0.006%). And the electron `^` verifiably engages exactly **two axes `{x,y}`** — so **`{x,y}` *is* Koide's two transverse axes**, and the longitudinal `z` is the "1" the electron does *not* engage. QLF_Koide already names the remaining input as "the identification of the lepton √-mass vector with this 1-longitudinal + 2-transverse three-axis structure; the Koide angle and overall scale stay open." **That is exactly issue #140**, now with the electron's `{x,y}` as a *verified anchor*: the muon and tau reach the longitudinal `z` (the 3-axis content, the 144 `B=0` singlets), and pinning their √-mass↔axis identification + the Koide angle + scale is the open derivation. --- ## 3. The downward ladder — black holes → vacuum The particle↔black-hole identity (§1) makes the descent the *same* ladder run in reverse: | Stage | Process | QLF reading | |---|---|---| | **Black-hole seed** | a deep gauge-folded closure with a horizon blanket | primordial quantum BH (a particle *is* a micro-BH; `compton_eq_schwarzschild_iff`) | | **Hawking / unwind** | one-step horizon re-entry of `+−` folds | pair emission; each unwound ½-spin atom **releases exactly `log 2`** back to the vacuum (`unlock_releases_log_two`, [`Annihilation.md`](Annihilation.md)) — unitary, charge/`J` preserved | | **Cascade** | sequential unlocking of nested folds (prime phase-slip) | heavier → lighter generations, the reverse of §2 (`prime_slip_is_quarter_turn`, `collective_dump_positive`, [`lean/QLF_PrimeCascadeDecay.lean`](lean/QLF_PrimeCascadeDecay.lean); [`Decay.md`](Decay.md)) | | **Final** | residual ½-spin pairs or pure vacuum | return to Stage 0 | **Nested blankets → recursive cosmology without singularity.** Because a black-hole interior is a child Markov blanket, it can host its own ladder — the *logical bang* drawn from inside ([`Creation.md`](Creation.md) §8a, `QLF_LogicalBang`), a fresh Stage-0 at the collapsed floor rather than a metric singularity (`planck_length_floor`). --- **Falsifiability.** The ladder's structural commitments are sharp enough to break: | Observation | Verdict | |---|---| | a **fourth fermion generation** | ❌ tension with 3 generations = 3 axes (`num_generations_eq_three`) | | a definitive **Dirac neutrino** (0νββ excluded) | ❌ tension with the Majorana Stage-1 lepton | | a **new fundamental particle at the hadron scale** (WIMP-like) | ❌ against "hadron = quantum BH, no extra particle spectrum" | | a **stable free quark** | ❌ refutes colour-locked confinement (`single_colour_not_baryon`) | | black-hole evaporation shown **non-unitary** (information lost) | ❌ against the closure/unwind reading (`unlock_releases_log_two`) | --- ## 4. The one dynamics — generate, close, and temperature The whole ladder is a single loop, both directions: - **Generate.** The QuCalc engine expands every admissible twist history (the path-integral *generate* step). - **Select.** Only ZFA-balanced histories persist (`full_zeno_prune` — the *firebreak*). - **Temperature = logical density.** Which depth/`R` is stable is set by the local closure rate; heating shifts the stable rung up the ladder (pair thresholds), cooling lets it recombine down (atoms, then chemistry). - **Cascade.** Prime-/depth-synchronized unlocks produce the sequential transitions (§3). - **Photon.** Every emission/absorption is a joint-ZFA handshake, not a flying projectile ([`Collective_Electrodynamics.md`](Collective_Electrodynamics.md)). **This is not a thought experiment — it runs.** The [interactive constructor](https://rchain-community.github.io/quantum-logical-framework/spacetime_constructor.html) *is* this ladder: heat the vacuum toward the Planck top and watch **black holes form → Hawking-cascade into hadrons → cool into nuclei → recombine into atoms → do chemistry**, from the census alone, nothing scripted ([`Spacetime_Constructor.md`](Spacetime_Constructor.md)). - [▶ heat to the Planck top — the full cascade](https://rchain-community.github.io/quantum-logical-framework/spacetime_constructor.html#t=0.95) - [▶ a transient e⁺e⁻ vacuum pair](https://rchain-community.github.io/quantum-logical-framework/spacetime_constructor.html#qc=positronium%20%40%200%2C0%2C0) · [▶ an α (⁴He) closure](https://rchain-community.github.io/quantum-logical-framework/spacetime_constructor.html#qc=alpha%20%40%200%2C0%2C0) · [▶ a hydrogen atom](https://rchain-community.github.io/quantum-logical-framework/spacetime_constructor.html#qc=H%20%40%200%2C0%2C0) --- ## 5. The scorecard — proven, structural, open **✅ Machine-checked (the rungs and the hinge):** - the ½-spin atom carries one bit / `ΔF = −log 2` (`QLF_SpinorInformation`, `QLF_FreeEnergy`); - **3 generations = 3 axes** (`num_generations_eq_three`); Koide `⟹ m_τ` (`three_generations_satisfy_koide`); - **baryon needs all three colours**; confinement (`baryon_needs_all_three_axes`, `single_colour_not_baryon`); - **particle = quantum black hole**; Compton = Schwarzschild at the Planck mass (`compton_eq_schwarzschild_iff`); - **decay = Hawking unwind**, each unlock releasing `log 2` (`unlock_releases_log_two`, `collective_dump_positive`); - the Planck closure floor — no singularity (`planck_length_floor`, `planck_self_dual`); - the mass spectrum is **one scale, exponentially generated** (`spectrum_one_scale`, `log_transmuted_hierarchy`). **◻ Structural (prose / numeric, mechanism anchored, value not derived):** - bound-state atoms (positronium/muonium/hydrogen) as the QLF observables ([`Bound_States_QLF.md`](Bound_States_QLF.md)); - the fusion rungs — `pp` Pauli-blocked, the `pn`/deuteron channel opens (`diproton_pauli_blocked`, `deuteron_channel_closes`); - the temperature → stable-rung correspondence, demonstrated in the constructor but not analytically derived. **🔵 Open (real research, not doc-work — do not fake):** - **The priority gap — the ladder mass map `(R, axis) ↦ observed mass ratio`.** QLF fixes the *count* (3 generations), *one* relation (Koide `Q=2/3`), and the *exponential structure* (`spectrum_one_scale`, `log_transmuted_hierarchy`), but **not** the full ratio ladder `m_e:m_μ:m_τ:m_p` as an explicit function of fold depth and axis (`mass_spectrum_in_progress`). *Suggested Lean target:* a `depth`/`axis` → mass-ratio function reproducing the Koide relation as a special case and the measured `m_μ/m_e`, `m_τ/m_μ` to stated precision — the honest next module for this ladder. - **The pair-production rate** — the *mechanism* is modeled (deterministic census creation + thermal freeze-out, [`pair_production_demo.py`](pair_production_demo.py)), and the **onsets are now calibrated** ([`pair_freezeout_calibration.py`](pair_freezeout_calibration.py), #141): each species turns on at `T_onset = K_e·(m/m_e)`, so the census's frequency ordering (`m = ℏf/R`, lightest dominate) **is** the observed e→μ→p onset sequence, at the textbook temperatures (~10¹⁰, 10¹², 10¹³ K). **Still open:** deriving the freeze-out functional form + normalisation from the census itself (rather than gating the onsets by the measured masses). - absolute mass scale (`v = R_stable`, frontier #1, [`Open_Problems.md`](Open_Problems.md)). **Deliberately *not* built:** a "unified Lean module" for the ladder. It would be reuse-only — re-exporting the theorems above with no new content — so it is not worth a module. The ladder's value is as this synthesis; each rung is already verified in its own module. --- ## See also - [`Bound_States_QLF.md`](Bound_States_QLF.md) — free leptons are not QLF observables; atoms are (Stage 4). - [`Decay.md`](Decay.md) · [`Annihilation.md`](Annihilation.md) — the downward ladder; decay = Hawking unwind, `log 2` released per atom. - [`BLACK-HOLES.md`](BLACK-HOLES.md) · [`Hadron_BlackHoles.md`](Hadron_BlackHoles.md) — the particle = quantum-black-hole identity, the hinge of the two directions. - [`HALF-SPIN-ZFA-EMBEDDING.md`](HALF-SPIN-ZFA-EMBEDDING.md) · [`Spin_QLF.md`](Spin_QLF.md) — the ½-spin atom. - [`Creation.md`](Creation.md) §8a — the logical bang; Stage 0 and nested-blanket recursion. - [`Information_Physics.md`](Information_Physics.md) — each rung a closure carrying bits; `it from bit`. - [`Spacetime_Constructor.md`](Spacetime_Constructor.md) — the ladder, running live, temperature-driven. - [`Open_Problems.md`](Open_Problems.md) — the open quantitative rungs, kept in sync.