Documentation

Mathlib.CategoryTheory.Bicategory.Kan.HasKan

Existence of Kan extensions and Kan lifts in bicategories #

We provide the propositional typeclass HasLeftKanExtension f g, which asserts that there exists a left Kan extension of g along f. See CategoryTheory.Bicategory.Kan.IsKan for the definition of left Kan extensions. Under the assumption that HasLeftKanExtension f g, we define the left Kan extension lan f g by using the axiom of choice.

Main definitions #

These notations are inspired by [M. Kashiwara, P. Schapira, Categories and Sheaves][Kashiwara2006].

TODO #

class CategoryTheory.Bicategory.HasLeftKanExtension {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) :

The existence of a left Kan extension of g along f.

Instances
    def CategoryTheory.Bicategory.lanLeftExtension {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] :

    The left Kan extension of g along f at the level of structured arrows.

    Equations
      Instances For
        def CategoryTheory.Bicategory.lan {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] :
        b c

        The left Kan extension of g along f.

        Equations
          Instances For

            f⁺ g is the left Kan extension of g along f.

              b
              △ \
              |   \ f⁺ g
            f |     \
              |       ◿
              a - - - ▷ c
                  g
            
            Equations
              Instances For
                @[simp]
                def CategoryTheory.Bicategory.lanUnit {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] :

                The unit for the left Kan extension f⁺ g.

                Equations
                  Instances For
                    @[simp]
                    theorem CategoryTheory.Bicategory.lanLeftExtension_unit {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] :
                    def CategoryTheory.Bicategory.lanIsKan {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] :

                    Evidence that the Lan.extension f g is a Kan extension.

                    Equations
                      Instances For
                        def CategoryTheory.Bicategory.lanDesc {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} [HasLeftKanExtension f g] (s : LeftExtension f g) :

                        The family of 2-morphisms out of the left Kan extension f⁺ g.

                        Equations
                          Instances For
                            @[simp]
                            theorem CategoryTheory.Bicategory.lanUnit_desc {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} [HasLeftKanExtension f g] (s : LeftExtension f g) :
                            @[simp]
                            theorem CategoryTheory.Bicategory.lanIsKan_desc {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} [HasLeftKanExtension f g] (s : LeftExtension f g) :
                            theorem CategoryTheory.Bicategory.Lan.existsUnique {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} [HasLeftKanExtension f g] (s : LeftExtension f g) :
                            class CategoryTheory.Bicategory.Lan.CommuteWith {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] {x : B} (h : c x) :

                            We say that a 1-morphism h commutes with the left Kan extension f⁺ g if the whiskered left extension for f⁺ g by h is a Kan extension of g ≫ h along f.

                            Instances
                              theorem CategoryTheory.Bicategory.Lan.CommuteWith.of_isKan_whisker {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} [HasLeftKanExtension f g] (t : LeftExtension f g) {x : B} (h : c x) (H : (t.whisker h).IsKan) (i : t.whisker h (lanLeftExtension f g).whisker h) :
                              def CategoryTheory.Bicategory.Lan.CommuteWith.isKan {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] {x : B} (h : c x) [CommuteWith f g h] :

                              Evidence that h commutes with the left Kan extension f⁺ g.

                              Equations
                                Instances For
                                  def CategoryTheory.Bicategory.Lan.CommuteWith.isKanWhisker {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] (t : LeftExtension f g) (H : t.IsKan) {x : B} (h : c x) [CommuteWith f g h] :

                                  If h commutes with f⁺ g and t is another left Kan extension of g along f, then t.whisker h is a left Kan extension of g ≫ h along f.

                                  Equations
                                    Instances For

                                      The isomorphism f⁺ (g ≫ h) ≅ f⁺ g ≫ h at the level of structured arrows.

                                      Equations
                                        Instances For
                                          @[simp]
                                          @[simp]
                                          def CategoryTheory.Bicategory.Lan.CommuteWith.lanCompIso {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] {x : B} (h : c x) [CommuteWith f g h] :

                                          The 1-morphism h commutes with the left Kan extension f⁺ g.

                                          Equations
                                            Instances For
                                              @[simp]
                                              theorem CategoryTheory.Bicategory.Lan.CommuteWith.lanCompIso_inv {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] {x : B} (h : c x) [CommuteWith f g h] :
                                              @[simp]
                                              theorem CategoryTheory.Bicategory.Lan.CommuteWith.lanCompIso_hom {B : Type u} [Bicategory B] {a b c : B} (f : a b) (g : a c) [HasLeftKanExtension f g] {x : B} (h : c x) [CommuteWith f g h] :

                                              We say that there exists an absolute left Kan extension of g along f if any 1-morphism h commutes with the left Kan extension f⁺ g.

                                              Instances
                                                instance CategoryTheory.Bicategory.instCommuteWith {B : Type u} [Bicategory B] {a b c : B} {f : a b} {g : a c} [HasAbsLeftKanExtension f g] {x : B} (h : c x) :
                                                class CategoryTheory.Bicategory.HasLeftKanLift {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) :

                                                The existence of a left kan lift of g along f.

                                                Instances
                                                  theorem CategoryTheory.Bicategory.LeftLift.IsKan.hasLeftKanLift {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {t : LeftLift f g} (H : t.IsKan) :
                                                  def CategoryTheory.Bicategory.lanLiftLeftLift {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] :

                                                  The left Kan lift of g along f at the level of structured arrows.

                                                  Equations
                                                    Instances For
                                                      def CategoryTheory.Bicategory.lanLift {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] :
                                                      c b

                                                      The left Kan lift of g along f.

                                                      Equations
                                                        Instances For

                                                          f₊ g is the left Kan lift of g along f.

                                                                      b
                                                                    ◹ |
                                                             f₊ g /   |
                                                                /     | f
                                                              /       ▽
                                                            c - - - ▷ a
                                                                 g
                                                          
                                                          Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem CategoryTheory.Bicategory.lanLiftLeftLift_lift {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] :
                                                              def CategoryTheory.Bicategory.lanLiftUnit {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] :

                                                              The unit for the left Kan lift f₊ g.

                                                              Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem CategoryTheory.Bicategory.lanLiftLeftLift_unit {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] :
                                                                  def CategoryTheory.Bicategory.lanLiftIsKan {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] :

                                                                  Evidence that the LanLift.lift f g is a Kan lift.

                                                                  Equations
                                                                    Instances For
                                                                      def CategoryTheory.Bicategory.lanLiftDesc {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} [HasLeftKanLift f g] (s : LeftLift f g) :

                                                                      The family of 2-morphisms out of the left Kan lift f₊ g.

                                                                      Equations
                                                                        Instances For
                                                                          @[simp]
                                                                          theorem CategoryTheory.Bicategory.lanLiftUnit_desc {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} [HasLeftKanLift f g] (s : LeftLift f g) :
                                                                          @[simp]
                                                                          theorem CategoryTheory.Bicategory.lanLiftIsKan_desc {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} [HasLeftKanLift f g] (s : LeftLift f g) :
                                                                          theorem CategoryTheory.Bicategory.LanLift.existsUnique {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} [HasLeftKanLift f g] (s : LeftLift f g) :
                                                                          class CategoryTheory.Bicategory.LanLift.CommuteWith {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] {x : B} (h : x c) :

                                                                          We say that a 1-morphism h commutes with the left Kan lift f₊ g if the whiskered left lift for f₊ g by h is a Kan lift of h ≫ g along f.

                                                                          Instances
                                                                            theorem CategoryTheory.Bicategory.LanLift.CommuteWith.of_isKan_whisker {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} [HasLeftKanLift f g] (t : LeftLift f g) {x : B} (h : x c) (H : (t.whisker h).IsKan) (i : t.whisker h (lanLiftLeftLift f g).whisker h) :
                                                                            def CategoryTheory.Bicategory.LanLift.CommuteWith.isKan {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] {x : B} (h : x c) [CommuteWith f g h] :

                                                                            Evidence that h commutes with the left Kan lift f₊ g.

                                                                            Equations
                                                                              Instances For
                                                                                def CategoryTheory.Bicategory.LanLift.CommuteWith.isKanWhisker {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] (t : LeftLift f g) (H : t.IsKan) {x : B} (h : x c) [CommuteWith f g h] :

                                                                                If h commutes with f₊ g and t is another left Kan lift of g along f, then t.whisker h is a left Kan lift of h ≫ g along f.

                                                                                Equations
                                                                                  Instances For

                                                                                    The isomorphism f₊ (h ≫ g) ≅ h ≫ f₊ g at the level of structured arrows.

                                                                                    Equations
                                                                                      Instances For
                                                                                        def CategoryTheory.Bicategory.LanLift.CommuteWith.lanLiftCompIso {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] {x : B} (h : x c) [CommuteWith f g h] :

                                                                                        The 1-morphism h commutes with the left Kan lift f₊ g.

                                                                                        Equations
                                                                                          Instances For
                                                                                            @[simp]
                                                                                            theorem CategoryTheory.Bicategory.LanLift.CommuteWith.lanLiftCompIso_inv {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] {x : B} (h : x c) [CommuteWith f g h] :
                                                                                            @[simp]
                                                                                            theorem CategoryTheory.Bicategory.LanLift.CommuteWith.lanLiftCompIso_hom {B : Type u} [Bicategory B] {a b c : B} (f : b a) (g : c a) [HasLeftKanLift f g] {x : B} (h : x c) [CommuteWith f g h] :

                                                                                            We say that there exists an absolute left Kan lift of g along f if any 1-morphism h commutes with the left Kan lift f₊ g.

                                                                                            Instances
                                                                                              instance CategoryTheory.Bicategory.instCommuteWith_1 {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} [HasAbsLeftKanLift f g] {x : B} (h : x c) :
                                                                                              theorem CategoryTheory.Bicategory.LeftLift.IsAbsKan.hasAbsLeftKanLift {B : Type u} [Bicategory B] {a b c : B} {f : b a} {g : c a} {t : LeftLift f g} (H : t.IsAbsKan) :