| key = datakey(m0, m1), key.data?, key ∈ ri, key ∈ ri[inodekey(m), adr], inodekey(m) ∈ ks ⊦ # ks = 0, (ri[inodekey(m), adr] ⊖ ks)[key] = (ri ⊖ ks)[key], ks = ∅, inodekey(m0) ∈ ks, key ∈ ks |
inodekey(m) ∈ ks, datakey(m0, m1) ∈ ri[inodekey(m), adr], datakey(m0, m1) ∈ ri ⊦ # ks = 0, ri[inodekey(m), adr][datakey(m0, m1)] = ri[datakey(m0, m1)], ks = ∅, datakey(m0, m1) ∈ ks, inodekey(m0) ∈ ks
Used simplifier rules: at-dels-ro-data: ⊦ datakey(ino, n) ∈ ri ∧ ¬ datakey(ino, n) ∈ ks ∧ ¬ inodekey(ino) ∈ ks → (ri ⊖ ks)[datakey(ino, n)] = ri[datakey(ino, n)];% ⊦ datakey(m, m0).data?; (s)