Satoshi's Razor

How it works

The whole system, in reading order: the path a problem travels from idea to admitted proof, the records that attach to that path, what is already proved elsewhere, how a wrong formalization loses without anyone ruling on it, and a worked example in which every step is a real event on a real log.

The path of one problem

five stages, each one an event on the log
  1. proposal An open problem, stated in plain language. Costless to post and carrying no formal weight: it records the idea, and who had it first.
  2. sealed reading Someone translates the proposal into Lean but files only a hash of their wording - a seal - and reveals the Lean later. The hash proves the reading existed before anyone else's was public. Sealing is optional; what it buys is that independence between two readings becomes provable instead of claimed.
  3. candidate statement · gloss The Lean wording goes on the log together with its gloss: the author's own plain-language reading of what their Lean actually says. No machine can check that a Lean statement means what an English sentence means, so the gloss is a claim to compare, never a certificate.
  4. sorry One exact statement is pinned for solving: the Lean a solution must prove, character for character, and the environment it is checked in (core Lean, or Mathlib). The name is Lean's own - sorry is the placeholder a Lean file uses where a proof should be but nobody has written one. A sorry on this site is one of those, made public, attributed, and claimable.
  5. admitted proof A submitted proof is checked automatically: it must prove exactly the pinned statement, contain no sorry inside, and rely on no unapproved axioms. A submission that passes is admitted - the checker's word for accepted, used everywhere on this site. A failing check is recorded as a rejection. Nobody rules; the kernel checks.

One kernel check shows up under three words, one per thing it settles: the submission that passed is admitted, the sorry it proved becomes solved, and a clump containing a solved statement is proven - proving one member proves them all.

Everything else on this site is a record that attaches to some point on this path. None of those records closes anything or overrules anyone - each is a signed, permanent note that readers weigh.

The machinery around the path

the remaining terms, grouped by what they are for

Is the wording right?

reading window
A dated invitation to file sealed readings of one proposal, with a closing date and a reveal deadline. Several people translating blind at once is the point: statements each sealed before the others were revealed are provably independent. The window itself is never enforced - a late seal simply carries its own timestamps.
certificates · convergence · implications
What the registry records about a wording is what can be machine-checked: small sanity theorems about a statement (certificates), kernel-checked proofs that two statements are equivalent (convergence), and one-way implications, which mechanically expose one statement as strictly weaker than another.
clump · dominant
Statements proven equivalent form a clump, and a clump's weight counts its distinct authors: two people who independently wrote equivalent Lean is strong evidence that both wrote what the proposal means. The unique heaviest clump with at least two independent authors is the proposal's dominant clump.
bridge sorry
The equivalence of two candidate statements, pinned as a solvable sorry in its own right. The statement is composed mechanically from the two declarations, the proof goes through the same kernel check as any other solve, and a proven bridge merges the two readings' clumps.
repin
A wording migration. When the library a statement is written against renames or respells a definition, the sorry's pinned type can be swapped for the new wording - but only together with a kernel-checked proof that the new wording is equivalent to the old. Both wordings and the equivalence proof stay on the log, so proofs admitted against the old wording remain valid.

Sharing the work, and what it pays

split · glue
Partial progress made public: a plan reducing a sorry to smaller child sorries, plus a glue sorry whose statement is, mechanically, "the children jointly imply the parent". Each gap becomes its own sorry anyone can attack, and the admitted glue proof is a machine-checked guarantee that solving the children finishes the parent. A sorry can carry several splits, and a split is never edited: replanning means registering another one alongside.
curation
A public, attributed mark that someone considers a problem worth working on, with a note saying why. Costless to file, weighted by the curator's verified work, and timestamped - so the taste of people who have actually solved things counts for more, and a curator's judgment builds a track record of its own.
bounty
Credits attached to one exact pinned statement by someone confident a proof of that precise wording is valuable to them. The first admitted proof takes it - degenerate proofs included, with no adjudication and no refunds. The funder carries the fidelity risk deliberately: clumps, glosses, and certificates exist to tell them how much confidence a statement has earned before they spend.
upstreamed
An admitted proof carried onward to the library its statement belongs in, usually Mathlib, with the pull request recorded on the log. The registry measures itself by upstreamed proofs, not admitted ones: the goal is mathematics that lands where the rest of formal mathematics lives.
private work · zero-knowledge
A solver can file a hash of a proof now and reveal the file later, establishing priority without exposure - or go further and send a cryptographic proof of possession that the registry checks without ever seeing the solution. Both are on the zero-knowledge page.

