| links(ino, dirs) = ∅, abs(tree, ROOT_INO)(dirs), ispath(p, ROOT_INO, ino, dirs, files), ino ∈ dirs, p ∈ tree, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs ⊦ # orphans(dirs, files) = 0, ino = ROOT_INO, orphans(dirs, files) = ∅ |
links(ino, dirs) = ∅, abs(tree, ROOT_INO)(dirs), ispath(p, ROOT_INO, ino, dirs, files), p ∈ tree, ino ∈ dirs, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files ⊦ # orphans(dirs, files) = 0, ino = ROOT_INO, orphans(dirs, files) = ∅, p = ε
Used simplifier rules: ⊦ ε ∈ tree; (s)% ⊦ ispath(ε, n, m, dirs, files) ↔ valid-ino(n, dirs, files) ∧ m = n; (s)% ⊦ valid-ino(ino, dirs, files) ↔ ino ∈ dirs ∨ ino ∈ files; (s) Used formulas: p = ε