| tree = dnode(md0, sdt0), ∀ md, sdt. (∀ str. str ∈ sdt → Ptree(sdt[str])) → Ptree(dnode(md, sdt)), ∀ fid. Ptree(fnode(fid)), ∀ tree0, Ptree. #n tree0 < #n tree → (∀ md, sdt. (∀ str. str ∈ sdt → Ptree(sdt[str])) → Ptree(dnode(md, sdt))) ∧ (∀ fid. Ptree(fnode(fid))) → Ptree(tree0) ⊦ Ptree(tree) |
∀ fid. Ptree(fnode(fid)), ∀ md, sdt. (∀ str. str ∈ sdt → Ptree(sdt[str])) → Ptree(dnode(md, sdt)), ∀ tree0, Ptree. #n tree0 < #n dnode(md0, sdt0) → (∀ md, sdt. (∀ str. str ∈ sdt → Ptree(sdt[str])) → Ptree(dnode(md, sdt))) ∧ (∀ fid. Ptree(fnode(fid))) → Ptree(tree0) ⊦ Ptree(dnode(md0, sdt0))