Commit 8084401
committed
The specification does not collect failure names
`legalFailures` had no business in properties.lean. It returned a
`List String` — a diagnostic, useful when a sweep goes red — and I
defended it as a design principle when it is a runtime concern. The
specification says what `Legal` is. Reporting is the implementer's
problem, and the harness's.
properties.lean legalAt is the fold, directly:
catalogue.all fun l => match l.property with
| .state f => f now a && f now b
| .trans f => f now a b
properties-check failingNames, three lines, where debugging happens
What made this cheap is unchanged and is the actual portable part: each
entry carries its `name` as data, so anyone — Go, TypeScript, Verus, a
harness in this repo — can collect them in three lines. The
specification does not have to provide the facility to make the names
useful; it has to carry the names.
Everything builds; the sweeps pass; report and transReport still return
[] over the battery.1 parent a129944 commit 8084401
3 files changed
Lines changed: 35 additions & 31 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1266 | 1266 | | |
1267 | 1267 | | |
1268 | 1268 | | |
1269 | | - | |
1270 | | - | |
1271 | | - | |
1272 | | - | |
1273 | | - | |
1274 | | - | |
1275 | | - | |
1276 | | - | |
1277 | | - | |
1278 | | - | |
1279 | | - | |
1280 | | - | |
1281 | | - | |
1282 | | - | |
1283 | | - | |
1284 | | - | |
1285 | | - | |
1286 | | - | |
1287 | | - | |
1288 | | - | |
1289 | | - | |
1290 | | - | |
1291 | | - | |
1292 | | - | |
1293 | | - | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
1294 | 1286 | | |
1295 | 1287 | | |
1296 | | - | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
| 1291 | + | |
1297 | 1292 | | |
1298 | | - | |
| 1293 | + | |
1299 | 1294 | | |
1300 | 1295 | | |
1301 | 1296 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
71 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
72 | 81 | | |
73 | | - | |
| 82 | + | |
74 | 83 | | |
75 | 84 | | |
76 | 85 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
0 commit comments