Thread: one of my favourite circle of ideas in mathematics is Grothendieck's "six operation formalism", which roughly states that the cohomology of geometric objects (manifolds, algebraic varieties...) fits into a "sheaf-theoretic, functorial picture with Poincaré duality".
The prerequisites for this thread are a little steep, but you will hopefully get something out of it if you know about singular (co)homology, Poincaré duality for manifolds, homological algebra (including derived categories) and some sheaf theory.
In algebraic geometry and sheaf theory, you may have encountered strange isomorphisms and diagrams involving stars and exclamation marks flying off in all directions.
Let's actually stare at a typical diagram of this kind (taken almost at random from a proof in http://user.math.uzh.ch/ayoub/PDF-Files/THESE.PDF. What one earth could that thing tell you about geometry? Let's try to find out.
The six operation formalism was first developped in the context of étale cohomology and étale sheaves by Grothendieck together with collaborators (Artin, Verdier, Deligne...) in SGA4, in the course of their program to prove the Weil conjectures.
It was however intuited from the start that this was an instance of a general pattern which should hold for other cohomology theories.
Indeed, one of the charms of the six operation formalism is that it applies to many cohomologies beyond the étale case, and yet it provides a uniform way to manipulate them, with completely parallel operations which are defined in different ways but satisfy the same formulas.
For instance, singular cohomology, de Rham cohomology and étale cohomology (the standard trinity of cohomology theories in algebraic geometry) come with associated sheaf theories (usual sheaves, D-modules and étale/l-adic sheaves respectively) with "six operations formalisms".
There are also more "exotic" six operation formalisms. For instance, the theory of mixed Hodge modules of M.Saito gives a sheaf-theoretic approach to Hodge theory, and the theory of arithmetic D-modules of Berthelot gives a sheaf-theoretic approach to rigid (p-adic) cohomology.
Because of this proliferation of cohomologies, the six operation formalism is closely related to Grothendieck's idea of "motives" as universal cohomology; a recent development due to Voevodsky, Morel, Ayoub and others is a six operation formalism for "motivic sheaves".
There is also a six operation formalism for *coherent* sheaves in algebraic geometry, which is very similar but slightly different from the others in interesting ways, and "explains" Serre and Grothendieck-Verdier duality.
For the rest of the thread, I will focus on the simplest example of a six operation formalism, the theory of derived categories of sheaves of abelian groups on manifolds, which extends singular cohomology.
But it's good to keep in mind that every formula we will write has potential applications to linear differential equations (via the theory of D-modules), to the arithmetic of Galois representations (via l-adic sheaves), to algebraic cycles (via motivic sheaves)...
Let X be a topological space. Thanks to Poincaré, Noether, Alexander, Kolmogoroff, Eilenberg... we know that we can measure the "shape of X" via *singular (co)homology*. We have for every abelian group A two graded abelian groups H_*(X,A) and H^*(X,A).
Singular (co)homology has two other close relatives: *cohomology with compact support* H^*_c(X,A) and *Borel-Moore homology* H_*^BM(X,A), which come up in particular in Poincaré duality. If you are not familiar with those, don't worry, we will come back to them in due time.
Singular homology has a relatively straightforward geometric interpretation: elements in H_n(X,A) correspond to n-dimensional gadgets in X which mark a true "n-dimensional hole in X" (of course the choice of A comes into defining what counts as "true"!).
Singular cohomology on the other hand is not so easy to interpret. Since the two are closely related (e.g. by the universal coefficient theorem for cohomology), why do topologists insist on introducing cohomology, and often consider it more important than homology?
One reason is that, if R is a ring (rather than just an abelian group), then H^*(X,R) is also a (graded) ring, with the operation known as *cup product*. Another one, more important for us right now, is that H^*(X,A) has an alternative interpretation as *sheaf cohomology*.
More precisely, if X is locally contractible (a property shared by most spaces of interest in geometry), the sheaf cohomology of the constant sheaf A is canonically isomorphic to singular cohomology with coefficients in A.
This opens a completely new way to work with cohomology, because sheaf theory is a very flexible and powerful framework, especially when combined with homological algebra.
First, nothing prevents us from looking at the sheaf cohomology of other sheaves! So we have H^*(X,F) for any sheaf of abelian groups on X, the cohomology of X *with coefficients in F*.
For instance, F could be a *locally* constant sheaf (locally isomorphic to a constant sheaf); this recovers singular cohomology with local coefficients, well-loved by topologists for its role in the cohomological version of Whitehead's theorem on homotopy equivalences.
Note that locally constant sheaves of abelian groups are equivalent to representations of the fundamental group, so by inviting sheaf theory in, you step out of the world of "stable"/abelian invariants and encountered some unstable/non-abelian information.
Second, there are many ways to construct news sheaves out of old ones; sheaves have a rich *functoriality*. If f:X-->Y is a continuous map and F (resp. G) is a sheaf on X (resp. Y), we can form the pushforward f_*F (resp. the pullback f^*G), a sheaf on Y (resp. X).
For instance, if i:Y-->X is the inclusion of a closed subset, we have H^*(X,i_*A)=H^*(Y,A); by introducing coefficients, we package together the usual cohomologies of all the closed subsets of X!
Third, the pushforward f_* can be *derived* in the sense of homological algebra; we have right derived functors R^i f_*:Sh(X)-->Sh(Y). This subsumes cohomology; if p:X-->* is the unique map to a one-point space, sheaves on Y are just abelian groups, and R^i f_*(F)=H^i(X,F).
Fourth, we can use more homological algebra and introduce the derived category D(X) of sheaves of abelian groups on X; its objects are chain complexes of sheaves on X, considered "up to quasi-isomorphism". Then we can collect the R^i f_* into one functor Rf_*:D(X)-->D(Y).
So now we zoom out and see that the story of the singular cohomology takes place in the collection of categories Sh(X)\\subset D(X) for all X together with the constant sheaves A_X in Sh(X) and the pullbacks and derived pushforward functors of continuous maps between them.
In fact, from a categorical perspective, it is all about the pullbacks alone (or the pushforwards alone), because they are related by an adjunction (f^* is left adjoint to Rf_*), so that by unicity of adjoints you can "reconstruct" the pushforwards from the pullbacks.
Let's see how relative cohomology comes out of this machinery. Let i:Y-->X be the inclusion of any subspace. Then we can form the sheaf i_*A_Y. It comes from a canonical map A_X-->i_*A_Y. We can form the cone C(X,Y) of this map in D(X). Then H^*(X,Y;A)=H^*(C(X,Y)).
It is also possible to interpret pretty much all other standard properties of singular and sheaf cohomology: homotopy invariance, Mayer-Vietoris sequences, Leray spectral sequence, etc. in this framework.
This point of view may seem a little overkill if you are just interested in the cohomology of one particular space, but experience shows that interesting questions rarely stop at one fixed space and one has to embrace functoriality at one point or another!
We have only scratched the surface though: in this picture, where do cup-products come from? Can this explain Künneth formulas? What about Poincaré duality, homology, cohomology with compact supports, and Borel-Moore homology?
To go further, we need another piece of the puzzle: the (derived) tensor product of sheaves. Let F,G be sheaves of abelian groups on X. Then for any open U in X, we can form F(U)⮾G(U). The result is rarely a sheaf, so we sheafify it, to get the tensor product sheaf F⮾G.
As always we want to deal with functors between derived categories, so we (left-)derive the tensor product into a functor ⮾:D(X)⨯D(X)→D(X).
The basic compatibility with the previous functors is that all pullback functors preserve tensor products: f^*(F⮾G)=f^*(F)⮾f^*(G). The relationship of pushforwards and tensor products is less simple but can be expressed in some cases by the so-called projection formula.
Using the tensor product, one can recover the cup product structure on cohomology, and prove the Künneth formula. I won't go into details; one nice feature of this approach is that all the comparison morphisms which appear just come straight out of the abstract setup.
We have the related sheaf of homomorphisms from F to G: Hom(F,G)(U):=Hom_{Sh(U)}(F_U,G_U). The functor Hom(F,-) is right adjoint to the tensor product F⊗-, by a sheaffy version of the same result for abelian groups.
We now have four functors: pullback, pushforward, tensor product, sheaf Hom. To complete our bestiary and get to *six* operations, we need to think about duality...and this is already too long, so I will leave it for another time!