Review7 minUpdated 2026-11-12

A Verification-Ready Review Checklist for Lean Code

A green build is necessary but not sufficient. Verification-ready Lean code should make its statements, assumptions, dependencies and unresolved boundaries easy for another reviewer to find.

Statements are the specification

Review theorem statements before proof scripts. Check that definitions use the intended domains, that edge cases are included and that the conclusion is not weaker than the claim being made. A perfectly checked proof of the wrong statement is still the wrong artifact.

Make assumptions visible

  • ✓List axioms and opaque definitions.
  • ✓List unfinished `sorry` declarations and their owners.
  • ✓Review typeclass assumptions for accidental restrictions.
  • ✓Check whether a local instance changes the meaning of a statement.

Review the dependency surface

Pin the toolchain and dependency revisions. Review imports for a package that is larger than the proof needs, and avoid relying on a mutable `main` branch for a released artifact. A reproducible build should not depend on an editor's cache.

Collect build evidence

bashEvidence bundle
git rev-parse HEAD
lean --version
lake build 2>&1 | tee build.log
rg -n "sorry|admit|axiom" . --glob '*.lean'

Write a reviewer handoff

A good handoff names the theorem list, the build command, the toolchain, the changed files, known limitations and the next unresolved question. It should let a reviewer reproduce the result without guessing which editor command or private branch was used.

Frequently asked questions

Is a compiled Lean file automatically correct?

It is correct relative to its definitions, assumptions and the kernel. A human reviewer still needs to assess whether the formal statement matches the intended mathematical claim and whether hidden assumptions are acceptable.

How should I report an unfinished proof?

Report the exact declaration, the current goal state, the failed tactics attempted, the build command and any constraint on the proof approach.

Keep reading