Kan extensions are universal constructs in , a branch of mathematics. They are closely related to adjoints, but are also related to and . They are named after Daniel M. Kan, who constructed certain (Kan) extensions using in 1960. An early use of (what is now known as) a Kan extension from 1956 was in homological algebra to compute derived functors. In Categories for the Working Mathematician Saunders Mac Lane titled a section "All Concepts Are Kan Extensions", and went on to write that The notion of Kan extensions subsumes all the other fundamental concepts of category theory. Kan extensions generalize the notion of extending a function defined on a subset to a function defined on the whole set. The definition, not surprisingly, is at a high level of abstraction. When specialised to posets, it becomes a relatively familiar type of question on constrained optimization. A Kan extension proceeds from the data of three categories and two functors and comes in two varieties: the "left" Kan extension and the "right" Kan extension of along . The right Kan extension amounts to finding the dashed arrow and the natural transformation in the following diagram: Formally, the right Kan extension of along consists of a functor and a natural transformation that is couniversal with respect to the specification, in the sense that for any functor and natural transformation , a unique natural transformation is defined and fits into a commutative diagram: where is the natural transformation with for any of The functor R is often written . As with the other universal constructs in , the "left" version of the Kan extension is to the "right" one and is obtained by replacing all categories by their s. The effect of this on the description above is merely to reverse the direction of the natural transformations. (Recall that a natural transformation between the functors consists of having an arrow for every object of , satisfying a "naturality" property. When we pass to the opposite categories, the source and target of are swapped, causing to act in the opposite direction).