| tree[p0] = dnode(md0, sdt), p0 ∈ tree, ∀ md2, sdt1, md3, sdt2, q, md4. dnode(md2, sdt1)[p0] = dnode(md3, sdt2) ∧ p0 ∈ dnode(md2, sdt1) → (q ∈ dnode(md2, sdt1)[p0, dnode(md4, sdt2)] ↔ q ∈ dnode(md2, sdt1)) ⊦ q0 ∈ tree[p0, dnode(md1, sdt)] ↔ q0 ∈ tree, p0 = ε, str ∈ sdt1 |
tree[p0] = dnode(md0, sdt), tree = dnode(md, sdt0), p0 ∈ tree, ∀ md2, sdt1, md3, sdt2, q, md4. dnode(md2, sdt1)[p0] = dnode(md3, sdt2) ∧ p0 ∈ dnode(md2, sdt1) → (q ∈ dnode(md2, sdt1)[p0, dnode(md4, sdt2)] ↔ q ∈ dnode(md2, sdt1)) ⊦ q0 ∈ tree[p0, dnode(md1, sdt)] ↔ q0 ∈ tree, p0 = ε, str ∈ sdt1
⊦ p ∈ fnode(fid) ↔ p = ε
⊦ ε ∈ tree
Used simplifier rules: fnode-notin: ⊦ p ∈ fnode(fid) ↔ p = ε;%nil-in: ⊦ ε ∈ tree;%directory-tree, entries-tree generated by ∅, dnode, fnode, [ ];;