| tree = dnode(md, sdt), p0 ∈ tree[str '], str ' ∈ tree, ∀ tree, q. p0 ∈ tree → (q ∈ tree -- p0 ↔ ¬ p0 ⊑ q ∧ q ∈ tree) ∨ p0 = ε ⊦ q ∈ tree -- (str ' + p0) ↔ ¬ str ' + p0 ⊑ q ∧ q ∈ tree |
⊦ str ' ∈ dnode(md, sdt) ↔ str ∈ sdt
str ∈ sdt ⊦ dnode(md, sdt)[str '] = sdt[str]
str ∈ sdt, p0 ∈ sdt[str], ∀ tree, q. p0 ∈ tree → (q ∈ tree -- p0 ↔ ¬ p0 ⊑ q ∧ q ∈ tree) ∨ p0 = ε ⊦ q ∈ dnode(md, sdt) -- (str ' + p0) ↔ ¬ str ' + p0 ⊑ q ∧ q ∈ dnode(md, sdt)
Used simplifier rules: one-ind: ⊦ str ' ∈ dnode(md, sdt) ↔ str ∈ sdt;%one-at: str ∈ sdt ⊦ dnode(md, sdt)[str '] = sdt[str];