35.2 Descent data for… to 35.7 Descent of finiteness…
Section35.2 Descent data for quasi-coherent sheaves#
Section 35.2 of the Stacks Project, Tag 023A. 4 tags here are carried by 11 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 023B, a definition
Tag 023B in the Stacks Project.
AlgebraicGeometry.QuasicoherentDescentData, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/DescentData.lean, line 98.
Descent data for quasicoherent sheaves relative to a family
f i : X i ⟶ S.The underlying descent datum supplies the transition isomorphisms and their cocycle condition. Morphisms in this full subcategory are componentwise morphisms commuting with every transition isomorphism. For chosen binary and triple fibre products,
Pseudofunctor.DescentData'.descentDataEquivalenceis component-preserving and identifies this with the full subcategory of the source's fibre-product presentation on quasicoherent objects.
abbrev QuasicoherentDescentData {I : Type v} {S : Scheme.{u}} {X : I → Scheme.{u}}
(f : ∀ i, X i ⟶ S)
Tag 023C, a lemma
Tag 023C in the Stacks Project.
AlgebraicGeometry.QuasicoherentDescentData.pullFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/DescentData.lean, line 123. The attribute's comment: “part (2), the pullback functor”.
Pullback along a morphism of families defines a functor on quasicoherent descent data.
Its underlying functor is
Pseudofunctor.DescentData.pullFunctor; quasicoherence of its components follows from preservation of quasicoherence by pullback.
noncomputable def pullFunctor (Φ : 𝒰.HomOver 𝒱 g) :
QuasicoherentDescentData 𝒱.f ⥤ QuasicoherentDescentData 𝒰.f
AlgebraicGeometry.QuasicoherentDescentData.pullFunctor_comp_ι, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/DescentData.lean, line 135. The attribute's comment: “part (1), the pulled-back descent datum”.
After forgetting quasicoherence,
pullFunctoris exactly the usual pullback functor on descent data. Thus its objects have componentsg_i^* F_{α(i)}and the pulled-back transition isomorphisms, and its action on morphisms is componentwise pullback.
theorem pullFunctor_comp_ι (Φ : 𝒰.HomOver 𝒱 g) :
pullFunctor Φ ⋙ ObjectProperty.ι _ = ObjectProperty.ι _ ⋙
Pseudofunctor.DescentData.pullFunctor modulePullbackPseudofunctor
(f := 𝒱.f) (p := g) (f' := 𝒰.f) (α := Φ.s₀) (p' := Φ.h₀) Φ.w₀
AlgebraicGeometry.QuasicoherentDescentData.pullFunctorIsoOfEq, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/DescentData.lean, line 144. The attribute's comment: “part (3), functorial isomorphism when the maps of targets agree”.
Morphisms of families inducing the same morphism of targets give naturally isomorphic pullback functors on quasicoherent descent data.
noncomputable def pullFunctorIsoOfEq {g' : U ⟶ V} (Φ : 𝒰.HomOver 𝒱 g)
(Φ' : 𝒰.HomOver 𝒱 g') (h : g = g') : pullFunctor Φ ≅ pullFunctor Φ'
Tag 023D, a definition
Tag 023D in the Stacks Project.
AlgebraicGeometry.canonicalDescentFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/DescentData.lean, line 168. The attribute's comment: “part (2)”.
The functor sending a quasicoherent module on
Sto its canonical descent datum relative to the familyf i : X i ⟶ S.
noncomputable def canonicalDescentFunctor {I : Type v} {S : Scheme.{u}}
{X : I → Scheme.{u}} (f : ∀ i, X i ⟶ S) :
Functor (SheafOfModules.isQuasicoherent S.ringCatSheaf).FullSubcategory
(QuasicoherentDescentData f)
AlgebraicGeometry.trivialDescentData, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/DescentData.lean, line 190. The attribute's comment: “part (1)”.
The trivial descent datum on a quasicoherent module, relative to the singleton family whose only morphism is the identity of the base scheme.
noncomputable abbrev trivialDescentData {S : Scheme.{u}}
(M : (SheafOfModules.isQuasicoherent S.ringCatSheaf).FullSubcategory) :
QuasicoherentDescentData (PreZeroHypercover.singleton.{0} (𝟙 S)).f
AlgebraicGeometry.trivialDescentComponentIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/DescentData.lean, line 210. The attribute's comment: “part (1), identity comparison”.
The sole component of the trivial descent datum is naturally isomorphic to the original quasicoherent module.
noncomputable def trivialDescentComponentIso {S : Scheme.{u}} :
trivialDescentComponentFunctor (S := S) ≅
(SheafOfModules.isQuasicoherent S.ringCatSheaf).ι
AlgebraicGeometry.pullTrivialDescentIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/DescentData.lean, line 288. The attribute's comment: “part (2), pullback of the trivial datum”.
Pulling the trivial descent datum back along a family gives, naturally in the quasicoherent module, its canonical descent datum for that family.
noncomputable def pullTrivialDescentIso {S : Scheme.{u}} (𝒰 : PreZeroHypercover.{v} S) :
canonicalDescentFunctor (PreZeroHypercover.singleton.{0} (𝟙 S)).f ⋙
QuasicoherentDescentData.pullFunctor (toTrivialFamily 𝒰) ≅
canonicalDescentFunctor 𝒰.f
AlgebraicGeometry.QuasicoherentDescentData.IsEffective, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/DescentData.lean, line 320. The attribute's comment: “part (3)”.
A quasicoherent descent datum is effective if it is isomorphic to the canonical descent datum of a quasicoherent module on the target.
abbrev IsEffective (D : QuasicoherentDescentData f) : Prop
Tag 023E, a lemma
Tag 023E in the Stacks Project.
Stacks.Descent.isEffective_zariski, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/ZariskiEssSurj.lean, line 1215. The attribute's comment: “zariski_effectivity”.
The effectivity half of Stacks 023E. Every quasi-coherent descent datum for a family of open immersions whose images cover the target is effective. This is
Stacks.Descent.isEffective_of_essSurj_zariskiwith its standing essential-surjectivity hypothesis discharged byStacks.Descent.essSurj_toDescentData_zariski; the full faithfulness half isStacks.Descent.nonempty_fullyFaithful_canonicalDescentFunctor_zariski.
theorem isEffective_zariski {S : Scheme.{u}} {I : Type v} {Y : I → Scheme.{u}}
(f : ∀ i, Y i ⟶ S) [∀ i, IsOpenImmersion (f i)] (hf : ⨆ i, (f i).opensRange = ⊤)
(D : QuasicoherentDescentData f) : D.IsEffective
Stacks.Descent.nonempty_fullyFaithful_canonicalDescentFunctor_zariski, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/ZariskiGluing.lean, line 522. The attribute's comment: “zariski_full_faithfulness”.
The full faithfulness half of Stacks 023E. For a family of open immersions whose images cover the target, the canonical descent functor of Stacks 023D on quasi-coherent modules is fully faithful.
This is the full faithfulness clause of Stacks 023E; the effectivity clause is not proved here.
theorem nonempty_fullyFaithful_canonicalDescentFunctor_zariski
(hf : ⨆ i, (f i).opensRange = ⊤) :
Nonempty (canonicalDescentFunctor f).FullyFaithful
Sources
Section35.3 Descent for modules#
Section 35.3 of the Stacks Project, Tag 023F. 12 tags here are carried by 27 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 023G, a definition
Tag 023G in the Stacks Project.
ModuleCat.DescentData, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/DescentData.lean, line 244. The attribute's comment: “descent data”.
A descent datum for modules for an
R-algebraA.The transition is bundled as an
A ⊗[R] A-linear equivalence, andcocycleis the equalityφ₁₂ ∘ φ₀₁ = φ₀₂.
structure DescentData
ModuleCat.DescentData.Hom, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/DescentData.lean, line 271. The attribute's comment: “morphisms”.
A morphism of module descent data is an
A-linear map commuting with the transition isomorphisms.
structure Hom (D E : DescentData.{u, v, w} R A)
Tag 023H, a lemma
Tag 023H in the Stacks Project.
ModuleCat.exists_descentCosimplicialModuleFunctor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/CechCosimplicialModule.lean, line 1103.
Stacks Lemma 023H. To a descent datum
(N, φ)one can associate a cosimplicial module over the Čech algebra(A / R)_•by the rulesN_n = N_{n, n}andN_•(β) = φᵐ_{β(n), m} ∘ N_{β, n}, functorially in the descent datum.
public theorem exists_descentCosimplicialModuleFunctor :
∃ F : DescentData.{u, v, w} R A ⥤ CechModule.{u, v, w} R A,
IsDescentCosimplicialModuleFunctor R A F
ModuleCat.descentCosimplicialModuleFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/CechCosimplicialModule.lean, line 1120.
The functor which associates to a descent datum
(N, φ)its cosimplicial module over the Čech algebra(A / R)_•. It is characterised bydescentCosimplicialModuleFunctor_objanddescentCosimplicialModuleFunctor_map.
public noncomputable def descentCosimplicialModuleFunctor :
DescentData.{u, v, w} R A ⥤ CechModule.{u, v, w} R A
Tag 023I, a lemma
Tag 023I in the Stacks Project.
ModuleCat.cechTensorModule, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/CanonicalCechTensorModule.lean, line 246. The attribute's comment: “tensor cosimplicial module”.
The Čech cosimplicial algebra tensored with
M, together with its degreewise and cosimplicial-map specification.
public noncomputable def cechTensorModule (M : ModuleCat.{w} R) :
{T : CechModule.{u, v, w} R A // IsCechTensorModule R A M T}
ModuleCat.canonicalDescent_cosimplicialModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/CanonicalCechTensorModule.lean, line 560. The attribute's comment: “canonical isomorphism”.
The cosimplicial module associated to a canonical descent datum is isomorphic to the Čech cosimplicial algebra tensored with its base module.
public theorem canonicalDescent_cosimplicialModule
(M : ModuleCat.{w} R)
(D : DescentData.{u, v, w} R A)
(e : (A ⊗[R] M) ≃ₗ[A] D.module)
(he : ∀ (a b : A) (m : M),
D.transition ((e (a ⊗ₜ[R] m)) ⊗ₜ[R] b) =
a ⊗ₜ[R] (show restrictModule R A D.module from
e (b ⊗ₜ[R] m))) :
Nonempty (((descentCosimplicialModuleFunctor R A).obj D) ≅
(cechTensorModule R A M).1)
Tag 023J, a definition
Tag 023J in the Stacks Project.
ModuleCat.DescentData.IsEffective, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/DescentData.lean, line 310.
A module descent datum is effective if it is isomorphic to the canonical descent datum obtained by extending scalars from an
R-module.
abbrev DescentData.IsEffective (R : Type u) (A : Type v) [CommRing R] [CommRing A]
[Algebra R A] (D : DescentData.{u, v, w} R A) : Prop
Tag 023K, an equation
Tag 023K in the Stacks Project.
Stacks.Descent.augmentedDescentComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/AugmentedDescentComplex.lean, line 368. The attribute's comment: “the augmented complex 0 → M → A ⊗ M → A ⊗ A ⊗ M → ⋯”.
Equation 023K: the augmented descent complex
0 → M → A ⊗[R] M → A ⊗[R] A ⊗[R] M → ⋯of the ring mapR → Awith coefficients inM. It is the alternating coface map complex of(A/R)• ⊗[R] M, augmented byMalongm ↦ 1 ⊗ₜ m.
noncomputable def augmentedDescentComplex : CochainComplex (ModuleCat.{max u v} R) ℕ
Stacks.Descent.augmentedDescentComplexXIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/AugmentedDescentComplex.lean, line 387. The attribute's comment: “its degree-(n+1) term is A^{⊗(n+1)} ⊗_R M”.
The degree-
(n + 1)term of the augmented descent complex isA^{⊗(n + 1)} ⊗[R] M.
noncomputable def augmentedDescentComplexXIso (n : ℕ) :
ModuleCat.of R ((tensorPowerAlg R A n : Type u) ⊗[R] M) ≅
(augmentedDescentComplex R A M).X (n + 1)
Tag 023L, a lemma
Tag 023L in the Stacks Project.
AlgebraicTopology.amitsurExtendedCochainComplex_acyclic_of_section, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/Amitsur.lean, line 151.
Stacks Lemma 023L. If
R → Aadmits a section, then the extended Amitsur cochain complex with coefficients in anyR-moduleMis exact.
theorem amitsurExtendedCochainComplex_acyclic_of_section
(h : Nonempty (A →ₐ[R] R)) :
(amitsurExtendedCochainComplex R A M).Acyclic
Tag 023M, a lemma
Tag 023M in the Stacks Project.
Stacks.Descent.amitsurExtendedCochainComplex_acyclic_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/AmitsurAcyclic.lean, line 435. References: SGA 1 VIII (1.7), “affine case”.
Stacks Lemma 023M. For a faithfully flat algebra
Aover a commutative ringRand an arbitraryR-moduleM, the extended Amitsur cochain complexM → A ⊗[R] M → (A ⊗[R] A) ⊗[R] M → ⋯is exact in every degree.
theorem amitsurExtendedCochainComplex_acyclic_of_faithfullyFlat [Module.FaithfullyFlat R A] :
(amitsurExtendedCochainComplex R A M).Acyclic
AlgebraicTopology.amitsurExtendedCochainComplex_acyclic_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/ModuleEquivalence/FaithfullyFlatAmitsur.lean, line 1259. References: SGA 1 VIII (1.7), “affine case”.
Stacks Lemma 023M, and Stacks Lemma 03OA. The extended Amitsur cochain complex of a faithfully flat algebra is exact for every module of coefficients. Exactness of the extended complex
M → A ⊗[R] M → A ⊗[R] A ⊗[R] M → ⋯says both that the unaugmented complex is exact in positive degrees and that its degree-zero cohomology isM, which is the form 03OA states.
theorem amitsurExtendedCochainComplex_acyclic_of_faithfullyFlat
(R : Type u) (A : Type v) (M : Type w) [CommRing R] [CommRing A] [Algebra R A]
[AddCommGroup M] [Module R M] [Module.FaithfullyFlat R A] :
(amitsurExtendedCochainComplex R A M).Acyclic
ModuleCat.baseExtensionUnitEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/EffectiveDescent.lean, line 364. The attribute's comment: “degrees −1 and 0”. References: SGA 1 VIII (1.7), “affine case”.
Stacks Project, Tag 023M in degrees
−1and0. For a universally injective ring map the unitm ↦ 1 ⊗ mof the base-extension adjunction is an isomorphism ofMonto the invariants of the base-extended descent datum.Exactness of the extended cochain complex
0 → M → A ⊗[R] M → A ⊗[R] A ⊗[R] M → ⋯atMis injectivity of the unit, and exactness atA ⊗[R] Msays that the kernel of the next differential — which isModuleCat.invariantSubmodule R Aof the canonical descent datum onA ⊗[R] M— is the image of the unit. Together they are bijectivity of the unit onto the invariants. The source assumesR → Afaithfully flat; faithful flatness is used only through universal injectivity (Tag 08WL), which is the hypothesis here.
noncomputable def baseExtensionUnitEquiv
(h : Algebra.UniversallyInjective R A) (M : ModuleCat.{max u w} R) :
M ≃ₗ[R] invariantSubmodule R A
((baseExtension.{u, u, w} R A).functor.obj M)
Tag 039W, a lemma
Tag 039W in the Stacks Project.
ModuleCat.DescentData.isEffective_iff_canonicalMap_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/EffectiveCriterion.lean, line 560.
A module descent datum is effective if and only if its canonical map from the base change of its zeroth cohomology is an isomorphism.
public theorem isEffective_iff_canonicalMap_bijective
[Module.FaithfullyFlat R A] :
IsEffective R A D ↔
Function.Bijective (canonicalMap R A D)
Tag 039X, a lemma
Tag 039X in the Stacks Project.
ModuleCat.all_isEffective_of_faithfullyFlat_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/BaseChangeEffective.lean, line 49.
Stacks Project, Tag 039X. Let
R → Abe a faithfully flat ring map and letR → R'be faithfully flat, and setA' = R' ⊗[R] A. If all descent data forR' → A'are effective, then so are all descent data forR → A.
public theorem all_isEffective_of_faithfullyFlat_baseChange
(R A R' : Type u) [CommRing R] [CommRing A] [CommRing R']
[Algebra R A] [Algebra R R']
(hA : (algebraMap R A).FaithfullyFlat)
(_hR' : (algebraMap R R').FaithfullyFlat)
(_h : ∀ D : DescentData.{u, u, w} R' (R' ⊗[R] A), D.IsEffective R' (R' ⊗[R] A)) :
∀ D : DescentData.{u, u, x} R A, D.IsEffective R A
Tag 023N, a proposition
Tag 023N in the Stacks Project.
ModuleCat.isEffectiveDescentMorphismForModules_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/FaithfullyFlatEffective.lean, line 95. The attribute's comment: “(2)”. References: SGA 1 VIII (1.6), “effectivity”; SGA 1 VIII (1.1), “affine case”; SGA 4½ Arcata (1.4.5), “affine case”; SGA 4½ Arcata (1.4), “module equivalence”.
Stacks 023N, part (2). For a faithfully flat ring map
R → A, base extensionM ↦ (A ⊗[R] M, can)is an equivalence fromR-modules onto the category of descent data for modules alongR → A.
theorem isEffectiveDescentMorphismForModules_of_faithfullyFlat :
IsEffectiveDescentMorphismForModules.{u, u, w} R A
ModuleCat.baseExtension_essSurj_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/FaithfullyFlatEffective.lean, line 106. The attribute's comment: “(1)”. References: SGA 1 VIII (1.6), “effectivity”; SGA 1 VIII (1.1), “affine case, effectivity”; SGA 4½ Arcata (1.4.5), “ess. surj. (affine)”.
Stacks 023N, part (1). Every descent datum on modules along a faithfully flat ring map
R → Ais effective, that is, lies in the essential image of base extension.
theorem baseExtension_essSurj_of_faithfullyFlat :
(baseExtension.{u, u, w} R A).functor.EssSurj
ModuleCat.DescentData.isEffective_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/FaithfullyFlatEffectiveDescent.lean, line 84. The attribute's comment: “effectivity of descent data”. References: SGA 1 VIII (1.1), “affine case”; SGA 1 VIII (1.6), “effectivity”; SGA 4½ Arcata (1.4.5), “ess. surj. (affine)”; SGA 4½ Arcata (1.4), “module case”.
Stacks 023N, part (1). Every descent datum for modules along a faithfully flat ring map
R → Ais effective: it is isomorphic, as a descent datum, to the canonical datum on the extension of scalars of anR-module.
public theorem DescentData.isEffective_of_faithfullyFlat
(D : DescentData.{u, u, max u w} R A) : D.IsEffective R A
Stacks.Descent.faithfullyFlatInvariantsEquivalence, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/InvariantsInverseFunctor.lean, line 283. The attribute's comment: “(3)”. References: SGA 1 VIII (1.6), “more general”.
Stacks 023N, part (3). For a faithfully flat ring map
R → Athe functorM ↦ (A ⊗[R] M, can)fromR-modules to descent data for modules alongR → Ais an equivalence whose inverse functor is(N, φ) ↦ H⁰(s(N_•)), the kernel of the descent complex. Only part (3) is registered here; part (2), that the functor is an equivalence, isModuleCat.isEffectiveDescentMorphismForModules_of_faithfullyFlat.
def faithfullyFlatInvariantsEquivalence [Module.FaithfullyFlat R A] :
ModuleCat.{max u w} R ≌ DescentData.{u, u, max u w} R A
Stacks.Descent.faithfullyFlatInvariantsEquivalence_inverse, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/InvariantsInverseFunctor.lean, line 295. The attribute's comment: “(3)”.
Stacks 023N, part (3). The inverse functor of the equivalence of Stacks 023N is
ModuleCat.pushforward, that is(N, φ) ↦ H⁰(s(N_•)).
theorem faithfullyFlatInvariantsEquivalence_inverse [Module.FaithfullyFlat R A] :
(faithfullyFlatInvariantsEquivalence.{u, w} R A).inverse = pushforward R A
Tag 023O, a remark
Tag 023O in the Stacks Project.
PrimeSpectrum.faithfullyFlat_standardCoverAlgebra, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/StandardCoverAlgebra.lean, line 230. The attribute's comment: “faithfully flat product”.
The product of the principal localizations of a standard cover is faithfully flat.
public theorem faithfullyFlat_standardCoverAlgebra
(hf : PrimeSpectrum.IsStandardOpenCoverOfSpectrum f) :
Module.FaithfullyFlat R (∀ i : Fin m, Localization.Away (f i))
PrimeSpectrum.standardCoverCechDegreeEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/StandardCoverAlgebra.lean, line 332. The attribute's comment: “degree-wise Čech algebra”.
In degree
d, the Čech algebra of a standard cover is the product of the localizations at all(d + 1)-fold products of its covering elements.
public noncomputable def standardCoverCechDegreeEquiv (d : ℕ) :
((Arrow.mk (CommAlgCat.ofHom
(Algebra.ofId R (∀ i : Fin m, Localization.Away (f i))))).cechConerve).obj
(SimplexCategory.mk d) ≃ₐ[R]
(∀ i : Fin (d + 1) → Fin m, Localization.Away (∏ j, f (i j)))
Declarations registered for the tag:
Stacks.Cohomology.Cech.isZero_cechCohomology_of_isStandardOpenCover, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Descent/Parasitic/StandardCoverAlgebra.lean, line 341 (StacksFrontier): “Čech cohomology vanishing”.
Tag 039Y, a remark
Tag 039Y in the Stacks Project.
ModuleCat.descentDataEquivCartesianCechModule, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/CartesianCechEquivalence.lean, line 1274. The attribute's comment: “(2): descent data for A / R correspond to cartesian (A / R)_•-modules, through the cosimplicial module of a descent datum of Stacks 023H”.
Let
Abe anR-algebra. Descent data forA / Rcorrespond to cartesian(A / R)_•-modules: the functor(N, φ) ↦ N_•, sending a descent datum to its cosimplicial module over the Čech algebra(A / R)_•(N_n = N_{n, n},N_•(β) = φᵐ_{β(n), m} ∘ N_{β, n}), is an equivalence of categories between descent data and cartesian(A / R)_•-modules. Its inverse sends a cartesian moduleMtoM_0with the transitionM_0 ⊗_R A ≅ M_1 ≅ A ⊗_R M_0read off from the cartesian isomorphisms along the two cofaces⦋0⦌ ⟶ ⦋1⦌(ModuleCat.cartesianDescentDataFunctor). No flatness is assumed.
noncomputable def descentDataEquivCartesianCechModule :
DescentData.{u, u, max u w} R A ≌ CartesianCechModule.{u, u, max u w} R A
CategoryTheory.Arrow.cechConerve_homotopyEquivalent_const_of_section, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/CechConerve.lean, line 118. The attribute's comment: “split_cech_homotopy”.
A split Čech conerve is homotopy equivalent to the constant cosimplicial object on the base. For commutative
R-algebras this is the split Čech algebra(A/R)•and the constant algebraR.
theorem cechConerve_homotopyEquivalent_const_of_section
{C : Type u} [Category.{v} C] (f : Arrow C)
[∀ n : ℕ, HasWidePushout f.left (fun _ : Fin (n + 1) => f.right) fun _ => f.hom]
(h : ∃ s : f.right ⟶ f.left, f.hom ≫ s = 𝟙 f.left) :
∃ a : f.cechConerve.op ⟶ ((CosimplicialObject.const C).obj f.left).op,
SimplicialObject.homotopyEquivalences Cᵒᵖ a
CategoryTheory.CosimplicialModule.Cartesian, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/Cosimplicial.lean, line 74. The attribute's comment: “cartesian_module”.
A cosimplicial module is cartesian when every cosimplicial transition map induces an isomorphism after extension of scalars.
abbrev Cartesian (M : CosimplicialModule A) : Prop
CategoryTheory.CosimplicialModule.isEquivalence_cartesianBaseChange_of_homotopyEquivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/CosimplicialCartesian.lean, line 651. The attribute's comment: “(4): base change along a homotopy equivalence of cosimplicial algebras is an equivalence of the categories of cartesian modules”.
Stacks 039Y (4). If
α : A_• ⟶ B_•is a homotopy equivalence of cosimplicialR-algebras, then the functorM_• ↦ M_• ⊗_{A_•} B_•is an equivalence of categories between the cartesianA_•-modules and the cartesianB_•-modules.A homotopy equivalence is taken in the sense of Simplicial, Definition 019N, through the opposite category (cosimplicial homotopies being simplicial homotopies of the opposite objects, Simplicial, Lemma 019X), exactly as in Stacks 039Y (3) here (
CategoryTheory.Arrow.cechConerve_homotopyEquivalent_const_of_section). The proof is the source's "triviality": base change along homotopic morphisms gives isomorphic functors (CategoryTheory.CosimplicialModule.nonempty_iso_cartesianBaseChange_of_homotopic), so a homotopy inverseβmakes base change alongα ≫ βand alongβ ≫ αisomorphic to the identities, and base change is functorial (CategoryTheory.CosimplicialModule.cartesianBaseChangeCompIso).
theorem isEquivalence_cartesianBaseChange_of_homotopyEquivalence (α : A ⟶ B)
(hα : SimplicialObject.homotopyEquivalences (CommAlgCat.{v, u} R)ᵒᵖ (NatTrans.op α)) :
(cartesianBaseChange.{u, v, w} α).IsEquivalence
ModuleCat.all_isEffective_of_faithfullyFlat_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/BaseChangeEffective.lean, line 49. The attribute's comment: “(1): descent data for A / R are effective once those for (R' ⊗ A) / R' are”.
Stacks Project, Tag 039X. Let
R → Abe a faithfully flat ring map and letR → R'be faithfully flat, and setA' = R' ⊗[R] A. If all descent data forR' → A'are effective, then so are all descent data forR → A.
public theorem all_isEffective_of_faithfullyFlat_baseChange
(R A R' : Type u) [CommRing R] [CommRing A] [CommRing R']
[Algebra R A] [Algebra R R']
(hA : (algebraMap R A).FaithfullyFlat)
(_hR' : (algebraMap R R').FaithfullyFlat)
(_h : ∀ D : DescentData.{u, u, w} R' (R' ⊗[R] A), D.IsEffective R' (R' ⊗[R] A)) :
∀ D : DescentData.{u, u, x} R A, D.IsEffective R A
Sources
Section35.4 Descent for universally injective morphisms#
Section 35.4 of the Stacks Project, Tag 08WE. 23 tags here are carried by 39 declarations of the repository (all in StacksFrontier) and 10 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 08WG, an equation
Tag 08WG in the Stacks Project.
Stacks.Descent.IsEqualizerDiagram, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/EqualizerDiagram.lean, line 60. The attribute's comment: “the displayed diagram is an equalizer”.
The diagram
A ⟶ B ⇉ Cconsisting off : A ⟶ Band a parallel pairg₁, g₂ : B ⟶ Cis an equalizer: the two compositesf ≫ g₁andf ≫ g₂agree, andfis universal for that property, meaning that everye : A' ⟶ Bequalizingg₁andg₂factors ase = d ≫ ffor a uniqued : A' ⟶ A.
structure IsEqualizerDiagram (f : A ⟶ B) (g₁ g₂ : B ⟶ C) : Prop
Tag 08WH, a definition
Tag 08WH in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.IsSplitEqualizerregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch35.lean, line 19 (StacksFrontier): “as a structure carryinghandi; 'is a split equalizer' is itsNonempty”.
Tag 08WK, a remark
Tag 08WK in the Stacks Project.
CategoryTheory.Functor.reflectsMonomorphisms_of_preservesFiniteLimits_of_reflectsZeroObjects, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Exactness.lean, line 59. The attribute's comment: “monomorphisms”.
A left exact functor between abelian categories which reflects zero objects reflects monomorphisms.
theorem reflectsMonomorphisms_of_preservesFiniteLimits_of_reflectsZeroObjects
(F : A ⥤ B) [PreservesFiniteLimits F]
(hF : ∀ X, IsZero (F.obj X) → IsZero X) : F.ReflectsMonomorphisms
CategoryTheory.Functor.reflectsEpimorphisms_of_preservesFiniteColimits_of_reflectsZeroObjects, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Exactness.lean, line 68. The attribute's comment: “epimorphisms”.
A right exact functor between abelian categories which reflects zero objects reflects epimorphisms.
theorem reflectsEpimorphisms_of_preservesFiniteColimits_of_reflectsZeroObjects
(F : A ⥤ B) [PreservesFiniteColimits F]
(hF : ∀ X, IsZero (F.obj X) → IsZero X) : F.ReflectsEpimorphisms
ModuleCat.extendScalars_isZero_iff_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Exactness.lean, line 83. The attribute's comment: “faithfully flat extension of scalars detects zero objects”. References: EGA IV (2.2.7), “special case”.
Extension of scalars along a faithfully flat ring homomorphism detects zero modules.
theorem extendScalars_isZero_iff_of_faithfullyFlat (f : R →+* S)
(hf : f.FaithfullyFlat) (M : ModuleCat.{u} R) :
IsZero ((ModuleCat.extendScalars f).obj M) ↔ IsZero M
ModuleCat.extendScalars_reflectsMonomorphisms_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Exactness.lean, line 95. The attribute's comment: “faithfully flat extension of scalars reflects monomorphisms”. References: SGA 1 IV (2.1), “special case”; SGA 4½ Arcata (1.4.2), “Clause (i), special case”.
Extension of scalars along a faithfully flat ring homomorphism reflects monomorphisms.
theorem extendScalars_reflectsMonomorphisms_of_faithfullyFlat (f : R →+* S)
(hf : f.FaithfullyFlat) :
(ModuleCat.extendScalars.{u, u, u} f).ReflectsMonomorphisms
ModuleCat.extendScalars_reflectsEpimorphisms_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Exactness.lean, line 105. The attribute's comment: “faithfully flat extension of scalars reflects epimorphisms”. References: SGA 1 IV (2.1), “special case”.
Extension of scalars along a faithfully flat ring homomorphism reflects epimorphisms.
theorem extendScalars_reflectsEpimorphisms_of_faithfullyFlat (f : R →+* S)
(hf : f.FaithfullyFlat) :
(ModuleCat.extendScalars.{u, u, u} f).ReflectsEpimorphisms
Declarations registered for the tag:
ModuleCat.preservesFiniteLimits_extendScalars_of_flatregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Exactness.lean, line 47 (StacksFrontier): “exactness of extension of scalars”. References: EGA 0 (20.6.21), “partial”.
Tag 08WL, a definition
Tag 08WL in the Stacks Project.
Algebra.UniversallyInjective, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Defs.lean, line 45.
A ring map
R → Sis universally injective as a map ofR-modules: for everyR-moduleQ, the map(Algebra.linearMap R S) ⊗ id_Qis injective.
def Algebra.UniversallyInjective (R : Type u) [CommRing R] (S : Type u) [CommRing S]
[Algebra R S] : Prop
Tag 08WM, an example
Tag 08WM in the Stacks Project.
UniversallyInjective.of_split, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Defs.lean, line 51. The attribute's comment: “module maps”.
A split injection of modules is universally injective.
theorem UniversallyInjective.of_split
{R : Type u} [CommRing R]
{M N : Type v} [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N]
(f : M →ₗ[R] N) (g : N →ₗ[R] M) (h : g.comp f = LinearMap.id) :
UniversallyInjective f
Algebra.UniversallyInjective.of_split, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Defs.lean, line 62. The attribute's comment: “ring maps”.
A split ring map is universally injective.
theorem Algebra.UniversallyInjective.of_split
(R S : Type u) [CommRing R] [CommRing S] [Algebra R S]
(g : S →+* R) (h : g.comp (algebraMap R S) = RingHom.id R) :
Algebra.UniversallyInjective R S
Tag 08WN, an example
Tag 08WN in the Stacks Project.
Algebra.UniversallyInjective.pi_localizationAway, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Localization.lean, line 107.
A family of principal localizations covering
Spec Ryields a universally injective canonical map fromRto their product.
theorem Algebra.UniversallyInjective.pi_localizationAway
{R : Type u} [CommRing R] {ι : Type u} (f : ι → R)
(hspan : Ideal.span (Set.range f) = ⊤) :
Algebra.UniversallyInjective R (∀ i : ι, Localization.Away (f i))
Tag 08WP, a lemma
Tag 08WP in the Stacks Project.
Declarations registered for the tag:
faithfullyFlat_universallyInjective, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/Defs.lean, line 73 (StacksFrontier).
Tag 08WQ, a definition
Tag 08WQ in the Stacks Project.
CharacterModule.dualFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/CharacterModule/Duality.lean, line 55.
The contravariant functor
M ↦ M^∨ = Hom_ℤ(M, ℚ/ℤ)on modules over a commutative ring, acting on a linear map by precomposition (CharacterModule.dual).
noncomputable def dualFunctor (R : Type u) [CommRing R] :
(ModuleCat.{u} R)ᵒᵖ ⥤ ModuleCat.{u} R
Tag 08WR, a lemma
Tag 08WR in the Stacks Project.
Declarations registered for the tag:
CharacterModule.dual_exact, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/CharacterModule.lean, line 61 (StacksFrontier): “exactness”.CharacterModule.dual_surjective_iff_injectiveregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/CharacterModule.lean, line 63 (StacksFrontier): “reflection of injections”.CharacterModule.dual_injective_iff_surjectiveregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/CharacterModule.lean, line 66 (StacksFrontier): “reflection of surjections”.
Tag 08WS, a remark
Tag 08WS in the Stacks Project.
CharacterModule.dual_map_conj_homEquiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/TensorHomAdjunction.lean, line 74. The attribute's comment: “naturality of the adjunction isomorphism”.
Stacks 08WS. The adjunction isomorphism
C(• ⊗_R •) ≅ Hom_R(•, C(•))is natural in both variables: conjugatingC(f ⊗ g)by it givesφ ↦ C(g) ∘ φ ∘ f.
theorem dual_map_conj_homEquiv (f : M₁ →ₗ[R] M₁') (g : M₂ →ₗ[R] M₂') :
homEquiv.symm.toLinearMap ∘ₗ dual (TensorProduct.map f g) ∘ₗ homEquiv.toLinearMap =
LinearMap.compRight R (dual g) ∘ₗ LinearMap.lcomp R (CharacterModule M₂') f
CharacterModule.isSplitCoequalizer_dual_rTensor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/TensorHomAdjunction.lean, line 178. The attribute's comment: “split coequalizers of character modules are preserved by tensoring inside C”.
Stacks 08WS, the corollary of the adjunction. If
C(M) ⇉ C(N) → C(P)is a split coequalizer diagram ofR-modules, the arrows being the character-module duals ofu,v : N → Mandw : P → N, then so isC(M ⊗_R Q) ⇉ C(N ⊗_R Q) → C(P ⊗_R Q), for anyR-moduleQ.
noncomputable def isSplitCoequalizer_dual_rTensor (u v : N →ₗ[R] M) (w : P →ₗ[R] N)
(q : IsSplitCoequalizer (ModuleCat.ofHom (dual u)) (ModuleCat.ofHom (dual v))
(ModuleCat.ofHom (dual w))) :
IsSplitCoequalizer (ModuleCat.ofHom (dual (u.rTensor Q)))
(ModuleCat.ofHom (dual (v.rTensor Q))) (ModuleCat.ofHom (dual (w.rTensor Q)))
Declarations registered for the tag:
CharacterModule.homEquivregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/TensorHomAdjunction.lean, line 222 (StacksFrontier): “adjunction isomorphism”. References: SGA 5 IIIB (5.2), “5.2.1 with K = B = Z”.CharacterModule.homEquiv_symm_apply_apply_applyregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/TensorHomAdjunction.lean, line 225 (StacksFrontier): “the displayed formula for the isomorphism”.
Tag 08WU, a lemma
Tag 08WU in the Stacks Project.
universallyInjective_iff_dual_splitSurjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/CharacterModule.lean, line 91.
A module map is universally injective exactly when its character-module dual admits a linear section.
theorem universallyInjective_iff_dual_splitSurjective
{R : Type u} [CommRing R]
{M N : Type v} [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N]
(f : M →ₗ[R] N) :
UniversallyInjective f ↔
∃ s : CharacterModule M →ₗ[R] CharacterModule N,
(CharacterModule.dual f).comp s = LinearMap.id
Tag 08WV, a remark
Tag 08WV in the Stacks Project.
exists_functorialCharacterModuleSplitting, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/UniversallyInjective/CharacterModule.lean, line 128.
A universally injective map admits a section after applying the character module functor, and the section obtained on
C(P ⊗ -)by postcomposition is a splitting functorial in the moduleP.
theorem exists_functorialCharacterModuleSplitting
{R : Type u} [CommRing R]
{M N : Type v} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N]
(f : M →ₗ[R] N) (hf : UniversallyInjective f) :
∃ g : CharacterModule M →ₗ[R] CharacterModule N,
CharacterModule.dual f ∘ₗ g = LinearMap.id ∧
(∀ (P : Type v) [AddCommGroup P] [Module R P],
CharacterModule.dual (LinearMap.lTensor P f) ∘ₗ
functorialCharacterModuleSection g P =
LinearMap.id) ∧
∀ (P Q : Type v) [AddCommGroup P] [Module R P]
[AddCommGroup Q] [Module R Q] (h : P →ₗ[R] Q),
functorialCharacterModuleSection g P ∘ₗ
CharacterModule.dual (LinearMap.rTensor M h) =
CharacterModule.dual (LinearMap.rTensor N h) ∘ₗ
functorialCharacterModuleSection g Q
Tag 08WX, an equation
Tag 08WX in the Stacks Project.
ModuleCat.DescentData, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/DescentData.lean, line 244. The attribute's comment: “the cocycle condition, as the cocycle field”.
A descent datum for modules for an
R-algebraA.The transition is bundled as an
A ⊗[R] A-linear equivalence, andcocycleis the equalityφ₁₂ ∘ φ₀₁ = φ₀₂.
structure DescentData
Tag 08WY, a definition
Tag 08WY in the Stacks Project.
ModuleCat.baseExtension, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/BaseExtension.lean, line 236. The attribute's comment: “the functor”.
Stacks Project, Tag 08WY. The base-extension functor from
R-modules to descent data for modules alongR → A, bundled with its canonical objectwise description.
def baseExtension : BaseExtension.{u, v, w} R A
ModuleCat.IsDescentMorphismForModules, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/BaseExtension.lean, line 252. The attribute's comment: “descent morphism”.
Stacks Project, Tag 08WY. An algebra map is a descent morphism for modules when its base-extension functor is fully faithful.
abbrev IsDescentMorphismForModules : Prop
ModuleCat.IsEffectiveDescentMorphismForModules, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/BaseExtension.lean, line 260. The attribute's comment: “effective descent morphism”. References: SGA 4 Vbis (2.4.10), “modules over a ring map”; SGA 4 Vbis (2.2.2), “modules over rings”.
Stacks Project, Tag 08WY. An algebra map is an effective descent morphism for modules when its base-extension functor is an equivalence of categories.
abbrev IsEffectiveDescentMorphismForModules : Prop
Tag 08WZ, a lemma
Tag 08WZ in the Stacks Project.
ModuleCat.DescentData.isSplitEqualizer_descentComparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/SplitEqualizer.lean, line 457.
Stacks Project, Tag 08WZ. The canonically associated diagram is a split equalizer of
A-modules.
theorem isSplitEqualizer_descentComparison
(D : DescentData.{u, v, w} R A) :
Nonempty (IsSplitEqualizer
(ModuleCat.ofHom (transition12AfterUnitHom R A D))
(ModuleCat.ofHom (rightUnitBaseChangeHom R A D))
(ModuleCat.ofHom (descentComparisonHom R A D)))
ModuleCat.DescentData.isSplitEqualizer_inverseTransitionUnitHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/TransitionSplitEqualizer.lean, line 602.
Stacks Project, Tag 08WZ. For a descent datum
(M, θ)relative toR → S, the diagramis a split equalizer ofθ ∘ (1 ⊗ δ₀¹) (θ ⊗ δ₂²) ∘ (1 ⊗ δ₀²) M ---------------> M ⊗_{S, δ₁¹} S₂ ========================> M ⊗_{S, δ₁₂¹} S₃ 1 ⊗ δ₁²S-modules. HereM ⊗_{S, δ₁¹} S₂ = N ⊗[R] AandM ⊗_{S, δ₁₂¹} S₃ = (N ⊗[R] A) ⊗[R] A, on whichSacts through the last tensor factor, andθisinverseTransition, the inverse of the transition isomorphism; see the module docstring for the identifications. The auxiliary maps are1 ⊗ σ₀⁰and1 ⊗ σ₀¹, seeinverseTransitionUnitSplitEqualizer.
theorem isSplitEqualizer_inverseTransitionUnitHom (D : DescentData.{u, v, w} R A) :
Nonempty (IsSplitEqualizer (inverseTransition01AfterUnitHom D) (middleUnitInsertionHom D)
(inverseTransitionUnitHom D))
Tag 08X1, a lemma
Tag 08X1 in the Stacks Project.
ModuleCat.DescentData.isSplitCoequalizer_characterModule_descentComparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/SplitEqualizer.lean, line 523.
Stacks Project, Tag 08X1. Character duality turns the descent equalizer into a split coequalizer.
theorem isSplitCoequalizer_characterModule_descentComparison
(D : DescentData.{u, v, w} R A) :
Nonempty (IsSplitCoequalizer
(ModuleCat.ofHom (CharacterModule.dual (transition12AfterUnitHom R A D)))
(ModuleCat.ofHom (CharacterModule.dual (rightUnitBaseChangeHom R A D)))
(ModuleCat.ofHom (CharacterModule.dual (descentComparisonHom R A D))))
Tag 08X3, a lemma
Tag 08X3 in the Stacks Project.
Stacks.Descent.isSplitEqualizerTensorInsertOne, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/TensorPowerSplitEqualizer.lean, line 83.
Stacks Project, Tag 08X3. The diagram
S₁ --δ¹₁--> S₂ ⇉ S₃of tensor powers ofAoverR, whose parallel arrows areδ²₂andδ²₁, is a split equalizer of commutativeR-algebras. Its splittings are the codegeneracy mapsσ⁰₀andσ¹₀.
noncomputable def isSplitEqualizerTensorInsertOne :
IsSplitEqualizer (tensorInsertOne R A 1 2) (tensorInsertOne R A 1 1)
(tensorInsertOne R A 0 1)
Tag 08X5, a definition
Tag 08X5 in the Stacks Project.
ModuleCat.pushforward, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Module/Pushforward.lean, line 78.
Pushforward sends a module descent datum to the equalizer of its two pullbacks to
A ⊗[R] A.
def pushforward : DescentData.{u, v, w} R A ⥤ ModuleCat.{w} R
Tag 08X7, a lemma
Tag 08X7 in the Stacks Project.
ModuleCat.tensorPushforwardComparison_tmul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/TensorEqualizer/Comparison.lean, line 302. The attribute's comment: “comparison formula”.
Under tensor symmetry, the first arrow applies the descent transition to the unit pullback of the scalar multiple of an invariant section.
public theorem tensorPushforwardComparison_tmul
(D : DescentData.{u, v, w} R A)
(a : A) (m : invariantSubmodule R A D) :
tensorPushforwardComparison R A D (a ⊗ₜ[R] m) =
D.transitionRestrictScalars R A
((a • (m.1 : restrictModule R A D.module)) ⊗ₜ[R] (1 : A))
ModuleCat.tensorPushforwardComparison_condition, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/TensorEqualizer/Comparison.lean, line 320. The attribute's comment: “fork condition”.
The base-changed inclusion equalizes the two pullbacks of a descent datum.
public theorem tensorPushforwardComparison_condition
(D : DescentData.{u, v, w} R A) :
ModuleCat.ofHom (tensorPushforwardComparison R A D) ≫
ModuleCat.ofHom (DescentData.transition12AfterUnitHom R A D) =
ModuleCat.ofHom (tensorPushforwardComparison R A D) ≫
ModuleCat.ofHom (DescentData.rightUnitBaseChangeHom R A D)
ModuleCat.tensorPushforward_isEqualizer, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/TensorEqualizer/Equalizer.lean, line 536. The attribute's comment: “equalizer”.
For a universally injective ring map, the displayed diagram of
A-modules is an equalizer. The middle and right objects and both parallel arrows use the canonical identifications from the descent datum.
public noncomputable def tensorPushforward_isEqualizer
(h : Stacks.UniversalInjectivity.LocalizationCriteria.UniversallyInjective.{u}
(Algebra.linearMap R A))
(D : DescentData.{u, v, w} R A) :
CategoryTheory.Limits.IsLimit
(CategoryTheory.Limits.Fork.ofι
(ModuleCat.ofHom (tensorPushforwardComparison R A D))
(tensorPushforwardComparison_condition R A D))
Tag 08XA, a theorem
Tag 08XA in the Stacks Project.
ModuleCat.isDescentMorphismForModules_iff_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/EffectiveDescent.lean, line 689. The attribute's comment: “descent morphism”.
A ring map is a descent morphism for modules exactly when it is universally injective.
public theorem isDescentMorphismForModules_iff_universallyInjective :
IsDescentMorphismForModules.{u, u, w} R A ↔
Algebra.UniversallyInjective R A
ModuleCat.isEffectiveDescentMorphismForModules_iff_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/EffectiveDescent.lean, line 697. The attribute's comment: “effective descent morphism”.
A ring map is an effective descent morphism for modules exactly when it is universally injective.
public theorem isEffectiveDescentMorphismForModules_iff_universallyInjective :
IsEffectiveDescentMorphismForModules.{u, u, w} R A ↔
Algebra.UniversallyInjective R A
Tag 08XC, a lemma
Tag 08XC in the Stacks Project.
Declarations registered for the tag:
Module.Flat.iff_characterModule_injectiveregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch35.lean, line 24 (StacksFrontier): “Mathlib proves the equivalence, under[Small.{v} R]”. References: SGA 4 V (1.2), “(ii) ⇒ (i)”.Module.Flat.iff_characterModule_baerregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch35.lean, line 26 (StacksFrontier): “universe-free form, withModule.Baer.injective”. References: SGA 4 V (1.2), “(ii) ⇒ (i)”.
Tag 08XD, a theorem
Tag 08XD in the Stacks Project.
Module.finite_iff_baseChange_of_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/BaseChangeFiniteness.lean, line 53. The attribute's comment: “finite”. References: EGA IV (2.5.2), “(i), affine case”; EGA IV (2.5.4), “(i), affine case”; SGA 1 VIII (1.11), “finite type”; SGA 4½ Arcata (1.4.2), “(ii) finite type”.
Finite generation descends and ascends along a universally injective ring map.
theorem finite_iff_baseChange_of_universallyInjective
{R : Type u} [CommRing R] {S : Type u} [CommRing S] [Algebra R S]
(hRS : Algebra.UniversallyInjective R S)
(M : Type v) [AddCommGroup M] [Module R M] :
Module.Finite R M ↔ Module.Finite S (TensorProduct R S M)
Module.finitePresentation_iff_baseChange_of_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/BaseChangeFiniteness.lean, line 213. The attribute's comment: “finite_presentation”. References: EGA IV (2.5.2), “(ii), affine case”; EGA IV (2.5.4), “(ii), affine case”; SGA 1 VIII (1.11), “finite presentation”; SGA 4½ Arcata (1.4.2), “(ii) finite presentation”.
Finite presentation descends and ascends along a universally injective ring map.
theorem finitePresentation_iff_baseChange_of_universallyInjective
{R : Type u} [CommRing R] {S : Type u} [CommRing S] [Algebra R S]
(hRS : Algebra.UniversallyInjective R S)
(M : Type v) [AddCommGroup M] [Module R M] :
Module.FinitePresentation R M ↔
Module.FinitePresentation S (TensorProduct R S M)
Module.flat_iff_baseChange_of_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/BaseChangeFlat.lean, line 204. The attribute's comment: “flat”.
Flatness descends and ascends along a universally injective ring map.
theorem flat_iff_baseChange_of_universallyInjective
{R : Type u} [CommRing R] {S : Type u} [CommRing S] [Algebra R S]
(hRS : Algebra.UniversallyInjective R S)
(M : Type v) [AddCommGroup M] [Module R M] :
Module.Flat R M ↔ Module.Flat S (TensorProduct R S M)
Module.faithfullyFlat_iff_baseChange_of_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/BaseChangeFlat.lean, line 238. The attribute's comment: “faithfully_flat”. References: EGA 0 (6.6.3), “more general”.
Faithful flatness descends and ascends along a universally injective ring map.
theorem faithfullyFlat_iff_baseChange_of_universallyInjective
{R : Type u} [CommRing R] {S : Type u} [CommRing S] [Algebra R S]
(hRS : Algebra.UniversallyInjective R S)
(M : Type v) [AddCommGroup M] [Module R M] :
Module.FaithfullyFlat R M ↔ Module.FaithfullyFlat S (TensorProduct R S M)
Module.finite_projective_iff_baseChange_of_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/BaseChangeProjective.lean, line 40. The attribute's comment: “finite_projective”.
Finite projectivity descends and ascends along a universally injective ring map.
theorem finite_projective_iff_baseChange_of_universallyInjective
{R : Type u} [CommRing R] {S : Type u} [CommRing S] [Algebra R S]
(hRS : Algebra.UniversallyInjective R S)
(M : Type v) [AddCommGroup M] [Module R M] :
(Module.Finite R M ∧ Module.Projective R M) ↔
(Module.Finite S (TensorProduct R S M) ∧
Module.Projective S (TensorProduct R S M))
Tag 08XE, a theorem
Tag 08XE in the Stacks Project.
Algebra.finiteType_iff_tensorProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/AlgebraBaseChangeFiniteness.lean, line 53. The attribute's comment: “finite_type”. References: EGA IV (1.3.1), “special case”.
Stacks Project, Tag 08XE (finite type). Finite type descends along a universally injective ring map and is preserved by base change.
theorem finiteType_iff_tensorProduct
(R S A : Type u) [CommRing R] [CommRing S] [CommRing A]
[Algebra R S] [Algebra R A] (h : Algebra.UniversallyInjective R S) :
Algebra.FiniteType R A ↔ Algebra.FiniteType S (A ⊗[R] S)
Algebra.finitePresentation_iff_baseChange_of_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/AlgebraBaseChangeFiniteness.lean, line 146. The attribute's comment: “finite_presentation”.
Finite presentation of an algebra descends and ascends along a universally injective ring map.
theorem finitePresentation_iff_baseChange_of_universallyInjective
{R : Type u} [CommRing R] {S : Type u} [CommRing S] [Algebra R S]
(hRS : Algebra.UniversallyInjective R S)
(A : Type u) [CommRing A] [Algebra R A] :
Algebra.FinitePresentation R A ↔
Algebra.FinitePresentation S (TensorProduct R S A)
Algebra.formallyUnramified_iff_tensorProduct_of_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/AlgebraBaseChangeUnramified.lean, line 52. The attribute's comment: “formally_unramified”.
Formal unramifiedness descends and ascends along a universally injective base-ring map.
theorem formallyUnramified_iff_tensorProduct_of_universallyInjective
(R S A : Type u) [CommRing R] [CommRing S] [CommRing A]
[Algebra R S] [Algebra R A] (hRS : Algebra.UniversallyInjective R S) :
Algebra.FormallyUnramified R A ↔
Algebra.FormallyUnramified S (TensorProduct R A S)
Algebra.unramified_iff_baseChange_of_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/AlgebraBaseChangeUnramified.lean, line 72. The attribute's comment: “unramified”.
Unramifiedness descends and ascends along a universally injective ring map.
theorem unramified_iff_baseChange_of_universallyInjective
{R : Type u} [CommRing R] {S : Type u} [CommRing S] [Algebra R S]
(hRS : Algebra.UniversallyInjective R S)
(A : Type u) [CommRing A] [Algebra R A] :
Algebra.Unramified R A ↔ Algebra.Unramified S (A ⊗[R] S)
Algebra.etale_iff_baseChange_of_universallyInjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/AlgebraBaseChangeUnramified.lean, line 91. The attribute's comment: “etale”.
Étaleness descends and ascends along a universally injective ring map.
theorem etale_iff_baseChange_of_universallyInjective
{R : Type u} [CommRing R] {S : Type u} [CommRing S] [Algebra R S]
(hRS : Algebra.UniversallyInjective R S)
(A : Type u) [CommRing A] [Algebra R A] :
Algebra.Etale R A ↔ Algebra.Etale S (TensorProduct R S A)
Sources
Section35.5 Fpqc descent of quasi-coherent sheaves#
Section 35.5 of the Stacks Project, Tag 023R. 2 tags here are carried by 5 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 023S, a lemma
Tag 023S in the Stacks Project.
AlgebraicGeometry.QuasicoherentDescentData.nonempty_fullyFaithful_canonicalDescentFunctor_standardFpqc, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/StandardFpqc023S.lean, line 224. The attribute's comment: “full faithfulness”. References: SGA 1 VIII (1.1), “standard affine case”.
The full faithfulness half of [Stacks, Tag 023S]: let
Sbe an affine scheme and let{f i : X i ⟶ S}be a standard fpqc covering ofSin the sense of Stacks 022F. Then the functor from quasi-coherentO_S-modules to quasi-coherent descent data for the family is fully faithful.The content is the unconditional
…QuasicoherentDescentData.nonempty_fullyFaithful_canonicalDescentFunctor_of_mem_fpqcPrecoverage, which holds for an arbitrary fpqc covering family of an arbitrary scheme; all that is done here is to supply the covering hypothesis in the elementary form in which Stacks 022F states it, byAlgebraicGeometry.QuasicoherentDescentData.presieve₀_mem_fpqcPrecoverage_standardFpqc.
theorem nonempty_fullyFaithful_canonicalDescentFunctor_standardFpqc
(𝒲 : PreZeroHypercover.{0} S) [Finite 𝒲.I₀] [∀ i, IsAffine (𝒲.X i)] [∀ i, Flat (𝒲.f i)]
(hsurj : ⋃ i, Set.range (𝒲.f i) = Set.univ) :
Nonempty (canonicalDescentFunctor 𝒲.f).FullyFaithful
AlgebraicGeometry.QuasicoherentDescentData.isEffective_standardFpqc_of_isAffine, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/StandardFpqc023S.lean, line 245. The attribute's comment: “effectivity”. References: SGA 1 VIII (1.1), “standard affine case”; SGA 1 VIII (1.3), “Cor. 1.3, special case”.
The effectivity half of [Stacks, Tag 023S]: let
Sbe an affine scheme and let{f i : X i ⟶ S}be a standard fpqc covering ofSin the sense of Stacks 022F — a finite family of flat morphisms from affine schemes whose images coverS. Then every quasi-coherent descent datum for the family is effective, i.e. isomorphic to the canonical descent datum of a quasi-coherent module onS.This is
AlgebraicGeometry.QuasicoherentDescentData.isEffective_standardFpqc, whose base is literally of the formSpec R, transported to an arbitrary affine base alongAlgebraicGeometry.Scheme.isoSpec. The transport runs in the vocabulary ofStacks.Descent.qcohPseudofunctor, whereStacks.Descent.essSurj_toDescentData_of_baseIsois available; see the implementation notes of this file.
theorem isEffective_standardFpqc_of_isAffine (𝒲 : PreZeroHypercover.{0} S) [Finite 𝒲.I₀]
[∀ i, IsAffine (𝒲.X i)] [∀ i, Flat (𝒲.f i)]
(hsurj : ⋃ i, Set.range (𝒲.f i) = Set.univ)
(D : QuasicoherentDescentData 𝒲.f) : D.IsEffective
Tag 023T, a proposition
Tag 023T in the Stacks Project.
AlgebraicGeometry.nonempty_fullyFaithful_canonicalDescentFunctor', a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/FpqcHomSheafRefinement.lean, line 353. The attribute's comment: “the moreover assertion, full faithfulness”. References: SGA 1 VIII (1.1), “full faithfulness”.
For every fpqc covering family the functor from the quasi-coherent
𝒪_S-modules to the descent data with respect to that family is fully faithful.
theorem nonempty_fullyFaithful_canonicalDescentFunctor' {I : Type (u + 1)}
{X : I → Scheme.{u}} (f : ∀ i, X i ⟶ S)
(hfpqc : Presieve.ofArrows X f ∈ Scheme.fpqcPrecoverage.{u} S) :
Nonempty (canonicalDescentFunctor f).FullyFaithful
AlgebraicGeometry.QuasicoherentDescentData.isEffective_fpqcPrecoverage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/FpqcEffectiveUnconditional.lean, line 43. The attribute's comment: “effectivity, arbitrary fpqc covering family”. References: SGA 1 VIII (1.1), “effectivity”; SGA 4½ Arcata (1.4), “fpqc qcoh case”.
Every quasi-coherent descent datum for an fpqc covering family of an arbitrary scheme is effective, at an arbitrary index universe.
theorem isEffective_fpqcPrecoverage {S : Scheme.{u}} (𝒰 : PreZeroHypercover.{v} S)
(h𝒰 : 𝒰.presieve₀ ∈ Scheme.fpqcPrecoverage.{u} S) (D : QuasicoherentDescentData 𝒰.f) :
D.IsEffective
AlgebraicGeometry.QuasicoherentDescentData.isEquivalence_canonicalDescentFunctor_fpqc, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/FpqcEffectiveUnconditional.lean, line 55. The attribute's comment: “both assertions in one statement: the canonical descent functor is an equivalence. The index universe is u + 1, fixed by the full-faithfulness half nonempty_fullyFaithful_canonicalDescentFunctor'; effectivity on its own is isEffective_fpqcPrecoverage above, at an arbitrary index universe”.
For an fpqc covering family of a scheme
S, indexed inType (u + 1), the canonical descent functor from the quasi-coherent𝒪_S-modules to the descent data with respect to that family is an equivalence of categories.
theorem isEquivalence_canonicalDescentFunctor_fpqc {S : Scheme.{u}} {I : Type (u + 1)}
{X : I → Scheme.{u}} (f : ∀ i, X i ⟶ S)
(hfpqc : Presieve.ofArrows X f ∈ Scheme.fpqcPrecoverage.{u} S) :
(canonicalDescentFunctor f).IsEquivalence
Sources
Section35.6 Galois descent for quasi-coherent sheaves#
Section 35.6 of the Stacks Project, Tag 0CDQ. 2 tags here are carried by 2 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0CDR, a lemma
Tag 0CDR in the Stacks Project.
Stacks.Descent.nonempty_equivalence_galoisDescentData_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/GaloisFieldExtension.lean, line 532.
Galois descent for quasi-coherent modules. For a finite Galois extension
K/kwith groupGand a schemeXoverk, the category of quasi-coherent𝒪_X-modules is equivalent to the category of systems(ℱ, (φ_σ)_{σ ∈ G})whereℱis quasi-coherent onX_K, eachφ_σ : ℱ ≅ f_σ^* ℱis an isomorphism, andφ_(στ) = f_σ^*(φ_τ) ∘ φ_σ. Heref_σ = id_X × Spec σ.
theorem nonempty_equivalence_galoisDescentData_baseChange :
Nonempty ((SheafOfModules.isQuasicoherent Z.left.ringCatSheaf).FullSubcategory ≌
GaloisDescentData (K ≃ₐ[k] K) (baseChangeProjection k K Z)
(baseChangeOverAction k K Z))
Tag 0D1V, a lemma
Tag 0D1V in the Stacks Project.
Stacks.Descent.nonempty_equivalence_galoisDescentData, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/QuasiCoherent/GaloisEquivalence.lean, line 968. References: SGA 4½ Arcata (1.5.1), “a), b), c) equivalence”.
Galois descent for quasi-coherent modules. For a surjective finite étale morphism
f : X ⟶ Ycarrying an action of a finite groupGoverYwhich identifies∐_{σ : G} XwithX ×_Y X, quasi-coherent modules onYare the same thing as Galois descent systems onX.
theorem nonempty_equivalence_galoisDescentData [IsFinite f] [Etale f] [Surjective f] :
Nonempty ((SheafOfModules.isQuasicoherent Y.ringCatSheaf).FullSubcategory ≌
GaloisDescentData G f a)
Sources
Section35.7 Descent of finiteness properties of modules#
Section 35.7 of the Stacks Project, Tag 05AY. 10 tags here are carried by 12 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05AZ, a lemma
Tag 05AZ in the Stacks Project.
Stacks.AlgebraicGeometry.FlatBaseChange.isFiniteType_of_pullback_fpqcCover, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/FlatBaseChange/Descent.lean, line 362.
Stacks Project, Tag 05AZ. Let
Xbe a scheme andMa quasi-coherent𝒪_X-module. If{f i : 𝒰.X i ⟶ X}is an fpqc covering ofXsuch that every pullback(f i)^* Mis of finite type, thenMis of finite type.
theorem isFiniteType_of_pullback_fpqcCover {X : Scheme.{u}} (M : X.Modules) [M.IsQuasicoherent]
(𝒰 : X.Cover.{v} Scheme.fpqcPrecoverage)
(h : ∀ i, ((Scheme.Modules.pullback (𝒰.f i)).obj M).IsFiniteType) : M.IsFiniteType
Tag 09UB, a lemma
Tag 09UB in the Stacks Project.
AlgebraicGeometry.isFiniteType_of_isFiniteType_modulePullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/ModuleFiniteness/OpenFlatSurjective.lean, line 749.
Finite type of a sheaf of modules descends along an open, surjective, flat morphism of locally ringed spaces.
public theorem isFiniteType_of_isFiniteType_modulePullback
{X Y : LocallyRingedSpace.{u}} (f : X ⟶ Y)
(F : SheafOfModules.{u} (structureSheafRing Y.toRingedSpace))
(hopen : IsOpenMap f.base) (hsurj : Function.Surjective f.base)
(hflat : AlgebraicGeometry.IsFlat f.toShHom)
(hF : ((modulePullback f.toShHom).obj F).IsFiniteType) :
F.IsFiniteType
Tag 05B0, a lemma
Tag 05B0 in the Stacks Project.
AlgebraicGeometry.isFinitePresentation_of_pullback_fpqcCover, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/FpqcFinitePresentation.lean, line 354. References: SGA 1 VIII (1.10), “finite presentation”.
A quasi-coherent module whose pullback to every member of an fpqc covering is finitely presented is itself finitely presented.
public theorem isFinitePresentation_of_pullback_fpqcCover
{X : Scheme.{u}} (M : X.Modules) [M.IsQuasicoherent]
(𝒰 : X.Cover.{v} Scheme.fpqcPrecoverage)
(h : ∀ i, ((Scheme.Modules.pullback (𝒰.f i)).obj M).IsFinitePresentation) :
M.IsFinitePresentation
Tag 082U, a lemma
Tag 082U in the Stacks Project.
AlgebraicGeometry.isCardinalGenerated_of_pullback_fpqc, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Divisors/FittingGeneratorOpen/Descent.lean, line 142.
Being locally generated by
rsections descends along an fpqc covering for quasi-coherent modules.
theorem isCardinalGenerated_of_pullback_fpqc {X : Scheme.{u}} (M : X.Modules)
(hM : M.IsQuasicoherent) (r : ℕ) {I : Type v} (X' : I → Scheme.{u})
(f : ∀ i, X' i ⟶ X)
(hfpqc : Presieve.ofArrows X' f ∈ Scheme.fpqcPrecoverage X)
(hgen : ∀ i, SheafOfModules.IsCardinalGenerated.{u}
((Scheme.Modules.pullback (f i)).obj M) (Cardinal.lift.{u, 0} r)) :
SheafOfModules.IsCardinalGenerated.{u} M (Cardinal.lift.{u, 0} r)
Tag 05B1, a lemma
Tag 05B1 in the Stacks Project.
AlgebraicGeometry.isFlat_of_pullback_fpqc, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/ModuleFiniteness/Flat.lean, line 65.
A quasi-coherent module whose pullback to each member of an fpqc covering family is flat is itself flat.
public lemma isFlat_of_pullback_fpqc {S : Scheme.{u}} {I : Type v}
{X : I → Scheme.{u}} (f : ∀ i, X i ⟶ S)
(hfpqc : Presieve.ofArrows X f ∈ Scheme.fpqcPrecoverage S)
(F : SheafOfModules.{u} (structureSheafRing S.toRingedSpace)) [F.IsQuasicoherent]
(hF : ∀ i, SheafOfModules.IsFlat.{u, u, u, u} (O := (X i).toRingedSpace.sheaf)
((modulePullback (f i).toLRSHom.toShHom).obj F)) :
SheafOfModules.IsFlat.{u, u, u, u} (O := S.toRingedSpace.sheaf) F
Tag 05B2, a lemma
Tag 05B2 in the Stacks Project.
AlgebraicGeometry.isFiniteLocallyFree_of_pullback_fpqcCover, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Modules/FiniteLocallyFreeDescent/Fpqc.lean, line 53. References: SGA 1 VIII (1.10), “finite locally free”.
Stacks Project, Tag 05B2. Let
Mbe a quasi-coherent module on a schemeXand let𝒰be an fpqc covering ofX. If the pullback ofMto every member of𝒰is finite locally free, thenMis finite locally free.
public theorem isFiniteLocallyFree_of_pullback_fpqcCover {X : Scheme.{u}} (M : X.Modules)
[hqc : M.IsQuasicoherent] (𝒰 : X.Cover.{v} Scheme.fpqcPrecoverage)
(h : ∀ i, SheafOfModules.IsFiniteLocallyFree.{u, u, u}
((Scheme.Modules.pullback (𝒰.f i)).obj M)) :
SheafOfModules.IsFiniteLocallyFree.{u, u, u} M
Tag 05JZ, a lemma
Tag 05JZ in the Stacks Project.
AlgebraicGeometry.isLocallyProjective_of_pullback_fpqc, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Modules/FpqcLocallyProjective.lean, line 191.
Stacks Project, Tag 05JZ. Local projectivity of a quasi-coherent module descends along an fpqc covering.
theorem isLocallyProjective_of_pullback_fpqc {X : Scheme.{u}} (F : X.Modules)
(hF : F.IsQuasicoherent) {I : Type v} (X' : I → Scheme.{u}) (f : ∀ i, X' i ⟶ X)
(hfpqc : Presieve.ofArrows X' f ∈ Scheme.fpqcPrecoverage X)
(hprojective : ∀ i,
Scheme.Modules.IsLocallyProjective ((Scheme.Modules.pullback (f i)).obj F)) :
Scheme.Modules.IsLocallyProjective F
Tag 05VF, a remark
Tag 05VF in the Stacks Project.
Stacks.Examples.exists_faithfullyFlat_free_baseChange_directSum, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Examples/Algebra/LocallyFreeNotFpqcLocal.lean, line 326. The attribute's comment: “a countable direct sum of rank one locally free modules becomes free after a faithfully flat base change”.
Stacks 05VF. A countable direct sum of rank one locally free modules is projective and becomes free after a faithfully flat base change.
theorem exists_faithfullyFlat_free_baseChange_directSum {R : Type u} [CommRing R]
(L : ℕ → Type u) [∀ n, AddCommGroup (L n)] [∀ n, Module R (L n)]
(hL : ∀ n, Module.IsFiniteLocallyFreeOfRank R (L n) 1) :
∃ (S : Type u) (_ : CommRing S) (_ : Algebra R S),
Module.Projective R (⨁ n, L n) ∧ Module.FaithfullyFlat R S ∧
Module.Free S (S ⊗[R] (⨁ n, L n))
Stacks.Examples.exists_faithfullyFlat_free_baseChange_not_isLocallyFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Examples/Algebra/LocallyFreeNotFpqcLocal.lean, line 353. The attribute's comment: “being locally free does not descend along a faithfully flat ring map: a countable direct sum of rank one locally free modules which is not locally free still becomes free after the faithfully flat base change built here. That such a direct sum exists is Stacks 05WL, which the source cites and which is not formalized, so failure of local freeness is a hypothesis here and not a conclusion”.
Stacks 05VF. Being locally free does not descend along faithfully flat ring maps: a countable direct sum of rank one locally free modules which is not locally free still becomes free after a faithfully flat base change.
theorem exists_faithfullyFlat_free_baseChange_not_isLocallyFree {R : Type u} [CommRing R]
(L : ℕ → Type u) [∀ n, AddCommGroup (L n)] [∀ n, Module R (L n)]
(hL : ∀ n, Module.IsFiniteLocallyFreeOfRank R (L n) 1)
(hM : ¬ Module.IsLocallyFree R (⨁ n, L n)) :
∃ (S : Type u) (_ : CommRing S) (_ : Algebra R S),
Module.Projective R (⨁ n, L n) ∧ Module.FaithfullyFlat R S ∧
Module.Free S (S ⊗[R] (⨁ n, L n)) ∧ ¬ Module.IsLocallyFree R (⨁ n, L n)
Tag 05B3, a lemma
Tag 05B3 in the Stacks Project.
AlgebraicGeometry.isFiniteType_iff_pushforward_isFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Finiteness/PushforwardFinite.lean, line 93.
A quasi-coherent module on the source of a finite morphism is of finite type if and only if its direct image is of finite type.
theorem isFiniteType_iff_pushforward_isFiniteType (f : X ⟶ Y) [IsFinite f] (F : X.Modules)
[F.IsQuasicoherent] :
F.IsFiniteType ↔ ((Scheme.Modules.pushforward f).obj F).IsFiniteType
Stacks.AlgebraicGeometry.FinitePushforwardCoherent.isFiniteType_pushforward_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/FinitePushforwardCoherent/Basic.lean, line 147.
[Stacks, Tag 05B3]. A quasi-coherent module on the source of a finite morphism is of finite type if and only if its direct image is of finite type.
theorem isFiniteType_pushforward_iff [IsFinite f] [F.IsQuasicoherent] :
F.IsFiniteType ↔ ((Scheme.Modules.pushforward f).obj F).IsFiniteType
Tag 05B4, a lemma
Tag 05B4 in the Stacks Project.
AlgebraicGeometry.isFinitePresentation_iff_pushforward_isFinitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/Parasitic/FinitePushforward.lean, line 69.
A quasi-coherent module on the source of a finite morphism of finite presentation is finitely presented if and only if its direct image is finitely presented.
public theorem isFinitePresentation_iff_pushforward_isFinitePresentation
{X Y : Scheme.{u}} (f : X ⟶ Y) [IsFinite f]
(hf : FinitePresentation f) (F : X.Modules) [F.IsQuasicoherent] :
F.IsFinitePresentation ↔
((Scheme.Modules.pushforward f).obj F).IsFinitePresentation
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.