Documentation

Mathlib.CategoryTheory.Profunctor.Bicategory

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.

structure CategoryTheory.ProfCat :
Type (max (u + 1) (v + 1))

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
    @[simp]
    theorem CategoryTheory.ProfCat.of_obj (C : Type u) [Category.{v, u} C] :
    { obj := C, str := inst✝ }.obj = C
    @[simp]
    theorem CategoryTheory.ProfCat.coe_of (C : ProfCat) :
    { obj := C.obj, str := C.str } = C
    @[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_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✝⁴) :
    theorem CategoryTheory.ProfCat.hom_ext {C D : ProfCat} {P Q : C ⟶ D} {η θ : P ⟶ Q} (h : ∀ (X : C.obj) (Y : D.objᵒᵖ) (x : (P.obj X).obj Y), (ConcreteCategory.hom ((η.app X).app Y)) x = (ConcreteCategory.hom ((θ.app X).app Y)) x) :
    η = θ

    Two 2-morphisms in ProfCat are equal if they agree on every element.

    theorem CategoryTheory.ProfCat.hom_ext_iff {C D : ProfCat} {P Q : C ⟶ D} {η θ : P ⟶ Q} :
    η = θ ↔ ∀ (X : C.obj) (Y : D.objᵒᵖ) (x : (P.obj X).obj Y), (ConcreteCategory.hom ((η.app X).app Y)) x = (ConcreteCategory.hom ((θ.app X).app Y)) x