| tree[p].dir? ↔ m ∈ dirs, (((abs|(tree, ino, p, m) * abs(tree[p], m)) * D))(dirs), ispath(p, ino, m, dirs, files), p ∈ tree, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files ⊦ meta(p, tree, abs-files(files)) = meta(ε, m, dirs, files) |
tree[p].dir? ⊦ meta(p, tree, fs) = tree[p].meta
tree[p].dir? ↔ m ∈ dirs, (((abs|(tree, ino, p, m) * abs(tree[p], m)) * D))(dirs), ispath(p, ino, m, dirs, files), p ∈ tree, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs ⊦ meta(p, tree, abs-files(files)) = meta(ε, m, dirs, files), tree[p].dir?
tree[p].dir? ↔ m ∈ dirs, (((abs|(tree, ino, p, m) * abs(tree[p], m)) * D))(dirs), tree[p].dir?, ispath(p, ino, m, dirs, files), p ∈ tree, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs ⊦ tree[p].meta = meta(ε, m, dirs, files)
Used terms: abs-files(files), tree, p