| root.dir?, fids-cons(root, fs, ofh), posix-crash(root, fs, ofh, tree, fs0, ofh0) ⊦ ⟨psynced := ?⟩ (psynced ∧ posix-crash(root, fs, ofh, tree, fs0, ofh0)), ∃ err. pre-truncate(path, n, err, user, root, fs, ofh) ∧ ⟨err0 := err; if err0 = ESUCCESS then let fid = root[path].fid in let buf = fs[fid].content in fs[fid] := mkfile(fs[fid].meta, resize(buf, n)); psynced := ?⟩ (psynced ∧ posix-crash(root, fs, ofh, tree, fs0, ofh0)) |