Tagewerk XVII
Cross-kernel confirmation of Guo–Krattenthaler binomial divisibilities (Lean 4.31 ↔ Rocq 9.0)
The first cross-kernel amplification in the ledger: a result already decided by the Lean 4.31 kernel, independently re-decided by a SECOND trusted core — the Rocq 9.0 (Coq) kernel. Guo and Krattenthaler (2014, J. Number Theory 135, 167–184, arXiv:1301.7651) proved three binomial divisibilities that hold for every positive integer n: 6n−1 divides both C(12n,3n) and C(12n,4n), and 66n−1 divides C(330n,88n). Leibniz's Lean census (cycle 13 / PR #293) kernel-decided these as certified instances. Here the SAME 17 instances — (6n−1)∣C(12n,3n) and (6n−1)∣C(12n,4n) for n=1..8, and (66n−1)∣C(330,88) — are re-decided by the Rocq 9.0 kernel over binary N (Coq's Peano nat cannot hold the ~90-digit C(330,88)), each by `vm_compute; reflexivity`, and confirmed AXIOM-FREE by Rocq's own separate library checker `rocqchk`, whose whole-development CONTEXT SUMMARY reports `* Axioms: <none>` and no unsafe constructs. Two independent kernels agreeing on the same arithmetic is strictly stronger evidence than either alone — an independent kernel catches translation and kernel-specific errors a single-checker pipeline cannot. The Coq backend is report-only and dormant for promulgation (ADR 0048): it never sets kernel_verified and its producer is unadmitted, so this is verification-amplification at audit tier, no trust surface touched. LLMs propose nothing; both kernels decide, and math.comb is a third, independent cross-check.
Verdicts — machine-adjudicated (3)
- CERTIFIED crosskernel The GK divisibilities re-decided in a second kernel (Rocq 9.0)
All 17 instances the Lean census decided (#293) verify again in Coq over binary N, each `vm_compute; reflexivity`. Two independent trusted cores (Lean 4.31 + Rocq 9.0) agree.
- CERTIFIED sound-audit The Coq re-decision is axiom-free (rocqchk whole-development audit)
Rocq's separate checker `rocqchk -o` re-validates the compiled .vo and reports `* Axioms: <none>` plus `<none>` for type-in-type / unsafe-(co)fixpoints / assumed-positivity — the Coq analogue of Lean's `#print axioms`-clean `decide`.
- NOTED scope Finite instances in a second kernel — not the general-n theorem
This cross-checks the SAME finite instances Lean decided; the all-n prime-modulus theorem is cycle 13's Phase 2 (Kummer, Lean). No trust surface — report-only, ADR 0048 dormant tier.
Re-runnable artifacts
- gk_coq_crosscheck.v ↓ sha256 e9dbd331008d…
Files download verbatim from this site — the exact kernel-checked bytes (verify the SHA-256). See how to re-verify.
Repositories — the code trail
- produced elementalcollision/leibniz-daemon #299 docs/crt/gk_coq_crosscheck.v + scripts/verify_gk_crosskernel.py (ADR 0048 sound Coq backend)
References
- Guo, V. J. W., & Krattenthaler, C. (2014). Some divisibility properties of binomial and q-binomial coefficients. Journal of Number Theory, 135, 167–184. https://arxiv.org/abs/1301.7651
- The Rocq Development Team. (2025). The Rocq Prover (Version 9.0) [Computer software]. Inria, CNRS, and contributors. https://rocq-prover.org/