| datakey(m, m0) ∈ ri, datakey(m, m0) ∈ ri ⊖ ks ⊦ ((ri ⊖ key) ⊖ ks)[datakey(m, m0)] = (ri ⊖ ks)[datakey(m, m0)], datakey(m, m0) = key, inodekey(m) = key, inodekey(m) ∈ ks, datakey(m, m0) ∈ ks, key ∈ ks |
datakey(m, m0) ∈ ri ⊦ ((ri ⊖ key) ⊖ ks)[datakey(m, m0)] = ri[datakey(m, m0)], datakey(m, m0) = key, inodekey(m) = key, key ∈ ks, datakey(m, m0) ∈ ks, inodekey(m) ∈ 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)];%in-dels-ro: ⊦ key ∈ ri ⊖ ks ↔ key ∈ ri ∧ ¬ key ∈ ks ∧ (key.data? → ¬ inodekey(key.ino) ∈ ks);% ⊦ datakey(m, m0).ino = m; (s)% ⊦ datakey(m, m0).data?; (s)