The pruning coproduct Δ^ρ #
The Connes–Kreimer coproduct on unordered rooted trees, summing over admissible cuts that prune the cut subtrees, with the Hochschild 1-cocycle property of grafting and the counit laws.
Main definitions #
ConnesKreimer.comulTreeN,ConnesKreimer.comulForestN,ConnesKreimer.comulAlgHomN: the Δ^ρ coproduct, as the generic admissible-cut coproduct (Coproduct/WithCuts.lean) at the enumerationcutSummandsN.ConnesKreimer.bPlusLin: graftingB+_aas a linear map.
Main results #
ConnesKreimer.comulAlgHomN_bPlusLin_cocycle: the Hochschild 1-cocycle lawΔ^ρ ∘ B+_a = B+_a ⊗ 1 + (id ⊗ B+_a) ∘ Δ^ρ.ConnesKreimer.counit_rTensor_comulAlgHomN,ConnesKreimer.counit_lTensor_comulAlgHomN: the counit laws.ConnesKreimer.comulAlgHomN_coassoc_algHom,comulRhoN_coassoc: coassociativity, by Foissy's subalgebra argument.ConnesKreimer.instBialgebraRho: the Δ^ρBialgebra, over anyCommSemiring.
Implementation notes #
B+ only well-defines on unordered children
(Multiset (UnorderedTree α) → UnorderedTree α); on planar trees it would need
a canonical ordering — hence the cocycle and everything downstream live
at the UnorderedTree level.
The GL/CK duality theorem lives downstream in
Coproduct/PruningDuality.lean (its proof needs the B⁻ calculus of
BMinus.lean, which imports this file); the full HopfAlgebra
instance is in HopfAlgebra.lean.
[UPSTREAM] candidate.
References #
UnorderedTree tree- and forest-level Δ^ρ #
Definitional instantiations of the generic admissible-cut coproduct
(Coproduct/WithCuts.lean) at the Δ^ρ enumeration cutSummandsN.
The pruning coproduct Δ^ρ of a tree, which is comulTreeNG at the pruning cuts.
Instances For
The nonplanar forest-level Δ^ρ (multiplicative extension).
Instances For
comulForestN is multiplicative, comulForestN (T ::ₘ F) = comulTreeN T * comulForestN F.
The pruning coproduct Δ^ρ as an algebra homomorphism, which is comulAlgHomNG at the
pruning cuts.
Instances For
Hochschild 1-cocycle for B+_a #
B+_a : Forest (UnorderedTree α) → UnorderedTree α is the smart constructor
UnorderedTree.node a. Linearly extended to bPlusLin a : H →ₗ[R] H (sending
basis element of' F to ofTree (UnorderedTree.node a F)), it satisfies
the Hochschild 1-cocycle property:
Δ^ρ ∘ B+_a = (·) ⊗ 1 ∘ B+_a + (id ⊗ B+_a) ∘ Δ^ρ
i.e., for every x : H:
Δ^ρ (B+_a x) = (B+_a x) ⊗ 1 + (id ⊗ B+_a)(Δ^ρ x).
This is the algebraic input to Foissy's clean inductive proof of
coassociativity (§A.7-δ): the subalgebra A := {x | (Δ ⊗ id)(Δ x) = (id ⊗ Δ)(Δ x)} is closed under B+_a, contains all leaves (which are
B+_a 1), hence equals the whole algebra.
B+_a as a linear map #
The grafting map B+_a extends the smart constructor UnorderedTree.node a linearly
to an R-linear endomorphism of ConnesKreimer R (UnorderedTree α),
sending the basis element of' F to ofTree (UnorderedTree.node a F).
Equations
- ConnesKreimer.bPlusLin a = ConnesKreimer.linearLift fun (F : UnorderedTree.Forest (UnorderedTree α)) => ConnesKreimer.ofTree (UnorderedTree.node a F)
Instances For
comulForestN as a sum over forest cuts #
The forest coproduct is the sum of of' cf ⊗ of' rem over the cuts (cf, rem) of the
forest.
The cocycle theorem (basis-level) #
A leaf is primitive for the pruning coproduct.
The Hochschild 1-cocycle property of B+_a on basis elements. The coproduct of the grafted
tree UnorderedTree.node a F is the primitive term plus B+_a applied on the right channel of
comulForestN F.
The cocycle, lifted to the algebra-hom level on tree basis elements.
Counit laws #
(ε ⊗ id) ∘ Δ^ρ = lid⁻¹ and (id ⊗ ε) ∘ Δ^ρ = rid⁻¹, checked on trees through the cocycle
comulTreeN_node_cocycle. The left law needs induction on the tree.
Coassociativity: Foissy's subalgebra argument #
Foissy's clean proof ([Foi]; for the
connected-graded-bialgebra framing see [GR20]): the set
A := {x | (id ⊗ Δ)(Δ x) = assoc ((Δ ⊗ id)(Δ x))} is a subalgebra, closed
under B+_a by the Hochschild cocycle, and contains every ofTree T by
height induction — hence A = ⊤. Works over any CommSemiring, with no
pairing or nondegeneracy input.
The left-hand side of coassociativity, x ↦ assoc ((Δ ⊗ id) (Δ x)), as an algebra
homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The right-hand side of coassociativity, x ↦ (id ⊗ Δ) (Δ x), as an algebra homomorphism.
Equations
- ConnesKreimer.coassocRHS = (Algebra.TensorProduct.map (AlgHom.id R (ConnesKreimer R (UnorderedTree α))) ConnesKreimer.comulAlgHomN).comp ConnesKreimer.comulAlgHomN
Instances For
The coassociativity subalgebra holds the elements on which the two
sides of coassociativity agree. By Foissy's argument it contains every
tree (ofTree_mem_coassocSubalg), hence is all of H.
Equations
Instances For
Linear extension of the cocycle #
Both sides of comulAlgHomN_bPlusLin_cocycle are linear, so it extends from forests to all of
H by ConnesKreimer.lhom_ext'.
The cocycle law holds for arbitrary x : H, by linearity.
Closure of coassocSubalg under B+_a #
The substantive Foissy bit. Uses the cocycle (twice) plus tensor-algebra
calculations. Sketch (Sweedler-style, with Δ x = Σᵢ aᵢ ⊗ bᵢ):
Δ(B+_a x) = (B+_a x) ⊗ 1 + Σᵢ aᵢ ⊗ B+_a bᵢ(cocycle).(Δ ⊗ id)(Δ(B+_a x)) = Δ(B+_a x) ⊗ 1 + Σᵢ Δ(aᵢ) ⊗ B+_a bᵢ. Re-apply cocycle toΔ(B+_a x)to expand the first summand.assoc((Δ ⊗ id)(Δ(B+_a x))) = (B+_a x) ⊗ (1 ⊗ 1) + Σᵢ aᵢ ⊗ (B+_a bᵢ ⊗ 1) + Σᵢ assoc(Δ(aᵢ) ⊗ B+_a bᵢ).(id ⊗ Δ)(Δ(B+_a x)) = (B+_a x) ⊗ (1 ⊗ 1) + Σᵢ aᵢ ⊗ (B+_a bᵢ ⊗ 1) + Σᵢ aᵢ ⊗ ((id ⊗ B+_a)(Δ bᵢ)).- The "shared" first two summands match by inspection. The third summands match via
(id ⊗ id ⊗ B+_a)applied to the hypothesisassoc((Δ ⊗ id)(Δ x)) = (id ⊗ Δ)(Δ x).
A clean Lean implementation would extract a LinearMap-level helper
assoc_lTensor_bPlus_eq : assoc ∘ (Δ ⊗ id) ∘ (id ⊗ B+_a) = (id ⊗ id ⊗ B+_a) ∘ assoc ∘ (Δ ⊗ id)
(provable by TensorProduct.inductionOn), then close by congrArg ((id ⊗ id ⊗ B+_a)) on hx.
Helper commutations for the bPlus closure proof #
Three commutation/identity lemmas for the substantive Foissy bit:
comulAlgHomN_lTensor_bPlus_commute:(Δ ⊗ id) ∘ (id ⊗ B+) = (id ⊗ id ⊗ B+) ∘ (Δ ⊗ id), i.e., the comul on the left factor commutes with B+ on the right factor.assoc_lTensor_bPlus_commute:assoc ∘ (id ⊗ id_R ⊗ B+ on (H⊗H)⊗H) = (id ⊗ id ⊗ B+ on H⊗(H⊗H)) ∘ assoc, i.e., the associator commutes with B+ acting on the rightmost factor.lTensor_id_Δ_bPlus_eq:(id ⊗ Δ) ∘ (id ⊗ B+) z = assoc((id ⊗ B+)(z) ⊗ 1) + (id ⊗ id ⊗ B+) ∘ (id ⊗ Δ)(z), by cocycle on the right factor of(id ⊗ B+)(z).
Tree induction: every ofTree T is in coassocSubalg #
Every tree generator lies in coassocSubalg, by strong induction on height. A leaf is
B+_a 1, and a node is B+_a (of' F) with of' F a product of generators of smaller height.
Coassociativity at the algebra-hom level #
Direct corollary: coassocLHS = coassocRHS as algebra homs. The
Bialgebra.ofAlgHom constructor takes this in its unfolded form
(without going through the coassocLHS/coassocRHS named bundles),
so we expose both.
Coassociativity of Δ^ρ (LinearMap form).
The pruning coproduct makes ConnesKreimer R (UnorderedTree α) a bialgebra over any
commutative semiring.
Equations
- ConnesKreimer.instBialgebraRho = Bialgebra.ofAlgHom ConnesKreimer.comulAlgHomN ConnesKreimer.counit ⋯ ⋯ ⋯
The coproduct of instBialgebraRho is comulAlgHomN.
The counit of instBialgebraRho is ConnesKreimer.counit.
GL/CK duality: downstream #
The GL/CK duality theorem (pairing_gl_eq_pairing_coproduct_Rho) lives in
Coproduct/PruningDuality.lean, downstream of BMinus.lean (whose B⁻
calculus drives its proof).