| # lpt0 = # lpt1, # buf = align↑(# lpt1 * ENCODED_LPROPS_SIZE, LEB_SIZE), n0 < # lpt1, n0 < n, n ≤ # lpt1, n0 < # lpt1 ∧ n0 < n → is-encoded(lpt0[n0], subarray(buf, n0 * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE)), ∀ m. m < # lpt1 ∧ m < n → is-encoded(lpt1[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE)) ⊦ lpt0[n0] = lpt1[n0] |
# lpt0 = # lpt1, # buf = align↑(# lpt1 * ENCODED_LPROPS_SIZE, LEB_SIZE), n0 < # lpt1, n0 < n, is-encoded(lpt0[n0], subarray(buf, n0 * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE)), n ≤ # lpt1, ∀ m. m < # lpt1 ∧ m < n → is-encoded(lpt1[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE)) ⊦ lpt0[n0] = lpt1[n0]
Used simplifier rules: ⊦ # subarray(buf, m, n) = n; (s)%is-encoded-size: ⊦ is-encoded(lp, buf) → # buf = ENCODED_LPROPS_SIZE; (forward) from specification encoding-fixed-size[encoding-lprops]