| ((abs(tree, ino) * D))(dirs), ispath(ε, ino, ino0, dirs, files), ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files ⊦ tree[ε].dir? ↔ ino0 ∈ dirs |
((abs(tree, ino) * D))(dirs), ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files, ino ∈ dirs ∨ ino ∈ files ⊦ tree.dir? ↔ ino ∈ dirs
Used simplifier rules: ⊦ valid-ino(ino, dirs, files) ↔ ino ∈ dirs ∨ ino ∈ files; (s)% ⊦ ispath(ε, n, m, dirs, files) ↔ valid-ino(n, dirs, files) ∧ m = n; (s)% ⊦ tree[ε] = tree; (s)