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