Since adjoint functors are the deepest concept in the course so far, I'll need to keep explaining them before they sink in. There are a lot of technical issues we need to discuss, but you may want to study examples first. We started looking at some examples [last time](https://forum.azimuthproject.org/discussion/2264/lecture-48-chapter-3-adjoint-functors/p1). We need to see more, and think about them harder. But I can't resist getting to the punchline: the application to databases. I'm hoping that seeing the big picture will help you understand how all the pieces fit together. In [Lecture 41](https://forum.azimuthproject.org/discussion/2230/lecture-41-chapter-3-composing-functors/p1) we saw a trick for getting new databases from old. Remember, a **database schema** is just a category \\(\mathcal{C}\\). A **database built using this schema** is a functor \[ F : \mathcal{C} \to \mathbf{Set} .\] If we also have a functor \\(G: \mathcal{D} \to \mathcal{C}\\), we can take \\(F\\) and compose it with \\(G\\) to get a functor \[ F \circ G : \mathcal{D} \to \mathbf{Set} .\] But this is just a database built using the schema \\(\mathcal{D}\\)! So that's a pretty obvious trick for turning databases built using the schema \\(\mathcal{C}\\) into databases built using the schema \\(\mathcal{D}\\). But often we want to reverse this procedure, and turn databases built using \\(\mathcal{D}\\) into databases built using \\(\mathcal{C}\\). There turn out to be two ways to reverse this procedure: one using a left adjoint, and one using a right adjoint. Remember, the point of adjoints is to reverse computations Let me sketch the idea, which is really slick. There's actually a _category_ whose objects are databases built using the schema \\(\mathcal{C}\\), or in other words, functors \\( F : \mathcal{C} \to \mathbf{Set} \\). It's the functor category \[ \mathbf{Set}^{\mathcal{C}} . \] This is why I introduced functor categories in [Lecture 45](https://forum.azimuthproject.org/discussion/2249/lecture-45-chapter-3-composing-natural-transformations/p1)! Similarly, there's a functor category \[ \mathbf{Set}^{\mathcal{D}} \] whose objects are databases built using the schema \\(\mathcal{D}\\). But we've just seen that composing with \\(G: \mathcal{D} \to \mathcal{C}\\) takes functors \\( F : \mathcal{C} \to \mathbf{Set} \\) and gives functors \\( F \circ G : \mathcal{D} \to \mathbf{Set} \\). In fact - this takes some work to check - this gives a functor \[ \textrm{composing with } G : \mathbf{Set}^{\mathcal{C}} \to \mathbf{Set}^{\mathcal{D}} .\] And here's the cool part: _this functor always has both a left adjoint and a right adjoint!_ These are ways to turn databases built using \\(\mathcal{D}\\) into databases built using \\(\mathcal{C}\\). These adjoints, by the way, are called **[Kan extensions](https://en.wikipedia.org/wiki/Kan_extension)**. The left adjoint is called the **left Kan extension along \\(G\\)**, and it's denoted \[ \mathrm{Lan}(G) : \mathbf{Set}^{\mathcal{D}} \to \mathbf{Set}^{\mathcal{C}} \] where 'Lan' is a weird abbreviation of 'left Kan'. The right adjoint is called the **right Kan extension along \\(G\\)**, and it's denoted \[ \mathrm{Ran}(G) : \mathbf{Set}^{\mathcal{D}} \to \mathbf{Set}^{\mathcal{C}}. \] Okay, that's a lot of abstraction! Next time we need to look at some examples. In fact you've already seen some examples, [last time](https://forum.azimuthproject.org/discussion/2264/lecture-48-chapter-3-adjoint-functors/p1). You just need to see that they _are_ examples. I'll explain this next time. But just for those of you who like a challenge: **Puzzle 154.** Which of the functors in the example and puzzles from [last time](https://forum.azimuthproject.org/discussion/2264/lecture-48-chapter-3-adjoint-functors/p1) last time are of the form \[ \textrm{composing with } G : \mathbf{Set}^{\mathcal{C}} \to \mathbf{Set}^{\mathcal{D}} ?\] Which are left or right adjoints of functors of this form? Okay, maybe this is too ['meta'](https://en.wikipedia.org/wiki/Meta): it's a puzzle about puzzles! But if you're taking a course on category theory, maybe you like 'meta'. **[To read other lectures go here.](http://www.azimuthproject.org/azimuth/show/Applied+Category+Theory#Chapter_3)**