Candidate sandbox
Checks one server-generated manifest and one Lean file in a private, no-egress E2B environment with no application credentials. Queue admission separately seals the exact source in the maintainer archive.
Acceptance is a deterministic formal check, so the process runs without any human judgment of the argument itself.
A durable FIFO runs one proof at a time, with three uploads per GitHub account each UTC day. Acceptance depends only on the automated check; expert review is recorded separately.
Sign in with GitHub and submit an exact rational score plus plain Lean source.
The build generates the theorem from trusted templates. A submission cannot change the definitions or hypotheses.
Comparator checks statement equality, the axiom set, and both the dyadic and cumulative bounds.
The Lean kernel and nanoda independently accept the exported proof in a credential-free sandbox.
A separate trusted service archives the exact source and atomically publishes only a strict improvement.
Untrusted Lean and the credentialed publisher are separated so proof code can never read or use a write credential.
Checks one server-generated manifest and one Lean file in a private, no-egress E2B environment with no application credentials. Queue admission separately seals the exact source in the maintainer archive.
Reconstructs trusted declarations and rejects any proof whose statements differ, even if the names match.
Rehashes the sandbox source and attestation, then atomically publishes accepted evidence and updates the ledger without a pull request.
Lean elaborates source code into a compact proof object, which the Lean kernel checks first. Comparator then exports that object, and nanoda, a separate small implementation, checks it again. A bug in one checker is not enough to advance the record.
propextQuot.soundClassical.choiceAny additional transitive axiom rejects the submission.
Formal correctness does not imply the code is safe to run, so resource limits and filesystem isolation protect the runner while the kernels protect the theorem.
The tool installer checks out every verifier component at the commit recorded in the challenge contract.
Prepare your submissionnpm ci
tools_dir="$(mktemp -d)"
bash scripts/install-verifier-tools.sh "$tools_dir"
export COMPARATOR_BIN="$tools_dir/comparator/.lake/build/bin/comparator"
export COMPARATOR_LANDRUN="$tools_dir/landrun/landrun"
export COMPARATOR_LEAN4EXPORT="$tools_dir/comparator/.lake/packages/lean4export/.lake/build/bin/lean4export"
export COMPARATOR_NANODA="$tools_dir/nanoda/target/release/nanoda_bin"
npx tsx scripts/verify-submission.ts submissions/<id> --mode=full