| str ∈ sdt, p0 ∈ sdt[str], ∀ tree. p0 ∈ tree → tree[p0, tree[p0]] = tree ∨ p0 = ε ⊦ dnode(md, sdt[str, sdt[str][p0, sdt[str][p0]]]) = dnode(md, sdt) |
⊦ tree[ε] = tree
⊦ tree[ε, tree0] = tree0
p0 ∈ sdt[str], str ∈ sdt, ∀ tree. p0 ∈ tree → tree[p0, tree[p0]] = tree ∨ p0 = ε ⊦ dnode(md, sdt[str, sdt[str][p0, sdt[str][p0]]]) = dnode(md, sdt), p0 = ε
Used simplifier rules: nil-at: ⊦ tree[ε] = tree;%nil-put: ⊦ tree[ε, tree0] = tree0;% ⊦ str ∈ sdt → sdt[str, sdt[str]] = sdt; (s) Used formulas: p0 = ε