| subarray(buf + mkempbuf(n), m, NODE_HEADER_SIZE) = validtrailer, is-aligned(m, NODE_HEADER_SIZE), is-aligned(# buf, NODE_HEADER_SIZE), m + NODE_HEADER_SIZE ≤ # buf + n ⊦ m + NODE_HEADER_SIZE ≤ # buf ∧ subarray(buf, m, NODE_HEADER_SIZE) = validtrailer |
subarray(buf + mkempbuf(n), m, NODE_HEADER_SIZE) = validtrailer, is-aligned(# buf, NODE_HEADER_SIZE), is-aligned(m, NODE_HEADER_SIZE), m + NODE_HEADER_SIZE ≤ # buf + n, # buf ≤ m ⊦ m + NODE_HEADER_SIZE ≤ # buf ∧ subarray(buf, m, NODE_HEADER_SIZE) = validtrailer
subarray(buf + mkempbuf(n), m, NODE_HEADER_SIZE) = validtrailer, is-aligned(# buf, NODE_HEADER_SIZE), is-aligned(m, NODE_HEADER_SIZE), m + NODE_HEADER_SIZE ≤ # buf + n ⊦ # buf ≤ m, m + NODE_HEADER_SIZE ≤ # buf ∧ subarray(buf, m, NODE_HEADER_SIZE) = validtrailer
Used formulas: # buf ≤ m