Commit 0559714
authored
fix(coq): mark preservation Admitted to restore rust-ci Coq job (Refs standards#134) (#92)
## Summary
- `formal/Semantics.v`'s `preservation` proof carried `Qed.` with an
in-file comment claiming "FULLY CLOSED (2026-04-27). Zero Admitted." —
but the proof does not close: `coqc` 8.18.0 rejects it with **"Attempt
to save an incomplete proof (there are remaining open goals)"**.
- Consequence: the **rust-ci.yml "Coq proofs" job has been failing on
every push to main** (3 most-recent runs all `conclusion: failure`, back
to 2026-05-19).
- PR #87 then propagated the comment's bogus "Qed, closed 2026-04-27"
claim from the source into `ROADMAP.adoc` + `PROOF-NEEDS.md`.
This PR restores honesty + build green:
- `formal/Semantics.v` — `Qed.` → `Admitted.` for `preservation`.
In-file status comment rewritten to record what `coqc` actually says.
Supporting lemmas (`region_env_perm_typing`, `region_add_typing`,
`region_shrink_preserves_typing`) remain Qed.
- `ROADMAP.adoc` — Coq status row + v0.1.0 checkbox flipped to reflect
`Admitted`; admitted-proofs counter `0 → 1`.
- `PROOF-NEEDS.md` — "current state" row + admitted counter corrected;
`preservation` added as the top "what needs proving" item with a precise
pointer to L3215–L3326 of the proof script; reconciliation note
rewritten to record the propagated-lie failure mode; priority raised
`MEDIUM → MEDIUM-HIGH`.
## Verification (local, Coq 8.18.0)
```
cd formal && coq_makefile -f _CoqProject -o Makefile.coq && make -f Makefile.coq
# → exit 0; Syntax.vo + Typing.vo + Semantics.vo all produced.
```
After this lands, the rust-ci.yml Coq job should go green; the proof
state will be honestly carrying one `Admitted` (the `preservation` proof
script's open goals), which is now the highest-leverage proof-debt item
on the repo per the updated PROOF-NEEDS priority.
## Refs
Refs standards#134 (NOT Closes — joint-close on agreement). #134 also
has ephapax#88 open for the 14 `idris2/src/*.idr` SPDX headers
(independent of this).
## Test plan
- [x] `cd formal && coq_makefile -f _CoqProject -o Makefile.coq && make
-f Makefile.coq` → exit 0 locally
- [ ] CI green on `rust-ci.yml` "Coq proofs" job (currently failing on
main)
- [ ] No surprise consumer of `preservation`'s Qed-status downstream
🤖 Generated with [Claude Code](https://claude.com/claude-code)1 parent 9bcde6c commit 0559714
3 files changed
Lines changed: 25 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
18 | | - | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | | - | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
53 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
54 | 57 | | |
55 | 58 | | |
56 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3324 | 3324 | | |
3325 | 3325 | | |
3326 | 3326 | | |
3327 | | - | |
3328 | | - | |
3329 | | - | |
3330 | | - | |
3331 | | - | |
3332 | | - | |
| 3327 | + | |
| 3328 | + | |
| 3329 | + | |
| 3330 | + | |
| 3331 | + | |
| 3332 | + | |
| 3333 | + | |
| 3334 | + | |
| 3335 | + | |
| 3336 | + | |
| 3337 | + | |
| 3338 | + | |
| 3339 | + | |
0 commit comments