Documentation

Mathlib.CategoryTheory.Bicategory.Free

Free bicategories #

We define the free bicategory over a quiver. In this bicategory, the 1-morphisms are freely generated by the arrows in the quiver, and the 2-morphisms are freely generated by the formal identities, the formal unitors, and the formal associators modulo the relation derived from the axioms of a bicategory.

Main definitions #

Free bicategory over a quiver. Its objects are the same as those in the underlying quiver.

Equations
Instances For
    inductive CategoryTheory.FreeBicategory.Hom {B : Type u} [Quiver B] :
    BBType (max u v)

    1-morphisms in the free bicategory.

    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      inductive CategoryTheory.FreeBicategory.Hom₂ {B : Type u} [Quiver B] {a b : FreeBicategory B} :
      (a b)(a b)Type (max u v)

      Representatives of 2-morphisms in the free bicategory.

      Instances For
        inductive CategoryTheory.FreeBicategory.Rel {B : Type u} [Quiver B] {a b : FreeBicategory B} {f g : a b} :
        Hom₂ f gHom₂ f gProp

        Relations between 2-morphisms in the free bicategory.

        Instances For

          Bicategory structure on the free bicategory.

          Equations
          • One or more equations did not get rendered due to their size.
          @[reducible, inline]
          abbrev CategoryTheory.FreeBicategory.Hom₂.mk {B : Type u} [Quiver B] {a b : FreeBicategory B} {f g : a b} (η : Hom₂ f g) :
          f g
          Equations
          Instances For
            @[simp]
            theorem CategoryTheory.FreeBicategory.mk_vcomp {B : Type u} [Quiver B] {a b : FreeBicategory B} {f g h : a b} (η : Hom₂ f g) (θ : Hom₂ g h) :
            (η.vcomp θ).mk = CategoryStruct.comp η.mk θ.mk
            @[simp]
            theorem CategoryTheory.FreeBicategory.mk_whisker_left {B : Type u} [Quiver B] {a b c : FreeBicategory B} (f : a b) {g h : b c} (η : Hom₂ g h) :
            @[simp]
            theorem CategoryTheory.FreeBicategory.mk_whisker_right {B : Type u} [Quiver B] {a b c : FreeBicategory B} {f g : a b} (η : Hom₂ f g) (h : b c) :
            theorem CategoryTheory.FreeBicategory.comp_def {B : Type u} [Quiver B] {a b c : FreeBicategory B} (f : a b) (g : b c) :
            @[simp]
            theorem CategoryTheory.FreeBicategory.mk_associator_hom {B : Type u} [Quiver B] {a b c d : FreeBicategory B} (f : a b) (g : b c) (h : c d) :
            @[simp]
            theorem CategoryTheory.FreeBicategory.mk_associator_inv {B : Type u} [Quiver B] {a b c d : FreeBicategory B} (f : a b) (g : b c) (h : c d) :

            Canonical prefunctor from B to free_bicategory B.

            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.FreeBicategory.of_obj {B : Type u} [Quiver B] (a : B) :
              of.obj a = id a
              @[simp]
              theorem CategoryTheory.FreeBicategory.of_map {B : Type u} [Quiver B] (x✝ x✝¹ : B) (f : x✝ x✝¹) :
              of.map f = Hom.of f
              @[simp]
              theorem CategoryTheory.FreeBicategory.liftHom_comp {B : Type u₁} [Quiver B] {C : Type u₂} [CategoryStruct.{v₂, u₂} C] (F : B ⥤q C) {a b c : FreeBicategory B} (f : a b) (g : b c) :
              def CategoryTheory.FreeBicategory.liftHom₂ {B : Type u₁} [Quiver B] {C : Type u₂} [Bicategory C] (F : B ⥤q C) {a b : FreeBicategory B} {f g : a b} :
              Hom₂ f g(liftHom F f liftHom F g)

              Auxiliary definition for lift.

              Instances For
                theorem CategoryTheory.FreeBicategory.liftHom₂_congr {B : Type u₁} [Quiver B] {C : Type u₂} [Bicategory C] (F : B ⥤q C) {a b : FreeBicategory B} {f g : a b} {η θ : Hom₂ f g} (H : Rel η θ) :

                A prefunctor from a quiver B to a bicategory C can be lifted to a pseudofunctor from free_bicategory B to C.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[simp]
                  theorem CategoryTheory.FreeBicategory.lift_toPrelaxFunctor_toPrelaxFunctorStruct_toPrefunctor_map {B : Type u₁} [Quiver B] {C : Type u₂} [Bicategory C] (F : B ⥤q C) {X✝ Y✝ : FreeBicategory B} (a✝ : X✝ Y✝) :
                  (lift F).map a✝ = liftHom F a✝
                  @[simp]
                  theorem CategoryTheory.FreeBicategory.lift_mapComp {B : Type u₁} [Quiver B] {C : Type u₂} [Bicategory C] (F : B ⥤q C) {a✝ b✝ c✝ : FreeBicategory B} (x✝ : a✝ b✝) (x✝¹ : b✝ c✝) :
                  (lift F).mapComp x✝ x✝¹ = Iso.refl ({ obj := F.obj, map := fun {X Y : FreeBicategory B} => liftHom F, map₂ := fun {a b : FreeBicategory B} {f g : a b} => Quot.lift (liftHom₂ F) , map₂_id := , map₂_comp := }.map (CategoryStruct.comp x✝ x✝¹))
                  @[simp]
                  theorem CategoryTheory.FreeBicategory.lift_mapId {B : Type u₁} [Quiver B] {C : Type u₂} [Bicategory C] (F : B ⥤q C) (x✝ : FreeBicategory B) :
                  (lift F).mapId x✝ = Iso.refl ({ obj := F.obj, map := fun {X Y : FreeBicategory B} => liftHom F, map₂ := fun {a b : FreeBicategory B} {f g : a b} => Quot.lift (liftHom₂ F) , map₂_id := , map₂_comp := }.map (CategoryStruct.id x✝))
                  @[simp]
                  theorem CategoryTheory.FreeBicategory.lift_toPrelaxFunctor_toPrelaxFunctorStruct_map₂ {B : Type u₁} [Quiver B] {C : Type u₂} [Bicategory C] (F : B ⥤q C) {a✝ b✝ : FreeBicategory B} {f✝ g✝ : a✝ b✝} (a : Quot Rel) :
                  (lift F).map₂ a = Quot.lift (liftHom₂ F) a
                  @[simp]
                  theorem CategoryTheory.FreeBicategory.lift_toPrelaxFunctor_toPrelaxFunctorStruct_toPrefunctor_obj {B : Type u₁} [Quiver B] {C : Type u₂} [Bicategory C] (F : B ⥤q C) (a✝ : B) :
                  (lift F).obj a✝ = F.obj a✝