| avol[n] = mapped(buf0), n < # avol, # buf0 ≤ LEB_SIZE, ∀ n0. n0 < # avol ∧ avol[n0].mapped? → # avol[n0].data ≤ LEB_SIZE ∧ (n0 ≠ n → is-aligned(# avol[n0].data, EB_PAGE_SIZE)), ∀ n0. n0 < # avol ∧ avol[n, mapped(buf)][n0].mapped? → # avol[n, mapped(buf)][n0].data ≤ LEB_SIZE ∧ is-aligned(# avol[n, mapped(buf)][n0].data, EB_PAGE_SIZE) ⊦ # buf ≤ LEB_SIZE ∧ is-aligned(# buf, EB_PAGE_SIZE) |
avol[n] = mapped(buf0), n < # avol, # buf0 ≤ LEB_SIZE, ∀ n0. n0 < # avol ∧ avol[n, mapped(buf)][n0].mapped? → # avol[n, mapped(buf)][n0].data ≤ LEB_SIZE ∧ is-aligned(# avol[n, mapped(buf)][n0].data, EB_PAGE_SIZE), ∀ n0. n0 < # avol ∧ avol[n0].mapped? → # avol[n0].data ≤ LEB_SIZE ∧ (n0 ≠ n → is-aligned(# avol[n0].data, EB_PAGE_SIZE)) ⊦ # buf ≤ LEB_SIZE ∧ is-aligned(# buf, EB_PAGE_SIZE)