The Stacks project

Lemma 48.25.10. In Situation 48.16.1 let $f : X \to Y$ be a morphism of $\textit{FTS}_ S$. Let $x \in X$. If $f$ is flat, then the following are equivalent

  1. $f$ is Gorenstein at $x$,

  2. $f^!\mathcal{O}_ X$ is isomorphic to an invertible object in a neighbourhood of $x$.

In particular, the set of points where $f$ is Gorenstein is open in $X$.

Proof. Set $\omega ^\bullet = f^!\mathcal{O}_ Y$. By Lemma 48.18.4 this is a bounded complex with coherent cohomology sheaves whose derived restriction $Lh^*\omega ^\bullet $ to the fibre $X_ y$ is a dualizing complex on $X_ y$. Denote $i : x \to X_ y$ the inclusion of a point. Then the following are equivalent

  1. $f$ is Gorenstein at $x$,

  2. $\mathcal{O}_{X_ y, x}$ is Gorenstein,

  3. $Lh^*\omega ^\bullet $ is invertible in a neighbourhood of $x$,

  4. $Li^* Lh^* \omega ^\bullet $ has exactly one nonzero cohomology of dimension $1$ over $\kappa (x)$,

  5. $L(h \circ i)^* \omega ^\bullet $ has exactly one nonzero cohomology of dimension $1$ over $\kappa (x)$,

  6. $\omega ^\bullet $ is invertible in a neighbourhood of $x$.

The equivalence of (1) and (2) is by definition (as $f$ is flat). The equivalence of (2) and (3) follows from Lemma 48.24.4. The equivalence of (3) and (4) follows from More on Algebra, Lemma 15.72.5. The equivalence of (4) and (5) holds because $Li^* Lh^* = L(h \circ i)^*$. The equivalence of (5) and (6) holds by More on Algebra, Lemma 15.72.5. Thus the lemma is clear. $\square$


Comments (0)


Post a comment

Your email address will not be published. Required fields are marked.

In your comment you can use Markdown and LaTeX style mathematics (enclose it like $\pi$). A preview option is available if you wish to see how it works out (just click on the eye in the toolbar).

Unfortunately JavaScript is disabled in your browser, so the comment preview function will not work.

All contributions are licensed under the GNU Free Documentation License.




In order to prevent bots from posting comments, we would like you to prove that you are human. You can do this by filling in the name of the current tag in the following input field. As a reminder, this is tag 0C08. Beware of the difference between the letter 'O' and the digit '0'.