98.21 Infinitesimal deformations to 98.26 Algebraic spaces in the…
Section98.21 Infinitesimal deformations#
Section 98.21 of the Stacks Project, Tag 07Y6. 8 tags here are carried by 45 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07Y7, a lemma
Tag 07Y7 in the Stacks Project.
Deformation.Artin.liftFunctorOfPullback, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 348. The attribute's comment: “the functor”.
The canonical functor on lifts attached to a commutative square
c ≫ a = d ≫ bin the base and a morphismF(x)|_V ⟶ yout of the chosen pullback.
public noncomputable def liftFunctorOfPullback (p : X ⥤ C) (q : Y ⥤ C)
(hq : q.IsFiberedInGroupoids) (F : X ⥤ Y) (hF : F ⋙ q = p)
{U' U V' V : C} (a : U' ⟶ U) (b : V ⟶ U) (c : V' ⟶ U') (d : V' ⟶ V)
(hsq : c ≫ a = d ≫ b) (x : X) (hx : p.obj x = U)
(y : Y) (hy : q.obj y = V) (e : q.ChoiceOfPullbacks)
(φ : (e.pullbackFunctor b).obj (imageFiber p q F hF x hx) ⟶ ⟨y, hy⟩) :
LiftFunctor p q F a b c d x hx y hy
(pullbackComparison p q hq F hF b x hx y hy e φ)
Deformation.Artin.liftFunctor_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 418. The attribute's comment: “uniqueness”.
Two functors on lifts with cartesian comparison arrows over the same square are uniquely isomorphic by an isomorphism commuting with their comparison arrows.
public theorem liftFunctor_unique (p : X ⥤ C) (q : Y ⥤ C)
(hq : q.IsFiberedInGroupoids) (F : X ⥤ Y)
{U' U V' V : C} (a : U' ⟶ U) (b : V ⟶ U) (c : V' ⟶ U') (d : V' ⟶ V)
(x : X) (hx : p.obj x = U) (y : Y) (hy : q.obj y = V)
(φ : y ⟶ F.obj x)
(L M : LiftFunctor p q F a b c d x hx y hy φ) :
∃! η : L.toFunctor ≅ M.toFunctor,
∀ t : Lift p a x hx,
(η.hom.app t).1.1 ≫ M.comparison t = L.comparison t
Deformation.Artin.liftFunctor_comp, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 506. The attribute's comment: “compatibility with composition”.
The functor on lifts induced by a composite of morphisms of fibred groupoids is canonically isomorphic to the composite of the two functors on lifts. The second morphism acts over the identity square at the target of the first. At every lift, the isomorphism is the unique vertical morphism commuting with the two cartesian comparison arrows.
public noncomputable def liftFunctor_comp
{Z : Type*} [Category Z]
(p : X ⥤ C) (q : Y ⥤ C) (r : Z ⥤ C)
(_hq : q.IsFiberedInGroupoids) (hr : r.IsFiberedInGroupoids)
(F : X ⥤ Y) (G : Y ⥤ Z)
(_hF : F ⋙ q = p) (hG : G ⋙ r = q)
{U' U V' V : C} (a : U' ⟶ U) (b : V ⟶ U)
(c : V' ⟶ U') (d : V' ⟶ V)
(_hsq : c ≫ a = d ≫ b)
(x : X) (hx : p.obj x = U)
(y : Y) (hy : q.obj y = V)
(z : Z) (hz : r.obj z = V)
(φ : y ⟶ F.obj x) (ψ : z ⟶ G.obj y)
(_hφ : q.IsHomLift b φ) (_hψ : r.IsHomLift (𝟙 V) ψ)
(L : LiftFunctor p q F a b c d x hx y hy φ)
(M : LiftFunctor q r G d (𝟙 V) (𝟙 V') d y hy z hz ψ)
(N : LiftFunctor p r (F ⋙ G) a b c d x hx z hz (ψ ≫ G.map φ)) :
{η : L.toFunctor ⋙ M.toFunctor ≅ N.toFunctor //
∀ t : Lift p a x hx,
(η.hom.app t).1.1 ≫ N.comparison t =
M.comparison (L.toFunctor.obj t) ≫ G.map (L.comparison t)}
Deformation.Artin.liftOutFunctorOfPullback, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/InfinitesimalLiftOut.lean, line 424. The attribute's comment: “the functor, on the source's Lift(x, A'), lifts out of the base”.
Stacks 07Y7. Let
F : X ⥤ Ybe a1-morphism of categories fibred in groupoids overC, letb ≫ a = d ≫ cbe a commutative square of the base witha : U ⟶ U',b : V ⟶ U,c : V' ⟶ U'andd : V ⟶ V', letxlie overU, letylie overV, and letφbe a morphismF(x)|_V ⟶ yof the fibre overV. Then there is a canonical functor from the lifts ofxalongato the lifts ofyalongd: a liftx ⟶ x'is carried to the chosen pullback ofF x'alongc, whose structure arrow out ofyis the factorization ofy ⟶ F x ⟶ F x'through that cartesian arrow.Over the big fppf site this is the source's
Lift(x, A') ⟶ Lift(y, B')for the commutative diagram ofS-algebras with rowsA' ⟶ A,B' ⟶ Band columnsA' ⟶ B',A ⟶ B.
public noncomputable def liftOutFunctorOfPullback (p : X ⥤ C) (q : Y ⥤ C)
(hq : q.IsFiberedInGroupoids) (F : X ⥤ Y) (hF : F ⋙ q = p)
{U U' V V' : C} (a : U ⟶ U') (b : V ⟶ U) (c : V' ⟶ U') (d : V ⟶ V')
(hsq : b ≫ a = d ≫ c) (x : X) (hx : p.obj x = U)
(y : Y) (hy : q.obj y = V) (e : q.ChoiceOfPullbacks)
(φ : (e.pullbackFunctor b).obj (imageFiber p q F hF x hx) ⟶ ⟨y, hy⟩) :
LiftOutFunctor p q F a b c d x hx y hy
(pullbackComparison p q hq F hF b x hx y hy e φ)
Deformation.Artin.liftOutFunctor_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/InfinitesimalLiftOut.lean, line 554. The attribute's comment: “uniqueness, on the source's Lift(x, A'), lifts out of the base”.
Two constructions satisfying the cartesian-square specification are uniquely isomorphic by an isomorphism commuting with their comparison maps. In particular, the direct functor for a composite of morphisms of fibred groupoids agrees canonically with the composite of the induced lift functors.
public theorem liftOutFunctor_unique (p : X ⥤ C) (q : Y ⥤ C) (F : X ⥤ Y)
{U U' V V' : C} (a : U ⟶ U') (b : V ⟶ U) (c : V' ⟶ U') (d : V ⟶ V')
(x : X) (hx : p.obj x = U) (y : Y) (hy : q.obj y = V)
(φ : y ⟶ F.obj x)
(L M : LiftOutFunctor p q F a b c d x hx y hy φ) :
∃! η : L.toFunctor ≅ M.toFunctor,
∀ t : LiftOut p a x hx,
(η.hom.app t).1.right ≫ M.comparison t = L.comparison t
Deformation.Artin.liftFunctorOfHom_comp, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/InfinitesimalLiftOut.lean, line 767. The attribute's comment: “compatibility with composition, on the source's Lift(x, A'), lifts out of the base”.
Stacks 07Y7, compatibility with composition. The construction is compatible with composition of
1-morphisms of categories fibred in groupoids: the functor on lifts induced byFandφ, followed by the functor on lifts induced byGandψover the identity square atd, is canonically isomorphic to the functor on lifts induced byF ⋙ Gand the composite arrowψ ≫ G φ, by the unique isomorphism commuting with the cartesian comparison arrows.All three functors here are built, not assumed to satisfy the specification: each is, by definition, a functor
Deformation.Artin.liftOutFunctorOfPullbackbuilds from the datumDeformation.Artin.pullbackDatumattaches to the given arrow. The source's data are covered because a morphism out of the chosen pullback gives such an arrow, byDeformation.Artin.pullbackComparisonandDeformation.Artin.pullbackComparison_isHomLift.
public noncomputable def liftFunctorOfHom_comp {Z : Type*} [Category Z]
(p : X ⥤ C) (q : Y ⥤ C) (r : Z ⥤ C)
(hq : q.IsFiberedInGroupoids) (hr : r.IsFiberedInGroupoids)
(F : X ⥤ Y) (G : Y ⥤ Z) (hF : F ⋙ q = p) (hG : G ⋙ r = q)
{U U' V V' : C} (a : U ⟶ U') (b : V ⟶ U) (c : V' ⟶ U') (d : V ⟶ V')
(hsq : b ≫ a = d ≫ c) (x : X) (hx : p.obj x = U)
(y : Y) (hy : q.obj y = V) (z : Z) (hz : r.obj z = V)
(eY : q.ChoiceOfPullbacks) (eZ : r.ChoiceOfPullbacks)
(φ : y ⟶ F.obj x) (hφ : q.IsHomLift b φ)
(ψ : z ⟶ G.obj y) (hψ : r.IsHomLift (𝟙 V) ψ) :
{η : (liftFunctorOfHom p q hq F hF a b c d hsq x hx y hy eY φ hφ).toFunctor ⋙
(liftFunctorOfHom q r hr G hG d (𝟙 V) (𝟙 V') d (id_comp_square d) y hy z hz
eZ ψ hψ).toFunctor ≅
(liftFunctorOfHom p r hr (F ⋙ G) (comp_over_base hF hG) a b c d hsq x hx z hz eZ
(ψ ≫ G.map φ)
(comp_comparison_isHomLift q r F G hG b x y z φ hφ ψ hψ)).toFunctor //
∀ t : LiftOut p a x hx,
(η.hom.app t).1.right ≫
(liftFunctorOfHom p r hr (F ⋙ G) (comp_over_base hF hG) a b c d hsq x hx z hz eZ
(ψ ≫ G.map φ)
(comp_comparison_isHomLift q r F G hG b x y z φ hφ ψ hψ)).comparison t =
(liftFunctorOfHom q r hr G hG d (𝟙 V) (𝟙 V') d (id_comp_square d) y hy z hz
eZ ψ hψ).comparison
((liftFunctorOfHom p q hq F hF a b c d hsq x hx y hy eY φ hφ).toFunctor.obj t) ≫
G.map ((liftFunctorOfHom p q hq F hF a b c d hsq x hx y hy eY φ hφ).comparison t)}
Tag 07Y9, a lemma
Tag 07Y9 in the Stacks Project.
Deformation.Artin.exists_infComparison, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/ActionOnLifts/InfComparison.lean, line 760. The attribute's comment: “part (1), the comparison of Inf_x(I) with Inf(x'/x)”.
Stacks 07Y9 part (1). For
𝒳satisfying (RS*), a deformation situationA' → Awith square-zero kernelIwhose source lies in the chosen site, and a liftx'ofxoverSpec A', the value of theA-linear functorInf_xatIis isomorphic, as a group, to the infinitesimal automorphisms ofx'.
public noncomputable def exists_infComparison (hRS : SatisfiesRSStar B S hS p hp)
(Inf : InfinitesimalAutomorphismFunctorData A B S hS toS hA p x hx hp)
(A' : Type u) [CommRing A'] (hA' : B.Contains (Spec (.of A')))
(toS' : B.obj hA' ⟶ B.obj hS) (q : A' →+* A) (hq : Function.Surjective q)
(hsq : RingHom.ker q ^ 2 = ⊥)
(g : algebraOver A B S hS toS hA ⟶ (Over.mk toS' : BigFppfOver B S hS))
(hg : B.inclusion.map g.left = Spec.map (CommRingCat.ofHom q))
(x' : (Under.post p).Fiber (Under.mk (eqToHom hx ≫ g))) :
InfComparisonData A B S hS toS hA p x hx hp Inf A' hA' toS' q hq hsq g x'
Deformation.Artin.exists_actionOnLifts, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/ActionOnLifts/LiftAction.lean, line 547. The attribute's comment: “part (2)(b), the action of T_x(I) on the lifts over A'”.
Stacks 07Y9 part (2)(b). The difference-transport action of the tangent module
T_x(I)on the isomorphism classes of lifts ofxover a square-zero deformationA' → Awith kernelI. Every orbit map is bijective, so the action is simply transitive whenever there is a lift.
public noncomputable def exists_actionOnLifts
(hp : p.IsFiberedInGroupoids)
(hRS : SatisfiesRSStar B S hS p hp)
(A' : Type u) [CommRing A']
(hA' : B.Contains (Spec (.of A')))
(toS' : B.obj hA' ⟶ B.obj hS)
(q : A' →+* A)
(hq : Function.Surjective q)
(hsq : (RingHom.ker q) ^ 2 = ⊥)
(g : algebraOver A B S hS toS hA ⟶
(Over.mk toS' : BigFppfOver B S hS))
(hg : B.inclusion.map g.left = Spec.map (CommRingCat.ofHom q)) :
ActionOnLiftsData A B S hS toS hA p x hx
(tangentFunctor A B S hS toS hA p x hx hp hRS)
A' hA' toS' q hq hsq g
Deformation.Artin.exists_infinitesimalAutomorphismFunctor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/AutomorphismFunctor.lean, line 902. The attribute's comment: “part (1), the A-linear functor Inf_x on trivial square-zero extensions”.
For
𝒳satisfying (RS*), the infinitesimal automorphisms of the trivial deformations ofxover the trivial square-zero extensionsA[M]are the underlying sets of anA-linear functor ofM.
public theorem exists_infinitesimalAutomorphismFunctor (hRS : SatisfiesRSStar B S hS p hp) :
Nonempty (InfinitesimalAutomorphismFunctorData A B S hS toS hA p x hx hp)
Deformation.Artin.exists_tangentFunctor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/TangentFunctor.lean, line 1356. The attribute's comment: “part (2)(a), the A-linear tangent functor T_x”.
Stacks 07Y9 part (2)(a), the tangent functor. For
𝒳satisfying (RS*), the isomorphism classes of lifts ofxover the trivial square-zero extensionsA[M]are the underlying sets of anA-linear functor ofM.
public theorem exists_tangentFunctor (hp : p.IsFiberedInGroupoids)
(hRS : SatisfiesRSStar B S hS p hp) :
Nonempty (TangentFunctorData A B S hS toS hA p x hx)
Tag 07YA, a remark
Tag 07YA in the Stacks Project.
Deformation.Artin.isLinearMap_tangentBaseChangeMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/BaseChangeLinear.lean, line 473. The attribute's comment: “the A-linear map T_x(M) → T_y(N)”.
Remark 07YA for the tangent functor. For a ring map
f : A ⟶ C, the restrictiony = x|_{Spec C}and anf-semilinear mapM ⟶ Nof coefficients, the induced mapT_x(M) ⟶ T_y(N)isA-linear, whereT_y(N)is viewed as anA-module by restriction of scalars alongf.
public theorem isLinearMap_tangentBaseChangeMap {M : SiteModule A B} {N : SiteModule C B}
(ψ : M.obj ⟶ (ModuleCat.restrictScalars f).obj N.obj) :
letI : Module A ((Ty.functor.obj N : Type (max (u + 1) v w))) := Module.compHom _ f
IsLinearMap A
(tangentBaseChangeMap f B S hS toS hA toSC hC hf p x y hx hy φ₀ hφ₀ hp Tx Ty ψ)
Deformation.Artin.isLinearMap_infBaseChangeMap_tangentBaseChangeMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/DeformationSituationMorphism.lean, line 389. The attribute's comment: “the A-linear maps Inf_x(M) → Inf_y(N) and T_x(M) → T_y(N) induced by pullback”.
Stacks 07YA, the maps. Let
𝒳satisfy (RS*), letf : A ⟶ Cbe a map ofS-algebras,y = x|_{Spec C}(the arrowφ₀ : y ⟶ xoverSpec C ⟶ Spec A),ManA-module,NaC-module andψ : M ⟶ NanA-linear map. The pullback functor on lifts alongSpec C[N] ⟶ Spec A[M]induces mapsInf_x(M) ⟶ Inf_y(N)andT_x(M) ⟶ T_y(N)on the functors of Stacks 07Y9, and both areA-linear (withAacting on the targets throughf). That the maps are induced by the pullback functor is the transition relation each of them realizes:Deformation.Artin.IsSiteInfinitesimalAutomorphismBaseChangeandDeformation.Artin.IsSiteSquareZeroLiftBaseChange. The statement holds for every choice of the functorsInf_x,Inf_y,T_x,T_yof Stacks 07Y9.
public theorem isLinearMap_infBaseChangeMap_tangentBaseChangeMap
(hRS : SatisfiesRSStar B S hS p hp)
(Tx : TangentFunctorData A B S hS toS hA p x hx)
(Ty : TangentFunctorData C B S hS toSC hC p y hy)
{M : SiteModule A B} {N : SiteModule C B}
(ψ : M.obj ⟶ (ModuleCat.restrictScalars f).obj N.obj) :
letI : Module A (Inf'.functor.obj N : Type w) := Module.compHom _ f
letI : Module A ((Ty.functor.obj N : Type (max (u + 1) v w))) := Module.compHom _ f
IsLinearMap A (infBaseChangeMap f B S hS toS hA toSC hC hf p x y hx hy φ₀ hφ₀ hp Inf Inf'
ψ) ∧
(∀ a, IsSiteInfinitesimalAutomorphismBaseChange B S hS toS hA toSC hC p x y hx hy φ₀ f ψ hp
(Inf.autEquiv M a)
(Inf'.autEquiv N (infBaseChangeMap f B S hS toS hA toSC hC hf p x y hx hy φ₀ hφ₀ hp
Inf Inf' ψ a))) ∧
IsLinearMap A (tangentBaseChangeMap f B S hS toS hA toSC hC hf p x y hx hy φ₀ hφ₀ hp
Tx Ty ψ) ∧
(∀ a, IsSiteSquareZeroLiftBaseChange B S hS toS hA toSC hC p x y hx hy φ₀ f ψ
(Tx.liftEquiv M a)
(Ty.liftEquiv N (tangentBaseChangeMap f B S hS toS hA toSC hC hf p x y hx hy φ₀ hφ₀ hp
Tx Ty ψ a)))
Deformation.Artin.infComparison_restrict_and_action_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/DeformationSituationMorphism.lean, line 703. The attribute's comment: “the two commutative squares for a morphism of deformation situations”.
Stacks 07YA, the two squares. Let
𝒳satisfy (RS*) and let(y, C' → C) ⟶ (x, A' → A)be a morphism of deformation situations:f' : A' → C'overf : A → C, compatibly with the structure morphisms toS, andφ₀ : y ⟶ xoverSpec C ⟶ Spec A. LetI = Ker(A' → A),J = Ker(C' → C), with the mapI ⟶ Jinduced byf'.
- For a lift
x'ofxtoA'and its restrictiony'toC'(any lift ofywith an arrowy' ⟶ x'overSpec C' ⟶ Spec A'compatible withφ₀), the squareInf_x(I) ⟶ Inf(x'/x) ⟶ Inf(y'/y)=Inf_x(I) ⟶ Inf_y(J) ⟶ Inf(y'/y)commutes.- The square
T_x(I) × Lift(x, A') ⟶ Lift(x, A') ⟶ Lift(y, C')=T_x(I) × Lift(x, A') ⟶ T_y(J) × Lift(y, C') ⟶ Lift(y, C')commutes.The horizontal maps are the comparisons and the actions of Stacks 07Y9, the vertical ones the maps of Remark 07YA and the pullback of lifts along
Spec C' ⟶ Spec A'. All the data of Stacks 07Y9 (the functorsInf,T, the comparisons and the actions) are arbitrary: each is pinned by its geometric difference, which is what the proof restricts.
public theorem infComparison_restrict_and_action_restrict (hRS : SatisfiesRSStar B S hS p hp)
(Infx : InfinitesimalAutomorphismFunctorData A B S hS toS hA p x hx hp)
(Infy : InfinitesimalAutomorphismFunctorData C B S hS toSC hC p y hy hp)
(x' : (Under.post p).Fiber (Under.mk (eqToHom hx ≫ gA)))
(y' : (Under.post p).Fiber (Under.mk (eqToHom hy ≫ gC)))
(φ : y'.1.right ⟶ x'.1.right)
(hφ : p.IsHomLift (deformationSituationMap B S hS hA' toS' hC' toSC' f' hf') φ)
(hφc : y'.1.hom ≫ φ = φ₀ ≫ x'.1.hom)
(Cx : InfComparisonData A B S hS toS hA p x hx hp Infx A' hA' toS' q hq hsq gA x')
(Cy : InfComparisonData C B S hS toSC hC p y hy hp Infy C' hC' toSC' qC hqC hsqC gC y')
(Tx : TangentFunctorData A B S hS toS hA p x hx)
(Ty : TangentFunctorData C B S hS toSC hC p y hy)
(Dx : ActionOnLiftsData A B S hS toS hA p x hx Tx A' hA' toS' q hq hsq gA)
(Dy : ActionOnLiftsData C B S hS toSC hC p y hy Ty C' hC' toSC' qC hqC hsqC gC) :
letI : Module A (RingHom.ker q) := Stacks.Smooth.kerModule hq hsq
letI : Module C (RingHom.ker qC) := Stacks.Smooth.kerModule hqC hsqC
(∀ a : (Infx.functor.obj ⟨ModuleCat.of A (RingHom.ker q), Cx.kernelIsSiteModule⟩ : Type w),
Cy.equiv (infBaseChangeMap f B S hS toS hA toSC hC
(specMap_comp_eq_of_deformationSituation f B S hS toS hA toSC hC hA' toS' q gA hgA hC'
toSC' qC gC hgC f' hff hf') p x y hx hy φ₀ hφ₀ hp Infx Infy
(M := ⟨ModuleCat.of A (RingHom.ker q), Cx.kernelIsSiteModule⟩)
(N := ⟨ModuleCat.of C (RingHom.ker qC), Cy.kernelIsSiteModule⟩)
(kernelBaseChange hq hsq hqC hsqC hff) a) =
liftEndRestrict p hp φ₀ φ hφ hφc (Cx.equiv a)) ∧
(∀ (a : (Tx.functor.obj ⟨ModuleCat.of A (RingHom.ker q), Dx.kernelIsSiteModule⟩ : Type _))
(z : liftClassesOver A B S hS toS hA p x hx gA),
liftClassesRestrict p hp φ₀ _ hφ₀
(algebraOverMap_comp_deformationSituation f B S hS toS hA toSC hC hA' toS' q gA hgA
hC' toSC' qC gC hgC f' hff hf') (Dx.action a z) =
Dy.action (tangentBaseChangeMap f B S hS toS hA toSC hC
(specMap_comp_eq_of_deformationSituation f B S hS toS hA toSC hC hA' toS' q gA hgA hC'
toSC' qC gC hgC f' hff hf') p x y hx hy φ₀ hφ₀ hp Tx Ty
(M := ⟨ModuleCat.of A (RingHom.ker q), Dx.kernelIsSiteModule⟩)
(N := ⟨ModuleCat.of C (RingHom.ker qC), Dy.kernelIsSiteModule⟩)
(kernelBaseChange hq hsq hqC hsqC hff) a)
(liftClassesRestrict p hp φ₀ _ hφ₀
(algebraOverMap_comp_deformationSituation f B S hS toS hA toSC hC hA' toS' q gA hgA
hC' toSC' qC gC hgC f' hff hf') z))
Deformation.Artin.existsUnique_infAutBaseChangeHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/InfAutBaseChangeMap.lean, line 672. The attribute's comment: “the companion A-linear map Inf_x(M) -> Inf_y(N) along a ring map A -> C, and its uniqueness. The relation Deformation.Artin.IsInfinitesimalAutomorphismBaseChange, its single-valuedness and its bijectivity at a bijective map of coefficients are in the library, but without a map realizing it all of them would be conditional: the relation asks for a cartesian arrow between the two TRIVIAL lifts, and the pullback of the trivial lift of x along Spec C[N] -> Spec A[M] is only isomorphic to the trivial lift of y, not equal to it. What is added is that arrow -- Deformation.Artin.trivialLiftComparison, built from the presentation of each trivial lift as a pullback along the retraction Spec A[M] -> Spec A -- the conjugation by it, and the A-linearity of the resulting map, which is the remark's assertion. CARRIED, as an extra hypothesis the source does not make: x and y are Deformation.Artin.ChartedObjects, so Spec A -> S and Spec C -> S factor through a fixed affine open Spec L of S -- inherited from Deformation.Artin.IsInfinitesimalAutomorphismBaseChange, the relation this realizes; the geometric half is chart-free, as Deformation.Artin.underFiberConjugate. (RS*) is needed only for uniqueness, through the commutativity of the infinitesimal automorphisms; the two functors Inf_x, Inf_y are arbitrary members of Deformation.Artin.InfinitesimalAutomorphismFunctorData. NOT COVERED: the two commuting squares of the source, for which see the note on Deformation.Artin.existsUnique_tangentBaseChange”.
Stacks 07YA on infinitesimal automorphisms. Let
xbe an object of a category fibred in groupoids over the big fppf site ofSlying overSpec A, letA ⟶ Cbe a ring map and lety ⟶ xbe a morphism lying overSpec C ⟶ Spec A, so thaty = x|_{Spec C}. ForM ∈ Mod_A,N ∈ Mod_Cand anA-linear mapM ⟶ Nthere is exactly oneA-linear mapInf_x(M) ⟶ Inf_y(N)carrying each infinitesimal automorphism of the trivial lift ofxoverSpec A[M]to its conjugate along a cartesian arrow overSpec C[N] ⟶ Spec A[M].
xandyareDeformation.Artin.ChartedObjects, so each ofSpec A ⟶ S,Spec C ⟶ Sfactors through a fixed affine openSpec Λ ⊆ S: that is an extra hypothesis, which the source does not make. It is inherited fromDeformation.Artin.IsInfinitesimalAutomorphismBaseChange, the relation on infinitesimal automorphisms that this theorem realizes, and it is what makes the result directly usable by the Stacks 07YT statements that take a map realizing that relation as a hypothesis. The geometric content is chart-free: the comparison of the trivial lifts and the conjugation along it areDeformation.Artin.underFiberConjugate, stated for an arbitrary category fibred in groupoids and an arbitrary commuting square of its base.(RS) is used only for the uniqueness half. The two functors enter as arbitrary members of
Deformation.Artin.InfinitesimalAutomorphismFunctorDatarather than as the ones Stacks 07Y9 (1) produces from (RS).NOT COVERED: the two commuting squares of the source; see the note on
Deformation.Artin.existsUnique_tangentBaseChange.
public theorem existsUnique_infAutBaseChangeHom (hRS : SatisfiesRSStar B S hS p hp)
{M : SiteModule P.ring B} {N : SiteModule Q.ring B}
(ψ : M.obj ⟶ (ModuleCat.restrictScalars f).obj N.obj) :
∃! σ : ↥(F.functor.obj M) →ₛₗ[f] ↥(G.functor.obj N),
∀ θ, IsInfinitesimalAutomorphismBaseChange hp h f ψ (F.autEquiv M θ)
(G.autEquiv N (σ θ))
Deformation.Artin.existsUnique_tangentBaseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/TangentPullback.lean, line 291. The attribute's comment: “tangent_base_change”.
Stacks 07YA on tangent modules. Let
xbe an object overSpec Aof a category fibred in groupoids over the big fppf site ofS, letf : A ⟶ Cbe a homomorphism ofS-algebras and lety ⟶ xbe a morphism lying overSpec C ⟶ Spec A, so thaty = x|_{Spec C}. ForM ∈ Mod_A,N ∈ Mod_Cand anA-linear mapM ⟶ Nthere is exactly oneA-linear mapT_x(M) ⟶ T_y(N)— written as anf-semilinear map — carrying each class of lifts ofxoverSpec A[M]to the class of its pullback alongSpec C[N] ⟶ Spec A[M].The tangent functors
T_x,T_yare arbitrary members ofDeformation.Artin.TangentFunctorData, which (RS*) supplies by Stacks 07Y9 (2)(a).
public theorem existsUnique_tangentBaseChange {M : SiteModule A B} {N : SiteModule C B}
(ψ : M.obj ⟶ (ModuleCat.restrictScalars f).obj N.obj) :
∃! τ : ↥(F.functor.obj M) →ₛₗ[f] ↥(G.functor.obj N),
∀ z, G.liftEquiv N (τ z) = liftClassPullback f hf hp φ hφ ψ (F.liftEquiv M z)
Declarations registered for the tag:
Deformation.Artin.liftFunctorOfPullback, declared in the repository, registered withadd_to_stacksin StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 607 (StacksFrontier): “pullback_of_lifts”.Deformation.Artin.liftFunctor_unique, declared in the repository, registered withadd_to_stacksin StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 608 (StacksFrontier): “pullback_of_lifts”.
Tag 07YB, a remark
Tag 07YB in the Stacks Project.
Deformation.Artin.compositionMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 801. The attribute's comment: “composition_map”.
Composition with relative infinitesimal automorphisms on both sides of a morphism of lifts.
public noncomputable def compositionMap
(hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x) :
((infinitesimalAutomorphisms hp t₁ × (t₁ ⟶ t₂)) ×
infinitesimalAutomorphisms hp t₂) → (t₁ ⟶ t₂)
Deformation.Artin.leftCompositionAction, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 859. The attribute's comment: “groupoid_actions”.
The left action of relative infinitesimal automorphisms of the source lift on morphisms of lifts, by inverse precomposition.
public noncomputable def leftCompositionAction
(hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x)
(a : infinitesimalAutomorphisms hp t₁) (f : t₁ ⟶ t₂) : t₁ ⟶ t₂
Deformation.Artin.rightCompositionAction, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 868. The attribute's comment: “groupoid_actions”.
The right action of relative infinitesimal automorphisms of the target lift on morphisms of lifts, by inverse postcomposition.
public noncomputable def rightCompositionAction
(hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x)
(f : t₁ ⟶ t₂) (b : infinitesimalAutomorphisms hp t₂) : t₁ ⟶ t₂
Deformation.Artin.leftComposition_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 992. The attribute's comment: “groupoid_actions”.
The identity automorphism acts trivially on the left.
public theorem leftComposition_one (hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x) (f : t₁ ⟶ t₂) :
leftCompositionAction hp t₁ t₂ 1 f = f
Deformation.Artin.leftComposition_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 1000. The attribute's comment: “groupoid_actions”.
The left action is compatible with multiplication of automorphisms.
public theorem leftComposition_mul (hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x)
(a b : infinitesimalAutomorphisms hp t₁) (f : t₁ ⟶ t₂) :
leftCompositionAction hp t₁ t₂ (a * b) f =
leftCompositionAction hp t₁ t₂ a (leftCompositionAction hp t₁ t₂ b f)
Deformation.Artin.rightComposition_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 1012. The attribute's comment: “groupoid_actions”.
The identity automorphism acts trivially on the right.
public theorem rightComposition_one (hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x) (f : t₁ ⟶ t₂) :
rightCompositionAction hp t₁ t₂ f 1 = f
Deformation.Artin.rightComposition_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 1020. The attribute's comment: “groupoid_actions”.
The right action is compatible with multiplication of automorphisms.
public theorem rightComposition_mul (hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x)
(a b : infinitesimalAutomorphisms hp t₂) (f : t₁ ⟶ t₂) :
rightCompositionAction hp t₁ t₂ (rightCompositionAction hp t₁ t₂ f a) b =
rightCompositionAction hp t₁ t₂ f (a * b)
Deformation.Artin.leftComposition_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 1042. The attribute's comment: “groupoid_actions”.
At each morphism of lifts, the orbit map for the left action is a bijection.
public theorem leftComposition_bijective
(hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x)
(f : t₁ ⟶ t₂) :
Function.Bijective (fun a : infinitesimalAutomorphisms hp t₁ =>
leftCompositionAction hp t₁ t₂ a f)
Deformation.Artin.rightComposition_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 1062. The attribute's comment: “groupoid_actions”.
At each morphism of lifts, the orbit map for the right action is a bijection.
public theorem rightComposition_bijective
(hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x)
(f : t₁ ⟶ t₂) :
Function.Bijective (fun b : infinitesimalAutomorphisms hp t₂ =>
rightCompositionAction hp t₁ t₂ f b)
Deformation.Artin.InfComparisonData.actions_agree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/ActionOnLiftsRestriction.lean, line 440. The attribute's comment: “actions on Mor(x', x'') agree via Inf(x'/x) = Inf_x(I) = Inf(x''/x)”.
Stacks 07YB. Let
𝒳satisfy (RS*), let(x, A' → A)be a deformation situation with kernelI, and letx',x''be lifts ofxtoSpec A'. Composition gives a mapInf(x'/x) × Mor(x', x'') × Inf(x''/x) → Mor(x', x''), and since the lifts form a groupoid it defines, at every morphism, simply transitive actions ofInf(x'/x)(by precomposition) and ofInf(x''/x)(by postcomposition). LetC'andC''be the comparisons of Stacks 07Y9,Inf_x(I) ≅ Inf(x'/x)andInf_x(I) ≅ Inf(x''/x). Then the two actions agree via these identifications:C'(a) ≫ f = f ≫ C''(a)for everya ∈ Inf_x(I)and every morphismf : x' ⟶ x''. In particularInf_x(I)acts onMor(x', x''), and the action is simply transitive as soon asMor(x', x'')is nonempty: every orbit map is a bijection.The agreement holds for every pair of comparisons in the sense of
Deformation.Artin.InfComparisonData, which pins a comparison geometrically. The proof shows that this pin determines the comparison and is natural for isomorphisms of lifts (Deformation.Artin.IsGeometricInfDifference.conj), using (RS*) and the commutativity ofInf(x'/x)and ofInf_x(I).
public theorem InfComparisonData.actions_agree (hRS : SatisfiesRSStar B S hS p hp)
(Inf : InfinitesimalAutomorphismFunctorData A B S hS toS hA p x hx hp)
(A' : Type u) [CommRing A'] (hA' : B.Contains (Spec (.of A')))
(toS' : B.obj hA' ⟶ B.obj hS) (q : A' →+* A) (hq : Function.Surjective q)
(hsq : RingHom.ker q ^ 2 = ⊥)
(g : algebraOver A B S hS toS hA ⟶ (Over.mk toS' : BigFppfOver B S hS))
(hg : B.inclusion.map g.left = Spec.map (CommRingCat.ofHom q))
{x' x'' : (Under.post p).Fiber (Under.mk (eqToHom hx ≫ g))}
(C' : InfComparisonData A B S hS toS hA p x hx hp Inf A' hA' toS' q hq hsq g x')
(C'' : InfComparisonData A B S hS toS hA p x hx hp Inf A' hA' toS' q hq hsq g x'') :
letI := Stacks.Smooth.kerModule hq hsq
(∀ f : x' ⟶ x'', Function.Bijective (fun α : x' ⟶ x' => α ≫ f)) ∧
(∀ f : x' ⟶ x'', Function.Bijective (fun β : x'' ⟶ x'' => f ≫ β)) ∧
(∀ (a : Inf.functor.obj ⟨ModuleCat.of A (RingHom.ker q), C'.kernelIsSiteModule⟩)
(f : x' ⟶ x''), C'.equiv a ≫ f = f ≫ C''.equiv a) ∧
(∀ f : x' ⟶ x'', C'.equiv 0 ≫ f = f) ∧
(∀ (a b : Inf.functor.obj ⟨ModuleCat.of A (RingHom.ker q), C'.kernelIsSiteModule⟩)
(f : x' ⟶ x''), C'.equiv (a + b) ≫ f = C'.equiv a ≫ C'.equiv b ≫ f) ∧
(∀ f : x' ⟶ x'', Function.Bijective
(fun a : Inf.functor.obj ⟨ModuleCat.of A (RingHom.ker q), C'.kernelIsSiteModule⟩ =>
C'.equiv a ≫ f))
Deformation.Artin.infinitesimalAutTransport, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/LiftCompositionActions.lean, line 143. The attribute's comment: “actions_agree”.
The identification of the two groups of relative infinitesimal automorphisms. A morphism of lifts identifies the relative infinitesimal automorphisms of its source with those of its target, by conjugation.
public noncomputable def infinitesimalAutTransport
(hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x) (f : t₁ ⟶ t₂) :
infinitesimalAutomorphisms hp t₁ ≃* infinitesimalAutomorphisms hp t₂
Deformation.Artin.leftCompositionAction_eq_rightCompositionAction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/LiftCompositionActions.lean, line 199. The attribute's comment: “actions_agree”.
The two actions agree. The left action of a relative infinitesimal automorphism of the source lift on a morphism of lifts is the right action, on the same morphism, of the corresponding relative infinitesimal automorphism of the target lift.
public theorem leftCompositionAction_eq_rightCompositionAction
(hp : Deformation.IsCofiberedInGroupoids p)
(t₁ t₂ : Deformation.Lift p g x)
(a : infinitesimalAutomorphisms hp t₁) (f : t₁ ⟶ t₂) :
leftCompositionAction hp t₁ t₂ a f =
rightCompositionAction hp t₁ t₂ f (infinitesimalAutTransport hp t₁ t₂ f a)
Tag 07YE, a remark
Tag 07YE in the Stacks Project.
Deformation.Artin.IsShortExactSequence, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 626. The attribute's comment: “short_exact_sequence_of_deformation_situations”.
A composable triple of deformation situations is short exact if its kernel sequence
0 → I₃ → I₂ → I₁ → 0is exact. The maps of situations run in the opposite direction to the ring homomorphismsf₂₁ : A₂' → A₁'andf₃₂ : A₃' → A₂'.
public abbrev IsShortExactSequence {A₁ : Type u₁} {A₂ : Type u₂} {A₃ : Type u₃} {A : Type u}
[CommRing A₁] [CommRing A₂] [CommRing A₃] [CommRing A]
(q₁ : A₁ →+* A) (q₂ : A₂ →+* A) (q₃ : A₃ →+* A)
(f₂₁ : A₂ →+* A₁) (f₃₂ : A₃ →+* A₂) : Prop
Deformation.Artin.exists_factorization_through_base, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 639. The attribute's comment: “factorization_through_a”.
The composite
A₃' → A₂' → A₁'in a short exact sequence of deformation situations factors through their common quotientA.
public theorem exists_factorization_through_base
{A₁ : Type u₁} {A₂ : Type u₂} {A₃ : Type u₃} {A : Type u}
[CommRing A₁] [CommRing A₂] [CommRing A₃] [CommRing A]
(q₁ : A₁ →+* A) (q₂ : A₂ →+* A) (q₃ : A₃ →+* A)
(f₂₁ : A₂ →+* A₁) (f₃₂ : A₃ →+* A₂)
(h : IsShortExactSequence q₁ q₂ q₃ f₂₁ f₃₂) :
∃ g : A →+* A₁, g.comp q₃ = f₂₁.comp f₃₂
Deformation.Artin.splitExtensionRingEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal.lean, line 689. The attribute's comment: “canonical_isomorphism”.
The canonical isomorphism
A₁ = A[I₁]. In a short exact sequence of deformation situations, the splitting ofq₁produced byexists_factorization_through_baseexhibitsA₁as the trivial square-zero extension ofAby its kernelI₁ = ker q₁.
noncomputable def splitExtensionRingEquiv
{A₁ : Type u₁} {A₂ : Type u₂} {A₃ : Type u₃} {A : Type u}
[CommRing A₁] [CommRing A₂] [CommRing A₃] [CommRing A]
{q₁ : A₁ →+* A} {q₂ : A₂ →+* A} {q₃ : A₃ →+* A}
{f₂₁ : A₂ →+* A₁} {f₃₂ : A₃ →+* A₂}
(h : IsShortExactSequence q₁ q₂ q₃ f₂₁ f₃₂) :
letI := kerModule q₁ h.1
letI : Module Aᵐᵒᵖ (RingHom.ker q₁) :=
Module.compHom _ (RingHom.fromOpposite (RingHom.id A) fun _ _ => Commute.all _ _)
letI : IsCentralScalar A (RingHom.ker q₁) := ⟨fun _ _ => rfl⟩
A₁ ≃+* TrivSqZeroExt A (RingHom.ker q₁)
Tag 0DNN, a lemma
Tag 0DNN in the Stacks Project.
Deformation.Artin.injective_twoFibreInfProj, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/Functoriality/InfTransportSixTerm.lean, line 578. The attribute's comment: “exactness of the six-term sequence at Inf_w(M), i.e. injectivity of Inf_w(M) → Inf_x(M) ⊕ Inf_z(M), which is what exactness of 0 → Inf_w(M) → ⋯ says (see exact_zero_iff_injective). Also constructed in this module, and used to state that map, are the four functoriality maps of Remark 07YA out of the 2-fibre product and out of 𝒳 (infLinearMapOfOneMorphism, tangentLinearMapOfOneMorphism) and the zeros of Inf_x(M) and T_x(M) (autEquiv_zero, liftEquiv_zero). The sequence with all five of its maps and the exactness at all five of its places is Deformation.Artin.twoFibre_sixTermExact in StacksFrontier.Deformation.Artin.Infinitesimal.TwoFibreInfExact.”.
Exactness of the six-term sequence of Stacks 0DNN at
Inf_w(M): an infinitesimal automorphism of the trivial deformation ofwis determined by its two components. Each component is read off through the comparison of the trivial deformation of the component with the image of the trivial deformation ofw, and that comparison is invertible because the lifts form a category fibred in groupoids; a morphism of the2-fibre product is determined by its two components.
public theorem injective_twoFibreInfProj (A : Type u) [CommRing A] (B : BigFppfSite.{u})
(S : Scheme.{u}) (hS : B.Contains S) (toS : Spec (.of A) ⟶ S)
(hA : B.Contains (Spec (.of A)))
{𝒳 : Type v₁} [Category.{w₁} 𝒳] {𝒵 : Type v₂} [Category.{w₂} 𝒵]
{𝒴 : Type v₃} [Category.{w₃} 𝒴]
(p𝒳 : 𝒳 ⥤ BigFppfOver B S hS) (p𝒵 : 𝒵 ⥤ BigFppfOver B S hS)
(p𝒴 : 𝒴 ⥤ BigFppfOver B S hS) (P : 𝒳 ⥤ 𝒴) (Q : 𝒵 ⥤ 𝒴)
(hP : P ⋙ p𝒴 = p𝒳) (hQ : Q ⋙ p𝒴 = p𝒵)
(h𝒳 : p𝒳.IsFiberedInGroupoids) (h𝒵 : p𝒵.IsFiberedInGroupoids)
(h𝒴 : p𝒴.IsFiberedInGroupoids)
(w : TwoFibreProductOver p𝒳 p𝒵 p𝒴 P Q)
(hw : (TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q).obj w = algebraOver A B S hS toS hA)
(InfW : InfinitesimalAutomorphismFunctorData A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ))
(InfX : InfinitesimalAutomorphismFunctorData A B S hS toS hA p𝒳 w.x (w.hx.trans hw) h𝒳)
(InfZ : InfinitesimalAutomorphismFunctorData A B S hS toS hA p𝒵 w.y (w.hy.trans hw) h𝒵)
(M : SiteModule A B) :
Function.Injective (LinearMap.prod
(infLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒳 (TwoFibreProductOver.fst p𝒳 p𝒵 p𝒴
P Q) TwoFibreProductOver.fst_comp_eq w hw (TwoFibreProductOver.isFiberedInGroupoids p𝒳
p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ) h𝒳
InfW InfX M)
(infLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒵 (TwoFibreProductOver.snd p𝒳 p𝒵 p𝒴
P Q) TwoFibreProductOver.snd_comp_eq w hw (TwoFibreProductOver.isFiberedInGroupoids p𝒳
p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ) h𝒵
InfW InfZ M))
Deformation.Artin.twoFibreInfSideMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/TwoFibreBoundary.lean, line 581. The attribute's comment: “the map Inf_z(M) → Inf_y(M) of the six-term sequence -- the map of Remark 07YA induced by q, followed by the transport along the comparison isomorphism of w. The sequence and its exactness are Deformation.Artin.twoFibre_sixTermExact.”.
The
𝒵-side mapInf_z(M) ⟶ Inf_y(M)of the six-term sequence of Stacks 0DNN: the map induced byqon infinitesimal automorphisms, followed by the identification of the invariants ofq zwith those ofy = p xalong the comparison isomorphism ofw.
public def twoFibreInfSideMap
(InfZ : InfinitesimalAutomorphismFunctorData A B S hS toS hA p𝒵 w.y
(twoFibreSndOver A B S hS toS hA w hw) h𝒵)
(InfY' : InfinitesimalAutomorphismFunctorData A B S hS toS hA p𝒴 (P.obj w.x)
(twoFibreFstImageOver A B S hS toS hA hP w hw) h𝒴)
(M : SiteModule A B) : InfZ.functor.obj M →ₗ[A] InfY'.functor.obj M
Deformation.Artin.twoFibreTangentSideMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/TwoFibreBoundary.lean, line 612. The attribute's comment: “the map T_z(M) → T_y(M) of the six-term sequence -- the map of Remark 07YA induced by q, followed by the transport along the comparison isomorphism of w. The sequence and its exactness are Deformation.Artin.twoFibre_sixTermExact.”.
The
𝒵-side mapT_z(M) ⟶ T_y(M)of the six-term sequence of Stacks 0DNN: the map induced byqon tangent spaces, followed by the identification of the invariants ofq zwith those ofy = p xalong the comparison isomorphism ofw.
public def twoFibreTangentSideMap
(TZ : TangentFunctorData A B S hS toS hA p𝒵 w.y (twoFibreSndOver A B S hS toS hA w hw))
(TY : TangentFunctorData A B S hS toS hA p𝒴 (P.obj w.x)
(twoFibreFstImageOver A B S hS toS hA hP w hw))
(M : SiteModule A B) : TZ.functor.obj M →ₗ[A] TY.functor.obj M
Deformation.Artin.boundaryLinearMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/TwoFibreBoundary.lean, line 675. The attribute's comment: “the boundary map δ : Inf_y(M) → T_w(M) of the six-term sequence, as an A-linear map: an automorphism α of the trivial deformation y' of y = p x over A[M] is sent to the deformation (x', z', p x' → y' --α--> y' → q z') of w, exactly as in the source. The sequence and its exactness at all five places are Deformation.Artin.twoFibre_sixTermExact.”.
The boundary map
δ : Inf_y(M) ⟶ T_w(M)of Stacks 0DNN, as anA-linear map.
public def boundaryLinearMap (M : SiteModule A B) :
InfY.functor.obj M →ₗ[A] TW.functor.obj M
Deformation.Artin.tangentProj_twoFibreBoundaryMap_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/TwoFibreBoundary.lean, line 733. The attribute's comment: “one inclusion of exactness at T_w(M): the composite Inf_y(M) → T_w(M) → T_x(M) ⊕ T_z(M) of the six-term sequence is zero, the two components of δ(α) being by construction the trivial deformations of x and of z. The exactness assertion itself is Deformation.Artin.exact_boundary_tangentProj, and the whole sequence is Deformation.Artin.twoFibre_sixTermExact.”.
The six-term sequence of Stacks 0DNN is a complex at
T_w(M): the boundary map followed by the pair of projections to the tangent spaces ofxand ofzis zero, because the two components ofδ(α)are the trivial deformations.
public theorem tangentProj_twoFibreBoundaryMap_eq_zero
(TX : TangentFunctorData A B S hS toS hA p𝒳 w.x (twoFibreFstOver A B S hS toS hA w hw))
(TZ : TangentFunctorData A B S hS toS hA p𝒵 w.y (twoFibreSndOver A B S hS toS hA w hw))
(M : SiteModule A B) (α : InfY.functor.obj M) :
LinearMap.prod
(tangentLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒳
(TwoFibreProductOver.fst p𝒳 p𝒵 p𝒴 P Q) TwoFibreProductOver.fst_comp_eq w hw TW TX
h𝒳 M)
(tangentLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒵
(TwoFibreProductOver.snd p𝒳 p𝒵 p𝒴 P Q) TwoFibreProductOver.snd_comp_eq w hw TW TZ
h𝒵 M)
(boundaryLinearMap A B S hS toS hA hP hQ h𝒳 h𝒵 h𝒴 w hw InfY TW M α) = 0
Deformation.Artin.twoFibre_sixTermExact_of_satisfiesRSStar, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/TwoFibreSixTerm.lean, line 61.
Stacks 0DNN. Let
P : 𝒳 ⟶ 𝒴andQ : 𝒵 ⟶ 𝒴be1-morphisms of categories fibred in groupoids over the big fppf site ofS, and assume𝒳,𝒴,𝒵satisfy (RS*). Letwbe an object of𝒲 = 𝒳 ×_𝒴 𝒵overSpec A, with componentsx,zandy = P x. For everyA-moduleMthe six-term sequence
0 ⟶ Inf_w(M) ⟶ Inf_x(M) ⊕ Inf_z(M) ⟶ Inf_y(M) --δ--> T_w(M) ⟶ T_x(M) ⊕ T_z(M) ⟶ T_y(M)of
A-modules is exact. HereInf_?andT_?are theA-linear functors that (RS*) produces (Stacks 07Y9), forwthrough (RS*) for𝒲(Stacks 0CXQ); the horizontal maps are those of Remark 07YA andδisDeformation.Artin.boundaryLinearMap. Exactness is stated as injectivity of the first map together with fourFunction.Exacts.
public theorem twoFibre_sixTermExact_of_satisfiesRSStar
(hRS𝒳 : SatisfiesRSStar B S hS p𝒳 h𝒳) (hRS𝒵 : SatisfiesRSStar B S hS p𝒵 h𝒵)
(hRS𝒴 : SatisfiesRSStar B S hS p𝒴 h𝒴) (M : SiteModule A B) :
Function.Injective (LinearMap.prod (infLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒳 (TwoFibreProductOver.fst p𝒳 p𝒵 p𝒴 P Q)
TwoFibreProductOver.fst_comp_eq w hw (TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳
h𝒵 h𝒴 hP hQ) h𝒳 (infinitesimalAutomorphismFunctor A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵))
(infinitesimalAutomorphismFunctor A B S hS toS hA p𝒳 w.x (twoFibreFstOver A B S hS toS hA w
hw) h𝒳 hRS𝒳) M) (infLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒵 (TwoFibreProductOver.snd p𝒳 p𝒵 p𝒴 P Q)
TwoFibreProductOver.snd_comp_eq w hw (TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳
h𝒵 h𝒴 hP hQ) h𝒵 (infinitesimalAutomorphismFunctor A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵))
(infinitesimalAutomorphismFunctor A B S hS toS hA p𝒵 w.y (twoFibreSndOver A B S hS toS hA w
hw) h𝒵 hRS𝒵) M)) ∧ Function.Exact (LinearMap.prod (infLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒳 (TwoFibreProductOver.fst p𝒳 p𝒵 p𝒴 P Q)
TwoFibreProductOver.fst_comp_eq w hw (TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳
h𝒵 h𝒴 hP hQ) h𝒳 (infinitesimalAutomorphismFunctor A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵))
(infinitesimalAutomorphismFunctor A B S hS toS hA p𝒳 w.x (twoFibreFstOver A B S hS toS hA w
hw) h𝒳 hRS𝒳) M) (infLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒵 (TwoFibreProductOver.snd p𝒳 p𝒵 p𝒴 P Q)
TwoFibreProductOver.snd_comp_eq w hw (TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳
h𝒵 h𝒴 hP hQ) h𝒵 (infinitesimalAutomorphismFunctor A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵))
(infinitesimalAutomorphismFunctor A B S hS toS hA p𝒵 w.y (twoFibreSndOver A B S hS toS hA w
hw) h𝒵 hRS𝒵) M)) (LinearMap.coprod (infLinearMapOfOneMorphism A B S hS toS hA p𝒳 p𝒴 P hP w.x
(twoFibreFstOver A B S hS toS hA w hw) h𝒳 h𝒴 (infinitesimalAutomorphismFunctor A B S hS toS hA
p𝒳 w.x (twoFibreFstOver A B S hS toS hA w hw) h𝒳 hRS𝒳) (infinitesimalAutomorphismFunctor A B S
hS toS hA p𝒴 (P.obj w.x) (twoFibreFstImageOver A B S hS toS hA hP w hw) h𝒴 hRS𝒴) M)
(-(twoFibreInfSideMap A B S hS toS hA hP hQ h𝒵 h𝒴 w hw (infinitesimalAutomorphismFunctor A B S
hS toS hA p𝒵 w.y (twoFibreSndOver A B S hS toS hA w hw) h𝒵 hRS𝒵)
(infinitesimalAutomorphismFunctor A B S hS toS hA p𝒴 (P.obj w.x) (twoFibreFstImageOver A B S
hS toS hA hP w hw) h𝒴 hRS𝒴) M))) ∧ Function.Exact (LinearMap.coprod (infLinearMapOfOneMorphism
A B S hS toS hA p𝒳 p𝒴 P hP w.x (twoFibreFstOver A B S hS toS hA w hw) h𝒳 h𝒴
(infinitesimalAutomorphismFunctor A B S hS toS hA p𝒳 w.x (twoFibreFstOver A B S hS toS hA w
hw) h𝒳 hRS𝒳) (infinitesimalAutomorphismFunctor A B S hS toS hA p𝒴 (P.obj w.x)
(twoFibreFstImageOver A B S hS toS hA hP w hw) h𝒴 hRS𝒴) M) (-(twoFibreInfSideMap A B S hS toS
hA hP hQ h𝒵 h𝒴 w hw (infinitesimalAutomorphismFunctor A B S hS toS hA p𝒵 w.y (twoFibreSndOver
A B S hS toS hA w hw) h𝒵 hRS𝒵) (infinitesimalAutomorphismFunctor A B S hS toS hA p𝒴 (P.obj
w.x) (twoFibreFstImageOver A B S hS toS hA hP w hw) h𝒴 hRS𝒴) M))) (boundaryLinearMap A B S hS
toS hA hP hQ h𝒳 h𝒵 h𝒴 w hw (infinitesimalAutomorphismFunctor A B S hS toS hA p𝒴 (P.obj w.x)
(twoFibreFstImageOver A B S hS toS hA hP w hw) h𝒴 hRS𝒴) (tangentFunctor A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵)) M) ∧
Function.Exact (boundaryLinearMap A B S hS toS hA hP hQ h𝒳 h𝒵 h𝒴 w hw
(infinitesimalAutomorphismFunctor A B S hS toS hA p𝒴 (P.obj w.x) (twoFibreFstImageOver A B S
hS toS hA hP w hw) h𝒴 hRS𝒴) (tangentFunctor A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵)) M)
(LinearMap.prod (tangentLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒳 (TwoFibreProductOver.fst p𝒳 p𝒵 p𝒴 P Q)
TwoFibreProductOver.fst_comp_eq w hw (tangentFunctor A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵))
(tangentFunctor A B S hS toS hA p𝒳 w.x (twoFibreFstOver A B S hS toS hA w hw) h𝒳 hRS𝒳) h𝒳 M)
(tangentLinearMapOfOneMorphism A B S hS toS hA (TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴
P Q) p𝒵 (TwoFibreProductOver.snd p𝒳 p𝒵 p𝒴 P Q) TwoFibreProductOver.snd_comp_eq w hw
(tangentFunctor A B S hS toS hA (TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵))
(tangentFunctor A B S hS toS hA p𝒵 w.y (twoFibreSndOver A B S hS toS hA w hw) h𝒵 hRS𝒵) h𝒵 M))
∧ Function.Exact (LinearMap.prod (tangentLinearMapOfOneMorphism A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) p𝒳 (TwoFibreProductOver.fst p𝒳 p𝒵 p𝒴 P Q)
TwoFibreProductOver.fst_comp_eq w hw (tangentFunctor A B S hS toS hA
(TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵))
(tangentFunctor A B S hS toS hA p𝒳 w.x (twoFibreFstOver A B S hS toS hA w hw) h𝒳 hRS𝒳) h𝒳 M)
(tangentLinearMapOfOneMorphism A B S hS toS hA (TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴
P Q) p𝒵 (TwoFibreProductOver.snd p𝒳 p𝒵 p𝒴 P Q) TwoFibreProductOver.snd_comp_eq w hw
(tangentFunctor A B S hS toS hA (TwoFibreProductOver.structureFunctor p𝒳 p𝒵 p𝒴 P Q) w hw
(TwoFibreProductOver.isFiberedInGroupoids p𝒳 p𝒵 p𝒴 P Q h𝒳 h𝒵 h𝒴 hP hQ)
(twoFibreProductOver_satisfiesRSStar B S hS p𝒳 p𝒴 p𝒵 P Q h𝒳 h𝒴 h𝒵 hP hQ hRS𝒳 hRS𝒴 hRS𝒵))
(tangentFunctor A B S hS toS hA p𝒵 w.y (twoFibreSndOver A B S hS toS hA w hw) h𝒵 hRS𝒵) h𝒵 M))
(LinearMap.coprod (tangentLinearMapOfOneMorphism A B S hS toS hA p𝒳 p𝒴 P hP w.x
(twoFibreFstOver A B S hS toS hA w hw) (tangentFunctor A B S hS toS hA p𝒳 w.x (twoFibreFstOver
A B S hS toS hA w hw) h𝒳 hRS𝒳) (tangentFunctor A B S hS toS hA p𝒴 (P.obj w.x)
(twoFibreFstImageOver A B S hS toS hA hP w hw) h𝒴 hRS𝒴) h𝒴 M) (-(twoFibreTangentSideMap A B S
hS toS hA hP hQ h𝒴 w hw (tangentFunctor A B S hS toS hA p𝒵 w.y (twoFibreSndOver A B S hS toS
hA w hw) h𝒵 hRS𝒵) (tangentFunctor A B S hS toS hA p𝒴 (P.obj w.x) (twoFibreFstImageOver A B S
hS toS hA hP w hw) h𝒴 hRS𝒴) M)))
Tag 0D18, a remark
Tag 0D18 in the Stacks Project.
Deformation.Artin.tangentSpace_deformationCategory_linearEquiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/DeformationSpaceComparison.lean, line 995. The attribute's comment: “tangent spaces”.
Stacks Project, Tag 0D18, tangent spaces. For a category fibred in groupoids over the big fppf site of a locally Noetherian scheme satisfying (RS*), the tangent space of the deformation category of a finite-type field-valued point is the value of the tangent functor of Tag 07Y9 at the rank-one vector space. Both sides carry the unique linear structure compatible with finite products (Tag 06I6), and the identification carries the class of a deformation to the class of the corresponding lift.
public theorem tangentSpace_deformationCategory_linearEquiv
(B : BigFppfSite.{u}) (S : Scheme.{u}) [IsLocallyNoetherian S] (hS : B.Contains S)
{Λ k : Type u} [CommRing Λ] [Field k] [Algebra Λ k]
(iΛ : Spec (.of Λ) ⟶ S) (toS : Spec (.of k) ⟶ S)
(hk : B.Contains (Spec (.of k)))
(hfin : LocallyOfFiniteType (Spec.map (CommRingCat.ofHom (algebraMap Λ k)) ≫ iΛ))
(hqc : QuasiCompact (Spec.map (CommRingCat.ofHom (algebraMap Λ k)) ≫ iΛ))
{X : Type v} [Category.{w} X] (p : X ⥤ BigFppfOver B S hS)
(hp : p.IsFiberedInGroupoids) (hRS : SatisfiesRSStar B S hS p hp) (x₀ : X)
(hx₀ : (p ⋙ Over.post B.inclusion).obj x₀ =
Over.mk (Spec.map (CommRingCat.ofHom (algebraMap Λ k)) ≫ iΛ))
(hx : p.obj x₀ = algebraOver k B S hS toS hk) :
let D := predeformationCategory iΛ (p ⋙ Over.post B.inclusion) x₀ hx₀
let 𝓕 := BasedCategory.ofFunctor D.projection
let hD : Deformation.IsDeformationCategory D.projection :=
isDeformationCategory_predeformationCategory_of_satisfiesRSStar B S hS p hp hRS iΛ x₀
hx₀ hfin hqc
letI : Fact (IsPredeformationCategory 𝓕.p) := ⟨hD.predeformation⟩
letI : Fact (SchlessingerConditionS2 (CategoryOfElements.π
(isomorphismClasses 𝓕 hD.predeformation.cofibered))) :=
⟨schlessingerConditionS2_isomorphismClasses_of_isDeformationCategory 𝓕 hD⟩
let M : SiteModule k B := (fgSiteModule B hk).obj (FGModuleCat.of k k)
let L := tangentFunctor k B S hS toS hk p x₀ hx hp hRS
∃ e : artinianTangentSpace Λ k (isomorphismClasses 𝓕 hD.predeformation.cofibered) ≃ₗ[k]
L.functor.obj M,
∀ z : D.projection.Fiber ((artinianSquareZeroExtensionFunctor Λ k).obj
(FGModuleCat.of k k)),
∃ y : (Under.post p).Fiber
(Under.mk (eqToHom hx ≫ squareZeroArrow k B S hS toS hk M)),
L.liftEquiv M (e (classOf 𝓕 hD.predeformation.cofibered z)) = Quotient.mk _ y ∧
∃ (η : y.1.right ≅ (D.objects z.1).point)
(hbase : p.obj y.1.right = p.obj (D.objects z.1).point),
p.map η.hom = eqToHom hbase ∧
y.1.hom ≫ η.hom = (D.objects z.1).arrow
Deformation.Artin.infinitesimalAutomorphisms_deformationCategory_linearEquiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/DeformationSpaceComparison.lean, line 1417. The attribute's comment: “infinitesimal automorphisms”.
Stacks Project, Tag 0D18, infinitesimal automorphisms. For a category fibred in groupoids over the big fppf site of a locally Noetherian scheme satisfying (RS*), the infinitesimal automorphisms of the deformation category of a finite-type field-valued point are the value of the infinitesimal automorphism functor of Tag 07Y9 at the rank-one vector space, by a
k-linear equivalence carrying an automorphism to the endomorphism of the trivial deformation given by the same arrow.
public theorem infinitesimalAutomorphisms_deformationCategory_linearEquiv
(B : BigFppfSite.{u}) (S : Scheme.{u}) [IsLocallyNoetherian S] (hS : B.Contains S)
{Λ k : Type u} [CommRing Λ] [Field k] [Algebra Λ k]
(iΛ : Spec (.of Λ) ⟶ S) (toS : Spec (.of k) ⟶ S)
(hk : B.Contains (Spec (.of k)))
(hfin : LocallyOfFiniteType (Spec.map (CommRingCat.ofHom (algebraMap Λ k)) ≫ iΛ))
(hqc : QuasiCompact (Spec.map (CommRingCat.ofHom (algebraMap Λ k)) ≫ iΛ))
{X : Type v} [Category.{w} X] (p : X ⥤ BigFppfOver B S hS)
(hp : p.IsFiberedInGroupoids) (hRS : SatisfiesRSStar B S hS p hp) (x₀ : X)
(hx₀ : (p ⋙ Over.post B.inclusion).obj x₀ =
Over.mk (Spec.map (CommRingCat.ofHom (algebraMap Λ k)) ≫ iΛ))
(hx : p.obj x₀ = algebraOver k B S hS toS hk) :
let D := predeformationCategory iΛ (p ⋙ Over.post B.inclusion) x₀ hx₀
let hD : Deformation.IsDeformationCategory D.projection :=
isDeformationCategory_predeformationCategory_of_satisfiesRSStar B S hS p hp hRS iΛ x₀
hx₀ hfin hqc
let A₀ := (artinianSquareZeroExtensionFunctor Λ k).obj (FGModuleCat.of k PUnit.{u + 1})
let Aε := (artinianSquareZeroExtensionFunctor Λ k).obj (FGModuleCat.of k k)
let g : A₀ ⟶ Aε := (artinianSquareZeroExtensionFunctor Λ k).map 0
let e : Aε ⟶ A₀ := (artinianSquareZeroExtensionFunctor Λ k).map 0
let M : SiteModule k B := (fgSiteModule B hk).obj (FGModuleCat.of k k)
let L := infinitesimalAutomorphismFunctor k B S hS toS hk p x₀ hx hp hRS
let t := trivialDeformation k B S hS toS hk p x₀ hx hp M
∃ (hge : g ≫ e = 𝟙 A₀) (z₀ : D.projection.Fiber A₀) (zε : D.projection.Fiber Aε)
(i : z₀.1 ⟶ zε.1) (hi : D.projection.IsHomLift g i)
(η : (D.objects zε.1).point ≅ t.1.right),
let G := ↥(infinitesimalAutomorphismsAlongSplitPair hD.predeformation.cofibered g e hge
i hi)
(D.objects zε.1).arrow ≫ η.hom = t.1.hom ∧
∃ hA : AddCommGroup G,
letI : AddCommGroup G := hA
∃ hM : Module k G,
letI : Module k G := hM
∃ E : G ≃ₗ[k] (L.functor.obj M : Type w),
∀ a : G, (L.autEquiv M (E a)).1.right =
η.inv ≫ (D.morphisms zε.1 zε.1 a.val.asIso.hom.val).arrow ≫ η.hom
Deformation.Artin.localizedAutomorphismTangent_deformationCategory_linearEquiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/InfinitesimalAutomorphismsComparison.lean, line 120. The attribute's comment: “infinitesimal automorphisms”.
Stacks Project, Tag 0D18, infinitesimal automorphisms. For a category fibred in groupoids over the big fppf site of a locally Noetherian scheme satisfying (RS*), the infinitesimal automorphisms of the deformation category of a finite-type field-valued point
x₀, with their natural vector space structure of Tag 06JX, are the value at the rank-one vector space of the infinitesimal automorphism functor of Tag 07Y9: there is ak-linear equivalenceE, which is conjugation by any isomorphismηof the object underlying the dual-number pushforward with the trivial deformation ofx₀that is compatible with the arrows out ofx₀and lies over the comparison of the two presentations of the dual numbers; such anηexists.
public theorem localizedAutomorphismTangent_deformationCategory_linearEquiv
(B : BigFppfSite.{u}) (S : Scheme.{u}) [IsLocallyNoetherian S] (hS : B.Contains S)
{Λ k : Type u} [CommRing Λ] [Field k] [Algebra Λ k]
(iΛ : Spec (.of Λ) ⟶ S) (toS : Spec (.of k) ⟶ S)
(hk : B.Contains (Spec (.of k)))
(hfin : LocallyOfFiniteType (Spec.map (CommRingCat.ofHom (algebraMap Λ k)) ≫ iΛ))
(hqc : QuasiCompact (Spec.map (CommRingCat.ofHom (algebraMap Λ k)) ≫ iΛ))
{X : Type v} [Category.{w} X] (p : X ⥤ BigFppfOver B S hS)
(hp : p.IsFiberedInGroupoids) (hRS : SatisfiesRSStar B S hS p hp) (x₀ : X)
(hx₀ : (p ⋙ Over.post B.inclusion).obj x₀ =
Over.mk (Spec.map (CommRingCat.ofHom (algebraMap Λ k)) ≫ iΛ))
(hx : p.obj x₀ = algebraOver k B S hS toS hk)
(y : (predeformationCategory iΛ (p ⋙ Over.post B.inclusion) x₀ hx₀).projection.Fiber
(residueFieldObject.{u, u, u} Λ k))
(P : ChosenPushforwardsAt
(predeformationCategory iΛ (p ⋙ Over.post B.inclusion) x₀ hx₀).projection y.1) :
let D := predeformationCategory iΛ (p ⋙ Over.post B.inclusion) x₀ hx₀
let hD : Deformation.IsDeformationCategory D.projection :=
isDeformationCategory_predeformationCategory_of_satisfiesRSStar B S hS p hp hRS iΛ x₀
hx₀ hfin hqc
letI := naturalLocalizedTangentAddCommGroup P hD.satisfiesRS
letI := naturalLocalizedTangentModule P hD.satisfiesRS
let M : SiteModule k B := (fgSiteModule B hk).obj (FGModuleCat.of k k)
let L := infinitesimalAutomorphismFunctor k B S hS toS hk p x₀ hx hp hRS
let t := trivialDeformation k B S hS toS hk p x₀ hx hp M
let yε := P.obj (dualNumbersUnder (p := D.projection) (x := y.1))
let IsCompatible : ((D.objects yε.1).point ≅ t.1.right) → Prop := fun η =>
(D.objects yε.1).arrow ≫ η.hom = t.1.hom ∧
eqToHom (congrArg Over.left (D.objects yε.1).base).symm ≫
((p ⋙ Over.post B.inclusion).map η.hom).left ≫ eqToHom (congrArg Over.left
(trivialDeformation_right_post B S hS iΛ toS hk p hp x₀ hx₀ hx
(FGModuleCat.of k k))) =
Spec.map (CommRingCat.ofHom (CategoryTheory.inv
(dualNumbersUnderHom (p := D.projection) (x := y.1)) ≫
eqToHom (yε.2.symm.trans (D.object_projection yε.1))).hom.toRingHom)
∃ E : localizedAutomorphismFunctorTangent P ≃ₗ[k] (L.functor.obj M : Type w),
(∃ η, IsCompatible η) ∧
∀ η, IsCompatible η → ∀ a, (L.autEquiv M (E a)).1.right =
η.inv ≫ (D.morphisms yε.1 yε.1 (localizedTangentEquivKernel P a).1.asIso.hom.1).arrow ≫
η.hom
Tag 07YC, a remark
Tag 07YC in the Stacks Project.
Deformation.Artin.canonicalDeformationElement, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/CanonicalElement.lean, line 151. The attribute's comment: “canonical_deformation_element”.
Stacks 07YC. The canonical element of
T_x(Ω_{A/Λ})attached to the universal derivationd : A → Ω_{A/Λ}.
public def canonicalDeformationElement (baseMap : Spec (.of Λ) ⟶ S)
(baseFactorization :
Spec.map (CommRingCat.ofHom (algebraMap Λ A)) ≫ baseMap = toS) :
CanonicalDeformationData Λ A B S hS toS hA p x hx hp hRS hΩ
Deformation.Artin.canonicalTangentMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/CanonicalElement.lean, line 259. The attribute's comment: “the tangent-space map”.
Stacks 07YC. The map on tangent spaces induced by the family
xoverSpec A: aΛ-derivation ofAwith values ink, written as anA-linear mapΩ_{A/Λ} → k, carries the canonical element to an element ofT_x(k).
public def canonicalTangentMap (θ : Ω[A⁄Λ] →ₗ[A] k) :
(tangentFunctor A B S hS toS hA p x hx hp hRS).functor.obj
(⟨ModuleCat.of A k, hk⟩ : SiteModule A B)
Deformation.Artin.canonicalTangentMap_eq_familyTangentMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/CanonicalElementInducedTangentMap.lean, line 743. The attribute's comment: “the canonical element gives the tangent map T𝓕_{U,k,u₀} ⟶ T𝓕_{𝒳,k,x₀} induced by x: θ ↦ T_x(θ)(x_can)”.
Stacks 07YC: the canonical element produces the map on tangent spaces induced by
x.Let
𝒳be a category fibred in groupoids over the big fppf site of a locally NoetherianS, satisfying (RS*), letSpec Λ ⊂ Sbe an affine open through whichU = Spec A ⟶ Sfactors, withAof finite type overΛ, letxbe an object of𝒳overU, and letkbe the residue field of a finite type pointu₀ofU, withx₀ = x|_{u₀}. Then:
T_x(k)is the tangent space of𝓕_{𝒳,k,x₀}: thek-linear identificationebelow is the one of Stacks 0D18 composed with the (RS*) identificationT_x(k) = T_{x₀}(k)acrossA[k] = A ×_k k[k], pinned down by sending the class of a deformation to the class of the corresponding lift;T𝓕_{U,k,u₀} = Der_Λ(A, k) = Hom_A(Ω_{A/Λ}, k)(Stacks 06IC), byDeformation.Artin.derivationTangentEquiv;- through these identifications the map on tangent spaces
T𝓕_{U,k,u₀} ⟶ T𝓕_{𝒳,k,x₀}induced by the objectxoverU(Deformation.Artin.familyTangentMap) isθ ↦ T_x(θ)(x_can).The field
kis only required to be anA-algebra withSpec k ⟶ Uof finite type, which includes the residue field at a finite type point. The containments of the spectra of the square-zero extensions in the chosen big site are size conditions on the site.
public theorem canonicalTangentMap_eq_familyTangentMap [IsLocallyNoetherian S]
[IsOpenImmersion baseMap] [Algebra.FiniteType Λ A]
(hpt : LocallyOfFiniteType (Spec.map (CommRingCat.ofHom (algebraMap A k)))) :
letI : p.IsFibered := hp.isFibered
let x₀ := (familyMorphism A B S hS toS hA p x hx hp).obj (residuePoint A k B S hS toS hA hAk)
let D := predeformationCategory baseMap (p ⋙ Over.post B.inclusion) x₀
(familyMorphism_residuePoint_base Λ A k B S hS toS hA hAk baseMap baseFactorization p x hx
hp)
let 𝓕 := BasedCategory.ofFunctor D.projection
let hD : IsDeformationCategory D.projection :=
isDeformationCategory_predeformationCategory_of_satisfiesRSStar B S hS p hp hRS baseMap x₀
(familyMorphism_residuePoint_base Λ A k B S hS toS hA hAk baseMap baseFactorization p x
hx hp)
(residue_locallyOfFiniteType Λ A k S toS baseMap baseFactorization hpt)
(residue_quasiCompact Λ k S baseMap)
letI : Fact (IsPredeformationCategory 𝓕.p) := ⟨hD.predeformation⟩
letI : Fact (SchlessingerConditionS2 (CategoryOfElements.π
(isomorphismClasses 𝓕 hD.predeformation.cofibered))) :=
⟨schlessingerConditionS2_isomorphismClasses_of_isDeformationCategory 𝓕 hD⟩
let M : SiteModule k B := ⟨ModuleCat.of k k, hkk⟩
let L := tangentFunctor k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hAk p
x₀ (familyMorphism_residuePoint_obj A k B S hS toS hA hAk p x hx hp) hp hRS
∃ e : artinianTangentSpace Λ k (isomorphismClasses 𝓕 hD.predeformation.cofibered) ≃ₗ[k]
((tangentFunctor A B S hS toS hA p x hx hp hRS).functor.obj
(⟨ModuleCat.of A k, hk⟩ : SiteModule A B) : Type max (u + 1) v w),
(∀ z : D.projection.Fiber ((artinianSquareZeroExtensionFunctor Λ k).obj
(FGModuleCat.of k k)),
∃ y : (Under.post p).Fiber (Under.mk (eqToHom
(familyMorphism_residuePoint_obj A k B S hS toS hA hAk p x hx hp) ≫
squareZeroArrow k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS)
hAk M)),
L.liftEquiv M (residueTangentEquiv A k B S hS toS hA p x hx hp hRS hk hAk hkk
(e (classOf 𝓕 hD.predeformation.cofibered z))) = Quotient.mk _ y ∧
∃ (η : y.1.right ≅ (D.objects z.1).point)
(hbase : p.obj y.1.right = p.obj (D.objects z.1).point),
p.map η.hom = eqToHom hbase ∧ y.1.hom ≫ η.hom = (D.objects z.1).arrow) ∧
∀ θ : Ω[A⁄Λ] →ₗ[A] k,
e (familyTangentMap Λ A k B S hS toS hA hAk baseMap baseFactorization p x hx hp
(derivationTangentEquiv Λ A k B S hS toS hA hAk baseMap baseFactorization θ)) =
(tangentFunctor A B S hS toS hA p x hx hp hRS).functor.map
(⟨ModuleCat.ofHom θ⟩ : differentialsSiteModule Λ A B hΩ ⟶
(⟨ModuleCat.of A k, hk⟩ : SiteModule A B))
(canonicalDeformationElement Λ A B S hS toS hA p x hx hp hRS hΩ baseMap
baseFactorization).element
Deformation.Artin.residueSquareZeroRing_isPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/CanonicalElementTangentSpace.lean, line 251. The attribute's comment: “the fibre product A[k] = A ×_k k[k]”.
Stacks 07YC: the square
A[k] = A ×_k k[k]. For a ring mapA ⟶ kto a field, the trivial square-zero extensionA[k]is the fibre product ofAandk[k]overk. The orientation is the one in which condition (RS*) reads a square: the pullback corner isA[k], and the square-zero surjection is the projectionk[k] ⟶ kappearing as the fourth map.This is
Deformation.Artin.squareZeroRingBaseMap_isPullbackat the residue map, withDeformation.Artin.coeffCompare— the identity ofk, comparing the two module structures theA-algebrakputs on itself — as the semilinear bijection of coefficients.
public theorem residueSquareZeroRing_isPullback :
IsPullback (CommRingCat.ofHom (TrivSqZeroExt.fstHom A A (ModuleCat.of A k)).toRingHom)
(CommRingCat.ofHom (squareZeroRingBaseMap (algebraMap A k) (coeffCompare A k)
(coeffCompare_smul A k)))
(CommRingCat.ofHom (algebraMap A k))
(CommRingCat.ofHom (TrivSqZeroExt.fstHom k k (ModuleCat.of k k)).toRingHom)
Deformation.Artin.residueTangentEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/CanonicalElementTangentSpace.lean, line 430. The attribute's comment: “T_x(k) is the tangent space of the deformation functor at the residue field”.
Stacks 07YC:
T_x(k)is the tangent space at the residue field. By (RS*) and the squareA[k] = A ×_k k[k], the tangent moduleT_x(k)ofxat the coefficient modulekis the tangent moduleT_{x₀}(k)of the restrictionx₀ = x|_{Spec k}at the rank-onek-vector space, which by Stacks 0D18 is the tangent space of the deformation category𝓕_{𝒳,k,x₀}.This is an identification of
k-vector spaces: on the left the structureDeformation.Artin.residueTangentModulethat theA-linear tangent functor of Stacks 07Y9 puts on its value at the algebra coefficientk, on the right the structure the rank-onek-vector space gives the value of the tangent functor overk, which is the one Stacks 0D18 transports from the deformation category. Additivity isDeformation.Artin.residueTangentBaseChange_map_addand the scalar action isDeformation.Artin.residueTangentBaseChange_map_smul.The identification itself is the (RS*) comparison of lift classes
Deformation.Artin.canonicalFieldBaseChangeEquivtransported along the identificationsT_x(M) = Lift(x, A[M])of the tangent functor data of Stacks 07Y9 on both sides, which isDeformation.Artin.tangentBaseChangeEquivat the residue map.
public def residueTangentEquiv :
letI : p.IsFibered := hp.isFibered
((tangentFunctor A B S hS toS hA p x hx hp hRS).functor.obj
(⟨ModuleCat.of A k, hk⟩ : SiteModule A B) : Type max (u + 1) v w) ≃ₗ[k]
((tangentFunctor k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hAk p
(((Functor.chosenPullbacks p).pullbackFunctor
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl)).obj
⟨x, hx⟩).1
(((Functor.chosenPullbacks p).pullbackFunctor
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl)).obj
⟨x, hx⟩).2
hp hRS).functor.obj
(⟨ModuleCat.of k k, hkk⟩ : SiteModule k B) : Type max (u + 1) v w)
Deformation.Artin.canonicalTangentMapRestrict, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Infinitesimal/CanonicalElementTangentSpace.lean, line 509. The attribute's comment: “θ ↦ T_x(θ)(x_can) in T_x(k) = T𝓕_{𝒳,k,x₀}”.
Stacks 07YC: the canonical element produces the map on tangent spaces. A tangent vector of
Spec Aat the point with residue fieldk— that is, an element ofDer_Λ(A, k) = Hom_A(Ω_{A/Λ}, k), the identification being Stacks 00RO (KaehlerDifferential.linearMapEquivDerivation) — is carried toT_x(θ)(x_can), read inT_{x₀}(k), which is the tangent spaceT𝓕_{𝒳,k,x₀}by Stacks 0D18.
public def canonicalTangentMapRestrict (θ : Ω[A⁄Λ] →ₗ[A] k) :
letI : p.IsFibered := hp.isFibered
((tangentFunctor k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hAk p
(((Functor.chosenPullbacks p).pullbackFunctor
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl)).obj ⟨x, hx⟩).1
(((Functor.chosenPullbacks p).pullbackFunctor
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl)).obj ⟨x, hx⟩).2
hp hRS).functor.obj
(⟨ModuleCat.of k k, hkk⟩ : SiteModule k B) : Type max (u + 1) v w)
Sources
Section98.22 Obstruction theories#
Section 98.22 of the Stacks Project, Tag 07YF. 4 tags here are carried by 21 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07YG, a definition
Tag 07YG in the Stacks Project.
Deformation.Artin.ObstructionTheory, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/Theory.lean, line 232.
An obstruction theory for a category fibred in groupoids over the big fppf site of
S: a linear functor of obstruction modules at every object over the spectrum of anS-algebra mapping into an affine open, functorial in the triple(x, A, M), together with an obstruction element for every deformation situation whose vanishing is equivalent to the existence of a lift.
public structure ObstructionTheory (hp : p.IsFiberedInGroupoids)
Tag 0CYF, a lemma
Tag 0CYF in the Stacks Project.
Deformation.Artin.isOpenVersality_of_obstructionTheory, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Versality/OpennessObstruction.lean, line 90.
Let
Sbe a locally Noetherian scheme and let𝒳be a category fibred in groupoids over the big fppf site ofS. Assume
- the diagonal
Δ : 𝒳 ⟶ 𝒳 × 𝒳is representable by algebraic spaces,𝒳has (RS*),𝒳is limit preserving,- there exists an obstruction theory
O,- for an object
xof𝒳overSpec AandA-modulesMₙ,n ≥ 1, (a)T_x(∏ Mₙ) = ∏ T_x(Mₙ), and (b)𝒪_x(∏ Mₙ) ⟶ ∏ 𝒪_x(Mₙ)is injective.Then
𝒳satisfies openness of versality: ifxover a schemeUlocally of finite type overSis versal at a finite type pointu₀, it is versal at every finite type point of an open neighbourhood ofu₀.
theorem isOpenVersality_of_obstructionTheory [IsLocallyNoetherian S]
(𝒳 : CatFiberedInGroupoids.{u, u, u + 1, u + 1} (AlgebraicGeometry.BigFppfOver B S hS))
(h1 : AlgebraicGeometry.Stack.HasRepresentableDiagonal B S hS 𝒳)
(h2 : SatisfiesRSStar B S hS 𝒳.val.p 𝒳.isFiberedInGroupoids)
(h3 : IsLimitPreserving.{u, u, u, u + 1, u} B S hS 𝒳)
(O : ObstructionTheory B S hS 𝒳.val.p 𝒳.isFiberedInGroupoids)
(h5a : TangentPreservesCountableProducts B S hS 𝒳.val.p 𝒳.isFiberedInGroupoids h2)
(h5b : O.InjectiveOnCountableProducts) :
∀ (U : Over S), LocallyOfFiniteType U.hom →
∀ (x : 𝒳.val.obj) (hx : (𝒳.val.p ⋙ Over.post B.inclusion).obj x = U) (u₀ : U.left),
IsFiniteTypePoint u₀ →
IsVersalAt U (𝒳.val.p ⋙ Over.post B.inclusion) u₀ x hx →
∃ W : U.left.Opens, u₀ ∈ W.1 ∧
∀ u ∈ W.1, IsFiniteTypePoint u →
IsVersalAt U (𝒳.val.p ⋙ Over.post B.inclusion) u x hx
Tag 07YH, an example
Tag 07YH in the Stacks Project.
Deformation.Artin.SectionsSheaf.exists_obstructionTheory, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/SectionsObstructionTheory.lean, line 787.
Stacks 07YH. Let
S = Spec ΛwithΛNoetherian,W → Sa morphism of schemes and𝓕a quasi-coherent𝒪_W-module flat overS. The category fibred in groupoids𝒳attached toF : T/S ↦ H⁰(W_T, 𝓕_T)has an obstruction theory (Stacks 07YG) whose obstruction modules at an objectxoverSpec Aare𝒪_x(M) = H¹(W_A, 𝓕_A ⊗_A M)(affineObstruction, i.e.obstructionFunctor, as a functor ofM), and whose obstruction element at a deformation situation(x, A' → A)is the image ofxunder the boundary mapH⁰(W_A, 𝓕_A) → H¹(W_A, 𝓕_A ⊗_A I)of0 → 𝓕_A ⊗_A I → 𝓕_{A'} → 𝓕_A → 0.
theorem exists_obstructionTheory [IsNoetherianRing Λ]
(hF : AlgebraicGeometry.IsFlatOver g.toLRSHom.toShHom F) :
∃ θ : ObstructionTheory B (Spec (.of Λ)) hS (sectionsFibredCategory g F B hS)
(Functor.IsFiberedInSets.isFiberedInGroupoids _),
∃ e : ∀ P, (θ.obstruction P).functor ≅ (affineObstruction g F P).functor,
∀ P t, (e P).hom.app t.kernelObj (θ.obs P t) = sectionsObstructionClass B hS g F hF P t
Tag 07YI, an example
Tag 07YI in the Stacks Project.
Deformation.Artin.KeyExample.objEquivTuple, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 197. The attribute's comment: “x corresponds to a tuple (a_1, …, a_n) killing J”.
An object
xof𝒳 = (Sch/Spec R)_{fppf}overSpec A, that is aΛ-algebra mapR → AwithR = Λ[x_1, …, x_n]/J, is the same datum as a tuple(a_1, …, a_n)of elements ofAwithf(a_1, …, a_n) = 0inAfor everyf ∈ J.
noncomputable def objEquivTuple :
((MvPolynomial (Fin n) Λ ⧸ J) →ₐ[Λ] A) ≃
{a : Fin n → A // ∀ f ∈ J, MvPolynomial.aeval a f = 0}
Deformation.Artin.KeyExample.exists_isHomotopyEquiv_nl_canonical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 228. The attribute's comment: “NL_{R/Λ} is canonically homotopy equivalent to J/J² → ⊕ R dx_i”. References: SGA 6 0 (4.3), “partial”; SGA 6 0 (4.4), “special case”.
The naive cotangent complex
NL_{R/Λ}is canonically homotopy equivalent to the two-term complexJ/J² → ⊕_{i = 1, …, n} R dx_iattached to the presentationΛ[x_1, …, x_n] → R: there is a morphism of presentations onto the canonical presentation, and the induced chain map is a homotopy equivalence. This is Stacks 00S1(4) read at the presentation of the key example;presentation_keridentifies the conormal module ofpresentation JwithJ/J².
theorem exists_isHomotopyEquiv_nl_canonical :
∃ φ : P.Hom (NaiveCotangent.canonicalGenerators Λ R),
NaiveCotangent.IsHomotopyEquiv
(NaiveCotangent.nlMap P (NaiveCotangent.canonicalGenerators Λ R) φ)
Deformation.Artin.KeyExample.exists_basis_nl_cotangentSpace, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 241. The attribute's comment: “the degree-0 term is the free module ⊕_{i = 1, …, n} R dx_i”.
The degree-
0term of the two-term complex of the key example is the freeR-module⊕_{i = 1, …, n} R dx_ion the classesdx_iof the variables.
theorem exists_basis_nl_cotangentSpace :
∃ b : Module.Basis (Fin n) R (NaiveCotangent.NL P).X₀,
∀ i, b i = 1 ⊗ₜ[P.toExtension.Ring]
(KaehlerDifferential.D Λ P.toExtension.Ring) (MvPolynomial.X i)
Deformation.Artin.KeyExample.Situation.Lift.obsHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 409. The attribute's comment: “the map J/J² → I, f ↦ f(a'_1, …, a'_n)”.
The obstruction map: the
R-linear mapJ/J² → Isending the class off ∈ Jtof(a'_1, …, a'_n), wherea'_iare the chosen lifts. It is the map induced on conormal modules by the morphism of extensionsLift.hom; its target isI/I², which isIbecauseI² = 0(seeSituation.cotangentEquivKernel).
noncomputable def Lift.obsHom (l : t.Lift) :
P.toExtension.Cotangent →ₗ[R] t.ext.Cotangent
Deformation.Artin.KeyExample.Situation.Lift.obsHom_mk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 416. The attribute's comment: “o_x(A') is represented by the map f ↦ f(a'_1, …, a'_n)”.
The obstruction map sends the class of
f ∈ Jtof(a'_1, …, a'_n) ∈ I, through the identificationI/I² = IofSituation.cotangentEquivKernel.
theorem Lift.obsHom_mk (l : t.Lift) (f : P.ker) :
l.obsHom (Algebra.Extension.Cotangent.mk f) =
t.cotangentEquivKernel
⟨MvPolynomial.aeval l.val (f : MvPolynomial (Fin n) Λ), l.aeval_mem_kernel f⟩
Deformation.Artin.KeyExample.obstructionModule, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 473. The attribute's comment: “the obstruction module Hom_R(J/J², M)/Hom_R(R^{⊕n}, M)”.
The obstruction module,
𝒪_x(M) = Hom_R(J/J², M)/Hom_R(R^{⊕n}, M): theR-linear maps out of the conormal moduleJ/J²of the presentation, modulo those that factor through the differentialJ/J² → ⊕_i R dx_iof the naive cotangent complex. The quotient is taken by the range of precomposition with that differential; since⊕_i R dx_iis free on thedx_i, the submodule divided out is the image ofHom_R(R^{⊕n}, M).
abbrev obstructionModule (P : Algebra.Generators Λ R (Fin n)) (M : Type v) [AddCommGroup M]
[Module R M]
Deformation.Artin.KeyExample.obstructionModuleAddEquivExtOne, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 490. The attribute's comment: “Hom_R(J/J², M)/Hom_R(R^{⊕n}, M) = Ext¹_R(NL_{R/Λ}, M)”.
The obstruction module
Hom_R(J/J², M)/Hom_R(R^{⊕n}, M)isExt¹_R(NL_{R/Λ}, M): the comparison of Stacks 0GPU,NaiveCotangent.extOne_naiveCotangentComplex_addEquiv_cokernel, read at the presentation of the key example.
noncomputable def obstructionModuleAddEquivExtOne
(P : Algebra.Generators Λ R (Fin n)) (M : Type v) [AddCommGroup M] [Module R M]
Deformation.Artin.KeyExample.Situation.obsClass, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 501. The attribute's comment: “the obstruction element o_x(A')”.
The obstruction element
o_x(A'): the class in the obstruction module of the mapJ/J² → I,f ↦ f(a'_1, …, a'_n).
noncomputable def obsClass (l : t.Lift) : obstructionModule P t.ext.Cotangent
Deformation.Artin.KeyExample.Situation.obsClass_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 509. The attribute's comment: “o_x(A') is independent of the choice of lifts”.
o_x(A')does not depend on the choice of the liftsa'_i. Two families of lifts induce morphisms of extensions whose maps on conormal modules differ by precomposition with the differential of the naive cotangent complex, so their classes inHom_R(J/J², I)/Hom_R(R^{⊕n}, I)agree.
theorem obsClass_eq (l l' : t.Lift) : obsClass l = obsClass l'
Deformation.Artin.KeyExample.Situation.obsClass_eq_zero_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 605. The attribute's comment: “o_x(A') = 0 if and only if Lift(x, A') is nonempty”.
o_x(A') = 0if and only ifxlifts. This is condition (iii) of Stacks 07YG for the key example.
theorem obsClass_eq_zero_iff (l : t.Lift) : obsClass l = 0 ↔ HasLift t
Deformation.Artin.KeyExample.Situation.coe_cotangentEquivKernel_symm_obsHom_pushforward, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExample.lean, line 629. The attribute's comment: “a morphism of deformation situations carries o_x(A') to o_y(B')”.
Functoriality of the obstruction element. For a morphism of deformation situations
(x, A' → A) → (y, B' → B)the obstruction map ofxis carried to the obstruction map ofyby the mapI → I₂induced on kernels byA' → B', soo_x(A')maps too_y(B').
theorem coe_cotangentEquivKernel_symm_obsHom_pushforward {t₂ : Situation P}
(ι : t.thick →ₐ[Λ] t₂.thick) (κ : t.base →ₐ[Λ] t₂.base)
(hcomm : t₂.proj.comp ι = κ.comp t.proj) (hobj : κ.comp t.obj = t₂.obj) (l : t.Lift)
(f : P.ker) :
((t₂.cotangentEquivKernel.symm
((l.pushforward ι κ hcomm hobj).obsHom
(Algebra.Extension.Cotangent.mk f))).1 : t₂.thick) =
ι (((t.cotangentEquivKernel.symm
(l.obsHom (Algebra.Extension.Cotangent.mk f))).1 : t.thick))
Deformation.Artin.KeyExample.baseChangedObstructionModule, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExampleBaseChange.lean, line 184. The attribute's comment: “the obstruction module computed from NL_{R/Λ} ⊗_R A”.
The obstruction module of Stacks 07YI computed after base change, the cokernel
Hom_A(A ⊗_R J/J², M)/Hom_A(A ⊗_R R^{⊕n}, M)of the dual of the differential ofNL_{R/Λ} ⊗_R A.
abbrev baseChangedObstructionModule
Deformation.Artin.KeyExample.obstructionModuleBaseChange, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExampleBaseChange.lean, line 195. The attribute's comment: “Hom_R(J/J², M)/Hom_R(R^{⊕n}, M) = Hom_A(A ⊗ J/J², M)/Hom_A(A ⊗ R^{⊕n}, M)”.
Stacks 07YI. The obstruction module
Hom_R(J/J², M)/Hom_R(R^{⊕n}, M)of the key example agrees with the obstruction module computed fromNL_{R/Λ} ⊗_R A: the tensor-hom adjunction carries one cokernel presentation onto the other.
def obstructionModuleBaseChange :
obstructionModule P M ≃+ baseChangedObstructionModule P A M
Deformation.Artin.KeyExample.extOneNaiveCotangentBaseChange, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExampleBaseChange.lean, line 212. The attribute's comment: “Ext¹_R(NL_{R/Λ}, I) = Ext¹_A(NL_{R/Λ} ⊗_R A, I)”.
Stacks 07YI:
Ext¹_R(NL_{R/Λ}, M) = Ext¹_A(NL_{R/Λ} ⊗_R A, M). The first extension group of the naive cotangent complex ofRoverΛwith coefficients in anA-moduleMis the first extension group overAof the base changeNL_{R/Λ} ⊗_R A. Both complexes are realized as the mapping cone of their differential, so that the conormal module lies in degree-1.
def extOneNaiveCotangentBaseChange :
DerivedCategory.Ext
(DerivedCategory.Q.obj (HomologicalComplex.homotopyCofiber
(NaiveCotangent.ExtCokernelLinear.singleMap
(ModuleCat.ofHom P.toExtension.cotangentComplex))))
((DerivedCategory.singleFunctor (ModuleCat.{u} R) 0).obj (ModuleCat.of R M)) 1 ≃+
DerivedCategory.Ext
(DerivedCategory.Q.obj (HomologicalComplex.homotopyCofiber
(NaiveCotangent.ExtCokernelLinear.singleMap
(ModuleCat.ofHom (P.toExtension.cotangentComplex.baseChange A)))))
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj (ModuleCat.of A M)) 1
Deformation.Artin.nlBaseChangeToNaive, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExampleCotangentClass.lean, line 651. The attribute's comment: “the map NL_{R/Λ} ⊗_R A → NL_{A/Λ}”.
The morphism
NL_{R/Λ} ⊗_R A ⟶ NL_{A/Λ}in the derived category ofA-modules: functoriality of the naive cotangent complex for theΛ-algebra mapR → A, with the source written as the termwise base change of the two-term complex of the presentationΛ[x_1, …, x_n] → R.
def nlBaseChangeToNaive :
DerivedCategory.Q.obj (double
(ModuleCat.ofHom (P.toExtension.cotangentComplex.baseChange A))
upIntRelNegOneZero) ⟶
derivedNaiveCotangentComplex Λ A
Deformation.Artin.cotangentComposition_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExampleCotangentClass.lean, line 700. The attribute's comment: “the composite NL_{R/Λ} ⊗_R A → NL_{A/Λ} → NL_{A/A'} = I[1]”.
Stacks 07YI: the invariant description of the obstruction element. The composite
NL_{R/Λ} ⊗_R A ⟶ NL_{A/Λ} ⟶ NL_{A/A'} = I[1]in the derived category ofA-modules is the class of the conormal functionalcompositeObsFunctional.
theorem cotangentComposition_eq :
letI := Stacks.Smooth.kerModule hq hsq
nlBaseChangeToNaive Λ R A P ≫ cotangentExtensionClass Λ A' A hq hsq =
DerivedCategory.Q.map (doubleToSingleNegOne
(ModuleCat.ofHom (P.toExtension.cotangentComplex.baseChange A))
(ModuleCat.ofHom (compositeObsFunctional Λ R A A' P hq hsq)))
Deformation.Artin.coe_compositeObsFunctional_one_tmul_mk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExampleCotangentClass.lean, line 801. The attribute's comment: “the composite is represented by the map f ↦ f(a'_1, …, a'_n)”.
The conormal functional of the composite, in coordinates: on
1 ⊗ (class of f)it isf(a'_1, …, a'_n), wherea'_iare the liftscanonicalLift i. This is the mapJ/J² → Iof Stacks 07YI.
theorem coe_compositeObsFunctional_one_tmul_mk (f : P.toExtension.ker) :
letI := Stacks.Smooth.kerModule hq hsq
((compositeObsFunctional Λ R A A' P hq hsq
(1 ⊗ₜ[R] Algebra.Extension.Cotangent.mk f)).1 : A') =
(MvPolynomial.aeval (canonicalLift Λ R A A' P hq) :
P.toExtension.Ring →ₐ[Λ] A') f.1
Deformation.Artin.doubleCokernelExtEquiv_cotangentComposition, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/KeyExampleCotangentClass.lean, line 820. The attribute's comment: “o_x(A') equals the composite NL_{R/Λ} → NL_{A/Λ} → NL_{A/A'} = I[1]”.
Stacks 07YI: the obstruction element is the composite of cotangent complexes. Under the identification of
Hom_{D(A)}(NL_{R/Λ} ⊗_R A, I[1]) = Ext¹_A(NL_{R/Λ} ⊗_R A, I)with the cokernelHom_A(A ⊗_R J/J², I)/Hom_A(A ⊗_R R^{⊕n}, I), the compositeNL_{R/Λ} ⊗_R A ⟶ NL_{A/Λ} ⟶ NL_{A/A'} = I[1]is the class of the functional whose value on1 ⊗ (class of f)isf(a'_1, …, a'_n), for the liftsa'_i = canonicalLift iof the coordinates ofx. That class is the obstruction elemento_x(A')ofDeformation.Artin.KeyExample.Situation.obsClass, which byDeformation.Artin.KeyExample.Situation.obsClass_eqdoes not depend on the chosen lifts.
theorem doubleCokernelExtEquiv_cotangentComposition :
letI := Stacks.Smooth.kerModule hq hsq
doubleCokernelExtEquiv (P.toExtension.cotangentComplex.baseChange A)
(RingHom.ker (algebraMap A' A))
(nlBaseChangeToNaive Λ R A P ≫ cotangentExtensionClass Λ A' A hq hsq) =
Submodule.Quotient.mk (compositeObsFunctional Λ R A A' P hq hsq)
Sources
Section98.23 Naive obstruction theories#
Section 98.23 of the Stacks Project, Tag 07YJ. 7 tags here are carried by 54 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07YK, a lemma
Tag 07YK in the Stacks Project.
DerivedCategory.extIntoFieldEquivDualBaseChangeHomology, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Homology/DerivedCategory/Ext/IntoField.lean, line 537. The attribute's comment: “equivalence”.
Ext into a field is the linear dual of the cohomology of canonical derived base change.
public noncomputable def extIntoFieldEquivDualBaseChangeHomology
{A : Type uA} {k : Type uk} [CommRing A] [Field k] (f : A →+* k)
(E : DerivedCategory.Minus (ModuleCat.{max v uA uk} A)) (i : ℤ) :
DerivedCategory.Ext E.1
((DerivedCategory.singleFunctor (ModuleCat.{max v uA uk} A) 0).obj
((ModuleCat.restrictScalars f).obj (ModuleCat.of k (ULift.{max v uA} k)))) i ≃+
((DerivedCategory.homologyFunctor (ModuleCat.{max v uA uk} k) (-i)).obj
((CochainComplex.DerivedExtensionScalars.totalDerivedExtensionScalars.{uA, uk, v}
f).functor.obj E.1) ⟶ ModuleCat.of k (ULift.{max v uA} k))
DerivedCategory.extIntoFieldEquivDualBaseChangeHomology_smul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Homology/DerivedCategory/Ext/IntoField.lean, line 559. The attribute's comment: “k-linearity”.
The Ext/base-change duality equivalence respects the intrinsic scalar action of
k.
public theorem extIntoFieldEquivDualBaseChangeHomology_smul
{A : Type uA} {k : Type uk} [CommRing A] [Field k] (f : A →+* k)
(E : DerivedCategory.Minus (ModuleCat.{max v uA uk} A)) (i : ℤ)
(x : k) (α : DerivedCategory.Ext E.1
((DerivedCategory.singleFunctor (ModuleCat.{max v uA uk} A) 0).obj
((ModuleCat.restrictScalars f).obj (ModuleCat.of k (ULift.{max v uA} k)))) i) :
extIntoFieldEquivDualBaseChangeHomology f E i (x • α) =
x • extIntoFieldEquivDualBaseChangeHomology f E i α
DerivedCategory.extIntoFieldEquivDualBaseChangeHomology_naturality, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Homology/DerivedCategory/Ext/IntoField.lean, line 586. The attribute's comment: “naturality in the derived object”.
The Ext/base-change duality equivalence is contravariantly natural in derived objects.
public theorem extIntoFieldEquivDualBaseChangeHomology_naturality
{A : Type uA} {k : Type uk} [CommRing A] [Field k] (f : A →+* k)
(E E' : DerivedCategory.Minus (ModuleCat.{max v uA uk} A)) (i : ℤ)
(g : E'.1 ⟶ E.1)
(α : DerivedCategory.Ext E.1
((DerivedCategory.singleFunctor (ModuleCat.{max v uA uk} A) 0).obj
((ModuleCat.restrictScalars f).obj (ModuleCat.of k (ULift.{max v uA} k)))) i) :
extIntoFieldEquivDualBaseChangeHomology f E' i (g ≫ α) =
(DerivedCategory.homologyFunctor (ModuleCat.{max v uA uk} k) (-i)).map
((CochainComplex.DerivedExtensionScalars.totalDerivedExtensionScalars.{uA, uk, v}
f).functor.map g) ≫
extIntoFieldEquivDualBaseChangeHomology f E i α
DerivedCategory.extIntoFieldEquivDualBaseChangeHomology_restrictScalars, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Homology/DerivedCategory/Ext/IntoField.lean, line 605. The attribute's comment: “naturality under change of source ring”.
The duality intertwines pullback of Ext classes across
A → Bwith the dual of the canonical mapE ⊗ᴸ_A k ⟶ F ⊗ᴸ_B k.
public theorem extIntoFieldEquivDualBaseChangeHomology_restrictScalars
{A : Type uA} {B : Type uB} {k : Type uk}
[CommRing A] [CommRing B] [Field k] (f : A →+* B) (g : B →+* k)
(E : DerivedCategory.Minus (ModuleCat.{max v uA uB uk} A))
(F : DerivedCategory.Minus (ModuleCat.{max v uA uB uk} B))
(h : E.1 ⟶ (ModuleCat.restrictScalars f).mapDerivedCategory.obj F.1) (i : ℤ)
(α : DerivedCategory.Ext F.1
((DerivedCategory.singleFunctor (ModuleCat.{max v uA uB uk} B) 0).obj
((ModuleCat.restrictScalars g).obj (ModuleCat.of k (ULift.{max v uA uB} k)))) i) :
extIntoFieldEquivDualBaseChangeHomology.{uA, uk, max v uB} (g.comp f) E i
(extIntoFieldRestriction.{uA, uk, v, uB} f g E.1 F.1 h i α) =
(DerivedCategory.homologyFunctor (ModuleCat.{max v uA uB uk} k) (-i)).map
(derivedBaseChangeMap.{uA, uk, v, uB} f g E.1 F.1 h) ≫
extIntoFieldEquivDualBaseChangeHomology.{uB, uk, max v uA} g F i α
Tag 07YL, a lemma
Tag 07YL in the Stacks Project.
Deformation.Artin.exists_squareZeroExtension_killing_cotangent_morphism, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/DerivedSquareZeroExtension.lean, line 1083.
Stacks Project, Tag 07YL. Let
Λ → A → k = κ(𝔭)be finite type maps of Noetherian rings and letξ : E ⟶ NL_{A/Λ}be a morphism inD⁻(A)such thatH⁻¹(ξ ⊗ᴸ k)is not surjective. Then there is a surjection ofΛ-algebrasA' → Awhose kernelIhas square zero and is isomorphic tokas anA-module, which does not change differentials modulo𝔭, and for which the composite ofξwithNL_{A/Λ} ⟶ NL_{A/A'}vanishes.
public theorem exists_squareZeroExtension_killing_cotangent_morphism
(Λ A : Type u) [CommRing Λ] [CommRing A] [Algebra Λ A]
[IsNoetherianRing Λ] [IsNoetherianRing A] [Algebra.FiniteType Λ A]
(p : Ideal A) [p.IsPrime] [Algebra.FiniteType A p.ResidueField]
(T : DerivedTensorProduct A)
(E : DerivedCategory (ModuleCat.{u} A))
(hE : (DerivedCategory.TStructure.t
(C := ModuleCat.{u} A)).minus E)
(ξ : E ⟶ derivedNaiveCotangentComplex Λ A)
(hξ : ¬ Function.Surjective
((DerivedCategory.homologyFunctor (ModuleCat.{u} A) (-1)).map
((T.tensor.flip.obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
(ModuleCat.of A p.ResidueField))).map ξ))) :
∃ (A' : Type u) (_ : CommRing A') (_ : Algebra Λ A') (_ : Algebra A' A)
(_ : IsScalarTower Λ A' A),
Function.Surjective (algebraMap A' A) ∧
let I := RingHom.ker (algebraMap A' A)
I ^ 2 = ⊥ ∧
∃ (_ : Module A I),
(∀ (a' : A') (x : I), (algebraMap A' A a') • x = a' • x) ∧
Nonempty (I ≃ₗ[A] p.ResidueField) ∧
Function.Bijective (differentialsBaseChangeMap Λ A' A p.ResidueField) ∧
ξ ≫ naiveCotangentBaseMap Λ A' A = 0
Tag 07YM, a lemma
Tag 07YM in the Stacks Project.
AlgebraicGeometry.finiteType_residueField_of_isClosed_singleton, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/FiniteTypePoint.lean, line 151. The attribute's comment: “the use of closedness: the residue field at the point is of finite type”.
The residue field at a closed point of an affine scheme is of finite type over the ring.
This is the use that the converse direction of [Stacks, Tag 07YM] makes of closedness: it is the finiteness hypothesis under which [Stacks, Tag 07YL] builds its square-zero extension, and the source notes that the step "fails if
u₀is not closed".
public theorem finiteType_residueField_of_isClosed_singleton {A : Type u} [CommRing A]
{u₀ : Spec (CommRingCat.of A)}
(hu₀ : IsClosed ({u₀} : Set (Spec (CommRingCat.of A)))) :
letI : u₀.asIdeal.IsPrime := u₀.isPrime
Algebra.FiniteType A u₀.asIdeal.ResidueField
Deformation.Artin.surjective_derivedFibre_neg_one_iff_injective_extOne, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersality.lean, line 212. The attribute's comment: “condition (2) in degree -1 as injectivity of Ext¹(NL_{A/Λ}, k) → Ext¹(E, k)”.
Stacks 07YM, condition (2) in degree
-1. For a morphismξ : E ⟶ NL_{A/Λ}ofD⁻(A)and a ring mapA ⟶ kto a field, the mapH^{-1}(E ⊗ᴸ_A k) ⟶ H^{-1}(NL_{A/Λ} ⊗ᴸ_A k)is surjective exactly when the induced mapExt¹_A(NL_{A/Λ}, k) ⟶ Ext¹_A(E, k), that is precomposition withξ, is injective. This is the first of the two invocations of Stacks 07YK in the proof of Stacks 07YM: in the direction(1) ⇒ (2)a failure of the surjectivity produces a nonzero class ofExt¹_A(NL_{A/Λ}, k)killed byξ, which is the input of Stacks 07YL, and in the direction(2) ⇒ (1)the injectivity is what forces the obstruction class to vanish.
public theorem surjective_derivedFibre_neg_one_iff_injective_extOne
{Λ A k : Type u} [CommRing Λ] [CommRing A] [Field k] [Algebra Λ A] (f : A →+* k)
(E : DerivedCategory (ModuleCat.{u} A))
(hE : (DerivedCategory.TStructure.t (C := ModuleCat.{u} A)).minus E)
(ξ : E ⟶ derivedNaiveCotangentComplex Λ A) :
Function.Surjective
((DerivedCategory.homologyFunctor (ModuleCat.{u} k) (-1)).map
((totalDerivedExtensionScalars.{u, u, u} f).functor.map ξ)) ↔
Function.Injective
(fun α : DerivedCategory.Ext (derivedNaiveCotangentComplex Λ A)
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
((ModuleCat.restrictScalars f).obj (ModuleCat.of k (ULift.{u} k)))) 1 =>
ξ ≫ α)
Deformation.Artin.injective_derivedFibre_zero_iff_surjective_extZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersality.lean, line 236. The attribute's comment: “condition (2) in degree 0 as surjectivity of Ext⁰(NL_{A/Λ}, k) → Ext⁰(E, k)”.
Stacks 07YM, condition (2) in degree
0. For a morphismξ : E ⟶ NL_{A/Λ}ofD⁻(A)and a ring mapA ⟶ kto a field, the mapH^0(E ⊗ᴸ_A k) ⟶ H^0(NL_{A/Λ} ⊗ᴸ_A k)is injective exactly when the induced mapExt⁰_A(NL_{A/Λ}, k) ⟶ Ext⁰_A(E, k), that is precomposition withξ, is surjective. This is the second of the two invocations of Stacks 07YK in the proof of Stacks 07YM: condition (ii) identifies the right-hand map with the mapDer_Λ(A, k) ⟶ T_x(k)from tangent vectors ofUatu₀to infinitesimal deformations ofx₀, whose surjectivity is what versality provides.
public theorem injective_derivedFibre_zero_iff_surjective_extZero
{Λ A k : Type u} [CommRing Λ] [CommRing A] [Field k] [Algebra Λ A] (f : A →+* k)
(E : DerivedCategory (ModuleCat.{u} A))
(hE : (DerivedCategory.TStructure.t (C := ModuleCat.{u} A)).minus E)
(ξ : E ⟶ derivedNaiveCotangentComplex Λ A) :
Function.Injective
((DerivedCategory.homologyFunctor (ModuleCat.{u} k) 0).map
((totalDerivedExtensionScalars.{u, u, u} f).functor.map ξ)) ↔
Function.Surjective
(fun α : DerivedCategory.Ext (derivedNaiveCotangentComplex Λ A)
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
((ModuleCat.restrictScalars f).obj (ModuleCat.of k (ULift.{u} k)))) 0 =>
ξ ≫ α)
Deformation.Artin.exists_pow_inf_eq_bot_of_mul_eq_bot, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersality.lean, line 267. The attribute's comment: “the Artin–Rees step of (1) ⇒ (2): (p')^n ∩ I = 0 for some n > 1”.
Stacks 07YM, the Artin–Rees step of the implication
(1) ⇒ (2). LetA'be a Noetherian ring and letp'andIbe ideals withp' · I = 0. Then(p')^n ∩ I = 0for somen > 1.In the source
A' ⟶ Ais the square-zero extension supplied by Stacks 07YL,Iis its kernel andp' = Ker(A' ⟶ k)is the prime over the closed pointu₀; the kernel is a one-dimensionalk-vector space, so it is annihilated byp', and the conclusion is what makes the kernel ofA'/(p')^n ⟶ A/p^nequal toIand hence that map a small extension of local Artinian rings. The proof is the Artin–Rees lemma (Stacks 00IN) applied to the idealp'ofA'and the submoduleIofA': beyond the Artin–Rees constantcthe intersection(p')^n ∩ Iis contained in(p')^{n - c} · I, which vanishes as soon asn > c.
public theorem exists_pow_inf_eq_bot_of_mul_eq_bot {A' : Type*} [CommRing A']
[IsNoetherianRing A'] (p' I : Ideal A') (hpI : p' * I = ⊥) :
∃ n > 1, p' ^ n ⊓ I = ⊥
Deformation.Artin.surjective_derivedTensorFibre_neg_one_of_isVersalAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDegreeNegOne.lean, line 124. The attribute's comment: “(1) implies (2), degree -1”.
Stacks 07YM,
(1) ⇒ (2)in degree-1. Letxbe a family overSpec Awhose deformation theory is controlled byξ : E ⟶ NL_{A/Λ}as in hypothesis (i) of the tag:xlifts across a deformation situationA' → Awheneverξcomposed withNL_{A/Λ} ⟶ NL_{A/A'}vanishes. Ifxis versal at a closed pointu₀ofSpec A, then the mapH^{-1}(E ⊗ᴸ_A κ(u₀)) ⟶ H^{-1}(NL_{A/Λ} ⊗ᴸ_A κ(u₀))on the derived fibre atu₀is surjective.Were it not, [Stacks, Tag 07YL] would supply a square-zero extension
A' → Akillingξand not changing differentials moduloκ(u₀), hypothesis (i) would liftxtoSpec A', and the Artin–Rees step would turn the extension into a small extensionA' ⧸ (𝔭') ^ n ⟶ A ⧸ 𝔭 ^ nof𝒞_Λwhich [Stacks, Tag 06H0] makes an essential surjection. Versality applied to the arrow joining the restrictions ofxand of its lift to the two Artinian quotients then liftsAthrough that extension, hence splits it — contradicting essential surjectivity.
public theorem surjective_derivedTensorFibre_neg_one_of_isVersalAt
(hclosed : IsClosed ({u₀} : Set (Spec (CommRingCat.of A))))
(hLifts : ∀ (A' : Type u) [CommRing A'] [Algebra Λ A'] [Algebra A' A]
[IsScalarTower Λ A' A] (D : SquareZeroThickening A B S hS toS hA A'),
D.q = algebraMap A' A →
Spec.map (CommRingCat.ofHom (algebraMap Λ A')) ≫ baseMap = B.inclusion.map D.toS' →
ξ ≫ naiveCotangentBaseMap Λ A' A = 0 →
Nonempty ((Under.post p).Fiber (Under.mk (eqToHom hx ≫ D.arrow))))
(hversal : IsVersalAt (Over.mk toS) (p ⋙ Over.post B.inclusion) u₀ x
(by change (Over.post B.inclusion).obj (p.obj x) = _; rw [hx]; rfl)) :
Function.Surjective
((DerivedCategory.homologyFunctor (ModuleCat.{u} A) (-1)).map
((T.tensor.flip.obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
(ModuleCat.of A u₀.asIdeal.ResidueField))).map ξ))
Deformation.Artin.surjective_comp_of_liftsAtResiduePoint, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDegreeZero.lean, line 191. The attribute's comment: “(1) implies (2), degree 0: precomposition with xi is surjective”.
Stacks 07YM, the surjectivity hypothesis (ii) turns versality into. If the lifting property defining versality holds at the point of
Spec Adetermined by theA-algebra structure of a fieldk, then precomposition withξis surjective on morphismsNL_{A/Λ} ⟶ k[0]ofD(A).This is
Deformation.Artin.surjective_canonicalTangentMap_of_liftsAtResiduePoint, the surjectivity of the mapDer_Λ(A, k) ⟶ T_x(k)on tangent spaces, read through the functorial isomorphism of hypothesis (ii): byDeformation.Artin.tangentEquiv_canonicalTangentMapthat isomorphism carries the image of a tangent vectorθtoξfollowed by the augmentation followed byθ, so a surjection ontoT_x(k)becomes a surjection onto the morphismsE ⟶ k[0]factoring throughξ. The two identifications ofT_x(k)with classes of lifts are bijections, so the surjectivity of the composite in that statement is the surjectivity of the tangent map itself.
public theorem surjective_comp_of_liftsAtResiduePoint [Mono baseMap]
(hlifts : LiftsAtResiduePoint (Λ := R) (k := k) iR (p ⋙ Over.post B.inclusion)
(Over.mk toS) x hxS (Spec.map (CommRingCat.ofHom (algebraMap A k)))) :
Function.Surjective (fun f : derivedNaiveCotangentComplex Λ A ⟶
(DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj (ModuleCat.of A k) =>
ξ ≫ f)
Deformation.Artin.injective_derivedTensorFibre_zero_of_liftsAtResiduePoint, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDegreeZero.lean, line 268. The attribute's comment: “(1) implies (2), degree 0, at a field in the site”.
Stacks 07YM, condition (2) in degree
0from the lifting property. If the lifting property defining versality holds at the point ofSpec Adetermined by theA-algebra structure of a fieldkno larger thanmax ℵ₀ #A, then the mapH^0(E ⊗ᴸ_A k) ⟶ H^0(NL_{A/Λ} ⊗ᴸ_A k)is injective.
Deformation.Artin.injective_derivedTensorFibre_zero_iff_surjective_compturns the conclusion into the surjectivity of precomposition withξon morphisms intoULift k, restricted alongA ⟶ k;Deformation.Artin.uliftRestrictScalarsIsoidentifies that coefficient module with theA-moduleULift k, at whichDeformation.Artin.surjective_comp_of_liftsAtResiduePointsupplies the surjectivity. The lifting property is moved fromktoULift kbyDeformation.Artin.liftsAtResiduePoint_changeResidueField, and the three memberships in the site that the lift chain asks ofULift kare derived from the cardinality bound.
public theorem injective_derivedTensorFibre_zero_of_liftsAtResiduePoint [Mono baseMap]
(hmk : Cardinal.mk k ≤ max Cardinal.aleph0 (Cardinal.mk A))
(hlifts : LiftsAtResiduePoint (Λ := R) (k := k) iR (p ⋙ Over.post B.inclusion)
(Over.mk toS) x hxS (Spec.map (CommRingCat.ofHom (algebraMap A k)))) :
Function.Injective
((DerivedCategory.homologyFunctor (ModuleCat.{u} A) 0).map
((T.tensor.flip.obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
(ModuleCat.of A k))).map ξ))
Deformation.Artin.injective_derivedTensorFibre_zero_of_isVersalAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDegreeZero.lean, line 357. The attribute's comment: “(1) implies (2), degree 0”.
Stacks 07YM,
(1) ⇒ (2)in degree0. Letxbe a family overSpec Awhose tangent theory is represented byξ : E ⟶ NL_{A/Λ}as in hypothesis (ii) of the tag. Ifxis versal at a pointu₀ofSpec A, then the mapH^0(E ⊗ᴸ_A κ(u₀)) ⟶ H^0(NL_{A/Λ} ⊗ᴸ_A κ(u₀))on the derived fibre atu₀is injective.Versality is the lifting property at the residue-field point (
Deformation.Artin.liftsAtResiduePoint_of_isVersalAt), the residue field at a prime ofAis no larger thanmax ℵ₀ #A(Cardinal.mk_residueField_le_max), andDeformation.Artin.specMap_primeResidueFieldAlgebra_comp_fromSpecStalkis the compatibility of the residue-field point with the local ring ofSat the image ofu₀; with those,Deformation.Artin.injective_derivedTensorFibre_zero_of_liftsAtResiduePointapplies.No closedness of the point is used: the source invokes closedness only for the
H^{-1}half of condition (2).
public theorem injective_derivedTensorFibre_zero_of_isVersalAt [Mono baseMap]
(hversal : IsVersalAt (Over.mk toS) (p ⋙ Over.post B.inclusion) u₀ x
(by change (Over.post B.inclusion).obj (p.obj x) = _; rw [hx]; rfl)) :
Function.Injective
((DerivedCategory.homologyFunctor (ModuleCat.{u} A) 0).map
((T.tensor.flip.obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
(ModuleCat.of A u₀.asIdeal.ResidueField))).map ξ))
Deformation.Artin.bijective_comp_naiveCotangentToDifferentials, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDegreeZeroConverse.lean, line 343. The attribute's comment: “Ext^0_A(NL_{A/Lambda}, M) = Der_Lambda(A, M)”.
Ext⁰_A(NL_{A/Λ}, M) = Der_Λ(A, M). Composing the augmentationNL_{A/Λ} ⟶ Ω_{A/Λ}[0]with a module mapΩ_{A/Λ} ⟶ Mis a bijection onto the morphismsNL_{A/Λ} ⟶ M[0]ofD(A).This is the identification the proof of [Stacks, Tag 07YM] writes as
Ext⁰_A(NL_{A/Λ}, k) = Der_Λ(A, k). The naive cotangent complex lies in degrees≤ 0andM[0]in degrees≥ 0, soH⁰computes the morphisms between them (DerivedCategory.bijective_homologyFunctor_map_of_isLE_of_isGE); the augmentation is an isomorphism onH⁰(Deformation.Artin.isIso_homologyFunctor_map_naiveCotangentToDifferentials), and the single functor ofD(A)is fully faithful, so a morphismΩ_{A/Λ}[0] ⟶ M[0]is a module map.
public theorem bijective_comp_naiveCotangentToDifferentials (M : ModuleCat.{u} A) :
Function.Bijective (fun θ : differentialsModule Λ A ⟶ M =>
naiveCotangentToDifferentials Λ A ≫
(DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).map θ)
Deformation.Artin.surjective_canonicalTangentMap_of_surjective_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDegreeZeroConverse.lean, line 419. The attribute's comment: “(2) implies (1), degree 0: the map on tangent spaces is surjective”.
Stacks 07YM,
(2) ⇒ (1)in degree0. If precomposition withξis surjective on morphismsNL_{A/Λ} ⟶ k[0]ofD(A), then the mapDer_Λ(A, k) ⟶ T_x(k)on tangent spaces is surjective.The hypothesis is condition (2) of the tag in degree
0: byDeformation.Artin.injective_derivedTensorFibre_zero_iff_surjective_compthe injectivity ofH^0(ξ ⊗ᴸ_A k)is exactly this surjectivity, andDerivedCategory.surjective_extZero_comp_iff_surjective_compreads it onExt⁰if wanted. The conclusion is the first condition of the versality criterion of Stacks 06IU, read through the identification ofT_x(k)with the infinitesimal deformations ofx₀.The source's sentence is that the map on tangent spaces is the dual of
H^0(ξ ⊗ᴸ_A k)underExt⁰_A(NL_{A/Λ}, k) = Der_Λ(A, k)andExt⁰_A(E, k) = T_x(k). The second identification is hypothesis (ii), andDeformation.Artin.tangentEquiv_canonicalTangentMapis its value on the map on tangent spaces: a tangent vectorθgoes toξfollowed by the augmentation followed byθ. The first identification isDeformation.Artin.bijective_comp_naiveCotangentToDifferentials, which is what turns the arbitrary morphismNL_{A/Λ} ⟶ k[0]produced by the hypothesis into such aθ.
public theorem surjective_canonicalTangentMap_of_surjective_comp
(hsurj : Function.Surjective (fun f : derivedNaiveCotangentComplex Λ A ⟶
(DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj (ModuleCat.of A k) =>
ξ ≫ f)) :
Function.Surjective (canonicalTangentMap Λ A k B S hS toS hA p x hx hp hRS hΩ hk baseMap
baseFactorization)
Deformation.Artin.exists_extends_of_surjective_canonicalTangentMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDegreeZeroConverse.lean, line 481. The attribute's comment: “(2) implies (1): an infinitesimal deformation over the dual numbers extends”.
Stacks 07YM,
(2) ⇒ (1)at the dual numbers. If the mapDer_Λ(A, k) ⟶ T_x(k)on tangent spaces is surjective, then every lift ofx₀along the square-zero immersionSpec k ⟶ Spec k[k]extends tox: its structure arrow composes with an arrow from its target toxto give the chosen restriction arrow.This is the exact converse of
Deformation.Artin.exists_extends_of_liftsAtResiduePoint, and is the dual-numbers content of the first condition of the versality criterion of Stacks 06IU.The class of the lift is hit by a tangent vector
θ, through the two bijectionsDeformation.Artin.canonicalFieldBaseChangeEquivand the tangent functor'sliftEquiv. ByDeformation.Artin.canonicalFieldBaseChangeEquiv_canonicalTangentMapthat class is also the class of the connecting arrowχattached to any lift(y, φ)ofxalongDeformation.Artin.canonicalDualNumbersArrow θ, one of which exists becausepis fibred in groupoids (Deformation.Artin.exists_canonicalDualNumbersLift). Two lifts in one class are isomorphic overk[k]compatibly with their arrows fromx₀, so the isomorphism's component at the target carries the given lift's structure arrow toχ, andDeformation.Artin.canonicalDualNumbersConnectingArrow_facsaysχ ≫ φis the chosen restriction arrow.
Mono baseMapis not needed here, although the forward direction needs it: it enters the forward direction throughDeformation.Artin.exists_unique_eq_canonicalDualNumbersArrow, which recovers a tangent vector from an arrow of the site, and this direction is handed the tangent vector instead.
public theorem exists_extends_of_surjective_canonicalTangentMap
(hsurj : Function.Surjective (canonicalTangentMap Λ A k B S hS toS hA p x hx hp hRS hΩ hk
baseMap baseFactorization)) :
letI : p.IsFibered := hp.isFibered
∀ (w : (Under.post p).Fiber (Under.mk (eqToHom
(((Functor.chosenPullbacks p).pullbackFunctor
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl)).obj ⟨x, hx⟩).2 ≫
squareZeroArrow k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hAk
(⟨ModuleCat.of k k, hkk⟩ : SiteModule k B)))),
∃ b : w.1.right ⟶ x,
w.1.hom ≫ b = (Functor.chosenPullbacks p).map
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl) ⟨x, hx⟩
Deformation.Artin.surjective_derivedTensorFibre_neg_one_iff_injective_extOne, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDerivedFibre.lean, line 84. The attribute's comment: “condition (2) in degree -1, through a chosen derived tensor product”.
Stacks 07YM, condition (2) in degree
-1. For a morphismξ : E ⟶ NL_{A/Λ}ofD⁻(A)and a fieldkwhich is anA-algebra, the mapH^{-1}(E ⊗ᴸ_A k) ⟶ H^{-1}(NL_{A/Λ} ⊗ᴸ_A k), formed through a chosen derived tensor product, is surjective exactly when precomposition withξis injective onExt¹_A(−, k), that is whenExt¹_A(NL_{A/Λ}, k) ⟶ Ext¹_A(E, k)is injective.This is
Deformation.Artin.surjective_derivedFibre_neg_one_iff_injective_extOne, which proves the same statement for the total derived extension of scalars, composed with the comparisonDeformation.Artin.surjective_derivedTensorFibre_iff_surjective_derivedExtensionScalarsof the two presentations of the derived fibre.
public theorem surjective_derivedTensorFibre_neg_one_iff_injective_extOne
(T : DerivedTensorProduct A) (E : DerivedCategory (ModuleCat.{u} A))
(hE : (DerivedCategory.TStructure.t (C := ModuleCat.{u} A)).minus E)
(ξ : E ⟶ derivedNaiveCotangentComplex Λ A) :
Function.Surjective
((DerivedCategory.homologyFunctor (ModuleCat.{u} A) (-1)).map
((T.tensor.flip.obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
(ModuleCat.of A k))).map ξ)) ↔
Function.Injective
(fun α : DerivedCategory.Ext (derivedNaiveCotangentComplex Λ A)
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
((ModuleCat.restrictScalars (algebraMap A k)).obj
(ModuleCat.of k (ULift.{u} k)))) 1 =>
ξ ≫ α)
Deformation.Artin.injective_derivedTensorFibre_zero_iff_surjective_extZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDerivedFibre.lean, line 113. The attribute's comment: “condition (2) in degree 0, through a chosen derived tensor product”.
Stacks 07YM, condition (2) in degree
0. For a morphismξ : E ⟶ NL_{A/Λ}ofD⁻(A)and a fieldkwhich is anA-algebra, the mapH^0(E ⊗ᴸ_A k) ⟶ H^0(NL_{A/Λ} ⊗ᴸ_A k), formed through a chosen derived tensor product, is injective exactly when precomposition withξis surjective onExt⁰_A(−, k), that is whenExt⁰_A(NL_{A/Λ}, k) ⟶ Ext⁰_A(E, k)is surjective.This is
Deformation.Artin.injective_derivedFibre_zero_iff_surjective_extZerocomposed with the comparisonDeformation.Artin.injective_derivedTensorFibre_iff_injective_derivedExtensionScalarsof the two presentations of the derived fibre.
public theorem injective_derivedTensorFibre_zero_iff_surjective_extZero
(T : DerivedTensorProduct A) (E : DerivedCategory (ModuleCat.{u} A))
(hE : (DerivedCategory.TStructure.t (C := ModuleCat.{u} A)).minus E)
(ξ : E ⟶ derivedNaiveCotangentComplex Λ A) :
Function.Injective
((DerivedCategory.homologyFunctor (ModuleCat.{u} A) 0).map
((T.tensor.flip.obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
(ModuleCat.of A k))).map ξ)) ↔
Function.Surjective
(fun α : DerivedCategory.Ext (derivedNaiveCotangentComplex Λ A)
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
((ModuleCat.restrictScalars (algebraMap A k)).obj
(ModuleCat.of k (ULift.{u} k)))) 0 =>
ξ ≫ α)
Deformation.Artin.injective_derivedTensorFibre_zero_iff_surjective_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityDerivedFibre.lean, line 140. The attribute's comment: “condition (2) in degree 0, as a condition on morphisms”.
Stacks 07YM, condition (2) in degree
0, as a condition on morphisms. The injectivity ofH^0(ξ ⊗ᴸ_A k)is the surjectivity of precomposition withξon morphismsNL_{A/Λ} ⟶ k[0]ofD(A).This is
Deformation.Artin.injective_derivedTensorFibre_zero_iff_surjective_extZerofollowed byDerivedCategory.surjective_extZero_comp_iff_surjective_comp: in degree0anExtclass is a morphism. It is the form in which condition (2) meets the tangent-space description of versality, whose statements are about morphisms of the derived category.
public theorem injective_derivedTensorFibre_zero_iff_surjective_comp
(T : DerivedTensorProduct A) (E : DerivedCategory (ModuleCat.{u} A))
(hE : (DerivedCategory.TStructure.t (C := ModuleCat.{u} A)).minus E)
(ξ : E ⟶ derivedNaiveCotangentComplex Λ A) :
Function.Injective
((DerivedCategory.homologyFunctor (ModuleCat.{u} A) 0).map
((T.tensor.flip.obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
(ModuleCat.of A k))).map ξ)) ↔
Function.Surjective
(fun f : derivedNaiveCotangentComplex Λ A ⟶
(DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
((ModuleCat.restrictScalars (algebraMap A k)).obj
(ModuleCat.of k (ULift.{u} k))) =>
ξ ≫ f)
Deformation.Artin.exists_unique_eq_canonicalDualNumbersArrow, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityFieldArrowShape.lean, line 171. The attribute's comment: “the dual-numbers arrows over Spec A are the tangent vectors”.
Stacks 07YM. An arrow
ν : Spec k[k] ⟶ Spec Aof the site overSwhose restriction along the square-zero immersionSpec k ⟶ Spec k[k]is the point ofSpec Adetermined by theA-algebra structure ofkisDeformation.Artin.canonicalDualNumbersArrow θfor a uniqueA-linear mapθ : Ω[A⁄Λ] →ₗ[A] k.The ring map
r : A ⟶ k[k]underlyingνexists because the two objects are spectra andSpecis full; the compatibility ofνwith the structure morphisms toS, combined with the factorization ofSpec A ⟶ Sthrough the monomorphismbaseMap, makesraΛ-algebra map, and the hypothesis on the augmentation says that composing it with the projectionk[k] ⟶ kis the structure mapA ⟶ k. ByDeformation.Artin.exists_unique_kaehler_of_fstHom_comp_eqsuch anrisa ↦ (a mod 𝔭, θ (d a))for a uniqueθ, which is the ring map ofcanonicalDualNumbersArrow θbyDeformation.Artin.canonicalDualNumbersMap_apply.
public theorem exists_unique_eq_canonicalDualNumbersArrow [Mono baseMap]
(ν : squareZeroOver k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS)
(⟨ModuleCat.of k k, hkk⟩ : SiteModule k B) ⟶
algebraOver A B S hS toS hA)
(hν : squareZeroArrow k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hAk
(⟨ModuleCat.of k k, hkk⟩ : SiteModule k B) ≫ ν =
algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl) :
∃! θ : Ω[A⁄Λ] →ₗ[A] k,
ν = canonicalDualNumbersArrow Λ A k B S hS toS hA p x hx hp hRS hΩ hkk baseMap
baseFactorization θ
Deformation.Artin.canonicalFieldBaseChangeEquiv_canonicalTangentMap_of_fac, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityFieldClassEquationLift.lean, line 85. The attribute's comment: “the class equation at an arbitrary connecting arrow”.
Stacks 07YM, the class equation at an arbitrary connecting arrow. Let
(y, φ)be a lift ofxalongDeformation.Artin.canonicalDualNumbersArrow θ, and letχ : x₀ ⟶ ybe any arrow from the chosen pullback ofxtoSpec k, lying over the square-zero immersionSpec k ⟶ Spec k[k], which factors the chosen restriction arrowη : x₀ ⟶ xthroughφ. Then the class ofχas an infinitesimal deformation ofx₀over the dual numbers ofkis the image ofθunder the map on tangent spaces, moved across the identificationDeformation.Artin.canonicalFieldBaseChangeEquivof lift classes overA[k]with lift classes overk[k].Such a
χis the chosen connecting arrowDeformation.Artin.canonicalDualNumbersConnectingArrow: both lie over the square-zero immersion and both factorηthroughφ, so both are the arrow produced by the universal property of the strongly Cartesian arrowφ. The statement then reduces toDeformation.Artin.canonicalFieldBaseChangeEquiv_canonicalTangentMap.
public theorem canonicalFieldBaseChangeEquiv_canonicalTangentMap_of_fac
(θ : Ω[A⁄Λ] →ₗ[A] k) (y : X) (φ : y ⟶ x)
(hφ : p.IsHomLift
(canonicalDualNumbersArrow Λ A k B S hS toS hA p x hx hp hRS hΩ hkk baseMap
baseFactorization θ) φ) :
letI : p.IsFibered := hp.isFibered
∀ (χ : (((Functor.chosenPullbacks p).pullbackFunctor
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl)).obj
⟨x, hx⟩).1 ⟶ y),
p.IsHomLift
(squareZeroArrow k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hAk
(⟨ModuleCat.of k k, hkk⟩ : SiteModule k B)) χ →
χ ≫ φ = (Functor.chosenPullbacks p).map
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl) ⟨x, hx⟩ →
∀ hmem : (Under.post p).obj (Under.mk χ) =
Under.mk (eqToHom (((Functor.chosenPullbacks p).pullbackFunctor
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl)).obj
⟨x, hx⟩).2 ≫
squareZeroArrow k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hAk
(⟨ModuleCat.of k k, hkk⟩ : SiteModule k B)),
canonicalFieldBaseChangeEquiv A k B S hS toS hA p x hx hp hRS hk hAk hkk
((tangentFunctor A B S hS toS hA p x hx hp hRS).liftEquiv
(⟨ModuleCat.of A k, hk⟩ : SiteModule A B)
(canonicalTangentMap Λ A k B S hS toS hA p x hx hp hRS hΩ hk baseMap
baseFactorization θ)) =
Quotient.mk _ ⟨Under.mk χ, hmem⟩
Deformation.Artin.exists_canonicalTangentMap_eq_of_extends, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityFieldTangentImage.lean, line 107. The attribute's comment: “an extendable infinitesimal deformation is in the image of the tangent map”.
Stacks 07YM. Let
x₀be the chosen pullback ofxtoSpec kand letwrepresent an infinitesimal deformation ofx₀over the dual numbersk[k], that is a lift ofx₀along the square-zero immersionSpec k ⟶ Spec k[k]. If the representative extends tox, that is if there is an arrowbfrom its target toxcomposing with it to the chosen restriction arrowη : x₀ ⟶ x, then the class ofwis the image of a tangent vectorθ : Ω[A⁄Λ] →ₗ[A] kunder the map on tangent spaces, moved across the identificationDeformation.Artin.canonicalFieldBaseChangeEquiv.Versality of
xat the point is exactly what supplies the extensionb; no other property of it enters. Theθis the one attached to the arrow of the site thatblies over byDeformation.Artin.exists_unique_eq_canonicalDualNumbersArrow, which applies because the restriction of that arrow along the square-zero immersion is forced, by the factorization throughη, to be the point ofSpec Adetermined by theA-algebra structure ofk; the class is then computed byDeformation.Artin.canonicalFieldBaseChangeEquiv_canonicalTangentMap_of_fac.
public theorem exists_canonicalTangentMap_eq_of_extends [Mono baseMap] :
letI : p.IsFibered := hp.isFibered
∀ (w : (Under.post p).Fiber (Under.mk (eqToHom
(((Functor.chosenPullbacks p).pullbackFunctor
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl)).obj ⟨x, hx⟩).2 ≫
squareZeroArrow k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hAk
(⟨ModuleCat.of k k, hkk⟩ : SiteModule k B))))
(b : w.1.right ⟶ x),
w.1.hom ≫ b = (Functor.chosenPullbacks p).map
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl) ⟨x, hx⟩ →
∃ θ : Ω[A⁄Λ] →ₗ[A] k,
canonicalFieldBaseChangeEquiv A k B S hS toS hA p x hx hp hRS hk hAk hkk
((tangentFunctor A B S hS toS hA p x hx hp hRS).liftEquiv
(⟨ModuleCat.of A k, hk⟩ : SiteModule A B)
(canonicalTangentMap Λ A k B S hS toS hA p x hx hp hRS hΩ hk baseMap
baseFactorization θ)) =
Quotient.mk _ w
Deformation.Artin.exists_extends_of_liftsAtResiduePoint, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityFieldVersalLift.lean, line 262. The attribute's comment: “versality tested at the dual numbers of a residue field”.
Stacks 07YM, the dual-numbers instance of versality. Let
x₀be the chosen pullback ofxtoSpec kand letwbe a lift ofx₀along the square-zero immersionSpec k ⟶ Spec k[k]. If the lifting property defining versality holds at the point ofSpec Adetermined by theA-algebra structure ofk, thenw's structure arrow extends tox: there is an arrowbfrom its target toxcomposing with it to the chosen restriction arrow.This is the instantiation of
Deformation.Artin.IsVersalAtat the surjectionk[k] ⟶ kof𝒞_R, which isDeformation.Artin.squareZeroArtinianProjection; the objectsDeformation.Artin.squareZeroArtinianObjandDeformation.Artin.fieldArtinianObjare the site's own square-zero ring and the field, so the two descriptions of the base — the spectrum of an object of𝒞_RoverSpec R, and the site's square-zero object overSpec A— agree byDeformation.Artin.squareZeroOver_post_eqandDeformation.Artin.algebraOver_post_eq.
public theorem exists_extends_of_liftsAtResiduePoint
(hkk : B.Contains (Spec (squareZeroRing k (ModuleCat.of k k))))
(hlifts : LiftsAtResiduePoint (Λ := R) (k := k) iR (p ⋙ Over.post B.inclusion)
(Over.mk toS) x hxS (Spec.map (CommRingCat.ofHom (algebraMap A k)))) :
letI : p.IsFibered := hp.isFibered
∀ (w : (Under.post p).Fiber (Under.mk (eqToHom
(((Functor.chosenPullbacks p).pullbackFunctor
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl)).obj ⟨x, hx⟩).2 ≫
squareZeroArrow k B S hS (Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hAk
(⟨ModuleCat.of k k, hkk⟩ : SiteModule k B)))),
∃ b : w.1.right ⟶ x,
w.1.hom ≫ b = (Functor.chosenPullbacks p).map
(algebraOverMapOfRingHom (algebraMap A k) B S hS toS
(Spec.map (CommRingCat.ofHom (algebraMap A k)) ≫ toS) hA hAk rfl) ⟨x, hx⟩
Deformation.Artin.surjective_canonicalTangentMap_of_liftsAtResiduePoint, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityFieldVersalLift.lean, line 388. The attribute's comment: “(1) implies (2), degree 0: the map on tangent spaces is surjective”.
Stacks 07YM, the surjectivity of the map on tangent spaces. If the lifting property defining versality holds at the point of
Spec Adetermined by theA-algebra structure ofk, then every infinitesimal deformation ofx₀over the dual numbers ofkis the image of a tangent vectorθ : Ω[A⁄Λ] →ₗ[A] kunder the map on tangent spaces, moved acrossDeformation.Artin.canonicalFieldBaseChangeEquiv.This is
Deformation.Artin.exists_extends_of_liftsAtResiduePoint, which produces from versality the extension of a lift's structure arrow tox, composed withDeformation.Artin.exists_canonicalTangentMap_eq_of_extends, which computes the class of an extendable lift as the image of a tangent vector. Dually — Stacks 07YK — this surjectivity is the injectivity ofH^0(ξ ⊗ᴸ_A k), which is condition (2) of the tag in degree0.
public theorem surjective_canonicalTangentMap_of_liftsAtResiduePoint [Mono baseMap]
(hlifts : LiftsAtResiduePoint (Λ := R) (k := k) iR (p ⋙ Over.post B.inclusion)
(Over.mk toS) x hxS (Spec.map (CommRingCat.ofHom (algebraMap A k)))) :
letI : p.IsFibered := hp.isFibered
Function.Surjective (fun θ : Ω[A⁄Λ] →ₗ[A] k =>
canonicalFieldBaseChangeEquiv A k B S hS toS hA p x hx hp hRS hk hAk hkk
((tangentFunctor A B S hS toS hA p x hx hp hRS).liftEquiv
(⟨ModuleCat.of A k, hk⟩ : SiteModule A B)
(canonicalTangentMap Λ A k B S hS toS hA p x hx hp hRS hΩ hk baseMap
baseFactorization θ)))
Deformation.Artin.liftsAtResiduePoint_of_isVersalAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityFieldVersalLift.lean, line 493. The attribute's comment: “versality as the lifting property at the residue field of the prime”.
Stacks 07YM. Versality of
xatu₀is the lifting property at the point ofSpec Adetermined by the algebra structure of the residue fieldIdeal.ResidueField u₀.asIdealof the prime -- the field in which the whole 07YM lift chain is written.
Deformation.Artin.IsVersalAtis literally the lifting property at the canonical residue-field pointSpec (U.left.residueField u₀) ⟶ U.left(Deformation.Artin.isVersalAt_iff_liftsAtResiduePoint), and the property transports along an isomorphism of residue fields over the local ring (Deformation.Artin.liftsAtResiduePoint_changeResidueField); the isomorphism is the one induced byAlgebraicGeometry.Scheme.Spec.residueFieldIso, and it carries the canonical point to the one written here.
public theorem liftsAtResiduePoint_of_isVersalAt
(hversal : IsVersalAt (Over.mk toS) q u₀ x hx) :
LiftsAtResiduePoint (Λ := S.presheaf.stalk (basePoint (Over.mk toS) u₀))
(k := u₀.asIdeal.ResidueField) (alg := primeResidueFieldAlgebra toS u₀)
(S.fromSpecStalk (basePoint (Over.mk toS) u₀)) q (Over.mk toS) x hx
(Spec.map (CommRingCat.ofHom (algebraMap A u₀.asIdeal.ResidueField)))
Deformation.Artin.exists_algHom_section_of_surjective_derivedTensorFibre_neg_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityObstructionVanishing.lean, line 404. The attribute's comment: “(2) implies (1): condition (2) in degree -1 forces the obstruction class of a square-zero extension with one-dimensional kernel to vanish, so the extension splits”.
Stacks 07YM, the obstruction step of
(2) ⇒ (1). LetA' → Abe a square-zero surjection ofΛ-algebras whose kernelIis one-dimensional over anA-algebra fieldk, and letξ : E ⟶ NL_{A/Λ}be a morphism ofD⁻(A)withH^{-1}(ξ ⊗ᴸ_A k)surjective. Ifξcomposed withNL_{A/Λ} ⟶ NL_{A/A'}vanishes, thenA' → Aadmits aΛ-algebra section.Condition (2) in degree
-1kills the extension classNL_{A/Λ} ⟶ I[1]of the thickening (Deformation.Artin.cotangentExtensionClass_eq_zero_of_surjective_derivedTensorFibre_neg_one). Computed through the canonical presentation ofAoverΛ(Deformation.Artin.derivedNaiveCotangentComplexIso_hom_comp_cotangentExtensionClass), that class is the mapJ/J² → I,f ↦ f(a'_1, …), read in the derived category, and its vanishing makes that map factor through the differentialJ/J² → ⊕_i A dx_i(Deformation.Artin.exists_comp_eq_of_Q_map_twoTermProjection_comp_eq_zero). Correcting the chosen lifts of the generators by the factorization produces lifts at which every element ofJvanishes, hence the section (Deformation.Artin.exists_algHom_section_of_cotangentComplex_comp_eq).
public theorem exists_algHom_section_of_surjective_derivedTensorFibre_neg_one
(hq : Function.Surjective (algebraMap A' A))
(hsq : RingHom.ker (algebraMap A' A) ^ 2 = ⊥)
(eI : letI := Stacks.Smooth.kerModule hq hsq
RingHom.ker (algebraMap A' A) ≃ₗ[A] k)
(T : DerivedTensorProduct A) (E : DerivedCategory (ModuleCat.{u} A))
(hE : (DerivedCategory.TStructure.t (C := ModuleCat.{u} A)).minus E)
(ξ : E ⟶ derivedNaiveCotangentComplex Λ A)
(hsurj : Function.Surjective
((DerivedCategory.homologyFunctor (ModuleCat.{u} A) (-1)).map
((T.tensor.flip.obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj
(ModuleCat.of A k))).map ξ)))
(hkill : ξ ≫ naiveCotangentBaseMap Λ A' A = 0) :
∃ σ : A →ₐ[Λ] A', (algebraMap A' A).comp (σ : A →+* A') = RingHom.id A
Deformation.ArtinianLocalAlgCat.isEssentialSurjection_powQuotientMap_of_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityPowQuotientEssential.lean, line 68. The attribute's comment: “A'/(𝔭') ^ n ⟶ A/𝔭 ^ n is an essential surjection of 𝒞_Λ”.
The essential surjection of [Stacks, Tag 07YM]. Let
Λ → A' → A → kbe a tower withka field and both maps ontoksurjective, let𝔭and𝔭'be the two augmentation ideals and letn ≥ 2. IfA' → Adoes not change differentials modulok, then the induced morphismA' ⧸ (𝔭') ^ n ⟶ A ⧸ 𝔭 ^ nof𝒞_Λis an essential surjection.
Deformation.Artin.differentialsBaseChangeMap_bijective_powQuotienttransfers the bijectivity to the quotients andDeformation.ArtinianLocalAlgCat.isEssentialSurjection_iff_bijective_differentialsBaseChangeMapis [Stacks, Tag 06H0]; what this adds is the identification of the algebra structures rebuilt fromε,ε'andφwith the ambient ones, whichAlgebra.algebra_extprovides and which the proof then substitutes.
public theorem isEssentialSurjection_powQuotientMap_of_bijective
{Λ A' A k : Type u} [CommRing Λ] [Field k] [Algebra Λ k] [CommRing A'] [CommRing A]
[Algebra Λ A'] [Algebra Λ A] [IsNoetherianRing A'] [IsNoetherianRing A]
[Algebra A' A] [Algebra A' k] [Algebra A k]
[IsScalarTower Λ A' A] [IsScalarTower Λ A' k] [IsScalarTower Λ A k] [IsScalarTower A' A k]
(ε : A →ₐ[Λ] k) (hεeq : ∀ a, ε a = algebraMap A k a) (hε : Function.Surjective ε)
(ε' : A' →ₐ[Λ] k) (hε'eq : ∀ a', ε' a' = algebraMap A' k a')
(hε' : Function.Surjective ε')
(φ : A' →ₐ[Λ] A) (hφeq : ∀ a', φ a' = algebraMap A' A a') (hφ : ε.comp φ = ε')
(n : ℕ) [NeZero n] (hn : 2 ≤ n)
(hbij : Function.Bijective (Deformation.Artin.differentialsBaseChangeMap Λ A' A k)) :
IsEssentialSurjection (powQuotientMap hφ hε' hε n)
Deformation.Artin.liftsAtResiduePoint_prime_base_of_isVersalAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityPrimeBase.lean, line 135. The attribute's comment: “versality over any affine base at the residue field of the prime”.
Stacks 07YM, versality in the form the degree
-1endgame consumes. Ifxis versal at a pointu₀ofSpec A, then the lifting property holds with anySpec Λ ⟶ Sas deformation base, at the point ofSpec Adetermined by theA-algebra structure of the residue fieldIdeal.ResidueField u₀.asIdealof the prime.
Deformation.Artin.liftsAtResiduePoint_of_isVersalAtis versality read at that field over the local ring𝒪_{S,s}, andDeformation.Artin.liftsAtResiduePoint_changeBasemoves the base toΛ; the compatibility of the residue point with the local ring that the move asks for isDeformation.Artin.specMap_primeResidueFieldAlgebra_comp_fromSpecStalk, and the locality of the structure map isDeformation.Artin.isLocalHom_primeResidueFieldAlgebra.Nothing is asked of
Spec Λ ⟶ S: not that it be an open immersion, nor a monomorphism.
public theorem liftsAtResiduePoint_prime_base_of_isVersalAt
(hversal : IsVersalAt (Over.mk toS) q u₀ x hx) :
LiftsAtResiduePoint (Λ := Λ) (k := u₀.asIdeal.ResidueField) iΛ q (Over.mk toS) x hx
(Spec.map (CommRingCat.ofHom (algebraMap A u₀.asIdeal.ResidueField)))
Deformation.Artin.differentialsBaseChangeMap_bijective_powQuotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityQuotientDifferentials.lean, line 156. The attribute's comment: “A'/(𝔭') ^ n ⟶ A/𝔭 ^ n does not change differentials either”.
The quotient transfer of [Stacks, Tag 07YL]'s bijectivity. Let
A' → Abe a map ofΛ-algebras with compatible surjective augmentations onto a fieldk, let𝔭 = Ker εand𝔭' = Ker ε', and letn ≥ 2. IfA' → Adoes not change differentials modulok, neither does the induced mapA' ⧸ (𝔭') ^ n ⟶ A ⧸ 𝔭 ^ n.This is
Deformation.Artin.differentialsBaseChangeMap_bijective_of_squareat the square whose vertical maps are the two quotient maps: each is surjective, and the kernel ofA' → A' ⧸ (𝔭') ^ nis(𝔭') ^ n ≤ (𝔭') ^ 2, the augmentation ideal being the kernel ofA' ⟶ k. Composed withDeformation.ArtinianLocalAlgCat.isEssentialSurjection_iff_bijective_differentialsBaseChangeMapit says thatA' ⧸ (𝔭') ^ n ⟶ A ⧸ 𝔭 ^ nis an essential surjection of𝒞_Λ, which is the contradiction the direction(1) ⇒ (2)of [Stacks, Tag 07YM] drives at.
public theorem differentialsBaseChangeMap_bijective_powQuotient
{ε' : A' →ₐ[Λ] k} {ε : A →ₐ[Λ] k} {φ : A' →ₐ[Λ] A} (hφ : ε.comp φ = ε')
(n : ℕ) [NeZero n] (hn : 2 ≤ n) :
letI : Algebra A' A := φ.toRingHom.toAlgebra
letI : Algebra A' k := ε'.toRingHom.toAlgebra
letI : Algebra A k := ε.toRingHom.toAlgebra
letI : IsScalarTower Λ A' A := .of_algebraMap_eq fun l => (φ.commutes l).symm
letI : IsScalarTower Λ A' k := .of_algebraMap_eq fun l => (ε'.commutes l).symm
letI : IsScalarTower Λ A k := .of_algebraMap_eq fun l => (ε.commutes l).symm
letI : IsScalarTower A' A k :=
.of_algebraMap_eq fun a => (DFunLike.congr_fun hφ a).symm
letI : Algebra (A' ⧸ RingHom.ker ε'.toRingHom ^ n) (A ⧸ RingHom.ker ε.toRingHom ^ n) :=
(powQuotientMapAlgHom hφ n).toRingHom.toAlgebra
letI : Algebra (A' ⧸ RingHom.ker ε'.toRingHom ^ n) k :=
(powQuotientAug ε' n).toRingHom.toAlgebra
letI : Algebra (A ⧸ RingHom.ker ε.toRingHom ^ n) k :=
(powQuotientAug ε n).toRingHom.toAlgebra
letI : IsScalarTower Λ (A' ⧸ RingHom.ker ε'.toRingHom ^ n)
(A ⧸ RingHom.ker ε.toRingHom ^ n) :=
.of_algebraMap_eq fun l => ((powQuotientMapAlgHom hφ n).commutes l).symm
letI : IsScalarTower Λ (A' ⧸ RingHom.ker ε'.toRingHom ^ n) k :=
.of_algebraMap_eq fun l => ((powQuotientAug ε' n).commutes l).symm
letI : IsScalarTower Λ (A ⧸ RingHom.ker ε.toRingHom ^ n) k :=
.of_algebraMap_eq fun l => ((powQuotientAug ε n).commutes l).symm
letI : IsScalarTower (A' ⧸ RingHom.ker ε'.toRingHom ^ n)
(A ⧸ RingHom.ker ε.toRingHom ^ n) k :=
.of_algebraMap_eq fun b => (powQuotientAug_powQuotientMapAlgHom hφ n b).symm
Function.Bijective (differentialsBaseChangeMap Λ A' A k) →
Function.Bijective (differentialsBaseChangeMap Λ
(A' ⧸ RingHom.ker ε'.toRingHom ^ n) (A ⧸ RingHom.ker ε.toRingHom ^ n) k)
Deformation.Artin.schemeMap_restrictAlongArrow_mk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityRestriction.lean, line 179. The attribute's comment: “the restriction of x along a ring map, over Spec of that map”.
The bridge from a ring map to an arrow of the fibred category. For a ring map
φ : A → Ccompatible with the structure morphisms, the restrictionDeformation.Artin.restrictAlongis an object lying overSpec Cwhose structure arrow toxhas underlying morphism of schemes exactlySpec φ.This is the shape
Deformation.Artin.LiftsAtResiduePointconsumes, with the two bases presented as objects of the slice overS.
public theorem schemeMap_restrictAlongArrow_mk
(hw : (p ⋙ Over.post B.inclusion).obj x = Over.mk toS) :
schemeMap (p ⋙ Over.post B.inclusion)
(restrictAlong_objS φ B S hS toS toSC hA hC hφ p x hx) hw
(restrictAlongArrow φ B S hS toS toSC hA hC hφ p x hx) =
Spec.map (CommRingCat.ofHom φ)
Deformation.Artin.comp_ringHom_of_schemeMap_of_comp_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalitySquareLift.lean, line 117. The attribute's comment: “i ≫ b = a read as an identity of ring maps”.
An equation of arrows of the fibred category, read as an identity of ring maps. Let
i : y ⟶ z,b : z ⟶ xanda : y ⟶ xbe arrows withi ≫ b = a, between objects presented overSby spectra of rings, and suppose the morphisms of schemes underlyingiandaare the spectra of ring mapsfandg. Thenfcomposed with the ring map underlyingbisg.Both ends being affine,
Deformation.Artin.schemeMap_compturns the equation into an equation of morphisms of affine schemes, and the faithfulness ofScheme.Specturns that into the identity of ring maps. This is what converts the conclusioni ≫ b = aofDeformation.Artin.LiftsAtResiduePointinto the hypothesis∀ a, f (σ a) = Ideal.Quotient.mk (𝔭 ^ n) aofDeformation.ArtinianLocalAlgCat.not_isEssentialSurjection_of_lift_powQuotient.
public theorem comp_ringHom_of_schemeMap_of_comp_eq
{A C C' : Type u} [CommRing A] [CommRing C] [CommRing C']
{S : Scheme.{u}} {toS : Spec (CommRingCat.of A) ⟶ S}
{toSC : Spec (CommRingCat.of C) ⟶ S} {toSC' : Spec (CommRingCat.of C') ⟶ S}
{Y : Type v} [Category.{w} Y] (q : Y ⥤ Over S) {y z x : Y}
(hy : q.obj y = Over.mk toSC) (hz : q.obj z = Over.mk toSC')
(hx : q.obj x = Over.mk toS)
{i : y ⟶ z} {b : z ⟶ x} {a : y ⟶ x} (hab : i ≫ b = a)
{f : C' →+* C} (hi : schemeMap q hy hz i = Spec.map (CommRingCat.ofHom f))
{g : A →+* C} (ha : schemeMap q hy hx a = Spec.map (CommRingCat.ofHom g)) :
f.comp (ringHom_of_schemeMap (schemeMap q hz hx b)) = g
Deformation.Artin.exists_algHom_powQuotient_of_liftsAtResiduePoint, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalitySquareLift.lean, line 158. The attribute's comment: “versality lifts A through A'/(𝔭') ^ n”.
The section of [Stacks, Tag 07YM]. Let
A' → Abe a map of augmented NoetherianΛ-algebras over a fieldκ, withφsurjective, letxbe a family overSpec Aandx'a lift of it toSpec A', presented overSthrough the affine openSpec Λ ⟶ S. If the lifting property defining versality holds at the residue point ofAdetermined by its augmentation, then the quotient mapA → A ⧸ 𝔭 ^ nlifts through the small extensionA' ⧸ (𝔭') ^ n ⟶ A ⧸ 𝔭 ^ nto aΛ-algebra mapσ : A →ₐ[Λ] A' ⧸ (𝔭') ^ n.The two restrictions are the chosen pullbacks
Deformation.Artin.restrictAlong, the arrow between them isDeformation.Artin.exists_unique_schemeMap_eq_of_squareapplied to the commuting square of ringsA' → A → A ⧸ 𝔭 ^ nandA' → A' ⧸ (𝔭') ^ n → A ⧸ 𝔭 ^ n, the residue condition that versality asks of the arrow toxis the compatibility of the induced augmentation with the quotient map, and the ring map is read off the resulting arrow byDeformation.Artin.algHom_of_schemeMap_over, whose output is the identityDeformation.Artin.comp_ringHom_of_schemeMap_of_comp_eqconverts.
public theorem exists_algHom_powQuotient_of_liftsAtResiduePoint
(ε : A →ₐ[Λ] κ) (hε : Function.Surjective ε)
(ε' : A' →ₐ[Λ] κ) (hε' : Function.Surjective ε')
(φ : A' →ₐ[Λ] A) (hφ : ε.comp φ = ε') (hsurjφ : Function.Surjective φ)
(n : ℕ) [NeZero n]
(B : BigFppfSite.{u}) (S : Scheme.{u}) (hS : B.Contains S)
(toS : Spec (CommRingCat.of A) ⟶ S) (hA : B.Contains (Spec (CommRingCat.of A)))
(hA' : B.Contains (Spec (CommRingCat.of A')))
(baseMap : Spec (CommRingCat.of Λ) ⟶ S) [Mono baseMap]
(hbase : Spec.map (CommRingCat.ofHom (algebraMap Λ A)) ≫ baseMap = toS)
(hC : B.Contains (Spec (CommRingCat.of (A ⧸ RingHom.ker ε.toRingHom ^ n))))
(hC' : B.Contains (Spec (CommRingCat.of (A' ⧸ RingHom.ker ε'.toRingHom ^ n))))
(p : X ⥤ BigFppfOver B S hS) (hp : p.IsFiberedInGroupoids) (x x' : X)
(hx : p.obj x = algebraOver A B S hS toS hA)
(hxS : (p ⋙ Over.post B.inclusion).obj x = Over.mk toS)
(hx' : p.obj x' = algebraOver A' B S hS
(Spec.map (CommRingCat.ofHom (algebraMap Λ A')) ≫ baseMap) hA')
(hx'S : (p ⋙ Over.post B.inclusion).obj x' =
Over.mk (Spec.map (CommRingCat.ofHom (algebraMap Λ A')) ≫ baseMap))
(lift : x ⟶ x')
(hlift : schemeMap (p ⋙ Over.post B.inclusion) hxS hx'S lift =
Spec.map (CommRingCat.ofHom φ.toRingHom))
(hlifts : LiftsAtResiduePoint (Λ := Λ) (k := κ) baseMap (p ⋙ Over.post B.inclusion)
(Over.mk toS) x hxS (Spec.map (CommRingCat.ofHom ε.toRingHom))) :
∃ σ : A →ₐ[Λ] (powQuotientObj ε' hε' n : Type u),
∀ t : A, (powQuotientMap hφ hε' hε n).hom (σ t) =
Ideal.Quotient.mk (RingHom.ker ε.toRingHom ^ n) t
Deformation.Artin.liftsAtResiduePoint_changeBase, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityStalkBase.lean, line 337. The attribute's comment: “the lifting property over the local ring of S transfers to the affine open”.
The change of deformation base. If the lifting property defining versality holds with the local ring of
Satsas deformation base, it holds with anyΛwhose spectrum maps toScompatibly with the chosen residue point.Every Artinian local
Λ-algebra occurring in a lifting problem has its residue point at the chosen point ofS— for the target because the lifting property already imposes that of the arrowa, read throughDeformation.Artin.schemeMap_over, and for the source because the surjection isΛ-linear and respects the residue identifications — so each is canonically an𝒪_{S,s}-algebra (Deformation.Artin.stalkObj), the surjection between them is a morphism of𝒞_{𝒪_{S,s}}with the same underlying ring map (Deformation.Artin.stalkHom), and the two presentations of each base overSagree (Deformation.Artin.specMap_stalkAlgebra_comp_fromSpecStalk).Nothing is asked of
iΛ: not that it be an open immersion, nor even a monomorphism. The factorization through the local ring is produced at the level of schemes, so𝒪_{S,s}is never identified with a localization ofΛ.
public theorem liftsAtResiduePoint_changeBase
(hstalk : LiftsAtResiduePoint (Λ := S.presheaf.stalk s) (k := k) (alg := algStalk)
(S.fromSpecStalk s) q U x hx κ) :
LiftsAtResiduePoint (Λ := Λ) (k := k) iΛ q U x hx κ
Deformation.Artin.liftsAtResiduePoint_base_of_isVersalAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityStalkBase.lean, line 404. The attribute's comment: “versality gives the lifting property over any affine deformation base”.
Versality at a point, read with an arbitrary affine deformation base. If
xis versal atu₀then the lifting property holds with anySpec Λ ⟶ Sas deformation base, at the canonical residue-field point ofu₀.
Deformation.Artin.IsVersalAtis literally the lifting property with the local ring ofSat the image ofu₀as base (Deformation.Artin.isVersalAt_iff_liftsAtResiduePoint), andDeformation.Artin.liftsAtResiduePoint_changeBasemoves the base; the one compatibility it asks of the residue point is that it factor through that local ring, which isAlgebraicGeometry.Scheme.Spec_stalkClosedPointTo_fromSpecStalk.This is the form the degree
-1half of the direction(1) ⇒ (2)of [Stacks, Tag 07YM] consumes: the small extension it tests versality against is built fromΛ-algebras,Λbeing the ring of the affine open the family maps into, and the objects of𝒞_{𝒪_{S,s}}are not available to it. Nothing is asked ofiΛ— in particular not that it be an open immersion.
public theorem liftsAtResiduePoint_base_of_isVersalAt
(hversal : IsVersalAt U q u₀ x hx) :
LiftsAtResiduePoint (Λ := Λ) (k := U.left.residueField u₀) iΛ q U x hx
(U.left.fromSpecResidueField u₀)
Deformation.Artin.naiveVersalityCriterion, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityTag.lean, line 94.
Stacks 07YM. Let
Sbe a locally Noetherian scheme, let𝒳be a category fibred in groupoids over the big fppf site ofSsatisfying (RS*), letU = Spec Abe affine of finite type overSmapping into an affine openSpec Λ ⊆ S, letxbe an object of𝒳overU, and letξ : E ⟶ NL_{A/Λ}be a morphism ofD⁻(A)such that
- for every deformation situation
(x, A' → A)the objectxlifts toSpec A'exactly whenE ⟶ NL_{A/Λ} ⟶ NL_{A/A'}is zero, and- there is an isomorphism of functors
T_x(−) ⟶ Ext⁰_A(E, −)carrying the canonical element toE ⟶ NL_{A/Λ} ⟶ Ω_{A/Λ}.Let
u₀ ∈ Ube a finite type point with residue fieldk. Thenxis versal atu₀as soon asξinduces a surjectionH^{-1}(E ⊗ᴸ_A k) ⟶ H^{-1}(NL_{A/Λ} ⊗ᴸ_A k)and an injectionH^0(E ⊗ᴸ_A k) ⟶ H^0(NL_{A/Λ} ⊗ᴸ_A k); and conversely, ifu₀is a closed point at whichxis versal, thenξinduces such a surjection and such an injection.Both directions are stated at once, as the predicate
Deformation.Artin.NaiveVersalityCriterionwhich [Stacks, Tag 07YN] and [Stacks, Tag 07YU] consume as a hypothesis.
public theorem naiveVersalityCriterion : NaiveVersalityCriterion hp hRS P hΩ E ξ
Deformation.Artin.tangentEquiv_canonicalTangentMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityTangentFactorization.lean, line 90. The attribute's comment: “the map on tangent spaces factors through the augmentation”.
Stacks 07YM, hypothesis (ii) in use. Under the functorial isomorphism
T_x(-) ≅ Ext⁰_A(E, -)of hypothesis (ii), the map on tangent spaces of Stacks 07YC sends a tangent vectorθ : Ω_{A/Λ} →ₗ[A] ktoξfollowed by the augmentationDeformation.Artin.naiveCotangentToDifferentialsfollowed byθ.This is the naturality of the isomorphism at the morphism of site modules attached to
θ, together with its prescribed value at the canonical element:Deformation.Artin.canonicalTangentMapis by definition the image of the canonical element under that morphism.
public theorem tangentEquiv_canonicalTangentMap (θ : Ω[A⁄Λ] →ₗ[A] k) :
tangentEquiv (⟨ModuleCat.of A k, hk⟩ : SiteModule A B)
(canonicalTangentMap Λ A k B S hS toS hA p x hx hp hRS hΩ hk baseMap
baseFactorization θ) =
ξ ≫ naiveCotangentToDifferentials Λ A ≫
(DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).map (ModuleCat.ofHom θ)
Deformation.Artin.length_ker_eq_one_of_linearEquiv_residueField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityThickeningSite.lean, line 241. The attribute's comment: “the kernel I of A' → A has length one over A'”.
The length-one hypothesis of
Deformation.ArtinianLocalAlgCat.isSmallExtension_powQuotientMap. The kernel of the thickening of [Stacks, Tag 07YL] has length one overA': it is a copy of the residue field at a maximal ideal ofA, hence a simpleA-module (Deformation.Artin.isSimpleModule_residueField), and theA'-submodules of it are itsA-submodules because the two actions agree through the surjectionA' → A(isSimpleModule_iff_isSimpleModule_of_algebraMap_surjective).
public theorem length_ker_eq_one_of_linearEquiv_residueField
(p : Ideal A) [p.IsMaximal]
(e : RingHom.ker (algebraMap A' A) ≃ₗ[A] p.ResidueField) :
Module.length A' (RingHom.ker (algebraMap A' A)) = 1
Deformation.Artin.mul_ker_eq_bot_of_linearEquiv_residueField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityThickeningSite.lean, line 262. The attribute's comment: “𝔭' annihilates the kernel I of A' → A”.
The Artin–Rees input of [Stacks, Tag 07YM]. An ideal of
A'carried by the surjectionA' → Ainto the kernel ofA ⟶ κ(𝔭)annihilates the kernelIof that surjection: the two actions onIagree, andIis a copy ofκ(𝔭), on which𝔭acts by zero.Applied with
q = Ker(A' ⟶ κ(𝔭))this is the hypothesis𝔭' · I = 0ofDeformation.Artin.exists_pow_inf_eq_bot_of_mul_eq_bot, which produces the exponentn > 1with(𝔭') ^ n ⊓ I = 0. Only primality of𝔭is used.
public theorem mul_ker_eq_bot_of_linearEquiv_residueField
(p : Ideal A) [p.IsPrime]
(e : RingHom.ker (algebraMap A' A) ≃ₗ[A] p.ResidueField)
(q : Ideal A')
(hq : ∀ a' ∈ q, algebraMap A' A a' ∈ RingHom.ker (algebraMap A p.ResidueField)) :
q * RingHom.ker (algebraMap A' A) = ⊥
Deformation.ArtinianLocalAlgCat.powQuotientObj, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/BaseCategory/AugmentedPowQuotient.lean, line 143. The attribute's comment: “the object A/𝔭 ^ n of 𝒞_Λ at a closed point”. References: EGA 0 (19.5.6.2), “special case”.
The object
R ⧸ 𝔭 ^ nof𝒞_Λ, for𝔭 = Ker εthe augmentation ideal of a surjective augmentation of a NoetherianΛ-algebra andn ≠ 0. The algebraRitself is not asked to be local or Artinian.
public noncomputable def powQuotientObj [IsNoetherianRing R] (ε : R →ₐ[Λ] k)
(hε : Function.Surjective ε) (n : ℕ) [NeZero n] : ArtinianLocalAlgCat.{u, v, w} Λ k
Deformation.ArtinianLocalAlgCat.maximalIdeal_pow_powQuotientObj_eq_bot, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/BaseCategory/AugmentedPowQuotient.lean, line 169. The attribute's comment: “the maximal ideal of the object A'/(𝔭') ^ n of 𝒞_Λ has vanishing power”.
The
n-th power of the maximal ideal ofR ⧸ 𝔭 ^ nvanishes. This is the hypothesis𝔪_{B'} ^ n = 0ofDeformation.ArtinianLocalAlgCat.not_isEssentialSurjection_of_lift_powQuotient, read at the objectDeformation.ArtinianLocalAlgCat.powQuotientObjof𝒞_Λrather than at the bare quotient ring; it isIsLocalRing.maximalIdeal_quotient_pow_pow_eq_bot, the augmentation ideal being maximal.
public theorem maximalIdeal_pow_powQuotientObj_eq_bot [IsNoetherianRing R] (ε : R →ₐ[Λ] k)
(hε : Function.Surjective ε) (n : ℕ) [NeZero n] :
maximalIdeal (powQuotientObj ε hε n : Type v) ^ n = ⊥
Deformation.ArtinianLocalAlgCat.ker_powQuotientMapAlgHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/BaseCategory/AugmentedPowQuotient.lean, line 235. The attribute's comment: “the kernel of A'/(𝔭') ^ n ⟶ A/𝔭 ^ n is the image of I = Ker(A' → A)”.
The kernel computation of [Stacks, Tag 07YM]. For
φ : R' ↠ Rsurjective, the kernel ofR' ⧸ (𝔭') ^ n ⟶ R ⧸ 𝔭 ^ nis the image ofKer φ.The preimage of
𝔭 ^ nunderφis(𝔭') ^ n + Ker φ, because𝔭 ^ nis the image of(𝔭') ^ n; passing toR' ⧸ (𝔭') ^ nkills the first summand.
public theorem ker_powQuotientMapAlgHom {ε' : R' →ₐ[Λ] k} {ε : R →ₐ[Λ] k} {φ : R' →ₐ[Λ] R}
(hφ : ε.comp φ = ε') (n : ℕ) (hsurj : Function.Surjective φ) :
RingHom.ker (powQuotientMapAlgHom hφ n).toRingHom =
(RingHom.ker φ.toRingHom).map
(Ideal.Quotient.mk (RingHom.ker ε'.toRingHom ^ n))
Deformation.ArtinianLocalAlgCat.powQuotientMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/BaseCategory/AugmentedPowQuotient.lean, line 257. The attribute's comment: “the morphism A'/(𝔭') ^ n ⟶ A/𝔭 ^ n of 𝒞_Λ”.
The morphism
R' ⧸ (𝔭') ^ n ⟶ R ⧸ 𝔭 ^ nof𝒞_Λinduced by a map of augmented Noetherian algebras.
public noncomputable def powQuotientMap [IsNoetherianRing R'] [IsNoetherianRing R]
{ε' : R' →ₐ[Λ] k} {ε : R →ₐ[Λ] k} {φ : R' →ₐ[Λ] R} (hφ : ε.comp φ = ε')
(hε' : Function.Surjective ε') (hε : Function.Surjective ε) (n : ℕ) [NeZero n] :
powQuotientObj ε' hε' n ⟶ powQuotientObj ε hε n
Deformation.ArtinianLocalAlgCat.isSmallExtension_powQuotientMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/BaseCategory/AugmentedPowQuotient.lean, line 294. The attribute's comment: “A'/(𝔭') ^ n ⟶ A/𝔭 ^ n is a small extension”.
The small extension of [Stacks, Tag 07YM]. Let
φ : R' ↠ Rbe a surjection of augmented NoetherianΛ-algebras whose kernelIhas length one overR', and suppose(𝔭') ^ n ⊓ I = 0. ThenR' ⧸ (𝔭') ^ n ⟶ R ⧸ 𝔭 ^ nis a small extension of Artinian local rings.The kernel is the image of
Ibyker_powQuotientMapAlgHom, and(𝔭') ^ n ⊓ I = 0makes that image a copy ofI, hence again of length one. In the sourceIis a one-dimensionalk-vector space and the hypothesis(𝔭') ^ n ⊓ I = 0is the conclusion of the Artin–Rees stepDeformation.Artin.exists_pow_inf_eq_bot_of_mul_eq_bot.
public theorem isSmallExtension_powQuotientMap [IsNoetherianRing R'] [IsNoetherianRing R]
{ε' : R' →ₐ[Λ] k} {ε : R →ₐ[Λ] k} {φ : R' →ₐ[Λ] R} (hφ : ε.comp φ = ε')
(hε' : Function.Surjective ε') (hε : Function.Surjective ε)
(hsurj : Function.Surjective φ) (n : ℕ) [NeZero n]
(hinf : RingHom.ker ε'.toRingHom ^ n ⊓ RingHom.ker φ.toRingHom = ⊥)
(hlen : Module.length R' (RingHom.ker φ.toRingHom) = 1) :
InfinitesimalLifting.IsSmallExtension
(CommRingCat.ofHom (powQuotientMap hφ hε' hε n).hom.toRingHom)
Deformation.ArtinianLocalAlgCat.exists_section_of_lift_powQuotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/BaseCategory/AugmentedPowQuotientSection.lean, line 95. The attribute's comment: “the lift factors through A/𝔭 ^ n, giving a section of the small extension”.
The section of [Stacks, Tag 07YM]. If the quotient map
R → R ⧸ 𝔭 ^ nlifts through a morphismf : C ⟶ R ⧸ 𝔭 ^ nof𝒞_Λwhose source has𝔪_C ^ n = 0, thenfhas a section in𝒞_Λ.The lift factors through
R ⧸ 𝔭 ^ nbyIsLocalRing.exists_isLocalHom_comp_mk_pow, and the factorization is a morphism of𝒞_Λ: it is aΛ-algebra map becauseσis, it is local by that lemma, and it respects the identifications of the residue fields becausefdoes.
public theorem exists_section_of_lift_powQuotient
(hn : maximalIdeal (C : Type v) ^ n = ⊥) :
∃ s : powQuotientObj ε hε n ⟶ C, s ≫ f = 𝟙 (powQuotientObj ε hε n)
Deformation.ArtinianLocalAlgCat.not_isEssentialSurjection_of_lift_powQuotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/BaseCategory/AugmentedPowQuotientSection.lean, line 125. The attribute's comment: “a lift of A through A'/(𝔭') ^ n contradicts essential surjectivity”.
The contradiction of [Stacks, Tag 07YM]. A small extension
f : C ⟶ R ⧸ 𝔭 ^ nof𝒞_Λwhose source has𝔪_C ^ n = 0and through which the quotient mapR → R ⧸ 𝔭 ^ nlifts is not an essential surjection: the lift produces a section (Deformation.ArtinianLocalAlgCat.exists_section_of_lift_powQuotient), and a small extension with a section is not essential (Deformation.not_isEssentialSurjection_iff_exists_section).
public theorem not_isEssentialSurjection_of_lift_powQuotient
(hn : maximalIdeal (C : Type v) ^ n = ⊥)
(hf : InfinitesimalLifting.IsSmallExtension (CommRingCat.ofHom f.hom.toRingHom)) :
¬ IsEssentialSurjection f
isLocalRing_quotient_pow_of_isMaximal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/RadicalMaximalQuotient.lean, line 109. The attribute's comment: “the local half of A/𝔭 ^ n, for 𝔭 the prime of a closed point”.
For a maximal ideal
pof a ring that need not be local andn ≠ 0, the ringR ⧸ p ^ nis local.
public theorem isLocalRing_quotient_pow_of_isMaximal (p : Ideal R) [p.IsMaximal] {n : ℕ}
(hn : n ≠ 0) : IsLocalRing (R ⧸ p ^ n)
isArtinianRing_quotient_pow_of_isMaximal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/RadicalMaximalQuotient.lean, line 116. The attribute's comment: “the Artinian half of A/𝔭 ^ n, for 𝔭 the prime of a closed point”.
For a maximal ideal
pof a Noetherian ring that need not be local andn ≠ 0, the ringR ⧸ p ^ nis Artinian.
public theorem isArtinianRing_quotient_pow_of_isMaximal [IsNoetherianRing R] (p : Ideal R)
[p.IsMaximal] {n : ℕ} (hn : n ≠ 0) : IsArtinianRing (R ⧸ p ^ n)
IsLocalRing.maximalIdeal_quotient_pow, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/RadicalMaximalQuotient.lean, line 143. The attribute's comment: “the maximal ideal of A/𝔭 ^ n, for 𝔭 the prime of a closed point”.
For a maximal ideal
pandn ≠ 0, the maximal ideal ofR ⧸ p ^ nis the image ofp.
public theorem IsLocalRing.maximalIdeal_quotient_pow (p : Ideal R) [p.IsMaximal] (n : ℕ)
[NeZero n] :
IsLocalRing.maximalIdeal (R ⧸ p ^ n) = p.map (Ideal.Quotient.mk (p ^ n))
IsLocalRing.maximalIdeal_quotient_pow_pow_eq_bot, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/RadicalMaximalQuotient.lean, line 159. The attribute's comment: “the maximal ideal of A'/(𝔭') ^ n has vanishing n-th power”.
For a maximal ideal
pandn ≠ 0, then-th power of the maximal ideal ofR ⧸ p ^ nvanishes: that maximal ideal is the image ofp, so itsn-th power is the image ofp ^ n, which is the ideal being quotiented out.This is the hypothesis
𝔪_{B'} ^ n = 0under which a lift ofRthrough a morphism ontoR ⧸ p ^ nfactors (IsLocalRing.exists_isLocalHom_comp_mk_pow), and in [Stacks, Tag 07YM] it is the sentence "since the maximal ideal ofB'hasnth power equal to zero". The ringRis not asked to be local.
public theorem IsLocalRing.maximalIdeal_quotient_pow_pow_eq_bot (p : Ideal R) [p.IsMaximal]
(n : ℕ) [NeZero n] : IsLocalRing.maximalIdeal (R ⧸ p ^ n) ^ n = ⊥
IsLocalRing.exists_isLocalHom_comp_mk_pow, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/RadicalMaximalQuotient.lean, line 205. The attribute's comment: “σ : A → B' with 𝔪_{B'} ^ n = 0 factors through A/𝔭 ^ n”.
The local factorization of [Stacks, Tag 07YM]. A ring map
σ : R → Sinto a local ring whose maximal ideal satisfies𝔪_S ^ n = 0factors throughR ⧸ p ^ nfor every idealpwhose image underσlies in𝔪_S, and the factorization is a local homomorphism as soon aspis maximal andn ≠ 0.The ring
Ris not asked to be local: in the sourceσgoes from the finite-type algebraAto an Artinian local ringB'andpis the prime of the closed point, so the hypothesisp.map σ ≤ 𝔪_S— rather thanIsLocalHom σ— is what is available. Maximality ofpandn ≠ 0are used only to makeR ⧸ p ^ na local ring, hence only for theIsLocalHomhalf; the factorization itself isIdeal.Quotient.liftapplied toIdeal.pow_le_ker_of_map_leand holds for an arbitrary idealpand arbitraryn.
public theorem IsLocalRing.exists_isLocalHom_comp_mk_pow [IsLocalRing S] (f : R →+* S)
(p : Ideal R) [p.IsMaximal] {n : ℕ} [NeZero n]
(hp : p.map f ≤ IsLocalRing.maximalIdeal S)
(hn : IsLocalRing.maximalIdeal S ^ n = ⊥) :
∃ F : R ⧸ p ^ n →+* S, IsLocalHom F ∧ F.comp (Ideal.Quotient.mk (p ^ n)) = f
Tag 07YN, a lemma
Tag 07YN in the Stacks Project.
Deformation.Artin.isOpenVersalityAt_of_naiveObstructionAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveVersalityTag.lean, line 124.
Stacks 07YN, with the versality criterion of Stacks 07YM discharged rather than assumed.
Deformation.Artin.exists_isOpen_isVersalAt_of_naiveObstructionAttakes that criterion as a hypothesis, and must: it lives in a module this one imports, while the criterion is proved here, so it cannot apply it without a cycle. This is the same statement with the hypothesis supplied byDeformation.Artin.naiveVersalityCriterion, so the tag sits on a declaration that grants nothing.
public theorem isOpenVersalityAt_of_naiveObstructionAt
(data : NaiveObstructionAt hp hRS P hΩ E ξ)
(hFinite : ∀ n : ℤ,
Module.Finite P.ring ((DerivedCategory.homologyFunctor (ModuleCat.{u} P.ring) n).obj E))
(u₀ : Spec (.of P.ring)) (hu₀ : IsClosed ({u₀} : Set (Spec (.of P.ring))))
(hversal : IsVersalAt (Over.mk P.obj.alg.toScheme) (p ⋙ Over.post B.inclusion) u₀ P.point
P.overScheme_eq) :
∃ V : Set (Spec (.of P.ring)), IsOpen V ∧ u₀ ∈ V ∧
∀ u ∈ V, IsFiniteTypePoint u →
IsVersalAt (Over.mk P.obj.alg.toScheme) (p ⋙ Over.post B.inclusion) u P.point
P.overScheme_eq
Tag 07YP, a definition
Tag 07YP in the Stacks Project.
Deformation.Artin.NaiveObstructionTheory, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveTheory.lean, line 474.
Stacks 07YP. A naive obstruction theory for a category fibred in groupoids
𝒳over the big fppf site ofSsatisfying (RS*), relative to a fixed affine chartSpec Λ ⊆ S: a complexE_x ∈ D⁻(A)with a mapξ_x : E_x ⟶ NL_{A/Λ}for every objectxof𝒳overSpec A, identifications ofInf_xandT_xwithExt^{-1}_A(E_x, −)andExt^0_A(E_x, −), and a functoriality mapE_x ⟶ E_yfor every ring mapA ⟶ B, subject to the five conditions of the source.
public structure NaiveObstructionTheory (hp : p.IsFiberedInGroupoids)
(hRS : SatisfiesRSStar B S hS p hp) (c : AffineChart S)
Tag 07YT, a lemma
Tag 07YT in the Stacks Project.
Deformation.Artin.NaiveObstructionTheory.functoriality_homology_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveTheoryFunctoriality.lean, line 175.
Stacks 07YT. Let
𝒳be fibred in groupoids over the big fppf site ofS, satisfying (RS*) and endowed with a naive obstruction theory. LetA ⟶ Bbe a ring map in the site, lety = x|_{Spec B}be the restriction of an objectxof𝒳overSpec A, and letkbe aB-algebra which is a field whose two module structures occur in the site. Then the functoriality mapE_x ⟶ E_yinduces bijectionsH^i(E_x ⊗ᴸ_A k) ⟶ H^i(E_y ⊗ᴸ_B k)fori = 0andi = 1.Nothing about the comparison is assumed. The first step of the source proof is the (RS*) identification of the lifts of
xoverA[k]with the lifts ofyoverB[k], on isomorphism classes byDeformation.Artin.bijective_squareZeroLiftBaseChangeMapand on the automorphisms of the trivial lift byDeformation.Artin.bijective_of_isInfinitesimalAutomorphismBaseChange; through clauses (2) and (iii) of Stacks 07YP these give bijectivity onExt^0and onExt^{-1}, and the duality of Stacks 07YK turns that into the conclusion in degrees0and1.
theorem NaiveObstructionTheory.functoriality_homology_bijective
{hp : p.IsFiberedInGroupoids} {hRS : SatisfiesRSStar B S hS p hp} {c : AffineChart S}
(N : NaiveObstructionTheory B S hS p hp hRS c) (P Q : ChartedObject B S hS p c)
(hom : AffineObject.Hom P.obj Q.obj) [Algebra P.ring Q.ring]
[IsScalarTower c.ring P.ring Q.ring] (halg : algebraMap P.ring Q.ring = hom.alg.ringMap)
{k : Type u} [Field k] (g : Q.ring →+* k)
(hM : IsSiteModule P.ring B
((ModuleCat.restrictScalars (g.comp (algebraMap P.ring Q.ring))).obj
(ModuleCat.of k (ULift.{u} k))))
(hN : IsSiteModule Q.ring B
((ModuleCat.restrictScalars g).obj (ModuleCat.of k (ULift.{u} k)))) :
Function.Bijective (((DerivedCategory.homologyFunctor (ModuleCat.{u} k) 0).map
(naiveObstructionFieldBaseChangeMap N P Q hom halg g)).hom) ∧
Function.Bijective (((DerivedCategory.homologyFunctor (ModuleCat.{u} k) 1).map
(naiveObstructionFieldBaseChangeMap N P Q hom halg g)).hom)
Tag 07YU, a lemma
Tag 07YU in the Stacks Project.
Deformation.Artin.isOpenVersality_of_naiveObstructionTheory, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveTheoryVersalityOpenness.lean, line 176.
Stacks 07YU. Let
Sbe a locally Noetherian scheme and𝒳a category fibred in groupoids over the big fppf site ofS. Assume that𝒳satisfies (RS*) and that𝒳has a naive obstruction theory, and assume the proviso of the source: the complexesE_xof Stacks 07YP have finitely generated cohomology groups for the pairs(A, x)withAof finite type overS. Then openness of versality holds for𝒳: ifUis a scheme locally of finite type overS,xan object of𝒳overUandu₀a finite type point ofUat whichxis versal, then there is an open neighbourhood ofu₀at every finite type point of whichxis versal.The conclusion is the body of
Deformation.Artin.IsOpenVersality, written out; see the implementation notes of this file for why the predicate itself cannot be used.
public theorem isOpenVersality_of_naiveObstructionTheory [IsLocallyNoetherian S]
(N : ∀ c : AffineChart S, NaiveObstructionTheory B S hS p hp hRS c)
(hFinite : ∀ (c : AffineChart S) (Q : ChartedObject B S hS p c),
Algebra.FiniteType c.ring Q.ring → ∀ n : ℤ, Module.Finite Q.ring
((DerivedCategory.homologyFunctor (ModuleCat.{u} Q.ring) n).obj ((N c).complex Q).obj))
(U : Over S) (hUft : LocallyOfFiniteType U.hom) (x : X)
(hx : (p ⋙ Over.post B.inclusion).obj x = U) (u₀ : U.left)
(hu₀ : IsFiniteTypePoint u₀)
(hversal : IsVersalAt U (p ⋙ Over.post B.inclusion) u₀ x hx) :
∃ V : U.left.Opens, u₀ ∈ V.1 ∧
∀ u ∈ V.1, IsFiniteTypePoint u →
IsVersalAt U (p ⋙ Over.post B.inclusion) u x hx
Sources
Section98.24 A dual notion#
Section 98.24 of the Stacks Project, Tag 07YV. 4 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07YW, an example
Tag 07YW in the Stacks Project.
Deformation.Artin.SectionsObstructionModel.exists_finiteProjectiveModel_obstructionSpace, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/SectionsObstructionModel.lean, line 208. The attribute's comment: “the obstruction spaces of the example of Tag 07YH are 𝒪_x(M) = H¹(N ⊗_Λ M)”.
[Stacks, Tag 07YW], the obstruction spaces. Let
Λbe Noetherian, letg : W ⟶ Spec Λbe proper and let𝓕be a coherent𝒪_W-module flat overΛ. Then there is a finite complexNof finite projectiveΛ-modules such that, for everyΛ-algebraA, every cartesian square exhibitingW_Aas the base change ofW, and everyA-moduleM,
𝒪_x(M) = H¹(W_A, 𝓕_A ⊗_A M) ≅ H¹((N ⊗_Λ A) ⊗_A M),the obstruction space of the obstruction theory of [Stacks, Tag 07YH] at
M. In degreeithe right-hand complex isM ⊗_Λ NⁱbyDeformation.Artin.SectionsPerfectComplex.tensorComplexXLinearEquiv, so the right-hand side is the source'sH¹(N ⊗_Λ M).Composed with
Deformation.Artin.SectionsPerfectComplex.nonempty_derivedCohomology_two_iso_homology_onethis is the source's reformulation𝒪_x(M) = H²(K ⊗^𝐋_A M)withK = (N ⊗_Λ A)[-1].
theorem exists_finiteProjectiveModel_obstructionSpace {Λ : Type u} [CommRing Λ]
{W : Scheme.{u}} (g : W ⟶ Spec (CommRingCat.of Λ)) (F : W.Modules)
[IsNoetherianRing Λ] [IsProper g] [F.IsCoherent]
(hflat : IsFlatOver g.toLRSHom.toShHom F) :
∃ (N : CochainComplex (ModuleCat.{u} Λ) ℤ) (a b : ℤ),
N.IsStrictlyGE a ∧ N.IsStrictlyLE b ∧
(∀ i : ℤ, Module.Finite Λ (N.X i)) ∧ (∀ i : ℤ, Module.Projective Λ (N.X i)) ∧
∀ (A : Type u) [CommRing A] (φ : Λ →+* A) {W' : Scheme.{u}}
{g' : W' ⟶ Spec (CommRingCat.of A)} {p : W' ⟶ W}
(_hsq : IsPullback p g' g (Spec.map (CommRingCat.ofHom φ)))
(M : ModuleCat.{u} A),
Nonempty ((obstructionFunctor g' ((Scheme.Modules.pullback p).obj F)).obj M ≅
((tensorComplex M).obj (extendScalarsComplex φ N)).homology 1)
Deformation.Artin.SectionsObstructionModel.exists_finiteProjectiveModel_homology_iso_obstruction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/SectionsObstructionModel.lean, line 284. The attribute's comment: “there exists a finite complex N of finite projective Λ-modules which universally computes the cohomology of 𝓕”.
[Stacks, Tag 07YW], the complex
N. LetΛbe Noetherian, letg : W ⟶ Spec Λbe proper and let𝓕be a coherent𝒪_W-module flat overΛ. Then there is a finite complexNof finite projectiveΛ-modules which universally computes the cohomology of𝓕— for every base changeφ : Λ → Λ',Hⁱ(W_{Λ'}, 𝓕_{Λ'}) ≅ Hⁱ(N ⊗_Λ Λ')— and, writingK = (N ⊗_Λ A)[-1]for aΛ-algebraA, the degree-one cohomology ofN ⊗_Λ Mis the degree-two cohomology ofK ⊗^𝐋_A Mfor everyA-moduleM.This is
Deformation.Artin.SectionsPerfectComplex.exists_finiteProjectiveModel_obstructionwithout its binder_haffineBase, the affine-base case of [Stacks, Tag 02O5], which that proof never uses: [Stacks, Tag 07VL] (Stacks.AlgebraicGeometry.ProperFlatGlobalSections.exists_finiteProjectiveModel_homology_iso) is unconditional.
theorem exists_finiteProjectiveModel_homology_iso_obstruction {Λ : Type u} [CommRing Λ]
{W : Scheme.{u}} (g : W ⟶ Spec (CommRingCat.of Λ)) (F : W.Modules)
[IsNoetherianRing Λ] [IsProper g] [F.IsCoherent]
(hflat : IsFlatOver g.toLRSHom.toShHom F) :
∃ (N : CochainComplex (ModuleCat.{u} Λ) ℤ) (a b : ℤ),
N.IsStrictlyGE a ∧ N.IsStrictlyLE b ∧
(∀ i : ℤ, Module.Finite Λ (N.X i)) ∧ (∀ i : ℤ, Module.Projective Λ (N.X i)) ∧
(∀ {Λ' : Type u} [CommRing Λ'] (φ : Λ →+* Λ') {W' : Scheme.{u}}
{g' : W' ⟶ Spec (.of Λ')} {p : W' ⟶ W}
(_hsq : IsPullback p g' g (Spec.map (CommRingCat.ofHom φ))) (i : ℤ),
Nonempty ((DerivedCategory.homologyFunctor (ModuleCat.{u} Λ') i).obj
(derivedGlobalSectionsOverBase g' ((Scheme.Modules.pullback p).obj F)) ≅
(extendScalarsComplex φ N).homology i)) ∧
∀ (A : Type u) [CommRing A] (φ : Λ →+* A) (M : ModuleCat.{u} A),
Nonempty ((Deformation.Artin.derivedCohomology A
(DerivedCategory.Q.obj
(Deformation.Artin.SectionsPerfectComplex.shiftedBaseChange φ N)) 2).obj M ≅
((tensorComplex M).obj (extendScalarsComplex φ N)).homology 1)
Deformation.Artin.SectionsPerfectComplex.nonempty_derivedCohomology_two_iso_homology_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/SectionsPerfectComplex.lean, line 185. The attribute's comment: “the reformulation 𝒪(M) = H²(K ⊗^𝐋_A M) with K = (N ⊗_Λ A)[-1], from the description 𝒪(M) = H¹(N ⊗_Λ M)”.
[Stacks, Tag 07YW], the degree shift. With
K = (N ⊗_Λ A)[-1]for a bounded above complexNof flatΛ-modules, the degree-one cohomology ofN ⊗_Λ M— the obstruction module of [Stacks, Tag 07YH] in the form the source reaches through [Stacks, Tag 07VL] — is the degree-two cohomology ofK ⊗^𝐋_A M:
H¹((N ⊗_Λ A) ⊗_A M) ≅ H²(K ⊗^𝐋_A M).In degree
ithe left-hand complex isM ⊗_Λ NⁱbytensorComplexXLinearEquiv, so the left-hand side is the source'sH¹(N ⊗_Λ M).
public theorem nonempty_derivedCohomology_two_iso_homology_one {Λ : Type u} [CommRing Λ]
(φ : Λ →+* A) (N : CochainComplex (ModuleCat.{u} Λ) ℤ) (b : ℤ) [N.IsStrictlyLE b]
(hN : ∀ i : ℤ, Module.Flat Λ (N.X i)) (M : ModuleCat.{u} A) :
Nonempty ((Deformation.Artin.derivedCohomology A
(DerivedCategory.Q.obj (shiftedBaseChange φ N)) 2).obj M ≅
((tensorComplex M).obj
(Stacks.AlgebraicGeometry.ProperFlatGlobalSections.extendScalarsComplex φ N)).homology
1)
Tag 07YX, a situation
Tag 07YX in the Stacks Project.
Deformation.Artin.DualDeformationSituation, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/DualSituation.lean, line 167.
Stacks 07YX. A dual deformation situation: a complex
KofA-modules whose first derived-tensor cohomology is the tangent functor ofx, together with obstruction elements in its second derived-tensor cohomology which are functorial in the deformation situation and vanish exactly whenxlifts.
public structure DualDeformationSituation (A Λ : Type u) [CommRing A] [CommRing Λ]
[Algebra Λ A] (B : BigFppfSite.{u}) (S : Scheme.{u}) (hS : B.Contains S)
[IsLocallyNoetherian S] (toS : Spec (.of A) ⟶ S) (hA : B.Contains (Spec (.of A)))
(X : Type v) [Category.{w} X] (p : X ⥤ BigFppfOver B S hS)
Tag 07YY, a lemma
Tag 07YY in the Stacks Project.
Deformation.Artin.exists_obstructionEvaluation_eq_obstruction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/CotangentClass/ClauseOne.lean, line 550. The attribute's comment: “clause (1) alone, and WITHOUT the boundary condition (iv): a single class ξ on NL_{A/Λ} whose canonical evaluation obstructionEvaluation at every deformation situation is that situation's obstruction element. The whole tag — clause (1) together with clause (2), that ξ's image in H¹(K ⊗ᴸ Ω_{A/Λ}) is the canonical element of the tangent functor — is Deformation.Artin.exists_isCotangentObstructionClass, which assumes (iv) and whose conclusion is Deformation.Artin.IsCotangentObstructionClass, the full conjunction. This theorem is kept beside it because clause (1) needs no hypothesis: the class it produces is adjusted there by an element of H¹(K ⊗ᴸ Ω_{P/Λ} ⊗_P A) to achieve clause (2), an adjustment clause (1) cannot see because mor₁ ≫ mor₂ = 0.”.
There is a class
ξinH¹(K ⊗ᴸ NL_{A/Λ})such that every square-zero thickeningD : A' → Aof the situationsitadmits a ring mapΛ → A'compatible withsit.affineOpenand withΛ → A, along which the evaluationobstructionEvaluationofξis the obstruction elementsit.obstruction A' D.
public theorem exists_obstructionEvaluation_eq_obstruction :
∃ ξ : (derivedTensorCohomology A sit.K 1).obj (derivedNaiveCotangentComplex Λ A),
∀ (A' : Type u) [CommRing A'] (D : SquareZeroThickening A B S hS toS hA A'),
∃ f : Λ →+* A',
Spec.map (CommRingCat.ofHom f) ≫ sit.affineOpen = B.inclusion.map D.toS' ∧
∃ hf : D.q.comp f = algebraMap Λ A,
letI : Algebra Λ A' := f.toAlgebra
letI : Algebra A' A := D.q.toAlgebra
letI : IsScalarTower Λ A' A :=
IsScalarTower.of_algebraMap_eq fun r =>
(congrArg (fun g : Λ →+* A => g r) hf).symm
obstructionEvaluation Λ A' A sit.K D.squareZeroSurjection.1
D.squareZeroSurjection.2 ξ = sit.obstruction A' D
Deformation.Artin.exists_isCotangentObstructionClass, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/CotangentClassCanonical/ObstructionClass.lean, line 692.
Stacks 07YY. A dual deformation situation satisfying the boundary condition (iv) has a cotangent obstruction class: a single class
ξonNL_{A/Λ}whose evaluation at every square-zero thickening is that thickening's obstruction element, and whose image inH¹(K ⊗ᴸ Ω_{A/Λ})is the canonical element of the tangent functor.The class of clause (1), built at a chosen presentation, need not satisfy clause (2); it is corrected by an element of
H¹(K ⊗ᴸ Ω_{P/Λ} ⊗_P A)supplied byDeformation.Artin.exists_correction_of_boundaryCondition, and the correction is invisible to clause (1) because the inclusion of the degree-zero term ofNL(α)followed by the projection onto the conormal module is zero.
public theorem exists_isCotangentObstructionClass
(hiv : DualNotion.ObstructionBoundaryCondition Λ A B S hS toS hA X p sit) :
∃ ξ, IsCotangentObstructionClass Λ A B S hS toS hA X p sit ξ
Tag 07YZ, a lemma
Tag 07YZ in the Stacks Project.
Deformation.Artin.DualNotion.exists_isOpen_isVersalAt_of_isPerfect, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/DualNotionTag.lean, line 156.
Stacks 07YZ. In Situation 07YX assume that (iv) of Lemma 07YY holds and that
Kis a perfect object ofD(A). In this case, ifxis versal at a closed pointu₀ ∈ U = Spec Athen there exists an open neighbourhoodu₀ ∈ U' ⊆ Usuch thatxis versal at every finite type point ofU'.
public theorem exists_isOpen_isVersalAt_of_isPerfect
(hboundary : ObstructionBoundaryCondition Λ A B S hS toS hA X p sit)
(hperfect : StacksDraft.Perfect.IsPerfect sit.K)
(u₀ : Spec (.of A)) (hu₀ : IsClosed ({u₀} : Set (Spec (.of A))))
(hversal : IsVersalAt (Over.mk toS) (p ⋙ Over.post B.inclusion) u₀ sit.x
(versalityBase Λ A B S hS toS hA X p sit)) :
∃ V : Set (Spec (.of A)), IsOpen V ∧ u₀ ∈ V ∧
∀ u ∈ V, IsFiniteTypePoint u →
IsVersalAt (Over.mk toS) (p ⋙ Over.post B.inclusion) u sit.x
(versalityBase Λ A B S hS toS hA X p sit)
Sources
Section98.25 Limit preserving functors on Noetherian schemes#
Section 98.25 of the Stacks Project, Tag 0GE1. 5 tags here are carried by 12 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0GE1, the section
Tag 0GE1 in the Stacks Project.
AlgebraicGeometry.isLocallyNoetherian_of_mem_precoverage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/LocallyNoetherianObjects.lean, line 84. The attribute's comment: “part (3): the members of a covering family of a locally Noetherian scheme”.
A member of a
τ-covering family of a locally Noetherian scheme is locally Noetherian.
public theorem isLocallyNoetherian_of_mem_precoverage (τ : CoveringTopology) {X : Scheme.{u}}
(hX : IsLocallyNoetherian X) {R : Presieve X}
(hR : R ∈ Scheme.precoverage (coveringMorphismProperty.{u} τ) X)
{Y : Scheme.{u}} {f : Y ⟶ X} (hf : R f) : IsLocallyNoetherian Y
AlgebraicGeometry.isLocallyNoetherian_of_isCovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/LocallyNoetherianObjects.lean, line 93. The attribute's comment: “part (3): the sources of a covering of a locally Noetherian object”.
If a chosen covering family of a big site has locally Noetherian target, then each of its sources is locally Noetherian.
public theorem isLocallyNoetherian_of_isCovering (B : BigSite.{u} τ)
{𝒰 : Covering (siteCategory B)} (h𝒰 : isCovering τ B 𝒰)
(hX : IsLocallyNoetherian ((schemeBelowInclusion (cutoff τ B)).obj 𝒰.1)) (i : 𝒰.2.I₀) :
IsLocallyNoetherian ((schemeBelowInclusion (cutoff τ B)).obj (𝒰.2.X i))
AlgebraicGeometry.isLocallyNoetherian_of_isCovering_bigFppfOver, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/LocallyNoetherianObjects.lean, line 103. The attribute's comment: “part (3) for the big fppf site over a base scheme”.
If a covering family of the big fppf category over
Shas locally Noetherian target, then each of its sources is locally Noetherian.
public theorem isLocallyNoetherian_of_isCovering_bigFppfOver (B : BigFppfSite.{u})
(S : Scheme.{u}) (hS : B.Contains S) {E : Covering (BigFppfOver B S hS)}
(hE : BigFppfOver.IsCovering B S hS E)
(hX : IsLocallyNoetherian ((BigFppfOver.toScheme B S hS).obj E.1)) (i : E.2.I₀) :
IsLocallyNoetherian ((BigFppfOver.toScheme B S hS).obj (E.2.X i))
AlgebraicGeometry.isLocallyNoetherian_of_locallyOfFiniteType_over, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/LocallyNoetherianObjects.lean, line 115. The attribute's comment: “part (1): a morphism locally of finite type has locally Noetherian source”. References: EGA IV (1.3.3), “special case”.
If
f : X ⟶ Yis a morphism of the big site overSwhose underlying morphism of schemes is locally of finite type and whose target is locally Noetherian, then its source is locally Noetherian.
public theorem isLocallyNoetherian_of_locallyOfFiniteType_over (B : BigSite.{u} τ)
(S : Scheme.{u}) (hS : S.size < cutoff τ B) {X Y : Over (base B S hS)} (f : X ⟶ Y)
(hY : IsLocallyNoetherian ((schemeBelowInclusion (cutoff τ B)).obj Y.left))
(hf : LocallyOfFiniteType ((schemeBelowInclusion (cutoff τ B)).map f.left)) :
IsLocallyNoetherian ((schemeBelowInclusion (cutoff τ B)).obj X.left)
AlgebraicGeometry.isLocallyNoetherian_of_isPullback_over, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/LocallyNoetherianObjects.lean, line 141. The attribute's comment: “part (2): the fibre product along a morphism locally of finite type”.
Let
f : X ⟶ Yandg : Z ⟶ Ybe morphisms of the big site overSwithflocally of finite type on underlying schemes andZlocally Noetherian. Then the vertex of a fibre product square onfandgis locally Noetherian.
public theorem isLocallyNoetherian_of_isPullback_over (B : BigSite.{u} τ) (S : Scheme.{u})
(hS : S.size < cutoff τ B) {W X Y Z : Over (base B S hS)}
{p : W ⟶ X} {q : W ⟶ Z} {f : X ⟶ Y} {g : Z ⟶ Y} (h : IsPullback p q f g)
(hf : LocallyOfFiniteType ((schemeBelowInclusion (cutoff τ B)).map f.left))
(hZ : IsLocallyNoetherian ((schemeBelowInclusion (cutoff τ B)).obj Z.left)) :
IsLocallyNoetherian ((schemeBelowInclusion (cutoff τ B)).obj W.left)
Tag 0GE2, a remark
Tag 0GE2 in the Stacks Project.
AlgebraicGeometry.LocallyNoetherianOver.not_hasPullbacks, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Examples/Sites/NoetherianSiteNoFibreProducts.lean, line 475. The attribute's comment: “the first assertion, for tau = fppf and S the spectrum of a countable field”.
Stacks 0GE2, first assertion. The site
(Noetherian/S)_τdoes not have fibre products, here forτ = fppfandS = Spec kwithka countable field.The diagram without a fibre product is
Spec K ⟶ S ⟵ Spec KforK = k(u₀, u₁, u₂, …). A fibre product would be a locally Noetherian scheme receiving, compatibly, the square-zero extensionsSpec (K ⊕ Kⁿ)with their two maps toSpec K; all of these meet it in one point, whose local ring would have to dominate maximal ideals of unbounded embedding dimension.
public theorem not_hasPullbacks (B : BigFppfSite.{u}) (baseField : Type u) [Field baseField]
[Countable baseField] (hS : B.Contains (Spec (.of baseField))) :
¬ HasPullbacks (LocallyNoetherianOver B (Spec (.of baseField)) hS)
Declarations registered for the tag:
AlgebraicGeometry.LocallyNoetherianOver.not_isMorphismOfSites_toBigFppfOver, declared in the repository, registered withadd_to_stacksin StacksFrontier/Examples/Sites/NoetherianSiteNotMorphismOfSites.lean, line 486 (StacksFrontier): “the second assertion, for tau = fppf and S = Spec F_p: the example of Examples, Section 0GE8 that the remark defers to”.
Tag 0GE3, a lemma
Tag 0GE3 in the Stacks Project.
AlgebraicGeometry.ExtendingFunctors.isEquivalence_limitPreservingRestriction_noetherian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ExtendingFunctorsRestrictionFullness.lean, line 182.
Stacks 0GE3. Let
Sbe a locally Noetherian scheme and letτbe one of the five topologies — Zariski, étale, smooth, syntomic and fppf. Restriction along the inclusion of the full subcategory of locally Noetherian objects ofSch/Sis an equivalence from the category of limit preserving sheaves on(Sch/S)_τto the category of limit preserving sheaves on the site(Noetherian/S)_τ.Faithfulness is the sharp uniqueness statement of Stacks 0EUW, essential surjectivity is the existence statement of Stacks 0EUW together with the sheaf property of the extension supplied by Stacks 0GDW, and fullness is the functoriality of that extension.
theorem isEquivalence_limitPreservingRestriction_noetherian (τ : CoveringTopology)
{S : Scheme.{u}} [IsLocallyNoetherian S] :
(limitPreservingRestriction (P := IsLocallyNoetherianOver (S := S)) τ
(hasCoveringPullbacks_isLocallyNoetherianOver τ)).IsEquivalence
Tag 0GE4, a lemma
Tag 0GE4 in the Stacks Project.
AlgebraicGeometry.locallyOfFinitePresentation_of_limitPreserving_yoneda, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Flattening/LimitPreservingNoetherian.lean, line 119. References: SGA 3 XI (3.2), “partial”.
A limit-preserving representable functor on the locally Noetherian site represents a scheme locally of finite presentation over the base.
theorem locallyOfFinitePresentation_of_limitPreserving_yoneda
(B : BigFppfSite.{u}) (S : Scheme.{u})
[IsLocallyNoetherian S] (hS : B.Contains S)
(X : LocallyNoetherianOver B S hS)
(hX : LimitPreserving.{u, u, u, u, u + 1, u}
(LocallyNoetherianOver.toScheme B S hS) (yoneda.obj X)) :
LocallyOfFinitePresentation (B.inclusion.map X.1.hom)
Tag 0GE5, a lemma
Tag 0GE5 in the Stacks Project.
AlgebraicGeometry.ExtendingFunctors.relativelyRepresentable_restriction_of_limitPreservingSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ExtendingFunctorsNoetherianRepresentable.lean, line 398. The attribute's comment: “implication (1) ⇒ (2)”.
Stacks 0GE5, implication (1) ⇒ (2). Let
Sbe a locally Noetherian scheme, letτbe one of the five topologies — Zariski, étale, smooth, syntomic and fppf — and letF',G'be limit preserving sheaves on(Sch/S)_τ. If a transformationa' : F' ⟶ G'is representable, in the sense of Categories Definition 001X, then so is its restrictionato the full subcategory of locally Noetherian objects: for every locally Noetherian objectVoverSand every mapV ⟶ Gthe fibre productF ×_G Vis represented by a locally Noetherian object overS.Only limit preservation of
F'andG'enters the proof; the sheaf condition and the topology are carried because the source states them, and the sharper statement isAlgebraicGeometry.ExtendingFunctors.relativelyRepresentable_restriction.
theorem relativelyRepresentable_restriction_of_limitPreservingSheaf
(τ : CoveringTopology) [IsLocallyNoetherian S]
{F' G' : (Over S)ᵒᵖ ⥤ Type (max w (u + 1))} (a' : F' ⟶ G')
(hF' : IsLimitPreservingSheaf τ F') (hG' : IsLimitPreservingSheaf τ G')
(h1 : (uliftYoneda.{max w (u + 1)}).relativelyRepresentable a') :
(uliftYoneda.{max w (u + 1)}).relativelyRepresentable
(Functor.whiskerLeft (IsLocallyNoetherianOver (S := S)).ι.op a')
AlgebraicGeometry.ExtendingFunctors.isRepresentableOnAffineFiniteType_of_relativelyRepresentable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ExtendingFunctorsNoetherianRepresentable.lean, line 412. The attribute's comment: “implication (2) ⇒ (3)”.
Stacks 0GE5, implication (2) ⇒ (3). If the restriction of
a'to the locally Noetherian objects overSis representable, then it is representable at every test object which is affine of finite type overSand maps into an affine open ofS: criterion (3) is criterion (2) with its test object restricted.
theorem isRepresentableOnAffineFiniteType_of_relativelyRepresentable
{P : ObjectProperty (Over S)}
{F G : P.FullSubcategoryᵒᵖ ⥤ Type (max w (u + 1))} {a : F ⟶ G}
(h : (uliftYoneda.{max w (u + 1)}).relativelyRepresentable a) :
IsRepresentableOnAffineFiniteType.{w} a
AlgebraicGeometry.ExtendingFunctors.relativelyRepresentable_of_isRepresentableOnAffineFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ExtendingFunctorsNoetherianRepresentableConverse.lean, line 951. The attribute's comment: “implication (3) ⇒ (1)”. References: SGA 3 XI (3.4), “special case”.
Stacks 0GE5, implication (3) ⇒ (1). Let
Sbe a locally Noetherian scheme, letτbe one of the five topologies — Zariski, étale, smooth, syntomic and fppf — and letF',G'be limit preserving sheaves on(Sch/S)_τ. If the restrictionaof a transformationa' : F' ⟶ G'to the locally Noetherian objects overSis representable at every test object which is affine of finite type overSand maps into an affine open ofS, thena'itself is representable, in the sense of Categories Definition 001X.For an arbitrary object
TofSch/Sand a section ofG'over it, the fibre product is represented over every member of the basis of opens ofTwhich are affine and lie over an affine open ofS; those representing objects glue by Stacks 01LH, the local sections ofF'glue becauseF'is a Zariski sheaf, and the glued object has the universal property of the fibre product at every object ofSch/S, both the existence and the uniqueness being local on that object.
theorem relativelyRepresentable_of_isRepresentableOnAffineFiniteType
(τ : CoveringTopology) [IsLocallyNoetherian S]
{F' G' : (Over S)ᵒᵖ ⥤ Type (max w (u + 1))} (a' : F' ⟶ G')
(hF' : IsLimitPreservingSheaf τ F') (hG' : IsLimitPreservingSheaf τ G')
(h3 : IsRepresentableOnAffineFiniteType.{w}
(Functor.whiskerLeft (IsLocallyNoetherianOver (S := S)).ι.op a')) :
(uliftYoneda.{max w (u + 1)}).relativelyRepresentable a'
AlgebraicGeometry.ExtendingFunctors.relativelyRepresentable_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ExtendingFunctorsNoetherianRepresentableConverse.lean, line 975.
Stacks 0GE5. Let
Sbe a locally Noetherian scheme, letτbe one of the five topologies — Zariski, étale, smooth, syntomic and fppf — and letF',G'be limit preserving sheaves on(Sch/S)_τ. For a transformationa' : F' ⟶ G'with restrictionato the full subcategory of locally Noetherian objects overS, the following are equivalent:
a'is representable;ais representable;ais representable at every test object which is affine of finite type overSand maps into an affine open ofS.
theorem relativelyRepresentable_tfae (τ : CoveringTopology) [IsLocallyNoetherian S]
{F' G' : (Over S)ᵒᵖ ⥤ Type (max w (u + 1))} (a' : F' ⟶ G')
(hF' : IsLimitPreservingSheaf τ F') (hG' : IsLimitPreservingSheaf τ G') :
List.TFAE
[(uliftYoneda.{max w (u + 1)}).relativelyRepresentable a',
(uliftYoneda.{max w (u + 1)}).relativelyRepresentable
(Functor.whiskerLeft (IsLocallyNoetherianOver (S := S)).ι.op a'),
IsRepresentableOnAffineFiniteType.{w}
(Functor.whiskerLeft (IsLocallyNoetherianOver (S := S)).ι.op a')]
Sources
Section98.26 Algebraic spaces in the Noetherian setting#
Section 98.26 of the Stacks Project, Tag 0GE6. 1 tag here is carried by 1 declaration of the repository (in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0GE7, a proposition
Tag 0GE7 in the Stacks Project.
AlgebraicGeometry.LocallyNoetherianOver.existsUnique_isAlgebraicSpace_restriction_iso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/LocallyNoetherianAlgebraicSpaceCriterion.lean, line 1039.
Stacks 0GE7. Let
Sbe a locally Noetherian scheme and letFbe a set-valued functor on the locally Noetherian étale site(Noetherian/S)_étale. If the diagonalΔ : F ⟶ F × Fis representable (Categories 001X),Fsatisfies Artin's axioms[-1],[0],[1],[2],[3],[4],[5]in the form of Section 0GE6, and the local rings ofSat its finite type points are G-rings, then there is a limit preserving algebraic spaceF'on the big fppf site(Sch/S)_fppfwhose restriction to(Noetherian/S)_étaleisF, and it is unique: two such are identified by a unique isomorphism compatible with the identifications of their restrictions withF.The extension is the one of Stacks 0GE3, its diagonal is representable by Stacks 0GE5, the axioms
[-1],[2],[3],[4],[5]pass to it because they only involve locally Noetherian test objects, and Stacks 07Y1 shows it is an algebraic space.
theorem existsUnique_isAlgebraicSpace_restriction_iso [IsLocallyNoetherian S]
(F : (LocallyNoetherianOver B S hS)ᵒᵖ ⥤ Type u)
(hdiag : (yoneda (C := LocallyNoetherianOver B S hS)).relativelyRepresentable (diag F))
(hax : SatisfiesArtinAxioms B S hS F)
(hG : ∀ s : S, IsFiniteTypePoint s → IsGRing (S.presheaf.stalk s)) :
(∃ F' : (BigFppfOver B S hS)ᵒᵖ ⥤ Type u, IsAlgebraicSpace B S hS F' ∧
LimitPreserving.{u, u, u, u, u + 1, u} (BigFppfOver.toScheme B S hS) F' ∧
Nonempty ((LocallyNoetherianOver.toBigFppfOver B S hS).op ⋙ F' ≅ F)) ∧
∀ (F₁ F₂ : (BigFppfOver B S hS)ᵒᵖ ⥤ Type u),
IsAlgebraicSpace B S hS F₁ → IsAlgebraicSpace B S hS F₂ →
LimitPreserving.{u, u, u, u, u + 1, u} (BigFppfOver.toScheme B S hS) F₁ →
LimitPreserving.{u, u, u, u, u + 1, u} (BigFppfOver.toScheme B S hS) F₂ →
∀ (e₁ : (LocallyNoetherianOver.toBigFppfOver B S hS).op ⋙ F₁ ≅ F)
(e₂ : (LocallyNoetherianOver.toBigFppfOver B S hS).op ⋙ F₂ ≅ F),
∃! e : F₁ ≅ F₂,
Functor.isoWhiskerLeft (LocallyNoetherianOver.toBigFppfOver B S hS).op e ≪≫ e₂ = e₁
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.