Documentation

Mathlib.Tactic.CategoryTheory.BicategoricalComp

Bicategorical composition ⊗≫ (composition up to associators) #

We provide f ⊗≫ g, the bicategoricalComp operation, which automatically inserts associators and unitors as needed to make the target of f match the source of g.

class CategoryTheory.BicategoricalCoherence {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} (f : a b) (g : a b) :

A typeclass carrying a choice of bicategorical structural isomorphism between two objects. Used by the ⊗≫ bicategorical composition operator, and the coherence tactic.

  • iso : f g

    The chosen structural isomorphism between to 1-morphisms.

Instances
    @[reducible, inline]
    abbrev CategoryTheory.bicategoricalIso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} (f : a b) (g : a b) [CategoryTheory.BicategoricalCoherence f g] :
    f g

    Construct an isomorphism between two objects in a bicategorical category out of unitors and associators.

    Equations
    Instances For
      def CategoryTheory.bicategoricalComp {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {f : a b} {g : a b} {h : a b} {i : a b} [CategoryTheory.BicategoricalCoherence g h] (η : f g) (θ : h i) :
      f i

      Compose two morphisms in a bicategorical category, inserting unitors and associators between as necessary.

      Equations
      Instances For
        def CategoryTheory.bicategoricalIsoComp {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {f : a b} {g : a b} {h : a b} {i : a b} [CategoryTheory.BicategoricalCoherence g h] (η : f g) (θ : h i) :
        f i

        Compose two isomorphisms in a bicategorical category, inserting unitors and associators between as necessary.

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.refl_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} (f : a b) :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.Iso.refl f
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.whiskerLeft_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} (f : a b) (g : b c) (h : b c) [CategoryTheory.BicategoricalCoherence g h] :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.Bicategory.whiskerLeftIso f CategoryTheory.BicategoricalCoherence.iso
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.whiskerRight_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} (f : a b) (g : a b) (h : b c) [CategoryTheory.BicategoricalCoherence f g] :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.Bicategory.whiskerRightIso CategoryTheory.BicategoricalCoherence.iso h
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.tensorRight_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} (f : a b) (g : b b) [CategoryTheory.BicategoricalCoherence (CategoryTheory.CategoryStruct.id b) g] :
          CategoryTheory.BicategoricalCoherence.iso = (CategoryTheory.Bicategory.rightUnitor f).symm ≪≫ CategoryTheory.Bicategory.whiskerLeftIso f CategoryTheory.BicategoricalCoherence.iso
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.tensorRight'_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} (f : a b) (g : b b) [CategoryTheory.BicategoricalCoherence g (CategoryTheory.CategoryStruct.id b)] :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.Bicategory.whiskerLeftIso f CategoryTheory.BicategoricalCoherence.iso ≪≫ CategoryTheory.Bicategory.rightUnitor f
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.left_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} (f : a b) (g : a b) [CategoryTheory.BicategoricalCoherence f g] :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.Bicategory.leftUnitor f ≪≫ CategoryTheory.BicategoricalCoherence.iso
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.left'_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} (f : a b) (g : a b) [CategoryTheory.BicategoricalCoherence f g] :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.BicategoricalCoherence.iso ≪≫ (CategoryTheory.Bicategory.leftUnitor g).symm
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.right_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} (f : a b) (g : a b) [CategoryTheory.BicategoricalCoherence f g] :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.Bicategory.rightUnitor f ≪≫ CategoryTheory.BicategoricalCoherence.iso
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.right'_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} (f : a b) (g : a b) [CategoryTheory.BicategoricalCoherence f g] :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.BicategoricalCoherence.iso ≪≫ (CategoryTheory.Bicategory.rightUnitor g).symm
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.assoc_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {d : B} (f : a b) (g : b c) (h : c d) (i : a d) [CategoryTheory.BicategoricalCoherence (CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp g h)) i] :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.Bicategory.associator f g h ≪≫ CategoryTheory.BicategoricalCoherence.iso
          @[simp]
          theorem CategoryTheory.BicategoricalCoherence.assoc'_iso {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {d : B} (f : a b) (g : b c) (h : c d) (i : a d) [CategoryTheory.BicategoricalCoherence i (CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp g h))] :
          CategoryTheory.BicategoricalCoherence.iso = CategoryTheory.BicategoricalCoherence.iso ≪≫ (CategoryTheory.Bicategory.associator f g h).symm
          @[simp]
          theorem CategoryTheory.bicategoricalComp_refl {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {f : a b} {g : a b} {h : a b} (η : f g) (θ : g h) :