# Obstruction theory

This post continues the discussion started here.

Traditionally, an obstruction theory for a moduli problem is a way of computing infinitesimal automorphism groups, infinitesimal deformation spaces, and an obstruction space for a given moduli problem using cohomology. Moreover, in all cases where this can be done (as far as I know) these groups are computed as consecutive cohomology groups of a particular sheaf, or complex of sheaves, or sometimes consecutive ext groups. Let me give some examples.

Let A’ \to A be a surjection of rings over some base ring Λ whose kernel is an ideal I having square zero.

1. If Y is a smooth proper algebraic space over A, then
1. an obstruction to lifting Y to a smooth proper space over A’ lies in H^2(Y, T_{Y/A} ⊗ I),
2. if Y has a lift Y’ then the set of isomorphism classes of lifts is principal homogeneous under H^1(Y, T_{Y/A} ⊗ I),
3. the infinitesimal automorphism group of Y’ over Y is H^0(Y, T_{Y/A} ⊗ I)

You can work this example out by yourself using just Cech cohomology methods.

2. If Y’ is a flat proper algebraic space over A’ and F is a finite locally free O_Y-module where Y = Y’ ⊗ A, then
1. an obstruction to lifting F to a locally free module over Y’ lies in H^2(Y, End(F) ⊗ I)
2. if F has a lift F’ then the set of isomorphism classes of lifts is principal homogeneous under H^1(Y, End(F) ⊗ I)
3. the infinitesimal automorphism group of F’ over F is H^0(Y, End(F) ⊗ I)

Again a Cech cohomology computation will show you why this is true.

3. If X’ is an algebraic space flat over A’ and f : Y —> X is a morphism of algebraic spaces with Y flat and proper over A, then
1. an obstruction to lifting f to f’ : Y’ —> X’ with Y’ flat over A’ lies in Ext^2(L_{Y/X}, O_Y ⊗ I)
2. if f has a lift f’ then the set of isomorphism classes of lifts is principal homogeneous under Ext^1(L_{Y/X}, O_Y ⊗ I)
3. the infinitesimal automorphism group of f’ over f is Ext^0(L_{Y/X}, O_Y ⊗ I)

For this one I recommend looking in Illusie.

4. If X’ is an algebraic space over A’ (not necessarily flat) and f : Y —> X is a morphism of algebraic spaces with Y flat and proper over A and X = X’ ⊗ A. Denote g : Y —> X’ the composition of f and the closed immersion X —> X’. Let C ∈ D(Y) be the cone of the map g^*L_{X’/A’} —> L_{Y/A}. Then
1. an obstruction to lifting f to f’ : Y’ —> X’ with Y’ flat over A’ lies in Ext^2(C, O_Y ⊗ I)
2. if f has a lift f’ then the set of isomorphism classes of lifts is principal homogeneous under Ext^1(C, O_Y ⊗ I)
3. the infinitesimal automorphism group of f’ over f is Ext^0(C, O_Y ⊗ I)

For this one, I haven’t written out all the details. Note that the obstruction space maps to Ext^2(L_{Y/A}, O_Y ⊗ I) and the obstruction in A maps to the obstruction to lifting Y to a flat space over A’. Once we have chosen a Y’ the obstruction of A is lifted to an element of

Ext^1_{O_Y}(g^*L_{X’/A’}, O_Y ⊗ I) =
Ext^1_{g^{-1}O_{X’}}(g^{-1}L_{X’/A’}, O_Y ⊗ I) =
Ext^1_{g^{-1}O_{X’}}(L_{g^{-1}O_{X’}/A’}, O_Y ⊗ I) =
Exal_{A’}(g^{-1}O_{X’}, O_Y ⊗ I)

which measures the obstruction to lifting f^# to a map g^{-1}O_{X’} —> O_{Y’}, i.e., measures the obstruction to lifting f to a morphism Y’ —> X’. Changing the choice of Y’ alters this obstruction by the corresponding element of Ext^1(L_{Y/A}, O_Y ⊗ I). A similar story goes for the other groups.

In each of the cases above I think we can get a naive obstruction theory (as defined in the previous post). Essentially, each time the groups look like Ext^i(C, I), i = 0, 1, 2 for some object C of the derived category of some Y endowed with a proper flat morphism p : Y —> Spec(A). and you can take E = Rp_*(C ⊗ ω^*_{Y/A}) where ω^*_{Y/A} is the relative dualizing complex. [Edit June 28, 2012: This doesn’t work for case 4 because as Daivd Rydh points out below, the cone C may depend on A’. Thus you would have to allow for E to depend on the thickening… Ugh!]

