Walk around a circle in equal strides and drop a mark at every step. Wherever you stop — three steps in, three hundred — the gaps between your marks come in at most three lengths. Never a fourth.
Pick any number — call it α. Start at the top of a circle and turn by α of a full turn. Mark the spot. Turn by α again, mark again. Keep going. You are dropping the points {α}, {2α}, {3α}, … — the fractional parts of the multiples of α — around the rim.
Those marks chop the circle into arcs. You would expect the arcs to be a mess: a long one here, a sliver there, every width different. They are not. However many points you have placed, and whatever α you chose, the arcs come in no more than three distinct lengths — and when there are exactly three, the longest is precisely the sum of the other two. That is the whole theorem. Hugo Steinhaus noticed it; it took three separate proofs in the late 1950s to nail it down.
Below, the circle draws itself. Add points and watch. The arcs are coloured by length: short, medium, long. A fourth colour never appears.
Two things are worth slowing down for. First, a new distinct point always falls into one of the widest gaps and cuts it in two. The largest gap cannot grow. When there are three lengths, a long gap splits into the two shorter lengths already present. At a transition, a split can introduce a new length: for α = 1/4, the third mark splits a 3/4-turn gap into 1/4 and 1/2, and that half-turn length is new.
Second, the smallest gap records how closely a fraction can imitate α. With N ≥ 2 distinct marks, it is exactly min1≤q<N ‖qα‖, where ‖qα‖ = |qα − p| and p is the nearest integer to qα. This is the scaled error used for a best approximation of the second kind; the fraction itself is p/q. The gaps make α's continued-fraction approximation errors visible. (The readout names the fraction.) This is the hinge that turns a fact about arcs into a fact about which numbers are hard to approximate, and it ties this layer to The Most Irrational Number.
If a fraction with a small denominator gets very close to α, some marks nearly coincide. The golden ratio, φ = (1+√5)/2, is badly approximable: q‖qφ‖ stays above a positive constant. Its continued fraction is all ones, and it makes Hurwitz's approximation bound sharp. Its turn is the golden angle, ≈ 137.5°.
The payoff is exact and a little startling. For the golden angle the ratio of the largest gap to the smallest stays bounded by φ² ≈ 2.618 forever; the marks are within a factor of three of perfectly even at every count, not just in some limit. Nudge α a hair off a simple fraction, to 0.2500001, say, and the marks rush toward four spokes before crawling onward: the gap ratio runs past 10⁵. Even π misbehaves where it is well-approximated: its famous near-miss 355/113 shows up as a spike to ≈ 290×. Watch both at once: the running gap ratio as you add points, and the same points grown into a seed head by Vogel's rule (angle n·α, radius √n).
Every value above is recomputed in your browser from α and N alone; nothing is stored. The browser uses floating-point arithmetic. An offline verifier checks the finite rational cases below with exact integer gaps: take α = p/q and every gap becomes a whole number of 1/q units, with no rounding or tolerance in those gap checks. The universal theorem rests on mathematical proof. The verifier checks:
→ research/three-gap/verify.mjs · 9/9 · check log in research/three-gap/facts.md
The leap to all real numbers: the verifier checks every reduced fraction α=p/q with 0<p<q, 2≤q≤220 and 1≤N≤q, plus 4,000 random rational cases. That the theorem holds for every real α is the cited result of Sós, Surányi, and Świerczkowski; a finite computation does not prove the universal claim.
The exact count of each length — exactly how many short, medium, and long arcs there are at a given N, and precisely when there are two versus three, is given by α's continued fraction (the Steinhaus–Slater structure, N. B. Slater, 1967). We cite that formula rather than re-derive it; the things we display — the best-approximation identity and the golden two-lengths-at-Fibonacci fact — are the ones we verified.
"Golden packs best": the golden angle's largest-to-smallest gap ratio is bounded by φ² for all N, while the displayed near-quarter turn reaches 625,000.25× at N=5. This is a finite spike: that rational turn eventually gives equally spaced distinct marks. The golden bound follows from the three-distance gap structure; it does not say the golden angle wins at each fixed count. Nor is φ uniquely optimal by every measure a botanist might use; the phyllotaxis literature is richer than one ratio, and real seed heads are shaped by more than geometry.
Corrected 2026-10-14: The page said each split used two gap lengths already present. A split can introduce a new length. In a three-length state, the long gap splits into the two existing shorter lengths (found by the assay line, 2026-10-14).
Corrected 2026-10-14: The page called its finite verifier a proof of the theorem for all fractions. It checks reduced fractions 0 < p < q with 2 ≤ q ≤ 220 and 1 ≤ N ≤ q, plus 4,000 random rational cases; the universal theorem rests on the cited mathematical proofs (found by the assay line, 2026-10-14).
Corrected 2026-10-14: The page said the golden angle's marks stay evenest at every count. Its largest-to-smallest gap ratio is bounded by φ² for every N, but need not be smallest at a fixed N: at N=3, α=√2/4 gives a lower ratio (found by the assay line, 2026-10-14).
Corrected 2026-10-14: The seed-head caption said every non-golden choice fell into spokes. A non-golden angle can also give a Delone spiral: for √2−1 the infinite model has bounded holes and a positive minimum spacing. The caption now identifies the selected angle (found by the assay line, 2026-10-14).
Corrected 2026-10-14: The one-point readout called Infinity the smallest gap and named a closest pair. With one mark there is no pair; the only gap is one full turn, 360° (found by the assay line, 2026-10-14).
Written 2026-06-21. Claims re-read against their sources on 2026-10-14: 133 checked, 89 confirmed, 37 wrong, 0 unverifiable, 6 first-hand observations checked against their record, 1 true when written and overtaken since (dated, not corrected). By the assay line (research/assay-line/queue-1014c/), Codex fixer directed by claude-assaying-boyle-1014; source record by Codex, checked by Codex and a Claude agent.
This was the directed repair pass for the-three-gap-theorem at 41fdb2b77b, using queue-1014c's N1 source record, the Codex and Claude checker records, and all 40 triage decisions. The fixer re-read each item's evidence before editing, reran the mathematical verifier, and added page regressions. The record retains one line per triage item and every supported CONFIRMED claim from the checkers; overlapping shorthand is stated with the repaired scope rather than reconfirmed as false. MINOR findings count in wrong only for bookkeeping and receive no page correction. Two rejected findings remain CONFIRMED; the two shared placard findings remain WRONG under note 81816d. Five dated corrections are mirrored in HTML and the markdown body, and the JSON-LD date is updated under its explicit exception.
This record is long (133 claim lines and 38 findings), so it is not part of the page until you open it. It loads here now if your browser runs scripts; otherwise, or to keep it, read the whole record as plain text.
The assay office: what a record is, and every layer re-read so far.