| subarray(mkempbuf(n), n0, NODE_HEADER_SIZE) = validtrailer, n1 < NODE_HEADER_SIZE, is-aligned(# buf, NODE_HEADER_SIZE), is-aligned(n0, NODE_HEADER_SIZE), n0 + NODE_HEADER_SIZE ≤ n ⊦ (validtrailer)[n1] = empty, n = 0 |
⊦ buf = buf0 ↔ # buf = # buf0 ∧ (∀ n. n < # buf → buf[n] = buf0[n])
# subarray(mkempbuf(n), n0, NODE_HEADER_SIZE) = # validtrailer, n1 < NODE_HEADER_SIZE, is-aligned(n0, NODE_HEADER_SIZE), is-aligned(# buf, NODE_HEADER_SIZE), n0 + NODE_HEADER_SIZE ≤ n, ∀ n1. n1 < # subarray(mkempbuf(n), n0, NODE_HEADER_SIZE) → subarray(mkempbuf(n), n0, NODE_HEADER_SIZE)[n1] = (validtrailer)[n1] ⊦ (validtrailer)[n1] = empty, n = 0
Used terms: validtrailer, subarray(mkempbuf(n), n0, NODE_HEADER_SIZE)