The Stacks project

Lemma 37.10.1. Let $(f, f') : (X \subset X') \to (S \subset S')$ be a morphism of first order thickenings. Assume that $f$ is flat. Then the following are equivalent

  1. $f'$ is flat and $X = S \times _{S'} X'$, and

  2. the canonical map $f^*\mathcal{C}_{S/S'} \to \mathcal{C}_{X/X'}$ is an isomorphism.

Proof. As the problem is local on $X'$ we may assume that $X, X', S, S'$ are affine schemes. Say $S' = \mathop{\mathrm{Spec}}(A')$, $X' = \mathop{\mathrm{Spec}}(B')$, $S = \mathop{\mathrm{Spec}}(A)$, $X = \mathop{\mathrm{Spec}}(B)$ with $A = A'/I$ and $B = B'/J$ for some square zero ideals. Then we obtain the following commutative diagram

\[ \xymatrix{ 0 \ar[r] & J \ar[r] & B' \ar[r] & B \ar[r] & 0 \\ 0 \ar[r] & I \ar[r] \ar[u] & A' \ar[r] \ar[u] & A \ar[r] \ar[u] & 0 } \]

with exact rows. The canonical map of the lemma is the map

\[ I \otimes _ A B = I \otimes _{A'} B' \longrightarrow J. \]

The assumption that $f$ is flat signifies that $A \to B$ is flat.

Assume (1). Then $A' \to B'$ is flat and $J = IB'$. Flatness implies $\text{Tor}_1^{A'}(B', A) = 0$ (see Algebra, Lemma 10.75.8). This means $I \otimes _{A'} B' \to B'$ is injective (see Algebra, Remark 10.75.9). Hence we see that $I \otimes _ A B \to J$ is an isomorphism.

Assume (2). Then it follows that $J = IB'$, so that $X = S \times _{S'} X'$. Moreover, we get $\text{Tor}_1^{A'}(B', A'/I) = 0$ by reversing the implications in the previous paragraph. Hence $B'$ is flat over $A'$ by Algebra, Lemma 10.99.8. $\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 063Y. Beware of the difference between the letter 'O' and the digit '0'.