# Milnor patching for general modules

The Milnor patching theorem for projective modules is the following statement. Given a pullback diagram of rings $$\begin{array}{} R & \xrightarrow{f_2} & R_2 \\ \downarrow{f_1} & & \downarrow{j_2} \\ R_1 & \xrightarrow{j_1} & R_3 \end{array}$$ such that $j_1$ or $j_2$ is surjective, a pair of projective modules $P_1$ and $P_2$ over $R_1$ and $R_2$ respectively, and an isomorphism $h : R_3 \otimes_{R_2} P_2 \to R_3 \otimes_{R_1} P_1$, then

1) the $R$-module $P$ as the pullback in the diagram $$\begin{array}{} P & \xrightarrow{} & P_2 \\ \downarrow{} & & \downarrow{h(1 \otimes \text{id})} \\ P_1 & \xrightarrow{1 \otimes \text{id}} & R_3 \otimes_{R_1} P_1 \end{array}$$ is projective. If furthermore $P_1$ and $P_2$ are finitely generated modules, then $P$ is finitely generated as well.

2) There are natural isomorphisms $P \otimes_R R_1 \to P_1$ and $P \otimes_R R_2 \to P_2$.

3) All projective $R$-modules arise for appropriately chosen $P_1$, $P_2$ and $h$.

This theorem gives an equivalence of the category of projective modules on $R$, and the category of "patching data" consisting of $P_1$, $P_2$ and $h$ like above.

Specifically, the equivalence may be described as follows. If we let $(P_1,P_2,h)$, $(P_1',P_2',h')$ be such patching data, a morphism of such triples is a pair of homorphisms $\phi_1 : P_1 \to P_1'$ and $\phi_2 : P_2 \to P_2'$ such that $$\begin{array}{} R_3 \otimes_{R_2} P_2 & \xrightarrow{1 \otimes \phi_2} & R_3 \otimes_{R_2} P_2' \\ \downarrow{h} & & \downarrow{h'}\\ R_3 \otimes_{R_1} P_1 & \xrightarrow{1 \otimes \phi_1} & R_3 \otimes_{R_1} P_1' \end{array}$$ commutes. A projective module $P$ on $R$ yields a triple $(R_1 \otimes_R P, R_2 \otimes_R P, \text{id})$, where $\text{id}$ denotes the identity map $R_3 \otimes_R P \to R_3 \otimes P$. A morphism of modules $P \to P'$ induces a morphism of triples in the obvious way.

My question is whether there exists a similar result for finitely generated modules (and modules in general), that is, not assuming $P_1$ and $P_2$ projective, with reasonable assumptions on $j_1$ and $j_2$ (and perhaps $R_1$,$R_2$ and $R_3$). Optimally, no stronger conditions though.

I would like an equivalence of categories of finitely generated $R$-modules and a certain notion of "patching data" in this context.

In the case that one of the homomorphisms $j_1$, $j_2$ is flat, I believe I have found such an equivalence. The proof makes use of the above theorem, by considering projective resolutions of arbitrary modules on $R_1$,$R_2$, together with an isomorphism $h$ like above.

I would however prefer not to assume flatness of $j_1$ or $j_2$.

Note: I asked this question some time ago on math.stackexchange, receiving no answers.

For example, start with a triple $$({\bf P}_1, {\bf P}_2,\alpha:{\bf P}_1\otimes R_3\rightarrow {R_3}\otimes {\bf P}_2)$$ where ${\bf P}_i$ is a bounded complex of finitely generated projective modules over ${R_i}$ and $\alpha$ is a quasi-isomorphism. Then one can show that patching along $\alpha$ yields a perfect complex of $R$-modules (it is in fact quasi-isomorphic to a bounded complex of finitely generated $R$-projectives). Moreover, this patching functor is an equivalence of categories.
Of course this is trivial when $\alpha$ is actually an isomorphism of complexes, but one wants the more general formulation. For example, given patching data as in your post, and assuming the $M_i$ have finite projective dimension, one can resolve the $M_i$, tensor both resolutions with $R_3$, lift $\alpha$ to the level of the resolutions (getting a quasi-isomorphism of complexes, not in general an isomorphism) and then patch to get a perfect complex over $R$.
This is the "right" procedure because the patched complex retains data about higher $Tor$'s, whereas your naive procedure throws away all information above $Tor_0$.
Added: If you insist on working with modules, you'll find (at least if both $j_i$ are surjective) that an $R$-module $M$ can be constructed by patching if and only if the two kernels of the maps $M\rightarrow R_i$ have trivial intersection. Therefore, in particular, any submodule of a free module can be constructed by patching. But this also makes it easy to construct counterexamples.
Added further: For an explicit counterexample, let $R=k[x,y]/(xy)$, $R_1=R/xR$, $R_2=R/yR$, and $M=R/(x-\alpha y)$ where $k$ is a field and $\alpha\in k$ is a unit. Then $M$ can't be constructed by patching.