Commit af3f4b8
proofs(coq): assert single_op_reversible model gap (Qed → Admitted) (#48)
`proofs/coq/filesystem_composition.v::single_op_reversible` ended with
`Qed.` despite containing a mid-proof `admit.` in the OpRmdir branch.
Modern Coq (8.10+) treats this as an incomplete proof and refuses to
discharge it — meaning the file did not compile under `coqc` (the
`verify-proofs` job in `.github/workflows/validation.yml` is currently
disabled per `_CoqProject`).
Switching to `Admitted.` registers the missing branches as
Axiom-equivalents, so `Print Assumptions` on any downstream theorem now
correctly surfaces `single_op_reversible` as a dependency rather than
silently treating it as a closed fact.
While writing the docstring, also found that the OpDeleteFile branch
invoked `apply create_delete_file_reversible. assumption.`, which proves
the *forward* direction `delete_file (create_file fs) = fs`. The branch
needs the *reverse* `create_file (delete_file fs) = fs`, which is the
same model gap as OpRmdir (both rely on `default_perms` matching the
original). Now also explicitly `admit`.
Three closure paths documented in the docstring + in
`docs/PROOF-NARRATIVE.adoc § Assumption Registry`:
(A) strengthen `reversible` to require default_perms on the original
(B) add `OpMkdirWithPerms` / `OpCreateFileWithPerms` variants whose
`reverse_op` carries the perm snapshot
(C) `Filesystem × UndoLog` model
This PR does *not* attempt the closure — that requires the local Coq
build oracle to be working end-to-end. The composition.v file has
additional cascading proof-script errors at:
* line 271 — `operation_sequence_reversible`: stale rewrite direction
* line 327 — `reversible_creates_CNO`: `rewrite app_nil_r` targets a
subterm that simpl already
eliminated
* line 407 — `path_prefix_app_invert`: argument-shape mismatch
* line 365 — missing `Require Import Lia.` for the `lia` tactic
* file_content_operations.v:133 — `rewrite Hntype` fails to find
a matching subterm
These will need a coordinated proof-debt sweep with the build oracle
running locally. Filed at docs/PROOF-OPEN-FRONTIER.adoc § Tier S F-2.
Refs #42 (proof inventory).
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 6963886 commit af3f4b8
1 file changed
Lines changed: 43 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
183 | | - | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
184 | 221 | | |
185 | 222 | | |
186 | 223 | | |
| |||
191 | 228 | | |
192 | 229 | | |
193 | 230 | | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
| 231 | + | |
| 232 | + | |
200 | 233 | | |
201 | 234 | | |
202 | 235 | | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
208 | 239 | | |
209 | 240 | | |
210 | 241 | | |
| |||
0 commit comments