| # buf3 = n4 + n2, # avol0 = # avol1, # lpt0 = # avol1, # buf2 = EB_PAGE_SIZE, (n0 + # buf4) + n3 + n2 = LEB_SIZE, n1 + n5 = n4 + n2, avol0[m2] = mapped(buf4), avol1[m2] = mapped(buf4 + subarray(buf2, 0, n2 + n0)), n < n2 + n3, n < n2, m2 < # avol1, n2 + n0 < EB_PAGE_SIZE, n0 < EB_PAGE_SIZE, n < n2 + n4, n < n4 + n2, n < n1, n0 + n < # subarray(buf2, 0, n2 + n0) + # mkempbuf(n3), awbuf-inv(avol1, buffered(m2)), ebm-vol-inv(avol0), is-aligned(# buf4, EB_PAGE_SIZE), n1 ≤ n2 + n3, # buf4 ≤ LEB_SIZE, n2 ≤ n1 ⊦ EB_PAGE_SIZE = 1, buf2[n0 + n] = (n0 + n < # subarray(buf2, 0, n2 + n0) ⊃ subarray(buf2, 0, n2 + n0)[n0 + n];mkempbuf(n3)[n0 + n - # subarray(buf2, 0, n2 + n0)]), n0 = 0 |
# buf2 = EB_PAGE_SIZE, # lpt0 = # avol1, # avol0 = # avol1, # buf3 = n4 + n2, n1 + n5 = n4 + n2, (n0 + # buf4) + n3 + n2 = LEB_SIZE, avol1[m2] = mapped(buf4 + subarray(buf2, 0, n2 + n0)), avol0[m2] = mapped(buf4), n < n1, n < n4 + n2, n < n2 + n4, n0 < EB_PAGE_SIZE, n2 + n0 < EB_PAGE_SIZE, m2 < # avol1, n < n2, n < n2 + n3, awbuf-inv(avol1, buffered(m2)), ebm-vol-inv(avol0), is-aligned(# buf4, EB_PAGE_SIZE), n2 ≤ n1, # buf4 ≤ LEB_SIZE, n1 ≤ n2 + n3 ⊦ EB_PAGE_SIZE = 1, buf2[n0 + n] = subarray(buf2, 0, n2 + n0)[n0 + n], n0 = 0
Used simplifier rules: ⊦ # mkempbuf(n) = n; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m + n < m + n0 ↔ n < n0; (s)% ⊦ # subarray(buf, m, n) = n; (s)