| ⊦ (∀ 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))) |
⊦ links(fid, fnode(fid0)) = (fid = fid0 ⊃ {ε} ;∅)
⊦ (fnode(fid) = tree → # (fid0 = fid ⊃ ∅ ++ ε;∅) = (fid0 = fid ⊃ 1;0)) ∧ ( (∀ str. str ∈ sdt → (∀ fid1. # links(fid1, sdt[str]) = count(fid1, sdt[str].fids))) → dnode(md, sdt) = tree0 → # links(fid1, dnode(md, sdt)) = count(fid1, sdt.fids))
Used simplifier rules: links1: ⊦ links(fid, fnode(fid0)) = (fid = fid0 ⊃ {ε} ;∅);% ⊦ dnode(md, sdt).fids = sdt.fids; (s)% ⊦ count(fid, {fid0} ) = (fid = fid0 ⊃ 1;0); (s)% ⊦ fnode(fid).fids = {fid} ; (s)% ⊦ {p} = ∅ ++ p; (s)