| key0 ∈ ri, key0.data? → ¬ inodekey(key0.ino) ∈ ks, key0.data? → inodekey(key0.ino) ≠ key ⊦ ((ri ⊖ key) ⊖ ks)[key0] = ((ri ⊖ ks) ⊖ key)[key0], key0 = key, key ∈ ks, key0 ∈ ks |
⊦ key ∈ ri ∧ ¬ key ∈ ks ∧ ¬ key.data? → (ri ⊖ ks)[key] = ri[key]
key0 ∈ ri, key0.data? → inodekey(key0.ino) ≠ key, key0.data? → ¬ inodekey(key0.ino) ∈ ks ⊦ ((ri ⊖ key) ⊖ ks)[key0] = ((ri ⊖ ks) ⊖ key)[key0], key0 = key, key0 ∈ ks, key ∈ ks, key0 ∈ ri ⊖ key ∧ ¬ key0 ∈ ks ∧ ¬ key0.data?
key0 ∈ ri, key0 ∈ ri ⊖ key, key0.data? → inodekey(key0.ino) ≠ key, key0.data? → ¬ inodekey(key0.ino) ∈ ks ⊦ (ri ⊖ key)[key0] = ((ri ⊖ ks) ⊖ key)[key0], key0 = key, key0.data?, key ∈ ks, key0 ∈ ks
Used terms: key0, ks, ri ⊖ key