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) :
        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.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.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.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.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.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_hom_iso (B : Type u₁) [Bicategory B] {a✝ b✝ : Pith B} (x : a✝ b✝) :
        @[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.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.whiskerRight_iso_inv (B : Type u₁) [Bicategory B] {a✝ b✝ c✝ : Pith B} {f✝ g✝ : a✝ b✝} (f : f✝ g✝) (y : b✝ c✝) :

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

        Equations
          Instances For
            @[simp]
            theorem CategoryTheory.Bicategory.Pith.inclusion_toPrelaxFunctor_toPrelaxFunctorStruct_map₂ (B : Type u₁) [Bicategory B] {a✝ b✝ : Pith B} {f✝ g✝ : a✝ b✝} (η : f✝ g✝) :
            @[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

            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_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_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_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✝) :