Trace-marker measures and conservation laws for the Δ^c cut enumeration #
The trace-marker leaf statistics on RoseTree (α ⊕ β) and
Nonplanar (α ⊕ β) (traceLeafCount, traceDepthSum — Sum.inr marks a
trace), and the size bookkeeping of the trace-preserving cut enumeration
cutSummandsCN: a cut summand splits a tree into a crown forest p.1
and a trunk p.2 carrying one trace-marker leaf per cut.
Main results #
ConnesKreimer.cutSummandsCN_numNodes— weight conservation:Σ #V(crown) + #V(trunk) = #V(T) + #cuts(MCB Lemma 1.6.3).ConnesKreimer.cutSummandsCN_traceLeafCount— trace-leaf conservation:Σ #trace(crown) + #trace(trunk) = #trace(T) + #cuts.ConnesKreimer.cutSummandsCN_lexical_conservation— exact conservation of non-trace vertices.ConnesKreimer.cutSummandsCN_trunk_rootValue,cutSummandsCN_crown_traceLeafCount_lt_numNodes— non-degeneracy: the trunk keeps the root, crown components are lexical-rooted.ConnesKreimer.Cut.numContractions,ConnesKreimer.Cut.depthC— the per-cut measures (crown cardinality; trunk trace-depth sum).
MCB's letter vocabulary over these measures (accCount, αᶜ, σᶜ) and
the Merge economy corollaries live in
Syntax/Minimalist/Workspace/TraceMeasures.lean and
Workspace/Conservation.lean.
The number of Sum.inr-labeled (trace-marker) leaves in a tree.
Equations
- t.traceLeafCount = RoseTree.leafCountP (fun (x : α ⊕ β) => x.isRight = true) t
Instances For
Sum of root-distances of the Sum.inr-labeled (trace-marker) leaves.
Equations
- t.traceDepthSum = RoseTree.leafDepthSumP (fun (x : α ⊕ β) => x.isRight = true) t
Instances For
The number of Sum.inr-labeled (trace-marker) leaves of a nonplanar tree.
Equations
- RoseTree.Nonplanar.traceLeafCount = RoseTree.Nonplanar.leafCountP fun (x : α ⊕ β) => x.isRight = true
Instances For
The depth-weighted trace-marker count of a nonplanar tree.
Equations
- RoseTree.Nonplanar.traceDepthSum = RoseTree.Nonplanar.leafDepthSumP fun (x : α ⊕ β) => x.isRight = true
Instances For
Tree-level trace-leaf conservation #
Trace-leaf conservation for Δ^c cut summands (tree level): each
contraction replaces an extracted subtree by one Sum.inr leaf, so
crown trace leaves plus trunk trace leaves recover the tree's trace
leaves plus one per cut. Requires unit-trace-count replacements.
Mutual aux: trace-leaf conservation for children-list cut summands.
Mutual aux: trace-leaf conservation for per-child actions.
Crown trace leaves are bounded by the source's (tree level): the extracted
crown forest of any cut has no more trace leaves than the whole tree, since
each crown component is a subtree. Independent of the replacement policy
(no hext hypothesis) — only the crown side is counted. Together with
cutSummandsG_traceLeafCount this forces ≥ 1 fresh trace per cut into the
trunk (cutSummandsCN_trunk_traceLeafCount_ge_card).
Mutual aux: crown trace-leaf bound for children-list cut summands.
Mutual aux: crown trace-leaf bound for per-child actions.
Nonplanar descent #
Trace-leaf conservation for the nonplanar Δ^c cuts: each contraction
adds exactly one Sum.inr leaf to the trunk (MCB Lemma 1.6.3).
Weight (vertex) conservation for the nonplanar Δ^c cuts: crown vertices plus trunk vertices recover the tree vertices plus one replacement trace leaf per cut (MCB Lemma 1.6.3).
The number of contractions in a Δ^c cut summand: one per extracted
crown component (MCB; numContractions in the legacy AdmissibleCut).
Equations
- ConnesKreimer.Cut.numContractions p = p.1.card
Instances For
The Minimal-Search depth of a Δ^c cut summand (MCB §1.5.2): the total
extraction depth Σ d_{v_i}, read off the trunk's trace markers. The Δ^c
quotient places a trace leaf at each cut site at exactly the cut depth, so
the trunk's traceDepthSum is the signed +d extraction cost of MCB rule 1.
Under Internal Merge the matching −d quotient term (rule 2) references this
same value and cancels it (cost 0); Sideward Merge incurs it uncancelled
(cost > 0, Cut.depthC_pos). Depends only on the trunk p.2, like
Cut.numContractions depends only on the crown.
Equations
Instances For
Lexical (non-trace) vertex conservation: combining weight and trace-leaf conservation, the trace leaf added at each cut is excluded from the lexical count exactly when the vertex it replaced is removed, so non-trace vertices are conserved with no correction term. Stated additively to avoid truncated ℕ subtraction.
Crown trace leaves bounded by the source's, descended to Nonplanar:
the extracted crown forest of a Δ^c cut has no more trace markers than T.
(Each crown component is a subtree of T.)
Each Δ^c contraction leaves ≥ 1 trace marker in the trunk (MCB Lemma
1.6.3 corollary): the trunk's trace count is at least the number of cuts.
From trace-leaf conservation (Σtrace(crown) + trace(trunk) = trace(T) + #cuts)
and the crown bound (Σtrace(crown) ≤ trace(T)).
Crown components are policy-chosen (non-degeneracy substrate) #
Every crown component of a cut is one the policy chose to extract.
The Δ^c policy extracts only Sum.inl-rooted (lexical) subtrees.
Crown components of a Δ^c cut are lexical-rooted, hence have strictly more vertices than trace leaves.
A Δ^c cut never touches the root: the trunk keeps the tree's root label.