Skip to content

Migrate the proofs to Rocq 9.2; keep the published Coq 8.20.1 version in coq-legacy/ - #1

Merged
probatur merged 1 commit into
mainfrom
rocq-migration
Oct 21, 2026
Merged

probatur merged 1 commit into
mainfrom
rocq-migration

Conversation

@probatur

@probatur probatur commented Oct 6, 2026

Copy link
Copy Markdown
Owner

What changes

  • coq-legacy/: the Coq 8.20.1 development exactly as published. Its git tree is identical to main:coq. It keeps its own one-command check, docker build -f Dockerfile.legacy ., which runs check-legacy.sh in the same digest-pinned coqorg/coq:8.20.1 image as before.

  • coq/: the same development on Rocq 9.2. The changes are imports only:

    • From Coq Require ... becomes From Stdlib Require ...;
    • fully qualified Coq.* stdlib paths become Stdlib.*.

    No definition, lemma, theorem statement or proof changed.

  • check.sh / Dockerfile:

    • tools: rocq makefile, rocqchk, rocq c;
    • base image: rocq/rocq-prover:9.2, pinned by digest;
    • the same summary checks as before.
  • CI: two jobs, rocqchk (Rocq) and coqchk-legacy (Coq 8.20.1).

  • README: a section on the migration and the legacy version.

Verification (local)

  • docker build . (Rocq 9.2): OK: all checks passed, Axioms: <none>, no type-in-type, no unsafe fixpoints, no assumed positivity.
  • docker build -f Dockerfile.legacy . (Coq 8.20.1): OK: all checks passed, with the same coqchk summary.
  • diff -r coq-legacy coq: every differing line is an import line.

🤖 Generated with Claude Code

https://claude.ai/code/session_019VctApPTf4Vkbc7JRkGiXb


Generated by Claude Code

… verbatim in coq-legacy/

- coq-legacy/: the Coq 8.20.1 development exactly as published (tree identical to main:coq), checked by
  check-legacy.sh / Dockerfile.legacy in the same digest-pinned coqorg/coq:8.20.1 image.
- coq/: the Rocq 9.2 version. Changes are imports only (From Coq -> From Stdlib, Coq.* -> Stdlib.* paths);
  no definition, statement or proof changed.
- check.sh / Dockerfile: rocq makefile, rocqchk, rocq c; rocq/rocq-prover:9.2 pinned by digest.
- CI: two jobs, the Rocq check and the legacy Coq check.
- README: section on the migration and the legacy version.

Both checks pass locally: rocqchk and coqchk each report no axioms, no type-in-type, no unsafe
fixpoints, no assumed positivity.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019VctApPTf4Vkbc7JRkGiXb
@probatur
probatur merged commit 8a3385e into main Oct 21, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants