Documentation

Mathlib.CategoryTheory.Dialectica.Monoidal

The Dialectica category is symmetric monoidal #

We show that the category Dial has a symmetric monoidal category structure.

The object X ⊗ Y in the Dial C category just tuples the left and right components.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.Dial.tensorObj_tgt {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] (X Y : Dial C) :
    (X.tensorObj Y).tgt = (X.tgt Y.tgt)
    @[simp]
    theorem CategoryTheory.Dial.tensorObj_src {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] (X Y : Dial C) :
    (X.tensorObj Y).src = (X.src Y.src)
    def CategoryTheory.Dial.tensorHom {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] {X₁ X₂ Y₁ Y₂ : Dial C} (f : X₁ X₂) (g : Y₁ Y₂) :
    X₁.tensorObj Y₁ X₂.tensorObj Y₂

    The functorial action of X ⊗ Y in Dial C.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem CategoryTheory.Dial.tensorHom_f {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] {X₁ X₂ Y₁ Y₂ : Dial C} (f : X₁ X₂) (g : Y₁ Y₂) :
      (tensorHom f g).f = Limits.prod.map f.f g.f

      The unit for the tensor X ⊗ Y in Dial C.

      Equations
      Instances For

        Left unit cancellation 1 ⊗ X ≅ X in Dial C.

        Equations
        Instances For

          Right unit cancellation X ⊗ 1 ≅ X in Dial C.

          Equations
          Instances For
            def CategoryTheory.Dial.associator {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] (X Y Z : Dial C) :
            (X.tensorObj Y).tensorObj Z X.tensorObj (Y.tensorObj Z)

            The associator for tensor, (X ⊗ Y) ⊗ Z ≅ X ⊗ (Y ⊗ Z) in Dial C.

            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              @[simp]
              theorem CategoryTheory.Dial.instMonoidalCategoryStruct_tensorHom_f {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] {X₁✝ Y₁✝ X₂✝ Y₂✝ : Dial C} (f : X₁✝ Y₁✝) (g : X₂✝ Y₂✝) :
              theorem CategoryTheory.Dial.tensor_comp {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] {X₁ Y₁ Z₁ X₂ Y₂ Z₂ : Dial C} (f₁ : X₁ Y₁) (f₂ : X₂ Y₂) (g₁ : Y₁ Z₁) (g₂ : Y₂ Z₂) :
              theorem CategoryTheory.Dial.associator_naturality {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] {X₁ X₂ X₃ Y₁ Y₂ Y₃ : Dial C} (f₁ : X₁ Y₁) (f₂ : X₂ Y₂) (f₃ : X₃ Y₃) :
              CategoryStruct.comp (tensorHom (tensorHom f₁ f₂) f₃) (Y₁.associator Y₂ Y₃).hom = CategoryStruct.comp (X₁.associator X₂ X₃).hom (tensorHom f₁ (tensorHom f₂ f₃))
              theorem CategoryTheory.Dial.pentagon {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] (W X Y Z : Dial C) :
              CategoryStruct.comp (tensorHom (W.associator X Y).hom (CategoryStruct.id Z)) (CategoryStruct.comp (W.associator (X.tensorObj Y) Z).hom (tensorHom (CategoryStruct.id W) (X.associator Y Z).hom)) = CategoryStruct.comp ((W.tensorObj X).associator Y Z).hom (W.associator X (Y.tensorObj Z)).hom
              theorem CategoryTheory.Dial.triangle {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] (X Y : Dial C) :
              CategoryStruct.comp (X.associator (𝟙_ (Dial C)) Y).hom (tensorHom (CategoryStruct.id X) Y.leftUnitor.hom) = tensorHom X.rightUnitor.hom (CategoryStruct.id Y)
              def CategoryTheory.Dial.braiding {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] (X Y : Dial C) :
              X.tensorObj Y Y.tensorObj X

              The braiding isomorphism X ⊗ Y ≅ Y ⊗ X in Dial C.

              Equations
              Instances For
                theorem CategoryTheory.Dial.symmetry {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] (X Y : Dial C) :
                CategoryStruct.comp (X.braiding Y).hom (Y.braiding X).hom = CategoryStruct.id (X.tensorObj Y)
                theorem CategoryTheory.Dial.hexagon_forward {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] (X Y Z : Dial C) :
                CategoryStruct.comp (X.associator Y Z).hom (CategoryStruct.comp (X.braiding (MonoidalCategoryStruct.tensorObj Y Z)).hom (Y.associator Z X).hom) = CategoryStruct.comp (tensorHom (X.braiding Y).hom (CategoryStruct.id Z)) (CategoryStruct.comp (Y.associator X Z).hom (tensorHom (CategoryStruct.id Y) (X.braiding Z).hom))
                theorem CategoryTheory.Dial.hexagon_reverse {C : Type u} [Category.{v, u} C] [Limits.HasFiniteProducts C] [Limits.HasPullbacks C] (X Y Z : Dial C) :
                CategoryStruct.comp (X.associator Y Z).inv (CategoryStruct.comp ((MonoidalCategoryStruct.tensorObj X Y).braiding Z).hom (Z.associator X Y).inv) = CategoryStruct.comp (tensorHom (CategoryStruct.id X) (Y.braiding Z).hom) (CategoryStruct.comp (X.associator Z Y).inv (tensorHom (X.braiding Z).hom (CategoryStruct.id Y)))