Commit 95868b9
docs(coq): correct stale "only ONE case" claim in preservation PROOF STATUS (#104)
## Summary
Docs-only correction to the `PROOF STATUS [preservation]` comment in
`formal/Semantics.v` (lines 3328+). PR #92 honestly marked preservation
`Admitted.` after `coqc` rejected the `Qed.`, but the earlier in-file
comment at line 3269 continued to claim **"Only ONE case remains open:
S_Region_Step + T_Region_Active"** — that's the *language-design*
bottleneck, not the actual goal count.
## Diagnostic
```bash
# Replace `Admitted.` with `Qed.` at line 3327; insert before it:
# all: match goal with |- ?G => idtac G end.
$ coqc -Q . Ephapax Semantics.v 2>&1 | grep '^REMAINING' | wc -l
40
```
40 goals remain open across many type-shape variants:
```
exists G_out, R'; G |- e' : T0 -| G_out (many)
exists G_out, R'; G |- e' : TBase TUnit -| G_out
exists G_out, R'; G |- e' : TBase TBool -| G_out
exists G_out, R'; G |- e' : TBase TI32 -| G_out
exists G_out, R'; G0 |- e' : TString r0 -| G_out
exists G_out, R'; G0 |- e' : TFun T1 T2 -| G_out
exists G_out, R'; G0 |- e' : TProd T1 T2 -| G_out
exists G_out, R'; G0 |- e' : TSum T1 T2 -| G_out
exists G_out, R'; G0 |- e' : TBorrow T -| G_out
exists G_out, R'; G0 |- e' : TProd T T -| G_out
```
## Root cause
These are mostly **congruence-case failures**, not the documented
`S_Region_Step` language-design item. The proof script's IH-application
pattern picks **ANY** `has_type` hypothesis in scope:
```coq
match goal with
| [ IH : forall _ _ _, _ -> exists _, _ |- _ ] =>
match goal with
| [ H : has_type _ _ _ _ _ |- _ ] =>
destruct (IH _ _ _ H) ...
```
With multiple inversion-introduced `has_types` (one per typing premise
of each compound expression), it often picks the wrong one.
`eassumption` then fails silently inside `try solve [...]`.
## What this PR does
Updates the `PROOF STATUS` comment block at line 3328+ to:
- Quote the ~40 goal count
- List the type-shape variants
- Explain why the existing `try solve [...]` scaffolding fails (pattern
picks wrong `has_type`)
- Document that closing these goals is **multi-day proof engineering**,
separate from the S_Region_Step language-design item
No proof change. `Admitted.` remains; `Qed.`-proven supporting lemmas
are still `Qed.`.
## Verification
```
$ coqc -Q . Ephapax Semantics.v
(builds clean, ~1 minute)
```
## Refs
- `ephapax#92` (honest framing of preservation Admitted)
- `standards#124` (proof-debt audit epic)
## Test plan
- [x] `coqc -Q . Ephapax Semantics.v` builds clean
- [x] No proof tactic changed; only the comment block at lines 3328+
- [ ] CI green
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent dc46d93 commit 95868b9
2 files changed
Lines changed: 42 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3326 | 3326 | | |
3327 | 3327 | | |
3328 | 3328 | | |
3329 | | - | |
3330 | | - | |
3331 | | - | |
3332 | | - | |
3333 | | - | |
3334 | | - | |
3335 | | - | |
| 3329 | + | |
| 3330 | + | |
| 3331 | + | |
| 3332 | + | |
| 3333 | + | |
| 3334 | + | |
| 3335 | + | |
| 3336 | + | |
| 3337 | + | |
| 3338 | + | |
| 3339 | + | |
| 3340 | + | |
| 3341 | + | |
| 3342 | + | |
| 3343 | + | |
| 3344 | + | |
| 3345 | + | |
| 3346 | + | |
| 3347 | + | |
| 3348 | + | |
| 3349 | + | |
| 3350 | + | |
| 3351 | + | |
| 3352 | + | |
| 3353 | + | |
| 3354 | + | |
| 3355 | + | |
| 3356 | + | |
| 3357 | + | |
| 3358 | + | |
| 3359 | + | |
| 3360 | + | |
| 3361 | + | |
| 3362 | + | |
| 3363 | + | |
| 3364 | + | |
| 3365 | + | |
| 3366 | + | |
| 3367 | + | |
| 3368 | + | |
3336 | 3369 | | |
3337 | 3370 | | |
3338 | 3371 | | |
3339 | | - | |
| 3372 | + | |
0 commit comments