Candidate sandbox
Checks one server-generated manifest and one Lean file in a private, no-egress E2B environment with no application credentials.
Acceptance is a deterministic formal check, so the process runs without any human judgment of the argument itself.
Acceptance depends only on the automated check. Expert review is recorded separately and does not affect whether a result is published.
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.
Reconstructs trusted declarations and rejects any proof whose statements differ, even if the names match.
Rehashes the sandbox source and attestation, then atomically archives 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