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