RoseTree double-cut coassociativity for Δ^c (combinatorial core of MCB 1.2.10) #
[MCB25] [foissy-introduction-hopf-algebras-trees]
The combinatorial heart of Δ^c coassociativity: both (Δ^c ⊗ id) ∘ Δ^c and
(id ⊗ Δ^c) ∘ Δ^c enumerate ordered pairs of nested admissible cuts of a
tree, and under trace coherence the two enumerations agree as Nonplanar
multisets. This file proves that agreement at the planar level (where
cutSummandsCP recurses structurally); TraceNonplanar.lean descends it
through Nonplanar.mk to close the Nonplanar doubleCut_eq.
Main results #
coassT— per-tree coassoc(dcLHSP τ t).map proj3 = (dcRHSP τ t).map proj3.coassL/coassA— children-list / per-child coassoc (mutual, mirroringcutListSummandsG/augActionG);coassAis whereTraceCoherentPreconciles the marker a deeper cut writes on a trunk.dclN_clconv/dcrN_clconv— the two second-cut maps are multiplicative over the children-list convolutionclconv(the engine of the induction).mconv— multiset convolution monoid, withmconv_prod_hom.
Status #
[UPSTREAM] candidate. Sorry-free. The bijection statement was validated by
exhaustive small-tree computation (canonical-form multiset comparison) before
the structural proof, including the failure for marker-sensitive τ.
Generic multiset convolution over an additive monoid #
mconv s t = (s ×ˢ t).map (·+·) — the convolution of two multisets over
an AddCommMonoid. This is the per-component combination of cut pairs
(forest crowns/trunks add) and, at the triple level, the combination of
double-cut layers. Proved a commutative monoid with unit {0}.
Multiset convolution over an additive structure.
Equations
- DoubleCut.mconv s t = Multiset.map (fun (p : M × M) => p.1 + p.2) (s ×ˢ t)
Instances For
RoseTree tree-cut enumerator (crown forest, trunk forest).
Equations
- DoubleCut.treeCutsP τ t = ({t}, 0) ::ₘ Multiset.map (fun (p : RootedTree.Forest (RoseTree (α ⊕ β)) × RoseTree (α ⊕ β)) => (p.1, {p.2})) (RootedTree.ConnesKreimer.cutSummandsCP τ t)
Instances For
Forest-cut enumerator: convolution over the component trees.
Equations
- DoubleCut.forestCutsP τ F = Multiset.foldr DoubleCut.convFP {(0, 0)} (Multiset.map (DoubleCut.treeCutsP τ) F)
Instances For
Projection of a triple of planar forests to nonplanar (mod planar order).
Equations
- DoubleCut.proj3 q = (Multiset.map RootedTree.Nonplanar.mk q.1, Multiset.map RootedTree.Nonplanar.mk q.2.1, Multiset.map RootedTree.Nonplanar.mk q.2.2)
Instances For
Basic recursions for forestCutsP #
Multiplicativity machinery #
Equations
- DoubleCut.Triple α = (DoubleCut.FP α × DoubleCut.FP α × DoubleCut.FP α)
Instances For
mconv commutes with a map whose combination splits as g (x+y) = f x + f' y.
A monoid hom h : (M,+) → (Multiset T, mconv) turns bind over a
convolution into a convolution of binds.
proj3 is additive #
The two second-cut maps are monoid homs #
LHS second cut: re-cut the crown p.1, carrying trunk p.2.
Equations
- DoubleCut.hL τ p = Multiset.map (fun (A12 : DoubleCut.Pair (α ⊕ β)) => (A12.1, A12.2, p.2)) (DoubleCut.forestCutsP τ p.1)
Instances For
RHS second cut: re-cut the trunk p.2, carrying crown p.1.
Equations
- DoubleCut.hR τ p = Multiset.map (fun (B12 : DoubleCut.Pair (α ⊕ β)) => (p.1, B12.1, B12.2)) (DoubleCut.forestCutsP τ p.2)
Instances For
Multiplicativity of the forest double-cut #
Forest coassoc from per-component tree coassoc #
Node-level reduction of the per-tree double cut #
The children-list cut enumerator (with trace leaves in the remainder),
distinct from forestCutsP (deletion). treeCutsP/dcLHSP/dcRHSP of a
node a cs decompose over it.
Children-list cut enumerator: cutListSummandsG (extractC τ).
Equations
Instances For
treeCutsP of a node: full cut, plus root-preserving cuts coming
from the children-list cut wrapped with node a.
LHS double cut of a node: the full-cut boundary triple, the "split-at-root" middle terms, and the genuine children-crown re-cuts.
RHS double cut of a node: the full-cut boundary triple plus, for each
children-cut, re-cutting the trunk tree node a remainder.
Children-list convolution clconv and Cl as a monoid hom #
Cl τ = cutListSummandsG (extractC τ) is a monoid hom from (List, ++) to
(Multiset (Forest × List), clconv). clconv is the cons-combiner of
cutListSummandsG (forest add, list append) — a (non-commutative) monoid
with unit {(0, [])}.
The children-list cut combiner: add crown forests, append remainders.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Generic convolution-multiplicativity over a cartesian-product cut #
mconv_prod_hom: when the per-element map ΦN is a convolution hom for a
combiner comb, binding ΦN over a comb-convolution of S and T
factors as the mconv of the per-side binds. This is the engine of the
children-list cons step.
The two double-cut maps and their clconv-multiplicativity (mod proj) #
dcl/dcr are the children-list double-cut enumerators (re-cut crown via
forestCutsP, vs re-cut remainder via Cl). Projected through proj3L
(third component = remainder list → multiset of nonplanar trees), each is
multiplicative over clconv.
Projection of a (crown, mid, remainder-list) triple to nonplanar.
Equations
- DoubleCut.proj3L q = (Multiset.map RootedTree.Nonplanar.mk q.1, Multiset.map RootedTree.Nonplanar.mk q.2.1, ↑(List.map RootedTree.Nonplanar.mk q.2.2))
Instances For
LHS children-list double cut: re-cut crown p.1, keep remainder p.2.
Equations
- DoubleCut.dcl τ S = S.bind fun (p : DoubleCut.FP (α ⊕ β) × List (RoseTree (α ⊕ β))) => Multiset.map (fun (c12 : DoubleCut.Pair (α ⊕ β)) => (c12.1, c12.2, p.2)) (DoubleCut.forestCutsP τ p.1)
Instances For
The children-list coassociativity engine #
coassL: the root-free children-list coassoc (LLEM3), proved by induction
on the list using clconv-multiplicativity, the per-child coassA, and
the tail IH. coassA (per-child) reduces to coassL of the child's
children with TraceCoherent reconciling the extract-whole marker.
RoseTree trace coherence: τ of a cut trunk equals τ of the tree. The
descent of TraceCoherent (Nonplanar) along Nonplanar.mk.
Equations
- DoubleCut.TraceCoherentP τ = ∀ (t : RoseTree (α ⊕ β)), ∀ p ∈ RootedTree.ConnesKreimer.cutSummandsCP τ t, τ p.2 = τ t
Instances For
Children-list cut of a singleton list is the per-child augmented action.
Projecting a triple whose remainder is a singleton [node a' l] equals
nonplanar node a'-wrapping the projection with raw remainder l.
The [node a']-wrapped dcl of the children cut, projected, equals the
nonplanar node a'-wrap of the projected dcl.
The non-extract-whole part of the trunk re-cut, projected, equals the
nonplanar node a'-wrap of the projected dcr.
dcl distributes over a cons outer cut.
Children-list coassoc (coassL) and per-child coassoc
(coassA), proved by mutual structural recursion mirroring
cutListSummandsG/augActionG. coassL is the engine of the per-tree
node step; coassA is the coherence-using combinatorial core.