| (∅)[default-volid, fill(mkabstractvolume(n), erased)][v][m] = mapped(buf, m0), m < # (∅)[default-volid, fill(mkabstractvolume(n), erased)][v], v ∈ (∅)[default-volid, fill(mkabstractvolume(n), erased)] ⊦ # buf = LEB_SIZE ∧ m0 ≤ LEB_SIZE ∧ is-aligned(m0, EB_PAGE_SIZE) ∧ range=(buf, m0, emptyleb, 0, LEB_SIZE - m0) |
⊦ v ∈ avols[v0, evol] ↔ v = v0 ∨ v ∈ avols
Used simplifier rules: ⊦ ¬ v ∈ ∅; (s)% ⊦ v = v0 → avols[v0, evol][v] = evol; (s)% ⊦ # fill(evol, leb) = # evol; (s)% ⊦ # mkabstractvolume(n) = n; (s)% ⊦ m < n → fill(mkabstractvolume(n), leb)[m] = leb; (s)% ⊦ erased ≠ mapped(buf, m); (s) Used terms: fill(mkabstractvolume(n), erased), default-volid, ∅, v