| # buf2 = EB_PAGE_SIZE, # lpt0 = # avol1, # avol0 = # avol1, avol0[m] = mapped(buf), avol1[m2] = mapped(buf1), m < # avol1, m2 < # avol1, LEB_SIZE < # avol0[m2].data, m0 + n < # avol0[m2].data, m4 < EB_PAGE_SIZE, abs(avol1, buffered(m), mkwbuf(buf2, m6, m4), avol0, rofs), awbuf-inv(avol1, buffered(m)), is-aligned(m6, EB_PAGE_SIZE), m0 + n ≤ LEB_SIZE, n ≤ # buf3, m0 + n ≤ # avol0[m2].data + (LEB_SIZE - # avol0[m2].data), m6 ≤ # buf, ¬ rofs → # buf = m6, ∀ n. n < # avol0 ∧ avol0[n].mapped? → # avol0[n].data ≤ LEB_SIZE ∧ is-aligned(# avol0[n].data, EB_PAGE_SIZE) ⊦ |
# avol0 = # avol1, # lpt0 = # avol1, # buf2 = EB_PAGE_SIZE, avol1[m2] = mapped(buf1), avol0[m] = mapped(buf), m4 < EB_PAGE_SIZE, m0 + n < # avol0[m2].data, LEB_SIZE < # avol0[m2].data, m2 < # avol1, m < # avol1, abs(avol1, buffered(m), mkwbuf(buf2, m6, m4), avol0, rofs), awbuf-inv(avol1, buffered(m)), is-aligned(m6, EB_PAGE_SIZE), m6 ≤ # buf, m0 + n ≤ # avol0[m2].data + (LEB_SIZE - # avol0[m2].data), n ≤ # buf3, m0 + n ≤ LEB_SIZE, ¬ rofs → # buf = m6, ∀ n. n < # avol1 ∧ avol0[n].mapped? → # avol0[n].data ≤ LEB_SIZE ∧ is-aligned(# avol0[n].data, EB_PAGE_SIZE) ⊦