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
          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
                @[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

                Hom₂.mk η is an abbreviation for Quot.mk Rel η.

                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) :
                    @[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_map {B : Type u} [Quiver B] (x✝ x✝¹ : B) (f : x✝ x✝¹) :
                        @[simp]
                        theorem CategoryTheory.FreeBicategory.of_obj {B : Type u} [Quiver B] (a : B) :
                        of.obj a = id a
                        def CategoryTheory.FreeBicategory.liftHom {B : Type u₁} [Quiver B] {C : Type u₂} [CategoryStruct.{v₂, u₂} C] (F : B ⥤q C) {a b : FreeBicategory B} :
                        (a b) → (F.obj a F.obj b)

                        Auxiliary definition for lift.

                        Equations
                          Instances For
                            @[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.

                            Equations
                              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
                                  Instances For
                                    @[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_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 (liftHom F (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) :
                                    @[simp]
                                    @[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✝