| # buf1 = EB_PAGE_SIZE, # buf2 = EB_PAGE_SIZE, LEB_SIZE = (n0 + EB_PAGE_SIZE + # buf3) + # buf, avol[m5] = mapped(buf + buf1 + buf3), LEB_SIZE < 2 * EB_PAGE_SIZE + n0 + # buf3 + # buf, m5 < # avol, # buf < LEB_SIZE, EB_PAGE_SIZE < 2 * EB_PAGE_SIZE, ebm-vol-inv(avol), is-encoded(rnode(m), buf1), is-encoded(log, buf), is-encoded(log0, buf + buf1 + buf3), # buf + EB_PAGE_SIZE + # buf3 ≤ LEB_SIZE, # buf + EB_PAGE_SIZE ≤ LEB_SIZE ⊦ 2 * EB_PAGE_SIZE + n0 + # buf3 = 0, copy(buf1 + buf3 + mkempbuf(n0), 0, buf2, 0, EB_PAGE_SIZE) = emptypage, ∃ buf0, buf4. buf + buf1 = buf0 + buf4 ∧ is-encoded(log, buf0) ∧ is-encoded(rnode(m), buf4) |
Used simplifier rules: ⊦ is-encoded(nx0, buf) → (is-encoded(nx1, buf) ↔ nx0 = nx1); (s)% ⊦ is-encoded(rnd, buf) → (is-encoded(rnd0, buf) ↔ rnd = rnd0); (s) Used terms: buf, buf1