| abs(tree, ROOT_INO)(dirs), ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs ⊦ ∀ ino. (ino ∈ dirs \ orphans(dirs, files) ↔ ino ∈ dirs) ∧ (ino ∈ dirs \ orphans(dirs, files) → (dirs \ orphans(dirs, files))[ino] = dirs[ino]) |
abs(tree, ROOT_INO)(dirs), ino ∈ dirs, ino ∈ orphans(dirs, files), ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs ⊦ # orphans(dirs, files) = 0, orphans(dirs, files) = ∅
Used simplifier rules: size-zero-01: ⊦ nats ≠ ∅ → # nats ≠ 0; (forward) from specification set-basic[open-file-handles]%ne-01: ⊦ fd ∈ nats → nats ≠ ∅; (forward) from specification set-basic[open-file-handles]% ⊦ ino ∈ dirs ∧ ¬ ino ∈ ns → (dirs \ ns)[ino] = dirs[ino]; (s)% ⊦ ino ∈ dirs \ ns ↔ ino ∈ dirs ∧ ¬ ino ∈ ns; (s)