| n + ENCODED_ELEM_SIZE ≤ # buf ⊦ isempty(buf, n, ENCODED_ELEM_SIZE), ∀ a, m, err. is-encoded(a, subarray(buf, n, ENCODED_ELEM_SIZE)) ∧ m = ENCODED_ELEM_SIZE → err = ESUCCESS → subarray(buf, n, ENCODED_ELEM_SIZE) ≠ mkempbuf(ENCODED_ELEM_SIZE) |
subarray(buf, n, ENCODED_ELEM_SIZE) = mkempbuf(ENCODED_ELEM_SIZE), is-encoded(a, subarray(buf, n, ENCODED_ELEM_SIZE)), n + ENCODED_ELEM_SIZE ≤ # buf ⊦ isempty(buf, n, ENCODED_ELEM_SIZE)
Used simplifier rules: ⊦ # subarray(buf, m, n) = n; (s)%is-encoded-size: ⊦ is-encoded(a, buf) → # buf = ENCODED_ELEM_SIZE; (forward) from specification encoding-fixed-size