| avol[n] = mapped(buf0), n < # avol, ∀ 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? → is-aligned(# avol[n, mapped(buf)][n0].data, EB_PAGE_SIZE)) ↔ is-aligned(# buf, EB_PAGE_SIZE) |
avol[n] = mapped(buf0), n < # avol, ∀ 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? → is-aligned(# avol[n, mapped(buf)][n0].data, EB_PAGE_SIZE) ⊦ is-aligned(# buf, EB_PAGE_SIZE)
avol[n] = mapped(buf0), n < # avol, is-aligned(# buf, EB_PAGE_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? → is-aligned(# avol[n, mapped(buf)][n0].data, EB_PAGE_SIZE)