popl-artifact-evaluation
GitHub指导将形式化证明开发(Coq/Lean等)打包为POPL可重复性评估工件。核心在于确保无admit/sorry的完整性、审计公理假设、固定工具链版本,并通过映射表关联论文定理与代码,以获取Functional、Reusable及Available徽章。
Trigger Scenarios
Install
npx skills add brycewang-stanford/Awesome-Journal-Skills --skill popl-artifact-evaluation -g -y
SKILL.md
Frontmatter
{
"name": "popl-artifact-evaluation",
"description": "Use when packaging a POPL artifact — above all a mechanized proof development in Rocq\/Coq, Lean, Agda, or Isabelle — for the post-conditional-acceptance evaluation, satisfying the no-admit\/no-sorry completeness rule, mapping paper theorems to proof files, pinning toolchains, and earning the Functional, Reusable, and Available badges."
}
POPL Artifact Evaluation
POPL invites authors of conditionally accepted papers to submit supporting materials to artifact evaluation, and its AE tracks treat proof developments as the canonical artifact: Coq and Isabelle proof libraries are the track's own examples of reusable artifacts (POPL 2025/2026 AE pages, read 2026-07-08). A verification tool or evaluation harness can ride along, but at this venue the evaluator's core question is usually "does this mechanization actually prove what the paper claims?"
The badge criteria, proof-flavored
| Badge | Criterion (2025/2026 wording) | For a proof artifact this means |
|---|---|---|
| Artifacts Evaluated - Functional | Supports the paper's claims, documented well enough to run and validate | The development compiles from scratch and each paper theorem is checkable |
| Artifacts Evaluated - Reusable | Additionally packaged for reuse: docs, installation, portability, new examples, open licensing / issue tracker | Definitions and lemmas usable by other projects — and complete: no admit in Coq/Rocq, no sorry in Lean or Isabelle |
| Artifacts Available | Archived eternally on an archival repository (Zenodo, ACM DL) | A DOI-stamped snapshot; a lab GitHub URL is not archival |
The completeness rule is the sharpest tooth: a single admitted lemma demotes a "reusable" claim, and evaluators grep for it.
The axiom audit
Closing all goals is not enough — evaluators also ask what the development assumes. Print the axiom footprint of every top-level theorem and disclose it in the README:
# Rocq/Coq: full consistency check plus per-theorem assumptions
coqchk -silent -o MyDev.Main
echo "Print Assumptions main_soundness." | coqtop -l theories/Main.v
# Lean 4: elaborate and show axioms
lake build && echo '#print axioms Main.soundness' >> Scratch.lean
# Agda: flag unfinished holes and postulates
grep -rn "postulate" src/ ; agda --safe src/Everything.agda
Classical axioms, functional extensionality, or proof irrelevance are usually acceptable when declared; an undeclared axiom discovered by the evaluator is a credibility wound.
Package for an evaluator with one week and one laptop
- Pin the toolchain. Proof assistants break across versions: fix the Rocq/Coq
release via opam switch or the Lean toolchain via
lean-toolchain, and ship a container or VM wheremakejust works. - Map claims to files. A
CORRESPONDENCE.mdtable — paper theorem number, formal statement name, file, line — is the single highest-leverage document (popl-reproducibilitymaintains it from submission onward). - Budget honest times. Say that the full build takes 90 minutes and the
kick-the-tires target takes 5; give a
make quickthat checks one headline theorem. - State the deltas. Where the mechanization simplifies the paper (a smaller calculus, a restricted case), say so in the README before the evaluator finds out.
- Archive the exact evaluated snapshot on Zenodo for the Available badge, and keep developing in the live repository afterward.
Output format
[Artifact type] proof development / tool + proofs / tool only
[Completeness] admits: <n> sorries: <n> postulates: <n> (target: 0 declared-only)
[Axiom footprint] <per main theorem>
[Correspondence] <paper theorems mapped / total>
[Badge readiness] Functional: <y/n> Reusable: <y/n> Available: <DOI or missing>
Version History
- 9f86f09 Current 2026-07-19 17:17


