Crowns of cuts #
A cut removes subtrees hanging below the root, so every crown component of a cut of T is a
proper subtree of T. For a policy that allows a cut at every subtree the converse holds, since
any one subtree below the root is removed by the cut at its own edge. Hence, for the pruning
cuts, X is not a subtree of T exactly when T ≠ X and no cut of T has X in its crown.
Main results #
ConnesKreimer.mk_mem_of_mem_crown_cutSummandsG: crown components are proper subtrees.ConnesKreimer.exists_mem_crown_cutSummandsN_iff: the crown components of the pruning cuts are exactly the proper subtrees.ConnesKreimer.not_mem_subtrees_iff:X ∉ T.subtrees ↔ T ≠ X ∧ ∀ p ∈ cutSummandsN T, X ∉ p.1.
References #
Crown components are proper subtrees #
Every crown component of a cut of t is a subtree of a child of t.
Every crown component of a cut of a list of children is a subtree of one of them.
Every crown component of a choice at the child t is a subtree of t.
Every proper subtree is a crown component #
This needs a policy that allows a cut at every subtree.
The empty cut is a cut.
The empty cut is a cut of a list of children.
Keeping the child whole is one of the choices at a child.
Every subtree of a child of t is a crown component of some cut of t.
Every subtree of a child in the list is a crown component of some cut of the list.
Every subtree of t is a crown component of some choice at the child t.
The crown components of the pruning cuts of T are exactly its proper subtrees.
X is not a subtree of T exactly when T ≠ X and no pruning cut of T has X in its
crown.