Documentation

Mathlib.CategoryTheory.Bicategory.LocallyGroupoid

(2,1)-categories #

A bicategory B is said to be locally groupoidal (or a (2,1)-category) if for every pair of objects x, y, the Hom-category x ⟶ y is a groupoid (which is expressed using the CategoryTheory.IsGroupoid typeclass).

Given a bicategory B, we construct a bicategory Pith B which is obtained from B by discarding non-invertible 2-morphisms. This is realized in practice by applying Core to each hom-category of C. By construction, Pith B is a (2,1)-category, and for every (2,1)-category B', every pseudofunctor B' ⥤ B factors (essentially) uniquely through the inclusion from Pith B to B (see CategoryTheory.Bicategory.Pith.pseudofunctorToPith).

References #

@[reducible, inline]

A bicategory is locally groupoidal if the categories of 1-morphisms are groupoids.

Equations
    Instances For
      structure CategoryTheory.Bicategory.Pith (B : Type u₁) :
      Type u₁

      Given a bicategory B, Pith B is the bicategory obtained by discarding the non-invertible 2-cells from B. We implement this as a wrapper type for B, and use CategoryTheory.Core to discard the non-invertible morphisms.

      • as : B

        The underlying object of the bicategory.

      Instances For
        theorem CategoryTheory.Bicategory.Pith.mk_as (B : Type u₁) (b : Pith B) :
        { as := b.as } = b
        @[simp]
        theorem CategoryTheory.Bicategory.Pith.comp_of (B : Type u₁) [Bicategory B] {a b c : Pith B} (f : a b) (g : b c) :
        Equations
          theorem CategoryTheory.Bicategory.Pith.hom₂_ext (B : Type u₁) [Bicategory B] {a b : Pith B} {x y : a b} {f g : x y} (h : f.iso.hom = g.iso.hom) :
          f = g
          theorem CategoryTheory.Bicategory.Pith.hom₂_ext_iff {B : Type u₁} [Bicategory B] {a b : Pith B} {x y : a b} {f g : x y} :
          f = g f.iso.hom = g.iso.hom
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.comp₂_iso_hom (B : Type u₁) [Bicategory B] {a b : Pith B} {x y z : a b} {f : x y} {g : y z} :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.comp₂_iso_inv (B : Type u₁) [Bicategory B] {a b : Pith B} {x y z : a b} {f : x y} {g : y z} :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.rightUnitor_inv_iso_inv (B : Type u₁) [Bicategory B] {a✝ b✝ : Pith B} (x : a✝ b✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.whiskerLeft_iso_hom (B : Type u₁) [Bicategory B] {a✝ b✝ c✝ : Pith B} (x : a✝ b✝) (x✝ x✝¹ : b✝ c✝) (f : x✝ x✝¹) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.whiskerLeft_iso_inv (B : Type u₁) [Bicategory B] {a✝ b✝ c✝ : Pith B} (x : a✝ b✝) (x✝ x✝¹ : b✝ c✝) (f : x✝ x✝¹) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.associator_inv_iso_hom (B : Type u₁) [Bicategory B] {a✝ b✝ c✝ d✝ : Pith B} (x : a✝ b✝) (y : b✝ c✝) (z : c✝ d✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.associator_hom_iso (B : Type u₁) [Bicategory B] {a✝ b✝ c✝ d✝ : Pith B} (x : a✝ b✝) (y : b✝ c✝) (z : c✝ d✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.rightUnitor_hom_iso (B : Type u₁) [Bicategory B] {a✝ b✝ : Pith B} (x : a✝ b✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.associator_inv_iso_inv (B : Type u₁) [Bicategory B] {a✝ b✝ c✝ d✝ : Pith B} (x : a✝ b✝) (y : b✝ c✝) (z : c✝ d✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.leftUnitor_inv_iso_hom (B : Type u₁) [Bicategory B] {a✝ b✝ : Pith B} (x : a✝ b✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.leftUnitor_hom_iso (B : Type u₁) [Bicategory B] {a✝ b✝ : Pith B} (x : a✝ b✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.whiskerRight_iso_inv (B : Type u₁) [Bicategory B] {a✝ b✝ c✝ : Pith B} {f✝ g✝ : a✝ b✝} (f : f✝ g✝) (y : b✝ c✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.whiskerRight_iso_hom (B : Type u₁) [Bicategory B] {a✝ b✝ c✝ : Pith B} {f✝ g✝ : a✝ b✝} (f : f✝ g✝) (y : b✝ c✝) :
          @[simp]
          theorem CategoryTheory.Bicategory.Pith.rightUnitor_inv_iso_hom (B : Type u₁) [Bicategory B] {a✝ b✝ : Pith B} (x : a✝ b✝) :

          The canonical inclusion from the pith of B to B, as a Pseudofunctor.

          Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Bicategory.Pith.inclusion_mapComp (B : Type u₁) [Bicategory B] {a✝ b✝ c✝ : Pith B} (x✝ : a✝ b✝) (x✝¹ : b✝ c✝) :
              (inclusion B).mapComp x✝ x✝¹ = Iso.refl (CategoryStruct.comp x✝ x✝¹).of
              @[simp]
              theorem CategoryTheory.Bicategory.Pith.inclusion_toPrelaxFunctor_toPrelaxFunctorStruct_map₂ (B : Type u₁) [Bicategory B] {a✝ b✝ : Pith B} {f✝ g✝ : a✝ b✝} (η : f✝ g✝) :

              Any pseudofunctor from a (2,1)-category to a bicategory factors through the pith of the target bicategory.

              Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.Bicategory.Pith.pseudofunctorToPith_mapComp_hom_iso {B : Type u₁} [Bicategory B] {B' : Type u₂} [Bicategory B'] [IsLocallyGroupoid B'] (F : Pseudofunctor B' B) {a✝ b✝ c✝ : B'} (f : a✝ b✝) (g : b✝ c✝) :
                  @[simp]
                  theorem CategoryTheory.Bicategory.Pith.pseudofunctorToPith_toPrelaxFunctor_toPrelaxFunctorStruct_map₂_iso_inv {B : Type u₁} [Bicategory B] {B' : Type u₂} [Bicategory B'] [IsLocallyGroupoid B'] (F : Pseudofunctor B' B) {a✝ b✝ : B'} {f✝ g✝ : a✝ b✝} (f : f✝ g✝) :
                  @[simp]
                  theorem CategoryTheory.Bicategory.Pith.pseudofunctorToPith_mapComp_inv_iso_hom {B : Type u₁} [Bicategory B] {B' : Type u₂} [Bicategory B'] [IsLocallyGroupoid B'] (F : Pseudofunctor B' B) {a✝ b✝ c✝ : B'} (f : a✝ b✝) (g : b✝ c✝) :
                  @[simp]
                  theorem CategoryTheory.Bicategory.Pith.pseudofunctorToPith_toPrelaxFunctor_toPrelaxFunctorStruct_map₂_iso_hom {B : Type u₁} [Bicategory B] {B' : Type u₂} [Bicategory B'] [IsLocallyGroupoid B'] (F : Pseudofunctor B' B) {a✝ b✝ : B'} {f✝ g✝ : a✝ b✝} (f : f✝ g✝) :
                  @[simp]
                  theorem CategoryTheory.Bicategory.Pith.pseudofunctorToPith_mapComp_inv_iso_inv {B : Type u₁} [Bicategory B] {B' : Type u₂} [Bicategory B'] [IsLocallyGroupoid B'] (F : Pseudofunctor B' B) {a✝ b✝ c✝ : B'} (f : a✝ b✝) (g : b✝ c✝) :

                  The hom direction of the (strong) natural isomorphism of pseudofunctors between (pseudofunctorToPith F).comp (inclusion B) and F.

                  Equations
                    Instances For

                      The inv direction of the (strong) natural isomorphism of pseudofunctors between (pseudofunctorToPith F).comp (inclusion B) and F.

                      Equations
                        Instances For

                          If B is a (2,1)-category, then every lax functor F from a bicategory to B defines a CategoryTheory.LaxFunctor.PseudoCore structure on F that can be used to promote F to a pseudofunctor using CategoryTheory.Pseudofunctor.mkOfLax.

                          Equations
                            Instances For
                              @[simp]
                              theorem CategoryTheory.Bicategory.Pseudofunctor.ofLaxFunctorToLocallyGroupoid_mapCompIso_hom {B : Type u₁} [Bicategory B] {B' : Type u₂} [Bicategory B'] [IsLocallyGroupoid B] (F : LaxFunctor B' B) {a✝ b✝ c✝ : B'} (f : a✝ b✝) (g : b✝ c✝) :
                              @[simp]
                              theorem CategoryTheory.Bicategory.Pseudofunctor.ofLaxFunctorToLocallyGroupoid_mapCompIso_inv {B : Type u₁} [Bicategory B] {B' : Type u₂} [Bicategory B'] [IsLocallyGroupoid B] (F : LaxFunctor B' B) {a✝ b✝ c✝ : B'} (f : a✝ b✝) (g : b✝ c✝) :

                              If B is a (2,1)-category, then every oplax functor F from a bicategory to B defines a CategoryTheory.OplaxFunctor.PseudoCore structure on F that can be used to promote F to a pseudofunctor using CategoryTheory.Pseudofunctor.mkOfOplax.

                              Equations
                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.Bicategory.Pseudofunctor.ofOplaxFunctorToLocallyGroupoid_mapCompIso_hom {B : Type u₁} [Bicategory B] {B' : Type u₂} [Bicategory B'] [IsLocallyGroupoid B] (F : OplaxFunctor B' B) {a✝ b✝ c✝ : B'} (f : a✝ b✝) (g : b✝ c✝) :
                                  @[simp]
                                  theorem CategoryTheory.Bicategory.Pseudofunctor.ofOplaxFunctorToLocallyGroupoid_mapCompIso_inv {B : Type u₁} [Bicategory B] {B' : Type u₂} [Bicategory B'] [IsLocallyGroupoid B] (F : OplaxFunctor B' B) {a✝ b✝ c✝ : B'} (f : a✝ b✝) (g : b✝ c✝) :