| # buf = lptsize(# lpt0, LEB_SIZE), # lpt0 = # lpt1, n ≤ # lpt1, ∀ m. m < # lpt0 ∧ m < n → is-encoded(lpt0[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE)) ⊦ # buf = align↑(# lpt1 * ENCODED_LPROPS_SIZE, LEB_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) |
# 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)
Used simplifier rules: lpt-size: ⊦ lptsize(mainareasize, n) = align↑(mainareasize * ENCODED_LPROPS_SIZE, n);