| p0 ∈ sdt[str], ∀ tree. p0 ∈ tree → (tree -- p0).fids = tree.fids \ tree[p0].fids ∨ p0 = ε, ∃ tree, sdt0. sdt = sdt0[str, tree] ∧ ¬ str ∈ sdt0 ⊦ (dnode(md, sdt) -- (str ' + p0)).fids = sdt.fids \ sdt[str][p0].fids |
⊦ ¬ str ∈ sdt → sdt[str, tree].fids = sdt.fids ∪ tree.fids
p0 ∈ tree, ∀ tree. p0 ∈ tree → (tree -- p0).fids = tree.fids \ tree[p0].fids ∨ p0 = ε ⊦ (dnode(md, sdt0[str, tree]) -- (str ' + p0)).fids = (sdt0.fids ∪ tree.fids) \ tree[p0].fids, str ∈ sdt0
Used simplifier rules: fids-ins: ⊦ ¬ str ∈ sdt → sdt[str, tree].fids = sdt.fids ∪ tree.fids;% ⊦ sdt[str, tree][str] = tree; (s)