Commit ecda96e
committed
proof(SafeJson): drop unnecessary
Aligns this branch with the verified-minimal change set (matching the fix
on #138's branch). Supersedes the previous commit, which marked
getPath/getSegment `total` and claimed that annotation was required for
singleKeyPath to discharge.
That claim was wrong. Verified against a clean Idris2 0.8.0 + contrib
toolchain: with appendLengthInc fixed, SafeJson.Proofs type-checks with
getPath/getSegment left `covering` (the module default) — 0 errors across
all five SafeJson modules. The covering annotation does not block the
clause-level reduction singleKeyPath relies on, so no totality change is
needed. Access.idr is therefore reverted to its main state (untouched).
The only substantive fix is the one this branch actually needs:
appendLengthInc used `lengthSnoc arr v`, but Data.List.Equalities.lengthSnoc
is element-first (`lengthSnoc x xs`); `lengthSnoc arr v` fails to
type-check under Idris2 0.8.0 contrib and blocks the whole module.
Corrected to `lengthSnoc v arr`. Proof comments for singleKeyPath and
anyMatchesTAny corrected to match (no false "they are total" claim), and
stale /tmp/ scratch-path references removed.
No believe_me / postulate / idris_crash / assert_total introduced.
Refs #138, #127, proven#90 #107 #119.
https://claude.ai/code/session_01MN5vzRR4MK2dkDNaHqqRDytotal change; keep minimal appendLengthInc fix1 parent c63abf8 commit ecda96e
2 files changed
Lines changed: 21 additions & 41 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
| 96 | + | |
| 97 | + | |
105 | 98 | | |
106 | 99 | | |
107 | 100 | | |
| |||
112 | 105 | | |
113 | 106 | | |
114 | 107 | | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
| 108 | + | |
120 | 109 | | |
121 | | - | |
122 | 110 | | |
123 | 111 | | |
124 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | | - | |
| 205 | + | |
| 206 | + | |
206 | 207 | | |
207 | 208 | | |
208 | 209 | | |
| |||
221 | 222 | | |
222 | 223 | | |
223 | 224 | | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
242 | 234 | | |
243 | 235 | | |
244 | 236 | | |
| |||
338 | 330 | | |
339 | 331 | | |
340 | 332 | | |
341 | | - | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | | - | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
348 | 340 | | |
349 | 341 | | |
350 | 342 | | |
| |||
0 commit comments