FarzullaProofs — Lean 4 formalisations
FarzullaProofs is a Lean 4 library that restates selected results from the lab's papers as machine-checked theorems. The public repository holds 246 theorems across fifteen paper modules plus a shared library, compiling against Lean 4 v4.27.0 and Mathlib with no sorry placeholders, no custom axioms and no native_decide. Formalisation depth varies a great deal between modules: several map onto named propositions in the manuscripts, others formalise a simplified algebraic stand-in for the construct the paper is actually about.
Who this is for
Anyone refereeing or extending the Axiom of Consent friction functional, the Replicator-Optimization Mechanism, or the regime-tenure law can go from an equation in a PDF to the checked Lean statement in one step, and read off which side conditions the result needs. Each module ships a PaperMap linking manuscript theorem identifiers to Lean declarations. The ROM modules also ship as arXiv ancillary files with arXiv:2601.06363.
For readers who do not use Lean, the assumptions ledger is probably the more reusable artefact: an explicit inventory of the side conditions and modelling assumptions each result is conditional on, including, in one module, a statement of where the model leaves its own valid domain. The proofs are elementary and readable, so the repository also works as a worked example of formalising an applied paper's algebra with Mathlib.
What is in the repository
246 theorems across fifteen paper modules plus a shared Common library, on Lean 4 v4.27.0 with Mathlib at the matching revision. The build was checked by running it rather than by reading the README: lake build returns exit 0 on 7,938 jobs, and a grep across all non-cache .lean files finds no sorry, no custom axioms and no native_decide. Those figures agree with the repository's own description.
A sixteenth module on optimal friction dosing, twenty-three further theorems, is committed on a local branch and not pushed, so the public repository and all current site copy describe the smaller version. The 246 figure goes stale the moment that branch lands.
Depth is uneven, and the headline count flattens that
Roughly six modules formalise named propositions from the manuscripts. The rest formalise simplified algebraic stand-ins. The module named for the 33k-word consciousness monograph defines qualia distance as the absolute difference of two reals and proves non-negativity, self-distance zero and symmetry, which are the standard properties of absolute value. The CBDC privacy module models privacy composition as additive epsilon accounting closed by ring. Neither formalises the argument of the paper it is named after.
The Bronze, Silver and Gold tier labels advertised in the README no longer discriminate between these cases: the coverage file now marks every module as gold. The promotion commits flipped the label by adding a roughly forty-line file of four further elementary theorems, so the label moved and the depth did not.
Everything in the library is elementary algebra over the reals, Finset and the complex numbers. There is no measure theory, no topology and no continuous dynamics anywhere in it; results described as dynamics are discrete algebraic identities, not statements about differential equations or their convergence.
What machine-checking does and does not buy
Lean checks that the proofs follow from the stated definitions. It does not establish that the definitions are faithful renderings of the papers' constructs, and for the shallower modules they plainly are not. The library is unreviewed in the peer-review sense.
One concrete example of the gap: the regime-tenure first-passage identity is proved by hand in the paper and is not formalised at all. Only the comparative statics around it are machine-checked.
What it argues
- 246 theorems, zero
sorry, zero custom axioms, zeronative_decide, on Lean 4 v4.27.0 and Mathlib. Verified by running the build and grepping the source rather than by reading the README, and consistent with the repository's own description. - Formalisation depth is uneven and the tier labels no longer track it. About six modules formalise named propositions; the others formalise simplified algebraic stand-ins.
- Everything is elementary algebra over the reals, Finset and the complex numbers. No measure theory, no topology, no continuous dynamics.
- A sixteenth module of fifteen theorems exists only on an unpushed local branch, so the public repository is the smaller version.
What this is not
- Unreviewed. Machine-checking establishes that proofs follow from the definitions given, not that those definitions render the papers' constructs faithfully.
- One module is entirely conditional on a posited quadratic entropy response that is neither derived nor estimated from data, and the ledger separately records that the modelled entropy at the optimum can fall outside the Axiom of Consent's own entropy domain. That module is also the unpushed one.
- Repository metadata is stale after the July 2026 move to the
dissensus-aiorganisation: the README build badge and theurlandrepository-codefields in CITATION.cff still point at the retired namespace, so the badge will not resolve. CITATION.cff also cites version Zenodo DOIs in places where concept DOIs belong, and the repository has no GitHub topics set, contrary to the lab's own rubric. - The Zenodo software deposit archives a commit two behind the current public main, so the citable snapshot is not the current repository state. The build was verified locally against a warm Mathlib cache; CI status on GitHub and the liveness of the configured documentation site were not checked.
Identifiers
Think this is wrong?
Notes are the part of the programme most likely to contain errors, because nothing here has been through review. If you can show a step does not follow, say so and we will publish it.