| dnode(md, sdt[str, tree])[p] = fnode(fid), p ∈ dnode(md, sdt[str, tree]) ⊦ p = ε, str ∈ sdt, p ∈ links(fid, dnode(md, sdt)), p.tail ∈ links(fid, tree) ∧ p.head = str |
dnode(md, sdt[str, tree])[p] = fnode(fid), p = str0 + p0, p ∈ dnode(md, sdt[str, tree]) ⊦ p = ε, p ∈ links(fid, dnode(md, sdt)), str ∈ sdt, p0 ∈ links(fid, tree) ∧ str0 = str
Used simplifier rules: p ≠ ε ⊦ str = p.head ∧ p0 = p.tail ↔ p = str + p0; (elim) Used terms: p, str0, p0