| root0[parent(path')].dir?, root0.dir?, py(user, parent(path'), root0, fs), py(user, parent(path), root0, fs), parent(path') ∈ root0, path ∈ root0, path ⊑ parent(path'), root0[path].dir? → pw(user, path, root0, fs), path' ∈ root0 ∧ root0[path'].dir? → root0[path'].entries = ∅, path' ∈ root0 → (root0[path].dir? ↔ root0[path'].dir?) ⊦ path' = ε, (root0 -- path)[path', root0[path]].dir?, path ⊑ path', path' ∈ root0 ∧ ¬ root0[path'].dir? ∧ ¬ root0[path'].fid ∈ ofh.fids ∧ ¬ root0[path'].fid ∈ (root0 -- path)[path', root0[path]].fids |
Used simplifier rules: ⊦ p + str ' ≠ ε; (s)%a: ⊦ (p + p0) + p1 = p + p0 + p1; from specification list[path]% ⊦ ¬ p ⊑ p0 + p1 → ¬ p ⊑ p0; (s)%p ≠ ε ⊦ q = parent(p) ∧ str = p.last ↔ p = q + str '; (elim) Used terms: path', q, str