| 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]) |
LEB_SIZE = n0 + n, m < # avols[default-volid], n1 < # 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))][n1] = abs(avols[default-volid][m, mapped(subarray(buf, 0, n) + mkempbuf(n0), n)])[n1]
Used simplifier rules: ⊦ # evol[n, leb] = # evol; (s)% ⊦ # abs(evol) = # evol; (s)% ⊦ # avol[n, aleb] = # avol; (s)