# Fact-check: /strata/loschmidts-paradox/ ("The Simple Instruction")

Scope: `public/strata/loschmidts-paradox/index.html` (body text, ignoring the aw-nearby, aw-checkkind and aw-plain blocks), the frontmatter in `src/content/strata/loschmidts-paradox.md` (title, dek, plain) and the TV narration `loschmidts-paradox` in `public/tv/lib/narration/batch-106.js`.
Method: every quotation was compared with `sources/quotes.json` and, where one exists, the page image (Kac p. 61, Loschmidt p. 139 and Boltzmann p. 69 were checked by eye). Every number was recomputed from the JSON files. The engine claims were tested by running `engine.mjs` directly. The scratch scripts are in the session scratchpad and were not committed.

Severity: ERROR = false or misquoted; OVERSTATED; UNSUPPORTED; NIT.

## Findings

### 1. ERROR: the post-hoc explanation of the prediction-2 misses is false
- **Page:** "So the smallest possible disturbance in this world is slower to start than the rule "doubling costs a fixed interval" assumes, and it is the point that dragged two of the five fits outside their band."
- **What is wrong:** removing the k = 0 point does not bring seeds 3 and 5 back inside the ±25% band. With the fit refitted on k = 4..24 (results.json horizons), the ratios become: seed 1 0.85, seed 2 **0.63**, seed 3 **0.72**, seed 5 **0.74** and seed 4 0.79. Without the k = 0 point, three seeds fail instead of two. Seed 3 moves from 1.34 to 0.72, so it is outside the band either way. Seed 5 moves from 0.68 to 0.74, so it is still outside. The hiding effect cannot explain seed 5 in any case: hiding delays the k = 0 horizon, which makes the slope steeper (ratio above 1), while seed 5 was too shallow (0.68). What the refit actually shows is that the k ≥ 4 slopes are all shallower than 1/r (mean about 0.75). The rate-based prediction overestimates the steps lost per doubling. It is not one irregular point.
- **Evidence:** `research/arrow-of-time/results.json` rows[*].horizons and stepsPerBitPredicted. The refit is an ordinary least-squares fit of horizon on k over k ∈ {4,…,24}.
- **Suggested wording:** "The one-step nudge is irregular: it can hide inside a disk for hundreds of steps (below). That explains seed 3's steep fit, but not seed 5's shallow one. Leaving the k = 0 point out does not rescue the prediction either. The remaining slopes are 0.63 to 0.85 of the predicted value, so the growth rate measured forward overstates how many steps each doubling costs on the way back. Why is not established."

### 2. ERROR: prediction K3 is described as unjudgeable, but it was judged on 2 cells and failed on both
- **Page:** "A third prediction, that the time until some disk is a diameter off would not depend on size, could not be judged on any cell as written (the smaller gases finished before it happened)"
- **What is wrong:** in kelvin.json, two cells have t* at all six sizes: seed 1 with δ = 2⁻⁸ (tstarRatio 1.73) and seed 3 with δ = 2⁻⁸ (tstarRatio 1.83). Both are above the pre-registered limit of 1.5, so K3 **failed** on 2 of 2 judgeable cells. The other 7 cells could not be judged. `K3.within = 0 of 9` records failure, not "unjudgeable". The research README ("K3 unjudgeable (0/9 complete cells)") has the same error.
- **Evidence:** `kelvin.json` cells[0] and cells[6] tstarRatio; `kelvin.mjs` line 69 (a ratio is computed only when every size has a t*).
- **Suggested wording:** "A third prediction, that the time until some disk is a diameter off would vary by no more than 1.5× across sizes, could be judged on only 2 of the 9 cells (in the rest the smaller gases finished first). It failed on both (ratios 1.73 and 1.83): with the largest error, t* first rose from about 4.3 collisions (32 disks) to about 5.2 to 5.8 (64 to 128 disks) and then fell to about 3 (1,024 disks)…"

