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 obtain 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
      Equations
      • One or more equations did not get rendered due to their size.
      @[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} :
      Equations
      • One or more equations did not get rendered due to their size.
      @[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
      • One or more equations did not get rendered due to their size.
      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 bicateogry.

        Equations
        • One or more equations did not get rendered due to their size.
        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
          • One or more equations did not get rendered due to their size.
          Instances For

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

            Equations
            • One or more equations did not get rendered due to their size.
            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
              • One or more equations did not get rendered due to their size.
              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
                • One or more equations did not get rendered due to their size.
                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✝) :