| tree.dir?, parent(p) ∈ tree ⊦ p = ε, tree[p, tree0].dir? |
⊦ tree.dir? ↔ (∃ md, sdt. tree = dnode(md, sdt))
⊦ tree.dir? ↔ ¬(∃ fid. tree = fnode(fid))
dnode(md, sdt)[p, tree0] = fnode(fid), parent(p) ∈ dnode(md, sdt) ⊦ p = ε
Used simplifier rules: dnode-elim-strong: ⊦ tree.dir? ↔ (∃ md, sdt. tree = dnode(md, sdt));%fnode-elim-strong: ⊦ tree.dir? ↔ ¬(∃ fid. tree = fnode(fid));