| persistence_io_read_lebs#(LNUM, SIZE, LEBSIZE, AVOL; ; BUF, ERR) {ERR := ESUCCESS; BUF := mkbuf(SIZE * LEBSIZE); let N = 0 in while ERR = ESUCCESS ∧ N < SIZE do {/* (prepost-read-lebs : invariant N ≤ SIZE ∧ # BUF = SIZE * LEB_SIZE ∧ LNUM + SIZE ≤ # AVOL ∧ ebm-vol-inv(AVOL) ∧ mapped-full?(AVOL, LNUM, SIZE) ∧ (ERR = ESUCCESS ∨ ⌊ERR⌋ ) ∧ (ERR = ESUCCESS → subarray(BUF, 0, N * LEB_SIZE) = lebs(AVOL, LNUM, N)) wfbound SIZE - N) */; ebm_avol_read#(LNUM + N, 0, N * LEBSIZE, LEBSIZE, AVOL; BUF; ERR); N := N + 1} } |