| ⊦ # links(fid, tree) = count(fid, tree.fids) |
∀ fid. Ptree(fnode(fid)), ∀ md, sdt. (∀ str. str ∈ sdt → Ptree(sdt[str])) → Ptree(dnode(md, sdt)) ⊦ Ptree(tree)
⊦ (∀ fid. ∀ fid0, tree. fnode(fid) = tree → # links(fid0, tree) = count(fid0, tree.fids)) ∧ (∀ md, sdt. (∀ str. str ∈ sdt → (∀ fid, tree. sdt[str] = tree → # links(fid, tree) = count(fid, tree.fids))) → (∀ fid, tree. dnode(md, sdt) = tree → # links(fid, tree) = count(fid, tree.fids)))
Used terms: λ tree0. ∀ fid, tree. tree0 = tree → # links(fid, tree) = count(fid, tree.fids), tree