Claim ยท cairn_atproto 0.3.0
cairn_atproto^28 The cursor is never lost
An invariant of cairn_atproto 0.3.0.
- Id
cairn_atproto^28- Kind
- invariant
- Reads as
- proved
- Version
- 0.3.0
What it says
A paged list with items that isn't at its end holds a cursor (where its next page starts), and the empty list does trivially: appending a page, a head page, a load-more's or refresh's answer and starting either keep it.
Evidence
| proved | init | CairnAtproto.ActClaims.pagedCursor.init |
| proved | step | CairnAtproto.ActClaims.pagedCursor.step |
| proved | receive | CairnAtproto.ActClaims.pagedCursor.receive |
| proved | reachable | CairnAtproto.ActClaims.pagedCursor.reachable |
| proved | reachableAll | CairnAtproto.ActClaims.pagedCursor.reachableAll |
| fuzzed | Not shown yet: the claim-driven fuzzer held it in every random sequence (docs/fuzz.md). A CI step will publish it (#95). | |
| tested | Not shown yet: the running app matched the model at every step that exercised it (docs/conformance.md). A CI step will publish it (#95). | |
Where it's defined
- Declaration
CairnAtproto.ActClaims.pagedCursor- Module
CairnAtproto.ActClaims- Source
lean/CairnAtproto/ActClaims.lean:190atv0.3.0- Machine
CairnAtproto.ActClaims.machine- Statement
CairnAtproto.ActClaims.pagedCursor.holds- Statement hash
923f8819af6fa289
Ledger
cairn_atproto^28 is active in this version's claims.lock, statement 923f8819af6fa289. An id never moves or changes meaning.