The same machinery has a second life for programs: in the forge, a challenge pins a formal specification, a submitted implementation is admitted only with a kernel-checked proof that it computes what the specification says (that proof obligation is an ordinary sorry), and admitted implementations then compete on measured speed. The goal is to make "fast" and "proven correct" describe the same programs. The forge's own vocabulary - rigs, lanes, boards, crowns - is explained on its page.

Already proved elsewhere

recognized corpora: verified work the registry does not repeat

The registry does not start from zero and does not duplicate work that is already machine-checked elsewhere. A recognized corpus is an external body of verified work, recorded on the log with sourced statistics. Its contents count as solved: a sorry whose statement turns out to already exist in a corpus is closed by citing it, not by proving it again. New sorries should state what the corpora do not yet contain - that boundary is the frontier.

Wrong wordings, and how the right one wins

nothing is ever closed on anyone's word

Translation into Lean can go wrong, and no machine can catch it: a statement can say less than its author meant, more, or something subtly different. The registry never rules on which wording is right, and it never closes a statement. The right wording wins the same way it earned trust in the first place: independent people converge on it, and people with a verified record curate it. Work, attention, and money follow those weights.

When a better wording exists, anyone may file a supersession mark: a public, attributed note that one sorry is better stated by another, with the reason. Like curations, marks are weighted by the filer's verified work, so a mark from someone who has actually solved things counts for more - and every mark is signed and permanent, so it goes on the filer's own record too. A mark changes no status. The marked sorry stays exactly as provable as before, its admitted proofs and payouts stand, and anyone who disagrees can keep working on it or file a mark pointing elsewhere.

What changes is what readers see: on the frontier, a marked sorry's card shows who considers it superseded and by what, sorts down in proportion to the weight against it, and links forward. A sorry's lineage number counts the earlier wordings whose marks point at it - lineage 2 means the third attempt at stating the same problem. A long lineage is not embarrassing; it is evidence the statement has been tested. Bounties are unaffected by marks: a funder pays for a literal wording and the first admitted proof of it is paid regardless, which is why the sensible time to fund a statement is after independent people have converged on it, not before.

About value

attention first; credits are an experimental layer

The registry's primary rewards are the ones an append-only verified log is naturally good at: permanent attribution, timestamped priority, and standing - the same things that motivate Mathlib contributions and benchmark leaderboards today. Curation is how the community assigns importance without money: costless to file, weighted by the curator's verified work, and publicly scoreable in hindsight.

On top of that, anyone who concretely values a proof of one exact statement can attach a bounty in credits, a hypothetical accounting unit - the registry keeps the ledger and moves no real money. This layer is experimental and so far lightly used; the mechanism below is how it works, not a claim that money is flowing. Bounties attach to pinned statements only, never to proposals, so there is never anything to adjudicate: the first admitted proof of the literal statement is paid, and a funder who trusted an unconverged statement finds out what it was actually worth. A deployment could back credits with anything or nothing; the protocol only requires that the ledger is kept honestly.

A worked example

the demo dataset (./demo.sh), step by step

The mechanisms above are easiest to see in motion. What follows is the demo dataset's walkthrough: the participants are fictional, but every proof check and every event is really produced by running the system. One sorting problem is formalized too weakly, funded too early, and goes through the whole process. When the demo dataset is loaded, each step cites the log events it produced.

The registry as a graph

how the current dataset's sorries relate
dashed red = a supersession mark pointing to the better wording · solid = a split pointing to its child sorries

The event log

the registry's single source of truth, shown as-is