| key ∈ (ri ⊖ ks) ⊖ inodekey(m) ↔ key ∈ ri ⊖ ks, inodekey(m) ∈ ks ⊦ # ks = 0, ks = ∅, (key ∈ (ri ⊖ ks) ⊖ inodekey(m) ↔ key ∈ ri ⊖ ks) ∧ (key ∈ (ri ⊖ ks) ⊖ inodekey(m) → ((ri ⊖ ks) ⊖ inodekey(m))[key] = (ri ⊖ ks)[key]) |
inodekey(m) ∈ ks, key ∈ ri, key.data? → key.ino ≠ m, key.data? → ¬ inodekey(key.ino) ∈ ks ⊦ # ks = 0, ((ri ⊖ ks) ⊖ inodekey(m))[key] = (ri ⊖ ks)[key], ks = ∅, key ∈ ks
Used simplifier rules: in-del-ro: ⊦ key ∈ ri ⊖ key0 ↔ key ∈ ri ∧ key ≠ key0 ∧ (key.data? → inodekey(key.ino) ≠ key0);%in-dels-ro: ⊦ key ∈ ri ⊖ ks ↔ key ∈ ri ∧ ¬ key ∈ ks ∧ (key.data? → ¬ inodekey(key.ino) ∈ ks);% ⊦ inodekey(m) = inodekey(m0) ↔ m = m0; (s)