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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} (t : CategoryTheory.Bicategory.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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} (t : CategoryTheory.Bicategory.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
    • t.IsAbsKan = ({x : B} → (h : c x) → (t.whisker h).IsKan)
    Instances For
      @[reducible, inline]
      abbrev CategoryTheory.Bicategory.LeftExtension.IsKan.mk {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} {t : CategoryTheory.Bicategory.LeftExtension f g} (desc : (s : CategoryTheory.Bicategory.LeftExtension f g) → t s) (w : ∀ (s : CategoryTheory.Bicategory.LeftExtension f g) (τ : t s), τ = desc s) :
      t.IsKan

      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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} {t : CategoryTheory.Bicategory.LeftExtension f g} (H : t.IsKan) (s : CategoryTheory.Bicategory.LeftExtension f g) :
        t.extension s.extension

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

        Equations
        Instances For
          theorem CategoryTheory.Bicategory.LeftExtension.IsKan.hom_ext {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} {t : CategoryTheory.Bicategory.LeftExtension f g} (H : t.IsKan) {k : b c} {τ : t.extension k} {τ' : t.extension k} (w : CategoryTheory.CategoryStruct.comp t.unit (CategoryTheory.Bicategory.whiskerLeft f τ) = CategoryTheory.CategoryStruct.comp t.unit (CategoryTheory.Bicategory.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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} {s : CategoryTheory.Bicategory.LeftExtension f g} {t : CategoryTheory.Bicategory.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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} {s : CategoryTheory.Bicategory.LeftExtension f g} {t : CategoryTheory.Bicategory.LeftExtension f g} (P : s.IsKan) (Q : t.IsKan) :
            (P.uniqueUpToIso Q).hom.right = P.desc t
            @[simp]
            theorem CategoryTheory.Bicategory.LeftExtension.IsKan.uniqueUpToIso_inv_right {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} {s : CategoryTheory.Bicategory.LeftExtension f g} {t : CategoryTheory.Bicategory.LeftExtension f g} (P : s.IsKan) (Q : t.IsKan) :
            (P.uniqueUpToIso Q).inv.right = Q.desc s
            def CategoryTheory.Bicategory.LeftExtension.IsKan.ofIsoKan {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} {s : CategoryTheory.Bicategory.LeftExtension f g} {t : CategoryTheory.Bicategory.LeftExtension f g} (P : s.IsKan) (i : s t) :
            t.IsKan

            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
              • One or more equations did not get rendered due to their size.
              Instances For
                def CategoryTheory.Bicategory.LeftExtension.IsKan.whiskerOfCommute {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} (s : CategoryTheory.Bicategory.LeftExtension f g) (t : CategoryTheory.Bicategory.LeftExtension f g) (i : s t) {x : B} (h : c x) (P : (s.whisker h).IsKan) :
                (t.whisker h).IsKan

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

                Equations
                Instances For
                  @[reducible, inline]

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

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

                    An absolute left Kan extension is a left Kan extension.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def CategoryTheory.Bicategory.LeftExtension.IsAbsKan.ofIsoAbsKan {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} {s : CategoryTheory.Bicategory.LeftExtension f g} {t : CategoryTheory.Bicategory.LeftExtension f g} (P : s.IsAbsKan) (i : s t) :
                      t.IsAbsKan

                      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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} (t : CategoryTheory.Bicategory.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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} (t : CategoryTheory.Bicategory.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
                          • t.IsAbsKan = ({x : B} → (h : x c) → (t.whisker h).IsKan)
                          Instances For
                            @[reducible, inline]
                            abbrev CategoryTheory.Bicategory.LeftLift.IsKan.mk {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} {t : CategoryTheory.Bicategory.LeftLift f g} (desc : (s : CategoryTheory.Bicategory.LeftLift f g) → t s) (w : ∀ (s : CategoryTheory.Bicategory.LeftLift f g) (τ : t s), τ = desc s) :
                            t.IsKan

                            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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} {t : CategoryTheory.Bicategory.LeftLift f g} (H : t.IsKan) (s : CategoryTheory.Bicategory.LeftLift f g) :
                              t.lift s.lift

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

                              Equations
                              Instances For
                                theorem CategoryTheory.Bicategory.LeftLift.IsKan.hom_ext {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} {t : CategoryTheory.Bicategory.LeftLift f g} (H : t.IsKan) {k : c b} {τ : t.lift k} {τ' : t.lift k} (w : CategoryTheory.CategoryStruct.comp t.unit (CategoryTheory.Bicategory.whiskerRight τ f) = CategoryTheory.CategoryStruct.comp t.unit (CategoryTheory.Bicategory.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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} {s : CategoryTheory.Bicategory.LeftLift f g} {t : CategoryTheory.Bicategory.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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} {s : CategoryTheory.Bicategory.LeftLift f g} {t : CategoryTheory.Bicategory.LeftLift f g} (P : s.IsKan) (Q : t.IsKan) :
                                  (P.uniqueUpToIso Q).hom.right = P.desc t
                                  @[simp]
                                  theorem CategoryTheory.Bicategory.LeftLift.IsKan.uniqueUpToIso_inv_right {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} {s : CategoryTheory.Bicategory.LeftLift f g} {t : CategoryTheory.Bicategory.LeftLift f g} (P : s.IsKan) (Q : t.IsKan) :
                                  (P.uniqueUpToIso Q).inv.right = Q.desc s
                                  def CategoryTheory.Bicategory.LeftLift.IsKan.ofIsoKan {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} {s : CategoryTheory.Bicategory.LeftLift f g} {t : CategoryTheory.Bicategory.LeftLift f g} (P : s.IsKan) (i : s t) :
                                  t.IsKan

                                  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
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      def CategoryTheory.Bicategory.LeftLift.IsKan.whiskerOfCommute {B : Type u} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} (s : CategoryTheory.Bicategory.LeftLift f g) (t : CategoryTheory.Bicategory.LeftLift f g) (i : s t) {x : B} (h : x c) (P : (s.whisker h).IsKan) :
                                      (t.whisker h).IsKan

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

                                      Equations
                                      Instances For
                                        @[reducible, inline]

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

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

                                          An absolute left Kan lift is a left Kan lift.

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

                                            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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : a b} {g : a c} (t : CategoryTheory.Bicategory.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} [CategoryTheory.Bicategory B] {a : B} {b : B} {c : B} {f : b a} {g : c a} (t : CategoryTheory.Bicategory.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