| is-encoded(a, subarray(buf, n, encoding-size(a))), n + encoding-size(a) ≤ # buf, n + align↑(encoding-size(a), ENCODED_ELEM_ALIGNMENT) ≤ # buf ⊦ ∃ buf0, buf1. subarray(buf, n, align↑(encoding-size(a), ENCODED_ELEM_ALIGNMENT)) = buf0 + buf1 ∧ is-encoded(a, buf0) ∧ align↑(encoding-size(a), ENCODED_ELEM_ALIGNMENT) = size-aligned(a, ENCODED_ELEM_ALIGNMENT) |
is-encoded(a, subarray(buf, n, encoding-size(a))), n + align↑(encoding-size(a), ENCODED_ELEM_ALIGNMENT) ≤ # buf, n + encoding-size(a) ≤ # buf ⊦ subarray(buf, n, align↑(encoding-size(a), ENCODED_ELEM_ALIGNMENT)) = subarray(buf, n, encoding-size(a)) + subarray(buf, n + encoding-size(a), align↑(encoding-size(a), ENCODED_ELEM_ALIGNMENT) - encoding-size(a)) ∧ is-encoded(a, subarray(buf, n, encoding-size(a))) ∧ align↑(encoding-size(a), ENCODED_ELEM_ALIGNMENT) = size-aligned(a, ENCODED_ELEM_ALIGNMENT)
Used terms: subarray(buf, n, encoding-size(a)), subarray (buf, n + encoding-size(a), align↑(encoding-size(a), ENCODED_ELEM_ALIGNMENT) - encoding-size(a))