There are various ways to define homology and cohomology theories in algebra. One standard method is the theory of derived functors. These require two ingredients: a half-exact additive functor between abelian categories and enough projectives or injectives. In the theory of derived functors, we are not concerned with specific resolutions because of comparison lemmas which give us independence from them, although when we actually go to calculate homology, we will need specific resolutions, at least initially.

Another idea in homological algebra is instead to start with a specific resolution or resolution-like "thing" of an object $ X$, and then define a homology theory based upon it by applying a functor with values in an abelian category. Here, the two ingredients are an $ X$-"resolution" in $ \mathcal{C}$ and a functor $ F:\mathcal{C}\to\mathcal{A}$ where $ \mathcal{A}$ is an abelian category. The put quotation marks around "resolution" because $ \mathcal{C}$ may not be abelian, and for that matter the objects in $ \mathcal{C}$ won't be chain complexes but rather simplicial objects. Hence if $ C\in\mathcal{C}$ then $ F(C)$ won't be a chain complex but rather a simplicial abelian object, and then we will have to get a chain complex from it. However, all of this is a technicality and will be saved for a future post.

In its most general form, this process in itself doesn't need projective or injective objects, although certain analogues of projectives or injectives are necessary to prove nice properties of this type of homology. Of course, in order to mass-produce these resolutions or resolution-like objects to construct the theory in the first place, there should be some handy mechanism that tells us how to make them. There is one way to codify all this vagueness, and it's called cotriple homology, and as is the case with most derived functors, cotriple homology revolves around the idea of adjoint functors.

*In this post, we shall see an example: the construction of a $ k$-algebra resolution of a $ k$-algebra, without using the underlying mechanism of cotriple homology. In a future post, we shall see the ideas behind this general theory, which will allow me to encapsulate the verbosity of this post into a few lines of elegance.*

Most of this material is based from what I learnt in the books of C. Weibel [3] and J.-L. Loday [2].

### Building a Resolution

Let $ k$ be a commutative ring and $ R$ a commutative $ k$-algebra. We write $ k\cdot\mathrm{alg}$ for the category of all commutative $ k$-algebras. One can consider the free algebra or polynomial algebra $ k[X]$ on any set $ X$. For instance, if $ X = \{ x\}$ then $ k[X] = k[x]$, the polynomial algebra in one variable. This "free k-algebra construction" is functorial and gives rise to a ("the") left adjoint $ F:Set\to k\cdot\mathrm{alg}$ of the forgetful functor $ U:k\cdot alg\to Set$ sending a $ k$-algebra $ R$ to the underlying set of $ R$.

Let $ R$ be any $ k$-algebra as above. We can apply the forgetful functor $ U$ to get $ U(R)$, the underlying set of $ R$. Then, we can apply $ F$ to get $ FU(R)$, which we can write $ k[R]$, the polynomial algebra on the underyling set of $ R$. Iterating this process by applying $ FU$ again gives $ k[k[R]]$, the polynomial algebra on the underyling set of the polynomial algebra $ k[R]$. If $ R$ is countable (=countably infinite) and $ k$ is countable then $ k[R]$ is countable, so as $ k$-algebras, these are isomorphic since $ k[R]\cong_{\mathrm{Set}} R$.

But *sometimes*, we might have to keep track of the generators of $ k[k[R]]$ as elements of $ k[R]$. Let us develop a bit of notation for this.

### The How

This is how I like to think of these objects: one can write $ G(r)\in k[R]$ for the corresponding generator in $ r$ ("G" stands for "G"enerator). Then we just iterate this notation: $ G(G(r) + 2G(s))$ would refer to an element of $ k[k[R]]$. One could also use subscripts, but this isn't convenient because eventually it will be useful to consider things like $ k[k[k[k[k[R]]]]]$. This surely prompts the question of *why?*. So far, I have only made a few definitions, and in order for these definitions to be interesting there should be interesting theorems to accompany them.

### Why?

To motivate this, let us consider some interesting $ k$-algebra morphisms $ k[k[R]]\to k[R]$. To make things concrete, let's fix an element, written in the above notation. Fix some $ r,s\in R$ and consider the element $ Y = G(G(r)G(s) – G(rs))$. To map this element to something in $ k[R]$, we could drop the inner $ G$ operators:

