The Stacks project

Lemma 49.2.1. Let $A \to B$ be a quasi-finite ring map. Given two factorizations $A \to B' \to B$ and $A \to B'' \to B$ with $A \to B'$ and $A \to B''$ finite and $\mathop{\mathrm{Spec}}(B) \to \mathop{\mathrm{Spec}}(B')$ and $\mathop{\mathrm{Spec}}(B) \to \mathop{\mathrm{Spec}}(B'')$ open immersions, there exists an $A$-subalgebra $B''' \subset B$ finite over $A$ such that $\mathop{\mathrm{Spec}}(B) \to \mathop{\mathrm{Spec}}(B''')$ an open immersion and $B' \to B$ and $B'' \to B$ factor through $B'''$.

Proof. Let $B''' \subset B$ be the $A$-subalgebra generated by the images of $B' \to B$ and $B'' \to B$. As $B'$ and $B''$ are each generated by finitely many elements integral over $A$, we see that $B'''$ is generated by finitely many elements integral over $A$ and we conclude that $B'''$ is finite over $A$ (Algebra, Lemma 10.36.5). Consider the maps

\[ B = B' \otimes _{B'} B \to B''' \otimes _{B'} B \to B \otimes _{B'} B = B \]

The final equality holds because $\mathop{\mathrm{Spec}}(B) \to \mathop{\mathrm{Spec}}(B')$ is an open immersion (and hence a monomorphism). The second arrow is injective as $B' \to B$ is flat. Hence both arrows are isomorphisms. This means that

\[ \xymatrix{ \mathop{\mathrm{Spec}}(B''') \ar[d] & \mathop{\mathrm{Spec}}(B) \ar[d] \ar[l] \\ \mathop{\mathrm{Spec}}(B') & \mathop{\mathrm{Spec}}(B) \ar[l] } \]

is cartesian. Since the base change of an open immersion is an open immersion we conclude. $\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 0BT0. Beware of the difference between the letter 'O' and the digit '0'.