Principia Orthogona  ·  Book 6  ·  Working Papers · Mathematics & Formal Proofs
WP-24 Criticality Bridge WP-28 The Circadian Trader WP-30 How to Audit

How to Audit a Mathematical Claim

a method, distilled from auditing this corpus's own work — read for the math, and stay baffled until it is there

The two audits before this one each caught a single bad claim. This one is the general method behind them, written as a lesson, because the individual audits — grepping a file, quoting a missing citation — read a little comically on their own. The discipline underneath is simple and it is the same discipline that produced everything sound in this series: do the math, then write the claim — in that order. What follows is how to check whether someone (including yourself) did.

1.  Don't trust the label

A green Lean 4 · 0 sorry tag, a status cell that says Proved, a DOI in the reference list — these are claims about evidence, not evidence. The row that started WP-28 sat in a five-domain table wearing the same styling as two machine-checked rows. Styling is free. The audit's only move is to stop reading the label and go find the thing it points at.

2.  Read the paper — don't grep it

This is the confession, and it is why this paper exists. A full-text search tells you where a word appears; only reading tells you whether the math is there. WP-28 grepped GameTheory_Full_Pack.html for "circadian" and found two hits, which was enough to flag the one bad row — but it missed that the same paper genuinely derives its network-game threshold and openly self-flags the circadian row as unsourced. Grep is a smoke detector. It is not a reading. Read the model, the assumptions, and the step where the number is produced.

3.  Find the three things every real result has

A derivation (the math that yields the number), a dataset (if it is empirical), and reproducible code (if it is numerical). If any of the three is "cited elsewhere," follow the citation until it touches ground. A result missing all three is not a weak result; it is a placeholder that looks like one.

4.  Beware the phantoms

Three specific shapes of nothing, each dressed as something:

PhantomWhat it looks likeSeen here
Phantom codea script named as the source of a number, absent from the repovalue_iteration_midstream.py — cited for σ* ≈ 1/3, nowhere on disk
Phantom citationa concept-DOI that always resolves to the latest deposit, so it never 404s and never points anywhere specific"Appendix A, Grossi (2026a)" → the series concept DOI; the appendix "not yet written"
Phantom rowa number with no model, data, or citation, riding a convergence table as an independent confirmationthe "circadian trader" g₃₃ ≈ 1/3 (the paper itself labels it Unsourced)

5.  A closed form is not a real solve

A clean formula is often a coarse approximation. The network-game paper gives an analytical threshold σ* = √(b/a) ≈ 0.665 and a numerical one σ* ≈ 0.33; the same corpus's stability radius ε₀ = 1/3 is the coarse symmetric Grönwall estimate that Book 4, Ch 10 refines to r* ≈ 0.776. Neither closed form is a lie — they are the first term. Report both, and say which one is the coarse bound and which is the real solve.

6.  Smell the fitted correction

When a "correction factor" is exactly what maps the closed form onto the target constant, be suspicious. The paper closes the 0.665 → 0.33 gap with ψ ≈ 0.50, narrated as two effects each contributing "~25%." A total that is precisely the number needed, split into equal halves, is the fingerprint of a result reverse-engineered to its answer and decorated afterward. A genuine correction is computed independently and lands where it lands.

7.  Check that the model closes

Chase the equations to their boundary. The analytical threshold needs "V earns rent at σ = 0" (a constant b > 0) — yet the payoff as written, R_V = βσ(1−γ)·min(v,1)·|I| − v²/2, is identically zero at σ = 0. The mechanism that produces the whole result is off the page. A claim whose generating math is incomplete on the page cannot be reproduced or refuted — it can only be rebuilt.

8.  When the math is missing, rebuild it — fresh

A fresh build always works in your favor: you can run it, and sometimes you improve on the original. Rather than hunt the phantom script, we rebuilt the value iteration from the stated payoffs, with every missing piece named in the open (the AR(1) imbalance dynamics; V's baseline rent b₀). It runs — and it turns the vague "invariant" into a precise statement:

E[pi_J] = a * sigma^2 (a constant across sigma -> J really is convex in volatility) sigma=0.2 a = 9.493 sigma=0.3 a = 9.493 sigma=0.4 a = 9.493 option-value coefficient a = 9.49 (pinned by the stated dynamics) crossing: sigma* = sqrt(b0 / a) b0 = V's rent at sigma=0 (NOT on the page) sigma* = 0.333 <=> b0 = 1.05 sigma* = 0.665 <=> b0 = 4.20

So the coefficient a is nailed down by the model; σ* is a one-parameter family in the unstated rent b₀; and "1/3" and "0.665" are simply two points on that curve, each chosen by a number no one wrote down. The ψ ≈ 0.5 "correction" is the gap between two guesses of b₀. The reproducible build is committed as value_iteration_midstream.py — the phantom is now a real file, and the honest claim it supports is: σ* = √(b₀/a), a ≈ 9.5, and b₀ must be measured.

9.  The verdicts

VerdictMeaning
Provedmath present and reproduced (ideally kernel-checked)
Derived, coarsea closed form that a numerical solve refines — keep both, label them
Cited elsewherethe backing exists but off-page; follow it to ground before believing it
Underdeterminedthe result depends on a quantity the source never states (σ* here)
Fitteda free factor chosen to hit a target, then narrated as a mechanism
Unsourcedno derivation, data, or citation found — the honest label for a phantom
The bafflement principle When the generating math is missing, be baffled — and say so out loud. A number without a derivation is not a small gap to be smoothed over with a caveat; it is the entire thing absent. This series does its own math many times over before it is willing to write a claim down, and it catches its own errors in public — a scribal slip in Plimpton 322, a vacuous Lean hypothesis, a threshold that was really a free parameter. Auditing your own work is not weakness. It is the immune system.
A note on tone: none of this requires assuming bad faith. Most phantoms are honest work-in-progress that got typeset as if finished — a placeholder that borrowed the styling of a result. The audit's job is not to accuse; it is to restore the label to the truth, and, where it can, to rebuild the missing math so the claim can finally stand on it.
← WP-28 · The Circadian Trader The audited paper →