Documentation

TauCeti.CategoryTheory.GrothendieckGroup.Monoidal.Basic

The tensor product makes split K₀ a ring #

The split Grothendieck group TauCeti.SplitK0 C of TauCeti/CategoryTheory/GrothendieckGroup/Split.lean records the additive structure of a category: [X ⊞ Y] = [X] + [Y]. When C also carries a monoidal structure whose tensor product is additive in each factor (CategoryTheory.MonoidalPreadditive), the tensor product descends to a multiplication on SplitK0 C and makes it a ring, commutative as soon as C is braided.

The construction is entirely a matter of feeding the tensor product to the universal property twice. For a fixed object X, tensoring on the left is an additive endofunctor of C, so TauCeti.SplitK0.map turns it into an endomorphism of the group. Sending X to that endomorphism is itself an isomorphism-invariant, biproduct-additive function of X -- additivity in X is TauCeti.SplitK0.map applied to tensoring on the right -- so it descends to TauCeti.SplitK0.mulHom, a biadditive multiplication with [X] * [Y] = [X ⊗ Y]. Distributivity is then automatic, and the remaining ring axioms are the associator, the unitors, and the braiding: each of them is an equality of bundled additive maps, so it is checked on the classes of objects by TauCeti.SplitK0.hom_ext.

The multiplication is not obtained by a second presentation: no new relation is imposed, and the underlying additive group is unchanged. In particular a biproduct-additive invariant into a ring becomes a ring homomorphism TauCeti.SplitK0.liftRingHom exactly when it sends the tensor unit to 1 and is multiplicative on the classes of objects, which is how character-style invariants are recognized.

This is the ring structure the representation ring R(G) of a finite group carries. Split K₀ is the right home for it: the Grothendieck group of a semisimple category, such as the finite-dimensional representations of a finite group over a field of characteristic zero, has no relations beyond the biproduct ones, so the split group is the representation ring there. Producing that instantiation additionally needs the smallness of the representation category, which is a separate matter and is not proved here; nothing below assumes semisimplicity.

Main definitions #

Main results #

Implementation notes #

TauCeti.SplitK0.mulHom is stated as a bundled SplitK0 C →+ SplitK0 C →+ SplitK0 C rather than as a bare function, because biadditivity is exactly what makes the ring axioms checkable on the classes of objects: associativity, commutativity, and multiplicativity of an induced map are each an equality of bundled maps, so TauCeti.SplitK0.hom_ext reduces them to the classes of objects with no additive bookkeeping left to do.

Tensoring on the left by a fixed object, and the two lemmas saying that it is an isomorphism-invariant, biproduct-additive function of that object, are the input to the second use of the universal property and have no role afterwards, so they are private: the public computation rule is TauCeti.SplitK0.of_mul_of.

The Mul and One instances are installed before the Ring instance so that the axioms can be stated in the usual notation; the Ring instance reuses them rather than introducing new operations. Distributivity alone stages a private NonUnitalNonAssocRing structure, which is what makes Mathlib's bundled AddMonoidHom.mulLeft₃, AddMonoidHom.mulRight₃ and AddMonoidHom.mul applicable to the remaining axioms. No axiom witness is exported under a TauCeti.SplitK0 name: each is a field of the instance it discharges, so the general lemmas mul_assoc, one_mul, ... are the only ones to use.

References #

The ring structure #

Distributivity is additivity of TauCeti.SplitK0.mulHom in each variable; it already stages a NonUnitalNonAssocRing structure. The remaining axioms are then equalities of the bundled maps AddMonoidHom.mulLeft₃, AddMonoidHom.mulRight₃ and AddMonoidHom.mul, so TauCeti.SplitK0.hom_ext reduces them to the classes of objects.

@[instance_reducible]

The tensor product makes the split Grothendieck group of a monoidal additive category a ring, with [X] * [Y] = [X ⊗ Y] and unit the class of the tensor unit: associativity is the associator of C, and the unit laws are its unitors.

Equations
  • One or more equations did not get rendered due to their size.

Two ring homomorphisms out of split K₀ agreeing on the classes of objects are equal. The target is a ring rather than a semiring: split K₀ is generated by the classes of objects as a group, so agreeing on them forces agreement on the negatives only when the target has them.

The ring homomorphism out of split K₀ induced by a biproduct-additive invariant which sends the tensor unit to 1 and is multiplicative on tensor products. With TauCeti.SplitK0.ringHom_ext for uniqueness, this is the universal property of split K₀ as a ring: it is what promotes a multiplicative invariant, such as a character, to a ring homomorphism. The target is a ring rather than a semiring because a TauCeti.SplitK0.AdditiveInvariant takes values in an additive group.

Equations
Instances For
    @[simp]

    The induced ring homomorphism takes the class of an object to the value of the invariant.

    @[instance_reducible]

    For a braided monoidal additive category the ring structure on split K₀ is commutative: [X] * [Y] = [X ⊗ Y] = [Y ⊗ X] = [Y] * [X] by the braiding of C.

    Equations

    The ring homomorphism of split Grothendieck groups induced by a monoidal additive functor: the functorial map TauCeti.SplitK0.map, read through the universal property as the invariant X ↦ [F.obj X], which the comparison isomorphisms of F make unit-preserving and multiplicative on tensor products.

    Equations
    Instances For