the dual space Hn−j(X,k)* is an isomorphism. In particular, the vector spaces Hj(X,k) and Hn−j(X,k)* have the same (finite) dimension. Many generalizations are possible using the language of sheaf cohomology. If X is an oriented n-manifold, not necessarily compact or connected, and k is a field, then cohomology is the dual of cohomology with compact support: For any manifold X and field k, there is a sheaf oX on X, the orientation sheaf, which is locally (but perhaps not globally) isomorphic to the constant sheaf k. One version of Poincaré duality for an arbitrary n-manifold X is the isomorphism: More generally, if E is a locally constant sheaf of k-vector spaces on an n-manifold X and the stalks of E have finite dimension, then there is an isomorphism With coefficients in an arbitrary commutative ring rather than a field, Poincaré duality is naturally formulated as an isomorphism from cohomology to Borel–Moore homology. Verdier duality is a vast generalization. For any locally compact space X of finite dimension and any field k, there is an object DX in the derived category D(X) of sheaves on X called the dualizing complex (with coefficients in k). One case of Verdier duality is the isomorphism: For an n-manifold X, the dualizing complex DX is isomorphic to the shift oX[n] of the orientation sheaf. As a result, Verdier duality includes Poincaré duality as a special case. Alexander duality is another useful generalization of Poincaré duality. For any closed subset X of an oriented n-manifold M and any field k, there is an isomorphism: This is interesting already for X a compact subset of M = Rn, where it says (roughly speaking) that the cohomology of Rn−X is the dual of the sheaf cohomology of X. In this statement, it is essential to consider sheaf cohomology rather than singular cohomology, unless one makes extra assumptions on X such as local contractibility. Higher direct images and the Leray spectral sequence Let f: X → Y be a continuous map of topological spaces, and let E be a sheaf of abelian groups on X. The direct image sheaf f*E is the sheaf on Y defined by for any open subset U of Y. For example, if f is the map from X to a point, then f*E is the sheaf on a point corresponding to the group E(X) of global sections of E. The functor f* from sheaves