Documentation

Mathlib.CategoryTheory.Bicategory.Kan.IsKan

Kan extensions and Kan lifts in bicategories #

The left Kan extension of a 1-morphism g : a ⟶ c along a 1-morphism f : a ⟶ b is the initial object in the category of left extensions LeftExtension f g. The universal property can be accessed by the following definition and lemmas:

We also define left Kan lifts, right Kan extensions, and right Kan lifts.

Implementation Notes #

We use the Is-Has design pattern, which is used for the implementation of limits and colimits in the category theory library. This means that IsKan t is a structure containing the data of 2-morphisms which ensure that t is a Kan extension, while HasKan f g defined in CategoryTheory.Bicategory.Kan.HasKan is a Prop-valued typeclass asserting that a Kan extension of g along f exists.

We define LeftExtension.IsKan t for an extension t : LeftExtension f g (which is an abbreviation of t : StructuredArrow g (precomp _ f)) to be an abbreviation for StructuredArrow.IsUniversal t. This means that we can use the definitions and lemmas living in the namespace StructuredArrow.IsUniversal.

References #

https://ncatlab.org/nlab/show/Kan+extension

@[reducible, inline]
abbrev CategoryTheory.Bicategory.LeftExtension.IsKan {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} (t : LeftExtension f g) :
Type (max (max v w) w)

A left Kan extension of g along f is an initial object in LeftExtension f g.

