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:
LeftExtension.IsKan.desc
: the family of 2-morphisms out of the left Kan extension.LeftExtension.IsKan.fac
: the unit of any left extension factors through the left Kan extension.LeftExtension.IsKan.hom_ext
: two 2-morphisms out of the left Kan extension are equal if their compositions with each unit are equal.
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
A left Kan extension of g
along f
is an initial object in LeftExtension f g
.
Equations
- t.IsKan = CategoryTheory.StructuredArrow.IsUniversal t
Instances For
An absolute left Kan extension is a Kan extension that commutes with any 1-morphism.
Instances For
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
The family of 2-morphisms out of a left Kan extension.
Equations
- H.desc s = CategoryTheory.StructuredArrow.IsUniversal.desc H s
Instances For
Two 2-morphisms out of a left Kan extension are equal if their compositions with each triangle 2-morphism are equal.
Kan extensions on g
along f
are unique up to isomorphism.
Equations
- P.uniqueUpToIso Q = CategoryTheory.Limits.IsInitial.uniqueUpToIso P Q
Instances For
Transport evidence that a left extension is a Kan extension across an isomorphism of extensions.
Equations
- P.ofIsoKan i = CategoryTheory.Limits.IsInitial.ofIso P i
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
If s ≅ t
and IsKan (s.whisker h)
, then IsKan (t.whisker h)
.
Equations
- CategoryTheory.Bicategory.LeftExtension.IsKan.whiskerOfCommute s t i h P = P.ofIsoKan (CategoryTheory.Bicategory.LeftExtension.whiskerIso i h)
Instances For
The family of 2-morphisms out of an absolute left Kan extension.
Equations
- H.desc s = (H h).desc s
Instances For
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
Transport evidence that a left extension is a Kan extension across an isomorphism of extensions.
Equations
- P.ofIsoAbsKan i h = (P h).ofIsoKan (CategoryTheory.Bicategory.LeftExtension.whiskerIso i h)
Instances For
A left Kan lift of g
along f
is an initial object in LeftLift f g
.
Equations
- t.IsKan = CategoryTheory.StructuredArrow.IsUniversal t
Instances For
An absolute left Kan lift is a Kan lift such that every 1-morphism commutes with it.
Instances For
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
The family of 2-morphisms out of a left Kan lift.
Equations
- H.desc s = CategoryTheory.StructuredArrow.IsUniversal.desc H s
Instances For
Two 2-morphisms out of a left Kan lift are equal if their compositions with each triangle 2-morphism are equal.
Kan lifts on g
along f
are unique up to isomorphism.
Equations
- P.uniqueUpToIso Q = CategoryTheory.Limits.IsInitial.uniqueUpToIso P Q
Instances For
Transport evidence that a left lift is a Kan lift across an isomorphism of lifts.
Equations
- P.ofIsoKan i = CategoryTheory.Limits.IsInitial.ofIso P i
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
If s ≅ t
and IsKan (s.whisker h)
, then IsKan (t.whisker h)
.
Equations
- CategoryTheory.Bicategory.LeftLift.IsKan.whiskerOfCommute s t i h P = P.ofIsoKan (CategoryTheory.Bicategory.LeftLift.whiskerIso i h)
Instances For
The family of 2-morphisms out of an absolute left Kan lift.
Equations
- H.desc s = (H h).desc s
Instances For
An absolute left Kan lift is a left Kan lift.
Equations
- H.isKan = (CategoryTheory.Bicategory.LeftLift.IsKan.ofIdComp (t.whisker (CategoryTheory.CategoryStruct.id c)) (H (CategoryTheory.CategoryStruct.id c))).ofIsoKan t.whiskerOfIdCompIsoSelf
Instances For
Transport evidence that a left lift is a Kan lift across an isomorphism of lifts.
Equations
- P.ofIsoAbsKan i h = (P h).ofIsoKan (CategoryTheory.Bicategory.LeftLift.whiskerIso i h)
Instances For
A right Kan extension of g
along f
is a terminal object in RightExtension f g
.
Equations
Instances For
A right Kan lift of g
along f
is a terminal object in RightLift f g
.