| ebm-cons(avols1), ebm-cons(avols0), ebm-vol-inv(abs(avols1[default-volid])), default-volid ∈ avols1, avols1 ⊆ avols0 ⊦ abs(avols1[default-volid]) ⊆ abs(avols0[default-volid]) |
⊦ avol0 ⊆ avol1 ↔ # avol0 = # avol1 ∧ (∀ m. m < # avol0 → (avol0[m].mapped? → avol1[m] = avol0[m]) ∧ (avol0[m] = unmapped ∧ avol1[m].mapped? → # avol1[m].data ≤ LEB_SIZE ∧ is-aligned(# avol1[m].data, EB_PAGE_SIZE)))
ebm-cons(avols0), ebm-cons(avols1), ebm-vol-inv(abs(avols1[default-volid])), default-volid ∈ avols1, avols1 ⊆ avols0 ⊦ # abs(avols1[default-volid]) = # abs(avols0[default-volid]) ∧ (∀ m. m < # abs(avols1[default-volid]) → (abs(avols1[default-volid])[m].mapped? → abs(avols0[default-volid])[m] = abs(avols1[default-volid])[m]) ∧ ( abs(avols1[default-volid])[m] = unmapped ∧ abs(avols0[default-volid])[m].mapped? → # abs(avols0[default-volid])[m].data ≤ LEB_SIZE ∧ is-aligned(# abs(avols0[default-volid])[m].data, EB_PAGE_SIZE)))
Used terms: abs(avols0[default-volid]), abs(avols1[default-volid])