| key0.data?, key ∈ ro, key0 ∈ ri, ¬ key.inode? ∨ key0.ino ≠ key.ino ∨ ¬ n ≤ key0.part * VFS_PAGE_SIZE ⊦ # ro = 0, ((ri \ datakeys(key, n, ri)) ⊖ ro)[key0] = (ri ⊖ ro)[key0], ro = ∅, key0 ∈ ro, inodekey(key0.ino) ∈ ro |
key0 = datakey(m, m0), key0.data?, key0 ∈ ri, key ∈ ro, ¬ key.inode? ∨ m ≠ key.ino ∨ ¬ n ≤ m0 * VFS_PAGE_SIZE ⊦ # ro = 0, ((ri \ datakeys(key, n, ri)) ⊖ ro)[key0] = (ri ⊖ ro)[key0], ro = ∅, inodekey(m) ∈ ro, key0 ∈ ro
Used simplifier rules: ⊦ key.data? → (m = key.ino ∧ m0 = key.part ↔ key = datakey(m, m0)); (elim) Used terms: key0, m, m0