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