Combinatorial Hopf algebras and their character groups #
A combinatorial Hopf algebra (CombHopf) is a Hopf algebra given by
a distinguished basis B with finitary structure constants: the product
and coproduct of basis elements expand as finite lists of basis elements
(resp. pairs), and the antipode as a finite signed list. This is the
common shape of the Hopf algebras of rough path theory — the word
shuffle algebra, the Butcher–Connes–Kreimer algebra of rooted forests,
and the Munthe-Kaas–Wright algebra of planar forests — and it avoids
topological tensor products entirely: every axiom is a coefficientwise
finite-sum identity.
The payoff is proved once, abstractly: the R-valued characters
(CombHopf.Character) — multiplicative functionals on the basis — form
a monoid under the convolution product dual to the coproduct
(Character.instMonoid), and over a commutative ring a group, with
inverse given by precomposition with the antipode
(Character.instGroup). Signatures of paths, branched signatures, and
Lie–Butcher series are characters of the three instances above.
A combinatorial bialgebra on a basis B: finitary expansions of the
product and coproduct of basis elements, with the bialgebra axioms
stated as coefficientwise finite-sum identities against arbitrary
coefficient functions. Its characters form a monoid under convolution
(Character.instMonoid).
- mul : B → B → List B
Product expansion of two basis elements.
- one : B
The unit basis element (empty word / empty forest).
Coproduct expansion of a basis element.
- isOne : B → Bool
Boolean test for the unit basis element (keeps the counit's case split free of
Decidableinstance mismatches). - coassoc {R : Type v} [CommSemiring R] (f g h : B → R) (x : B) : (List.map (fun (p : B × B) => (List.map (fun (q : B × B) => f q.1 * g q.2) (self.coprod p.1)).sum * h p.2) (self.coprod x)).sum = (List.map (fun (p : B × B) => f p.1 * (List.map (fun (q : B × B) => g q.1 * h q.2) (self.coprod p.2)).sum) (self.coprod x)).sum
Coassociativity, paired against coefficients.
- counit_left {R : Type v} [CommSemiring R] (f : B → R) (x : B) : (List.map (fun (p : B × B) => (if self.isOne p.1 = true then 1 else 0) * f p.2) (self.coprod x)).sum = f x
Left counit law, paired against coefficients.
- counit_right {R : Type v} [CommSemiring R] (f : B → R) (x : B) : (List.map (fun (p : B × B) => f p.1 * if self.isOne p.2 = true then 1 else 0) (self.coprod x)).sum = f x
Right counit law, paired against coefficients.
- mul_count_one {R : Type v} [CommSemiring R] (x y : B) : (List.map (fun (z : B) => if self.isOne z = true then 1 else 0) (self.mul x y)).sum = (if self.isOne x = true then 1 else 0) * if self.isOne y = true then 1 else 0
The counit is multiplicative: the unit occurs in a product expansion exactly when both factors are the unit.
- bialg {R : Type v} [CommSemiring R] (φ ψ : B → R) (x y : B) : (List.map (fun (z : B) => (List.map (fun (p : B × B) => φ p.1 * ψ p.2) (self.coprod z)).sum) (self.mul x y)).sum = (List.map (fun (p : B × B) => (List.map (fun (q : B × B) => (List.map φ (self.mul p.1 q.1)).sum * (List.map ψ (self.mul p.2 q.2)).sum) (self.coprod y)).sum) (self.coprod x)).sum
Product–coproduct (bialgebra) compatibility, paired against a pair of coefficient functions.
Instances For
A combinatorial Hopf algebra: a combinatorial bialgebra together
with a finitary signed antipode expansion and its defining
identities. Its characters form a group under convolution
(Character.instGroup).
- one : B
- coassoc {R : Type v} [CommSemiring R] (f g h : B → R) (x : B) : (List.map (fun (p : B × B) => (List.map (fun (q : B × B) => f q.1 * g q.2) (self.coprod p.1)).sum * h p.2) (self.coprod x)).sum = (List.map (fun (p : B × B) => f p.1 * (List.map (fun (q : B × B) => g q.1 * h q.2) (self.coprod p.2)).sum) (self.coprod x)).sum
- bialg {R : Type v} [CommSemiring R] (φ ψ : B → R) (x y : B) : (List.map (fun (z : B) => (List.map (fun (p : B × B) => φ p.1 * ψ p.2) (self.coprod z)).sum) (self.mul x y)).sum = (List.map (fun (p : B × B) => (List.map (fun (q : B × B) => (List.map φ (self.mul p.1 q.1)).sum * (List.map ψ (self.mul p.2 q.2)).sum) (self.coprod y)).sum) (self.coprod x)).sum
Signed antipode expansion (
true=+1,false=-1).- antipode_conv {R : Type v} [CommRing R] (f : B → R) (x : B) : x ≠ self.one → (List.map (fun (p : B × B) => (List.map (fun (sa : Bool × B) => (if sa.1 = true then 1 else -1) * (List.map f (self.mul sa.2 p.2)).sum) (self.antipode p.1)).sum) (self.coprod x)).sum = 0
The antipode identity
m ∘ (S ⊗ id) ∘ Δ = η ∘ ε, paired against coefficients. - antipode_char {R : Type v} [CommRing R] (φ : B → R) : (∀ (x y : B), φ x * φ y = (List.map φ (self.mul x y)).sum) → ∀ (x y : B), (List.map (fun (sa : Bool × B) => (if sa.1 = true then 1 else -1) * φ sa.2) (self.antipode x)).sum * (List.map (fun (sa : Bool × B) => (if sa.1 = true then 1 else -1) * φ sa.2) (self.antipode y)).sum = (List.map (fun (z : B) => (List.map (fun (sa : Bool × B) => (if sa.1 = true then 1 else -1) * φ sa.2) (self.antipode z)).sum) (self.mul x y)).sum
Precomposition with the antipode preserves multiplicativity (the antipode is an algebra morphism for a commutative product).
Instances For
A character of a combinatorial Hopf algebra: a multiplicative
R-valued functional on the basis, sending the unit to 1.
Instances For
The characters of a combinatorial Hopf algebra with values in R.
Instances For
Equations
- HopfAlgebras.CombBialg.Character.instCoeFunForall = { coe := fun (φ : H.Character R) => ↑φ }
The convolution product of functionals, dual to the coproduct.
Equations
Instances For
The counit character ε(x) = δ_{x,1}, the convolution unit.
Instances For
Convolution of characters is a character (the bialgebra axiom).
The character monoid: characters under convolution.
Equations
- One or more equations did not get rendered due to their size.
Characters of the underlying bialgebra.
Instances For
Precomposition with the (signed) antipode.
Equations
Instances For
The character group: over a commutative ring, the characters of a combinatorial Hopf algebra form a group under convolution, with inverse given by precomposition with the antipode.
Equations
- One or more equations did not get rendered due to their size.