| buf1 = buf, is-aligned(# buf, EB_PAGE_SIZE), is-encoded(orphans2 \ orphans1, subarray(buf, 0, m0)), n ∈ orphans2, n ∈ orphans1, m0 + ENCODED_NAT_SIZE ≤ LEB_SIZE, m0 + ENCODED_NAT_SIZE ≤ # buf, m0 + # orphans1 * ENCODED_NAT_SIZE ≤ LEB_SIZE, m0 + # orphans1 * ENCODED_NAT_SIZE ≤ # buf, # orphans2 * ENCODED_NAT_SIZE ≤ LEB_SIZE, # buf ≤ LEB_SIZE, orphans1 ⊆ orphans2 ⊦ ∀ buf, m, err. (err = ESUCCESS ∨ ⌊err⌋ ) ∧ # buf = # buf1 ∧ subarray(buf, 0, m0) = subarray(buf1, 0, m0) ∧ subarray(buf, m0 + ENCODED_NAT_SIZE, # buf - m0 + ENCODED_NAT_SIZE) = subarray(buf1, m0 + ENCODED_NAT_SIZE, # buf - m0 + ENCODED_NAT_SIZE) ∧ (err = ESUCCESS → is-encoded(n, subarray(buf, m0, ENCODED_NAT_SIZE)) ∧ m = ENCODED_NAT_SIZE) → ⟪m0 := m0 + ENCODED_NAT_SIZE; orphans := orphans1 -- n⟫ ( (err = ESUCCESS ∨ ⌊err⌋ ) ∧ is-aligned(# buf, EB_PAGE_SIZE) ∧ orphans ⊆ orphans2 ∧ # buf ≤ LEB_SIZE ∧ (err = ESUCCESS → m0 + # orphans * ENCODED_NAT_SIZE ≤ # buf ∧ is-encoded(orphans2 \ orphans, subarray(buf, 0, m0))) ∧ # orphans < # orphans1), # orphans2 = 0, # orphans1 = 0, orphans1 = ∅, orphans2 = ∅ |
# buf0 = # buf, subarray(buf0, m0 + ENCODED_NAT_SIZE, # buf - m0 + ENCODED_NAT_SIZE) = subarray(buf, m0 + ENCODED_NAT_SIZE, # buf - m0 + ENCODED_NAT_SIZE), subarray(buf0, 0, m0) = subarray(buf, 0, m0), # orphans2 ≠ 0, # orphans1 ≠ 0, orphans1 ≠ ∅, orphans2 ≠ ∅, is-aligned(# buf, EB_PAGE_SIZE), is-encoded(orphans2 \ orphans1, subarray(buf, 0, m0)), n ∈ orphans2, n ∈ orphans1, m0 + ENCODED_NAT_SIZE ≤ LEB_SIZE, m0 + ENCODED_NAT_SIZE ≤ # buf, m0 + # orphans1 * ENCODED_NAT_SIZE ≤ LEB_SIZE, m0 + # orphans1 * ENCODED_NAT_SIZE ≤ # buf, # orphans2 * ENCODED_NAT_SIZE ≤ LEB_SIZE, # buf ≤ LEB_SIZE, orphans1 ⊆ orphans2, err = ESUCCESS → is-encoded(n, subarray(buf0, m0, ENCODED_NAT_SIZE)) ∧ m = ENCODED_NAT_SIZE, err = ESUCCESS ∨ ⌊err⌋ ⊦ ⟪m0 := m0 + ENCODED_NAT_SIZE; orphans := orphans1 -- n⟫ ( (err = ESUCCESS ∨ ⌊err⌋ ) ∧ orphans ⊆ orphans2 ∧ (err = ESUCCESS → m0 + # orphans * ENCODED_NAT_SIZE ≤ # buf ∧ is-encoded(orphans2 \ orphans, subarray(buf0, 0, m0))) ∧ # orphans < # orphans1)