| root0[path'] = dnode(md0, ∅), dnode(md, sdt) = root0[path], root0[parent(path')].dir?, (root0 -- path)[parent(path')].dir?, fids-cons(root0, fs, ofh), pw(user, path, root0, fs), py(user, parent(path'), root0, fs), py(user, parent(path), root0, fs), fid ∈ root0.fids, parent(path') ∈ root0, path ∈ root0, path' ∈ root0, fid ∈ fs, path' ⊑ path ⊦ path' = ε, fid ∈ sdt.fids, fid ∈ ofh.fids, fid ∈ (root0.fids \ sdt.fids) \ (dnode(md0, ∅) -- restn(# path', path)).fids, path ⊑ path' |
root0[path'] = dnode(md0, ∅), dnode(md, sdt) = root0[path], (root0 -- path)[parent(path')].dir?, root0[parent(path')].dir?, fids-cons(root0, fs, ofh), pw(user, path, root0, fs), py(user, parent(path), root0, fs), py(user, parent(path'), root0, fs), fid ∈ fs, path' ∈ root0, path ∈ root0, parent(path') ∈ root0, fid ∈ root0.fids, path' ⊑ path ⊦ path' = ε, path' = path, fid ∈ (root0.fids \ sdt.fids) \ (dnode(md0, ∅) -- restn(# path', path)).fids, fid ∈ ofh.fids, fid ∈ sdt.fids
Used simplifier rules: ⊦ p ⊑ p0 → (p0 ⊑ p ↔ p = p0); (s)