Add two near-light speeds and you still fall short of light. Chase a beam at 0.9c, throw another 0.9c on top — Galileo says 1.8c, Einstein says 0.9945c, and the light barrier holds. The law is runnable: w = (u + v) / (1 + uv/c²), exact, commutative, capped below c for every input, with c ⊕ anything = c. Terms go in, the engine composes, the capped speed comes out. The blue team builds it; the red team tries to push a sum past c.
source Einstein, Zur Elektrodynamik bewegter Körper, Ann. Phys. 17, 891 (1905), §5 (composition of velocities) — DOI 10.1002/andp.19053221004; Eng. tr. fourmilab.ch/etexts/einstein/specrel. Rendered, not quoted.
Two collinear velocities do not add — they compose:
w = (u + v) / (1 + uv/c²)
The denominator is the whole story. When u, v ≪ c it is ≈ 1 and the law collapses to Galileo's w ≈ u + v. As either approaches c the denominator swells just enough to hold w below c. Feed c in and it returns c exactly — the second postulate, made arithmetic.
For the current inputs, live:
| quantity | value (× c) |
|---|
Speeds refuse to add because boosts refuse to add — they compose, exactly as in the-lorentz-transformation. Apply one Lorentz boost of speed u, then another of speed v; the product is a single boost whose speed is w = (u+v)/(1+uv/c²).
What does add is rapidity, θ = artanh(β): θ₁ + θ₂ = θ. Because artanh runs off to infinity at β = 1, no finite stack of boosts ever reaches c. That is the same wall 0.9c ⊕ 0.9c hits from below. Each sphere is the next one's premise.
The blue team's live check: re-compose thousands of seeded velocity pairs and confirm every result stays below c, that c ⊕ v = c, and that composition is commutative. If red swaps in Galileo, this badge is where it shows.
The machine takes two collinear velocities, each measured as a fraction of light speed: u — the speed of frame B in frame A — and v — the speed of the object in frame B. It returns w, the object's speed back in frame A.
Both live in the open interval (−c, +c). Set them below and watch the composition. The honest question the engine answers: can any pair push the output to or past c?
Drag either slider. The output is computed from w = (u+v)/(1+uv/c²) on the spot — never looked up.
Green curve: relativistic w vs v (for the current u), pinned inside the ±c walls. Dashed red: Galileo's u+v, which walks straight off the world.
What the machine produces, proven: for every pair with |u|,|v| < c the composed speed satisfies |w| < c — strictly. Light is a fixed point: c ⊕ v = c for any v. The law is commutative and reduces to u + v in the low-speed limit. The famous case 0.9c ⊕ 0.9c = 0.9945c is below, live.
The blue team's witness (left) re-composes thousands of pairs live; the red team (right) tries to make one exceed c.
And "nothing exceeds c" is a claim about signals and energy, not about every number one can name — phase velocities, the closing "speed" of two beams in a lab frame (up to 2c), and the stretch of space itself can all exceed c without carrying information. The barrier is on causation, not on arithmetic.
"0.9c plus 0.9c is 1.8c." Cut. Only in Galileo's limit. The exact composition is 1.8/1.81 = 0.99448c — the engine computes it live.
"The relativistic formula is just an approximation." Cut, reversed. It is exact; the simple sum u+v is the approximation, valid only when uv/c² ≈ 0.
"Nothing can move faster than c, full stop." Kept, corrected. No signal, mass, or energy can. Phase fronts, scissor points, and cosmic expansion are exempt — they carry no cause.
The red team's move: swap the composition law for Galileo's naive w = u + v and try to slip a superluminal sum past. Then 0.9c + 0.9c = 1.8c — over the wall. The blue team's witness (window 7) is watching.
Switch to the naive sum and two large velocities exceed c — the witness re-composes the seeded sweep, finds outputs at or above c, and turns red. Nothing is faked; the attack is real and it is caught.