| avols[default-volid][m2] = mapped(buf0, n4), avol = abs(avols[default-volid]), m2 < # avols[default-volid], ebm-cons(avols), ebm-vol-inv(abs(avols[default-volid])), is-aligned(m1, EB_PAGE_SIZE), is-aligned(n, EB_PAGE_SIZE), default-volid ∈ avols, m1 + n ≤ LEB_SIZE, n3 + n ≤ # buf, n4 ≤ m1, ⌊err1⌋ ⊦ 0 < n ∧ is-aligned(0, EB_PAGE_SIZE) ∧ ⟨if 0 ≠ 0 then avol[m2] := mapped(avol[m2].data + mkempbuf(m1 - # avol[m2].data) + subarray(buf, n3, 0))⟩ (avol = abs(avols[default-volid])), n = 0 |
avols[default-volid][m2] = mapped(buf0, n4), n ≠ 0, m2 < # avols[default-volid], ebm-cons(avols), ebm-vol-inv(abs(avols[default-volid])), is-aligned(m1, EB_PAGE_SIZE), is-aligned(n, EB_PAGE_SIZE), default-volid ∈ avols, m1 + n ≤ LEB_SIZE, n3 + n ≤ # buf, n4 ≤ m1, ⌊err1⌋ ⊦ ⟨skip⟩ true
Used simplifier rules: n ≠ 0 ⊦ is-aligned(0, n); (s)% ⊦ EB_PAGE_SIZE ≠ 0; (s)% ⊦ 0 < m ↔ m ≠ 0; (s)