| ((abs(tree0, ino) * D0))(dirs), ((abs(tree1, ino) * D1))(dirs), ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs, ∀ ino. ⌜ino⌝ ∈ tree0.fids → ino ∈ files, ∀ ino. ⌜ino⌝ ∈ tree1.fids → ino ∈ files ⊦ (ε ∈ tree0 ↔ ε ∈ tree1) ∧ (ε ∈ tree0 → (tree0[ε].dir? ↔ tree1[ε].dir?) ∧ (tree0[ε].dir? ⊃ tree0[ε].meta = tree1[ε].meta;tree0[ε].fid = tree1[ε].fid)) |
((abs(tree1, ino) * D1))(dirs), ((abs(tree0, ino) * D0))(dirs), ∀ ino. ⌜ino⌝ ∈ tree1.fids → ino ∈ files, ∀ ino. ⌜ino⌝ ∈ tree0.fids → ino ∈ files, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs ⊦ (tree0.dir? ↔ tree1.dir?) ∧ (tree0.dir? ⊃ tree0.meta = tree1.meta;tree0.fid = tree1.fid)
Used simplifier rules: ⊦ tree[ε] = tree; (s)% ⊦ ε ∈ tree; (s)