teal-sea / zeta-labstate of record · compiled 14 Aug 2026 · revision 9ebdea0 · source

Library · docs/doors/refute.md

Guide: test a claim against the controls

509 words · 73 lines · source

For you if you have a structural claim about the zeros — a spectral operator, a positivity argument, a pattern in the statistics — and you want to know whether it is about ζ at all before you spend a month on it.

First command:

.venv/bin/python scripts/23_gate_3_battery.py

What this door does that a notebook does not

A plausible "explanation" of RH now costs minutes to generate: discretize an operator, fit a spectrum, tell an evocative story. A referee's rebuttal traditionally costs days. This door makes the rebuttal cost minutes too.

It does not tell you whether your claim is true. It answers a weaker and decidable question: is your demonstration about ζ, or about any function that happens to look like ζ? Most claims die here, and they die for reasons that do not depend on anybody's taste.

docs/17-the-falsification-harness.md is the methods retrospective: five independent claims of zero structure arrived in a single day, and the standing instruments dispatched all five.

The four instruments

InstrumentThe question it asksIf your claim fails
Rivalsdoes it also hold for a function that satisfies the same functional equation and violates RH?it explains nothing — see zeta.epstein.battery, gate #3 of docs/09
Decoysdoes the result survive when the primes are swapped for non-primes, or merely reordered?it was never reading the arithmetic — zeta.spectral_gate
Surrogatesdoes a null model with no arithmetic in it reproduce the pattern?the pattern is a property of the model class — zeta.surrogate, NULLCONTROLS.md
Lesionsdoes your detector notice a violation planted on purpose?your detector is blind, and its silence measures that, not the world — zeta.detectors

The rival test is the sharpest, because it needs no threshold and no statistics. It is a modus tollens: if the Davenport–Heilbronn function has the property too, and it has zeros off the line, then the property cannot be why the zeros are on the line.

Running it on your own claim

Write your claim as a predicate over the interface dict and hand it to the battery:

from harness import get_department, run_battery
from harness.departments import load

load("zeta")
battery = get_department("zeta").battery

def my_claim(iface) -> bool:
    return abs(iface["Z"](14.5)) < 1.0      # whatever your structure is

verdict = run_battery(battery, my_claim)
print(verdict.summary())
print(verdict.shared_with)   # the rivals that also have it

verdict.distinguishes is the only field to act on. It is true exactly when the claim fires for ζ and for none of the rivals.

What a pass does and does not mean

A claim that distinguishes ζ from every rival is a candidate for where a real proof must live. It is not evidence for RH, and nothing computed in this repository ever will be — see docs/08-why-it-is-hard.md for Littlewood's theorem and why a pattern holding for every computed case can still be false.

Related: discover.md, for generating leads rather than refuting them.