### 3. ERROR: the first box does not return "every velocity identical to the start"
- **Page (opening):** "…until all 128 are back in the left half, each one in exactly the place it began. Not approximately. Every position and every velocity, 512 whole numbers, identical to the start."
- **What is wrong:** in box 1 (Reverse, then Run), the gas pauses at t = 0 in its reversed state. I ran seed 1 out 1,200 steps, reversed it and ran it to t = 0. Every position is identical to the start. Every DX/DY is the **exact negative** of the start (`velSame false, velExactlyNeg true`). The velocities match the start only after a second reversal, which is what the There-and-back instrument and measure.mjs do. Box 1 does not do this. Thomson himself makes the distinction ("with only the difference that each particle is moving in the direction reverse…").
- **Evidence:** `app.mjs` stepBox (stops at t = 0 with _dir < 0 and never reverses again); `engine.mjs` reverse(); test script run on seed 1.
- **Suggested wording:** "…each one in exactly the place it began, moving at exactly its starting speed in exactly the opposite direction. Reverse once more and all 512 whole numbers are identical to the start."

### 4. ERROR: "every teller hedges it" is contradicted by the project's own sources
- **Page:** "Later books repeat it as "reportedly", "reputed", or what "tradition attributes". So: unattested before 1959, as far as we could check, and every teller hedges it."
- **What is wrong:** quotes.json lists Davies, *The Physics of Time Asymmetry* (1977 ed.): "(in the words of Boltzmann: 'Go ahead, reverse them')". That has no hedge. sources/README.md makes the same false claim ("every source hedges it").
- **Evidence:** `sources/quotes.json` id `anecdote-kac1959`, confidence_note.
- **Suggested wording:** "Most later books hedge it ("reportedly", "reputed", what "tradition attributes"), although at least one (Davies 1974/77) states it flatly. So: unattested before 1959, as far as we could check."

### 5. ERROR (NIT-level): the word count is wrong
- **Page:** "Boltzmann answered Loschmidt in four words: then go ahead and reverse them."
- **What is wrong:** "go ahead and reverse them" is five words, and with "then" it is six. Kac's wording, "go ahead, reverse them", is the four-word form.
- **Suggested wording:** "…in four words: go ahead, reverse them."

### 6. ERROR: the energy-conservation figure is true for one seed only
- **Page:** "one time step (dt = 2.5 × 10⁻⁴, energy held within 0.4% over 4,000 steps)"
- **What is wrong:** I recomputed the verifier's C1 test (energy every 100 steps for 4,000 steps). The integer gas's worst relative deviation is 0.36%, 0.46%, 0.54%, 0.41% and 0.34% on seeds 1 to 5, so only seeds 1 and 5 stay within 0.4%. The floating gas stays within 0.04%. The verifier only asserts < 2%.
- **Evidence:** `engine.mjs` energy(); `verify-loschmidts-paradox.mjs` lines 102–105; recomputation.
- **Suggested wording:** "energy held within 0.6% over 4,000 steps on all five gases (the integer gas; floating point within 0.04%)".

### 7. OVERSTATED: Boltzmann "conceded it completely", and the p. 69 sentence is presented as his own reply
- **Page:** "He called the argument "äusserst scharfsinnig", extremely ingenious, and conceded it completely: the reversed gas does run backwards. Then he moved the arrow to where the first box shows it lives: „Über das Vorzeichen … ein Schluss gezogen werden."" (Boltzmann 1877, p. 69)
- **What is wrong:** the quotation is verbatim (checked against canvas 073), but it comes from Boltzmann's **restatement of Loschmidt's argument** (pp. 67–70). The next page says: "Man sieht, dass dieser Schluss viel Verlockendes an sich hat und dass man ihn geradezu als ein interessantes Sophisma bezeichnen muss. Um dem Trugschlusse, welcher hierin liegt, näher auf die Spur zu kommen…" He calls the conclusion drawn from the reversal a sophism and a fallacy ("Trugschluss"), and then gives his probabilistic answer. He concedes the mechanics, not the argument. "Conceded it completely" misrepresents him. The p. 69 line needs to be framed as his statement of the objection's consequence, which he accepts only in the probabilistic sense he goes on to give. Also, "äusserst scharfsinnig erdacht" describes Loschmidt's "Satz/Bedenken", so "argument" is fair.
- **Evidence:** `quotes.json` `boltzmann1877a-sophisma` (p. 70); `OAW_WienerBer_75_…tesseract.txt` around line 413; page image canvas 073.
- **Suggested wording:** "He called it "äusserst scharfsinnig", extremely ingenious, and granted the mechanics: the reversed gas does run backwards. Restating the argument in his own words, he drew its consequence: [p. 69 quote]. Then he called the inference that the Second Law cannot be proved "ein interessantes Sophisma", an interesting sophism, and gave his answer: counting."

