Module docstring
{"# Kan extensions
The basic definitions for Kan extensions of functors is introduced in this file. Part of API
is parallel to the definitions for bicategories (see CategoryTheory.Bicategory.Kan.IsKan).
(The bicategory API cannot be used directly here because it would not allow the universe
polymorphism which is necessary for some applications.)
Given a natural transformation α : L ⋙ F' ⟶ F, we define the property
F'.IsRightKanExtension α which expresses that (F', α) is a right Kan
extension of F along L, i.e. that it is a terminal object in a
category RightExtension L F of costructured arrows. The condition
F'.IsLeftKanExtension α for α : F ⟶ L ⋙ F' is defined similarly.
We also introduce typeclasses HasRightKanExtension L F and HasLeftKanExtension L F
which assert the existence of a right or left Kan extension, and chosen Kan extensions
are obtained as leftKanExtension L F and rightKanExtension L F.
References
- https://ncatlab.org/nlab/show/Kan+extension
"}