| str ∈ sdt, p0 ∈ sdt[str], str0 ' ∈ dnode(md, sdt) -- (str ' + p0), q1 ∈ (dnode(md, sdt) -- (str ' + p0))[str0 '], ∀ tree0, q0. p0 ∈ tree0 ∧ ¬ p0 ⊑ q0 ∧ q0 ∈ tree0 → (tree0 -- p0)[q0] = (q0 ⊑ p0 ⊃ tree0[q0] -- restn(# q0, p0);tree0[q0]) ∨ p0 = ε ⊦ (dnode(md, sdt) -- (str ' + p0))[str0 '][q1] = (str0 ' + q1 ⊑ str ' + p0 ⊃ dnode(md, sdt)[str0 ' + q1] -- restn(# q1, p0);dnode(md, sdt)[str0 ' + q1]) |
p0 = ε, q1 ∈ (dnode(md, sdt) -- (str ' + p0))[str0 '], str0 ' ∈ dnode(md, sdt) -- (str ' + p0), p0 ∈ sdt[str], str ∈ sdt, ∀ tree0, q0. p0 ∈ tree0 ∧ ¬ p0 ⊑ q0 ∧ q0 ∈ tree0 → (tree0 -- p0)[q0] = (q0 ⊑ p0 ⊃ tree0[q0] -- restn(# q0, p0);tree0[q0]) ∨ p0 = ε ⊦ (dnode(md, sdt) -- (str ' + p0))[str0 '][q1] = (str0 ' + q1 ⊑ str ' + p0 ⊃ dnode(md, sdt)[str0 ' + q1] -- restn(# q1, p0);dnode(md, sdt)[str0 ' + q1])
q1 ∈ (dnode(md, sdt) -- (str ' + p0))[str0 '], str0 ' ∈ dnode(md, sdt) -- (str ' + p0), p0 ∈ sdt[str], str ∈ sdt, ∀ tree0, q0. p0 ∈ tree0 ∧ ¬ p0 ⊑ q0 ∧ q0 ∈ tree0 → (tree0 -- p0)[q0] = (q0 ⊑ p0 ⊃ tree0[q0] -- restn(# q0, p0);tree0[q0]) ∨ p0 = ε ⊦ (dnode(md, sdt) -- (str ' + p0))[str0 '][q1] = (str0 ' + q1 ⊑ str ' + p0 ⊃ dnode(md, sdt)[str0 ' + q1] -- restn(# q1, p0);dnode(md, sdt)[str0 ' + q1]), p0 = ε
Used formulas: p0 = ε