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