| # buf0 = # ns * ENCODED_NAT_SIZE, # buf0 + # buf1 < ENCODED_NAT_SIZE, is-aligned(# buf0 + # buf1, EB_PAGE_SIZE), is-encoded(ns, buf0) ⊦ # ns = 0, ns = ∅ |
⊦ # buf < ENCODED_NAT_SIZE → (is-encoded(ns, buf) ↔ ns = ∅ ∧ buf = mkbuf(0))
Used simplifier rules: ⊦ EB_PAGE_SIZE ≠ 0; (s)% ⊦ ¬ m < n → ¬ m + m0 < n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic%m ≠ 0, is-aligned(n1, m) ⊦ is-aligned(n0 + n1, m) ↔ is-aligned(n0, m); (s) Used terms: buf0, ns