The tensor product of an arbitrary family of monoid objects #
Infrastructure for Deligne's 2.11: in a braided monoidal category
D with filtered colimits, an arbitrary family B : ι → D of
(commutative) monoid objects has a tensor product, defined as the
filtered colimit of the tensor products of its finite
subfamilies.
The index type carries a linear order, which fixes the ordering
of the tensor slots: the finite sub-tensor-product over
s : Finset ι is the fold of B over the sorted list of s.
For s ⊆ t there is an insertion morphism which places the unit
of the missing factors into the extra slots; these are the
transition maps of a Finset ι-shaped diagram, and the big
tensor product is its colimit.
Finite tensor products #
The tensor product of the factors B i over a list of
indices, folded to the right with the unit object as seed.
Equations
Instances For
The tensor product of the factors B i over a finite set of
indices, in the slot order given by the linear order on ι.
Equations
- RS.finTensor B s = RS.listTensor B (s.sort fun (x1 x2 : ι) => x1 ≤ x2)
Instances For
The finite tensor products of a family of monoid objects are monoid objects, by folding the binary braided instance.
Equations
- One or more equations did not get rendered due to their size.
- RS.listTensorMon B [] = { one := RS.listTensorMon._aux_1 B, mul := RS.listTensorMon._aux_3 B, one_mul := ⋯, mul_one := ⋯, mul_assoc := ⋯ }
Equations
- RS.finTensorMon B s = RS.finTensorMon._aux_1 B s
Finite tensor products of commutative monoid objects are commutative, by folding the binary instance of the symmetric category.
Insertion of units #
The unit η[M] : 𝟙_ D ⟶ M is a morphism of monoid objects
from the trivial monoid.
Insertion of the unit of the monoid M in the front slot.
Equations
Instances For
Inclusions of finite tensor products #
The inclusion of a sub-tensor-product is defined at the level of
lists: for a Boolean predicate p, the tensor product over
l.filter p maps into the tensor product over l by inserting
the unit of each factor whose index fails p.
Insertion morphism from the tensor product over the filtered list into the tensor product over the full list, placing units in the slots dropped by the filter.
Convention: all stated morphisms have listTensor-form
endpoints; the tensor-shaped intermediate objects appear only
between explicit eqToHom guards, so that every composition in
the subsequent lemmas is well typed on the nose.
Equations
- One or more equations did not get rendered due to their size.
- RS.inclFilter B p [] = CategoryTheory.CategoryStruct.id (RS.listTensor B (List.filter p []))
Instances For
Equal index lists give equal (conjugated) insertions.
Equal predicates give equal (transported) insertions.
Transporting along an equality of index lists is a morphism of monoid objects.
The insertions are morphisms of monoid objects.
Inserting nothing: if every index passes the filter, the insertion is the transport of the identity.
The composition law for insertions: inserting the units of
l.filter q past p and then those of l past q is the
insertion past the conjunction. This is the coherence heart of
the transition maps of the big tensor product.
Bridging lemmas for the units of the fold monoids.
On a vanishing index list, the unit of the fold monoid is the canonical identification with the monoidal unit.
Inclusions between finite sub-tensor-products #
Sorting commutes with restriction: the sorted list of a
subset of t is the filtering of the sorted list of t.
The inclusion of the finite sub-tensor-product over s ⊆ t,
inserting the units of the factors missing from s.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Functoriality of the inclusions of sub-tensor-products.
Functoriality of the inclusions of sub-tensor-products.
The inclusions of sub-tensor-products are morphisms of monoid objects.
The big tensor product as a filtered colimit #
The Finset ι-shaped diagram of finite sub-tensor-products,
with the unit insertions as transition maps.
Equations
- RS.finTensorDiagram B = { obj := fun (s : Finset ι) => RS.finTensor B s, map := fun {X Y : Finset ι} (f : X ⟶ Y) => RS.finTensorIncl B ⋯, map_id := ⋯, map_comp := ⋯ }
Instances For
The tensor product of the whole family B, as the filtered
colimit of its finite sub-tensor-products.
Equations
Instances For
The stage inclusion of a finite sub-tensor-product into the big tensor product.
Equations
Instances For
Stage inclusions are compatible with the insertions.
Stage inclusions are compatible with the insertions.
The unit of the big tensor product: the empty stage.
Equations
Instances For
The inclusion of a single factor, through the stage at the singleton.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The unit against the stages #
The unit of the empty stage is the canonical identification with the monoidal unit.
The unit of the big tensor product is reached from the unit of any finite stage.
Merge maps #
The multiplication of the big tensor product is presented on the finite stages by the merge maps: include both stages into their union, then multiply there. This section provides the merge maps together with their coherence squares.
The inclusion of the empty stage is the unit.
The merge map of two finite stages: include both into the union stage and multiply there.
Equations
Instances For
Include-then-multiply is independent of the receiving stage: merging and then including into any common superset is inclusion into the superset followed by its multiplication.
Naturality of the merge maps in both stages.
Naturality of the merge maps in both stages.
The merge maps composed with the stage inclusions form a cocone in each variable: the square defining the multiplication of the big tensor product commutes.
The stage identification along an equality of finite sets is an inclusion.
Unit square: merging with the empty stage on the left is the left unitor followed by the inclusion.
Unit square: merging with the empty stage on the right is the right unitor followed by the inclusion.
Three-fold multiplication of a monoid object is associative, in the folded form used by the merge maps.
Definitional unfolding of the merge map, for targeted rewriting.
Associativity square of the merge maps.
Associativity square of the merge maps.
The multiplication of the big tensor product #
With tensoring preserving Finset ι-colimits, bigTensor B ⊗ X
and X ⊗ bigTensor B are colimits of the corresponding stage
diagrams; maps out of them are determined by the stages, and the
merge maps assemble into the multiplication.
Maps out of bigTensor B ⊗ X are determined by their
restrictions to the stages.
Maps out of X ⊗ bigTensor B are determined by their
restrictions to the stages.
Left compatibility of the merge-then-stage maps.
Left compatibility of the merge-then-stage maps.
Right compatibility of the merge-then-stage maps.
Right compatibility of the merge-then-stage maps.
The merge maps into the big tensor product form a cocone on the stage diagram tensored with a fixed finite stage.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplication of the big tensor product against a fixed finite stage.
Equations
- One or more equations did not get rendered due to their size.
Instances For
On a stage, the partial multiplication is merge-then-stage.
On a stage, the partial multiplication is merge-then-stage.
The partial multiplications are natural in the stage.
The partial multiplications are natural in the stage.
The partial multiplications form a cocone on the stage diagram tensored on the left with the big tensor product.
Equations
- RS.bigTensorMulTotalCocone B = { pt := RS.bigTensor B, ι := { app := fun (t : Finset ι) => RS.bigTensorMulStage B t, naturality := ⋯ } }
Instances For
The multiplication of the big tensor product.
Equations
- One or more equations did not get rendered due to their size.
Instances For
On a stage in the second variable, the multiplication is the partial multiplication.
On a stage in the second variable, the multiplication is the partial multiplication.
The multiplication restricted to a pair of stages is the merge map followed by the union stage: the presentation of the multiplication over pairs of finite stages.
The multiplication restricted to a pair of stages is the merge map followed by the union stage: the presentation of the multiplication over pairs of finite stages.
Sandwich extension: maps out of X ⊗ (bigTensor B ⊗ Y) are
determined by the stages in the middle slot.
Maps out of bigTensor B ⊗ bigTensor B are determined by
pairs of stages.
The merge maps against a fixed first stage form a cocone.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplication of a fixed finite stage against the big tensor product.
Equations
- One or more equations did not get rendered due to their size.
Instances For
On a stage, the left partial multiplication is merge-then-stage.
On a stage, the left partial multiplication is merge-then-stage.
On a stage in the first variable, the multiplication is the left partial multiplication.
On a stage in the first variable, the multiplication is the left partial multiplication.
The monoid structure on the big tensor product #
Left unit law of the big tensor product.
Right unit law of the big tensor product.
Associativity of the big tensor product multiplication.
The big tensor product of a family of monoid objects is a monoid object: the unit is the empty stage and the multiplication is assembled from the merge maps.
Equations
- RS.bigTensorMon B = { one := RS.bigTensorUnit B, mul := RS.bigTensorMul B, one_mul := ⋯, mul_one := ⋯, mul_assoc := ⋯ }
The stage inclusions are morphisms of monoid objects.
The single-factor inclusions are morphisms of monoid objects.
Commutativity #
Commutativity square of the merge maps.
Commutativity square of the merge maps.
The big tensor product of commutative monoid objects is commutative.