| LEB_SIZE = n0 + n, m < # avols[default-volid], ebm-cons(avols), ebm-vol-inv(abs(avols[default-volid])), is-aligned(n, EB_PAGE_SIZE), default-volid ∈ avols, n ≤ LEB_SIZE, n ≤ # buf ⊦ abs(avols[default-volid])[m, mapped(subarray(buf, 0, n))] = abs(avols[default-volid][m, mapped(subarray(buf, 0, n) + mkempbuf(n0), n)]) |
⊦ avol = avol0 ↔ # avol = # avol0 ∧ (∀ n. n < # avol → avol[n] = avol0[n])
LEB_SIZE = n0 + n, m < # avols[default-volid], ebm-cons(avols), ebm-vol-inv(abs(avols[default-volid])), is-aligned(n, EB_PAGE_SIZE), default-volid ∈ avols, n ≤ # buf, n ≤ LEB_SIZE ⊦ # abs(avols[default-volid])[m, mapped(subarray(buf, 0, n))] = # abs(avols[default-volid][m, mapped(subarray(buf, 0, n) + mkempbuf(n0), n)]) ∧ (∀ n1. n1 < # abs(avols[default-volid])[m, mapped(subarray(buf, 0, n))] → abs(avols[default-volid])[m, mapped(subarray(buf, 0, n))][n1] = abs(avols[default-volid][m, mapped(subarray(buf, 0, n) + mkempbuf(n0), n)])[n1])
Used terms: abs (avols[default-volid] [m, mapped(subarray(buf, 0, n) + mkempbuf(n0), n) ]), abs(avols[default-volid])[m, mapped(subarray(buf, 0, n))]