| tree[parent(p0)].dir?, p0 ∈ tree, ∀ fid. count(fid, tree[p0].fids) ≤ count(fid, tree.fids) ⊦ p0 = ε, sdt0.fids ∪ ((tree.fids ∪ tree1.fids) \ tree[p0].fids) = ((sdt0.fids ∪ tree.fids) ∪ tree1.fids) \ tree[p0].fids, str ∈ sdt0, ∀ fid. count(fid, tree[p0].fids) ≤ count(fid, tree.fids ∪ tree1.fids) |
tree[parent(p0)].dir?, count(fid, tree.fids ∪ tree1.fids) < count(fid, tree[p0].fids), p0 ∈ tree, ∀ fid. count(fid, tree[p0].fids) ≤ count(fid, tree.fids) ⊦ p0 = ε, sdt0.fids ∪ ((tree.fids ∪ tree1.fids) \ tree[p0].fids) = ((sdt0.fids ∪ tree.fids) ∪ tree1.fids) \ tree[p0].fids, str ∈ sdt0
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic[directory-tree-inst]% ⊦ m ≤ n ↔ ¬ n < m; (ss)