### 8. OVERSTATED: the dek and plain say the retort was traced to its "first printing"
- **Dek:** "the famous reply "go ahead, reverse them" traced to its first printing, in 1959."
- **Plain:** "The retort 'go ahead, reverse them' first appears in 1959."
- **What is wrong:** the page body correctly says this is the earliest printing *we could find*, and that Google Books, HathiTrust and Gallica could not be searched, "so an earlier printing may exist." The frontmatter drops that hedge.
- **Suggested wording:** Dek: "…traced back as far as we could, to a 1959 book that says only "reportedly"." Plain: "The earliest printing of the retort … we could find is 1959."

### 9. OVERSTATED: floating point is said to fail "later than a one-grid-step nudge" with no exception
- **Page:** "Floating point failed between 3,100 and 3,600 steps on the five gases, later than a one-grid-step nudge (because a double's rounding error … is smaller than 2⁻³²) but not never."
- **What is wrong:** this is false for seed 3 (float 3,300, one-step nudge 3,600), as the page itself reports under Prediction 3.
- **Suggested wording:** "…later than a one-grid-step nudge on four of the five gases (a double's rounding error … is far smaller than 2⁻³²), but not never."

### 10. OVERSTATED: "the one used for every number on this page"
- **Page:** "The test of "came back" is the one used for every number on this page: every disk within one diameter of where it began."
- **What is wrong:** the Kelvin test uses the peak left-half share, D and t* (disk-to-disk separation between the exact and perturbed copies). The post-hoc test uses the first step at which another disk's integer position differs. The one-diameter test covers the horizon numbers only.
- **Suggested wording:** "…the one used for every horizon on this page…"

### 11. OVERSTATED: "this exact integer world is the proof that nothing in the mechanics forbids it"
- **Page:** "…and this exact integer world is the proof that nothing in the mechanics forbids it."
- **What is wrong:** the integer map is a different dynamical system (a discretised, rounded-force map), not Newtonian mechanics. It demonstrates reversibility for itself. That Newton's equations are time-reversal invariant is a mathematical fact that needs no demonstration. "Proof" overstates what the model contributes.
- **Suggested wording:** "…and this exact integer world is a working example: a mechanics in which the reversal can actually be carried out."

### 12. OVERSTATED (mild): K3 "shortened with size"
- **Page:** "with the largest error it shortened with size (from about 4 to 5 collisions down to about 3…)"
- **What is wrong:** the change is not monotonic. At δ = 2⁻⁸, t* rises from 4.3 to 4.7 (N = 32) to 5.2 to 5.8 (N = 128) and then falls to 3.0 to 3.5 (N = 1,024). See also item 2.
- **Suggested wording:** "…it rose and then fell (about 4.5 collisions at 32 disks, 5 to 6 at 64 to 128, about 3 at 1,024)."

### 13. UNSUPPORTED: the first box's suggested "Nudge" experiment does not show a failure at its default stopping point
- **Page:** "The gas has spread. Press Reverse every velocity, then Run… Then try it again with Nudge one disk pressed at the moment you reverse." Combined with "The other half is in the button marked Nudge one disk."
- **What is wrong:** the first run stops by itself at t = 1,200 (`app.mjs` tick, autoStop). For seed 1, nudging at 1,200 and reversing brings the gas home to within 2 × 10⁻⁵ diameters, because the seed-1 horizon is 1,700. A reader who follows the instructions sees the nudged gas come home. To see a failure they have to press +500 steps (or run on) first.
- **Suggested wording:** "Then Reset, run a little longer (press +500 steps once), and try it again with Nudge one disk pressed at the moment you reverse." Alternatively, raise the autoStop to at least 1,800.

### 14. UNSUPPORTED: "every trip length tried out to 8,000 steps" returns "all 512 integers"
- **Page:** "That is why the round trip returns all 512 integers, on every gas and every trip length tried out to 8,000 steps."
- **What is wrong:** measure.mjs (prediction 1) only checks that every **position** is within σ of its start, not bit equality of all 512 integers. The verifier checks bit equality for 15 trips of 500 to 6,000 steps. The claim is true: I checked T = 8,000 bit-for-bit on seeds 1 to 5 and all were identical. But no committed measurement supports it as worded.
- **Suggested wording:** keep the sentence, but back it with the verifier: add a bit-equality check at T = 8,000 to measure.mjs or the verifier. Otherwise, say "all 512 integers on 15 round trips up to 6,000 steps (verifier), and within a diameter at every trip length to 8,000".

