| root.dir?, fids-cons(root, fs, ofh) ⊦ ⟪posix_unlink#(path, user, ofh; err, root, fs; psynced)⟫ (root.dir? ∧ fids-cons(root, fs, ofh)) |
⊦
err0 = err, root.dir?, fids-cons(root, fs, ofh) ⊦ ⟪choose err with pre-unlink(path, err, user, root, fs, ofh) in err0 := err; if err0 = ESUCCESS then let fid = root[path].fid in {root := root -- path; if ¬ fid ∈ ofh.fids ∧ ¬ fid ∈ root.fids then fs := fs -- fid}; psynced := ?⟫ (root.dir? ∧ fids-cons(root, fs, ofh))
Used simplifier rules: unlink: ⊦ ;