| # buf = align↑(# lpt1 * ENCODED_LPROPS_SIZE, LEB_SIZE), # lpt0 = # lpt1, n ≤ # lpt1, ∀ m. m < # lpt1 ∧ m < n → is-encoded(lpt0[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE)) ⊦ (∀ m. m < # lpt1 ∧ m < n → is-encoded(lpt1[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE))) ↔ subarray(lpt0, 0, n) = subarray(lpt1, 0, n) |
⊦ lpt = lpt0 ↔ # lpt = # lpt0 ∧ (∀ n. n < # lpt → lpt[n] = lpt0[n])
# lpt0 = # lpt1, # buf = align↑(# lpt1 * ENCODED_LPROPS_SIZE, LEB_SIZE), n ≤ # lpt1, ∀ m. m < # lpt1 ∧ m < n → is-encoded(lpt0[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE)) ⊦ (∀ m. m < # lpt1 ∧ m < n → is-encoded(lpt1[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE))) ↔ # subarray(lpt0, 0, n) = # subarray(lpt1, 0, n) ∧ (∀ n0. n0 < # subarray(lpt0, 0, n) → subarray(lpt0, 0, n)[n0] = subarray(lpt1, 0, n)[n0])
Used terms: subarray(lpt1, 0, n), subarray(lpt0, 0, n)