### 15. UNSUPPORTED: a pre-registered reporting item is omitted
- **Page:** Prediction 3 is reported only as a pass/fail count.
- **What is wrong:** PREREGISTRATION.md says "we only report the k at which the fitted line would reach it, as the float gas's 'effective nudge'". The page never gives it. results.json floatEffectiveK = −24.6, −19.0, −6.1, −18.2 and −29.8: floating point behaves like a nudge 2⁶ to 2³⁰ times *smaller* than one grid step.
- **Suggested wording:** add "Read off the fitted lines, floating point behaves like a nudge between 2⁻⁶ and 2⁻³⁰ of a grid step (pre-registered as its 'effective nudge')."

### 16. UNSUPPORTED (mild): "the last is mostly just the wait for the next collision"
- **Page:** "…and 43 steps for 256 steps (the last is mostly just the wait for the next collision)."
- **What is wrong:** posthoc-hiding.mjs does not measure this. It is plausible (the median wait of 43 steps is below the roughly 110-step collision interval, which fits a wait for contact), but it is an inference.
- **Suggested wording:** "(the last is probably mostly the wait for the nudged disk's next encounter)".

### 17. NIT: "91.5%"
- **Page:** "the reversed gas still regained between 91.5% (1,024 disks) and 100%"
- **What is wrong:** 91.5% is the mean over the three seeds. The minimum single cell is 0.9140625 (seed 3, δ = 2⁻⁸), which rounds to 91.4%. "Between" implies the range of cells.
- **Suggested wording:** "between about 91% (1,024 disks) and 100%", or "91.4%".

### 18. NIT: "Tripling each time, … fewer than eighteen collisions"
- **What is wrong:** the arithmetic is right at a factor of exactly 3 (log₃(0.05 × 2³²) = 17.46). At the measured low end (2.78, seed 1) it is 18.8. The measured per-collision factors are 2.78, 2.98, 2.86, 3.05 and 3.01.
- **Suggested wording:** "…in about eighteen collisions."

### 19. NIT: horizon "to the nearest hundred steps"
- **What is wrong:** the horizon is the first failing T on a 100-step grid, so it is rounded *up* to the next hundred, not to the nearest.
- **Suggested wording:** "(the shortest trip, on a 100-step grid, from which…)".

### 20. NIT: a Thomson quotation is truncated mid-sentence without an ellipsis
- **Page:** "…so that the given initial unequal distribution of temperature will again be found" (p. 329)
- **What is wrong:** the sentence continues ", with only the difference that each particle is moving in the direction reverse to that of its initial motion." Add "[…]", or better, keep the clause, since it bears on item 3.

### 21. NIT: the Boltzmann "infinitely distant past" page range
- **Page:** "And on page 72 to 73 he notices…"
- **What is wrong:** quotes.json places the passage on p. 72 (checked against the image). Section II *ends* on p. 73.
- **Suggested wording:** "on page 72".

### 22. NIT: the float round-trip gap
- **Page:** "The gap after a round trip of 500 steps is about 3 × 10⁻¹⁴ of the box"
- **What is wrong:** recomputed as 3.2, 11.0, 3.6, 3.7 and 3.7 × 10⁻¹⁴ for seeds 1 to 5. The figure is fine for seed 1, but seed 2 is 1.1 × 10⁻¹³. The number has no committed source: no script or JSON records it.
- **Suggested wording:** "about 3 × 10⁻¹⁴ of the box (seed 1; 3 × 10⁻¹⁴ to 10⁻¹³ over the five)".

### 23. NIT: Rein and Tamayo citation
- **What is wrong:** the local source is the arXiv v2 preprint (janus.txt), not the MNRAS version, so the MNRAS 473, 3351 volume and page could not be checked from local files (I believe them correct). The quotation and section 2.1 match the preprint.

### 24. NIT: TV narration line 6
- **Narration:** "The arrow was never in the laws. It was in where the story started."
- **What is wrong:** stated as settled fact. The page itself says the past hypothesis is "an open question". It is acceptable as Boltzmann's position, but flatter than the page.
- **Suggested wording:** "The arrow is not in the laws. It is in where the story started."

