| tree0[parent(str ' + p0)].dir?, str ' ∈ tree0, p0 ∈ tree0[str '], ∀ tree0, tree1. tree0[parent(p0)].dir? ∧ p0 ∈ tree0 → tree0[p0, tree1].fids = (tree0.fids ∪ tree1.fids) \ tree0[p0].fids ∨ p0 = ε ⊦ tree0[str ' + p0, tree1].fids = (tree0.fids ∪ tree1.fids) \ tree0[str ' + p0].fids |
tree0 = dnode(md, sdt), tree0[parent(str ' + p0)].dir?, p0 ∈ tree0[str '], str ' ∈ tree0, ∀ tree0, tree1. tree0[parent(p0)].dir? ∧ p0 ∈ tree0 → tree0[p0, tree1].fids = (tree0.fids ∪ tree1.fids) \ tree0[p0].fids ∨ p0 = ε ⊦ tree0[str ' + p0, tree1].fids = (tree0.fids ∪ tree1.fids) \ tree0[str ' + p0].fids
⊦ fnode(fid).fids = {fid}
Used simplifier rules: fids-fnode: ⊦ fnode(fid).fids = {fid} ;%directory-tree, entries-tree generated by ∅, dnode, fnode, [ ];;% ⊦ str ' ∈ fnode(fid) ↔ false; (s)