| sdt0[str0] = dnode(md, sdt), str0 ∈ sdt0, q0 ∈ dnode(md, sdt[str, tree0]), ∀ md1, sdt1, md2, sdt2, q, str2, tree. dnode(md1, sdt1) = dnode(md2, sdt2) ∧ q ∈ dnode(md2, sdt2[str2, tree]) → dnode(md2, sdt2[str2, tree])[q] = (str2 ' ⊑ q ⊃ tree[q.tail];(q = ε ⊃ dnode(md1, sdt1[str2, tree]);dnode(md1, sdt1)[q])) ⊦ dnode(md, sdt[str, tree0])[q0] = dnode(md, sdt)[q0], q0 = ε, str ' ⊑ q0 |
Used terms: md, sdt, md, sdt, q0, str, tree0