Connes-Kreimer Hopf algebra carrier on n-ary planar rooted trees #
@cite{marcolli-chomsky-berwick-2025} @cite{foissy-introduction-hopf-algebras-trees}
The Connes-Kreimer Hopf algebra on a tree type T is the formal
R-linear combinations of forests (multisets of trees), with product =
forest disjoint union and coproduct = sum over admissible cuts (defined
in CoproductDeletion.lean for Δ^ρ, CoproductTrace.lean for Δ^c).
This file provides the carrier and counit generic over a tree type T
(parameterized over Type u). The intended specializations:
T = RootedTree.Planar α— n-ary planar rooted trees (this file).T = RootedTree.Nonplanar α— n-ary nonplanar (future Phase A.4).T = subtype of Planar— binary, at-most-n-ary, exactly-n-ary (subtypes fromSubtypes.lean).
The product structure (algebra) doesn't depend on which T is used — forests are multisets, multiset addition is commutative (Hopf algebra is commutative). The coproduct depends on the cut substrate of T; see sibling files for specific instantiations.
Layer status #
[UPSTREAM] candidate. No sorries.
MCB anchor #
@cite{marcolli-chomsky-berwick-2025} §1.2 "Workspaces: Product and
Coproduct" introduces the Hopf algebra of workspaces; the carrier is
V(𝔉_{SO_0}) = AddMonoidAlgebra R (Multiset (FCM α)). This file
generalizes the carrier to arbitrary tree type T, with binary FCM as
one specialization (eventual Phase B target).
@cite{foissy-introduction-hopf-algebras-trees} §1.2: "The Hopf algebra H_R is the free associative commutative unitary K-algebra generated by T", where T is the set of rooted trees. Same structure here, with T parameterized.
Naming #
Type: RootedTree.ConnesKreimer R T with eponymous namespace
RootedTree.ConnesKreimer. Eponymous-type-and-namespace pattern matches
mathlib idiom (Polynomial, WittVector, PowerSeries, etc.) — no
abbreviation. The legacy open ConnesKreimer statements in soon-to-be-
rebuilt consumer files (Adger2025, Merge/*, etc.) referred to the now-
deleted top-level ConnesKreimer.{TraceTree, Hc, ...} and won't compile
against the new substrate anyway, so the silent re-binding hazard is
moot — those files need full Phase D rewrites.
The eventual upstream-mathlib home would be
Mathlib.RingTheory.HopfAlgebra.RootedTree.ConnesKreimer or similar.
§1: Forest type alias #
A forest is a multiset of trees. Multiset addition is the disjoint union (forest concatenation).
A forest of T-shaped trees: finite multiset.
Equations
- RootedTree.Forest T = Multiset T
Instances For
§2: The Connes-Kreimer Hopf algebra carrier #
The Connes-Kreimer Hopf algebra on tree type T:
AddMonoidAlgebra R (Forest T). As an algebra: product = forest
disjoint union (commutative), unit = empty forest. The Bialgebra
structure (coproduct + coassoc + counit laws) is in sibling files.
Equations
- RootedTree.ConnesKreimer R T = AddMonoidAlgebra R (RootedTree.Forest T)
Instances For
§3: Forwarded mathlib instances #
ConnesKreimer R T is a def, not abbrev, isolating its eventual
Bialgebra structure from mathlib's default AddMonoidAlgebra.instBialgebra
(group-like coproduct). Forward CommSemiring, Algebra, and FunLike
explicitly.
Equations
- One or more equations did not get rendered due to their size.
Equations
- RootedTree.ConnesKreimer.instAlgebra = { smul := RootedTree.ConnesKreimer.instAlgebra._aux_1, algebraMap := RootedTree.ConnesKreimer.instAlgebra._aux_3, commutes' := ⋯, smul_def' := ⋯ }
Equations
- RootedTree.ConnesKreimer.instFunLike = { coe := RootedTree.ConnesKreimer.instFunLike._aux_1, coe_injective' := ⋯ }
§4: Basis embeddings — of', ofTree #
The natural inclusions of basis elements (forests, single trees) into
the algebra. Mirrors mathlib's MonoidAlgebra.of' (bare function form)
and MonoidAlgebra.of (MonoidHom form).
Bare embedding: a forest as the basis vector Finsupp.single F 1.
Equations
- RootedTree.ConnesKreimer.of' F = Finsupp.single F 1
Instances For
MonoidHom embedding: Multiplicative (Forest T) →* ConnesKreimer R T.
Equations
- RootedTree.ConnesKreimer.of = { toFun := fun (F : Multiplicative (RootedTree.Forest T)) => RootedTree.ConnesKreimer.of' (Multiplicative.toAdd F), map_one' := ⋯, map_mul' := ⋯ }
Instances For
Embed a single tree as a singleton-forest basis vector.
Equations
Instances For
§5: Counit #
The counit ε : ConnesKreimer R T → R extracts the coefficient of the empty forest, packaged as an algebra hom.
The counit as a Multiplicative (Forest T) →* R monoid hom.
Uses Multiset.card_eq_zero to avoid requiring DecidableEq T:
test "is empty" via "has cardinality zero" (card is Nat, decidable).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The counit on ConnesKreimer R T as an algebra hom.
Equations
- RootedTree.ConnesKreimer.counit = (AddMonoidAlgebra.lift R R (RootedTree.Forest T)) RootedTree.ConnesKreimer.counitMonoidHom