Working dually. Folklore says that as soon as you can write down such a sequence of cohomology groups, then a naive obstruction theory should exist. The idea for the rest of this post is that you can try to axiomatize this. As stated here it only applies to cases 1 and 2 above; with some modifications it works in case 3 if you assume Y projective over A.

Let X be a category fibred in groupoids on (Sch/Λ). Let us define a dual naive obstruction theory as being given by the following data

1. for every object x of X over a Λ-algebra A we get K_x* ∈ D(A),
2. for any surjection A’ —> A with square zero kernel I and x over A an element ξ ∈ H^2(K_x^* ⊗ I),
3. for any surjection A’ —> A with square zero kernel I and liftable x over A, a free transitive action of H^1(K_x^* ⊗ I) on the set of isomorphism classes of lifts,
4. for any surjection A’ —> A with square zero kernel I and x’ over A’, an identification of H^0(K_x^* ⊗ I) with the infinitesimal automorphisms of x’ over x.

We impose some axioms on these data; we refrain from listing them all here. An important axiom is functoriality: if we have A —> B and x over A with base change y to B, then K_x^* ⊗_A B = K_y^*. We will describe two other key axioms. Suppose that we have a pair (A, x) and three surjections A_i —> A, i = 1, 2, 3 with square zero kernels I_i. Moreover, suppose we have maps

A_1 —> A_2 —> A_3

which induce a short exact sequence 0 —> I_1 —> I_2 —> I_3 —> 0. Denote

∂ : H^n(K_x^* ⊗ I_3) —> H^{n + 1}(K_x^* ⊗ I_1)

the boundary operator on cohomology. Then, we require (using the functoriality axiom to identify some of the groups):

1. given lifts x_3 and x_3′ over A_3 differing by θ ∈ H^1(K_x^* ⊗ I_3) the obstructions to lifting x_3 and x_3′ to A_1 differ by ∂(θ) in H^2(K_x^* ⊗ I_1),
2. given a lift x_2 over A_2 and an infinitesimal automorphism θ ∈ H^0(K_x^* ⊗ I_3) of x_2|_{Spec(A_3)}, the obstruction to lifting θ to an infinitesimal automorphism of x_2 is ∂(θ) in H^2(K_x^* ⊗ I_1).

Now, I believe (I worked it out on the blackboard here yesterday but it got erased) that given such a theory one can construct a (somewhat canonical) element

ξ(A, x) ∈ H^1(K_x^* ⊗ NL_{A/Λ})

which describes all the categories of lifts Lift(x, A’) for all surjections A’ —> A as above. Moreover, if K_x^* is a perfect complex, then we can set E = RHom_A(K_x^*, A) and use evaluation to get E —> NL_{A/Λ} and obtain a naive obstruction theory as in the previous post.

## 6 thoughts on “Obstruction theory”

1. Of course for every stack which is algebraic and has a cotangent complex, then there is an obstruction theory consisting of consecutive hyper-Ext groups. However, there are some circumstances where the “evident” obstruction theory does not quite fit this pattern. In my paper with Martin Olsson, we give one example: the relative Hilbert scheme of an ambient scheme which is not necessarily flat over the base. I believe Hall and Rydh have more such examples.

• I am not an expert and I haven’t checked the details, but I think that Johan’s example 4 is fine. However, it appears to me that the cone C depends on the extension A’. Indeed, consider the archetypical non-flat morphism – the blow-up (this example is due to Jack Hall, any errors are due to me):

Let the base ring \Lambda = k[x,y], let X_0 be the blow-up of the affine plane in the origin, take A=k[x,y]/(x,y), let X=X_0 \times_\Lambda Spec(A), let X’=X_0\times_\Lambda Spec(A’) and let Y->X->Spec(A) be the exceptional P^1. Then take either A’=k[x,y]/(x^2,y) or A’=A[e]/e^2. Unless I’m mistaken, in the first case C!=0 (and the obstruction is non-zero) but in the second case C=L_{Y/X}=0.

Johan’s framework for “naive obstruction theories” looks cool so hopefully there’s a nice way to include the non-flat case (e.g., by allowing a two-step obstruction theory with a primary Tor-obstruction as in Olsson-Starr and Hall’s paper). Derived algebraic geometry is of course another way to go (there non-flatness doesn’t really matter) but personally, I prefer more mundane solutions.

• Dependency of C on A’ is a really good point! Thanks for pointing that out!

• Dear David — Yes, Johan also pointed out my error. I should have written the Quot functor (which is the functor that Martin and I actually considered).

2. Pingback: A correction | Stacks Project Blog