| # avol1 = # avol0, n < m0, id○(avol1, avol0, n) ⊦ (∀ n0. m0 ≤ n0 ∧ n0 < m0 + m1 ∧ n0 < # avol0 → avol1[n0].mapped? ∧ # avol1[n0].data = LEB_SIZE) ↔ (∀ n0. m0 ≤ n0 ∧ n0 < m0 + m1 ∧ n0 < # avol0 → avol0[n0].mapped? ∧ # avol0[n0].data = LEB_SIZE) |
⊦ id○(avol, avol0, n) ↔ # avol = # avol0 ∧ (∀ m. m < # avol ∧ m ≠ n → avol[m] = avol0[m])
# avol1 = # avol0, n < m0, ∀ m. m < # avol1 ∧ m ≠ n → avol1[m] = avol0[m] ⊦ (∀ n0. m0 ≤ n0 ∧ n0 < m0 + m1 ∧ n0 < # avol0 → avol1[n0].mapped? ∧ # avol1[n0].data = LEB_SIZE) ↔ (∀ n0. m0 ≤ n0 ∧ n0 < m0 + m1 ∧ n0 < # avol0 → avol0[n0].mapped? ∧ # avol0[n0].data = LEB_SIZE)
Used terms: n, avol0, avol1