| links(ino, dirs) = ∅, abs(tree, ROOT_INO)(dirs), ispath(p0 + str ', ROOT_INO, ino, dirs, files), ROOT_INO ∈ dirs, ino ∈ dirs, p0 ∈ tree, str ' ∈ tree[p0], ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs ⊦ # orphans(dirs, files) = 0, ino = ROOT_INO, orphans(dirs, files) = ∅ |
⊦ ispath(p + q, n, m, dirs, files) ↔ (∃ m0. ispath(p, n, m0, dirs, files) ∧ ispath(q, m0, m, dirs, files))
links(ino, dirs) = ∅, abs(tree, ROOT_INO)(dirs), str ' ∈ tree[p0], p0 ∈ tree, ino ∈ dirs, ROOT_INO ∈ dirs, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files, ∃ m0. ispath(p0, ROOT_INO, m0, dirs, files) ∧ ispath(str ', m0, ino, dirs, files) ⊦ # orphans(dirs, files) = 0, ino = ROOT_INO, orphans(dirs, files) = ∅
Used terms: files, dirs, ino, ROOT_INO, str ', p0