| psynced0 ↔ path' ∈ root0, err = ESUCCESS, err0 = err1, psynced0, root = (root0 -- path)[path', tree0], tree = root0[path'], tree0 = root0[path], fids-cons(root0, fs, ofh), pre-renam(path, path', err, user, root0, fs, ofh) ⊦ [fs := fs -- tree.fid; psynced := ?] fids-cons(root, fs, ofh), tree.dir?, tree.fid ∈ root.fids, tree.fid ∈ ofh.fids |
path' ≠ ε, root0[parent(path')].dir?, fids-cons(root0, fs, ofh), py(user, parent(path), root0, fs), py(user, parent(path'), root0, fs), path' ∈ root0, path ∈ root0, parent(path') ∈ root0, ¬ root0[path'].dir?, ¬ root0[path].dir?, ¬ root0[path'].fid ∈ ofh.fids, ¬ root0[path'].fid ∈ (root0 -- path)[path', root0[path]].fids, ¬ path ⊑ path' ⊦ [fs := fs -- root0[path'].fid; psynced := ?] fids-cons((root0 -- path)[path', root0[path]], fs, ofh)
Used simplifier rules: ⊦ pre-renam(p, p', ESUCCESS, user, root, fs, ofh) ↔ p' ≠ ε ∧ p ∈ root ∧ ¬ p ⊑ p' ∧ parent(p') ∈ root ∧ root[parent(p')].dir? ∧ (p' ∈ root → (root[p].dir? ↔ root[p'].dir?)) ∧ (p' ∈ root ∧ root[p'].dir? → root[p'].entries = ∅) ∧ py(user, parent(p), root, fs) ∧ py(user, parent(p'), root, fs) ∧ (root[p].dir? → pw(user, p, root, fs)); (s)