| err = ESUCCESS, err0 = err1, fid = root0[path].fid, root = root0 -- path, root0.dir?, fids-cons(root0, fs, ofh), pre-unlink(path, err, user, root0, fs, ofh) ⊦ ⟪psynced := ?⟫ (root.dir? ∧ fids-cons(root, fs -- fid, ofh)), fid ∈ ofh.fids, fid ∈ root.fids |
path ≠ ε, root0.dir?, fids-cons(root0, fs, ofh), py(user, parent(path), root0, fs), path ∈ root0, ¬ root0[path].dir?, ¬ root0[path].fid ∈ ofh.fids, ¬ root0[path].fid ∈ root0.fids \ root0[path].fids ⊦ ⟪psynced := ?⟫ fids-cons(root0 -- path, fs -- root0[path].fid, ofh)
Used simplifier rules: p ≠ ε ⊦ p ∈ tree → ((tree -- p).dir? ↔ tree.dir?); (s)%p ≠ ε ⊦ p ∈ tree → (tree -- p).fids = tree.fids \ tree[p].fids; (s)%⊦ pre-unlink(p, ESUCCESS, user, root, fs, ofh) ↔ p ≠ ε ∧ p ∈ root ∧ ¬ root[p].dir? ∧ py(user, parent(p), root, fs); (s)