| avol[n, unmapped][n0] = mapped(buf), n0 < # avol, ∀ n. n < # avol ∧ avol[n].mapped? → is-aligned(# avol[n].data, EB_PAGE_SIZE) ⊦ n0 = n, is-aligned(# avol[n0].data, EB_PAGE_SIZE) |
avol[n0] = mapped(buf), n0 < # avol, ∀ n. n < # avol ∧ avol[n].mapped? → is-aligned(# avol[n].data, EB_PAGE_SIZE) ⊦ n0 = n, is-aligned(# buf, EB_PAGE_SIZE)
Used simplifier rules: ⊦ mapped(buf).data = buf; (s)% ⊦ m ≠ n → avol[n, aleb][m] = avol[m]; (s)