You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(proof-needs): reclassify 3 RMO 'Cat-D' holes as Cat-A non-theorems
Closer reading of every remaining Idris2 hole on the P1/P2 attack-list
reveals the original triage (and the P1 paragraph from earlier this
commit-series) was over-optimistic.
The 3 RMO holes I'd labelled Cat-D axiomatic placeholders are actually
provably false as stated:
* overwriteIrreversibleProof (RMO.idr:130) — conclusion
`recovery randomData = Nothing` is refuted by `recovery = Just`.
* hardwareEraseIrreversibleProof (RMO.idr:215) — type signature is
refuted by any non-empty `Unit -> Filesystem`.
* auditTrailCompletenessProof (RMO.idr:270) — conclusion is refuted
by `entries = []`.
These need theorem-shape redesign (per the #60 / #61 precedent), not
believe_me markers. Recorded as follow-up — recommend filing as #119
sub-issues with the explicit refutations.
Additionally:
* DecEq Path does NOT unblock the primitive-eq batch because it
transitively depends on DecEq String. Earlier claim that decEq gives
a free path-eq reflexivity lemma was wrong.
* Three closure paths for the primitive-eq blocker documented (axioms
via believe_me / Nat-interned paths / decEq-style reformulation),
each requiring owner sign-off.
* Frozen-hole list made explicit.
No source changes; documentation honesty only.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
-`cnoWriteSameContentProof` (`Operations.idr:254`) — restate to `equiv (writeFile p c fs) fs = True` rather than `=`, since `writeFile` re-heads the entries list (`addEntry ∘ removeEntry`). Refuted-as-stated.
78
-
- The remaining `appendOnlyAuditLogProof` from issue #119 Cat A is already closed via `Refl` in the live source — verify and remove from inventory if not done.
79
-
2.**Idris2 Cat-D documented axioms** (per issue #119 Cat D, RMO physical claims): mark `overwriteIrreversibleProof` + `hardwareEraseIrreversibleProof` as explicit axiomatic placeholders (NIST SP 800-88 + Shannon entropy; physical hardware claims). Idris2 0.8.0 has no `postulate` keyword, so use a labelled-`believe_me` with the axiom name embedded + CI explicit-list gate. Recommended single PR.
80
-
3.**Idris2 `auditTrailCompletenessProof`** (`RMO.idr:270`) — tractable AFTER (1) lands, since closure follows from the audit-log invariant (`isAppendOnly` chain ⇒ membership).
81
-
82
-
#### Priority 2 — known-blocked, need primitive-eq groundwork first
83
-
84
-
These were initially classified Cat-B (gap-per-PR) in issue #119 but the
85
-
2026-06-02 AM session found that **primitive String/Bits8 eq-reflexivity
86
-
in Idris2 0.8.0 only reduces on literals**, not opaque variables.
87
-
Closure requires either:
88
-
(a) a hand-rolled `Path` equality reflexivity lemma threaded through
89
-
`all`/`elem`, or (b) migration to a structural set-of-paths model that
90
-
sidesteps `==` on primitives:
74
+
#### Priority 1 — visible, tractable groundwork (no quick wins)
75
+
76
+
**Reclassification finding (2026-06-02 PM)**: closer reading of every
77
+
remaining hole shows there are **zero** "single-PR closeable" items left
78
+
that don't require either (a) primitive-eq groundwork or (b)
79
+
theorem-shape redesign. The original Cat-D classification of the 3 RMO
80
+
holes was wrong — none of them are sound axiom shapes.
81
+
82
+
**`cnoWriteSameContent`** (`Operations.idr:254`) — the signature
83
+
restate (`equiv` instead of `=`) was already landed in a prior pass.
84
+
The body is still blocked by primitive-eq: closure needs reasoning
85
+
about `(q == p)` on opaque `Path` values inside `elem`, which Idris2
86
+
0.8.0 only reduces on literals.
87
+
88
+
**3 ostensibly-Cat-D RMO holes are Cat-A non-theorems-as-stated**:
0 commit comments