| avol[0] = mapped(buf1), buf = mkbuf(LEB_SIZE), err = ESUCCESS, err = err0, ebm-vol-inv(avol), is-encoded(sb0, buf1), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪buf := copy(avol[0].data + mkempbuf(LEB_SIZE - # avol[0].data), 0, buf, 0, LEB_SIZE); if err = ESUCCESS then let m = ? in decode_superblock#(0, buf, EB_PAGE_SIZE; sb, m; err)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → sb = sb0)), # avol = 0 |
avol[0] = mapped(buf1), buf = mkbuf(LEB_SIZE), err = err0, err = ESUCCESS, avol[0].mapped?, 0 < # avol, ebm-vol-inv(avol), is-encoded(sb0, buf1), 0 + LEB_SIZE ≤ #(avol[0].data + mkempbuf(LEB_SIZE - # avol[0].data)), 0 + LEB_SIZE ≤ # buf, LEB_SIZE ≥ # avol[0].data, ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪if err = ESUCCESS then let m = ? in decode_superblock#(0, copy(avol[0].data + mkempbuf(LEB_SIZE - # avol[0].data), 0, buf, 0, LEB_SIZE), EB_PAGE_SIZE; sb, m; err)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → sb = sb0)), # avol = 0
avol[0] = mapped(buf1), buf = mkbuf(LEB_SIZE), err = err0, err = ESUCCESS, ebm-vol-inv(avol), is-encoded(sb0, buf1), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ # avol = 0, (0 + LEB_SIZE ≤ #(avol[0].data + mkempbuf(LEB_SIZE - # avol[0].data)) ∧ 0 + LEB_SIZE ≤ # buf) ∧ (avol[0].mapped? ∧ 0 < # avol) ∧ LEB_SIZE ≥ # avol[0].data ∧ avol[0].mapped? ∧ 0 < # avol