## Checked and found correct
- **Thomson 1874:** the date (Monday 16 February 1874, Thomson in the chair), the title, Proc. RSE 8 pp. 325–334, and the Nature 9 reprint (441–444, 9 April). The reversed-world quotation (pp. 325–326) is verbatim, with the ellipsis marked. The gas quotation (p. 329) is verbatim apart from item 20. The imprecise-reversal quotation (pp. 329–330) is verbatim. "very approximately equalised" is verbatim. The collision-interval unit phrase is verbatim (Nature text). The jar: 2 × 10¹² O₂ and 8 × 10¹² N₂, one fifth of the volume. log₁₀ odds = 2·10¹²·log 5 + 8·10¹²·log(5/4) = 2.17322 × 10¹² = (10 − 26 log 2) × 10¹², matching "about 2,173,220,000,000 of places". "Thomson was not troubled… the explanation" is supported by "leads to the full explanation of the theory of dissipation of energy".
- **Loschmidt 1876:** presented 27 January 1876, Wiener Ber. 73 II 128–142, p. 139. Both German sentences are verbatim against the page image (canvas 156). The "deteriorate… infallibly" translation matches. The translation of the key passage is fair. The scan's CC BY-SA 4.0 licence is in the IIIF manifest. Canvas 156 is p. 139. There are 15 pages. The only Thomson citation is the 1851 axiom. Loschmidt does name Boltzmann in Part I.
- **Boltzmann 1877a:** submitted January 1877 (session of 11 January), vol. 75 II 62–100, section II. The p. 69 quotation is verbatim (image) and the translation is fair. "unendlich vielmal mehr" (p. 71), "ausserordentlich unwahrscheinlich" and "für die Praxis" (p. 72) are verbatim. The paraphrase of the passage about the past is fair.
- **Boltzmann 1877b** never names Loschmidt (per the OCR search). The 1895 memorial address (delivered 29 October 1895) quotes "die Idee des Umkehrens alles Geschehens" verbatim, on p. 231.
- **Kac 1959, p. 61:** verbatim against the page image; lectures from the Boulder summer seminar, 23 June to 19 July 1957; no source given.
- **Levesque & Verlet,** J. Stat. Phys. 72, 519 (1993). The Rein & Tamayo quotation and section 2.1 are correct, and it is correctly stated that the 1993 paper was not read.
- **Grid:** 2³² = 4,294,967,296. One step = 4.66 × 10⁻⁹ of a disk (about five billionths). For a 1 cm disk that is 0.0466 nm, below the Bohr radius of 0.0529 nm.
- **Rates:** 13.4–14.8 bits per 1,000 steps. Steps per collision 106.5–118.2. Per-collision factor 2.78–3.05 ("2.8 to 3.1").
- **Horizons:** one-step nudge 1,700–3,600; floating point 3,100–3,600; seed 1 1,700 / 3,200; seed 3 3,600 vs 3,300. In collisions, 15.2–33.6 ("between 15 and 35").
- **Prediction verdicts** match PREREGISTRATION.md exactly (5/5; 3/5 with ratios 0.75, 0.86, 1.34, 1.00, 0.68; 4/5). The seed 3 and seed 5 directions are right. The mean ratio of 0.93 is presented as not the test. The pre-registration was committed before the results (git, before the branch was rebased onto main: f42a793 and d13caf7 precede 3f9b1cf; after the rebase the same commits are 42dc016 and 804a0cb, preceding 0d5176a).
- **Post-hoc medians** 413, 248, 172, 88 and 43 over n = 160 (5 seeds × 8 moments × 4 disks), clearly labelled post hoc (but see item 1).
- **Kelvin test:** sizes 32–1,024, same density, 55% threshold, three δ × three seeds. Teq 3.2 and 16.3 collisions. D/Teq 81%–100%. K1 9/9. K2 ρ = 1 in 9/9. t* at δ = 2⁻¹⁶ goes from about 9 to about 11.4. The stated caveats are appropriate.
- **Physics:** the description of Levesque–Verlet rounding and invertibility, float rounding, the WCA potential, Irwin–Hall velocities, dt, and the force-rounding "hiding" mechanism (at contact, the change in rounded kick per grid step is about 0.016 steps) are all correct.
- **Instruments:** the buttons exist and behave as described. The trace doubles back. Box 1 pauses at t = 0. Reverse at t = 0 runs into negative time. The There-and-back slider (100–5,000) covers seed 1's horizons. Its result checks all 512 integers after a double reversal.
- **Frontmatter:** the dek and plain numbers are consistent with results.json (apart from item 8).
