| links(dirs[m].entries[str], dirs) = ∅, abs(tree, ROOT_INO)(dirs), ispath(p0, ROOT_INO, m, dirs, files), str ∈ dirs[m].entries, m ∈ dirs, str ' ∈ tree[p0], p0 ∈ tree, dirs[m].entries[str] ∈ dirs, ROOT_INO ∈ dirs, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files ⊦ # orphans(dirs, files) = 0, dirs[m].entries[str] = ROOT_INO, orphans(dirs, files) = ∅ |
Used simplifier rules: ⊦ p_ino ∈ dirs ∧ dirs[p_ino] = mkdir(m, md, n, n0, entries) ∧ str ∈ entries → links(entries[str], dirs) ≠ ∅; (s)%⊦ ( ((m = ad.size ∧ md = ad.meta) ∧ m0 = ad.nlink) ∧ m1 = ad.nsubdirs) ∧ entries = ad.entries ↔ ad = mkdir(m, md, m0, m1, entries); (elim) Used terms: dirs[m], m0, md, m1, m2, entries