| avol0 = avol, orphans0 = orphans, n < # avol, ebm-vol-inv(avol) ⊦ ⟪persistence_io_write_orphans#(n, EB_PAGE_SIZE, LEB_SIZE; orphans, avol; err)⟫ ( (err = ESUCCESS ∨ ⌊err⌋ ) ∧ ebm-vol-inv(avol) ∧ id○(avol, avol0, n) ∧ (err = ESUCCESS → avol[n].mapped? ∧ is-encoded-pad(orphans0, # orphans0, avol[n].data))) |
avol0 = avol, orphans0 = orphans, n < # avol, ebm-vol-inv(avol) ⊦ ⟪persistence_io_write_orphans#(n, EB_PAGE_SIZE, LEB_SIZE; orphans, avol; err)⟫ ( (err = ESUCCESS ∨ ⌊err⌋ ) ∧ ebm-vol-inv(avol) ∧ id○(avol, avol0, n) ∧ (err = ESUCCESS → avol[n].mapped? ∧ is-encoded-pad(orphans0, # orphans0, avol[n].data)))
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic