Documentation

Mathlib.CategoryTheory.Bicategory.Product

Cartesian products of bicategories #

We define the bicategory instance on B × C when B and C are bicategories.

We define:

instance CategoryTheory.Bicategory.prod (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] :

The cartesian product of two bicategories.

Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem CategoryTheory.Bicategory.prod_whiskerRight_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} {f✝ g✝ : a✝ b✝} (θ : f✝ g✝) (g : b✝ c✝) :
(whiskerRight θ g).2 = whiskerRight θ.2 g.2
@[simp]
theorem CategoryTheory.Bicategory.prod_whiskerRight_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} {f✝ g✝ : a✝ b✝} (θ : f✝ g✝) (g : b✝ c✝) :
(whiskerRight θ g).1 = whiskerRight θ.1 g.1
@[simp]
theorem CategoryTheory.Bicategory.prod_leftUnitor_hom_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} (f : a✝ b✝) :
@[simp]
theorem CategoryTheory.Bicategory.prod_associator_hom_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ d✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) (h : c✝ d✝) :
(associator f g h).hom.1 = (associator f.1 g.1 h.1).hom
@[simp]
theorem CategoryTheory.Bicategory.prod_homCategory_id_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] (X Y : B × C) (X✝ : (X.1 Y.1) × (X.2 Y.2)) :
@[simp]
theorem CategoryTheory.Bicategory.prod_rightUnitor_hom_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} (f : a✝ b✝) :
@[simp]
theorem CategoryTheory.Bicategory.prod_leftUnitor_inv_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} (f : a✝ b✝) :
@[simp]
@[simp]
theorem CategoryTheory.Bicategory.prod_homCategory_id_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] (X Y : B × C) (X✝ : (X.1 Y.1) × (X.2 Y.2)) :
@[simp]
theorem CategoryTheory.Bicategory.prod_homCategory_comp_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] (X Y : B × C) {X✝ Y✝ Z✝ : (X.1 Y.1) × (X.2 Y.2)} (f : (X✝.1 Y✝.1) × (X✝.2 Y✝.2)) (g : (Y✝.1 Z✝.1) × (Y✝.2 Z✝.2)) :
@[simp]
theorem CategoryTheory.Bicategory.prod_rightUnitor_inv_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} (f : a✝ b✝) :
@[simp]
theorem CategoryTheory.Bicategory.prod_comp_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {X✝ Y✝ Z✝ : B × C} (f : (X✝.1 Y✝.1) × (X✝.2 Y✝.2)) (g : (Y✝.1 Z✝.1) × (Y✝.2 Z✝.2)) :
@[simp]
theorem CategoryTheory.Bicategory.prod_whiskerLeft_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} (f : a✝ b✝) (g h : b✝ c✝) (θ : g h) :
(whiskerLeft f θ).2 = whiskerLeft f.2 θ.2
@[simp]
@[simp]
theorem CategoryTheory.Bicategory.prod_whiskerLeft_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} (f : a✝ b✝) (g h : b✝ c✝) (θ : g h) :
(whiskerLeft f θ).1 = whiskerLeft f.1 θ.1
@[simp]
theorem CategoryTheory.Bicategory.prod_leftUnitor_inv_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} (f : a✝ b✝) :
@[simp]
theorem CategoryTheory.Bicategory.prod_homCategory_comp_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] (X Y : B × C) {X✝ Y✝ Z✝ : (X.1 Y.1) × (X.2 Y.2)} (f : (X✝.1 Y✝.1) × (X✝.2 Y✝.2)) (g : (Y✝.1 Z✝.1) × (Y✝.2 Z✝.2)) :
@[simp]
theorem CategoryTheory.Bicategory.prod_associator_hom_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ d✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) (h : c✝ d✝) :
(associator f g h).hom.2 = (associator f.2 g.2 h.2).hom
@[simp]
theorem CategoryTheory.Bicategory.prod_rightUnitor_hom_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} (f : a✝ b✝) :
@[simp]
theorem CategoryTheory.Bicategory.prod_associator_inv_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ d✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) (h : c✝ d✝) :
(associator f g h).inv.2 = (associator f.2 g.2 h.2).inv
@[simp]
theorem CategoryTheory.Bicategory.prod_Hom (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] (X Y : B × C) :
(X Y) = ((X.1 Y.1) × (X.2 Y.2))
@[simp]
theorem CategoryTheory.Bicategory.prod_comp_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {X✝ Y✝ Z✝ : B × C} (f : (X✝.1 Y✝.1) × (X✝.2 Y✝.2)) (g : (Y✝.1 Z✝.1) × (Y✝.2 Z✝.2)) :
@[simp]
theorem CategoryTheory.Bicategory.prod_leftUnitor_hom_snd (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} (f : a✝ b✝) :
@[simp]
theorem CategoryTheory.Bicategory.prod_rightUnitor_inv_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} (f : a✝ b✝) :
@[simp]
theorem CategoryTheory.Bicategory.prod_associator_inv_fst (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ d✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) (h : c✝ d✝) :
(associator f g h).inv.1 = (associator f.1 g.1 h.1).inv

