Bialgebra structure on ConnesKreimer R T via shuffle Δ #
Registers Coalgebra R (ConnesKreimer R T) and Bialgebra R (ConnesKreimer R T)
instances using comulShuffle (the shuffle/polynomial coproduct, where each
tree is primitive: Δ(of' {t}) = of' {t} ⊗ 1 + 1 ⊗ of' {t}) and the existing
counit (empty-forest coefficient extractor).
This is distinct from mathlib's default AddMonoidAlgebra.instBialgebra
(which uses the group-like coproduct single g r ↦ single g r ⊗ single g r).
The def-vs-abbrev discipline on ConnesKreimer R T keeps the two
unambiguous: typeclass synthesis on ConnesKreimer R T finds the shuffle
Bialgebra instance, while AddMonoidAlgebra R (Forest T) retains the
group-like one.
Status #
Phase A2 of Path A-honest (convolution route to GL associativity).
[UPSTREAM] candidate (the parametric construction is mathlib-generic).
§1: Counit laws #
(ε ⊗ id) ∘ Δ = mk R 1 and (id ⊗ ε) ∘ Δ = (mk R).flip 1. Proved by
LinearMap-extensionality reduction to basis of' F₀, then induction on
the multiset F₀ via multiplicativity (comulShuffle_mul +
Algebra.TensorProduct algebra-hom structure on the targets).
LinearMap form of the left counit law: (ε ⊗ id) ∘ Δ = mk R 1.
LinearMap form of the right counit law: (id ⊗ ε) ∘ Δ = (mk R).flip 1.
§2: Coalgebra and Bialgebra instances #
Underlying CoalgebraStruct data.
Equations
- RootedTree.ConnesKreimer.instCoalgebraStruct = { comul := RootedTree.ConnesKreimer.comulShuffle, counit := RootedTree.ConnesKreimer.counit.toLinearMap }
The Coalgebra structure on ConnesKreimer R T with shuffle Δ.
Equations
- RootedTree.ConnesKreimer.instCoalgebra = { toCoalgebraStruct := RootedTree.ConnesKreimer.instCoalgebraStruct, coassoc := ⋯, rTensor_counit_comp_comul := ⋯, lTensor_counit_comp_comul := ⋯ }
The Bialgebra structure on ConnesKreimer R T with shuffle Δ.
Equations
- One or more equations did not get rendered due to their size.