| ((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 = tree1 |
⊦ tree0 = tree1 ↔ (∀ p. (p ∈ tree0 ↔ p ∈ tree1) ∧ (p ∈ tree0 → (tree0[p].dir? ↔ tree1[p].dir?) ∧ (tree0[p].dir? ⊃ tree0[p].meta = tree1[p].meta;tree0[p].fid = tree1[p].fid)))
((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 ⊦ ∀ p. (p ∈ tree0 ↔ p ∈ tree1) ∧ (p ∈ tree0 → (tree0[p].dir? ↔ tree1[p].dir?) ∧ (tree0[p].dir? ⊃ tree0[p].meta = tree1[p].meta;tree0[p].fid = tree1[p].fid))
Used terms: tree1, tree0