The Profunctor Bicategory #
This file defines the bicategory ProfCat whose objects are categories and whose 1-morphisms are
profunctors. The 2-morphisms are natural transformations between profunctors.
The bicategory instance is defined on ProfCat.{u, u}, with profunctors valued in Type u.
Its operations simplify to the corresponding operations in the Profunctor namespace.
The bicategory of categories where the 1-morphisms are profunctors.
- of :: (
- obj : Type u
The objects of the bicategory are types...
- str : Category.{v, u} self.obj
... bundled with a category instance.
- )
Instances For
@[instance_reducible]
Equations
@[simp]
@[simp]
theorem
CategoryTheory.Profunctor.pentagon
{C D E F G : Type u}
[Category.{v_1, u} C]
[Category.{v_2, u} D]
[Category.{v_3, u} E]
[Category.{v_4, u} F]
[Category.{v_5, u} G]
(P : Profunctor.{max u w, v_1, v_2, u, u} C D)
(Q : Profunctor.{max u w, v_2, v_3, u, u} D E)
(R : Profunctor.{max u w, v_3, v_4, u, u} E F)
(S : Profunctor.{max u w, v_4, v_5, u, u} F G)
:
CategoryStruct.comp (whiskerRight S (P.associator Q R).hom)
(CategoryStruct.comp (P.associator (Q.comp R) S).hom (P.whiskerLeft (Q.associator R S).hom)) = CategoryStruct.comp ((P.comp Q).associator R S).hom (P.associator Q (R.comp S)).hom
@[simp]
theorem
CategoryTheory.Profunctor.pentagon_assoc
{C D E F G : Type u}
[Category.{v_1, u} C]
[Category.{v_2, u} D]
[Category.{v_3, u} E]
[Category.{v_4, u} F]
[Category.{v_5, u} G]
(P : Profunctor.{max u w, v_1, v_2, u, u} C D)
(Q : Profunctor.{max u w, v_2, v_3, u, u} D E)
(R : Profunctor.{max u w, v_3, v_4, u, u} E F)
(S : Profunctor.{max u w, v_4, v_5, u, u} F G)
{Z : Profunctor.{max u w, v_1, v_5, u, u} C G}
(h : P.comp (Q.comp (R.comp S)) ⟶ Z)
:
CategoryStruct.comp (whiskerRight S (P.associator Q R).hom)
(CategoryStruct.comp (P.associator (Q.comp R) S).hom
(CategoryStruct.comp (P.whiskerLeft (Q.associator R S).hom) h)) = CategoryStruct.comp ((P.comp Q).associator R S).hom (CategoryStruct.comp (P.associator Q (R.comp S)).hom h)
@[simp]
theorem
CategoryTheory.Profunctor.triangle
{C D E : Type u}
[Category.{v_1, u} C]
[Category.{u, u} D]
[Category.{v_2, u} E]
(P : Profunctor.{u, v_1, u, u, u} C D)
(Q : Profunctor.{u, u, v_2, u, u} D E)
:
CategoryStruct.comp (P.associator Profunctor.id Q).hom (P.whiskerLeft Q.leftUnitor.hom) = whiskerRight Q P.rightUnitor.hom
@[simp]
theorem
CategoryTheory.Profunctor.triangle_assoc
{C D E : Type u}
[Category.{v_1, u} C]
[Category.{u, u} D]
[Category.{v_2, u} E]
(P : Profunctor.{u, v_1, u, u, u} C D)
(Q : Profunctor.{u, u, v_2, u, u} D E)
{Z : Profunctor.{u, v_1, v_2, u, u} C E}
(h : P.comp Q ⟶ Z)
:
CategoryStruct.comp (P.associator Profunctor.id Q).hom (CategoryStruct.comp (P.whiskerLeft Q.leftUnitor.hom) h) = CategoryStruct.comp (whiskerRight Q P.rightUnitor.hom) h
@[instance_reducible]
The bicategory of categories, profunctors, and natural transformations.
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
CategoryTheory.ProfCat.bicategory_leftUnitor
{a✝ b✝ : ProfCat}
(P : Profunctor.{u, u, u, u, u} a✝.obj b✝.obj)
:
@[simp]
theorem
CategoryTheory.ProfCat.bicategory_whiskerRight
{a✝ b✝ c✝ : ProfCat}
{f✝ g✝ : Profunctor.{u, u, u, u, u} a✝.obj b✝.obj}
(f : f✝ ⟶ g✝)
(R : Profunctor.{u, u, u, u, u} b✝.obj c✝.obj)
:
@[simp]
theorem
CategoryTheory.ProfCat.bicategory_rightUnitor
{a✝ b✝ : ProfCat}
(P : Profunctor.{u, u, u, u, u} a✝.obj b✝.obj)
:
@[simp]
theorem
CategoryTheory.ProfCat.bicategory_comp
{X✝ Y✝ Z✝ : ProfCat}
(P : Profunctor.{u, u, u, u, u} X✝.obj Y✝.obj)
(Q : Profunctor.{u, u, u, u, u} Y✝.obj Z✝.obj)
:
@[simp]
theorem
CategoryTheory.ProfCat.bicategory_whiskerLeft
{x✝ x✝¹ x✝² : ProfCat}
(P : Profunctor.{u, u, u, u, u} x✝.obj x✝¹.obj)
{x✝³ x✝⁴ : Profunctor.{u, u, u, u, u} x✝¹.obj x✝².obj}
(f : x✝³ ⟶ x✝⁴)
:
@[simp]
@[simp]
theorem
CategoryTheory.ProfCat.bicategory_associator
{a✝ b✝ c✝ d✝ : ProfCat}
(P : Profunctor.{u, u, u, u, u} a✝.obj b✝.obj)
(Q : Profunctor.{u, u, u, u, u} b✝.obj c✝.obj)
(R : Profunctor.{u, u, u, u, u} c✝.obj d✝.obj)
: