| # 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)), ∀ n0. n0 < n → lpt0[n0] = lpt1[n0] ⊦ ∀ m. m < # lpt1 ∧ m < n → is-encoded(lpt1[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE)) |
# lpt0 = # lpt1, # buf = align↑(# lpt1 * ENCODED_LPROPS_SIZE, LEB_SIZE), m < n, m < # lpt1, n ≤ # lpt1, ∀ m. m < # lpt1 ∧ m < n → is-encoded(lpt0[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE)), ∀ n0. n0 < n → lpt0[n0] = lpt1[n0] ⊦ is-encoded(lpt1[m], subarray(buf, m * ENCODED_LPROPS_SIZE, ENCODED_LPROPS_SIZE))
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic