| is-encoded-rec(vtbl, buf), ∀ vtbl0, buf. # vtbl0 < # vtbl → is-encoded-rec(vtbl0, buf) → # buf = # vtbl0 * (ENCODED_VOLID_SIZE + ENCODED_NAT_SIZE) ⊦ # buf = # vtbl * (ENCODED_VOLID_SIZE + ENCODED_NAT_SIZE) |
is-encoded-rec(vtbl, buf), ∀ vtbl0, buf. # vtbl0 < # vtbl → is-encoded-rec(vtbl0, buf) → # buf = # vtbl0 * (ENCODED_VOLID_SIZE + ENCODED_NAT_SIZE) ⊦ # buf = # vtbl * (ENCODED_VOLID_SIZE + ENCODED_NAT_SIZE), vtbl = ∅
Used simplifier rules: is-encoded-base: ⊦ is-encoded-rec(∅, buf) ↔ # buf = 0;% ⊦ # ∅ = 0; (s)% ⊦ 0 * n = 0; (s)%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult%mult-c: ⊦ m * n = n * m; from specification nat-mult Used formulas: vtbl = ∅