| root0[path'] = fnode(fid1), fnode(fid0) = root0[path], (root0 -- path)[parent(path')].dir?, root0[parent(path')].dir?, fids-cons(root0, fs, ofh), py(user, parent(path), root0, fs), py(user, parent(path'), root0, fs), fid ∈ fs, path' ∈ root0, path ∈ root0, parent(path') ∈ root0, fid ∈ root0.fids, path' ⊑ path ⊦ fid = fid0, path' = ε, path' = path, fid ∈ (root0.fids \ {fid0} ) \ (fnode(fid1) -- restn(# path', path)).fids, fid ∈ ofh.fids, ¬ fid1 ∈ ofh.fids ∧ ¬ fid1 ∈ ((root0.fids \ {fid0} ) \ (fnode(fid1) -- restn(# path', path)).fids) ∪ {fid0} |
⊦ p ⊑ p0 ↔ (∃ p1. p + p1 = p0)
Used simplifier rules: ⊦ p = p + p0 ↔ p0 = ε; (s)%a: ⊦ (p + p0) + p1 = p + p0 + p1; from specification list[path]% ⊦ p + q ∈ tree ↔ p ∈ tree ∧ q ∈ tree[p]; (s)% ⊦ p ≠ ε → parent(p0 + p) = p0 + parent(p); (s)% ⊦ restn(# p, p + p0) = p0; (s)% ⊦ p ∈ fnode(fid) ↔ p = ε; (s) Used terms: path, path'