Skip to main content
Every PASS is a Lean 4 file. You can check it with the same toolchain that checked it in the first place, independently of the engine, the Hub and us.

The easy way

With --proofs, cert verify checks every proof file’s digest against the certificate. It then compiles the lemma closure (proofs/lemmas/) from source into a scratch directory, and runs lake env lean on every proof in the locked spec workspace.

By hand, with stock Lean

You need the spec package the certificate pins (predicate.spec_digest), built with lake build, and the release directory (release.cert.json, proofs/, proofs/lemmas/).
recheck.sh
A real run on a release of the example repository:
Terminal: recheck.sh compiles the lemma closure and checks two proofs; each depends only on propext, Classical.choice and Quot.sound

What to look for

  • Lean must accept every file with no errors.
  • #print axioms of each implements theorem must list only propext, Classical.choice and Quot.sound. Any other axiom (sorryAx, a custom axiom, Lean.ofReduceBool from native_decide) means the proof does not count.
  • The theorem’s statement is Implements … (spec) for the Op Spec of the node in the certificate. Read the certificate’s header: it names the kernel and the Spec Key.

Reading a proof file

A proof file is self-contained apart from the spec library and the lemma closure. In order, it contains:
  1. Args: the kernel’s global memory per pointer argument, and its scalar arguments;
  2. one definition per Triton IR value, documented with the IR line and source location (norm.py:16);
  3. the binding hypotheses Hyp: the layouts of your tensors, the scalars, and that outputs do not overlap inputs;
  4. the theorem implements, and its proof.
The proof’s value subgoals end in tfe_close or tfe_replay "<tactic script>". When a lemma was hit, its module is imported from the closure.