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