| fid ∈ fs ↔ fid ∈ root0.fids ∨ fid ∈ ofh.fids, root0[path].dir? ↔ root0[path'].dir?, (root0 -- path)[parent(path')].dir?, root0[parent(path')].dir?, fids-cons(root0, fs, ofh), py(user, parent(path), root0, fs), py(user, parent(path'), root0, fs), path' ∈ root0, path ∈ root0, parent(path') ∈ root0, root0[path'].dir? → pw(user, path, root0, fs), root0[path'].dir? → root0[path'].entries = ∅ ⊦ fid ∈ fs ↔ fid ∈ ((root0.fids \ root0[path].fids) \ (path' ⊑ path ⊃ root0[path'] -- restn(# path', path);root0[path']).fids) ∪ root0[path].fids ∨ fid ∈ ofh.fids, path' = ε, path ⊑ path', ¬ root0[path'].dir? ∧ ¬ root0[path'].fid ∈ ofh.fids ∧ ¬ root0[path'].fid ∈ ((root0.fids \ root0[path].fids) \ (path' ⊑ path ⊃ root0[path'] -- restn(# path', path);root0[path']).fids) ∪ root0[path].fids |
root0[path].dir? ↔ root0[path'].dir?, fid ∈ fs ↔ fid ∈ root0.fids ∨ fid ∈ ofh.fids, dnode(md, sdt) = root0[path], root0[parent(path')].dir?, (root0 -- path)[parent(path')].dir?, fids-cons(root0, fs, ofh), py(user, parent(path'), root0, fs), py(user, parent(path), root0, fs), parent(path') ∈ root0, path ∈ root0, path' ∈ root0, root0[path'].dir? → root0[path'].entries = ∅, root0[path'].dir? → pw(user, path, root0, fs) ⊦ fid ∈ fs ↔ fid ∈ ((root0.fids \ root0[path].fids) \ (path' ⊑ path ⊃ root0[path'] -- restn(# path', path);root0[path']).fids) ∪ root0[path].fids ∨ fid ∈ ofh.fids, path' = ε, path ⊑ path', ¬ root0[path'].dir? ∧ ¬ root0[path'].fid ∈ ofh.fids ∧ ¬ root0[path'].fid ∈ ((root0.fids \ root0[path].fids) \ (path' ⊑ path ⊃ root0[path'] -- restn(# path', path);root0[path']).fids) ∪ root0[path].fids
root0[path].dir? ↔ root0[path'].dir?, fid ∈ fs ↔ fid ∈ root0.fids ∨ fid ∈ ofh.fids, fnode(fid0) = root0[path], root0[parent(path')].dir?, (root0 -- path)[parent(path')].dir?, fids-cons(root0, fs, ofh), py(user, parent(path'), root0, fs), py(user, parent(path), root0, fs), parent(path') ∈ root0, path ∈ root0, path' ∈ root0, root0[path'].dir? → root0[path'].entries = ∅, root0[path'].dir? → pw(user, path, root0, fs) ⊦ fid ∈ fs ↔ fid ∈ ((root0.fids \ root0[path].fids) \ (path' ⊑ path ⊃ root0[path'] -- restn(# path', path);root0[path']).fids) ∪ root0[path].fids ∨ fid ∈ ofh.fids, path' = ε, path ⊑ path', ¬ root0[path'].dir? ∧ ¬ root0[path'].fid ∈ ofh.fids ∧ ¬ root0[path'].fid ∈ ((root0.fids \ root0[path].fids) \ (path' ⊑ path ⊃ root0[path'] -- restn(# path', path);root0[path']).fids) ∪ root0[path].fids
Used simplifier rules: directory-tree, entries-tree generated by ∅, dnode, fnode, [ ];;