Equations
    Instances For
      @[reducible, inline]
      abbrev CategoryTheory.Bicategory.LeftExtension.IsAbsKan {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} (t : LeftExtension f g) :
      Type (max (max u v) w)

      An absolute left Kan extension is a Kan extension that commutes with any 1-morphism.

      Equations
        Instances For
          @[reducible, inline]
          abbrev CategoryTheory.Bicategory.LeftExtension.IsKan.mk {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {t : LeftExtension f g} (desc : (s : LeftExtension f g) → t s) (w : ∀ (s : LeftExtension f g) (τ : t s), τ = desc s) :

          To show that a left extension t is a Kan extension, we need to show that for every left extension s there is a unique morphism t ⟶ s.

          Equations
            Instances For
              @[reducible, inline]
              abbrev CategoryTheory.Bicategory.LeftExtension.IsKan.desc {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {t : LeftExtension f g} (H : t.IsKan) (s : LeftExtension f g) :

              The family of 2-morphisms out of a left Kan extension.

              Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.Bicategory.LeftExtension.IsKan.fac {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {t : LeftExtension f g} (H : t.IsKan) (s : LeftExtension f g) :
                  theorem CategoryTheory.Bicategory.LeftExtension.IsKan.hom_ext {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {t : LeftExtension f g} (H : t.IsKan) {k : b c} {τ τ' : t.extension k} (w : CategoryStruct.comp t.unit (whiskerLeft f τ) = CategoryStruct.comp t.unit (whiskerLeft f τ')) :
                  τ = τ'

                  Two 2-morphisms out of a left Kan extension are equal if their compositions with each triangle 2-morphism are equal.

                  def CategoryTheory.Bicategory.LeftExtension.IsKan.uniqueUpToIso {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {s t : LeftExtension f g} (P : s.IsKan) (Q : t.IsKan) :
                  s t

                  Kan extensions on g along f are unique up to isomorphism.

                  Equations
                    Instances For
                      @[simp]
                      theorem CategoryTheory.Bicategory.LeftExtension.IsKan.uniqueUpToIso_hom_right {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {s t : LeftExtension f g} (P : s.IsKan) (Q : t.IsKan) :
                      @[simp]
                      theorem CategoryTheory.Bicategory.LeftExtension.IsKan.uniqueUpToIso_inv_right {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {s t : LeftExtension f g} (P : s.IsKan) (Q : t.IsKan) :
                      def CategoryTheory.Bicategory.LeftExtension.IsKan.ofIsoKan {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {s t : LeftExtension f g} (P : s.IsKan) (i : s t) :

                      Transport evidence that a left extension is a Kan extension across an isomorphism of extensions.

                      Equations
                        Instances For

                          If t : LeftExtension f (g ≫ 𝟙 c) is a Kan extension, then t.ofCompId : LeftExtension f g is also a Kan extension.

                          Equations
                            Instances For
                              def CategoryTheory.Bicategory.LeftExtension.IsKan.whiskerOfCommute {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} (s t : LeftExtension f g) (i : s t) {x : B} (h : c x) (P : (s.whisker h).IsKan) :

                              If s ≅ t and IsKan (s.whisker h), then IsKan (t.whisker h).

                              Equations
                                Instances For
                                  @[reducible, inline]
                                  abbrev CategoryTheory.Bicategory.LeftExtension.IsAbsKan.desc {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {t : LeftExtension f g} (H : t.IsAbsKan) {x : B} {h : c x} (s : LeftExtension f (CategoryStruct.comp g h)) :

                                  The family of 2-morphisms out of an absolute left Kan extension.

                                  Equations
                                    Instances For
                                      def CategoryTheory.Bicategory.LeftExtension.IsAbsKan.isKan {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {t : LeftExtension f g} (H : t.IsAbsKan) :

                                      An absolute left Kan extension is a left Kan extension.

                                      Equations
                                        Instances For
                                          def CategoryTheory.Bicategory.LeftExtension.IsAbsKan.ofIsoAbsKan {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} {s t : LeftExtension f g} (P : s.IsAbsKan) (i : s t) :

                                          Transport evidence that a left extension is a Kan extension across an isomorphism of extensions.

                                          Equations
                                            Instances For
                                              @[reducible, inline]
                                              abbrev CategoryTheory.Bicategory.LeftLift.IsKan {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} (t : LeftLift f g) :
                                              Type (max (max v w) w)

                                              A left Kan lift of g along f is an initial object in LeftLift f g.

                                              Equations
                                                Instances For
                                                  @[reducible, inline]
                                                  abbrev CategoryTheory.Bicategory.LeftLift.IsAbsKan {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} (t : LeftLift f g) :
                                                  Type (max (max u v) w)

                                                  An absolute left Kan lift is a Kan lift such that every 1-morphism commutes with it.

                                                  Equations
                                                    Instances For
                                                      @[reducible, inline]
                                                      abbrev CategoryTheory.Bicategory.LeftLift.IsKan.mk {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {t : LeftLift f g} (desc : (s : LeftLift f g) → t s) (w : ∀ (s : LeftLift f g) (τ : t s), τ = desc s) :

                                                      To show that a left lift t is a Kan lift, we need to show that for every left lift s there is a unique morphism t ⟶ s.

                                                      Equations
                                                        Instances For
                                                          @[reducible, inline]
                                                          abbrev CategoryTheory.Bicategory.LeftLift.IsKan.desc {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {t : LeftLift f g} (H : t.IsKan) (s : LeftLift f g) :

                                                          The family of 2-morphisms out of a left Kan lift.

                                                          Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem CategoryTheory.Bicategory.LeftLift.IsKan.fac {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {t : LeftLift f g} (H : t.IsKan) (s : LeftLift f g) :
                                                              @[simp]
                                                              theorem CategoryTheory.Bicategory.LeftLift.IsKan.fac_assoc {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {t : LeftLift f g} (H : t.IsKan) (s : LeftLift f g) {Z : c a} (h : CategoryStruct.comp s.lift f Z) :
                                                              theorem CategoryTheory.Bicategory.LeftLift.IsKan.hom_ext {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {t : LeftLift f g} (H : t.IsKan) {k : c b} {τ τ' : t.lift k} (w : CategoryStruct.comp t.unit (whiskerRight τ f) = CategoryStruct.comp t.unit (whiskerRight τ' f)) :
                                                              τ = τ'

                                                              Two 2-morphisms out of a left Kan lift are equal if their compositions with each triangle 2-morphism are equal.

                                                              def CategoryTheory.Bicategory.LeftLift.IsKan.uniqueUpToIso {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {s t : LeftLift f g} (P : s.IsKan) (Q : t.IsKan) :
                                                              s t

                                                              Kan lifts on g along f are unique up to isomorphism.

                                                              Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem CategoryTheory.Bicategory.LeftLift.IsKan.uniqueUpToIso_hom_right {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {s t : LeftLift f g} (P : s.IsKan) (Q : t.IsKan) :
                                                                  @[simp]
                                                                  theorem CategoryTheory.Bicategory.LeftLift.IsKan.uniqueUpToIso_inv_right {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {s t : LeftLift f g} (P : s.IsKan) (Q : t.IsKan) :
                                                                  def CategoryTheory.Bicategory.LeftLift.IsKan.ofIsoKan {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {s t : LeftLift f g} (P : s.IsKan) (i : s t) :

                                                                  Transport evidence that a left lift is a Kan lift across an isomorphism of lifts.

                                                                  Equations
                                                                    Instances For

                                                                      If t : LeftLift f (𝟙 c ≫ g) is a Kan lift, then t.ofIdComp : LeftLift f g is also a Kan lift.

                                                                      Equations
                                                                        Instances For
                                                                          def CategoryTheory.Bicategory.LeftLift.IsKan.whiskerOfCommute {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} (s t : LeftLift f g) (i : s t) {x : B} (h : x c) (P : (s.whisker h).IsKan) :

                                                                          If s ≅ t and IsKan (s.whisker h), then IsKan (t.whisker h).

                                                                          Equations
                                                                            Instances For
                                                                              @[reducible, inline]
                                                                              abbrev CategoryTheory.Bicategory.LeftLift.IsAbsKan.desc {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {t : LeftLift f g} (H : t.IsAbsKan) {x : B} {h : x c} (s : LeftLift f (CategoryStruct.comp h g)) :

                                                                              The family of 2-morphisms out of an absolute left Kan lift.

                                                                              Equations
                                                                                Instances For
                                                                                  def CategoryTheory.Bicategory.LeftLift.IsAbsKan.isKan {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {t : LeftLift f g} (H : t.IsAbsKan) :

                                                                                  An absolute left Kan lift is a left Kan lift.

                                                                                  Equations
                                                                                    Instances For
                                                                                      def CategoryTheory.Bicategory.LeftLift.IsAbsKan.ofIsoAbsKan {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {s t : LeftLift f g} (P : s.IsAbsKan) (i : s t) :

                                                                                      Transport evidence that a left lift is a Kan lift across an isomorphism of lifts.

                                                                                      Equations
                                                                                        Instances For
                                                                                          @[reducible, inline]
                                                                                          abbrev CategoryTheory.Bicategory.RightExtension.IsKan {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} (t : RightExtension f g) :
                                                                                          Type (max (max v w) w)

                                                                                          A right Kan extension of g along f is a terminal object in RightExtension f g.

                                                                                          Equations
                                                                                            Instances For
                                                                                              @[reducible, inline]
                                                                                              abbrev CategoryTheory.Bicategory.RightLift.IsKan {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} (t : RightLift f g) :
                                                                                              Type (max (max v w) w)

                                                                                              A right Kan lift of g along f is a terminal object in RightLift f g.

                                                                                              Equations
                                                                                                Instances For