Commit 93249ff
committed
proofs(idris2): close 3 Cat-A RMO non-theorem holes (#119B) — RMO.idr at zero holes
Closes the last 3 Idris2 `?holes` in `proofs/idris2/src/Filesystem/RMO.idr`
by restating each non-theorem signature to its correct shape and discharging
it inline. No new axioms, no `believe_me`. Mirrors the #60 / #61 / #119A
"non-theorem redesign" precedent.
* `overwriteIrreversibleProof` — prior signature
`(recovery : FileContent -> Maybe FileContent) -> recovery randomData = Nothing`
was refuted by `recovery = const (Just orig)`. Restated as
"no recovery function can be a universal inverse over the pre-overwrite
space" — given two distinct originals, any recovery yields a single
`Maybe FileContent`, which cannot equal both `Just orig1` and `Just orig2`.
Closed via `Just`-injection on `trans (sym eq1) eq2`.
* `hardwareEraseIrreversibleProof` — prior signature
`HardwareEraseProof -> (Unit -> Filesystem) -> Void` was refuted by
`\() => empty`. Restated to take the post-erase state as input and
witnesses non-injectivity via function-determinism on `recovery postErase`.
Closed via `trans (sym eq1) eq2`.
* `auditTrailCompletenessProof` — prior signature
`(entries : List AuditEntry) -> (p : Path) -> ObliterationProof p
-> Elem p (map AuditEntry.path entries)`
was refuted by `entries = []`. Restated to name the append event that
introduces `p` into the log. Closed via a `where`-bound `elemAtTail`
lemma (induction on the prefix) + `appendAuditEntry` unfolding.
Verification: clean `idris2 --build valence-shell.ipkg` succeeds; grep
confirms `RMO.idr` is at **zero `?holes`**. PROOF-NEEDS.md reconciled:
top-level Idris2 hole count 16 → 13; Foundational Closure history entry
added; Priority Summary updated. Frontier now 13 holes (Operations.idr 7
top + 4 sub; Composition.idr 4; Model.idr 2) — all in Priority 2
"frozen pending primitive-eq path decision" or undoRedo Cat-A redesign.
Hits the #112/#113 escape: `proof` is reserved in Idris2 0.8.0, so the
`HardwareEraseProof` formal parameter is named `eraseProof`.
Refs #1191 parent a10005d commit 93249ff
2 files changed
Lines changed: 96 additions & 39 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
64 | 65 | | |
65 | 66 | | |
66 | 67 | | |
| |||
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
77 | | - | |
78 | | - | |
| 78 | + | |
| 79 | + | |
79 | 80 | | |
80 | | - | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
81 | 86 | | |
82 | 87 | | |
83 | 88 | | |
| |||
197 | 202 | | |
198 | 203 | | |
199 | 204 | | |
200 | | - | |
201 | | - | |
202 | | - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
203 | 209 | | |
204 | 210 | | |
205 | 211 | | |
| |||
215 | 221 | | |
216 | 222 | | |
217 | 223 | | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
222 | 229 | | |
223 | 230 | | |
224 | 231 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
| 113 | + | |
113 | 114 | | |
114 | | - | |
115 | | - | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
116 | 125 | | |
117 | 126 | | |
118 | 127 | | |
119 | | - | |
120 | 128 | | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | 129 | | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
131 | 139 | | |
132 | 140 | | |
133 | 141 | | |
| |||
205 | 213 | | |
206 | 214 | | |
207 | 215 | | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
212 | 229 | | |
213 | | - | |
214 | | - | |
215 | | - | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
216 | 242 | | |
217 | 243 | | |
218 | 244 | | |
| |||
259 | 285 | | |
260 | 286 | | |
261 | 287 | | |
262 | | - | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
263 | 302 | | |
264 | 303 | | |
265 | | - | |
| 304 | + | |
| 305 | + | |
266 | 306 | | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
0 commit comments