Documentation

Mathlib.CategoryTheory.Monoidal.Rigid.Basic

Rigid (autonomous) monoidal categories #

This file defines rigid (autonomous) monoidal categories and the necessary theory about exact pairings and duals.

Main definitions #

Main statements #

Notation #

Future work #

Notes #

Although we construct the adjunction tensorLeft Y ⊣ tensorLeft X from ExactPairing X Y, this is not a bijective correspondence. I think the correct statement is that tensorLeft Y and tensorLeft X are module endofunctors of C as a right C module category, and ExactPairing X Y is in bijection with adjunctions compatible with this right C action.

References #

Tags #

rigid category, monoidal category

Coevaluation of an exact pairing.

Equations
Instances For

    Evaluation of an exact pairing.

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

      The tensor product of exact pairings. Given exact pairings (X₁, Y₁) and (X₂, Y₂), we get an exact pairing (X₁ ⊗ X₂, Y₂ ⊗ Y₁). Note the reversed order in the second factor.

      Equations
      • One or more equations did not get rendered due to their size.
      class CategoryTheory.HasRightDual {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] (X : C) :
      Type (max u₁ v₁)

      A class of objects which have a right dual.

      Instances
        class CategoryTheory.HasLeftDual {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] (Y : C) :
        Type (max u₁ v₁)

        A class of objects which have a left dual.

        Instances

          The left dual of the object X.

          Equations
          Instances For

            The right dual of the object X.

            Equations
            Instances For
              @[implicit_reducible]

              The tensor product of two objects with right duals has a right dual, given by the tensor product of the duals in the opposite order.

              Equations
              Instances For
                @[implicit_reducible]

                The tensor product of two objects with left duals has a left dual, given by the tensor product of the duals in the opposite order.

                Equations
                Instances For

                  The right adjoint mate fᘁ : Xᘁ ⟶ Yᘁ of a morphism f : X ⟶ Y.

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

                    The left adjoint mate ᘁf : ᘁY ⟶ ᘁX of a morphism f : X ⟶ Y.

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

                      The right adjoint mate fᘁ : Xᘁ ⟶ Yᘁ of a morphism f : X ⟶ Y.

                      Equations
                      Instances For

                        The left adjoint mate ᘁf : ᘁY ⟶ ᘁX of a morphism f : X ⟶ Y.

                        Equations
                        Instances For

                          The composition of right adjoint mates is the adjoint mate of the composition.

                          The composition of right adjoint mates is the adjoint mate of the composition.

                          The composition of left adjoint mates is the adjoint mate of the composition.

                          The composition of left adjoint mates is the adjoint mate of the composition.

                          Given an exact pairing on Y Y', we get a bijection on hom-sets (Y' ⊗ X ⟶ Z) ≃ (X ⟶ Y ⊗ Z) by "pulling the string on the left" up or down.

                          This gives the adjunction tensorLeftAdjunction Y Y' : tensorLeft Y' ⊣ tensorLeft Y.

                          This adjunction is often referred to as "Frobenius reciprocity" in the fusion categories / planar algebras / subfactors literature.

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

                            Given an exact pairing on Y Y', we get a bijection on hom-sets (X ⊗ Y ⟶ Z) ≃ (X ⟶ Z ⊗ Y') by "pulling the string on the right" up or down.

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

                              If Y Y' have an exact pairing, then the functor tensorLeft Y' is left adjoint to tensorLeft Y.

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

                                If Y Y' have an exact pairing, then the functor tensor_right Y is left adjoint to tensor_right Y'.

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

                                  If Y has a left dual ᘁY, then it is a closed object, with the internal hom functor Y ⟶[C] - given by left tensoring by ᘁY. This has to be a definition rather than an instance to avoid diamonds, for example between category_theory.monoidal_closed.functor_closed and CategoryTheory.Monoidal.functorHasLeftDual. Moreover, in concrete applications there is often a more useful definition of the internal hom object than ᘁY ⊗ X, in which case the closed structure shouldn't come from HasLeftDual (e.g. in the category FinVect k, it is more convenient to define the internal hom as Y →ₗ[k] X rather than ᘁY ⊗ X even though these are naturally isomorphic).

                                  Equations
                                  Instances For
                                    @[implicit_reducible]

                                    Transport an exact pairing across an isomorphism in the first argument.

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

                                      Transport an exact pairing across an isomorphism in the second argument.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[implicit_reducible]
                                        def CategoryTheory.exactPairingCongr {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {X X' Y Y' : C} [ExactPairing X' Y'] (i : X X') (j : Y Y') :

                                        Transport an exact pairing across isomorphisms.

                                        Equations
                                        Instances For
                                          def CategoryTheory.rightDualIso {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {X Y₁ Y₂ : C} (p₁ : ExactPairing X Y₁) (p₂ : ExactPairing X Y₂) :
                                          Y₁ Y₂

                                          Right duals are isomorphic.

                                          Equations
                                          Instances For
                                            def CategoryTheory.leftDualIso {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {X₁ X₂ Y : C} (p₁ : ExactPairing X₁ Y) (p₂ : ExactPairing X₂ Y) :
                                            X₁ X₂

                                            Left duals are isomorphic.

                                            Equations
                                            Instances For

                                              A right rigid monoidal category is one in which every object has a right dual.

                                              Instances

                                                A left rigid monoidal category is one in which every object has a right dual.

                                                Instances
                                                  @[implicit_reducible]

                                                  Any left rigid category is monoidal closed, with the internal hom X ⟶[C] Y = ᘁX ⊗ Y. This has to be a definition rather than an instance to avoid diamonds, for example between category_theory.monoidal_closed.functor_category and CategoryTheory.Monoidal.leftRigidFunctorCategory. Moreover, in concrete applications there is often a more useful definition of the internal hom object than ᘁY ⊗ X, in which case the monoidal closed structure shouldn't come the rigid structure (e.g. in the category FinVect k, it is more convenient to define the internal hom as Y →ₗ[k] X rather than ᘁY ⊗ X even though these are naturally isomorphic).

                                                  Equations
                                                  Instances For

                                                    A rigid monoidal category is a monoidal category which is left rigid and right rigid.

                                                    Instances