| # lpt = # avol, m = m1, m0 = m2, m2 < # avol, ebm-vol-inv(avol), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪avol[m0] := unmapped⟫ (ebm-vol-inv(avol) ∧ # lpt = # avol), err0 = ESUCCESS |
Used simplifier rules: ⊦ ⌊err⌋ → err ≠ ESUCCESS; (s)% ⊦ # avol[n, aleb] = # avol; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m < n → (n ≤ m ↔ false); (s)%n < # avol ⊦ ebm-vol-inv(avol) → ( ebm-vol-inv(avol[n, aleb]) ↔ ( avol[n].mapped? → # avol[n].data ≤ LEB_SIZE ∧ is-aligned(# avol[n].data, EB_PAGE_SIZE)) → aleb.mapped? → # aleb.data ≤ LEB_SIZE ∧ is-aligned(# aleb.data, EB_PAGE_SIZE)); (ss)% ⊦ ¬ unmapped.mapped?; (s)