| # avols1[default-volid] = # avols0[default-volid], mapped(buf1, m0) = avols1[default-volid][m], m < # avols0[default-volid], ebm-cons(avols0), ebm-cons(avols1), ebm-vol-inv(abs(avols1[default-volid])), default-volid ∈ avols0, default-volid ∈ avols1, (∃ buf, m1. mapped(buf1, m0) = mapped(buf, m1)) → avols0[default-volid][m] = mapped(buf1, m0) ⊦ abs(avols0[default-volid][m]) = mapped(subarray(buf1, 0, m0)) |
# avols1[default-volid] = # avols0[default-volid], mapped(buf1, m0) = avols1[default-volid][m], m < # avols0[default-volid], ebm-cons(avols1), ebm-cons(avols0), ebm-vol-inv(abs(avols1[default-volid])), default-volid ∈ avols1, default-volid ∈ avols0 ⊦ abs(avols0[default-volid][m]) = mapped(subarray(buf1, 0, m0)), ∃ buf, m1. mapped(buf1, m0) = mapped(buf, m1)
Used simplifier rules: ⊦ abs(mapped(buf, n)) = mapped(subarray(buf, 0, n)); (s)% ⊦ mapped(buf) = mapped(buf0) ↔ buf = buf0; (s)