| is-encoded-nonempty(a, subarray(buf, 0, ENCODED_ELEM_SIZE)), ENCODED_ELEM_SIZE ≤ # buf, ENCODED_ELEM_SIZE ≤ EB_PAGE_SIZE, EB_PAGE_SIZE ≤ # buf ⊦ is-encoded-nonempty(a, subarray(subarray(buf, 0, EB_PAGE_SIZE), 0, ENCODED_ELEM_SIZE)) ∧ subarray(buf, 0, EB_PAGE_SIZE) ≠ emptypage |
⊦ n0 + n1 ≤ # buf ∧ m0 + m1 ≤ n1 → subarray(subarray(buf, n0, n1), m0, m1) = subarray(buf, n0 + m0, m1)
is-encoded-nonempty(a, subarray(buf, 0, ENCODED_ELEM_SIZE)), EB_PAGE_SIZE ≤ # buf, ENCODED_ELEM_SIZE ≤ EB_PAGE_SIZE, ENCODED_ELEM_SIZE ≤ # buf, 0 + EB_PAGE_SIZE ≤ # buf, 0 + ENCODED_ELEM_SIZE ≤ EB_PAGE_SIZE ⊦ is-encoded-nonempty(a, subarray(buf, 0 + 0, ENCODED_ELEM_SIZE)) ∧ subarray(buf, 0, EB_PAGE_SIZE) ≠ emptypage
Used simplifier rules: ⊦ n + 0 = n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used terms: ENCODED_ELEM_SIZE, 0, EB_PAGE_SIZE, 0, buf