| fid ∈ fs ↔ fid ∈ root0.fids ∨ fid ∈ ofh.fids, root0[path].dir? ↔ root0[p0 + str '].dir?, root0[p0].dir?, fids-cons(root0, fs, ofh), py(user, parent(path), root0, fs), py(user, p0, root0, fs), path ∈ root0, p0 ∈ root0, str ' ∈ root0[p0], root0[path].dir? → pw(user, path, root0, fs), root0[path].dir? → root0[p0 + str '].entries = ∅ ⊦ fid ∈ fs ↔ fid ∈ (root0 -- path)[p0 + str ', root0[path]].fids ∨ fid ∈ ofh.fids, (p0 ⊑ path ⊃ root0[p0] -- restn(# p0, path);root0[p0]).dir?, path ⊑ p0 + str ', ¬ root0[path].dir? ∧ ¬ root0[p0 + str '].fid ∈ ofh.fids ∧ ¬ root0[p0 + str '].fid ∈ (root0 -- path)[p0 + str ', root0[path]].fids |
root0[path].dir? ↔ root0[p0 + str '].dir?, fid ∈ fs ↔ fid ∈ root0.fids ∨ fid ∈ ofh.fids, root0[p0].dir?, fids-cons(root0, fs, ofh), py(user, p0, root0, fs), py(user, parent(path), root0, fs), str ' ∈ root0[p0], p0 ∈ root0, path ∈ root0, p0 ⊑ path, root0[path].dir? → root0[p0 + str '].entries = ∅, root0[path].dir? → pw(user, path, root0, fs) ⊦ fid ∈ fs ↔ fid ∈ (root0 -- path)[p0 + str ', root0[path]].fids ∨ fid ∈ ofh.fids, (root0[p0] -- restn(# p0, path)).dir?, path ⊑ p0 + str ', ¬ root0[path].dir? ∧ ¬ root0[p0 + str '].fid ∈ ofh.fids ∧ ¬ root0[p0 + str '].fid ∈ (root0 -- path)[p0 + str ', root0[path]].fids