sectL B c is the strictly unitary pseudofunctor B ⥤ B × C given by X ↦ (X, c).

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.Bicategory.Prod.sectL_obj (B : Type u₁) [Bicategory B] {C : Type u₂} [Bicategory C] (c : C) (a✝ : B) :
    (sectL B c).obj a✝ = (a✝, c)
    @[simp]
    theorem CategoryTheory.Bicategory.Prod.sectL_mapComp_inv (B : Type u₁) [Bicategory B] {C : Type u₂} [Bicategory C] (c : C) {a✝ b✝ c✝ : B} (f : a✝ b✝) (g : b✝ c✝) :
    @[simp]
    theorem CategoryTheory.Bicategory.Prod.sectL_mapComp_hom (B : Type u₁) [Bicategory B] {C : Type u₂} [Bicategory C] (c : C) {a✝ b✝ c✝ : B} (f : a✝ b✝) (g : b✝ c✝) :
    @[simp]
    theorem CategoryTheory.Bicategory.Prod.sectL_map (B : Type u₁) [Bicategory B] {C : Type u₂} [Bicategory C] (c : C) {X✝ Y✝ : B} (a✝ : X✝ Y✝) :
    (sectL B c).map a✝ = Prod.mkHom a✝ (CategoryStruct.id c)
    @[simp]
    theorem CategoryTheory.Bicategory.Prod.sectL_map₂ (B : Type u₁) [Bicategory B] {C : Type u₂} [Bicategory C] (c : C) {a✝ b✝ : B} {f✝ g✝ : a✝ b✝} (a✝¹ : f✝ g✝) :

    sectR b C is the strictly unitary pseudofunctor C ⥤ B × C given by Y ↦ (b, Y).

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem CategoryTheory.Bicategory.Prod.sectR_mapComp_inv {B : Type u₁} [Bicategory B] (b : B) (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : C} (f : a✝ b✝) (g : b✝ c✝) :
      @[simp]
      theorem CategoryTheory.Bicategory.Prod.sectR_map₂ {B : Type u₁} [Bicategory B] (b : B) (C : Type u₂) [Bicategory C] {a✝ b✝ : C} {f✝ g✝ : a✝ b✝} (a✝¹ : f✝ g✝) :
      @[simp]
      theorem CategoryTheory.Bicategory.Prod.sectR_map {B : Type u₁} [Bicategory B] (b : B) (C : Type u₂) [Bicategory C] {X✝ Y✝ : C} (a✝ : X✝ Y✝) :
      (sectR b C).map a✝ = Prod.mkHom (CategoryStruct.id b) a✝
      @[simp]
      theorem CategoryTheory.Bicategory.Prod.sectR_mapComp_hom {B : Type u₁} [Bicategory B] (b : B) (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : C} (f : a✝ b✝) (g : b✝ c✝) :
      @[simp]
      theorem CategoryTheory.Bicategory.Prod.sectR_obj {B : Type u₁} [Bicategory B] (b : B) (C : Type u₂) [Bicategory C] (a✝ : C) :
      (sectR b C).obj a✝ = (b, a✝)

      fst is the strict pseudofunctor given by projection to the first factor.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem CategoryTheory.Bicategory.Prod.fst_map (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {X✝ Y✝ : B × C} (a✝ : X✝ Y✝) :
        (fst B C).map a✝ = a✝.1
        @[simp]
        @[simp]
        theorem CategoryTheory.Bicategory.Prod.fst_obj (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] (a✝ : B × C) :
        (fst B C).obj a✝ = a✝.1
        @[simp]
        theorem CategoryTheory.Bicategory.Prod.fst_mapComp_inv (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) :
        @[simp]
        theorem CategoryTheory.Bicategory.Prod.fst_mapComp_hom (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) :
        @[simp]
        @[simp]
        theorem CategoryTheory.Bicategory.Prod.fst_map₂ (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} {f✝ g✝ : a✝ b✝} (a✝¹ : f✝ g✝) :
        (fst B C).map₂ a✝¹ = a✝¹.1

        snd is the strict pseudofunctor given by projection to the second factor.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          @[simp]
          theorem CategoryTheory.Bicategory.Prod.snd_obj (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] (a✝ : B × C) :
          (snd B C).obj a✝ = a✝.2
          @[simp]
          theorem CategoryTheory.Bicategory.Prod.snd_mapComp_hom (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) :
          @[simp]
          @[simp]
          theorem CategoryTheory.Bicategory.Prod.snd_map (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {X✝ Y✝ : B × C} (a✝ : X✝ Y✝) :
          (snd B C).map a✝ = a✝.2
          @[simp]
          theorem CategoryTheory.Bicategory.Prod.snd_mapComp_inv (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Prod.snd_map₂ (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} {f✝ g✝ : a✝ b✝} (a✝¹ : f✝ g✝) :
          (snd B C).map₂ a✝¹ = a✝¹.2

          The pseudofunctor swapping the factors of a cartesian product of bicategories, B × C ⥤ C × B.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.Bicategory.Prod.swap_map (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {X✝ Y✝ : B × C} (a✝ : X✝ Y✝) :
            (swap B C).map a✝ = Prod.mkHom a✝.2 a✝.1
            @[simp]
            theorem CategoryTheory.Bicategory.Prod.swap_mapComp_hom (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) :
            @[simp]
            theorem CategoryTheory.Bicategory.Prod.swap_obj (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] (a✝ : B × C) :
            (swap B C).obj a✝ = (a✝.2, a✝.1)
            @[simp]
            theorem CategoryTheory.Bicategory.Prod.swap_mapComp_inv (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ c✝ : B × C} (f : a✝ b✝) (g : b✝ c✝) :
            @[simp]
            theorem CategoryTheory.Bicategory.Prod.swap_map₂ (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {a✝ b✝ : B × C} {f✝ g✝ : a✝ b✝} (a✝¹ : f✝ g✝) :
            (swap B C).map₂ a✝¹ = Prod.mkHom a✝¹.2 a✝¹.1
            instance CategoryTheory.Bicategory.uniformProd (B : Type u₁) [Bicategory B] (C : Type u₁) [Bicategory C] :

            Bicategory.uniformProd B C is an additional instance specialised so both factors have the same universe levels. This helps typeclass resolution.

            Equations