| buf = fs[fid].content, err = ESUCCESS, err0 = err1, fid = root[path].fid, root.dir?, fids-cons(root, fs, ofh), pre-truncate(path, n, err, user, root, fs, ofh), fid ∈ fs ⊦ ⟪psynced := ?⟫ fids-cons(root, fs[fid, fs[fid].content:= resize(buf, n)], ofh) |
root.dir?, fids-cons(root, fs, ofh), pw(user, path, root, fs), root[path].fid ∈ fs, path ∈ root, ¬ root[path].dir? ⊦ ⟪psynced := ?⟫ fids-cons(root, fs[root[path].fid, mkfile(fs[root[path].fid].meta, resize(fs[root[path].fid].content, n))], ofh)
Used simplifier rules: ⊦ f.content:= buf = mkfile(f.meta, buf); (s)%⊦ pre-truncate(p, n, ESUCCESS, user, root, fs, ofh) ↔ p ∈ root ∧ ¬ root[p].dir? ∧ pw(user, p, root, fs); (s)