| # buf = LEB_SIZE, LEB_SIZE = n0 + m0, avols[v][m] = mapped(buf, m0), m1 < n0, m < # avols[v], is-aligned(m0, EB_PAGE_SIZE), range=(buf, m0, emptyleb, 0, n0), v ∈ avols, m0 ≤ LEB_SIZE ⊦ buf[m1 + m0] = empty |
⊦ range=(buf, n0, buf0, n1, m) ↔ n0 + m ≤ # buf ∧ n1 + m ≤ # buf0 ∧ (∀ n. n < m → buf[n0 + n] = buf0[n1 + n])
# buf = LEB_SIZE, LEB_SIZE = n0 + m0, avols[v][m] = mapped(buf, m0), m < # avols[v], m1 < n0, is-aligned(m0, EB_PAGE_SIZE), v ∈ avols, m0 ≤ LEB_SIZE, m0 + n0 ≤ # buf, 0 + n0 ≤ # emptyleb, ∀ n. n < n0 → buf[m0 + n] = (emptyleb)[0 + n] ⊦ buf[m1 + m0] = empty
Used terms: n0, 0, emptyleb, m0, buf