| psynced, root.dir?, fids-cons(root, fs, ofh), posix-crash(root, fs, ofh, tree, fs0, ofh0) ⊦ ⟨posix_create#(path, md, user, ofh; err, root, fs; psynced)⟩ (psynced ∧ posix-crash(root, fs, ofh, tree, fs0, ofh0)) |
⊦
err0 = err, psynced, root.dir?, fids-cons(root, fs, ofh), posix-crash(root, fs, ofh, tree, fs0, ofh0) ⊦ ⟨choose err with pre-create(path, md, err, user, root, fs, ofh) in err0 := err; if err0 = ESUCCESS then choose fid with ¬ fid ∈ fs in {root[path] := fnode(fid); fs[fid] := mkfile(md, mkbuf(0))}; psynced := ?⟩ (psynced ∧ posix-crash(root, fs, ofh, tree, fs0, ofh0))
Used simplifier rules: create: ⊦ ;