| buf0 = buf, EB_PAGE_SIZE ≤ # buf, ENCODED_ELEM_SIZE ≤ EB_PAGE_SIZE, ENCODED_ELEM_SIZE ≤ # buf ⊦ [encode_nonempty#(a, 0; buf; err)] ( # buf = # buf0 ∧ subarray(buf, ENCODED_ELEM_SIZE, # buf - ENCODED_ELEM_SIZE) = subarray(buf0, ENCODED_ELEM_SIZE, # buf - ENCODED_ELEM_SIZE) ∧ is-encoded-nonempty(a, subarray(buf, 0, ENCODED_ELEM_SIZE)) → err = ESUCCESS → is-encoded-pagesize(a, subarray(buf, 0, EB_PAGE_SIZE))) |
buf0 = buf, ENCODED_ELEM_SIZE ≤ # buf, ENCODED_ELEM_SIZE ≤ EB_PAGE_SIZE, EB_PAGE_SIZE ≤ # buf ⊦ ∀ buf, err. # buf = # buf0 ∧ subarray(buf, ENCODED_ELEM_SIZE, # buf - ENCODED_ELEM_SIZE) = subarray(buf0, ENCODED_ELEM_SIZE, # buf - ENCODED_ELEM_SIZE) ∧ is-encoded-nonempty(a, subarray(buf, 0, ENCODED_ELEM_SIZE)) → err = ESUCCESS → is-encoded-pagesize(a, subarray(buf, 0, EB_PAGE_SIZE))