| sdt[str, tree][str0][p0] = fnode(fid), str0 ∈ sdt[str, tree], p0 ∈ sdt[str, tree][str0] ⊦ str ∈ sdt, str0 ' + p0 ∈ links(fid, dnode(md, sdt)), p0 ∈ links(fid, tree) ∧ str0 = str |
⊦ str ≠ str0 → sdt[str0, tree][str] = sdt[str]
⊦ p ∈ links(fid, tree) ↔ p ∈ tree ∧ tree[p] = fnode(fid)
sdt[str0][p0] = fnode(fid), p0 ∈ sdt[str, tree][str0], str0 ∈ sdt[str, tree] ⊦ str0 = str, str0 ' + p0 ∈ links(fid, dnode(md, sdt)), str ∈ sdt, p0 ∈ links(fid, tree) ∧ str0 = str
Used simplifier rules: in-plinks: ⊦ p ∈ links(fid, tree) ↔ p ∈ tree ∧ tree[p] = fnode(fid);% ⊦ sdt[str, tree][str] = tree; (s)% ⊦ str ∈ sdt[str0, tree] ↔ str = str0 ∨ str ∈ sdt; (ws) Used terms: str0, tree, str, sdt