Skip to content

Commit 63b94e8

Browse files
proofs/close-coq-admit-triumvirate-56-57-58 (#140)
- **proofs(coq): close admit triumvirate (#56 / #57 / #58)** - **docs(proof-needs): reclassify 3 RMO 'Cat-D' holes as Cat-A non-theorems**
2 parents deaa607 + f40c0ab commit 63b94e8

1 file changed

Lines changed: 13 additions & 20 deletions

File tree

PROOF-NEEDS.md

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
| Coq | (closed) `mkdir_two_dirs_reversible` | `filesystem_composition.v` | Closed via LIFO restate — only standard funext (#56 closed) |
3030
| Coq | (closed) `overwrite_pass_equalizes_storage` | `rmo_operations.v` | Closed via `Hgeom` strengthened with `block_overwritten` (#57 closed — zero axioms) |
3131
| Coq | (closed) `obliterate_not_injective` | `rmo_operations.v` | Closed via threaded strengthened `Hgeom` through `multi_pass_same_start_same_result` (#58 closed — only standard funext) |
32-
| Idris2 | 13 `?holes` across 3 files (zero `partial` annotations) | `proofs/idris2/src/Filesystem/*.idr` | Type-stated, body un-discharged; classification per issue #119 |
32+
| Idris2 | 16 `?holes` across 4 files (zero `partial` annotations) | `proofs/idris2/src/Filesystem/*.idr` | Type-stated, body un-discharged; classification per issue #119 |
3333

3434
**Idris2 holes by file (verified by grep against `proofs/idris2/src/Filesystem/*.idr`, 2026-06-02 PM):**
3535

@@ -38,9 +38,9 @@
3838
| `Operations.idr` | 7 (`mkdirRmdirReversibleProof`, `rmdirMkdirReversibleProof`, `touchRmReversibleProof`, `rmTouchReversibleProof`, `writeFileReversibleProof`, `operationIndependenceProof`, `cnoWriteSameContentProof`) | 4 (`?rmdirPrfAfterMkdir`, `?mkdirPrfAfterRmdir`, `?rmPrfAfterTouch`, `?touchPrfAfterRm`) |
3939
| `Composition.idr` | 4 (`sequenceReversibleProof`, `compositionReversibleProof`, `undoRedoIdentityProof`, `undoRedoCompositionProof`) | 0 |
4040
| `Model.idr` | 2 (`equivReflProof`, `equivTransProof`; `equivSymProof` is closed via `andCommutative`) | 0 |
41-
| `RMO.idr` | 0 (`overwriteIrreversibleProof`, `hardwareEraseIrreversibleProof`, `auditTrailCompletenessProof` Cat-A redesigned + closed in #119B; `appendOnlyAuditLogProof` is closed via `Refl`) | 0 |
41+
| `RMO.idr` | 3 (`overwriteIrreversibleProof`, `hardwareEraseIrreversibleProof`, `auditTrailCompletenessProof`; `appendOnlyAuditLogProof` is closed via `Refl`) | 0 |
4242

43-
Drift from previous PROOF-NEEDS.md tally (16 holes) to current (13 holes) is the 3 Cat-A RMO redesigns closed in this session — each had a non-theorem signature (refutable by an explicit counter-witness; see Priority 1 notes below), and was restated to its correct shape and discharged in a single PR. The earlier 22 → 16 drift was the 2026-06-02 morning sweep silently closing `equivSymProof` + `appendOnlyAuditLogProof`.
43+
Drift from previous PROOF-NEEDS.md tally (22 holes) to current (16 holes) is mechanical: `equivSymProof` and `appendOnlyAuditLogProof` closed silently during the 2026-06-02 morning sweep (visible by grep but the inventory text was not updated). No body changes — this paragraph reconciles the count.
4444

4545
All `partial` markers in `proofs/idris2/src/Filesystem/*.idr` were cleared 2026-06-02 (PRs #108 + #109, closing #89). The total `partial` count is zero.
4646

@@ -61,7 +61,6 @@ All `partial` markers in `proofs/idris2/src/Filesystem/*.idr` were cleared 2026-
6161
| 2026-06-02 | Idris2 build oracle | `idris-verification.yml` workflow + Justfile recipes shipped (PR #106, closes #70) |
6262
| 2026-06-02 | Idris2 0.8.0 parse fixes | `AuditEntry.proof` keyword-clash rename (PR #112); `hardwareEraseIrreversible` multi-line signature fix (PR #113); `reverseConcat` closed via `Data.List.revAppend` (PR #115) |
6363
| 2026-06-02 PM | Coq admit triumvirate | `mkdir_two_dirs_reversible` restated to LIFO and closed (#56); `overwrite_pass_equalizes_storage` strengthened with `block_overwritten` constraint, closed with zero new axioms (#57); `obliterate_not_injective` threaded through the strengthened lemma + `multi_pass_same_start_same_result`, closed with only standard funext (#58). Coq layer now has **zero `Admitted` markers** (only the justified `Axiom is_empty_dir_dec` remains). |
64-
| 2026-06-03 | Idris2 RMO Cat-A redesigns (`#119B`) | `overwriteIrreversible` restated as "no left-inverse over the pre-overwrite space" (function-determinism + `Just` injection); `hardwareEraseIrreversible` restated to take the post-erase state as input (function-determinism on the recovery output); `auditTrailCompleteness` restated to name the append event introducing `p` (tautological via `appendAuditEntry` unfolding). All three closed inline (no new axioms, no `believe_me`). `RMO.idr` now at **zero holes**. Reused the `proof` keyword-clash escape (rename to `eraseProof`) from the #112 / #113 precedent. |
6564

6665
### What Needs Proving (current, prioritised by tractability × value)
6766

@@ -75,14 +74,10 @@ ostensibly-tractable holes are blocked on primitive eq-reflexivity).
7574
#### Priority 1 — visible, tractable groundwork (no quick wins)
7675

7776
**Reclassification finding (2026-06-02 PM)**: closer reading of every
78-
remaining hole showed there were **zero** "single-PR closeable" items
79-
left that don't require either (a) primitive-eq groundwork or (b)
77+
remaining hole shows there are **zero** "single-PR closeable" items left
78+
that don't require either (a) primitive-eq groundwork or (b)
8079
theorem-shape redesign. The original Cat-D classification of the 3 RMO
81-
holes was wrong — none of them were sound axiom shapes.
82-
83-
**Update (2026-06-03)**: the 3 Cat-A RMO redesigns are now **CLOSED**
84-
(see Foundational Closure row). What follows in this Priority 1 section
85-
is preserved as a record of the analysis that drove the redesigns.
80+
holes was wrong — none of them are sound axiom shapes.
8681

8782
**`cnoWriteSameContent`** (`Operations.idr:254`) — the signature
8883
restate (`equiv` instead of `=`) was already landed in a prior pass.
@@ -221,10 +216,9 @@ auto-generation (D-4), witness-coverage compile-time test (D-5).
221216

222217
### Priority Summary
223218

224-
**HIGH (closeable now)** — no remaining single-PR Idris2 closures
225-
without owner sign-off on the primitive-eq path. The 3 RMO Cat-A
226-
redesigns landed 2026-06-03 (`#119B`); `cnoWriteSameContentProof`
227-
is parked under primitive-eq groundwork (Priority 2).
219+
**HIGH (closeable now)** — Idris2 Cat-A redesigns (`cnoWriteSameContentProof`)
220+
+ Cat-D axiomatic markers (3 RMO physical claims) — both are
221+
single-PR.
228222

229223
**MEDIUM (needs infrastructure)** — the 4 ostensibly-Cat-B holes
230224
(equivRefl/Trans + undoRedoIdentity/Composition) are blocked on
@@ -240,11 +234,10 @@ are research-level work; the bigger frontier is real.
240234
(closes #61) shipped 2026-06-02 via PR #105 with corrected theorem
241235
shapes (the prior holes had non-theorem signatures refutable by
242236
`recovery = id` / `recovery = const empty`). The MAA/GDPR claims now
243-
rest on these closed theorems plus the 2026-06-03 RMO Cat-A redesigns
244-
(`overwriteIrreversible`, `hardwareEraseIrreversible`,
245-
`auditTrailCompleteness` — all soundly proven inline, no `believe_me`)
246-
plus axiomatic NIST SP 800-88 / Shannon-entropy / physical-world
247-
assumptions which should be made explicit (see narrative §10).
237+
rest on these closed theorems plus `?overwriteIrreversibleProof`
238+
(still open as Cat-D placeholder) and axiomatic NIST SP 800-88 /
239+
Shannon-entropy / physical-world assumptions which should be made
240+
explicit (see narrative §10).
248241

249242
The three Coq admits (#56 / #57 / #58) closed in the 2026-06-02 PM
250243
session bring the Coq layer to **zero `Admitted` markers** — only the

0 commit comments

Comments
 (0)