so that $ Y$ maps to the generator $ G(0)$ in $ k[R]$. Let's call this map $ \partial_1$. On the other hand, we could drop the outer $ G$ operator:

so that $ Y$ maps to the element $ G(r)G(s) – G(rs)$ in $ k[R]$. Let's call this map $ \partial_0$.

**Very Short Exercise: Show that the maps $ \partial_1$ and $ \partial_0$ are $ k$-algebra homomorphisms.**

Set $ d = \partial_0 – \partial_1$. What does this kind of thing remind you of? Using this, we get a small chain complex $ C$:

In fact, we can also consider the map $ \epsilon: k[R]\to R$ where $ G(r)\mapsto r$ and then the above complex is the truncation of the exact sequence

This little exact sequence is actually part of a $ k$-algebra resolution of the $ k$-algebra $ R$ whose higher terms are $ k[k[k[R]]],k[k[k[k[R]]]],\dots$. To keep the notation sane, define $ \bot = FU$ and $ \bot_n(R) = \bot^{n+1}(R)$. Using the $ n+1$ ways to collapse the $ G$ operators as we did with $ k[k[R]]\to k[R]$ we get $ n+1$ maps $ \partial_i:\bot_n(R)\to\bot_{n-1}(R)$ and thus a differential operator $ d = \sum (-1)^i\partial_i$. In fact, $ d^2 = 0$. The reader may wish to try and prove this, although in some not-so-distant future post we will explain this construction in more general terms.

So, the $ d$ maps and the $ \bot_*(R)$ fit together to make a complex

which, when augmented with the map $ \epsilon:\bot_0(R)=k[R]\to R$ gives a $ k$-algebra free resolution of $ R$. The fact that this is a resolution follows from the general machinery behind constructing these complexes.

Now that we have this handy resolution, we can define a cohomology theory. If $ M$ is an $ R$-module, then we can consider $ M$ a $ k[R]$-module via $ \epsilon$, and we can also consider $ M$ as as $ k[k[R]]$-module, etc. so that we can apply the functor $ \mathrm{Der}_k(-,M)$ to this resolution. Recall that $ \mathrm{Der}_k(R,M)$ for an $ R$-module $ M$ is the set of all derivations from $ R$ into $ M$.

We call the corresponding cohomology $ H^i(\mathrm{Der}_k(\bot_*(R)))$ the Andre-Quillen cohomology of $ R$ with coefficients in $ M$ and denote it $ D^i(R/k,M)$. As in the theory of derived functors, we have $ D^0(R/k,M) \cong \mathrm{Der}_k(R,M)$, and this is an easy exercise using the notation I introduced above.

This Andre-Quillen cohomology theory has some similarities to the $ \mathrm{Ext}$ functor; for instance $ D^1$ does indeed classify certain kinds of algebra extensions. It also plays a role in the theory of Hochschild cohomology of $ k$-algebras where $ k$ is a field of characteristic zero. Hochschild cohomology in characteristic zero admits a nice direct-sum decomposition in which one of the terms turns out to be this Andre-Quillen cohomology, and all of this formalism is useful for studying smooth separable algebras, which I hope to talk a bit about later.

### What's Next

Now I'll say roughly what I will make precise next time.

The construction of the free resolution of a $ k$-algebra $ R$ may have seemed involved, but it actually can be captured into a very neat construction: the cotriple cohomology associated to an adjoint pair of functors and a functor with values in an abelian category. The "cotriple" part is just a functor $ \bot$ together with two of its natural transformations that satisfy some categorical monoid-like axioms. The resolution we will construct will come from iterating the functor $ \bot$ and using the natural transformations to construct the differentials in the complex.

The nice thing about this construction is that every cotriple actually arises from an adjoint pair: this theorem was proved independently by Kleisi and by Eilenberg-Moore (see [1] for more information on this and many other topics related to cotriples).

### Further Reading

Some references that I have learned from are:

[1] Barr and Wells, "Toposes, Triples and Theories": This book covers some of the fundamental properties of triples but does not discuss homological algebra.

[2] Loday, "Cyclic Homology": The main and probably only book covering Hochschild and cyclic homology in detail

[3] Weibel, "An Introduction to Homological Algebra": An introductory textbook to homological algebra with a chapter on simplicial techniques and hochschild homology, amongst other things.