LT. The Light Chain, Link by Link: Every Doubt and How It Is Resolved

The Light Chain: a simulation that knows no units cannot, by itself, say that its wave is light. This page shows how the framework still reaches that statement: a wavelength-free lattice number A must connect two lengths measured independently in nature (a light wavelength and the electron's scale), and it does so to within the ±10% resolving power of the existing data (test E2). Every doubt a careful reader raises is listed next to its resolution, and every piece of evidence that turned out unable to fail has been retired.

The Light Chain: a simulation that knows no units cannot, by itself, say that its wave is light. This page shows how the framework still reaches that statement, one link at a time, with the doubts and their resolutions.

Why this page exists

The central claim of this volume is that light is the elastic wave of a jammed vacuum: c² = B/ρ. The argument for it uses a kind of reasoning that has no standard name, and readers (including careful reviewers) repeatedly lose the thread at the same few places. The difficulty is this: every number the simulation produces is a pure number, with no units, yet the conclusion is about a physical speed, a physical wavelength and a physical grain size. Somewhere a dimensionless result has to turn into a dimensional one, and it has to do so without anyone slipping the answer in.

This page walks the chain from the substrate to light one link at a time. At each link it says, in order:

  1. what is claimed,
  2. the doubt a careful reader raises at that point,
  3. how the doubt is resolved, with the evidence and the file that reproduces it,
  4. what is still open, stated as an open item rather than hidden.

Nothing on this page changes a locked value. Where an earlier piece of evidence turned out to be unable to fail, this page says so plainly and names the test that replaces it. Grades follow the volume's legend: [F] forced by geometry, [V] verified by a test that could have failed, [H] holds under a stated closure or identification, [O] open with the obstacle named.

Link 1. The substrate: infinitely rigid grains with no voids

Claim. Space is filled by volume particles (VPs) that are infinitely rigid and fully packed, so there are no voids. The vacuum is therefore a jammed granular solid (axioms, §3). This is the starting assumption of the whole programme and is graded as an axiom, not as a result.

Doubt. The simulations use soft harmonic spheres that are allowed to overlap slightly, while the axiom says the grains are infinitely rigid. Is the evidence about a different material?

Resolution. A finite contact stiffness is the standard numerical stand-in for a rigid contact. It is what makes a jammed packing computable at all. The property this chain uses is not the value of the contact stiffness but the way the moduli behave as the packing reaches the isostatic point (Link 2). That behaviour, where the shear modulus vanishes while the bulk modulus stays finite, is the same for the whole family of repulsive contact laws studied in the jamming literature (O'Hern–Silbert–Liu–Nagel; Wyart; Olsson–Teitel). Only the exponents with which G approaches zero differ. So the harmonic contact is declared here as a closure, U = (k/2)δ² with moduli reported in units of k. It is a computational device, not a second physical assumption.

Still open. None for this link. The closure is stated.

Link 2. One surviving speed: c² = B/ρ

Claim. At the isostatic point z = 2d = 6 the relaxed (non-affine) shear modulus G is driven to zero while the bulk modulus B stays finite. A medium with no shear stiffness and finite compressional stiffness supports exactly one propagating elastic speed, c² = B/ρ. It is a longitudinal speed, and it is the same in every direction.

Evidence [V]. Five independent observables locate the margin at z = 6 (Jamming Spine S2.4):

ObservableWhat it measuresResult
G_relaxed ∝ Δz → 0static linear responsez₀ = 5.90 (N = 512), 5.95 (N = 1024)
ω* ∝ Δz → 0vibrational spectrum (τ → ∞)z₀ = 6.015, R² = 0.997
η = σ/γ̇ → ∞finite-rate rheologyviscosity diverges
relaxed slope = G_relaxedathermal quasistatic shearmatches the static modulus
σ_y → 0AQS yield stressz₀ = 5.98

Code: repro/physics/bundle_v0.4/02_lattice_percolation_soc/jamming_spine_verification_v0.4_2026-06-05/01_stiffness_to_c2/ and 02_shear_relaxedG/.

Doubt 2a. The Born (affine) bulk modulus is 0.90, 1.13 and 1.40 at N = 256, 512 and 1024. It is not converged. Is B then really finite?

Resolution. The claim needs only that B stays of order one while G goes to zero. That is what the numbers show: B_Born stays O(1) while G_relaxed vanishes. The link does not use the value of B. The absolute stiffness, and with it the absolute speed, is not taken from B_Born at all. It enters later through one measured length (Links 4 and 5). A converged value of B_Born would be a refinement, not a missing premise. It is listed as a finite-size item, not as support for the chain.

What this link does not yet say. In lattice units the surviving wave has some speed, call it c_lat. Nothing in Link 2 says that c_lat is the speed of light. That identification is the problem of the next link, and it is the heart of the whole chain.

Link 3. The identification problem: a pure number cannot name itself

Every quantity in the simulation is measured in lattice units. The density is 1, the contact stiffness is 1, and the box has size 1. A wave that travels at speed 1 in those units could be sound in a sand pile, a seismic wave, or light. The number itself carries no label. Units cannot settle the question either: choosing units in which the lattice speed equals 3×10⁸ m/s would be putting the answer in by hand.

So the only honest way to identify the lattice wave with light is by behaviour against lengths that were measured in nature independently of the simulation. The simulation must produce some dimensionless number that, if and only if the lattice wave is light, is forced to connect two such lengths. If the number comes out wrong, the identification fails. The next two links build exactly that test.

Link 4. How a dimensionless number leaves dimensionlessness: the amplification A

Claim. The jammed lattice produces a number A = a_med/g*. It is the ratio of the median neighbour distance to the critical percolation throat of the self-organised critical (SOC) contact network. A is computed with no wavelength and no physical constant. Only the packing geometry and one microscopic threshold g₀ enter (soc_percolation_pinning.py; the docstrings of wavelength_jamming.py and ellrot_verify.py state this explicitly).

Why A is special. Most dimensionless outputs of a jammed packing are scale-free: the packing fraction φ_jam ≈ 0.63, the isostatic coordination z = 6, the pinning ratio g*/g₀ ≈ 1. They stay the same whatever the size of the system. A is different. It is still a pure number, but it counts something: how many microscopic propagation steps make up one macroscopic wave period. A number that counts steps between two levels of a hierarchy carries the ratio of the two levels. If one period of a carrier wave of wavelength λ is resolved by A microscopic steps, the step length is λ/A. One full 2π phase winding of a rotating grain then spans

D = 2π λ / A, equivalently λ / D = A / 2π ≈ 1.3 × 10⁵.

This is the precise sense in which "a dimensionless number leaves dimensionlessness". A itself has no units, but it carries the optical-to-quantum hierarchy ratio. Divide one measured length by it and a second, dimensional length comes out. There is no other place in the chain where a unit is created.

Doubt 4a. A changes with the number of particles simulated: A_med = 8.02×10⁵ at N = 200 and 4.76×10⁵ at N = 750. Does the result depend on an arbitrary choice?

Resolution. This change is not a defect. It is geometrically necessary. In a box of fixed size, adding particles shrinks the neighbour distance as N^(−1/3), so a number built on that distance must move in the same way: (750/200)^(−1/3) = 0.643, and 8.02×10⁵ × 0.643 = 5.16×10⁵, within 8% of the measured 4.76×10⁵. Meanwhile the scale-free part, g*/g₀, stays put (1.14 and 1.24). The same fact explains why the absolute size of A is the hardest problem in the programme. The physical A belongs to the physical resolution of the vacuum, and no simulation can reach that. The absolute value therefore cannot be computed directly. It can only be tested, and Link 5 does exactly that.

Doubt 4b. The realisation length a = λ_ref/N uses N = 10¹². Where does 10¹² come from?

Resolution. Nowhere in particular, and nothing on this chain needs it. N is only the size of the container used to split the reference length into lattice units. The light chain (A, λ, D, the angle χ) does not contain N. The honest consequence has to be stated too. Quantities that use the lattice length a directly, U_lat = hc/a and therefore m_H = U_lat/(5π) = hcN/(5πλ), inherit the choice of N. The Higgs agreement (124.7 GeV) is therefore conditional on N = 10¹², and it is presented that way in §13. It is not part of the light chain.

Doubt 4c. The size of A also scales as 1/g₀ (W.6 honest-reading note). Isn't g₀ a free knob?

Resolution. g₀ is the microscopic threshold of the SOC run. It was fixed at 2×10⁻⁷ in the original runs, long before the test below was registered, and it is not adjusted afterwards. The test in Link 5 is therefore conditional on that fixed setting, and says so.

Still open [O]. A first-principles reason for the value of g₀, or equivalently the absolute A at the physical resolution. Obstacle: the physical particle count is far beyond any simulation.

Link 5. The test that can fail: A must connect light to the electron (E2)

The logic. Take two lengths that nature fixes independently of this framework and of each other:

If the lattice wave is light and the rotating grain is the electron-scale quantum, the wavelength-free lattice number must satisfy A = 2πλ/D. Nothing forces this. The lattice never sees λ, never sees the electron, never sees c, h or Δt. It could have produced 10³ or 10⁸. If it had, the chain would be broken.

Registration. The inputs, the statistic and the pass/fail rule were written down and committed before the analysis was run (repro/physics/experiments/E2/PREREG.json, commit 235a911). The statistic is the pooled median of A over all avalanches, with a 95% bootstrap interval (10 000 resamples, seed 19). There is no selection of a best-matching avalanche. The data are the published SOC outputs (N = 200, g₀ = 2×10⁻⁷, 96 avalanches, two seeds), pinned by SHA-256.

QuantityValue
Required A = 2πλ/D (from the two measured lengths)8.196 × 10⁵
Lattice A, pooled median [95% interval]7.79 × 10⁵ [6.95, 8.53] × 10⁵
Required / median1.052 (0.51 of the interval half-width)
D predicted from λ5.11 pm [4.66, 5.72] vs 4.853 pm measured
λ predicted from D602 nm [537, 659] vs 633 nm measured
VerdictPASS (required value inside the interval)

What the result means. A number produced by a unit-free jammed packing, from geometry alone, lands on the ratio between a visible-light wavelength and the electron's scale. That is the statement that turns "the lattice has a speed" into "the lattice wave is light". It is graded [V] because it could have failed and did not.

How strong it is, stated plainly.

Doubt 5a. "The two-line ratio (λ/D)₆₃₃/(λ/D)₅₃₂ = 633/532 already proves the mapping."

Resolution: retired as evidence. With D held fixed, that ratio equals 632.99/532 for any value of D and for any medium, so it cannot fail. The code confirms this. jamming_rotation_485pm_study.py divides the same A by both wavelengths, which gives D = 4.97 pm at 633 nm and 4.18 pm at 532 nm. The ratio is kept only as a display of internal consistency. The test that can fail is E2.

Doubt 5b. "The RCROSS two-wavelength gate passes (dev = 0)."

Resolution: retired as evidence. In the bundle, outputs/derived/dt_633.txt and dt_532.txt both copy the same locked tick, Δt = 1.86×10⁻²¹ s, so the deviation is zero by construction. RCROSS remains a reporting format (§11.4). It becomes evidence only when each channel computes its own Δt independently.

Doubt 5c. "A is anchored to A_geo = cΔt/a, so the chain is circular."

Resolution. E2 does not use c, Δt or a at all. Its only inputs are λ, D and the lattice's own A. The circularity question about Δt (whether Δt is independent of c, SP S3(iii)) belongs to the time-unit bookkeeping of §11 and does not touch the light identification. The "0.16% agreement with A_geo" is unit bookkeeping and is not counted as evidence.

Doubt 5d. "The 4.854 pm match to 0.04% was the best of many avalanches."

Resolution: retired as evidence. Selecting the best avalanche is not a test. E2 uses the pooled median. The honest figure is D = 5.11 pm predicted against 4.853 pm measured (+5%, inside the ±10% resolving power).

Link 6. What a wavelength is on the lattice, and the polarization question

Claim. The speed of light is the longitudinal speed of Link 2. The transverse character of light is carried by the rotating quanta, not by a shear wave of the packing. A carrier of wavelength λ is realised as a chain of m = ⌈λ/D⌉ rotating quanta in series. The transverse swing accumulated along the chain is one wavelength, and the chain makes an angle χ with the local lattice axis given by sin χ = λ/(mD) (§10.9). Long wavelengths (radio) are almost purely transverse. Very short ones (gamma) run nearly along the axis.

λλ/Dmχlongitudinal scaffold m cos χ
632.99 nm130442.923213044389.9378°141.59 D
532.0 nm109631.487310963289.8248°335.30 D

Reproduced by repro/physics/light_mapping_massfree/light_emergence_massfree.py. The original module is not in the v0.4 bundle, so this file is a reconstruction from the §10.9.1 specification and says so. It regenerates the table exactly.

Link 6a. What the electric and magnetic fields are, and why we feel them

Correction to earlier editions. Earlier editions called the straight, along-the-ray component "the electric field" and the perpendicular component "the magnetic field". Measurement does not allow that. In every light wave both the electric field E and the magnetic field B are perpendicular to the direction of travel, and they are perpendicular to each other. A polarizer shows this directly: turn it and the transmitted brightness follows cos²θ (Malus's law). No light oscillates along its own direction of travel in vacuum. Under the corpus rule that data decides the theory, the reading has to be rebuilt to fit these facts. It is rebuilt below.

The reading. Both fields are what an observer measures of one wave. The wave has three parts on the lattice:

On the latticeWhat we measureDirection
The longitudinal scaffold: the one surviving elastic branch, c² = B/ρ (Link 2)the speed c and the direction in which energy flows (the Poynting vector S = E × B)along the ray
The transverse swing of the rotating quanta carried by the scaffold: the wave's substancethe electric field Eperpendicular to the ray
The lattice's rotational response to that swing: the neighbouring grains turning as the swing passesthe magnetic field Bperpendicular to the ray and to E

So the straight component is not a field. It is the carrier that sets the speed and the direction of energy flow. E and B are the two perpendicular faces of the swing it carries: the swing itself (E), and the medium turning in answer to it (B).

Why we feel an electric field. A charge, in this framework a quantum with a synchronised rotation (§14), sits in the medium. When the swing passes, it pushes that charge sideways. The push is proportional to the charge and to the size of the swing: F = qE. This is what a voltmeter, an antenna or the retina registers. A polarizer passes only the swing component along its axis, which is why polarization is the direction of E.

Why we feel a magnetic field. The rotational response acts differently. A charge at rest is not dragged by a turning medium. A charge that moves through the turning medium is deflected sideways, perpendicular both to its motion and to the axis of turning: F = qv × B. A compass needle, whose own quanta turn together, aligns with the local turning of the medium. That is why magnetic forces act only on moving charges and on magnets.

Why the two always come together. A changing swing drives the medium to turn, and a changing turn drives the swing. This is the lattice form of the Ampère–Maxwell and Faraday laws. Each keeps regenerating the other as the scaffold carries them forward. The ratio of their sizes is fixed by the carrier's speed, |E| = c|B|, and the energy they carry flows along the ray (S = E × B). Near a charge at rest only the swing strain remains (a static E). Near a steady current only the turning remains (a static B).

Why exactly two polarizations, and no longitudinal light. The swing lives in the plane perpendicular to the ray. A plane has exactly two independent directions, so there are exactly two independent polarizations. Any oscillation along the ray belongs to the scaffold, which carries energy but is not itself a radiating field, so there is no longitudinal light. The count of two follows from geometry once the swing is transverse.

Status.

Doubt 6a (the strongest objection). Light is transverse and has exactly two polarization states (helicity ±1), with no longitudinal photon. A medium whose shear modulus has gone to zero carries no transverse elastic wave at all. How can its one surviving longitudinal wave be light?

Resolution: what is defended. The objection is correct about the packing: there is no transverse shear wave, and the framework does not claim one. The claim separates two things that ordinary elasticity merges:

Media in which propagation and polarization come from different degrees of freedom are known in continuum mechanics. In rotational-elastic (Cosserat, MacCullagh) media the propagating disturbance is a rotation of the medium's elements and is purely transverse. MacCullagh's rotational ether reproduced Fresnel's optics for exactly this reason. The framework's picture belongs to that family. The rotation of the quanta is not an extra assumption either: the same rotating quanta set the diameter D (Link 4) and appear throughout the proton and electron chapters.

What remains to be coded. Link 6a explains the two-polarization count geometrically: the swing is transverse, and a plane has two independent directions. What is still data-pending is the lattice run that shows it. That run needs a packing whose grains carry rotational inertia and contact torques. It must show that the transverse swing (E) and the rotational response (B) travel together at the scaffold speed with |E| = c|B|, and that only two transverse branches radiate. A different result is recorded as a finding, not hidden.

Doubt 6b. "A 0.03% change in D shifts the visible-light angle by more than a degree."

Resolution: corrected. Scanning D over ±0.03% moves χ by at most 0.16° at 633 nm and 0.17° at 532 nm. The jumps come from the integer m changing. The earlier ">1°" was an overstatement and has been corrected in §3, §10.9 and §10.9.1. The angle remains sensitive to D, which is why a measured transverse-angle distribution would constrain D. It is simply less sensitive than first written.

Doubt 6c. "The angle table is fitted."

Resolution. It is a forward map: a length goes in and an angle comes out. D is fixed first, from the electron, and m and χ follow with no free choice. A negative control shows the relation is not generic. A standard scalar continuum wave on the same medium, launched at the same angle, gives transverse wavelengths of 6.750D and 14.250D, where the relation requires 4.5D and 9.5D (§10.9.1).

Link 7. What "c² = B/ρ is the speed of light" therefore means, graded

StatementGradeEvidence
At the isostatic point one longitudinal elastic speed survives, c² = B/ρ[V]Link 2, five observables
The wavelength-free lattice number A connects a measured light wavelength and the measured electron scale[V] at ±10%, conditional on N = 200, g₀ = 2×10⁻⁷Link 5, E2 PASS
Therefore the lattice's surviving wave is identified with light[H] identification supported by E2; to be sharpened by more seeds and the E/B lattice run (Link 6a)Links 3–5
E = transverse swing, B = the lattice's rotational response, ray = carrier and energy flow; two polarizations from the transverse plane[H] identification · consistent with measured E ⟂ B ⟂ ray · lattice run data-pendingLink 6a
Absolute A (equivalently g₀) from first principles[O]Link 4
Two-line ratio 633/532; RCROSS dev = 0; best-avalanche 4.854 pmretired as evidence (cannot fail)Doubts 5a, 5b, 5d

Link 8. What would break the chain

Each of the following, if it happened, would be recorded as a refutation ("falsification is discovery"), not explained away:

How to reproduce every number on this page

python3 repro/physics/experiments/E2/e2_link_test.py            # Link 5 (E2)
python3 repro/physics/light_mapping_massfree/light_emergence_massfree.py   # Link 6 table and sensitivity
cd repro/physics/bundle_v0.4/02_lattice_percolation_soc/jamming_spine_verification_v0.4_2026-06-05
#  01_stiffness_to_c2/, 02_shear_relaxedG/  -> Link 2 (single speed, G -> 0)
#  05_light_emergence_quantum_D/ellrot_verify.py -> D = 2 pi lambda / A distribution

Related pages: Jamming Spine · W.5 Anti-circular chain · §10 Speed of light · §11 Realization of units · W.6 Provenance.