| key ∈ ri ⊖ ro ↔ key ∈ ri[dentrykey(ino, str), adr] ⊖ ro ⊦ key = dentrykey(ino, str), dentrykey(ino, str) ∈ ro, (key ∈ ri ⊖ ro ↔ key ∈ ri[dentrykey(ino, str), adr] ⊖ ro) ∧ (key ∈ ri ⊖ ro → (ri ⊖ ro)[key] = (ri[dentrykey(ino, str), adr] ⊖ ro)[key]) |
key ∈ ri, key.data? → ¬ inodekey(key.ino) ∈ ro ⊦ (ri ⊖ ro)[key] = (ri[dentrykey(ino, str), adr] ⊖ ro)[key], key = dentrykey(ino, str), dentrykey(ino, str) ∈ ro, key ∈ ro
Used simplifier rules: ⊦ key ≠ key0 → (key ∈ ri[key0, adr] ↔ key ∈ ri); (s)%⊦ key ∈ ri ⊖ ks ↔ key ∈ ri ∧ ¬ key ∈ ks ∧ (key.data? → ¬ inodekey(key.ino) ∈ ks); (ws)