| # buf = lptsize(# lpt, LEB_SIZE), n0 < # lpt, is-encoded(lpt, buf, n0) ⊦ ⟪encode_lprops#(lpt[n0], n0 * ENCODED_LPROPS_SIZE; buf, m; err); n := n0 + 1⟫ ( n ≤ # lpt ∧ # buf = lptsize(# lpt, LEB_SIZE) ∧ (err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → is-encoded(lpt, buf, n)) ∧ # lpt < (# lpt - n0) + n) |
# buf = lptsize(# lpt, LEB_SIZE), # lpt = n1 + n0, n0 < # lpt, is-encoded(lpt, buf, n0), n0 ≤ # lpt ⊦ ⟪encode_lprops#(lpt[n0], n0 * ENCODED_LPROPS_SIZE; buf, m; err); n := n0 + 1⟫ ( n ≤ # lpt ∧ # buf = lptsize(# lpt, LEB_SIZE) ∧ (err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → is-encoded(lpt, buf, n)) ∧ # lpt < n1 + n)
Used simplifier rules: ⊦ m < n → m ≤ n; (s)%n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: n0, # lpt, n1