Documentation

LeanPool.RegtsSevenster.RS.Novel.Envelope.MatMonoidal

Monoidal structure on the matrix envelope #

When C is a monoidal preadditive category (i.e. a preadditive category with a monoidal structure such that the tensor product is bilinear on morphisms), the matrix category Mat_ C inherits a monoidal structure:

The interchange law (tensorHom_comp_tensorHom) holds because matrix multiplication turns into iterated sums that factor via tensor_sum and sum_tensor (the MonoidalPreadditive hypothesis). The pentagon and triangle identities reduce componentwise to the corresponding identities in C.

Tensor product data on Mat_ C #

@[reducible]

Tensor product of objects in Mat_ C: index by the product, with componentwise tensor in C.

Equations
Instances For
    def RS.matTensorHom {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.MonoidalCategory C] {M₁ N₁ M₂ N₂ : CategoryTheory.Mat_ C} (f : M₁ ⟶ N₁) (g : M₂ ⟶ N₂) :
    matTensorObj M₁ M₂ ⟶ matTensorObj N₁ N₂

    Tensor product of morphisms in Mat_ C: the Kronecker product.

    Equations
    Instances For

      Structural isomorphisms #

      The associator and unitors are "diagonal" morphisms: given an equivalence of index types, the entry at (i, e i) is the corresponding structural morphism of C, and all other entries are zero.

      The associator hom in Mat_ C.

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

        The associator inv in Mat_ C.

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

          The left unitor hom in Mat_ C.

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

            The left unitor inv in Mat_ C.

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

              The right unitor hom in Mat_ C.

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

                The right unitor inv in Mat_ C.

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

                  Isomorphism proofs for the structural morphisms #

                  Diagonal ≫ diagonal collapses to a single summand: all off-diagonal entries in the intermediate sum vanish. Finset.sum_eq_single_of_mem identifies the unique nonzero term, and the on-diagonal entry then simplifies.

                  The associator isomorphism in Mat_ C.

                  Equations
                  Instances For

                    The left unitor isomorphism in Mat_ C.

                    Equations
                    Instances For

                      The right unitor isomorphism in Mat_ C.

                      Equations
                      Instances For

                        MonoidalCategoryStruct instance #

                        @[instance_reducible]

                        The monoidal data on the matrix category: index products on objects, Kronecker products on morphisms.

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

                        MonoidalCategory instance #

                        We use MonoidalCategory.ofTensorHom which requires proofs of the interchange law, naturality of structural isomorphisms, and the pentagon and triangle coherence identities. Each proof goes pointwise via Mat_.hom_ext, collapses diagonal sums via Finset.sum_eq_single_of_mem, and reduces to the corresponding axiom in C.

                        Pentagon and triangle coherences #

                        Both proofs go pointwise via Mat_.hom_ext, fully unfold the structural morphisms to nested dite expressions, use dite_comp/comp_dite/ tensor_dite/dite_tensor to push compositions inside the dites, decompose product sums into iterated sums, and then collapse each sum via Finset.sum_dite_irrel + Fintype.sum_dite_eq'. After all sums are gone both sides reduce to the corresponding coherence in C.

                        @[instance_reducible]

                        The monoidal structure on Mat_ C induced by the componentwise tensor product and Kronecker product of morphisms.

                        Equations

                        Composition through a tensor of two objects, entry by entry.