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