17.21 Symmetric and exterior… to 17.30 The de Rham complex
Section17.21 Symmetric and exterior powers#
Section 17.21 of the Stacks Project, Tag 01CF. 7 tags here are carried by 46 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01CF, the section
Tag 01CF in the Stacks Project.
SheafOfModules.ringedSpaceAlgebras, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/AlgebraBundleStalk.lean, line 424. The attribute's comment: “the construction of the three algebras themselves, for a sheaf of modules on a ringed space, which is the object the lemmas 01CG, 01CH, 01CJ, 01CK and 01CL of the section are statements about; the section has no finer tag for it”.
The tensor, exterior and symmetric algebras of a sheaf of modules on a ringed space, as the package Section 17.21 attaches to
F: the three graded algebras, their three universal properties, the identification of the homogeneous pieces ofT(F)with the tensor powers ofF, the degree-zero identifications, the vanishing in negative degrees, the direct-sum presentation and the two quotient mapsT(F) ⟶ ⋀(F)andT(F) ⟶ Sym(F). It isSheafOfModules.algebras, i.e.sheafifiedAlgebras, at the site of open subsets ofX, so each of the three algebras is the degreewise sheafification of its sectionwise counterpart, which is the section's own construction.
noncomputable def ringedSpaceAlgebras (F : SheafOfModules.{w} (structureSheafRing X)) :
TensorExteriorSymmetricAlgebras (Opens.grothendieckTopology X.carrier) F
Tag 01CG, a lemma
Tag 01CG in the Stacks Project.
SheafOfModules.exteriorPower_isSheafification, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorPowerComparison.lean, line 568. The attribute's comment: “exterior_power_sheafification: the exterior assertion, that ⋀ⁿ M is the sheafification of X ↦ ⋀ⁿ(M(X)), with the comparison pinned on wedges of degree-one local sections. The symmetric assertion is SheafOfModules.symmetricPower_isSheafification; the tag states those two and nothing else, so that pair is its covering set.”.
For a sheaf of modules
Mon a site with a sheaf of commutative ringsO♯, and an exterior algebraAofMin the sense of Section 17.21, the degree-nexterior powerA.piece nofMis the sheafification of the presheafX ↦ ⋀ⁿ_{O♯(X)}(M(X)).The presheaf is exhibited together with the sectionwise identification of its sections with
⋀ⁿ_{O♯(X)}(M(X))and the comparison morphism toA.piece n; the two equation families fix the restriction maps and the comparison morphism on wedges of degree-one generators, and the last conjunct is the sheafification assertion.
theorem exteriorPower_isSheafification (n : ℕ) :
∃ P : PresheafOfModules.{w} (toRingCat J Osharp).obj,
∃ e : ∀ X : Cᵒᵖ, P.obj X ≃ₗ[(toRingCat J Osharp).obj.obj X]
⋀[(toRingCat J Osharp).obj.obj X]^n (M.val.obj X),
∃ cmp : P ⟶ (SheafOfModules.forget (toRingCat J Osharp)).obj (A.piece (n : ℤ)),
(∀ (X Y : Cᵒᵖ) (f : X ⟶ Y) (s : Fin n → M.val.obj X)
(x : ⋀[(toRingCat J Osharp).obj.obj X]^n (M.val.obj X))
(y : ⋀[(toRingCat J Osharp).obj.obj Y]^n (M.val.obj Y)),
((x : ExteriorAlgebra ((toRingCat J Osharp).obj.obj X) (M.val.obj X)) =
ExteriorAlgebra.ιMulti ((toRingCat J Osharp).obj.obj X) n s) →
((y : ExteriorAlgebra ((toRingCat J Osharp).obj.obj Y) (M.val.obj Y)) =
ExteriorAlgebra.ιMulti ((toRingCat J Osharp).obj.obj Y) n
fun i => M.val.map f (s i)) →
e Y (P.map f ((e X).symm x)) = y) ∧
(∀ (X : Cᵒᵖ) (s : Fin n → M.val.obj X)
(x : ⋀[(toRingCat J Osharp).obj.obj X]^n (M.val.obj X)),
((x : ExteriorAlgebra ((toRingCat J Osharp).obj.obj X) (M.val.obj X)) =
ExteriorAlgebra.ιMulti ((toRingCat J Osharp).obj.obj X) n s) →
Hom.app cmp X ((e X).symm x) =
A.toPresheafGradedAlgebra.homogeneousProdLeft X n
fun i => gen.val.app X (s i)) ∧
IsIso ((sheafificationHomEquiv (𝟙 (toRingCat J Osharp).obj)).symm cmp)
SheafOfModules.symmetricPower_isSheafification, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SymmetricPowerComparison.lean, line 411. The attribute's comment: “symmetric_power_sheafification”.
Tag 01CG. For a sheaf of modules
Mon a site with a sheaf of commutative ringsO♯, and a symmetric algebraAofMin the sense of Section 17.21, the degree-nsymmetric powerA.piece nofMis the sheafification of the presheafX ↦ Symⁿ_{O♯(X)}(M(X)).The presheaf is exhibited together with the sectionwise identification of its sections with
Symⁿ_{O♯(X)}(M(X))and the comparison morphism toA.piece n; the two equation families fix the restriction maps and the comparison morphism on products of degree-one generators, and the last conjunct is the sheafification assertion.The symmetric algebra is a hypothesis rather than a chosen term: Section 17.21 pins it only up to canonical isomorphism, and
SheafOfModules.sectionwiseSymmetricAlgebratogether withSheafOfModules.isSymmetricAlgebra_sectionwiseSymmetricAlgebraandSheafOfModules.GradedAlgebra.IsSymmetricAlgebra.comp_isoshows the hypothesis is satisfiable for everyM.
theorem symmetricPower_isSheafification (n : ℕ) :
∃ P : PresheafOfModules.{w} (toRingCat J Osharp).obj,
∃ e : ∀ X : Cᵒᵖ, P.obj X ≃ₗ[(toRingCat J Osharp).obj.obj X]
SymPow.symmetricPower n ((toRingCat J Osharp).obj.obj X) (M.val.obj X),
∃ cmp : P ⟶ (SheafOfModules.forget (toRingCat J Osharp)).obj (A.piece (n : ℤ)),
(∀ (X Y : Cᵒᵖ) (f : X ⟶ Y) (s : Fin n → M.val.obj X)
(x : SymPow.symmetricPower n ((toRingCat J Osharp).obj.obj X) (M.val.obj X))
(y : SymPow.symmetricPower n ((toRingCat J Osharp).obj.obj Y) (M.val.obj Y)),
((x : SymmetricAlgebra ((toRingCat J Osharp).obj.obj X) (M.val.obj X)) =
∏ i : Fin n, SymmetricAlgebra.ι ((toRingCat J Osharp).obj.obj X)
(M.val.obj X) (s i)) →
((y : SymmetricAlgebra ((toRingCat J Osharp).obj.obj Y) (M.val.obj Y)) =
∏ i : Fin n, SymmetricAlgebra.ι ((toRingCat J Osharp).obj.obj Y)
(M.val.obj Y) (M.val.map f (s i))) →
e Y (P.map f ((e X).symm x)) = y) ∧
(∀ (X : Cᵒᵖ) (s : Fin n → M.val.obj X)
(x : SymPow.symmetricPower n ((toRingCat J Osharp).obj.obj X) (M.val.obj X)),
((x : SymmetricAlgebra ((toRingCat J Osharp).obj.obj X) (M.val.obj X)) =
∏ i : Fin n, SymmetricAlgebra.ι ((toRingCat J Osharp).obj.obj X)
(M.val.obj X) (s i)) →
Hom.app cmp X ((e X).symm x) =
A.toPresheafGradedAlgebra.homogeneousProdLeft X n
fun i => gen.val.app X (s i)) ∧
IsIso ((sheafificationHomEquiv (𝟙 (toRingCat J Osharp).obj)).symm cmp)
Tag 01CH, a lemma
Tag 01CH in the Stacks Project.
SheafOfModules.symmetricAlgebra_stalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/AlgebraStalkUngraded.lean, line 536. The attribute's comment: “the ungraded symmetric assertion Sym(M)ₓ ≅ Sym(Mₓ), with the isomorphism pinned down by its values on germs of products of local sections in every degree. The tensor assertions are SheafOfModules.tensorPower_stalk and SheafOfModules.tensorAlgebra_stalk; the ungraded exterior assertion ⋀(M)ₓ ≅ ⋀(Mₓ) for a sheaf is SheafOfModules.exteriorAlgebra_stalk in StacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorStalkUngraded, and the degreewise exterior assertion is PresheafOfModules.extPowStalkEquivOfStalkIso. With those the three ungraded isomorphisms the source asserts are all proved”. References: EGA II (1.7.4), “(S(E))_s = S(E_s)”.
Tag 01CH, ungraded symmetric assertion. For a sheaf of modules
Mon a topological space with a sheaf of commutative ringsO♯, a symmetric algebraAofMin the sense of Section 17.21, and a pointx, there is a canonical isomorphism ofO_x-modules
Sym(M)_x ≅ Sym_{O_x}(M_x),where
Sym(M)is the coproduct∐ n, Symⁿ Mof the homogeneous pieces ofA.It is canonical in the sense Tag 01CH means: its value is prescribed on the germ of every local section of the form
s₀ ⋯ sₙ₋₁, in every degreen, namely the product of the germs of thesᵢ; such products span each symmetric power of the stalk (SymmetricAlgebra.symmetricPower_eq_span_prod_ι) and the symmetric powers spanSym(M_x)(SymmetricAlgebra.directSumSymmetricPowerEquiv), so no other linear map has that behaviour.The symmetric algebra is a hypothesis rather than a chosen term because Section 17.21 pins it only up to canonical isomorphism;
SheafOfModules.isSymmetricAlgebra_sectionwiseSymmetricAlgebra_valshows the hypothesis is satisfiable for everyM, andSheafOfModules.TensorExteriorSymmetricAlgebras.symmetricAlgebraStalkEquivdischarges it from a package of the three algebras of Section 17.21.The tag carries a clause comment: this declaration carries the ungraded symmetric assertion alone. The two tensor assertions are
SheafOfModules.tensorPower_stalkandSheafOfModules.tensorAlgebra_stalkinStacksFrontier.Algebra.Category.ModuleCat.Sheaf.TensorPowerStalk. The ungraded exterior assertion⋀(M)ₓ ≅ ⋀(Mₓ)for a sheaf isSheafOfModules.exteriorAlgebra_stalkinStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorStalkUngraded, which is built fromSheafOfModules.natStalkCoprodEquivbelow exactly as this declaration is; the ungraded statement for a presheaf of modules,(⋀ F)ₓ ≅ ⋀(Fₓ), isPresheafOfModules.extAlgStalkRingEquivinStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorPowerStalkand the degreewise sheaf statement isPresheafOfModules.extPowStalkEquivOfStalkIsothere.
theorem symmetricAlgebra_stalk (x : ↥X) :
∃ cmp : ↑(TopCat.Presheaf.stalk (∐ fun n : ℕ => A.piece (n : ℤ)).val.presheaf x)
≃ₗ[↑(TopCat.Presheaf.stalk Osharp.obj x)]
SymmetricAlgebra ↑(TopCat.Presheaf.stalk Osharp.obj x)
↑(TopCat.Presheaf.stalk M.val.presheaf x),
∀ (n : ℕ) (U : Opens ↥X) (hx : x ∈ U) (s : Fin n → M.val.obj (op U)),
cmp (TopCat.Presheaf.germ (∐ fun m : ℕ => A.piece (m : ℤ)).val.presheaf U x hx
((Sigma.ι (fun m : ℕ => A.piece (m : ℤ)) n).val.app (op U)
(A.toPresheafGradedAlgebra.homogeneousProd (op U) n
fun i => gen.val.app (op U) (s i)))) =
∏ i : Fin n, SymmetricAlgebra.ι ↑(TopCat.Presheaf.stalk Osharp.obj x)
↑(TopCat.Presheaf.stalk M.val.presheaf x)
(TopCat.Presheaf.germ M.val.presheaf U x hx (s i))
PresheafOfModules.extPowStalkEquivOfStalkIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorPowerStalk.lean, line 792. The attribute's comment: “the exterior assertion in each graded degree n: (⋀ⁿ M)ₓ ≅ ⋀ⁿ(Mₓ), with the isomorphism pinned by extPowStalkEquivOfStalkIso_germ_ιMulti as the map carrying the germ of a wedge of local sections to the wedge of their germs. The symmetric assertion is PresheafOfModules.symPowStalkEquivOfStalkIso. The graded-to-ungraded passage is not proved here; it is SheafOfModules.exteriorAlgebra_stalk in StacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorStalkUngraded, which is the ungraded ⋀(M)ₓ ≅ ⋀(Mₓ) that the source actually asserts.”. References: EGA 0 (4.1.5), “more general”.
The stalk of a sheafification of the sectionwise exterior powers. If
φexhibitsQas having the same stalks as the presheafU ↦ ⋀ⁿ_{R(U)}(F(U))— which the sheafification unit does, byPresheafOfModules.isIso_stalkFunctor_map_toSheafify— then the stalk ofQatxis⋀ⁿ_{R_x}(F_x).This is the form the exterior assertion of Stacks Tag 01CH is consumed in: the degree-
nexterior power of a sheaf of modules on a ringed space is the sheafification of the sectionwise exterior powers, so takingQto be that sheafification andφits unit computes the stalk of⋀ⁿ F. The isomorphism is pinned byextPowStalkEquivOfStalkIso_germ_ιMulti, which is the reason this and not an abstract uniqueness isomorphism is what the tag asserts.
noncomputable def extPowStalkEquivOfStalkIso (n : ℕ)
{Q : PresheafOfModules.{u} (R ⋙ forget₂ CommRingCat.{u} RingCat.{u})}
(φ : extPow n F ⟶ Q)
(h : IsIso ((TopCat.Presheaf.stalkFunctor AddCommGrpCat.{u} x).map
((toPresheaf _).map φ))) :
↑(TopCat.Presheaf.stalk Q.presheaf x) ≃ₗ[↑(R.stalk x)]
⋀[↑(R.stalk x)]^n ↑(TopCat.Presheaf.stalk F.presheaf x)
SheafOfModules.exteriorAlgebra_stalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorStalkUngraded.lean, line 346. The attribute's comment: “the ungraded exterior assertion ⋀(M)ₓ ≅ ⋀(Mₓ) — one of the three isomorphisms the source asserts — with the isomorphism pinned down by its values on germs of wedges of local sections in every degree. The ungraded symmetric assertion Sym(M)ₓ ≅ Sym(Mₓ) is SheafOfModules.symmetricAlgebra_stalk. The ungraded tensor assertion T(M)ₓ ≅ T(Mₓ) is not covered here. The degreewise clauses, which are this library's convention and not assertions of the source, are SheafOfModules.symmetricPower_stalk and PresheafOfModules.extPowStalkEquivOfStalkIso.”.
Tag 01CH, ungraded exterior assertion. For a sheaf of modules
Mon a topological space with a sheaf of commutative ringsO♯, an exterior algebraAofMin the sense of Section 17.21, and a pointx, there is a canonical isomorphism ofO_x-modules
⋀(M)_x ≅ ⋀_{O_x}(M_x),where
⋀(M)is the coproduct∐ n, ⋀ⁿ Mof the homogeneous pieces ofA.It is canonical in the sense Tag 01CH means: its value is prescribed on the germ of every local section of the form
s₀ ∧ ⋯ ∧ s_{n-1}, in every degreen, namely the wedge of the germs of thesᵢ; such wedges span each exterior power of the stalk (ExteriorAlgebra.ιMulti_span_fixedDegree) and the exterior powers span⋀(M_x)(ExteriorAlgebra.gradedAlgebra), so no other linear map has that behaviour.The exterior algebra is a hypothesis rather than a chosen term because Section 17.21 pins it only up to canonical isomorphism;
SheafOfModules.isExteriorAlgebra_sectionwiseExteriorAlgebra_valshows the hypothesis is satisfiable for everyM, andSheafOfModules.TensorExteriorSymmetricAlgebras.exteriorAlgebraStalkEquivdischarges it from a package of the three algebras of Section 17.21.
theorem exteriorAlgebra_stalk (x : ↥X) :
∃ cmp : ↑(TopCat.Presheaf.stalk (∐ fun n : ℕ => A.piece (n : ℤ)).val.presheaf x)
≃ₗ[↑(TopCat.Presheaf.stalk Osharp.obj x)]
ExteriorAlgebra ↑(TopCat.Presheaf.stalk Osharp.obj x)
↑(TopCat.Presheaf.stalk M.val.presheaf x),
∀ (n : ℕ) (U : Opens ↥X) (hx : x ∈ U) (s : Fin n → M.val.obj (op U)),
cmp (TopCat.Presheaf.germ (∐ fun m : ℕ => A.piece (m : ℤ)).val.presheaf U x hx
((Sigma.ι (fun m : ℕ => A.piece (m : ℤ)) n).val.app (op U)
(A.toPresheafGradedAlgebra.homogeneousProd (op U) n
fun i => gen.val.app (op U) (s i)))) =
ExteriorAlgebra.ιMulti ↑(TopCat.Presheaf.stalk Osharp.obj x) n
fun i => TopCat.Presheaf.germ M.val.presheaf U x hx (s i)
SheafOfModules.symmetricPower_stalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SymmetricStalkSheaf.lean, line 431. The attribute's comment: “the symmetric assertion in each graded degree n: (Symⁿ M)ₓ ≅ Symⁿ(Mₓ), with the isomorphism pinned down by its values on germs of products of local sections. The ungraded Sym(M)ₓ ≅ Sym(Mₓ) is SheafOfModules.symmetricAlgebra_stalk; the exterior assertion in each degree is PresheafOfModules.extPowStalkEquivOfStalkIso and the ungraded ⋀(M)ₓ ≅ ⋀(Mₓ) is SheafOfModules.exteriorAlgebra_stalk; the tensor assertions are SheafOfModules.tensorPower_stalk and SheafOfModules.tensorAlgebra_stalk. The three assertions the source makes are the ungraded ones; the degreewise statements, this one included, are this library's clause convention”. References: EGA II (1.7.4), “partial”.
Tag 01CH, symmetric clause, in graded degree
n. For a sheaf of modulesMon a topological space with a sheaf of commutative ringsO♯, a symmetric algebraAofMin the sense of Section 17.21, and a pointx, there is a canonical isomorphism ofO_x-modules
(Symⁿ M)_x ≅ Symⁿ_{O_x}(M_x).It is canonical in the sense Tag 01CH means: its value is prescribed on the germ of every local section of the form
s₀ ⋯ sₙ₋₁, namely the product of the germs of thesᵢ, and such products span the target (SymmetricAlgebra.symmetricPower_eq_span_prod_ι), so no other linear map has that behaviour.The symmetric algebra is a hypothesis rather than a chosen term because Section 17.21 pins it only up to canonical isomorphism;
SheafOfModules.isSymmetricAlgebra_sectionwiseSymmetricAlgebra_valshows the hypothesis is satisfiable for everyM, andSheafOfModules.TensorExteriorSymmetricAlgebras.symmetricPowerStalkEquivdischarges it from a package of the three algebras of Section 17.21.The tag carries a clause comment: this declaration carries the symmetric degreewise assertion alone. The ungraded symmetric assertion
Sym(M)_x ≅ Sym(M_x)is proved from this one inStacksFrontier.Algebra.Category.ModuleCat.Sheaf.AlgebraStalkUngraded, and the two tensor assertions areSheafOfModules.tensorPower_stalkandSheafOfModules.tensorAlgebra_stalkinStacksFrontier.Algebra.Category.ModuleCat.Sheaf.TensorPowerStalk.The exterior assertion in each graded degree is
PresheafOfModules.extPowStalkEquivOfStalkIsoinStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorPowerStalk, pinned on germs of wedges of local sections byPresheafOfModules.extPowStalkEquivOfStalkIso_germ_ιMulti. It is stated there for a presheaf of modules together with a morphism out of the sectionwise exterior powers which is a stalk isomorphism — the form a sheafification presentation supplies — rather than in the bundled framing used here;SheafOfModules.exteriorPowerStalkEquivinStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorStalkUngradedis the bundled form, andSheafOfModules.exteriorAlgebra_stalkthere is the ungraded exterior assertion. See the implementation notes of this file.
theorem symmetricPower_stalk (n : ℕ) (x : ↥X) :
∃ cmp : ↑(TopCat.Presheaf.stalk (A.piece (n : ℤ)).val.presheaf x)
≃ₗ[↑(TopCat.Presheaf.stalk Osharp.obj x)]
SymPow.symmetricPower n ↑(TopCat.Presheaf.stalk Osharp.obj x)
↑(TopCat.Presheaf.stalk M.val.presheaf x),
∀ (U : Opens ↥X) (hx : x ∈ U) (s : Fin n → M.val.obj (op U)),
(cmp (TopCat.Presheaf.germ (A.piece (n : ℤ)).val.presheaf U x hx
(A.toPresheafGradedAlgebra.homogeneousProd (op U) n
fun i => gen.val.app (op U) (s i))) :
SymmetricAlgebra ↑(TopCat.Presheaf.stalk Osharp.obj x)
↑(TopCat.Presheaf.stalk M.val.presheaf x)) =
∏ i : Fin n, SymmetricAlgebra.ι ↑(TopCat.Presheaf.stalk Osharp.obj x)
↑(TopCat.Presheaf.stalk M.val.presheaf x)
(TopCat.Presheaf.germ M.val.presheaf U x hx (s i))
SheafOfModules.tensorPower_stalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerStalk.lean, line 986. The attribute's comment: “the tensor assertion in each graded degree n: (Tⁿ M)ₓ ≅ Tⁿ(Mₓ) for a sheaf of modules, with the isomorphism pinned down by its values on germs of ordered tensors of local sections. The ungraded T(M)ₓ ≅ T(Mₓ) is SheafOfModules.tensorAlgebra_stalk; the symmetric assertions are SheafOfModules.symmetricPower_stalk and SheafOfModules.symmetricAlgebra_stalk; the exterior assertion is not carried here”.
For a sheaf of modules
Mon a topological space with a sheaf of commutative ringsO♯, a tensor algebraAofMin the sense of Section 17.21, and a pointx, there is an isomorphism ofO_x-modules
(Tⁿ M)ₓ ≅ Tⁿ_{O_x}(M_x)sending the germ of every local section coming from an ordered tensor
s₀ ⊗ ⋯ ⊗ s_{n-1}to the ordered tensor of the germs of thesᵢ.
theorem tensorPower_stalk (n : ℕ) (x : ↥X) :
∃ cmp : ↑(TopCat.Presheaf.stalk (A.piece (n : ℤ)).val.presheaf x)
≃ₗ[↑(TopCat.Presheaf.stalk Osharp.obj x)]
TensorAlgebra.gradedPiece ↑(TopCat.Presheaf.stalk Osharp.obj x) n
↑(TopCat.Presheaf.stalk M.val.presheaf x),
∀ (U : Opens ↥X) (hx : x ∈ U) (s : Fin n → M.val.obj (op U)),
cmp (TopCat.Presheaf.germ (A.piece (n : ℤ)).val.presheaf U x hx
(PresheafOfModules.Hom.app (tensorAlgPieceIso A gen hA (n : ℤ)).hom.val (op U)
(PresheafOfModules.Hom.app (PresheafOfModules.sheafifyUnit
(toRingCatMap (Opens.grothendieckTopology ↥X) (𝟙 Osharp.obj))
(PresheafOfModules.tensorPow n M.val)) (op U)
(TensorAlgebra.ιMultiPow
((Osharp.obj ⋙ forget₂ CommRingCat.{u} RingCat.{u}).obj (op U)) n s)))) =
TensorAlgebra.ιMultiPow ↑(TopCat.Presheaf.stalk Osharp.obj x) n
fun i => TopCat.Presheaf.germ M.val.presheaf U x hx (s i)
SheafOfModules.tensorAlgebra_stalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerStalk.lean, line 1065. The attribute's comment: “the ungraded tensor assertion T(M)ₓ ≅ T(Mₓ), with the isomorphism pinned down by its values on germs of ordered tensors of local sections in every degree. The degreewise (Tⁿ M)ₓ ≅ Tⁿ(Mₓ) is SheafOfModules.tensorPower_stalk; the symmetric assertions are SheafOfModules.symmetricPower_stalk and SheafOfModules.symmetricAlgebra_stalk; the exterior assertion is not carried here”.
For a sheaf of modules
Mon a topological space with a sheaf of commutative ringsO♯, a tensor algebraAofMin the sense of Section 17.21, and a pointx, there is an isomorphism ofO_x-modules
T(M)ₓ ≅ T_{O_x}(M_x),where
T(M)is the coproduct∐ n, Tⁿ Mof the homogeneous pieces ofA, sending the germ of every local section coming from an ordered tensors₀ ⊗ ⋯ ⊗ s_{n-1}, in every degreen, to the ordered tensor of the germs of thesᵢ.
theorem tensorAlgebra_stalk (x : ↥X) :
∃ cmp : ↑(TopCat.Presheaf.stalk (∐ fun n : ℕ => A.piece (n : ℤ)).val.presheaf x)
≃ₗ[↑(TopCat.Presheaf.stalk Osharp.obj x)]
TensorAlgebra ↑(TopCat.Presheaf.stalk Osharp.obj x)
↑(TopCat.Presheaf.stalk M.val.presheaf x),
∀ (n : ℕ) (U : Opens ↥X) (hx : x ∈ U) (s : Fin n → M.val.obj (op U)),
cmp (TopCat.Presheaf.germ (∐ fun m : ℕ => A.piece (m : ℤ)).val.presheaf U x hx
((Sigma.ι (fun m : ℕ => A.piece (m : ℤ)) n).val.app (op U)
(PresheafOfModules.Hom.app (tensorAlgPieceIso A gen hA (n : ℤ)).hom.val (op U)
(PresheafOfModules.Hom.app (PresheafOfModules.sheafifyUnit
(toRingCatMap (Opens.grothendieckTopology ↥X) (𝟙 Osharp.obj))
(PresheafOfModules.tensorPow n M.val)) (op U)
(TensorAlgebra.ιMultiPow
((Osharp.obj ⋙ forget₂ CommRingCat.{u} RingCat.{u}).obj (op U)) n s))))) =
TensorAlgebra.ιMulti ↑(TopCat.Presheaf.stalk Osharp.obj x) n
fun i => TopCat.Presheaf.germ M.val.presheaf U x hx (s i)
Tag 01CI, a lemma
Tag 01CI in the Stacks Project.
Stacks.PullbackExteriorAlgebra.exteriorAlgebraPullbackIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorAlgebraPullbackIso.lean, line 877. The attribute's comment: “pullback_exterior_algebra: the EXTERIOR algebra clause only; symmetric NOT proved”.
Stacks 01CI for the exterior algebra of a sheaf of modules. For a morphism of ringed spaces
f : X ⟶ Yand a sheaf of𝒪_Y-modulesM, the pullback of the exterior algebra ofMis canonically isomorphic to the exterior algebra off^*M, degreewise and on the underlying direct-sum sheaf, compatibly with the products, the units and the degree-one generators.This covers the exterior algebra clause of Tag 01CI only. The tensor-algebra clause is
Stacks.PullbackAlgebra.pullbackTensorPieceIsoandpullbackTensorSheafIso; the symmetric-algebra clause is not proved here. Both exterior algebras are given by their universal properties (SheafOfModules.GradedAlgebra.IsExteriorAlgebra) rather than by a construction, so nothing here depends on an unconstructed exterior algebra.
noncomputable def exteriorAlgebraPullbackIso (hA : IsExteriorAlgebra A ι)
(hB : IsExteriorAlgebra B κ) : ExteriorAlgebraPullbackIso f A ι B κ
Stacks.PullbackExteriorAlgebra.exteriorAlgebraPullbackIso_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorAlgebraPullbackIso.lean, line 892. The attribute's comment: “pullback_exterior_algebra: canonicality of the EXTERIOR algebra comparison only”.
The comparison of Stacks 01CI is unique. Compatibility with multiplication, with the unit and with the degree-one generators on the pullback-unit sections determines the comparison in every degree, and the restriction to the homogeneous summands then determines the comparison of the underlying direct-sum sheaves.
theorem exteriorAlgebraPullbackIso_unique (hA : IsExteriorAlgebra A ι)
(hB : IsExteriorAlgebra B κ) (e : ExteriorAlgebraPullbackIso f A ι B κ) :
e = exteriorAlgebraPullbackIso f A ι B κ hA hB
Stacks.PullbackAlgebra.pullbackTensorPieceIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/PullbackAlgebraIso.lean, line 331. The attribute's comment: “the tensor algebra only. The exterior and symmetric algebras are NOT proved here; see the implementation notes for the two missing inputs.”.
The pullback of the degree-
npiece of the tensor algebra ofFis the degree-npiece of the tensor algebra off^*F.
noncomputable def pullbackTensorPieceIso (n : ℕ) :
(pullbackFunctor f).obj (S.tensor.piece (n : ℤ)) ≅ T.tensor.piece (n : ℤ)
Stacks.PullbackAlgebra.pullbackTensorSheafIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/PullbackAlgebraIso.lean, line 393. The attribute's comment: “the tensor algebra only, on the underlying direct-sum sheaf. The exterior and symmetric algebras are NOT proved here.”.
The pullback of the underlying direct-sum sheaf of the tensor algebra of
Fis the underlying direct-sum sheaf of the tensor algebra off^*F.
noncomputable def pullbackTensorSheafIso :
(pullbackFunctor f).obj S.tensorAlgebraSheaf ≅ T.tensorAlgebraSheaf
Stacks.RingedSpace.pullbackSymmetricPieceIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SymmetricPullback/Iso.lean, line 94. The attribute's comment: “symmetric algebra”. References: EGA II (1.7.5), “partial”.
Stacks 01CI for the symmetric algebra. For a morphism of ringed spaces
f : X ⟶ Yand a sheaf of𝒪_Y-modulesF, the pullback of the degree-nsymmetric power ofFis the degree-nsymmetric power off^*F:
f^*(Symⁿ F) ≅ Symⁿ(f^*F).The two symmetric algebras are given by their universal property, so this is a statement about the symmetric algebras and not about one construction of them.
noncomputable def pullbackSymmetricPieceIso (hA : IsSymmetricAlgebra A ι)
(hB : IsSymmetricAlgebra B κ) (n : ℤ) :
(pullbackFunctor f).obj (A.piece n) ≅ B.piece n
Stacks.RingedSpace.pullbackSymmetricPieceIsoOfRingedSpace, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SymmetricPullback/Iso.lean, line 137. The attribute's comment: “symmetric algebra, at the constructed symmetric algebras”. References: EGA II (1.7.5), “partial”.
Stacks 01CI for the symmetric algebra, at the constructed symmetric algebras. For a morphism of ringed spaces
f : X ⟶ Yand a sheaf of𝒪_Y-modulesF, the pullback of the degree-nsymmetric power ofFis the degree-nsymmetric power off^*F, both taken inSheafOfModules.ringedSpaceAlgebras.
noncomputable def pullbackSymmetricPieceIsoOfRingedSpace
(G : SheafOfModules.{u} (structureRingSheaf Y)) (n : ℤ) :
(pullbackFunctor f).obj ((SheafOfModules.ringedSpaceAlgebras Y G).symmetric.piece n) ≅
(SheafOfModules.ringedSpaceAlgebras X
((pullbackFunctor f).obj G)).symmetric.piece n
Tag 01CJ, a lemma
Tag 01CJ in the Stacks Project.
SheafOfModules.ExtPresentation.epi_extDesc_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorPresentationExact.lean, line 334. The attribute's comment: “exterior case, surjectivity clause: the second map of the sequence is an epimorphism, in every degree and with no exactness hypothesis. Exactness at the middle term is covered, by SheafOfModules.ExtPresentation.exteriorPresentation_exact below, which carries that clause and states the sequence of the source. The symmetric counterparts are SheafOfModules.SymPresentation.epi_symDesc_app and SheafOfModules.SymPresentation.symmetricPresentation_exact.”.
The surjectivity clause of Stacks Tag 01CJ for exterior powers. If
p : M₁ ⟶ Mis an epimorphism of sheaves of modules on a space,A'is an exterior algebra ofM₁andB'an exterior algebra ofM, then the induced map⋀ⁿ(M₁) ⟶ ⋀ⁿ(M)is an epimorphism in every degree. This is the clause⟶ 0of the sequence Tag 01CJ asserts.The hypothesis
n ≥ 1of the source is not needed: the statement holds in degree0too, where both powers are the structure sheaf.
theorem epi_extDesc_app [Epi p] (n : ℕ) : Epi ((extDesc ι κ hA' hB' p).app (n : ℤ))
SheafOfModules.ExtPresentation.exteriorPresentation_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorPresentationExact.lean, line 600. The attribute's comment: “exterior case, in full: the sequence M₂ ⊗ ⋀^k(M₁) ⟶ ⋀^{k+1}(M₁) ⟶ ⋀^{k+1}(M) ⟶ 0 is exact at the middle term and its second map is an epimorphism. The surjectivity clause alone, in every degree and with no exactness hypothesis, is SheafOfModules.ExtPresentation.epi_extDesc_app. With the symmetric pair SheafOfModules.SymPresentation.epi_symDesc_app and SheafOfModules.SymPresentation.symmetricPresentation_exact this completes the tag: the source states the two clauses for the symmetric and the exterior powers and nothing else.”.
Stacks Tag 01CJ for exterior powers. Let
M₂ --q--> M₁ --p--> M ⟶ 0be a presentation of a sheaf of modules on a topological space with a sheaf of commutative rings —pan epimorphism and the complex exact atM₁— letA'be an exterior algebra ofM₁andB'one ofM. Then for everykthe three-term sequence
M₂ ⊗ ⋀^k(M₁) ⟶ ⋀^{k+1}(M₁) ⟶ ⋀^{k+1}(M) ⟶ 0is exact at the middle term and its second map is an epimorphism, which is the exactness the source asserts in every degree
n = k + 1 ≥ 1.
theorem exteriorPresentation_exact (hS : (ShortComplex.mk q p hqp).Exact) [Epi p] (k : ℕ) :
(extComplex ι κ hA' hB' p q hqp k).Exact ∧
Epi (extComplex ι κ hA' hB' p q hqp k).g
SheafOfModules.SymPresentation.epi_symDesc_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SymmetricPowerPresentation.lean, line 380. The attribute's comment: “symmetric case, surjectivity clause: the second map of the sequence is an epimorphism, in every degree and with no exactness hypothesis. Exactness at the middle term is covered, by SheafOfModules.SymPresentation.symmetricPresentation_exact in StacksFrontier.Algebra.Category.ModuleCat.Sheaf.SymmetricPresentationExact, which carries that clause and states the sequence of the source. The exterior case is covered too, by SheafOfModules.ExtPresentation.epi_extDesc_app and SheafOfModules.ExtPresentation.exteriorPresentation_exact in StacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorPresentationExact; those four declarations are the tag's covering set.”.
The surjectivity clause of Stacks Tag 01CJ for symmetric powers. If
p : M₁ ⟶ Mis an epimorphism of sheaves of modules on a space,A'is a symmetric algebra ofM₁andB'a symmetric algebra ofM, then the induced mapSymⁿ(M₁) ⟶ Symⁿ(M)is an epimorphism in every degree. This is the clause⟶ 0of the sequence Tag 01CJ asserts.The hypothesis
n ≥ 1of the source is not needed: the statement holds in degree0too, where both powers are the structure sheaf.
theorem epi_symDesc_app [Epi p] (n : ℕ) : Epi ((symDesc ι κ hA' hB' p).app (n : ℤ))
SheafOfModules.SymPresentation.symmetricPresentation_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SymmetricPresentationExact.lean, line 528. The attribute's comment: “symmetric case, in full: the sequence M₂ ⊗ Sym^k(M₁) ⟶ Sym^{k+1}(M₁) ⟶ Sym^{k+1}(M) ⟶ 0 is exact at the middle term and its second map is an epimorphism. The surjectivity clause alone, in every degree and with no exactness hypothesis, is SheafOfModules.SymPresentation.epi_symDesc_app. The exterior case is covered too, by SheafOfModules.ExtPresentation.epi_extDesc_app and SheafOfModules.ExtPresentation.exteriorPresentation_exact in StacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorPresentationExact; those four declarations are the tag's covering set”. References: EGA 0 (19.5.1), “more general”.
Stacks Tag 01CJ for symmetric powers. Let
M₂ --q--> M₁ --p--> M ⟶ 0be a presentation of a sheaf of modules on a topological space with a sheaf of commutative rings —pan epimorphism and the complex exact atM₁— letA'be a symmetric algebra ofM₁andB'one ofM. Then for everykthe three-term sequence
M₂ ⊗ Sym^k(M₁) ⟶ Sym^{k+1}(M₁) ⟶ Sym^{k+1}(M) ⟶ 0is exact at the middle term and its second map is an epimorphism, which is the exactness the source asserts in every degree
n = k + 1 ≥ 1.The tag carries a clause comment: the surjectivity clause is also carried, at greater generality, by
SheafOfModules.SymPresentation.epi_symDesc_app, and the exterior half of Tag 01CJ is not proved anywhere. See this file's implementation notes.
theorem symmetricPresentation_exact (hS : (ShortComplex.mk q p hqp).Exact) [Epi p] (k : ℕ) :
(symComplex ι κ hA' hB' q p hqp k).Exact ∧ Epi (symComplex ι κ hA' hB' q p hqp k).g
SheafOfModules.exact_and_epi_symmetricPresentationShortComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SymmetricSituation/PowerExact.lean, line 791. The attribute's comment: “symmetric powers”.
Stacks Tag 01CJ, symmetric powers. Let
M₂ --q--> M₁ --p--> M --> 0be an exact sequence of sheaves of modules on a ringed site, and letn = 1 + kwithk ≥ 0. Then
M₂ ⊗ Sym^k(M₁) ⟶ Symⁿ(M₁) ⟶ Symⁿ(M) ⟶ 0is exact: the complex is exact at the middle term and its second map is an epimorphism.
theorem exact_and_epi_symmetricPresentationShortComplex (q : M₂ ⟶ M₁) (p : M₁ ⟶ M)
(hqp : q ≫ p = 0) [Epi p] (hex : (ShortComplex.mk q p hqp).Exact)
(k n : ℤ) (hk : 0 ≤ k) (hn : 1 + k = n) :
(GradedAlgebra.symmetricPresentationShortComplex
(isSymmetricAlgebra_sheafifiedSymmetricAlgebra J M₁)
(isSymmetricAlgebra_sheafifiedSymmetricAlgebra J M).isUniversal.1
q p hqp k n hn).Exact ∧
Epi (GradedAlgebra.symmetricPresentationShortComplex
(isSymmetricAlgebra_sheafifiedSymmetricAlgebra J M₁)
(isSymmetricAlgebra_sheafifiedSymmetricAlgebra J M).isUniversal.1
q p hqp k n hn).g
Tag 01CK, a lemma
Tag 01CK in the Stacks Project.
Stacks.SheafOfModules.isCoherent_exteriorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorPowerCoherent.lean, line 297. The attribute's comment: “exterior powers of a coherent module, in positive degree”.
Each exterior power of positive degree of a coherent sheaf of modules on a ringed space is coherent. This is clause (4) of [Stacks, Tag 01CK] for the exterior powers. The kernel
Kof the quotient mapTⁿ(F) ⟶ ⋀ⁿ(F)is of finite type over each member of a cover presentingFfinitely, by Tag 01BP; hence coherent by Tag 01BY (1), since it is a subsheaf of the coherent sheafTⁿ(F); hence⋀ⁿ(F)is coherent by Tag 01BY (3).
theorem isCoherent_exteriorPower [_root_.SheafOfModules.IsCoherent F]
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology X.carrier) F) (n : ℕ) (hn : 0 < n) :
_root_.SheafOfModules.IsCoherent (A.exteriorPower n)
Stacks.SheafOfModules.isFinitePresentation_exteriorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorPowerFiniteType.lean, line 311. The attribute's comment: “exterior powers of a module of finite presentation”.
Each exterior power of a sheaf of modules of finite presentation on a ringed space is of finite presentation. The covering family is the one that presents
Ffinitely; no degree needs a smaller open, becauseStacks.SheafOfModules.exists_isFinite_presentation_exteriorPower_overpresents every degree finitely over that same open. This is clause (3) of [Stacks, Tag 01CK] for the exterior powers.
theorem isFinitePresentation_exteriorPower [F.IsFinitePresentation] (n : ℕ) :
(A.exteriorPower n).IsFinitePresentation
Stacks.SheafOfModules.isLocallyFree_symmetricPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/LocallyFreePowers.lean, line 179. The attribute's comment: “symmetric powers of a locally free module”.
Each symmetric power of a locally free sheaf of modules is locally free. This is clause (6) of [Stacks, Tag 01CK] for the symmetric powers: a covering trivialising
Fwith index typesγ itrivialisesSymⁿ Fwith index types the degree-nmultidegrees inγ i.
theorem isLocallyFree_symmetricPower
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras J F) (n : ℕ)
[hF : F.IsLocallyFree] : (A.symmetricPower n).IsLocallyFree
Stacks.SheafOfModules.isLocallyFree_exteriorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/LocallyFreePowers.lean, line 190. The attribute's comment: “exterior powers of a locally free module”. References: SGA 6 X (6.1), “special case”.
Each exterior power of a locally free sheaf of modules is locally free. This is clause (6) of [Stacks, Tag 01CK] for the exterior powers: a covering trivialising
Fwith index typesγ itrivialises⋀ⁿ Fwith index types then-element subsets ofγ i.
theorem isLocallyFree_exteriorPower
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras J F) (n : ℕ)
[hF : F.IsLocallyFree] : (A.exteriorPower n).IsLocallyFree
Stacks.SheafOfModules.isLocallyFree_tensorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/LocallyFreePowers.lean, line 268. The attribute's comment: “tensor powers of a locally free module”.
Each tensor power of a locally free sheaf of modules is locally free. This is clause (6) of [Stacks, Tag 01CK] for the tensor powers: a covering trivialising
Fwith index typesγ itrivialisesTⁿ Fwith index types then-fold products of theγ i.
theorem isLocallyFree_tensorPower
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras J F) (n : ℕ)
[hF : F.IsLocallyFree] : (A.tensor.piece (n : ℤ)).IsLocallyFree
Stacks.SheafOfModules.nonempty_localGeneratorsData_symmetricPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/PowerLocalGenerators.lean, line 329. The attribute's comment: “symmetric powers of a module locally generated by sections”.
Each symmetric power of a sheaf of modules locally generated by sections on a ringed space is locally generated by sections. This is clause (1) of [Stacks, Tag 01CK] for the symmetric powers.
theorem nonempty_localGeneratorsData_symmetricPower
(hF : Nonempty (F.LocalGeneratorsData.{u, u, u, u})) (n : ℕ) :
Nonempty ((A.symmetricPower n).LocalGeneratorsData.{u, u, u, u})
Stacks.SheafOfModules.nonempty_localGeneratorsData_exteriorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/PowerLocalGenerators.lean, line 338. The attribute's comment: “exterior powers of a module locally generated by sections”.
Each exterior power of a sheaf of modules locally generated by sections on a ringed space is locally generated by sections. This is clause (1) of [Stacks, Tag 01CK] for the exterior powers.
theorem nonempty_localGeneratorsData_exteriorPower
(hF : Nonempty (F.LocalGeneratorsData.{u, u, u, u})) (n : ℕ) :
Nonempty ((A.exteriorPower n).LocalGeneratorsData.{u, u, u, u})
Stacks.SheafOfModules.isFiniteType_symmetricPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/PowerLocalGenerators.lean, line 348. The attribute's comment: “symmetric powers of a module of finite type”. References: EGA II (1.7.7), “more general”.
Each symmetric power of a sheaf of modules of finite type on a ringed space is of finite type. This is clause (2) of [Stacks, Tag 01CK] for the symmetric powers: the covering is the one on which
Fis generated by finitely many sections, and the index type produced in degreenis the set of degree-nmultidegrees in the given one, hence finite.
theorem isFiniteType_symmetricPower
[hF : _root_.SheafOfModules.IsFiniteType.{u, u, u} F] (n : ℕ) :
_root_.SheafOfModules.IsFiniteType.{u, u, u} (A.symmetricPower n)
Stacks.SheafOfModules.isFiniteType_exteriorPower', a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/PowerLocalGenerators.lean, line 361. The attribute's comment: “exterior powers of a module of finite type”.
Each exterior power of a sheaf of modules of finite type on a ringed space is of finite type. This is clause (2) of [Stacks, Tag 01CK] for the exterior powers. The primed name distinguishes it from
Stacks.SheafOfModules.isFiniteType_exteriorPower, which assumesFof finite presentation and is therefore not this clause.
theorem isFiniteType_exteriorPower'
[hF : _root_.SheafOfModules.IsFiniteType.{u, u, u} F] (n : ℕ) :
_root_.SheafOfModules.IsFiniteType.{u, u, u} (A.exteriorPower n)
Stacks.SheafOfModules.isQuasicoherent_symmetricPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/QuasicoherentAlgebras.lean, line 763. The attribute's comment: “symmetric powers of a quasi-coherent module”.
Each symmetric power of a quasi-coherent sheaf of modules on a ringed space is quasi-coherent. A presentation of the module over an open presents every symmetric power of it over that same open, by
Stacks.SheafOfModules.nonempty_presentation_symmetricPower_over, so the covering family which presents the module presents the symmetric power too.
theorem isQuasicoherent_symmetricPower (n : ℕ) : (A.symmetricPower n).IsQuasicoherent
Stacks.SheafOfModules.isCoherent_symmetricPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SymmetricPowerCoherent.lean, line 304. The attribute's comment: “symmetric powers of a coherent module, in positive degree”.
Each symmetric power of positive degree of a coherent sheaf of modules on a ringed space is coherent. This is clause (4) of [Stacks, Tag 01CK] for the symmetric powers. The sequence used is
⊕_{p < n - 1} Tⁿ(F) ⟶ Tⁿ(F) ⟶ Symⁿ(F) ⟶ 0, whose first term is coherent byStacks.SheafOfModules.isCoherent_tensorPowerandisCoherent_sigma, so that closure of coherence under cokernels finishes.
theorem isCoherent_symmetricPower [_root_.SheafOfModules.IsCoherent F]
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology X.carrier) F) (n : ℕ) (hn : 0 < n) :
_root_.SheafOfModules.IsCoherent (A.symmetricPower n)
Stacks.SheafOfModules.isFinitePresentation_symmetricPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SymmetricPowerFiniteType.lean, line 169. The attribute's comment: “symmetric powers of a module of finite presentation”. References: EGA II (1.7.7), “special case”.
Each symmetric power of a sheaf of modules of finite presentation on a ringed space is of finite presentation. This is clause (3) of [Stacks, Tag 01CK] for the symmetric powers. The covering family is the one that presents
Ffinitely; no degree needs a smaller open, becauseStacks.SheafOfModules.exists_isFinite_presentation_symmetricPower_overpresents every degree finitely over that same open.
theorem isFinitePresentation_symmetricPower [F.IsFinitePresentation] (n : ℕ) :
(A.symmetricPower n).IsFinitePresentation
Stacks.SheafOfModules.isCoherent_tensorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerCoherent.lean, line 98. The attribute's comment: “tensor powers of a coherent module, in positive degree”.
Each tensor power of positive degree of a coherent sheaf of modules on a ringed space is coherent. This is clause (4) of [Stacks, Tag 01CK] for the tensor powers.
theorem isCoherent_tensorPower [_root_.SheafOfModules.IsCoherent F]
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology X.carrier) F) (n : ℕ) (hn : 0 < n) :
_root_.SheafOfModules.IsCoherent (A.tensor.piece (n : ℤ))
Stacks.SheafOfModules.isFinitePresentation_tensorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerFiniteType.lean, line 198. The attribute's comment: “tensor powers of a module of finite presentation”.
Each tensor power of a sheaf of modules of finite presentation on a ringed space is of finite presentation. This is clause (3) of [Stacks, Tag 01CK] for the tensor powers. The covering family is the one that presents
Ffinitely; no degree needs a smaller open, becauseStacks.SheafOfModules.exists_isFinite_presentation_tensorPiece_overpresents every degree finitely over that same open.
theorem isFinitePresentation_tensorPower [F.IsFinitePresentation] (n : ℕ) :
(A.tensor.piece (n : ℤ)).IsFinitePresentation
Stacks.SheafOfModules.nonempty_localGeneratorsData_tensorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerLocalGenerators.lean, line 165. The attribute's comment: “tensor powers of a module locally generated by sections”.
Each tensor power of a sheaf of modules locally generated by sections on a ringed space is locally generated by sections, on the same covering.
theorem nonempty_localGeneratorsData_tensorPower
(hF : Nonempty (F.LocalGeneratorsData.{t, t, t, t})) (n : ℕ) :
Nonempty ((A.tensor.piece (n : ℤ)).LocalGeneratorsData.{t, t, t, t})
Stacks.SheafOfModules.isFiniteType_tensorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerLocalGenerators.lean, line 173. The attribute's comment: “tensor powers of a module of finite type”.
Each tensor power of a sheaf of modules of finite type on a ringed space is of finite type.
theorem isFiniteType_tensorPower [hF : _root_.SheafOfModules.IsFiniteType.{t, t, t} F] (n : ℕ) :
_root_.SheafOfModules.IsFiniteType.{t, t, t} (A.tensor.piece (n : ℤ))
Stacks.SheafOfModules.isQuasicoherent_tensorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerPresentation.lean, line 548. The attribute's comment: “tensor powers of a quasi-coherent module”.
Each tensor power of a quasi-coherent sheaf of modules on a ringed space is quasi-coherent. This is clause (5) of Stacks Tag 01CK for the tensor powers. A presentation of
Fover an open presentsTⁿ(F)over that same open, byStacks.SheafOfModules.nonempty_presentation_tensorPower_over, so the covering family which presentsFpresents each tensor power too.
theorem isQuasicoherent_tensorPower {X : AlgebraicGeometry.RingedSpace.{t, t}}
(F : _root_.SheafOfModules.{t} (structureSheafRing X)) [F.IsQuasicoherent]
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology X.carrier) F) (n : ℕ) :
(A.tensor.piece (n : ℤ)).IsQuasicoherent
Stacks.SheafOfModules.isQuasicoherent_exteriorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Divisors/Reflexive/ConstantRank.lean, line 123. The attribute's comment: “exterior powers of a quasi-coherent module”.
Each exterior power of a quasi-coherent sheaf of modules on a ringed space is quasi-coherent. A presentation of the module over an open presents every exterior power of it over that same open, by
Stacks.SheafOfModules.nonempty_presentation_exteriorPower_over, so the covering family which presents the module presents the exterior power too.
theorem isQuasicoherent_exteriorPower {X : RingedSpace.{u, u}}
(F : _root_.SheafOfModules.{u} (structureSheafRing X)) [F.IsQuasicoherent]
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology X.carrier) F) (n : ℕ) :
(A.exteriorPower n).IsQuasicoherent
Stacks.SymGraded.isQuasicoherentPieces_of_isQuasicoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SymAlgebraQcohPieces/Basic.lean, line 408. The attribute's comment: “symmetric powers of a quasi-coherent module, at the encoding Stacks.SymGraded.schemeSymAlgebra”.
Every homogeneous piece of
Sym(E)is quasi-coherent, forEa quasi-coherent module on an arbitrary scheme. This discharges the hypothesisStacks.SymGraded.IsQuasicoherentPiecesofStacks.SymGraded.schemeSheafGradedAlgebraand ofStacks.SymGraded.schemeProjectiveBundlefor a quasi-coherent module.
theorem isQuasicoherentPieces_of_isQuasicoherent {X : Scheme.{u}} (E : X.Modules)
[E.IsQuasicoherent] : IsQuasicoherentPieces E
Stacks.SliceAlgebra.isQuasicoherent_sheafifiedSymmetricPiece, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SymmetricFree/Presentation.lean, line 157. The attribute's comment: “symmetric powers of a quasi-coherent module”.
Symmetric powers of a quasi-coherent module are quasi-coherent. For a quasi-coherent sheaf of modules
Fon a schemeXandn : ℕ, the degree-npiece of the symmetric algebra ofFis quasi-coherent.
theorem SliceAlgebra.isQuasicoherent_sheafifiedSymmetricPiece (X : Scheme.{u})
(F : X.Modules) [F.IsQuasicoherent] (n : ℕ) :
((sheafifiedSymmetricAlgebra (Opens.grothendieckTopology ↥X) F).piece
(n : ℤ)).IsQuasicoherent
Tag 01CL, a lemma
Tag 01CL in the Stacks Project.
Stacks.SheafOfModules.isLocallyFree_symmetricAlgebraSheaf_of_isLocallyFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/LocallyFreeAlgebras.lean, line 147. The attribute's comment: “the symmetric algebra of a locally free module sheaf is locally free”. References: SGA 3 XXII (5.3.0), “partial”.
The symmetric algebra of a locally free sheaf of modules is locally free. The covering family is the one that trivialises
F; no degree needs a smaller object of the site, becauseStacks.SheafOfModules.symmetricPowerOverFreeIsoOfIsoFreetrivialises every degree over that same object.
theorem isLocallyFree_symmetricAlgebraSheaf_of_isLocallyFree :
A.symmetricAlgebraSheaf.IsLocallyFree
Stacks.SheafOfModules.isLocallyFree_exteriorAlgebraSheaf_of_isLocallyFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/LocallyFreeAlgebras.lean, line 162. The attribute's comment: “the exterior algebra of a locally free module sheaf is locally free”.
The exterior algebra of a locally free sheaf of modules is locally free. The covering family is the one that trivialises
F, andStacks.SheafOfModules.exteriorPowerOverFreeIsoOfIsoFreetrivialises every degree over the same object of the site.
theorem isLocallyFree_exteriorAlgebraSheaf_of_isLocallyFree :
A.exteriorAlgebraSheaf.IsLocallyFree
Stacks.SheafOfModules.isLocallyFree_tensorAlgebraSheaf_of_isLocallyFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/LocallyFreeAlgebras.lean, line 178. The attribute's comment: “the tensor algebra of a locally free module sheaf is locally free”.
The tensor algebra of a locally free sheaf of modules is locally free. The covering family is the one that trivialises
F, andStacks.SheafOfModules.exists_nonempty_iso_free_tensorPowerOvertrivialises every degree over the same object of the site.
theorem isLocallyFree_tensorAlgebraSheaf_of_isLocallyFree :
A.tensorAlgebraSheaf.IsLocallyFree
Stacks.SheafOfModules.isQuasicoherent_symmetricAlgebraSheaf_of_isQuasicoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/QuasicoherentAlgebras.lean, line 779. The attribute's comment: “the symmetric algebra of a quasi-coherent module sheaf is quasi-coherent”.
The symmetric algebra of a quasi-coherent sheaf of modules on a ringed space is quasi-coherent. The covering family is the one that presents
F; no degree needs a smaller open, becauseStacks.SheafOfModules.nonempty_presentation_symmetricPower_overpresents every degree over that same open.
theorem isQuasicoherent_symmetricAlgebraSheaf_of_isQuasicoherent :
A.symmetricAlgebraSheaf.IsQuasicoherent
Stacks.SheafOfModules.isQuasicoherent_exteriorAlgebraSheaf_of_isQuasicoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/QuasicoherentAlgebras.lean, line 788. The attribute's comment: “the exterior algebra of a quasi-coherent module sheaf is quasi-coherent”.
The exterior algebra of a quasi-coherent sheaf of modules on a ringed space is quasi-coherent.
theorem isQuasicoherent_exteriorAlgebraSheaf_of_isQuasicoherent :
A.exteriorAlgebraSheaf.IsQuasicoherent
Stacks.SheafOfModules.isQuasicoherent_tensorAlgebraSheaf_of_isQuasicoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerPresentation.lean, line 569. The attribute's comment: “the tensor algebra of a quasi-coherent module sheaf is quasi-coherent”.
The tensor algebra of a quasi-coherent sheaf of modules on a ringed space is quasi-coherent. This is the tensor assertion of Stacks Tag 01CL. The covering family is the one that presents
F; no degree needs a smaller open, becauseStacks.SheafOfModules.nonempty_presentation_tensorPower_overpresents every degree over that same open.
theorem isQuasicoherent_tensorAlgebraSheaf_of_isQuasicoherent
{X : AlgebraicGeometry.RingedSpace.{t, t}}
(F : _root_.SheafOfModules.{t} (structureSheafRing X)) [F.IsQuasicoherent]
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology X.carrier) F) :
A.tensorAlgebraSheaf.IsQuasicoherent
Sources
Section17.22 Internal Hom#
Section 17.22 of the Stacks Project, Tag 01CM. 8 tags here are carried by 24 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01CN, a lemma
Tag 01CN in the Stacks Project.
Stacks.SheafOfModules.internalHomTensorIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/TensorAndDuals/InternalHom.lean, line 212. The attribute's comment: “canonical isomorphism”.
The sheaf-hom out of a tensor product is canonically the corresponding iterated sheaf-hom:
ℋom(F ⊗ G, H) ≅ ℋom(F, ℋom(G, H)).
noncomputable def internalHomTensorIso
(F G H : _root_.SheafOfModules.{u} (structureSheafRing X)) :
sheafHomSpace X (((Tensor.sheafTensor ⟨X.presheaf, X.IsSheaf⟩).obj F).obj G) H ≅
sheafHomSpace X F (sheafHomSpace X G H)
Stacks.SheafOfModules.internalHomTensorIso_hom_app_tmul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/TensorAndDuals/InternalHom.lean, line 228. The attribute's comment: “canonical characterization”.
The canonical sheaf-hom isomorphism is currying: on every open, its evaluation on two local sections agrees with evaluation on their pure tensor.
theorem internalHomTensorIso_hom_app_tmul
(U : Opens X.carrier)
(s : (sheafHomSpace X
(((Tensor.sheafTensor ⟨X.presheaf, X.IsSheaf⟩).obj F).obj G) H).val.obj (op U))
(f : F.val.obj (op U)) (g : G.val.obj (op U)) :
evalNestedInternalHomSection X U
((internalHomTensorIso X F G H).hom.val.app (op U) s) f g =
evalTensorHomSection X U s f g
Stacks.SheafOfModules.tensorHomEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/TensorAndDuals/InternalHom.lean, line 251. The attribute's comment: “morphism equivalence”.
Giving a morphism
F ⊗ G ⟶ His canonically equivalent to giving a morphismF ⟶ ℋom(G, H).
noncomputable def tensorHomEquiv
(F G H : _root_.SheafOfModules.{u} (structureSheafRing X)) :
(((Tensor.sheafTensor ⟨X.presheaf, X.IsSheaf⟩).obj F).obj G ⟶ H) ≃ (F ⟶ sheafHomSpace X G H)
Stacks.SheafOfModules.tensorHomEquiv_isTensorCurry, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/TensorAndDuals/InternalHom.lean, line 264. The attribute's comment: “morphism equivalence characterization”.
The forward direction of
tensorHomEquivis the canonical currying map.
theorem tensorHomEquiv_isTensorCurry
(t : ((Tensor.sheafTensor ⟨X.presheaf, X.IsSheaf⟩).obj F).obj G ⟶ H) :
IsTensorCurry X t (tensorHomEquiv X F G H t)
Stacks.SheafOfModules.internalHomTensorIso_natural_left, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/TensorAndDuals/InternalHom.lean, line 359. The attribute's comment: “functoriality in the first entry”.
The canonical isomorphism commutes with precomposition in its first argument.
theorem internalHomTensorIso_natural_left
{F' : _root_.SheafOfModules.{u} (structureSheafRing X)} (f : F' ⟶ F) :
(internalHomTensorIso X F G H).hom ≫ sheafHomMapLeft X f =
sheafHomMapLeft X ((Functor.uncurry.obj (Tensor.sheafTensor ⟨X.presheaf, X.IsSheaf⟩)).map
((f, 𝟙 G) : (_, _) ⟶ (_, _))) ≫
(internalHomTensorIso X F' G H).hom
Stacks.SheafOfModules.internalHomTensorIso_natural_middle, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/TensorAndDuals/InternalHom.lean, line 371. The attribute's comment: “functoriality in the second entry”.
The canonical isomorphism commutes with precomposition in its second argument.
theorem internalHomTensorIso_natural_middle
{G' : _root_.SheafOfModules.{u} (structureSheafRing X)} (g : G' ⟶ G) :
(internalHomTensorIso X F G H).hom ≫ sheafHomMapRight X (sheafHomMapLeft X g) =
sheafHomMapLeft X ((Functor.uncurry.obj (Tensor.sheafTensor ⟨X.presheaf, X.IsSheaf⟩)).map
((𝟙 F, g) : (_, _) ⟶ (_, _))) ≫
(internalHomTensorIso X F G' H).hom
Stacks.SheafOfModules.internalHomTensorIso_natural_right, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/TensorAndDuals/InternalHom.lean, line 383. The attribute's comment: “functoriality in the third entry”.
The canonical isomorphism commutes with postcomposition in its target.
theorem internalHomTensorIso_natural_right
{H' : _root_.SheafOfModules.{u} (structureSheafRing X)} (h : H ⟶ H') :
sheafHomMapRight X h ≫ (internalHomTensorIso X F G H').hom =
(internalHomTensorIso X F G H).hom ≫ sheafHomMapRight X (sheafHomMapRight X h)
Declarations registered for the tag:
Stacks.SheafOfModules.internalHomTensorIso, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Modules/TensorAndDuals/InternalHom.lean, line 399 (StacksFrontier): “canonical_iso”.Stacks.SheafOfModules.tensorHomEquiv, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Modules/TensorAndDuals/InternalHom.lean, line 400 (StacksFrontier): “in_particular”.
Tag 01CO, a lemma
Tag 01CO in the Stacks Project.
sheafHom_leftExact_fst, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomLeftExact.lean, line 353. The attribute's comment: “(1)”. References: EGA 0 (4.1.5), “special case”; EGA 0 (6.7.6), “partial”; SGA 4 IV (12.2), “partial”.
Left exactness of
SheafHomin the first argument. Given an exact sequenceF₂ --α--> F₁ --β--> F → 0ofO_X-modules (encoded as the exactComposableArrowsF₂ → F₁ → F → 0, whose final node forcesβepi), and internal homsSheafHom(F,G),SheafHom(F₁,G),SheafHom(F₂,G)with induced precomposition mapsβ* = mβ,α* = mα(morphisms ofO_X-modules), the induced sequence ofO_X-modules0 → SheafHom(F, G) --β*--> SheafHom(F₁, G) --α*--> SheafHom(F₂, G)is exact inSheafOfModules R(β*is mono andim β* = ker α*).
theorem sheafHom_leftExact_fst
(F₂ F₁ F G : SheafOfModules.{v} (structureSheaf Rc)) (α : F₂ ⟶ F₁) (β : F₁ ⟶ F)
(hin : (ComposableArrows.mk₃ α β (0 : F ⟶ 0)).Exact)
(HF : SheafHom Rc F G) (HF₁ : SheafHom Rc F₁ G) (HF₂ : SheafHom Rc F₂ G)
(mβ : HF.obj ⟶ HF₁.obj) (mα : HF₁.obj ⟶ HF₂.obj)
(hmβ : SheafHom.IsPrecomp Rc β HF HF₁ mβ) (hmα : SheafHom.IsPrecomp Rc α HF₁ HF₂ mα) :
(ComposableArrows.mk₃
(0 : (0 : SheafOfModules.{v} (structureSheaf Rc)) ⟶ HF.obj) mβ mα).Exact
sheafHom_leftExact_snd, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomLeftExact.lean, line 416. The attribute's comment: “(2)”. References: EGA 0 (4.1.5), “special case”; SGA 4 IV (12.2), “partial”; SGA 4 V (6.0), “6.0, special case”.
Left exactness of
SheafHomin the second argument. Given an exact sequence0 → G --u--> G₁ --v--> G₂ofO_X-modules (encoded as the exactComposableArrows0 → G → G₁ → G₂, whose first node forcesumono), and internal homsSheafHom(F,G),SheafHom(F,G₁),SheafHom(F,G₂)with induced postcomposition mapsu_* = mu,v_* = mv(morphisms ofO_X-modules), the induced sequence ofO_X-modules0 → SheafHom(F, G) --u_*--> SheafHom(F, G₁) --v_*--> SheafHom(F, G₂)is exact inSheafOfModules R(u_*is mono andim u_* = ker v_*).
theorem sheafHom_leftExact_snd
(F G G₁ G₂ : SheafOfModules.{v} (structureSheaf Rc)) (u : G ⟶ G₁) (v : G₁ ⟶ G₂)
(hin : (ComposableArrows.mk₃
(0 : (0 : SheafOfModules.{v} (structureSheaf Rc)) ⟶ G) u v).Exact)
(HG : SheafHom Rc F G) (HG₁ : SheafHom Rc F G₁) (HG₂ : SheafHom Rc F G₂)
(mu : HG.obj ⟶ HG₁.obj) (mv : HG₁.obj ⟶ HG₂.obj)
(hmu : SheafHom.IsPostcomp Rc u HG HG₁ mu) (hmv : SheafHom.IsPostcomp Rc v HG₁ HG₂ mv) :
(ComposableArrows.mk₃
(0 : (0 : SheafOfModules.{v} (structureSheaf Rc)) ⟶ HG.obj) mu mv).Exact
Tag 0A6F, a lemma
Tag 0A6F in the Stacks Project.
RingedSpaceModuleAdjunction.homSheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Functors/Module/HomSheaf.lean, line 424. The attribute's comment: “the internal Hom sheaf, as a functor to modules over the target ring”.
The functor
SheafHom_{𝒪₁}(𝒪₂, -)from𝒪₁-modules to𝒪₂-modules. On underlying presheaves it is the coextension of scalarsStacks.PresheafOfModules.CoextendScalars.coextFunMap.
noncomputable def homSheaf
{C : Type u} [Category.{u} C] {J : GrothendieckTopology C}
{𝒪₁ 𝒪₂ : CategoryTheory.Sheaf J RingCat.{u}}
(α : 𝒪₁ ⟶ 𝒪₂) : SheafOfModules.{u} 𝒪₁ ⥤ SheafOfModules.{u} 𝒪₂
RingedSpaceModuleAdjunction.restrictScalarsHomAdjunction, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Functors/Module/HomSheaf.lean, line 438. The attribute's comment: “the bifunctorial Hom identification”. References: SGA 4 IV (14.5), “adjunction i_* ⊣ i^!”.
Restriction of scalars along a homomorphism of sheaves of rings is left adjoint to the internal-Hom functor
SheafHom_{𝒪₁}(𝒪₂, -).
noncomputable def restrictScalarsHomAdjunction
{C : Type u} [Category.{u} C] {J : GrothendieckTopology C}
{𝒪₁ 𝒪₂ : CategoryTheory.Sheaf J RingCat.{u}}
(α : 𝒪₁ ⟶ 𝒪₂) :
SheafOfModules.restrictScalars.{u} α ⊣ homSheaf α
Tag 01CP, a lemma
Tag 01CP in the Stacks Project.
Stacks.SheafOfModules.SheafHomStalk.injective_sheafHomStalkLinearMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomStalk.lean, line 903. The attribute's comment: “finite_type_injective”. References: EGA 0 (5.2.6), “partial”.
Injectivity half of Stacks 01CP. For
Fof finite type the canonical map from the stalk of the internal hom to the module of homomorphisms of the stalks is injective. Only local generation by finitely many sections is used, which is exactlyLocalGenerators; the relations of aLocalPresentationare needed only for surjectivity.This is
injective_sheafHomStalkLinearMap_of_localGenerators, whose hypothesis is only thatFhas local generators atx, applied to the generators that finite type produces there.
theorem injective_sheafHomStalkLinearMap (H : SheafHom Rc F G) (x : X)
[F.IsFiniteType] : Function.Injective (sheafHomStalkLinearMap H x)
Stacks.SheafOfModules.SheafHomStalk.sheafHomStalkLinearEquivOfFinitePresentation, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomStalk.lean, line 1130. The attribute's comment: “finite_presentation_isomorphism”.
Stacks Project, Tag 01CP. If
Fis of finite presentation, the canonical map from the stalk ofSheafHom(F, G)atxto the module ofO_{X,x}-linear maps fromF_xtoG_xis an isomorphism. The equivalence produced here is the canonical mapsheafHomStalkLinearMap H x: itsgerm_applyfield records that it sends the germ of a local homomorphism and the germ of a local section to the germ of the evaluation, and bysheafHomStalkLinearMap_uniquethat property determines it.
noncomputable def sheafHomStalkLinearEquivOfFinitePresentation
(H : SheafHom Rc F G) (x : X) [F.IsFinitePresentation] :
SheafHomStalkLinearEquiv Rc F G H x
Tag 0C6I, a lemma
Tag 0C6I in the Stacks Project.
Stacks.SheafHomPullback.pullbackSheafHomComparison_isIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Recovery17/PullbackInternalHom.lean, line 814.
Stacks Project, Tag 0C6I. Let
f : X ⟶ Ybe a flat morphism of ringed spaces. IfFis a finitely presented𝒪_Y-module, then the canonical mapf^* SheafHom(F, G) ⟶ SheafHom(f^*F, f^*G)is an isomorphism.
theorem pullbackSheafHomComparison_isIso
{X Y : RingedSpace.{u, u}} (f : X ⟶ Y)
(hf : AlgebraicGeometry.IsFlat f)
(F G : SheafOfModules.{u} (structureSheafRing Y)) [F.IsFinitePresentation]
(H : SheafHom Y.sheaf F G)
(H' : SheafHom X.sheaf ((modulePullback f).obj F)
((modulePullback f).obj G))
(comparison : PullbackSheafHomComparison f F G H H') :
IsIso (pullbackSheafHomComparison f F G H H' comparison)
Tag 01CQ, a lemma
Tag 01CQ in the Stacks Project.
Stacks.SheafOfModules.sheafHom_locallyKernelFiniteCoproduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomSlice.lean, line 732. The attribute's comment: “local kernel presentation”.
The internal hom out of a finitely presented module is locally the kernel of a map between finite direct sums of copies of the target.
theorem sheafHom_locallyKernelFiniteCoproduct [F.IsFinitePresentation] :
∀ x : X, ∃ U : Opens X, x ∈ U ∧ ∃ m n : ℕ,
∃ f : (∐ fun _ : Fin m => G.over U) ⟶ (∐ fun _ : Fin n => G.over U),
Nonempty ((sheafHom 𝒪 h𝒪 F G).over U ≅ kernel f)
Stacks.SheafOfModules.sheafHom_isCoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomSlice.lean, line 759. The attribute's comment: “coherence of internal Hom”.
The internal hom out of a finitely presented module into a coherent module is coherent.
theorem sheafHom_isCoherent [F.IsFinitePresentation] [IsCoherent G] :
IsCoherent (sheafHom 𝒪 h𝒪 F G)
Stacks.SheafOfModules.InternalHom.exists_locally_isoKernel_sheafInternalHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InternalHomCoherent/LocalKernel.lean, line 284. The attribute's comment: “local kernel presentation”.
The first clause of [Stacks, Tag 01CQ]. Let
(Y, 𝒪_Y)be a ringed space and letF,Gbe𝒪_Y-modules withFof finite presentation. ThenSheafHom(F, G)is locally a kernel of a map between finite direct sums of copies ofG: every point ofYhas an open neighbourhoodUfor whichSheafHom(F, G)|_Uis the kernel of a morphism∐_{i < m} G|_U ⟶ ∐_{j < n} G|_U.
theorem exists_locally_isoKernel_sheafInternalHom
(F G : SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf (spaceRingedSite O).O))
[F.IsFinitePresentation] (y : Y) :
∃ U : Opens Y, y ∈ U ∧ ∃ (m n : ℕ)
(f : (∐ fun _ : Fin m => G.over U) ⟶ (∐ fun _ : Fin n => G.over U)),
Nonempty ((sheafInternalHom (spaceRingedSite O) F G).over U ≅ kernel f)
Stacks.SheafOfModules.InternalHom.isCoherent_sheafInternalHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InternalHomCoherent/LocalKernel.lean, line 306. The attribute's comment: “coherence of internal Hom”.
The second clause of [Stacks, Tag 01CQ]. On a ringed space, the internal Hom from a module of finite presentation into a coherent module is coherent. This combines the first clause with the gluing step
Stacks.SheafOfModules.isCoherent_of_locallyKernelFiniteCoproduct.The coherence predicate here is the one of
StacksFrontier/Algebra/Category/ModuleCat/Sheaf/Coherent.lean; for the one of Stacks Tag 01BW seeisCoherent_sheafInternalHom', which is the same statement and is deliberately left untagged so that the tag is not counted twice.
theorem isCoherent_sheafInternalHom
(F G : SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf (spaceRingedSite O).O))
[F.IsFinitePresentation] [Stacks.SheafOfModules.IsCoherent G] :
Stacks.SheafOfModules.IsCoherent
(sheafInternalHom (spaceRingedSite O) F G)
Stacks.AlgebraicGeometry.InternalHomLocalKernel.sheafHom_locallyKernelFiniteCoproduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InternalHomLocalKernel/Basic.lean, line 375. The attribute's comment: “local kernel presentation”.
Stacks 01CQ, first assertion, for a ringed space. A sheaf Hom from a finitely presented module is locally the kernel of a map between finite direct sums of copies of the target.
theorem sheafHom_locallyKernelFiniteCoproduct
(F G : _root_.SheafOfModules.{u}
(structureSheafRing X))
[F.IsFinitePresentation] :
∀ x : X.carrier, ∃ U : Opens X.carrier, x ∈ U ∧
∃ m n : ℕ,
∃ f : (∐ (fun _ : Fin m => G.over U)) ⟶ (∐ (fun _ : Fin n => G.over U)),
Nonempty ((_root_.Stacks.SheafOfModules.sheafHom X.presheaf
(structureSheafRing X).property F G).over
U ≅
(kernel f :
_root_.SheafOfModules.{u}
((structureSheafRing X).over U)))
Stacks.AlgebraicGeometry.InternalHomLocalKernel.sheafHom_isCoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InternalHomLocalKernel/Basic.lean, line 395. The attribute's comment: “coherence of internal Hom”.
Stacks 01CQ, second assertion, for a ringed space. Internal Hom from a finitely presented module into a coherent module is coherent.
theorem sheafHom_isCoherent
(F G : _root_.SheafOfModules.{u}
(structureSheafRing X))
[F.IsFinitePresentation] [G.IsCoherent] :
(_root_.Stacks.SheafOfModules.sheafHom X.presheaf
(structureSheafRing X).property F G).IsCoherent
Tag 0GMV, a lemma
Tag 0GMV in the Stacks Project.
Stacks.SheafOfModules.isColimit_sheafHomCocone, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomFilteredColimit.lean, line 170.
Stacks Project, Tag 0GMV. Let
Fbe anO_X-module of finite presentation on a ringed space and letG = colim_λ G_λbe a filtered colimit ofO_X-modules. Then the canonical cocone of internal homs overSheafHom_{O_X}(F, G), whose legs are the postcomposition maps induced by the colimit inclusions, is a colimit cocone; that is, the canonical mapcolim_λ SheafHom_{O_X}(F, G_λ) ⟶ SheafHom_{O_X}(F, G)is an isomorphism.
noncomputable def isColimit_sheafHomCocone [F.IsFinitePresentation] [IsFiltered K]
(c : Cocone D) (hc : IsColimit c)
(H : ∀ j, SheafHom Rc F (D.obj j)) (Hc : SheafHom Rc F c.pt) :
IsColimit (sheafHomCocone F D c H Hc)
Stacks.SheafOfModules.isIso_desc_sheafHomCocone, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomFilteredColimit.lean, line 196.
Stacks Project, Tag 0GMV, in comparison-map form: for
Fof finite presentation and a filtered diagram, the canonical map from any colimit of the internal homsSheafHom_{O_X}(F, G_λ)toSheafHom_{O_X}(F, colim_λ G_λ)is an isomorphism.
theorem isIso_desc_sheafHomCocone [F.IsFinitePresentation] [IsFiltered K]
(c : Cocone D) (hc : IsColimit c)
(H : ∀ j, SheafHom Rc F (D.obj j)) (Hc : SheafHom Rc F c.pt)
(t : Cocone (sheafHomDiagram F D H)) (ht : IsColimit t) :
IsIso (ht.desc (sheafHomCocone F D c H Hc))
Tag 01BS, a lemma
Tag 01BS in the Stacks Project.
Stacks.SheafOfModules.preservesColimitsOfShape_coyoneda_of_isFinitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomFilteredColimitSections.lean, line 120.
Stacks Project, Tag 01BS. Let
Xbe a ringed space with a cofinal system of open coveringsX = ⋃_{j ∈ J} U_jwithJfinite and allU_j ∩ U_j'quasi-compact, letFbe anO_X-module of finite presentation and letλ ↦ G_λbe a filtered system ofO_X-modules. Then
colim_λ Hom_X(F, G_λ) = Hom_X(F, colim_λ G_λ);here in the form that
Hom_X(F, -)preserves colimits of the given filtered shape, which says exactly that the canonical comparison map out of any colimit of theHom_X(F, G_λ)is an isomorphism.
theorem preservesColimitsOfShape_coyoneda_of_isFinitePresentation
(F : _root_.SheafOfModules.{u} (structureSheaf Rc)) [F.IsFinitePresentation]
(K : Type u) [Category.{u} K] [IsFiltered K]
(hX : DirectedColimitOfSheaves.HasFiniteCompactCofinalCovers (X := X) ⊤) :
PreservesColimitsOfShape K (coyoneda.obj (op F))
Stacks.SheafOfModules.isIso_colimitPost_coyoneda_of_hasFiniteCompactCofinalCovers, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SheafHomFilteredColimitSections.lean, line 146.
Stacks Project, Tag 01BS as the source displays it. The canonical comparison map
colim_λ Hom_X(F, G_λ) ⟶ Hom_X(F, colim_λ G_λ)is an isomorphism of types, for
FanO_X-module of finite presentation andGa filtered system ofO_X-modules on a ringed space with a cofinal system of finite open coverings having quasi-compact pairwise intersections.
theorem isIso_colimitPost_coyoneda_of_hasFiniteCompactCofinalCovers
(F : _root_.SheafOfModules.{u} (structureSheaf Rc)) [F.IsFinitePresentation]
{K : Type u} [Category.{u} K] [IsFiltered K]
(G : K ⥤ _root_.SheafOfModules.{u} (structureSheaf Rc))
(hX : DirectedColimitOfSheaves.HasFiniteCompactCofinalCovers (X := X) ⊤) :
IsIso (colimit.post G (coyoneda.obj (op F)))
Sources
Section17.23 The annihilator of a sheaf of modules#
Section 17.23 of the Stacks Project, Tag 0H2G. 5 tags here are carried by 8 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0H2H, a definition
Tag 0H2H in the Stacks Project.
Stacks.SheafOfModules.annihilatorSheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/Annihilator.lean, line 125. References: EGA 0 (5.3.7), “annihilator def”.
Stacks Project, Tag 0H2H. The annihilator of an
𝒪_X-moduleFis the subsheaf of𝒪_Xconsisting of the local functions that act as zero onF. Equivalently, it is the kernel of the canonical map from𝒪_Xto the internal endomorphism sheaf ofF.
noncomputable def annihilatorSheaf :
(SheafOfModules.unit (structureSheafRing X)).Submodule
Tag 0H2I, an equation
Tag 0H2I in the Stacks Project.
Stacks.SheafOfModules.stalk_annihilatorSheaf_le_annihilator_stalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/Annihilator.lean, line 257.
Stacks Project, Tag 0H2I. The germs of local sections of the annihilator sheaf at
xannihilate the stalkFₓ.
theorem stalk_annihilatorSheaf_le_annihilator_stalk (x : X) :
{ a : (show X.carrier.Presheaf RingCat from (structureSheafRing X).obj).stalk x |
∃ (U : Opens X.carrier) (hx : x ∈ U) (r : (structureSheafRing X).obj.obj (op U)),
r ∈ (annihilatorSheaf X F).toSubmodule.obj (op U) ∧
(show X.carrier.Presheaf RingCat from (structureSheafRing X).obj).germ U x hx r = a } ⊆
Module.annihilator
((show X.carrier.Presheaf RingCat from (structureSheafRing X).obj).stalk x)
((show X.carrier.Presheaf Ab.{u} from F.val.presheaf).stalk x)
Tag 0H2J, a lemma
Tag 0H2J in the Stacks Project.
Stacks.SheafOfModules.annihilatorSheaf_stalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/AnnihilatorStalk.lean, line 189.
Stacks Project, Tag 0H2J. For
Fof finite type, the germs atxof the local sections of the annihilator sheaf ofFare exactly the elements of the local ringO_{X,x}that annihilate the stalkF_x.
theorem annihilatorSheaf_stalk [F.IsFiniteType] (x : X) :
{r : TopCat.Presheaf.stalk (C := CommRingCat.{u}) X.sheaf.obj x |
∃ (U : Opens X) (hx : x ∈ U) (s : (structureSheafRing X).obj.obj (op U)),
s ∈ (annihilatorSheaf X F).toSubmodule.obj (op U) ∧
TopCat.Presheaf.germ (C := CommRingCat.{u}) X.sheaf.obj U x hx s = r} =
(Module.annihilator
(TopCat.Presheaf.stalk (C := CommRingCat.{u}) X.sheaf.obj x)
(TopCat.Presheaf.stalk (C := Ab.{u})
(show PresheafOfModules.{u}
(X.sheaf.obj ⋙ forget₂ CommRingCat RingCat) from F.val).presheaf x) :
Set (TopCat.Presheaf.stalk (C := CommRingCat.{u}) X.sheaf.obj x))
Tag 0H2K, a lemma
Tag 0H2K in the Stacks Project.
Stacks.SheafOfModules.quotientRingSheafModule, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/AnnihilatorQuotient.lean, line 184. The attribute's comment: “the descended module structure”.
Stacks Project, Tag 0H2K. The canonical
𝒪_X/I-module structure on a sheaf of modules annihilated by the ideal subsheafI: its underlying presheaf of abelian groups is that ofF, and a local section of𝒪_X/Iacts through any local lift of it to𝒪_X.
noncomputable def quotientRingSheafModule (hI : I ≤ annihilatorSheaf X F) :
SheafOfModules.{v} (quotientRingSheaf X I).sheaf
Stacks.SheafOfModules.quotientRingSheafModule_restrictScalars, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/AnnihilatorQuotient.lean, line 236. The attribute's comment: “compatibility with the given action”.
Stacks Project, Tag 0H2K. The descended action is compatible with the given one: restricting scalars along the quotient map returns
F.
theorem quotientRingSheafModule_restrictScalars (hI : I ≤ annihilatorSheaf X F) :
(SheafOfModules.restrictScalars (quotientRingSheaf X I).quotientMap).obj
(quotientRingSheafModule X I F hI) = F
Stacks.SheafOfModules.quotientRingSheafModule_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/AnnihilatorQuotient.lean, line 251. The attribute's comment: “uniqueness of the descended action”.
Stacks Project, Tag 0H2K. The descended action is the only
𝒪_X/I-action whose restriction of scalars along the quotient map is the given𝒪_X-action.
theorem quotientRingSheafModule_unique (hI : I ≤ annihilatorSheaf X F)
(G : SheafOfModules.{v} (quotientRingSheaf X I).sheaf)
(hG : (SheafOfModules.restrictScalars (quotientRingSheaf X I).quotientMap).obj G = F) :
G = quotientRingSheafModule X I F hI
Stacks.SheafOfModules.quotientRingSheafModule_stalk_smul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/AnnihilatorQuotient.lean, line 393. The attribute's comment: “the action on stalks”.
Stacks Project, Tag 0H2K. On stalks the descended action is the ordinary action of the quotient ring
𝒪_{X,x}/I_xon the stalkF_x, which the stalk ofIannihilates: the class of a germracts onF_xexactly asritself.
theorem quotientRingSheafModule_stalk_smul (F : SheafOfModules.{u} (structureSheafRing X))
(hI : I ≤ annihilatorSheaf X F) (x : X.carrier)
(r : TopCat.Presheaf.stalk (C := RingCat) (structureSheafRing X).obj x)
(m : TopCat.Presheaf.stalk (C := Ab.{u}) F.val.presheaf x) :
quotientStalkSMul X I F hI x
(quotientRingSheafStalkIdealEquiv X I x
(Ideal.Quotient.mk (idealSheafStalk X I x) r)) m = r • m
Tag 0H2L, a lemma
Tag 0H2L in the Stacks Project.
Stacks.SheafOfModules.isCoherent_annihilatorSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/AnnihilatorCoherent.lean, line 75.
Stacks Project, Tag 0H2L. If the structure sheaf of a ringed space and an
𝒪_X-moduleFare coherent, then the annihilator ofFis coherent.
theorem isCoherent_annihilatorSheaf (F : SheafOfModules.{u} (structureSheafRing X))
[IsCoherent (SheafOfModules.unit (structureSheafRing X))] [IsCoherent F] :
IsCoherent (annihilatorSheaf X F).toSheafOfModules
Sources
Section17.24 Koszul complexes#
Section 17.24 of the Stacks Project, Tag 062J. 2 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 062K, a definition
Tag 062K in the Stacks Project.
SheafOfModules.koszulDifferentialGradedAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Koszul/Sheaf/DifferentialGradedAlgebra.lean, line 193. References: SGA 3 III (4.6.1), “Koszul complex”.
The Koszul complex
K_•(φ)of anO-module mapφ : F → O, as a sheaf of differential graded algebras. This is Stacks tag 062K. Its underlying graded algebra is the exterior algebra⋀(F)of Section 17.21, read with the grading negated because the complex of a sheaf of differential graded algebras is a cochain complex while the Koszul differential lowers the exterior degree; that isSheafOfModules.koszulDifferentialGradedAlgebra_toGradedAlgebra, and⋀(F)has the universal property of the exterior algebra onFbySheafOfModules.isExteriorAlgebra_sheafifiedExteriorAlgebra, which is item (1) of the tag. Its differential is the Koszul differential ofφ, which is the unique graded derivation of⋀(F)taking a degree-one local sectionetoφ(e)(SheafOfModules.existsUnique_koszulDerivation), which is item (2). The tag calls the result a commutative differential graded algebra;SheafOfModules.DifferentialGradedAlgebrais Stacks tag 0FRF's notion and carries no commutativity axiom, and graded commutativity of⋀(F)isSheafOfModules.sheafifiedExteriorMul_comm.
SheafOfModules.ringedSpaceKoszulDifferentialGradedAlgebrais the specialization to a ringed space, which is the generality the tag is stated in.
noncomputable def koszulDifferentialGradedAlgebra :
DifferentialGradedAlgebra.{w, w} (toRingCat J Osharp)
Tag 062L, a definition
Tag 062L in the Stacks Project.
PresheafOfModules.seqExteriorFunctional, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Koszul/Sheaf/Sequence.lean, line 167. The attribute's comment: “the morphism (f₁, …, f_r) : O^{⊕ r} → O the Koszul complex is attached to, not the complex itself”.
The functional
(f₁, …, f_r) : O^{⊕ r} → O. Over each object it is the ring-levelKoszul.seqDualof the family of sections restricted there.
noncomputable def seqExteriorFunctional {r : ℕ} (f : Sequence O r) :
ExteriorFunctional.{v, u, w, w} (finFree O r)
Stacks.AlgebraicGeometry.SeqKoszul.sheafComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Koszul/Sheaf/SheafCondition.lean, line 192. The attribute's comment: “the complex K_•(O_X, f₁, …, f_r) itself, on a ringed space and as a chain complex of sheaves of modules”. References: EGA III (1.1.1), “more general”; SGA 3 III (4.6.1), “more general”; SGA 6 VII (1.1), “special case”.
K_•(O_X, f₁, …, f_r)as a chain complex of sheaves of modules. In degreenit is the sheaf of exterior powersU ↦ ⋀^n_{O_X(U)}(O_X(U)^r)and the differential is contraction by(f₁, …, f_r). This is the complex whose acyclicity in positive degrees is Koszul-regularity of the family, in the sense of Stacks tag 063D.
noncomputable def sheafComplex : ChainComplex (SheafOfModules.{u} (ringSheaf X)) ℕ
Sources
Section17.25 Invertible modules#
Section 17.25 of the Stacks Project, Tag 01CR. 11 tags here are carried by 78 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01CS, a definition
Tag 01CS in the Stacks Project.
Stacks.SheafOfModules.IsInvertible, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorInvertible.lean, line 130. The attribute's comment: “invertible”.
Stacks Project, Tag 01CS, equivalently Tag 0409 (2). A sheaf of
O-modules is invertible when its tensor functor is an equivalence. The universal property specifies that tensor functor independently of any chosen construction of sheafification, hence on every site; so the ringed-space form of the definition and the ringed-site form coincide here.
class IsInvertible
(L : SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO)) : Prop
AlgebraicGeometry.SheafOfModules.IsTrivial, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Invertible.lean, line 137. The attribute's comment: “trivial”.
An
O-module sheaf is trivial when it is isomorphic, as anO-module, toOitself.
noncomputable abbrev IsTrivial
(L : _root_.SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
: Prop
Tag 0B8K, a lemma
Tag 0B8K in the Stacks Project.
Stacks.SheafOfModules.Invertible.tensorInverseIsoDualSheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/InvertibleDualEvaluation.lean, line 307. The attribute's comment: “the tensor inverse is the dual”. References: SGA 6 VIII (3.5), “partial”.
Stacks Project, Tag 0B8N (c). A sheaf of
𝒪-modulesNwhose tensor product withLis isomorphic to the structure sheaf is isomorphic toSheafHom(L, 𝒪).The hypothesis is clause (2) of the tag, so
Lis invertible and the evaluation pairingSheafHom(L, 𝒪) ⊗_𝒪 L ⟶ 𝒪is an isomorphism byisIso_evaluation. That exhibitsSheafHom(L, 𝒪)as a two-sided tensor inverse ofL, the braiding supplying the other order, while the given isomorphism exhibitsNas one; a two-sided tensor inverse in a monoidal category is unique up to isomorphism (CategoryTheory.MonoidalCategory.HasInverse.inv_iso).
noncomputable def tensorInverseIsoDualSheaf
(N : SheafOfModules.{max u v} (TensorSheafification.structureSheaf 𝒪 h𝒪))
(e : ((Tensor.sheafTensor
⟨𝒪, Presheaf.isSheaf_of_isSheaf_comp _ 𝒪 (forget₂ CommRingCat RingCat) h𝒪⟩).obj L).obj N ≅
SheafOfModules.unit (TensorSheafification.structureSheaf 𝒪 h𝒪)) :
N ≅ dualSheaf 𝒪 h𝒪 L
Stacks.SheafOfModules.isInvertible_iff_exists_tensor_iso_unit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/InvertibleRankOne.lean, line 298. The attribute's comment: “(1) ⟺ (2)”.
Stacks Project, Tag 0B8K and Tag 0B8N, (1) ⟺ (2). A sheaf of
O-modulesLis invertible if and only if there is a sheaf ofO-modulesNwhose tensor product withLis isomorphic toO.For the forward implication the tensor functor of
Lis an equivalence, soOhas a preimageNunder it, and the universal property identifies the image of that preimage withL ⊗_O N. For the converse the isomorphismL ⊗_O N ≅ Ois turned into a pairing of presheaves of modules by composing with the sheafification unit, andisInvertible_of_pairingapplies.Tag 0B8K states this for a ringed space and Tag 0B8N for an arbitrary ringed site; the statement here is the one on a ringed site, so it carries both.
theorem isInvertible_iff_exists_tensor_iso_unit
(L : SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO)) :
IsInvertible O hO L ↔ ∃ N : SheafOfModules.{w}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO),
Nonempty (((Tensor.sheafTensor.{u, v, w, w, w}
⟨O, Presheaf.isSheaf_of_isSheaf_comp _ O (forget₂ CommRingCat RingCat) hO⟩).obj L).obj N ≅
SheafOfModules.unit (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
Stacks.SheafOfModules.Invertible.isInvertible_iff_exists_tensor_iso_unit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Ample/DescentStep.lean, line 200. The attribute's comment: “tensor_inverse_characterization”.
Stacks Project, Tag 0B8K. A sheaf of modules is invertible if and only if it has a tensor inverse, that is, if and only if some
NsatisfiesL ⊗ N ≅ 𝒪.
theorem isInvertible_iff_exists_tensor_iso_unit
(L : _root_.SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
:
IsInvertible O hO L ↔
∃ N : _root_.SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O
hO),
Nonempty (((Stacks.SheafOfModules.Tensor.sheafTensor.{u, v, w, w, w}
⟨O, Presheaf.isSheaf_of_isSheaf_comp _ O (forget₂ CommRingCat RingCat) hO⟩).obj L).obj N ≅
_root_.SheafOfModules.unit (Stacks.SheafOfModules.TensorSheafification.structureSheaf O
hO))
Stacks.SheafOfModules.LocallyFiniteFree.isLocallyFiniteFreeSummand_of_isInvertible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Ample/LocallyFiniteFreeSummand.lean, line 1191. The attribute's comment: “locally_finite_free_summand”.
Stacks Project, Tag 0B8K. An invertible sheaf of modules is locally a direct summand of a finite free sheaf.
theorem isLocallyFiniteFreeSummand_of_isInvertible
(X : RingedSpace.{u, w}) (L : _root_.SheafOfModules.{u} (ringSheaf X))
[HasWeakSheafify (Opens.grothendieckTopology X.carrier) AddCommGrpCat.{u}]
[(Opens.grothendieckTopology X.carrier).WEqualsLocallyBijective AddCommGrpCat.{u}]
[∀ U : Opens X,
HasWeakSheafify (Opens.grothendieckTopology (X.restrict U.isOpenEmbedding).carrier)
AddCommGrpCat.{u}]
[∀ U : Opens X,
(Opens.grothendieckTopology
(X.restrict U.isOpenEmbedding).carrier).WEqualsLocallyBijective
AddCommGrpCat.{u}]
(hL : AlgebraicGeometry.SheafOfModules.IsInvertible X.presheaf
(Presheaf.isSheaf_comp_of_isSheaf _ X.presheaf
(forget₂ CommRingCat.{u} RingCat.{u}) X.IsSheaf) L) :
∀ x : X, ∃ (U : Opens X) (_ : x ∈ U) (n : ℕ),
Nonempty (Retract ((modulePullback (X.ofRestrict U.isOpenEmbedding)).obj L)
(_root_.SheafOfModules.free (ULift.{u} (Fin n))))
Tag 0B8L, a lemma
Tag 0B8L in the Stacks Project.
Stacks.RingedSpace.modulePullback_isInvertible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/PullbackInvertible/Basic.lean, line 56.
Stacks Project, Tag 0B8L. The pullback of an invertible module along a morphism of ringed spaces is invertible.
theorem modulePullback_isInvertible {X Y : RingedSpace.{u, u}} (f : X ⟶ Y)
(L : SheafOfModules.{u} (structureSheafRing Y))
[Stacks.SheafOfModules.IsInvertible Y.presheaf
(Presheaf.isSheaf_comp_of_isSheaf _ _ (forget₂ CommRingCat RingCat) Y.IsSheaf) L] :
Stacks.SheafOfModules.IsInvertible X.presheaf
(Presheaf.isSheaf_comp_of_isSheaf _ _ (forget₂ CommRingCat RingCat) X.IsSheaf)
((modulePullback f).obj L)
AlgebraicGeometry.Scheme.isInvertibleModule_pushforward_of_isIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/FormalGeometry/AlgebraizationCoherentFormal/NonAlgebraizableLevelKernel.lean, line 143. The attribute's comment: “the direct image of an invertible module along an isomorphism”.
The direct image of an invertible module along an isomorphism of schemes is invertible. The direct image along the inverse of an isomorphism is its inverse image (
AlgebraicGeometry.Scheme.Modules.pushforwardInvIsoPullback), and the inverse image of an invertible module is invertible (Stacks.Modules.isInvertible_pullback).
public theorem isInvertibleModule_pushforward_of_isIso {X Y : Scheme.{u}} (e : X ≅ Y)
(L : Y.Modules) (hL : Stacks.Ample.IsInvertibleModule Y L) :
Stacks.Ample.IsInvertibleModule X ((Scheme.Modules.pushforward e.inv).obj L)
Stacks.InvertiblePullback.isInvertible_pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InvertiblePullback/Basic.lean, line 126.
Stacks Tag 0B8L. The pullback of an invertible sheaf of modules along a morphism of ringed spaces is invertible.
A tensor inverse
NofL, which Tag 0B8K produces from invertibility, is carried byf^*to a tensor inverse off^*L: Tag 01CD turnsf^*(L ⊗ N)intof^*L ⊗ f^*N, andRingedSpaceModuleAdjunction.modulePullbackObjUnitIsoturnsf^* 𝒪_Yinto𝒪_X.
theorem isInvertible_pullback (L : SheafOfModules.{u} (structureRingSheaf Y))
[Stacks.SheafOfModules.IsInvertible Y.sheaf.obj (structureRingSheaf Y).property L] :
Stacks.SheafOfModules.IsInvertible X.sheaf.obj (structureRingSheaf X).property
((pullbackFunctor f).obj L)
Stacks.RingedSpace.isInvertible_modulePullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/PullbackInvertible/RingedSpace.lean, line 88.
Stacks Project, Tag 0B8L. The pullback
f^*Lof an invertible𝒪_Y-module along a morphism of ringed spacesf : X ⟶ Yis an invertible𝒪_X-module.The proof is the one the Stacks Project gives. Tag 0B8K produces an
𝒪_Y-moduleNwithL ⊗_{𝒪_Y} N ≅ 𝒪_Y;Stacks.RingedSpace.tensorIsoUnitPullbackpulls that pairing back, which is where Tag 01CD enters; and Tag 0B8K read in the other direction concludes.
theorem isInvertible_modulePullback (f : X ⟶ Y)
(L : SheafOfModules.{u} (structureSheafRing Y))
[Stacks.SheafOfModules.IsInvertible Y.sheaf.obj (structureSheafRing Y).property L] :
Stacks.SheafOfModules.IsInvertible X.sheaf.obj (structureSheafRing X).property
((modulePullback f).obj L)
RingedSpaceModuleAdjunction.modulePullback_isInvertible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/RingedSpace/ModulePullbackInvertible.lean, line 43.
The pullback of an invertible module is invertible: if tensoring by
Lis an autoequivalence ofMod(𝒪_Y), then tensoring byf^* Lis an autoequivalence ofMod(𝒪_X).
theorem modulePullback_isInvertible {X Y : RingedSpace.{u, u}} (f : X ⟶ Y)
(L : SheafOfModules.{u}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf Y.presheaf (structureSheafRing
Y).property))
[IsInvertible Y.presheaf (structureSheafRing Y).property L] :
IsInvertible X.presheaf (structureSheafRing X).property
((RingedSpaceModuleAdjunction.modulePullback f).obj L)
Tag 0B8M, a lemma
Tag 0B8M in the Stacks Project.
Stacks.SheafOfModules.Invertible.isInvertible_of_isFiniteLocallyFreeOfRank_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/InvertibleRankOneLocal.lean, line 285. The attribute's comment: “locally free of rank one implies invertible”.
Stacks Project, Tag 0B8M. A finite locally free sheaf of modules of rank one is invertible.
This is the statement for
Stacks.SheafOfModules.Invertible.IsFiniteLocallyFreeOfRank, and it lives in that predicate's namespace;Stacks.SheafOfModules.isInvertible_of_isFiniteLocallyFreeOfRank_oneofStacksFrontier.Algebra.Category.ModuleCat.Sheaf.LocallyTrivialInvertible.Basicis the statement forAlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank, the other rank predicate of [Stacks, Tag 01CS].The local generators of rank one give a covering family of the final object on which
Lbecomes isomorphic to the structure sheaf; each such trivialization is a rank-one dual basis, andisInvertible_of_dualBasisOneturns a family of those on a covering family into invertibility by way of the evaluation pairingL^∨ ⊗ L ⟶ 𝒪and Tag 0B8K.
theorem isInvertible_of_isFiniteLocallyFreeOfRank_one
(L : SheafOfModules.{max u v} (Stacks.SheafOfModules.TensorSheafification.structureSheaf 𝒪 h𝒪))
[Invertible.IsFiniteLocallyFreeOfRank L 1] : IsInvertible 𝒪 h𝒪 L
Stacks.RingedSpace.isInvertible_of_isFiniteLocallyFreeOfRank_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/LocallyTrivialInvertible/Basic.lean, line 229. The attribute's comment: “locally free of rank one implies invertible”.
A sheaf of modules on a ringed space that is finite locally free of rank one is invertible.
theorem isInvertible_of_isFiniteLocallyFreeOfRank_one (X : RingedSpace.{u, u})
(L : SheafOfModules.{u} (structureSheaf X.sheaf))
[h : AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank
(C := Opens X) (J := Opens.grothendieckTopology X) L 1] :
Stacks.SheafOfModules.IsInvertible X.sheaf.obj (structureSheaf X.sheaf).property L
Stacks.RingedSpace.exists_isInvertible_not_isFiniteLocallyFreeOfRank_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InvertibleCounterexample/Clause3.lean, line 49. The attribute's comment: “the converse fails for general ringed spaces”.
Clause 3 of Stacks Tag 0B8M. On a general ringed space an invertible sheaf of modules need not be finite locally free of rank one: there is a ringed space
Xand a sheaf of𝒪_X-modulesLwithLinvertible andLnot finite locally free of rank one.The witness is the one-point ringed space whose ring of global sections is
ℤ[√-5], carrying the sheaf of modules attached to the non-principal invertible ideal(2, 1 + √-5). Its single stalk isℤ[√-5], which is not a local ring; this is exactly what the local-stalk hypothesis ofStacks.RingedSpace.isInvertible_iff_isFiniteLocallyFreeOfRank_onerules out.
theorem exists_isInvertible_not_isFiniteLocallyFreeOfRank_one :
∃ (X : AlgebraicGeometry.RingedSpace.{u})
(L : SheafOfModules.{u} (structureSheaf X.sheaf)),
Stacks.SheafOfModules.IsInvertible X.sheaf.obj (structureSheaf X.sheaf).property L ∧
¬AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank
(C := Opens X) (J := Opens.grothendieckTopology X) L 1
Stacks.InvertibleLocallyFree.isInvertible_of_isFiniteLocallyFreeOfRank_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InvertibleLocallyFree/DualBasis.lean, line 284. The attribute's comment: “(1)”.
Clause 1 of Stacks Tag 0B8M. A sheaf of modules that is finite locally free of rank one is invertible, with invertibility read as
AlgebraicGeometry.SheafOfModules.IsInvertible— the predicate every consumer in this repository uses.This is unconditional. It does not use
Stacks.InvertibleLocallyFree.InvertibleIsLocal(which is itself proved, asStacks.SheafOfModules.invertibleIsLocal): clause 1 does not need descent of the inverse object, because the inverse is the dual sheafL^∨ = SheafHom(L, 𝒪)and the only local-to-global step is that a locally bijective pairing is inverted by sheafification. See the module documentation for the forced universe constraintw = max u v, inherited from the internal hom of Tag 03EM.
theorem isInvertible_of_isFiniteLocallyFreeOfRank_one
(L : SheafOfModules.{max u v} (Stacks.SheafOfModules.TensorSheafification.structureSheaf 𝒪 h𝒪))
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank L 1] :
AlgebraicGeometry.SheafOfModules.IsInvertible 𝒪 h𝒪 L
Stacks.InvertibleRankOneIff.isInvertible_of_isFiniteLocallyFreeOfRank_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InvertibleRankOneIff/Basic.lean, line 137. The attribute's comment: “locally free of rank one implies invertible”.
Clause 1 of Stacks Tag 0B8M. A finite locally free module of rank one on a ringed space is invertible. There is no hypothesis on the stalks of the structure sheaf, and none on the site.
The content is
Stacks.SheafDescent.isInvertible_of_isFiniteLocallyFreeOfRank_one; what is done here is to restate it overstructureSheaf X.sheaf, which forces the carrier universe of the ringed space to agree with the universe of its rings and so makes the sheafification instances available.
theorem isInvertible_of_isFiniteLocallyFreeOfRank_one
(X : RingedSpace.{u})
(L : SheafOfModules.{u} (structureSheaf X.sheaf))
[SheafOfModules.IsFiniteLocallyFreeOfRank (C := Opens X)
(J := Opens.grothendieckTopology X) L 1] :
SheafOfModules.IsInvertible X.sheaf.obj (structureSheaf X.sheaf).property L
Stacks.InvertibleRankOneIff.isInvertible_iff_isFiniteLocallyFreeOfRank_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InvertibleRankOneIff/Basic.lean, line 157. The attribute's comment: “characterization for local stalks”.
Clause 2 of Stacks Tag 0B8M. On a ringed space all of whose stalks
𝒪_{X, x}are local rings, a sheaf of modules is invertible exactly when it is finite locally free of rank one.The forward implication is
Stacks.SheafRankOne.isFiniteLocallyFreeOfRank_one_of_isInvertibleand is where the local-stalk hypothesis is spent; the reverse implication is clause 1, which holds on every ringed space.
theorem isInvertible_iff_isFiniteLocallyFreeOfRank_one
(X : RingedSpace.{u})
(L : SheafOfModules.{u} (structureSheaf X.sheaf))
[∀ x : X, IsLocalRing (X.presheaf.stalk x)] :
SheafOfModules.IsInvertible X.sheaf.obj (structureSheaf X.sheaf).property L ↔
SheafOfModules.IsFiniteLocallyFreeOfRank (C := Opens X)
(J := Opens.grothendieckTopology X) L 1
Stacks.RingedSpace.isInvertible_iff_isFiniteLocallyFreeOfRank_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InvertibleTrivialization/Sheaf.lean, line 114. The attribute's comment: “characterization for local stalks”.
On a ringed space all of whose structure-sheaf stalks are local rings, a sheaf of modules is invertible if and only if it is finite locally free of rank one.
theorem isInvertible_iff_isFiniteLocallyFreeOfRank_one (X : RingedSpace.{u, u})
(L : SheafOfModules.{u} (structureSheaf X.sheaf))
[∀ x : X, IsLocalRing (X.presheaf.stalk x)] :
Stacks.SheafOfModules.IsInvertible X.sheaf.obj (structureSheaf X.sheaf).property L ↔
AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank
(C := Opens X) (J := Opens.grothendieckTopology X) L 1
AlgebraicGeometry.RingedSite.isInvertible_of_isFiniteLocallyFreeOfRank_one_of_essentiallySmall, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Modules/InvertibleRankOneEssentiallySmall.lean, line 319. The attribute's comment: “locally free of rank one implies invertible, on an essentially small site”.
Stacks Project, Tag 0B8M, clause 1, on an essentially small ringed site. A sheaf of modules which is locally free of rank one is invertible, with the universe of the sections of the structure sheaf independent of the universes of the site.
theorem isInvertible_of_isFiniteLocallyFreeOfRank_one_of_essentiallySmall
(X : AlgebraicGeometry.RingedSite.{u₁, v₁, w}) [EssentiallySmall.{w} X.C]
[HasWeakSheafify X.J AddCommGrpCat.{w}] [X.J.WEqualsLocallyBijective AddCommGrpCat.{w}]
(L : SheafOfModules.{w} (Stacks.SheafOfModules.Tensor.ringSheaf X.O))
(hL : AlgebraicGeometry.RingedSite.IsFiniteLocallyFreeOfRank X L 1) :
Stacks.SheafOfModules.IsInvertible X.O.obj
(Stacks.SheafOfModules.Tensor.ringSheaf X.O).property L
Tag 01CT, a lemma
Tag 01CT in the Stacks Project.
Stacks.SheafOfModules.Invertible.isIso_evaluation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/InvertibleDualEvaluation.lean, line 261. The attribute's comment: “evaluation”. References: EGA 0 (5.4.3), “more general”.
Stacks Project, Tag 040A (2), the evaluation clause. For an invertible sheaf of
𝒪-modulesLon a ringed site the evaluation pairingSheafHom(L, 𝒪) ⊗_𝒪 L ⟶ 𝒪is an isomorphism.The dual is a left dual of
LbyexactPairingDualSheafOfIsInvertible, and the evaluation of an exact pairing is an isomorphism whenever tensoring on the right by the first object is an equivalence, which for an invertible sheaf of modules it is.A ringed space is a ringed site, so this is also the evaluation clause of Tag 01CT (2); see
Stacks.SheafOfModules.isIso_evaluation_of_isInvertiblefor that reading.
theorem isIso_evaluation [IsInvertible 𝒪 h𝒪 L] : IsIso (evaluation 𝒪 h𝒪 L)
Stacks.SheafOfModules.Invertible.isIso_tensorSheafBraiding_hom_comp_evaluation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/InvertibleDualEvaluation.lean, line 277. The attribute's comment: “evaluation”. References: EGA 0 (5.4.3), “more general”.
Stacks Project, Tag 040A (2) and Tag 01CT (2), the evaluation clause in the order the tags write it. The evaluation map
L ⊗_𝒪 SheafHom(L, 𝒪) ⟶ 𝒪is an isomorphism. It is the canonical pairing ofStacks.SheafOfModules.evaluation, whose factors come in the order Tag 0FNV writes them, preceded by the braiding of the tensor product sheaf, which is what exchanges the two factors; in this order it is the trivializing pairing identifyingL^∨as a tensor inverse ofL.
theorem isIso_tensorSheafBraiding_hom_comp_evaluation [IsInvertible 𝒪 h𝒪 L] :
IsIso ((tensorSheafBraiding 𝒪 h𝒪 L (dualSheaf 𝒪 h𝒪 L)).hom ≫ evaluation 𝒪 h𝒪 L)
Stacks.SheafOfModules.Invertible.isInvertible_dualSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/InvertibleDualEvaluation.lean, line 287. The attribute's comment: “dual_invertible”.
Stacks Project, Tag 040A (2) and Tag 01CT (2), the invertibility clause. The dual
L^∨ = SheafHom(L, 𝒪)of an invertible sheaf of𝒪-modules is again invertible: the evaluation pairing is an isomorphismL^∨ ⊗_𝒪 L ≅ 𝒪, which is Tag 0B8K (2) forL^∨.
theorem isInvertible_dualSheaf [IsInvertible 𝒪 h𝒪 L] :
IsInvertible 𝒪 h𝒪 (dualSheaf 𝒪 h𝒪 L)
Stacks.SheafOfModules.tensorProduct_isInvertible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorInvertible.lean, line 474. The attribute's comment: “tensor_invertible”.
Stacks Project, Tag 01CT (1), Tag 040A (1). The tensor product of two invertible sheaves of modules is invertible.
theorem tensorProduct_isInvertible
(L N : SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
[IsInvertible O hO L] [IsInvertible O hO N] :
IsInvertible O hO ((((Stacks.SheafOfModules.Tensor.sheafTensor.{u, v, w, w, w}
⟨O, Presheaf.isSheaf_of_isSheaf_comp _ O (forget₂ CommRingCat RingCat) hO⟩).obj L)).obj N)
Stacks.SheafOfModules.Invertible.tensorProduct_isInvertible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Ample/AmpleCriteria.lean, line 70. The attribute's comment: “tensor_invertible”.
Stacks Project, Tag 01CT, part (1). The tensor product of two invertible sheaves of modules is invertible: tensoring by it is the composite of the two tensor functors.
theorem tensorProduct_isInvertible
(L N : _root_.SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O
hO))
[IsInvertible O hO L] [IsInvertible O hO N] :
IsInvertible O hO (((Stacks.SheafOfModules.Tensor.sheafTensor.{u, v, w, w, w}
⟨O, Presheaf.isSheaf_of_isSheaf_comp _ O (forget₂ CommRingCat RingCat) hO⟩).obj L).obj N)
Tag 01CU, a definition
Tag 01CU in the Stacks Project.
Stacks.SheafOfModules.TensorPower.tensorPower, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPower.lean, line 213.
The
nth tensor power of an invertible sheaf of modulesL, forn : ℤ: the image of the structure sheaf under thenth power of the autoequivalence given by tensoring byL.
noncomputable def tensorPower
(L : SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
[(((Stacks.SheafOfModules.Tensor.sheafTensor.{u, v, w, w, w}
⟨O, Presheaf.isSheaf_of_isSheaf_comp _ O (forget₂ CommRingCat RingCat)
hO⟩).flip.obj L)).IsEquivalence] (n : ℤ) :
SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO)
Stacks.SheafOfModules.TensorPower.isInvertible_tensorPower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerCoherence.lean, line 200. The attribute's comment: “tensor powers are invertible”.
Every integer tensor power of an invertible sheaf of modules is invertible. For non-negative exponents this is Tag 01CT (1) and the successor comparison; for negative exponents it is the same two inputs read backwards, cancelling the invertible factor
L.
theorem isInvertible_tensorPower [IsInvertible O hO L] (n : ℤ) :
IsInvertible O hO (tensorPower O hO L n)
Stacks.SheafOfModules.TensorPower.mulIso_comm, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerCommutativity.lean, line 461. The attribute's comment: “commutativity of the canonical multiplication”.
The commutativity normalisation of Tag 01CU: the canonical multiplication on the integer tensor powers of an invertible sheaf of modules agrees with itself after the symmetry constraint of the tensor product sheaf. This was the last of the four normalisations of Tag 01CU still outstanding.
theorem mulIso_comm (n m p : ℤ) (h : n + m = p) (h' : m + n = p) :
mulIso O hO L n m p h =
Stacks.SheafOfModules.tensorSheafBraiding O hO (pow L n) (pow L m) ≪≫
mulIso O hO L m n p h'
Stacks.SheafOfModules.TensorPower.tensorPowerCoherence_exists, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerCommutativity.lean, line 595. The attribute's comment: “canonical multiplication and coherence”. References: EGA 0 (5.4.4), “partial”.
The canonical multiplication on the integer tensor powers of an invertible sheaf of modules exists and satisfies every normalisation asserted by Tag 01CU: the two unit constraints, the degree-
(n, 1)normalisation by the defining iteration, naturality of that comparison, associativity against the associativity constraint of the tensor product sheaf, and commutativity against its symmetry constraint.The multiplication is transported from
Stacks.MonoidalCategory.mulbyStacks.MonoidalCategory.nonempty_powCoherence, which is what absorbs the fact that the tensor powers of Tag 01CU are built from(Stacks.SheafOfModules.Tensor.sheafTensor _).flip.obj Lwhile the multiplication is built fromtensorRight: the two functors are equal but their chosen quasi-inverses, used by the negative exponents, have no common normal form.
theorem tensorPowerCoherence_exists : Nonempty (TensorPowerCoherence O hO L)
Stacks.SheafOfModules.TensorPower.braidingScalar_eq_id, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerConstraints.lean, line 344. The attribute's comment: “commutativity constraint”.
The braiding scalar of the tensor powers of an invertible sheaf of modules is the identity, in every degree.
theorem braidingScalar_eq_id (n : ℤ) : braidingScalar O hO L n = 𝟙 _
Stacks.SheafOfModules.TensorPower.mulIso_zero_left, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerInteger.lean, line 738. The attribute's comment: “left unit normalisation of the canonical multiplication”.
Multiplication by the zeroth tensor power on the left is the left unit constraint of the tensor product sheaf.
theorem mulIso_zero_left (n : ℤ) (h : 0 + n = n) :
mulIso O hO L 0 n n h = Stacks.SheafOfModules.tensorSheafLeftUnitor O hO (pow L n)
Stacks.SheafOfModules.TensorPower.mulIso_assoc, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerInteger.lean, line 767. The attribute's comment: “associativity of the canonical multiplication”.
Associativity of the canonical multiplication, against the associativity constraint of the tensor product sheaf.
theorem mulIso_assoc (n m k p t s : ℤ) (h₁ : n + m = p) (h₂ : m + k = t) (h₃ : p + k = s) :
tensorSheafMapIso O hO (mulIso O hO L n m p h₁) (Iso.refl (pow L k)) ≪≫
mulIso O hO L p k s h₃ =
Stacks.SheafOfModules.tensorSheafAssociator O hO (pow L n) (pow L m) (pow L k) ≪≫
tensorSheafMapIso O hO (Iso.refl (pow L n)) (mulIso O hO L m k t h₂) ≪≫
mulIso O hO L n t s (by omega)
Stacks.SheafOfModules.TensorPower.tensorPowerMulIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TensorPowerMultiplication.lean, line 339. The attribute's comment: “canonical multiplication”.
The canonical multiplication isomorphism
L^{⊗ n} ⊗_O L^{⊗ m} ≅ L^{⊗ (n + m)}, the addition lawCategoryTheory.Equivalence.powAddfor the powers of- ⊗ Lapplied to the structure sheaf, read throughpowFunctorIsoTensorRight.
noncomputable def tensorPowerMulIso (n m : ℤ) :
(((Stacks.SheafOfModules.Tensor.sheafTensor ⟨O, Presheaf.isSheaf_of_isSheaf_comp _ (O) (forget₂
CommRingCat RingCat) (hO)⟩).obj ((tensorPower O hO L n))).obj ((tensorPower
O hO L m))) ≅
tensorPower O hO L (n + m)
Stacks.SheafOfModules.Invertible.tensorPower, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Divisors/TensorPower.lean, line 156.
Stacks Project, Tag 01CU. The
nth tensor powerL^{⊗ n}of an invertible sheafL, fornan arbitrary integer: the image of the structure sheaf under thenth power of the right-tensor autoequivalence.
noncomputable def tensorPower
(L : SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
[IsInvertible O hO L] (n : ℤ) :
SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO)
Stacks.SelfBraidingInvertible.braidingScalar_eq_id, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SelfBraidingInvertible/TensorPowerScalar.lean, line 87. The attribute's comment: “canonical multiplication and coherence”.
The braiding scalar of a tensor power of an invertible sheaf of modules is the identity, in every degree. By
Stacks.SheafOfModules.TensorPower.tensorSheafBraiding_self_eq_refl_iffthis is the commutativity constraint of Stacks Tag 01CU in degrees(n, n).
theorem braidingScalar_eq_id (n : ℤ) :
Stacks.SheafOfModules.TensorPower.braidingScalar 𝒪 h𝒪 L n = 𝟙 _
AlgebraicGeometry.SheafOfModules.tensorPowAddIso_zero_right_natCast, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TensorPowerAssoc/SheafOfModules.lean, line 107. The attribute's comment: “canonical multiplication and coherence”.
The right unit constraint: multiplication by
L ^⊗ 0on the right is the right unitor.
theorem tensorPowAddIso_zero_right_natCast (a : ℕ) :
tensorPowAddIso 𝒪 h𝒪 L (a : ℤ) ((0 : ℕ) : ℤ) = ρ_ (tensorPow 𝒪 h𝒪 L (a : ℤ))
AlgebraicGeometry.SheafOfModules.tensorPowAddIso_zero_left_natCast, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TensorPowerAssoc/SheafOfModules.lean, line 113. The attribute's comment: “canonical multiplication and coherence”.
The left unit constraint: multiplication by
L ^⊗ 0on the left is the left unitor.
theorem tensorPowAddIso_zero_left_natCast (b : ℕ) :
tensorPowAddIso 𝒪 h𝒪 L ((0 : ℕ) : ℤ) (b : ℤ) ≪≫
tensorPowNatCongrIso 𝒪 h𝒪 L (Nat.zero_add b) =
λ_ (tensorPow 𝒪 h𝒪 L (b : ℤ))
AlgebraicGeometry.SheafOfModules.tensorPowAddIso_one_right_natCast, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TensorPowerAssoc/SheafOfModules.lean, line 126. The attribute's comment: “canonical multiplication and coherence”.
The normalisation in degree one. Multiplication by the first tensor power is
AlgebraicGeometry.SheafOfModules.tensorPowOneIsowhiskered intoL ^⊗ a, followed by the successor stepL ^⊗ a ⊗ L = L ^⊗ (a + 1)of the iteration which defines the powers; in nonnegative degree that step is the identity. This is what pins the canonical multiplication down: an associative family of multiplication isomorphisms is determined by its degree-(a, 1)value.
theorem tensorPowAddIso_one_right_natCast (a : ℕ) :
tensorPowAddIso 𝒪 h𝒪 L (a : ℤ) ((1 : ℕ) : ℤ) =
whiskerLeftIso (tensorPow 𝒪 h𝒪 L (a : ℤ)) (tensorPowOneIso 𝒪 h𝒪 L)
AlgebraicGeometry.SheafOfModules.tensorPowAddIso_assoc_natCast, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TensorPowerAssoc/SheafOfModules.lean, line 135. The attribute's comment: “canonical multiplication and coherence”.
The associativity constraint on the multiplication of tensor powers, which Stacks Tag 01CU asserts with the formulation omitted, in nonnegative degree and against the associator of the monoidal structure on sheaves of modules itself.
theorem tensorPowAddIso_assoc_natCast (a b c : ℕ) :
whiskerRightIso (tensorPowAddIso 𝒪 h𝒪 L (a : ℤ) (b : ℤ)) (tensorPow 𝒪 h𝒪 L (c : ℤ)) ≪≫
tensorPowAddIso 𝒪 h𝒪 L ((a + b : ℕ) : ℤ) (c : ℤ) =
α_ (tensorPow 𝒪 h𝒪 L (a : ℤ)) (tensorPow 𝒪 h𝒪 L (b : ℤ)) (tensorPow 𝒪 h𝒪 L (c : ℤ)) ≪≫
whiskerLeftIso (tensorPow 𝒪 h𝒪 L (a : ℤ)) (tensorPowAddIso 𝒪 h𝒪 L (b : ℤ) (c : ℤ)) ≪≫
tensorPowAddIso 𝒪 h𝒪 L (a : ℤ) ((b + c : ℕ) : ℤ) ≪≫
tensorPowNatCongrIso 𝒪 h𝒪 L (Nat.add_assoc a b c).symm
AlgebraicGeometry.SheafOfModules.tensorPowAddIso_comm_natCast, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TensorPowerAssoc/SheafOfModules.lean, line 150. The attribute's comment: “canonical multiplication and coherence”.
The commutativity constraint on the multiplication of tensor powers, in nonnegative degree.
At degrees
(1, 1)the constraint is the triviality of the self-braiding ofL, which holds for every invertibleLby the instanceStacks.SelfBraidingInvertible.hasTrivialSelfBraiding.
theorem tensorPowAddIso_comm_natCast (a b : ℕ) :
β_ (tensorPow 𝒪 h𝒪 L (a : ℤ)) (tensorPow 𝒪 h𝒪 L (b : ℤ)) ≪≫
tensorPowAddIso 𝒪 h𝒪 L (b : ℤ) (a : ℤ) =
tensorPowAddIso 𝒪 h𝒪 L (a : ℤ) (b : ℤ) ≪≫
tensorPowNatCongrIso 𝒪 h𝒪 L (Nat.add_comm a b)
Stacks.SheafOfModules.Invertible.tensorPowerCoherence_exists, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TensorPowerCoherence/Basic.lean, line 225. The attribute's comment: “canonical multiplication and coherence”.
Existence of a coherent multiplication on the tensor powers. The integer tensor powers of an invertible sheaf of modules
Lcarry coherent multiplication dataStacks.SheafOfModules.Invertible.TensorPowerCoherence O hO L.
theorem tensorPowerCoherence_exists
(L : SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
[_root_.AlgebraicGeometry.SheafOfModules.IsInvertible O hO L] :
Nonempty (TensorPowerCoherence O hO L)
Tag 01CV, a definition
Tag 01CV in the Stacks Project.
Stacks.SheafOfModules.sectionRingStructure_exists, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TwistSectionRing.lean, line 742. The attribute's comment: “graded ring multiplication”.
There is a graded ring structure on the section ring whose homogeneous product is tensor multiplication.
theorem sectionRingStructure_exists
(L : SheafOfModules.{w} (TensorSheafification.structureSheaf O hO))
[IsInvertible O hO L] :
Nonempty (SectionRingStructure O hO L)
Stacks.SheafOfModules.sectionModuleStructure_exists, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/TwistSectionRing.lean, line 1158. The attribute's comment: “graded module action”.
There is a module structure of the section module over the section ring whose action on homogeneous terms is tensor multiplication.
theorem sectionModuleStructure_exists
(L F : SheafOfModules.{w} (TensorSheafification.structureSheaf O hO))
[IsInvertible O hO L] :
Nonempty (SectionModuleStructure O hO L F)
Stacks.SheafOfModules.Invertible.sectionRing, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Divisors/InvertibleSections/TwistedSections.lean, line 168. The attribute's comment: “underlying graded ring”. References: EGA II (4.5.1), “S = ⊕Γ(X,L^⊗n)”; EGA III (2.1.1), “(2.1.1.1)”; EGA II (2.6.1), “Γ_•(O_X) definition”; EGA 0 (5.4.6), “Γ•(L) carrier”.
Stacks Project, Tag 01CV. The associated graded ring
Γ_*(X, L)of an invertible sheaf of modules: the direct sum of the global sections of its non-negative tensor powers. Its graded ring structure isStacks.SheafOfModules.Invertible.homGradedRing.
abbrev sectionRing
Stacks.SheafOfModules.Invertible.twistedSections, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Divisors/InvertibleSections/TwistedSections.lean, line 181. The attribute's comment: “underlying graded module”. References: EGA 0 (5.4.6), “partial”; EGA II (2.6.1); EGA III (2.1.2), “partial”.
Stacks Project, Tag 01CV. The graded module
Γ_*(X, L, F)of a sheaf of modulesF: the direct sum, over all integersn, of the global sections of the twistsF ⊗ L^{⊗ n}. Its module structure overΓ_*(X, L)isStacks.SheafOfModules.Invertible.twistedSectionsModule.
abbrev twistedSections
(F : _root_.SheafOfModules.{w}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
Stacks.SheafOfModules.Invertible.twistedSectionsGmodule, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Divisors/InvertibleSections/TwistedSections.lean, line 208. The attribute's comment: “graded module action”.
Stacks Project, Tag 01CV.
Γ_*(X, L, F)is aℤ-graded module over theℕ-graded ringΓ_*(X, L), with the actiontwistedSectionsSMulon homogeneous sections. No commutativity ofΓ_*(X, L)is used.
noncomputable def twistedSectionsGmodule
(F : _root_.SheafOfModules.{w}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO)) :
letI : GradedMonoid.GMonoid (fun n : ℕ =>
𝟙_ (_root_.SheafOfModules.{w}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
⟶ tensorPower O hO L (n : ℤ)) := (tensorPowerSystem O hO L).gradedMonoid
DirectSum.Gmodule
(fun n : ℕ => 𝟙_ (_root_.SheafOfModules.{w}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
⟶ tensorPower O hO L (n : ℤ))
(fun n : ℤ => 𝟙_ (_root_.SheafOfModules.{w}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
⟶ twist O hO L F n)
Stacks.SheafOfModules.Invertible.homGradedCommRingOfInvertible, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/GradedSectionRing/Commutativity.lean, line 313. The attribute's comment: “associated graded ring”. References: EGA II (4.5.1), “S = ⊕Γ(X,L^⊗n)”; EGA III (2.1.1), “(2.1.1.1)”; EGA II (2.6.1), “graded ring Γ_•(O_X)”; EGA 0 (5.4.6), “graded ring Γ•(L)”.
Stacks Project, Tag 01CV: the associated graded ring
Γ_*(X, L) = ⨁_{n ≥ 0} Γ(X, L^{⊗ n})of an invertible sheaf of modules. This is the commutative graded ring on the morphism groups𝟙 ⟶ L^{⊗ n}, with the commutativity constraint of Tag 01CU discharged bytensorPowerMulIso_commabove, so it is unconditional.The direct sum itself needs no declaration of ours: Mathlib's
DirectSum.commRingturns aDirectSum.GCommRingon the family into a commutative ring on⨁ n : ℕ, (𝟙 ⟶ L^{⊗ n}), the tensor unit is the structure sheaf on the nose (Stacks.SheafOfModules.tensorUnit_eq) so the summands are the global sections the tag names, andStacks.SheafOfModules.Invertible.homToSection_sectionMulidentifies the multiplication with the one already defined onPresheafOfModules.sections. This declaration alone is therefore the covering set of the tag's first displayed object; the tag's second one, theℤ-graded moduleΓ_*(X, L, F), is not claimed — see the implementation notes.
noncomputable def homGradedCommRingOfInvertible :
DirectSum.GCommRing (fun n : ℕ =>
(𝟙_ (_root_.SheafOfModules.{w} (Stacks.SheafOfModules.TensorSheafification.structureSheaf O
hO))
⟶ tensorPower O hO L (n : ℤ)))
Stacks.SectionRingProjTheta.sectionRingAddEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SectionRingProjTheta/SectionRingComparison.lean, line 147. The attribute's comment: “the repository's two realisations of the graded ring Γ_*(X, L) — the Stacks.GradedSections.sectionRing one on morphisms out of the monoidal unit and the Stacks.SheafOfModules.sectionRing one on honest global sections — have the same carrier, ADDITIVELY and degree by degree, and the grading corresponds (map_summand_eq_sectionRingGrading). The two MULTIPLICATIONS are not identified BY THIS DECLARATION, which is an AddEquiv and nothing more; they ARE identified, by Stacks.SectionRingProjTheta.sectionRingEquiv in StacksFrontier/AlgebraicGeometry/SectionRingProjTheta/SectionRingMultiplicative.lean, which is this map with its multiplicativity supplied”.
The two section rings of an invertible sheaf of modules have the same carrier.
Degree by degree this is
powSectionsAddEquiv: a morphism out of the monoidal unit into thenatTensorPowspelling ofL^{⊗ n}against an honest section over⊤_ Cof thetensorPowerspelling.
def sectionRingAddEquiv :
Stacks.GradedSections.sectionRing L ≃+ Stacks.SheafOfModules.sectionRing 𝒪 h𝒪 L
Stacks.SectionRingProjTheta.sectionRingEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SectionRingProjTheta/SectionRingMultiplicative.lean, line 260. The attribute's comment: “the repository's two realisations of the graded ring Γ_*(X, L) — the Stacks.GradedSections.sectionRing one on morphisms out of the monoidal unit and the Stacks.SheafOfModules.sectionRing one on honest global sections — are isomorphic as RINGS, and the isomorphism is graded (sectionGradedRingHom)”.
The two section rings of an invertible sheaf of modules are isomorphic as rings. This is
Stacks.SectionRingProjTheta.sectionRingAddEquivwith its multiplicativity supplied; the underlying function is unchanged, so every computation rule of that additive isomorphism applies verbatim.
def sectionRingEquiv :
Stacks.GradedSections.sectionRing L ≃+* Stacks.SheafOfModules.sectionRing 𝒪 h𝒪 L
Stacks.SheafOfModules.sectionRing, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/SectionRing.lean, line 113. The attribute's comment: “underlying graded ring”. References: EGA II (4.5.1), “partial”.
Stacks Project, Tag 01CV. The section ring of an invertible sheaf
L: the direct sum of the global sections of the nonnegative tensor powers ofL.
abbrev sectionRing (L : SheafOfModules.{w} (TensorSheafification.structureSheaf O hO))
[IsInvertible O hO L] : Type _
Stacks.SheafOfModules.sectionModule, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/InvertibleAndOperators/SectionRing.lean, line 121. The attribute's comment: “underlying graded module”.
Stacks Project, Tag 01CV. The section module of a sheaf of modules
F: the direct sum of the global sections of all the twists ofFby integer tensor powers of an invertible sheafL.
abbrev sectionModule (L F : SheafOfModules.{w} (TensorSheafification.structureSheaf O hO))
[IsInvertible O hO L] : Type _
Declarations registered for the tag:
Stacks.SheafOfModules.Invertible.homGradedRing, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Divisors/InvertibleSections/TwistedSections.lean, line 241 (StacksFrontier): “graded ring multiplication”.
Tag 01CW, a lemma
Tag 01CW in the Stacks Project.
AlgebraicGeometry.SheafOfModules.essentiallySmall_isInvertible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/InvertibleRingedSpaceEssentiallySmall.lean, line 107.
Stacks Project, Tag 01CW. The invertible sheaves of modules over the structure sheaf of a ringed space have only a set of isomorphism classes: there is a set of invertible modules, of size
max u w, meeting every isomorphism class of invertible modules on the space.
theorem essentiallySmall_isInvertible (X : RingedSpace.{u, w}) :
ObjectProperty.EssentiallySmall.{max u w}
(AlgebraicGeometry.SheafOfModules.IsInvertible X.presheaf
(Presheaf.isSheaf_comp_of_isSheaf _ X.presheaf
(forget₂ CommRingCat.{u} RingCat.{u}) X.IsSheaf))
AlgebraicGeometry.SheafOfModules.exists_unique_representative_isInvertible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/InvertibleRingedSpaceEssentiallySmall.lean, line 180. The attribute's comment: “exactly one representative”.
Stacks Project, Tag 01CW. There is a family of invertible modules over the structure sheaf of a ringed space, indexed by a type of size
max u w, whose members are pairwise non-isomorphic and such that every invertible module on the space is isomorphic to the member of exactly one index.
theorem exists_unique_representative_isInvertible (X : RingedSpace.{u, w}) :
∃ (I : Type (max u w)) (L : I → _root_.SheafOfModules.{u}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf X.presheaf
(Presheaf.isSheaf_comp_of_isSheaf _ X.presheaf
(forget₂ CommRingCat.{u} RingCat.{u}) X.IsSheaf))),
(∀ i, AlgebraicGeometry.SheafOfModules.IsInvertible X.presheaf
(Presheaf.isSheaf_comp_of_isSheaf _ X.presheaf
(forget₂ CommRingCat.{u} RingCat.{u}) X.IsSheaf) (L i)) ∧
(∀ i j, Nonempty (L i ≅ L j) → i = j) ∧
∀ M, AlgebraicGeometry.SheafOfModules.IsInvertible X.presheaf
(Presheaf.isSheaf_comp_of_isSheaf _ X.presheaf
(forget₂ CommRingCat.{u} RingCat.{u}) X.IsSheaf) M →
∃! i, Nonempty (M ≅ L i)
Tag 01CX, a definition
Tag 01CX in the Stacks Project.
Stacks.SheafOfModules.Picard.PicardGroup, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/Picard.lean, line 170. The attribute's comment: “the Picard group”. References: EGA IV (21.3.2), “Pic(X) definition”; SGA 6 X (5.1), “Pic(X) definition”.
The Picard group of
O: the group of isomorphism classes of invertible sheaves ofO-modules, as a small type.
noncomputable def PicardGroup : Type (max (max u v) w)
Stacks.SheafOfModules.Picard.instAddCommGroupPicardGroup, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/Picard.lean, line 176. The attribute's comment: “abelian group structure”.
The abelian group structure on the Picard group; its addition is the tensor product sheaf, by
classOf_tensor.
noncomputable instance instAddCommGroupPicardGroup : AddCommGroup (PicardGroup O hO)
Stacks.SheafOfModules.Picard.classOf_tensor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/Picard.lean, line 211. The attribute's comment: “addition is tensor product”.
Addition in the Picard group is the tensor product sheaf.
theorem classOf_tensor (L N : SheafOfModules.{w}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
(hL : IsInvertible O hO L) (hN : IsInvertible O hO N)
(hLN : IsInvertible O hO ((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨O, Presheaf.isSheaf_of_isSheaf_comp _ (O) (forget₂ CommRingCat RingCat) (hO)⟩).obj
(L)).obj (N)))) :
classOf O hO L hL + classOf O hO N hN =
classOf O hO ((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨O, Presheaf.isSheaf_of_isSheaf_comp _ (O) (forget₂ CommRingCat RingCat) (hO)⟩).obj
(L)).obj (N))) hLN
Stacks.SheafOfModules.PicardGroup, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/PicardGroup/Basic.lean, line 269. The attribute's comment: “the Picard group”. References: EGA IV (21.3.2), “Pic(X) definition”; SGA 6 X (5.1), “Pic(X) definition”.
The Picard group of a sheaf of rings
Oon a site: the abelian group whose elements are the isomorphism classes of invertible sheaves ofO-modules and whose addition is the tensor product.
noncomputable def PicardGroup : Type _
Stacks.SheafOfModules.instAddCommGroupPicardGroup, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/PicardGroup/Basic.lean, line 275. The attribute's comment: “abelian group structure”. References: EGA IV (21.3.2), “Pic(X) comm. group”.
The addition of the Picard group, induced by the tensor product of invertible sheaves of modules.
noncomputable instance instAddCommGroupPicardGroup : AddCommGroup (PicardGroup O hO)
Stacks.SheafOfModules.picardClass_tensorSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/PicardGroup/Basic.lean, line 319. The attribute's comment: “addition is tensor product”. References: EGA IV (21.3.2), “cl(L)cl(L')=cl(L⊗L')”.
Addition in the Picard group is the tensor product.
theorem picardClass_tensorSheaf (L N : SheafOfModules.{w}
(Stacks.SheafOfModules.TensorSheafification.structureSheaf O hO))
(hL : IsInvertible O hO L) (hN : IsInvertible O hO N)
(hLN : IsInvertible O hO ((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨O, Presheaf.isSheaf_of_isSheaf_comp _ (O) (forget₂ CommRingCat RingCat) (hO)⟩).obj
(L)).obj (N)))) :
picardClass O hO L hL + picardClass O hO N hN =
picardClass O hO ((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨O, Presheaf.isSheaf_of_isSheaf_comp _ (O) (forget₂ CommRingCat RingCat) (hO)⟩).obj
(L)).obj (N))) hLN
Stacks.SheafPicardGroup.PicardGroup, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 182. The attribute's comment: “the Picard group”.
The Picard group of
𝒪, Stacks Tag 01CX: the isomorphism classes of invertible sheaves of𝒪-modules, with multiplication induced by tensor product. It is realised as the group of units of the monoidClassMonoid 𝒪 h𝒪of all isomorphism classes; that these units are exactly the invertible sheaves isisInvertible_iff_isUnit, and that every one of them is the class of such a sheaf isexists_classOf.
abbrev PicardGroup : Type _
Stacks.SheafPicardGroup.commGroup, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 190. The attribute's comment: “abelian group structure”.
The Picard group is an abelian group, Stacks Tag 01CX. The structure is
Units.instCommGroupoverinstCommMonoid: no coherence law is proved by hand, because the skeleton of a braided monoidal category is already a commutative monoid. The additive reading the source sometimes uses isAdditive (PicardGroup 𝒪 h𝒪), andinstAddCommGroupAdditivePicardGrouprecords it.
noncomputable def commGroup : CommGroup (PicardGroup 𝒪 h𝒪)
Stacks.SheafPicardGroup.instAddCommGroupAdditivePicardGroup, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 195. The attribute's comment: “abelian group structure”.
The Picard group, written additively, as Stacks Tag 01CX sometimes does.
noncomputable instance instAddCommGroupAdditivePicardGroup :
AddCommGroup (Additive (PicardGroup 𝒪 h𝒪))
Stacks.SheafPicardGroup.exists_classOf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 238. The attribute's comment: “the Picard group”.
Every element of the Picard group is the class of an invertible sheaf of modules, so
classOfis onto.
theorem exists_classOf (x : PicardGroup 𝒪 h𝒪) :
∃ (M : _root_.SheafOfModules.{w} (structureSheaf 𝒪 h𝒪)) (_ : IsInvertible 𝒪 h𝒪 M),
classOf 𝒪 h𝒪 M = x
Stacks.SheafPicardGroup.classOf_eq_classOf_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 250. The attribute's comment: “the Picard group”.
Two invertible sheaves have the same Picard class exactly when they are isomorphic.
theorem classOf_eq_classOf_iff [IsInvertible 𝒪 h𝒪 L] [IsInvertible 𝒪 h𝒪 N] :
classOf 𝒪 h𝒪 L = classOf 𝒪 h𝒪 N ↔ Nonempty (L ≅ N)
Stacks.SheafPicardGroup.classOf_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 257. The attribute's comment: “addition is tensor product”.
Multiplication in the Picard group is tensor product, Stacks Tag 01CX.
theorem classOf_mul [IsInvertible 𝒪 h𝒪 L] [IsInvertible 𝒪 h𝒪 N] :
classOf 𝒪 h𝒪 (L ⊗ N) = classOf 𝒪 h𝒪 L * classOf 𝒪 h𝒪 N
Stacks.SheafPicardGroup.classOf_tensorSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 264. The attribute's comment: “addition is tensor product”.
Multiplication in the Picard group is the tensor product sheaf, Stacks Tag 01CX in the spelling whose statement mentions no monoidal structure.
theorem classOf_tensorSheaf [IsInvertible 𝒪 h𝒪 L] [IsInvertible 𝒪 h𝒪 N]
[IsInvertible 𝒪 h𝒪 ((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨𝒪, Presheaf.isSheaf_of_isSheaf_comp _ (𝒪) (forget₂ CommRingCat RingCat) (h𝒪)⟩).obj (L)).obj
(N)))] :
classOf 𝒪 h𝒪 ((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨𝒪, Presheaf.isSheaf_of_isSheaf_comp _ (𝒪) (forget₂ CommRingCat RingCat) (h𝒪)⟩).obj (L)).obj
(N))) = classOf 𝒪 h𝒪 L * classOf 𝒪 h𝒪 N
Stacks.SheafPicardGroup.classOf_unit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 276. The attribute's comment: “abelian group structure”.
The neutral element of the Picard group is the class of the structure sheaf, Stacks Tag 01CX.
theorem classOf_unit :
classOf 𝒪 h𝒪 (_root_.SheafOfModules.unit (structureSheaf 𝒪 h𝒪)) = 1
Stacks.SheafPicardGroup.classOf_tensorInv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 283. The attribute's comment: “abelian group structure”.
The inverse of a Picard class is the class of the inverse sheaf, Stacks Tag 01CT (2) read in the Picard group of Stacks Tag 01CX.
theorem classOf_tensorInv [IsInvertible 𝒪 h𝒪 L] :
classOf 𝒪 h𝒪 (tensorInv 𝒪 h𝒪 L) = (classOf 𝒪 h𝒪 L)⁻¹
Stacks.SheafPicardGroup.classOf_tensorPow, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Basic.lean, line 316. The attribute's comment: “addition is tensor product”.
The class of the
n-th tensor power is then-th power of the class, for every integern. The powers are the integer tensor powers of Stacks Tag 01CU; this is the sense in which the Picard group records them.
theorem classOf_tensorPow [IsInvertible 𝒪 h𝒪 L] (n : ℤ) :
classOf 𝒪 h𝒪 (tensorPow 𝒪 h𝒪 L n) = classOf 𝒪 h𝒪 L ^ n
Stacks.SheafPicardGroup.schemePicardGroup, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Scheme.lean, line 59. The attribute's comment: “the Picard group”. References: EGA 0 (5.4.7), “special case”; EGA IV (21.3.2); SGA 4 IX (3.3); SGA 4½ Arcata (2.2.3); SGA 6 X (5.1), “special case”.
The Picard group
Pic Xof a scheme: the isomorphism classes of invertible𝒪_X-modules under tensor product.
noncomputable abbrev schemePicardGroup : Type (u + 1)
Stacks.SheafPicardGroup.schemeClassOf_eq_schemeClassOf_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Scheme.lean, line 71. The attribute's comment: “the Picard group”. References: EGA IV (21.3.2), “partial”.
Two invertible
𝒪_X-modules have the same Picard class exactly when they are isomorphic.
theorem schemeClassOf_eq_schemeClassOf_iff (L N : X.Modules)
[Stacks.Ample.IsInvertibleModule X L] [Stacks.Ample.IsInvertibleModule X N] :
schemeClassOf X L = schemeClassOf X N ↔ Nonempty (L ≅ N)
Stacks.SheafPicardGroup.schemeClassOf_tensorSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SheafPicardGroup/Scheme.lean, line 78. The attribute's comment: “addition is tensor product”.
Multiplication in
Pic Xis tensor product.
theorem schemeClassOf_tensorSheaf (L N : X.Modules)
[Stacks.Ample.IsInvertibleModule X L] [Stacks.Ample.IsInvertibleModule X N]
[Stacks.Ample.IsInvertibleModule X
((((Stacks.SheafOfModules.Tensor.sheafTensor ⟨X.presheaf,
Presheaf.isSheaf_of_isSheaf_comp _ (X.presheaf) (forget₂ CommRingCat RingCat)
((Stacks.SheafInternalHom.isSheaf_structureRingPresheaf X))⟩).obj (L)).obj (N)))] :
schemeClassOf X
((((Stacks.SheafOfModules.Tensor.sheafTensor ⟨X.presheaf,
Presheaf.isSheaf_of_isSheaf_comp _ (X.presheaf) (forget₂ CommRingCat RingCat)
((Stacks.SheafInternalHom.isSheaf_structureRingPresheaf X))⟩).obj (L)).obj (N))) =
schemeClassOf X L * schemeClassOf X N
Stacks.WeilCohomology.picardClassOf_tensorObjRingedSpace, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/WeilCohomology/ChernClasses/InvertibleTensor.lean, line 68. The attribute's comment: “addition in Pic(X) is the tensor product, read at the spelling of the tensor product that the Grothendieck ring of Tag 0FDK multiplies with”.
Stacks Tag 01CX, addition in
Pic(X)is the tensor product, at the spelling of the tensor product thatK₀(Vect(X))multiplies with.
theorem picardClassOf_tensorObjRingedSpace {X : Scheme.{u}} (L N : X.Modules)
(hL : AlgebraicGeometry.SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L)
(hN : AlgebraicGeometry.SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 N)
(hLN : AlgebraicGeometry.SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2
(Scheme.Modules.tensorObjRingedSpace X L N)) :
picardClassOf X (Scheme.Modules.tensorObjRingedSpace X L N) hLN =
picardClassOf X L hL + picardClassOf X N hN
Tag 01CY, a lemma
Tag 01CY in the Stacks Project.
Stacks.SheafOfModules.isOpen_nonvanishingLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/FinitePresentationStalk.lean, line 461. The attribute's comment: “openness”. References: EGA 0 (5.5.2).
Stacks Project, Tag 01CY (openness). For an invertible sheaf of modules on a ringed space all of whose stalks are local rings, the nonvanishing locus of a global section is open.
theorem isOpen_nonvanishingLocus
(L : SheafOfModules.{u} (structureSheafRing X))
[IsInvertible X.presheaf (structureSheafRing X).property L] (s : L.sections) :
IsOpen (nonvanishingLocus L s)
Stacks.SheafOfModules.exists_tensorPairing_eq_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/InvertibleTrivialization.lean, line 298. The attribute's comment: “inverse section”.
Stacks Project, Tag 01CY (inverse section). Let
Lbe an invertible sheaf of modules on a ringed space with local stalks, letNbe a sheaf of modules with a trivializationψ : L ⊗ N ≅ O_X, and letsbe a global section ofL. Then over the nonvanishing openX_sthere is a sectionbofNwithψ (s ⊗ b) = 1.Stacks states this for
N = L^{⊗ -1}; see the implementation notes.
theorem exists_tensorPairing_eq_one
[IsInvertible X.presheaf (structureSheafRing X).property L] (s : L.sections) :
∃ b : N.val.obj (op (nonvanishingOpen L s)),
tensorPairing ψ (nonvanishingOpen L s) (s.eval (op (nonvanishingOpen L s))) b
= unitSection X (nonvanishingOpen L s)
Stacks.InverseSection.exists_tensorInv_section_pairing_eq_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/InverseSection/Basic.lean, line 559. The attribute's comment: “inverse section”. References: EGA 0 (5.5.2), “(b) => (c)”.
Stacks Tag 01CY, the inverse-section clause, in the shape of the tagged statement: on the nonvanishing open of a global section
sof an invertible module, there is a sectiontof the(-1)-st tensor power whose canonical tensor-power pairing withsevaluates to1.The pairing is the one the tagged statement names: form the elementary tensor of
s, read in the first tensor power, witht; push it into the sheafified tensor product; apply the addition isomorphism of Stacks Tag 01CU in degrees1and-1; reindex along1 + (-1) = 0. The tagged statement then compares the result with1directly, its zeroth tensor power being the unit ofSheafOfModuleson the nose; here the zeroth tensor power is the sheafified unit, soAlgebraicGeometry.SheafOfModules.tensorPowZeroIsois inserted, and only then is the comparison with1 : 𝒪_X(X_s)a statement.
theorem exists_tensorInv_section_pairing_eq_one (s : L.sections) :
∃ t : (tensorPow X.sheaf.obj (structureSheaf X.sheaf).property L (-1)).val.obj
(op (Stacks.NonvanishingTrivialize.nonvanishingOpen X L s)),
(tensorPowZeroIso X.sheaf.obj (structureSheaf X.sheaf).property L).hom.val.app
(op (Stacks.NonvanishingTrivialize.nonvanishingOpen X L s))
((tensorPowReindexIso X.sheaf.obj (structureSheaf X.sheaf).property L
(show (1 : ℤ) + -1 = 0 by omega)).hom.val.app
(op (Stacks.NonvanishingTrivialize.nonvanishingOpen X L s))
((tensorPowAddIsoSheaf X.sheaf.obj (structureSheaf X.sheaf).property L
1 (-1)).hom.val.app
(op (Stacks.NonvanishingTrivialize.nonvanishingOpen X L s))
((toSheafify X.sheaf.obj (structureSheaf X.sheaf).property
((PresheafOfModules.tensorObj (O := X.sheaf.obj) ((powPre L 1))
((powPre L (-1)))))).app
(op (Stacks.NonvanishingTrivialize.nonvanishingOpen X L s))
((tensorPowOneIso X.sheaf.obj (structureSheaf X.sheaf).property L).inv.val.app
(op (Stacks.NonvanishingTrivialize.nonvanishingOpen X L s))
(s.eval (op (Stacks.NonvanishingTrivialize.nonvanishingOpen X L s)))
⊗ₜ[X.presheaf.obj
(op (Stacks.NonvanishingTrivialize.nonvanishingOpen X L s))] t)))) =
(1 : X.presheaf.obj
(op (Stacks.NonvanishingTrivialize.nonvanishingOpen X L s)))
Stacks.SheafOfModules.isIso_over_nonvanishingOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/NonvanishingTrivialization/Basic.lean, line 221. The attribute's comment: “trivialization”.
Stacks Project, Tag 01CY (trivialization). For an invertible sheaf of modules
Lon a ringed space all of whose stalks are local rings, and a global sectionsofL, the morphism𝒪_X ⟶ Lgiven by multiplication bysrestricts to an isomorphism over the nonvanishing locusX_s.
theorem isIso_over_nonvanishingOpen (L : SheafOfModules.{u} (structureSheafRing X))
[IsInvertible X.presheaf (structureSheafRing X).property L] (s : L.sections) :
IsIso ((L.unitHomEquiv.symm s).over (nonvanishingOpen L s))
Tag 0H78, a remark
Tag 0H78 in the Stacks Project.
Stacks.NonvanishingPullback.preimage_nonvanishingLocus_lrs, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/NonvanishingPullback/LocallyRingedSpace.lean, line 97. References: EGA II (4.6.13.1), “more general”.
Stacks Tag 0H78. For a morphism of locally ringed spaces, the inverse image of the nonvanishing locus of a global section of a module is the nonvanishing locus of the pulled-back section.
theorem preimage_nonvanishingLocus_lrs (s : L.sections) :
f.base ⁻¹' Stacks.NonvanishingTrivialize.nonvanishingLocus X.toRingedSpace L s =
Stacks.NonvanishingTrivialize.nonvanishingLocus Y.toRingedSpace
((modulePullback f.toShHom).obj L) (pullbackSections f L s)
Stacks.SheafOfModules.preimage_nonvanishingLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/PullbackSections/Nonvanishing.lean, line 165.
Stacks Project, Tag 0H78. For a morphism
f : Y ⟶ Xof locally ringed spaces and a global sectionsof a sheaf of𝒪_X-modulesL, the nonvanishing locus of the pullback ofsis the preimage of the nonvanishing locus ofs.
public theorem preimage_nonvanishingLocus (s : L.sections) :
f.base ⁻¹' nonvanishingLocus (X := X.toRingedSpace) L s =
nonvanishingLocus (X := Y.toRingedSpace)
((modulePullback f.toShHom).obj L) (modulePullbackSection f L s)
Sources
Section17.26 Rank and determinant#
Section 17.26 of the Stacks Project, Tag 0B37. 3 tags here are carried by 11 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0B37, the section
Tag 0B37 in the Stacks Project.
Stacks.SheafOfModules.rankDecomposition, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/RankDecomposition.lean, line 186. The attribute's comment: “the locally constant rank and the clopen rank decomposition X = X_0 ⊔ X_1 ⊔ … with E finite locally free of rank i on X_i; the exact category Vect(X) and its K-group, the rank homomorphism K_0(Vect(X)) → Map_cont(X, Z), the invertible sheaf det(E) and the homomorphism det : K_0(Vect(X)) → Pic(X) are not covered”. References: EGA 0 (5.4.1), “partial”.
Stacks Project, Tag 0B37: the rank decomposition. A finite locally free sheaf of modules
Eon a ringed space whose structure stalks are all nonzero has locally constant rank, so the lociX_iwhere the rank isiare open and closed, pairwise disjoint and coverX, andEis finite locally free of rankionX_i.
theorem rankDecomposition :
IsLocallyConstant (⇑(finiteLocallyFreeRank F hO)) ∧
(∀ i : ℕ, IsClopen (rankStratum F hO i : Set X)) ∧
Pairwise (Function.onFun Disjoint fun i : ℕ => (rankStratum F hO i : Set X)) ∧
(⨆ i : ℕ, rankStratum F hO i) = ⊤ ∧
∀ (i : ℕ) (x : X), x ∈ rankStratum F hO i →
∃ (V : Opens X) (_ : x ∈ V) (_ : V ≤ rankStratum F hO i) (I : Type u),
Nonempty (I ≃ Fin i) ∧ Nonempty (_root_.SheafOfModules.free.{u} I ≅ F.over V)
Tag 0B38, a lemma
Tag 0B38 in the Stacks Project.
Stacks.SheafOfModules.TopWedge.detSummandComparison_ι_unit_wedge, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorAnnihilatorShortExactIso.lean, line 591. The attribute's comment: “the WEDGE-AND-LIFT FORMULA in the GENERAL case, with no constant-rank hypothesis”.
The wedge-and-lift formula for the comparison between determinant summands, in every pair of degrees, read inside
⋀ⁿ⁺ᵐ Ethrough the inclusion of the degree-n+msummand ofdet(E).This is the wedge-and-lift formula of [Stacks, Tag 0B38] in the general case: a short exact sequence of finite locally free sheaves with no constant-rank hypothesis. On the summand
det(E')ₙ ⊗ det(E'')ₘofdet(E') ⊗ det(E'')the canonical map ofStacks.SheafOfModules.TopWedge.determinantTensorDeterminantHomcarries the image of(s₁∧⋯∧sₙ) ⊗ (g(l₁)∧⋯∧g(lₘ))tof(s₁)∧⋯∧f(sₙ)∧l₁∧⋯∧lₘ, for arbitrary local liftslⱼ. This is the formula the source gives for its canonical map, andStacks.SheafOfModules.TopWedge.eq_determinantTensorDeterminantHomandStacks.SheafOfModules.TopWedge.eq_detTensorAnnComparisonsay it determines the map.
theorem detSummandComparison_ι_unit_wedge
(hS : (ShortComplex.mk f g hfg).Exact) [Mono f] [Epi g]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E']
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E''] (n m : ℕ)
(V : (Opens ↥X)ᵒᵖ)
(w : ToType ((A'.exteriorAnnihilator n).toSheafOfModules.val.obj V))
(s : Fin n → E'.val.obj V)
(hw : (A'.exteriorAnnihilator n).ι.val.app V w = wedgeSec A' V n s)
(z : ToType ((A''.exteriorAnnihilator m).toSheafOfModules.val.obj V))
(l : Fin m → E.val.obj V)
(hz : (A''.exteriorAnnihilator m).ι.val.app V z =
wedgeSec A'' V m fun i => g.val.app V (l i)) :
(detSummandComparison A' A A'' f g hfg hS n m ≫
(A.exteriorAnnihilator (n + m)).ι).val.app V
((PresheafOfModules.tensorSheafUnit (A'.exteriorAnnihilator n).toSheafOfModules
(A''.exteriorAnnihilator m).toSheafOfModules).app V (w ⊗ₜ z)) =
wedgeSec A V (n + m) (Fin.append (fun i => f.val.app V (s i)) l)
Stacks.SheafOfModules.TopWedge.isIso_determinantTensorDeterminantHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorAnnihilatorShortExactIso.lean, line 990. The attribute's comment: “the ISOMORPHISM clause in the GENERAL case: the canonical map det(E')⊗det(E'')⟶det(E) of Stacks.SheafOfModules.TopWedge.determinantTensorDeterminantHom is an isomorphism, for a short exact sequence of finite locally free sheaves with NO constant-rank hypothesis. Here det is the det of 0FJN. The isomorphism itself is determinantTensorDeterminantIsoOfFiniteLocallyFree”.
Stacks 0B38: the canonical map
det(E') ⊗ det(E'') ⟶ det(E)is an isomorphism, for a short exact sequence0 → E' → E → E'' → 0of sheaves of modules on a ringed space whose outer terms are finite locally free of no particular rank.
theorem isIso_determinantTensorDeterminantHom
(hS : (ShortComplex.mk f g hfg).Exact) [Mono f] [Epi g]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E']
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E''] :
IsIso (determinantTensorDeterminantHom A' A A'' f g hfg hS)
Stacks.SheafOfModules.TopWedge.eq_determinantTensorDeterminantHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorAnnihilatorShortExactIso.lean, line 1035. The attribute's comment: “uniqueness of the canonical map det(E')⊗det(E'')⟶det(E) in the GENERAL case — a short exact sequence of finite locally free sheaves of modules with no constant-rank hypothesis. Together with eq_detTensorAnnComparison and the wedge-and-lift formula detSummandComparison_ι_unit_wedge this says the map is determined by the formula the source gives for it”.
The canonical map is the only morphism restricting to
Stacks.SheafOfModules.TopWedge.detTensorAnnComparisonon every degree-msummand ofdet(E''). Together withStacks.SheafOfModules.TopWedge.eq_detTensorAnnComparisonand the wedge-and-lift formulaStacks.SheafOfModules.TopWedge.detSummandComparison_ι_unit_wedgethis is the precise sense in which the map of [Stacks, Tag 0B38] is canonical.
theorem eq_determinantTensorDeterminantHom
(hS : (ShortComplex.mk f g hfg).Exact) [Mono f] [Epi g]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E']
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E'']
(ψ : ((Stacks.SheafOfModules.Tensor.sheafTensor Osharp).obj A'.determinant).obj A''.determinant
⟶ A.determinant)
(hψ : ∀ m : ℕ, (Stacks.SheafOfModules.TensorLocalProperties.tensorSheafRight
(Opens.grothendieckTopology ↥X) Osharp A'.determinant).map
(Limits.Sigma.ι (fun j : ℕ => (A''.exteriorAnnihilator j).toSheafOfModules) m) ≫ ψ =
detTensorAnnComparison A' A A'' f g hfg hS m) :
ψ = determinantTensorDeterminantHom A' A A'' f g hfg hS
Stacks.SheafOfModules.TopWedge.determinantTensorDeterminantIsoOfFiniteLocallyFree, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorAnnihilatorShortExactIso.lean, line 1072. The attribute's comment: “the canonical isomorphism det(E')⊗det(E'')≅det(E) in the GENERAL case, with NO constant-rank hypothesis”. References: SGA 6 X (5.1), “special case”.
Stacks 0B38, the general case. For a short exact sequence
0 → E' → E → E'' → 0of sheaves ofO_X-modules on a ringed space withE'andE''finite locally free of no particular rank, there is a canonical isomorphism
det(E') ⊗_{O_X} det(E'') ≅ det(E)of the determinants of [Stacks, Tag 0FJN] — the annihilator of the degree-one part of the exterior algebra.
The underlying map is
Stacks.SheafOfModules.TopWedge.determinantTensorDeterminantHom, whichStacks.SheafOfModules.TopWedge.detSummandComparison_ι_unit_wedgepins to the wedge-and-lift formula the source gives for it, which the uniqueness statementsStacks.SheafOfModules.TopWedge.eq_determinantTensorDeterminantHomandStacks.SheafOfModules.TopWedge.eq_detTensorAnnComparisonshow that formula determines, and whichStacks.SheafOfModules.TopWedge.isIso_determinantTensorDeterminantHomshows is an isomorphism.No hypothesis on
Eis needed: the freeness of its stalks is derived from the split stalk sequence, so the statement is a strengthening of the one in the source, which assumes all three terms finite locally free.
noncomputable def determinantTensorDeterminantIsoOfFiniteLocallyFree
(hS : (ShortComplex.mk f g hfg).Exact) [Mono f] [Epi g]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E']
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E''] :
((Stacks.SheafOfModules.Tensor.sheafTensor Osharp).obj A'.determinant).obj A''.determinant ≅
A.determinant
Stacks.SheafOfModules.TopWedge.determinantTensorDeterminantHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorAnnihilatorShortExactSummand.lean, line 713. The attribute's comment: “the canonical MAP det(E')⊗det(E'')⟶det(E) in the GENERAL case, with NO constant-rank hypothesis”.
The canonical map
det(E') ⊗ det(E'') ⟶ det(E)of [Stacks, Tag 0B38], for a short exact sequence0 → E' → E → E'' → 0of sheaves of modules on a ringed space withE'andE''finite locally free of NO PARTICULAR RANK.The determinant of [Stacks, Tag 0FJN] is the coproduct over the degrees of the degreewise annihilators of the degree-one part of the exterior algebra, and the tensor product of sheaves of modules preserves coproducts in each variable, so a map out of
det(E') ⊗ det(E'')is the same thing as a family of mapsdet(E')ₙ ⊗ det(E'')ₘ ⟶ det(E). This is the family obtained fromStacks.SheafOfModules.TopWedge.detSummandComparisonfollowed by the inclusion of the degree-n+msummand ofdet(E).That this map is an isomorphism is
Stacks.SheafOfModules.TopWedge.isIso_determinantTensorDeterminantHom, the isomorphism itself isStacks.SheafOfModules.TopWedge.determinantTensorDeterminantIsoOfFiniteLocallyFree, and the wedge-and-lift formula pinning it isStacks.SheafOfModules.TopWedge.detSummandComparison_ι_unit_wedge— all three inStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorAnnihilatorShortExactIso.
noncomputable def determinantTensorDeterminantHom [Mono f] [Epi g]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E']
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E''] :
((Stacks.SheafOfModules.Tensor.sheafTensor Osharp).obj A'.determinant).obj A''.determinant ⟶
A.determinant
Stacks.SheafOfModules.TopWedge.determinantTensorDeterminantIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorDeterminantShortExactIso.lean, line 93. The attribute's comment: “the canonical isomorphism det(E')⊗det(E'')≅det(E) in DETERMINANT form, for a short exact sequence of finite locally free sheaves of CONSTANT rank”. References: SGA 6 X (5.1), “special case”; SGA 6 X (6.2.7), “special case”.
Stacks 0B38 in determinant form, at constant rank. For a short exact sequence
0 → E' → E → E'' → 0of sheaves of modules on a ringed space, withE',E''andEfinite locally free of constant ranksr',k + 1andr' + k + 1, there is a canonical isomorphismdet(E') ⊗ det(E'') ≅ det(E)of the determinants of [Stacks, Tag 0FJN] — the annihilator of the degree-one part of the exterior algebra.It is the comparison of top exterior powers of
Stacks.SheafOfModules.TopWedge.detComparison, whichStacks.SheafOfModules.TopWedge.isIso_detComparisonshows is an isomorphism, conjugated by the identifications⋀ʳ F ≅ det(F)of [Stacks, Tag 0B37]. The map is pinned byStacks.SheafOfModules.TopWedge.determinantTensorDeterminantIso_homto that top-exterior-power comparison, whichStacks.SheafOfModules.TopWedge.detComparison_wedgein turn pins to the wedge-and-lift formula of the source.This is the CONSTANT-RANK form of the tag. The general case, where the ranks are only locally constant, is carried by
Stacks.SheafOfModules.TopWedge.determinantTensorDeterminantIsoOfFiniteLocallyFreeinStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorAnnihilatorShortExactIso.
noncomputable def determinantTensorDeterminantIso
(A' : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology ↥X) E')
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology ↥X) E)
(A'' : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology ↥X) E'')
(f : E' ⟶ E) (g : E ⟶ E'') (hfg : f ≫ g = 0)
(hS : (ShortComplex.mk f g hfg).Exact) [Mono f] [Epi g] (r' k : ℕ)
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E' r']
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E'' (k + 1)]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E (r' + (k + 1))] :
((Stacks.SheafOfModules.Tensor.sheafTensor Osharp).obj A'.determinant).obj A''.determinant ≅
A.determinant
Stacks.SheafOfModules.TopWedge.detComparison_wedge, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorPowerShortExact.lean, line 780. The attribute's comment: “the CONSTANT-RANK form of the canonical map det(E')⊗det(E'')⟶det(E) and of its wedge-and-lift formula”.
Stacks 0B38, the wedge-and-lift formula. The canonical comparison carries the image of
(s₁ ∧ ⋯ ∧ s_{r'}) ⊗ (g(l₁) ∧ ⋯ ∧ g(l_{k+1}))tof(s₁) ∧ ⋯ ∧ f(s_{r'}) ∧ l₁ ∧ ⋯ ∧ l_{k+1}: the wedge of the images of the sections ofE'with arbitrary local liftslⱼof the sections ofE''. This equation is the one the source gives for its canonical map, and it determines the comparison, since the wedges of local sections generate the exterior powers locally.Here
detis the top exterior power, whichSheafOfModules.TensorExteriorSymmetricAlgebras.determinantIsoExteriorPoweridentifies with thedetof [Stacks, Tag 0FJN] at constant rank; what is carried here isE'of constant rankr'andE''of constant rankr'' = k + 1. The ISOMORPHISM clause of the tag is carried separately byStacks.SheafOfModules.TopWedge.isIso_detComparison.This is the CONSTANT-RANK form of the tag. The general case — a short exact sequence of finite locally free sheaves with no constant-rank hypothesis — is carried by
Stacks.SheafOfModules.TopWedge.detSummandComparison_ι_unit_wedgeandStacks.SheafOfModules.TopWedge.determinantTensorDeterminantIsoOfFiniteLocallyFreeinStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorAnnihilatorShortExactIso.
theorem detComparison_wedge [Epi g]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E' r']
(V : (Opens ↥X)ᵒᵖ) (s : Fin r' → E'.val.obj V) (l : Fin (k + 1) → E.val.obj V) :
(detComparison A' A A'' f g hfg hS r' k).val.app V
((PresheafOfModules.tensorSheafUnit (A'.exteriorPower r')
(A''.exteriorPower (k + 1))).app V
(wedgeSec A' V r' s ⊗ₜ wedgeSec A'' V (k + 1) fun i => g.val.app V (l i))) =
wedgeSec A V (r' + (k + 1)) (Fin.append (fun i => f.val.app V (s i)) l)
Stacks.SheafOfModules.TopWedge.eq_detComparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorPowerShortExact.lean, line 807. The attribute's comment: “uniqueness of the map satisfying the wedge-and-lift formula, which is the precise sense of CANONICAL here — again in the constant-rank form, with the same carried hypotheses as detComparison_wedge; the isomorphism clause is carried by Stacks.SheafOfModules.TopWedge.isIso_detComparison, and the general case by Stacks.SheafOfModules.TopWedge.eq_determinantTensorDeterminantHom”.
The canonical comparison is the only morphism satisfying its defining equation. The morphism
⋀ʳ' E' ⊗ ⋀ᵏ⁺¹(g)is an epimorphism, so a morphism out of⋀ʳ' E' ⊗ ⋀ᵏ⁺¹ E''is determined by its composite with it.
theorem eq_detComparison [Epi g]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E' r']
(ψ : ((Stacks.SheafOfModules.Tensor.sheafTensor.{_, _, _, u, u} Osharp).obj (A'.exteriorPower
r')).obj
(A''.exteriorPower (k + 1)) ⟶
A.exteriorPower (r' + (k + 1)))
(hψ : ((Stacks.SheafOfModules.Tensor.sheafTensor.{_, _, _, u, u} Osharp).obj
(A'.exteriorPower r')).map ((extHom A A'' g).app ((k + 1 : ℕ) : ℤ)) ≫ ψ =
wedgeHom A' A f r' (k + 1)) :
ψ = detComparison A' A A'' f g hfg hS r' k
Stacks.SheafOfModules.TopWedge.isIso_detComparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorPowerShortExactIso.lean, line 432. The attribute's comment: “the ISOMORPHISM clause, in the constant-rank form”. References: SGA 6 X (5.1), “special case”; SGA 6 X (6.2.7), “(6.2.9), special case”.
Stacks 0B38, the isomorphism clause in the constant-rank form. For a short exact sequence
0 → E' → E → E'' → 0of sheaves of modules on a ringed space withE'finite locally free of constant rankr'andE''finite locally free of constant rankk + 1, the canonical comparison⋀^{r'} E' ⊗ ⋀^{k+1} E'' ⟶ ⋀^{r'+k+1} Eis an isomorphism.The canonical map
det(E') ⊗ det(E'') ⟶ det(E)shown invertible here isStacks.SheafOfModules.TopWedge.detComparison. Heredetis the top exterior power, identified with thedetof [Stacks, Tag 0FJN] at constant rank bySheafOfModules.TensorExteriorSymmetricAlgebras.determinantIsoExteriorPower; what is carried here isE'of constant rankr'andE''of constant rankr'' = k + 1.This is the CONSTANT-RANK form of the tag. The general case — a short exact sequence of finite locally free sheaves with no constant-rank hypothesis — is carried by
Stacks.SheafOfModules.TopWedge.isIso_determinantTensorDeterminantHomandStacks.SheafOfModules.TopWedge.determinantTensorDeterminantIsoOfFiniteLocallyFreeinStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorAnnihilatorShortExactIso.
theorem isIso_detComparison
(A' : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology ↥X) E')
(A : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology ↥X) E)
(A'' : _root_.SheafOfModules.TensorExteriorSymmetricAlgebras
(Opens.grothendieckTopology ↥X) E'')
(f : E' ⟶ E) (g : E ⟶ E'') (hfg : f ≫ g = 0)
(hS : (ShortComplex.mk f g hfg).Exact) [Mono f] [Epi g] (r' k : ℕ)
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E' r']
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E'' (k + 1)] :
IsIso (detComparison A' A A'' f g hfg hS r' k)
Tag 0FJN, a lemma
Tag 0FJN in the Stacks Project.
SheafOfModules.TensorExteriorSymmetricAlgebras.determinant_isInvertible_of_isFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/DeterminantFinitePresentationFlat.lean, line 329. The attribute's comment: “flatness and finite presentation of F are its only hypotheses on F, which is what the source assumes, and it carries no hypothesis about det(F)”. References: SGA 3 XV (5.7), “partial”.
[Stacks, Tag 0FJN]. The determinant of a flat sheaf of modules of finite presentation on a ringed space is an invertible module.
Its hypotheses on
Fare exactly the source's:Fis flat, in the senseAlgebraicGeometry.SheafOfModules.IsFlatthat the source assumes, and of finite presentation. Nothing is assumed aboutdet(F). Three statements stand behind it, each proved in this repository: every stalk ofdet(F)is an invertible module (SheafOfModules.TensorExteriorSymmetricAlgebras.determinant_stalk_invertible, with Tag 05NE turning flatness of the sheaf into flatness of the stalks);det(F)is of finite presentation (isFinitePresentation_determinant_of_isFlatabove); and invertibility descends from the stalks for a sheaf of modules of finite presentation (Stacks.SheafOfModules.stalkwiseInvertibleDescent).This is the whole covering set of Tag 0FJN. The two other statements of the tag's conclusion —
determinant_isInvertibleinStacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorAlgebraDeterminant.leananddeterminant_isInvertible_of_finitePresentationDescentinStacksFrontier/Algebra/Category/ModuleCat/Sheaf/ExteriorAnnihilatorStalk.lean— assume more than this one and do not carry the attribute.The statement lives here rather than beside
determinant_stalk_invertible_of_isFlat, which is where it was while the finite presentation ofdet(F)was a hypothesis, becauseStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorDeterminantInvertiblecannot import the file that proves that finite presentation: the closure ofStacksFrontier.Algebra.Category.ModuleCat.Sheaf.ExteriorPowerShortExact, which this file needs through the two retract conditions, makesHasCoproductunsynthesizable in the coproduct section of that file, where a family of sheaves of modules on a space is summed. That is a pre-existing incompatibility between those two files and has nothing to do with the determinant; it is recorded here because it is the reason for the split.
theorem determinant_isInvertible_of_isFlat {Y : RingedSpace.{u, u}}
(G : SheafOfModules.{u} (structureSheafRing Y)) [G.IsFinitePresentation]
(A : TensorExteriorSymmetricAlgebras (Opens.grothendieckTopology Y.carrier) G)
(hflat : AlgebraicGeometry.SheafOfModules.IsFlat.{u, u, u, u} (O := Y.sheaf) G) :
AlgebraicGeometry.SheafOfModules.IsInvertible Y.presheaf
(Presheaf.isSheaf_comp_of_isSheaf _ Y.presheaf
(forget₂ CommRingCat.{u} RingCat.{u}) Y.IsSheaf) A.determinant
Sources
Section17.27 Localizing sheaves of rings#
Section 17.27 of the Stacks Project, Tag 01CZ. 2 tags here are carried by 7 declarations of the repository (all in StacksFrontier) and 3 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01D0, a lemma
Tag 01D0 in the Stacks Project.
Stacks.Presheaf.Localization.isLocalization_stalk_localizationSheaf, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Presheaf/LocalizationStalk.lean, line 177. The attribute's comment: “sheaf_localization_stalk”.
At every point, the stalk of the sheafification of the sectionwise localization is the localization of the original stalk at the germs of the prescribed denominators.
lemma isLocalization_stalk_localizationSheaf (D : PresheafLocalizationData.{u}) (x : D.X) :
letI : Algebra (D.O.stalk x) ((localizationSheaf D).presheaf.stalk x) :=
(toLocalizationSheafStalk D x).hom.toAlgebra
IsLocalization (D.S.stalk x) ((localizationSheaf D).presheaf.stalk x)
Stacks.Presheaf.Localization.existsUnique_lift_localizationPresheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Presheaf/LocalizationUniversalProperty.lean, line 80. The attribute's comment: “presheaf_universal_property”. References: EGA 0 (1.2.4), “more general”.
Stacks 01D0. A morphism of presheaves of commutative rings which inverts every section of the multiplicative subpresheaf
Sfactors uniquely through the sectionwise localization atS.
theorem existsUnique_lift_localizationPresheaf (S : O.SubmonoidPresheaf) (f : O ⟶ A)
(hf : ∀ (U : (Opens X)ᵒᵖ) (s : S.obj U), IsUnit ((f.app U).hom (s : O.obj U))) :
∃! g : S.localizationPresheaf ⟶ A, S.toLocalizationPresheaf ≫ g = f
Stacks.Presheaf.Localization.toLocalizationSheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Presheaf/LocalizationUniversalProperty.lean, line 112. The attribute's comment: “sheaf_universal_property”.
The canonical map from the sheafification of a presheaf of commutative rings to the sheafification of its sectionwise localization.
noncomputable def toLocalizationSheaf (S : O.SubmonoidPresheaf) :
(presheafToSheaf (Opens.grothendieckTopology X) CommRingCat.{u}).obj O ⟶
(presheafToSheaf (Opens.grothendieckTopology X) CommRingCat.{u}).obj
S.localizationPresheaf
Stacks.Presheaf.Localization.isUnit_toLocalizationSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Presheaf/LocalizationUniversalProperty.lean, line 130. The attribute's comment: “sheaf_universal_property”.
Stacks 01D0. Every prescribed local denominator becomes invertible in the sheafified localization.
theorem isUnit_toLocalizationSheaf (S : O.SubmonoidPresheaf) (U : (Opens X)ᵒᵖ) (s : S.obj U) :
IsUnit (((toLocalizationSheaf S).hom.app U).hom
(((toSheafify (Opens.grothendieckTopology X) O).app U).hom (s : O.obj U)))
Stacks.Presheaf.Localization.existsUnique_lift_localizationSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Presheaf/LocalizationUniversalProperty.lean, line 140. The attribute's comment: “sheaf_universal_property”.
Stacks 01D0. A morphism out of the sheafification of
Owhich inverts every prescribed section factors uniquely through the sheafified localization.
theorem existsUnique_lift_localizationSheaf (S : O.SubmonoidPresheaf) (A : X.Sheaf CommRingCat.{u})
(f : (presheafToSheaf (Opens.grothendieckTopology X) CommRingCat.{u}).obj O ⟶ A)
(hf : ∀ (U : (Opens X)ᵒᵖ) (s : S.obj U),
IsUnit ((f.hom.app U).hom
(((toSheafify (Opens.grothendieckTopology X) O).app U).hom (s : O.obj U)))) :
∃! g : (presheafToSheaf (Opens.grothendieckTopology X) CommRingCat.{u}).obj
S.localizationPresheaf ⟶ A,
toLocalizationSheaf S ≫ g = f
Declarations registered for the tag:
Stacks.Presheaf.Localization.localizationPresheaf_stalk_isLocalization, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Presheaf/LocalizationStalk.lean, line 202 (StacksFrontier): “presheaf_localization_stalk: the stalk of the localization presheaf”.TopCat.Presheaf.SubmonoidPresheaf.toLocalizationPresheafregistered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Presheaf/LocalizationUniversalProperty.lean, line 168 (StacksFrontier): “localization_map: the canonical morphism to the sectionwise localization”.IsLocalization.map_unitsregistered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Presheaf/LocalizationUniversalProperty.lean, line 170 (StacksFrontier): “localization_map: every prescribed section becomes a unit”.
Tag 01D1, a lemma
Tag 01D1 in the Stacks Project.
Stacks.Presheaf.Localization.sectionwiseLocalizedModuleIsoTensor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Presheaf/LocalizationModule.lean, line 245. The attribute's comment: “presheaf assertion”.
Stacks Project, Tag 01D1, presheaf assertion.
Any sectionwise localization of a presheaf of modules is canonically isomorphic to extension of scalars from the original presheaf of rings to its sectionwise localization.
noncomputable def sectionwiseLocalizedModuleIsoTensor
(O Oₛ : TopCat.Presheaf CommRingCat X) (α : O ⟶ Oₛ)
(S : (U : (TopologicalSpace.Opens X)ᵒᵖ) → Submonoid (O.obj U))
(F : PresheafOfModules.{0} (ringPresheaf O))
(Fₛ : PresheafOfModules.{0} (ringPresheaf Oₛ))
(ι : F ⟶ Stacks.Sheafify.ChangeOfRingsAdjunction.restrictPresheaf O Oₛ α Fₛ)
(hO : IsSectionwiseLocalization O Oₛ α S)
(hF : IsSectionwiseLocalizedModule O Oₛ α S F Fₛ ι) :
Fₛ ≅ tensorPresheafOfModules O Oₛ α F
Stacks.Presheaf.Localization.sheafificationSectionwiseLocalizedModuleIsoTensor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Presheaf/LocalizationModule.lean, line 295. The attribute's comment: “sheaf assertion”.
Stacks Project, Tag 01D1, sheaf assertion.
If
OandFare sheaves, sheafifying a sectionwise localizationFₛalong a sheafificationOₛ ⟶ Oₛ♯gives the tensor product ofFwithOₛ♯overO.
noncomputable def sheafificationSectionwiseLocalizedModuleIsoTensor
(O : TopCat.Sheaf CommRingCat X) (Oₛ : TopCat.Presheaf CommRingCat X)
(Oₛ' : TopCat.Sheaf CommRingCat X) (α : O.presheaf ⟶ Oₛ) (σ : Oₛ ⟶ Oₛ'.presheaf)
(S : (U : (TopologicalSpace.Opens X)ᵒᵖ) → Submonoid (O.presheaf.obj U))
(F : SheafOfModules (ringSheaf O))
(Fₛ : PresheafOfModules (ringPresheaf Oₛ))
(ι : F.val ⟶ Stacks.Sheafify.ChangeOfRingsAdjunction.restrictPresheaf O.presheaf Oₛ α Fₛ)
(hO : IsSectionwiseLocalization O.presheaf Oₛ α S)
(hF : IsSectionwiseLocalizedModule O.presheaf Oₛ α S F.val Fₛ ι)
(hσi : Presheaf.IsLocallyInjective (Opens.grothendieckTopology X)
(Stacks.Sheafify.ChangeOfRingsAdjunction.ringPresheafMap Oₛ Oₛ'.presheaf σ))
(hσs : Presheaf.IsLocallySurjective (Opens.grothendieckTopology X)
(Stacks.Sheafify.ChangeOfRingsAdjunction.ringPresheafMap Oₛ Oₛ'.presheaf σ)) :
(moduleSheafificationAlong (Stacks.Sheafify.ChangeOfRingsAdjunction.ringPresheafMap Oₛ
Oₛ'.presheaf σ) hσi hσs).obj Fₛ ≅
tensorSheaf O Oₛ'
((fullyFaithfulSheafToPresheaf (Opens.grothendieckTopology X) CommRingCat).homEquiv.symm
(α ≫ σ)) F
Sources
Section17.28 Modules of differentials#
Section 17.28 of the Stacks Project, Tag 08RL. 14 tags here are carried by 37 declarations of the repository (all in StacksFrontier) and 3 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01UN, a definition
Tag 01UN in the Stacks Project.
Declarations registered for the tag:
PresheafOfModulesOfCommRing.Derivation'registered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch17.lean, line 61 (StacksFrontier): “for presheaves of modules over any category; Stacks' sheaf case isF.val.Derivation' φ.hom”. References: EGA IV (16.5.1), “more general”.PresheafOfModulesOfCommRing.Derivationregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch17.lean, line 64 (StacksFrontier): “the structure: additive on sections, compatible with restriction, Leibniz rule, kills the image ofφ”.
Tag 08RM, a lemma
Tag 08RM in the Stacks Project.
AlgebraicGeometry.SheafOfModules.universalDerivation_isUniversal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials.lean, line 130. References: EGA IV (16.5.3), “(ii)”.
Stacks Project, Tag 08RM. Postcomposition with the universal derivation gives the unique morphism from the module of relative differentials to any coefficient sheaf.
theorem universalDerivation_isUniversal {X : TopCat.{u}}
{O₁ O₂ : TopCat.Sheaf CommRingCat.{max u v} X} (φ : O₁ ⟶ O₂) :
IsUniversal.{u, v, u_1} (universalDerivation.{u, v, u_1} φ)
Tag 08RP, a definition
Tag 08RP in the Stacks Project.
AlgebraicGeometry.SheafOfModules.moduleOfDifferentials, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials.lean, line 111. The attribute's comment: “the module of differentials”.
The sheaf of relative differentials representing derivations along
φ.
noncomputable def moduleOfDifferentials {X : TopCat.{u}}
{O₁ O₂ : TopCat.Sheaf CommRingCat.{max u v} X} (φ : O₁ ⟶ O₂) :
_root_.SheafOfModules.{max u v w} (underlyingRingSheaf O₂)
AlgebraicGeometry.SheafOfModules.universalDerivation, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials.lean, line 118. The attribute's comment: “the module of differentials”. References: EGA IV (16.3.6), “dt”; EGA IV (16.5.3), “(i)”.
The universal relative derivation into
moduleOfDifferentials φ.
noncomputable def universalDerivation {X : TopCat.{u}}
{O₁ O₂ : TopCat.Sheaf CommRingCat.{max u v} X} (φ : O₁ ⟶ O₂) :
SheafDerivation.{u, v, u_1} φ (moduleOfDifferentials.{u, v, u_1} φ)
Tag 08TD, a lemma
Tag 08TD in the Stacks Project.
Declarations registered for the tag:
AlgebraicGeometry.SheafOfModules.moduleOfDifferentialsIsoSectionwise, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Modules/Differentials/Stalk.lean, line 89 (StacksFrontier).
Tag 08RQ, a lemma
Tag 08RQ in the Stacks Project.
AlgebraicGeometry.SheafOfModules.pullbackDifferentialsIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/InverseImage.lean, line 559. The attribute's comment: “the open-inclusion case: the identification of the restriction of the”.
The canonical identification between the inverse image of the module of relative differentials and the module of relative differentials of the inverse-image morphism.
noncomputable def pullbackDifferentialsIso (phi : O₁ ⟶ O₂) :
inverseImageModule f O₂ (moduleOfDifferentials phi) ≅
moduleOfDifferentials ((TopCat.Sheaf.pullback CommRingCat.{u} f).map phi)
Tag 08RR, a lemma
Tag 08RR in the Stacks Project.
AlgebraicGeometry.SheafOfModules.inverseImageDerivation, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/InverseImage.lean, line 456. The attribute's comment: “inverse image of the derivation”.
The inverse image of a relative derivation, specified by its action on the images of local sections under the inverse-image units.
noncomputable def inverseImageDerivation
{M : _root_.SheafOfModules.{u} (underlyingRingSheaf O₂)}
(d : SheafDerivation phi M) :
{δ : SheafDerivation ((TopCat.Sheaf.pullback CommRingCat.{u} f).map phi)
(inverseImageModule f O₂ M) //
∀ (U : (Opens X)ᵒᵖ) (b : O₂.obj.obj U),
δ.d (((inverseImageRingHom f O₂).hom.app U) b) =
((inverseImageModuleUnit f O₂ M).val.app U).hom (d.d b)}
AlgebraicGeometry.SheafOfModules.inverseImageDerivation_isUniversal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/InverseImage.lean, line 483. The attribute's comment: “universality”.
The inverse image of the universal derivation remains universal.
theorem inverseImageDerivation_isUniversal (phi : O₁ ⟶ O₂) :
IsUniversal (inverseImageDerivation f (universalDerivation phi)).val
AlgebraicGeometry.SheafOfModules.pullbackDifferentialsIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/InverseImage.lean, line 559. The attribute's comment: “canonical identification”.
The canonical identification between the inverse image of the module of relative differentials and the module of relative differentials of the inverse-image morphism.
noncomputable def pullbackDifferentialsIso (phi : O₁ ⟶ O₂) :
inverseImageModule f O₂ (moduleOfDifferentials phi) ≅
moduleOfDifferentials ((TopCat.Sheaf.pullback CommRingCat.{u} f).map phi)
AlgebraicGeometry.SheafOfModules.pullbackDifferentialsIso_compatible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/InverseImage.lean, line 588. The attribute's comment: “compatibility with universal derivations”.
The canonical identification carries the inverse image of the universal derivation to the universal derivation.
theorem pullbackDifferentialsIso_compatible (phi : O₁ ⟶ O₂) :
(inverseImageDerivation f (universalDerivation phi)).val.postcomp
(pullbackDifferentialsIso f phi).hom.val =
universalDerivation ((TopCat.Sheaf.pullback CommRingCat.{u} f).map phi)
AlgebraicGeometry.SheafOfModules.pullbackDifferentialsIso_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/InverseImage.lean, line 597. The attribute's comment: “canonicity”.
Compatibility with universal derivations uniquely characterizes the canonical identification.
theorem pullbackDifferentialsIso_unique (phi : O₁ ⟶ O₂)
(e : inverseImageModule f O₂ (moduleOfDifferentials phi) ≅
moduleOfDifferentials ((TopCat.Sheaf.pullback CommRingCat.{u} f).map phi))
(he : (inverseImageDerivation f (universalDerivation phi)).val.postcomp e.hom.val =
universalDerivation ((TopCat.Sheaf.pullback CommRingCat.{u} f).map phi)) :
e = pullbackDifferentialsIso f phi
Tag 08TE, a lemma
Tag 08TE in the Stacks Project.
Stacks.RelativeDifferentialStalk.stalkModuleOfDifferentialsKaehlerLinearEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeDifferentialStalk/Sheafify.lean, line 151. The attribute's comment: “the identification”.
Stacks Project, Tag 08TE. The stalk of the sheaf of relative differentials of a morphism of sheaves of commutative rings is the module of Kähler differentials of its stalk map:
Ω_{O₂/O₁, x} = Ω_{O₂,x / O₁,x}.It is also Stacks Tag 01V0 at a point: the sheaf of relative differentials commutes with taking stalks.
public noncomputable def stalkModuleOfDifferentialsKaehlerLinearEquiv (x : X)
[DecidableEq (OrderDual (TopologicalSpace.OpenNhds x))] :
letI := algebraStalk φ.hom x
ToType (TopCat.Presheaf.stalk (C := AddCommGrpCat.{u})
(moduleOfDifferentials.{u, u, u} φ).val.presheaf x)
≃ₗ[ToType (O₂.presheaf.stalk x)]
KaehlerDifferential (ToType (O₁.presheaf.stalk x)) (ToType (O₂.presheaf.stalk x))
Stacks.RelativeDifferentialStalk.stalkModuleOfDifferentialsKaehlerLinearEquiv_germ_d, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeDifferentialStalk/Sheafify.lean, line 224. The attribute's comment: “compatibility with the universal derivations”.
Stacks Project, Tag 08TE. The identification of the stalk of the sheaf of relative differentials with the Kähler differentials of the stalk map carries universal differentials to universal differentials.
The germ at
xof the universal relative differential of a section ofO₂over a neighbourhood ofxgoes to the universal differential of the germ of that section. This is what makes the identification canonical.
public theorem stalkModuleOfDifferentialsKaehlerLinearEquiv_germ_d (x : X)
[DecidableEq (OrderDual (TopologicalSpace.OpenNhds x))]
(i : OrderDual (TopologicalSpace.OpenNhds x)) (a : nhdRing O₂.presheaf i) :
letI := algebraStalk φ.hom x
stalkModuleOfDifferentialsKaehlerLinearEquiv φ x
(TopCat.Presheaf.germ (C := AddCommGrpCat.{u})
(moduleOfDifferentials.{u, u, u} φ).val.presheaf (nhdOpen i) x (mem_nhdOpen i)
((universalDerivation.{u, u, u} φ).d a)) =
KaehlerDifferential.D (ToType (O₁.presheaf.stalk x)) (ToType (O₂.presheaf.stalk x))
(O₂.presheaf.germ (nhdOpen i) x (mem_nhdOpen i) a)
Tag 08RS, a lemma
Tag 08RS in the Stacks Project.
Stacks.Sheaves.DifferentialsFunctorial.compDeriv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/DifferentialsFunctorial.lean, line 117. The attribute's comment: “the composite of O_2 -> O_2' with d is an O_1-derivation”.
Given a commutative square of sheaves of commutative rings
and a relativeO₂ --φ--> O₂' ↑ι ↑ι' O₁ --ψ--> O₁'ι'-derivationd'with values in a sheaf ofO₂'-modulesF, the composited' ∘ φis a relativeι-derivation with values inFregarded as a sheaf ofO₂-modules by restriction of scalars alongφ.
noncomputable def compDeriv {F : SheafOfModules.{u} (Differentials.underlyingRingSheaf O₂')}
(d' : Differentials.SheafDerivation O₁' O₂' ι' F) (φ : O₂ ⟶ O₂') (ψ : O₁ ⟶ O₁')
(hcomm : ι ≫ φ = ψ ≫ ι') :
Differentials.SheafDerivation O₁ O₂ ι (restrictAlong φ F)
Stacks.Sheaves.DifferentialsFunctorial.differentialMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/DifferentialsFunctorial.lean, line 182. The attribute's comment: “the canonical map of O_2-modules Omega_{O_2/O_1} -> Omega_{O_2'/O_1'}”. References: EGA 0 (20.5.2), “(20.5.2.3) map u''”.
The canonical morphism of sheaves of modules between the sheaves of relative differentials attached to a commutative square
of sheaves of commutative rings. It goes fromO₂ --φ--> O₂' ↑ι ↑ι' O₁ --ψ--> O₁'Ω_{O₂/O₁}toΩ_{O₂'/O₁'}regarded as a sheaf ofO₂-modules by restriction of scalars alongφ, and is characterized bydifferentialMap_comp_d.
noncomputable def differentialMap (ι : O₁ ⟶ O₂) (ι' : O₁' ⟶ O₂') (φ : O₂ ⟶ O₂')
(ψ : O₁ ⟶ O₁') (hcomm : ι ≫ φ = ψ ≫ ι') :
Differentials.moduleOfDifferentials O₁ O₂ ι ⟶
restrictAlong φ (Differentials.moduleOfDifferentials O₁' O₂' ι')
Stacks.Sheaves.DifferentialsFunctorial.differentialMap_comp_d, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/DifferentialsFunctorial.lean, line 201. The attribute's comment: “the characterizing property d(f) |-> d(phi f) on local sections”.
The characterizing property of
differentialMap: on local sections it sendsd atod' (φ a), wheredandd'are the universal derivations ofΩ_{O₂/O₁}andΩ_{O₂'/O₁'}.
theorem differentialMap_comp_d (ι : O₁ ⟶ O₂) (ι' : O₁' ⟶ O₂') (φ : O₂ ⟶ O₂')
(ψ : O₁ ⟶ O₁') (hcomm : ι ≫ φ = ψ ≫ ι') {U : Cᵒᵖ} (a : O₂.obj.obj U) :
((differentialMap ι ι' φ ψ hcomm).val.app U).hom
((Differentials.universalDerivation O₁ O₂ ι).d a)
= (Differentials.universalDerivation O₁' O₂' ι').d ((φ.hom.app U).hom a)
Stacks.Sheaves.DifferentialsFunctorial.differentialMap_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/DifferentialsFunctorial.lean, line 212. The attribute's comment: “the canonical map is uniquely characterized by that property”.
Uniqueness: a morphism of sheaves of modules satisfying the characterizing property of
differentialMapisdifferentialMap.
theorem differentialMap_unique (ι : O₁ ⟶ O₂) (ι' : O₁' ⟶ O₂') (φ : O₂ ⟶ O₂')
(ψ : O₁ ⟶ O₁') (hcomm : ι ≫ φ = ψ ≫ ι')
(β : Differentials.moduleOfDifferentials O₁ O₂ ι ⟶
restrictAlong φ (Differentials.moduleOfDifferentials O₁' O₂' ι'))
(hβ : ∀ {U : Cᵒᵖ} (a : O₂.obj.obj U), (β.val.app U).hom
((Differentials.universalDerivation O₁ O₂ ι).d a)
= (Differentials.universalDerivation O₁' O₂' ι').d ((φ.hom.app U).hom a)) :
β = differentialMap ι ι' φ ψ hcomm
Stacks.Sheaves.DifferentialsFunctorial.differentialsArrowFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/DifferentialsFunctorial.lean, line 326. The attribute's comment: “a functor on the category of arrows of sheaves of rings”.
Stacks Project, Tag 08RS. The relative differentials as a functor on the category of arrows of sheaves of commutative rings: an arrow
ι : O₁ ⟶ O₂is sent toΩ_{O₂/O₁}and a commutative square to the canonical mapdifferentialMap, the identity and composition laws beingdifferentialMap_idanddifferentialMap_comp.The target is the total category
ArrowModulesrather than a fixed category of modules, because the sheaf of rings over whichΩ_{O₂/O₁}is linear isO₂, which varies with the arrow.
noncomputable def differentialsArrowFunctor :
CategoryTheory.Arrow (Sheaf J CommRingCat.{u}) ⥤ ArrowModules J
Tag 08TF, a lemma
Tag 08TF in the Stacks Project.
Stacks.Sites.Conormal.differentialSequence, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Modules/CorepresentingConormalSequence.lean, line 888. The attribute's comment: “canonical conormal sequence”.
The conormal sequence
I/I² ⟶ B ⊗_A Ω_{A/R} ⟶ Ω_{B/R} ⟶ 0, with its middle and right terms expressed by the sheaves of relative differentials that corepresent derivations.
noncomputable def differentialSequence :
ShortComplex
(_root_.SheafOfModules.{max w u v z} (Stacks.SheafOfModules.Tensor.ringSheaf B))
Stacks.Sites.Conormal.differentialSequence_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Modules/CorepresentingConormalSequence.lean, line 928. The attribute's comment: “exactness”. References: SGA 3 III (4.25), “exactness of (+)”.
The transported sequence is exact at the extension of scalars of
Ω_{A/R}.
theorem differentialSequence_exact :
(differentialSequence.{v, u, w, z} J R A B a φ).Exact
Stacks.Sites.Conormal.differentialSequence_epi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Modules/CorepresentingConormalSequence.lean, line 936. The attribute's comment: “surjectivity”. References: SGA 3 III (4.25), “surjectivity in (+)”.
The transported sequence surjects onto
Ω_{B/R}.
theorem differentialSequence_epi :
Epi (differentialSequence.{v, u, w, z} J R A B a φ).g
Stacks.Sites.Conormal.differentialSequence_f_class, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Modules/CorepresentingConormalSequence.lean, line 946. The attribute's comment: “formula on local kernel sections”.
The left-hand map carries the conormal class of a local section of the kernel to the source's
d x ⊗ 1.
theorem differentialSequence_f_class (X : Cᵒᵖ) (x : kernelIdeal φ.hom X) :
((differentialSequence.{v, u, w, z} J R A B a φ).f.val.app X)
(conormalClass.{v, u, w, z} J R A B a φ X x) =
((_root_.SheafOfModules.pullbackPushforwardAdjunction
(underlyingRingHomForPullback J A B φ)).unit.app
(moduleOfDifferentialsOfSite.{v, u, w, z} R A a)).val.app X
((universalDerivationOfSite.{v, u, w, z} R A a).d x.1)
Stacks.Sites.Conormal.differentialSequence_g_differential, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Modules/CorepresentingConormalSequence.lean, line 962. The attribute's comment: “right map on differentials”.
The right-hand map carries
d x ⊗ 1to the universal differential of the image ofx.
theorem differentialSequence_g_differential (X : Cᵒᵖ) (x : A.obj.obj X) :
((differentialSequence.{v, u, w, z} J R A B a φ).g.val.app X)
(((_root_.SheafOfModules.pullbackPushforwardAdjunction
(underlyingRingHomForPullback J A B φ)).unit.app
(moduleOfDifferentialsOfSite.{v, u, w, z} R A a)).val.app X
((universalDerivationOfSite.{v, u, w, z} R A a).d x)) =
(universalDerivationOfSite.{v, u, w, z} R B (a ≫ φ)).d (φ.hom.app X x)
Stacks.Sites.Conormal.differentialSequence_g_eq_mapDifferentials, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Modules/CorepresentingConormalSequence.lean, line 982. The attribute's comment: “canonical right-hand map”.
Under extension/restriction of scalars, the right-hand map is exactly the canonical map on relative differentials attached to the square
R → A → Bby Stacks 08TR.
theorem differentialSequence_g_eq_mapDifferentials :
(_root_.SheafOfModules.pullbackPushforwardAdjunction
(underlyingRingHomForPullback J A B φ)).homEquiv
(moduleOfDifferentialsOfSite.{v, u, w, z} R A a)
(moduleOfDifferentialsOfSite.{v, u, w, z} R B (a ≫ φ))
(differentialSequence.{v, u, w, z} J R A B a φ).g =
mapDifferentials.{v, u, w, z} a (a ≫ φ) (𝟙 R) φ (by simp)
Stacks.Sites.Conormal.differentialSequence_f_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Modules/CorepresentingConormalSequence.lean, line 1010. The attribute's comment: “uniqueness of the conormal map”.
The formula on local conormal classes determines the left-hand map.
theorem differentialSequence_f_unique
(g : (differentialSequence.{v, u, w, z} J R A B a φ).X₁ ⟶
(differentialSequence.{v, u, w, z} J R A B a φ).X₂)
(hg : ∀ (X : Cᵒᵖ) (x : kernelIdeal φ.hom X),
g.val.app X (conormalClass.{v, u, w, z} J R A B a φ X x) =
((_root_.SheafOfModules.pullbackPushforwardAdjunction
(underlyingRingHomForPullback J A B φ)).unit.app
(moduleOfDifferentialsOfSite.{v, u, w, z} R A a)).val.app X
((universalDerivationOfSite.{v, u, w, z} R A a).d x.1)) :
g = (differentialSequence.{v, u, w, z} J R A B a φ).f
Tag 08RT, a definition
Tag 08RT in the Stacks Project.
Stacks.Sheaves.RingedSpaceDifferentials.SDerivation, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/RingedSpaceDifferentials.lean, line 182. The attribute's comment: “S-derivations into an O_X-module: the set Der_S(O_X, F)”. References: EGA IV (16.5.1); SGA 3 VIIA (1.2.0), “more general”.
Der_S(𝒪_X, F), the type ofS-derivations of a morphism of ringed spacesh : X ⟶ Swith values in a sheaf of𝒪_X-modulesF: a derivation of𝒪_Xrelative toh⁻¹ 𝒪_S, that is, aninverseImageStructureMap h-derivation in the sense of Tag 01UN.
noncomputable abbrev SDerivation (h : X ⟶ S)
(F : SheafOfModules.{u} (structureSheafRing X))
Stacks.Sheaves.RingedSpaceDifferentials.moduleOfDifferentials, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/RingedSpaceDifferentials.lean, line 190. The attribute's comment: “the sheaf of differentials Omega_{X/S} of X over S”.
The sheaf of relative differentials
Ω_{X/S}of a morphism of ringed spacesh : X ⟶ S: the sheaf of differentials of𝒪_Xrelative toh⁻¹ 𝒪_S.
noncomputable def moduleOfDifferentials (h : X ⟶ S) :
SheafOfModules.{u} (structureSheafRing X)
Stacks.Sheaves.RingedSpaceDifferentials.universalDerivation, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/RingedSpaceDifferentials.lean, line 196. The attribute's comment: “the universal S-derivation d_{X/S} with which Omega_{X/S} is endowed”.
The universal relative derivation
d_{X/S} : 𝒪_X ⟶ Ω_{X/S}.
noncomputable def universalDerivation (h : X ⟶ S) :
SDerivation h (moduleOfDifferentials h)
Tag 01UP, a lemma
Tag 01UP in the Stacks Project.
Stacks.Sheaves.SquareZeroExtension.sectionsEquivDerivations, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/SquareZeroExtensionSections.lean, line 259.
Stacks 01UP. Relative derivations into the square-zero kernel act simply transitively on the algebra sections of the extension. Under the resulting bijection, the derivation corresponding to
tis the pointwise differencet - s.
theorem sectionsEquivDerivations {X : TopCat.{u}}
{B O A : TopCat.Sheaf CommRingCat.{max u v} X}
(α : B ⟶ O) (β : B ⟶ A) (π : A ⟶ O)
(s : AlgebraSection α β π)
(I : SheafOfModules.{max u v w} (underlyingRingSheaf O))
(hI : SquareZeroKernel α β π s I) :
∃ e : AlgebraSection α β π ≃ SheafDerivation α I,
∀ (t : AlgebraSection α β π) (U : (Opens X)ᵒᵖ) (a : O.obj.obj U),
hI.ι U ((e t).d a) = t.hom.hom.app U a - s.hom.hom.app U a
Tag 08RU, a lemma
Tag 08RU in the Stacks Project.
Stacks.Sheaves.RingedSpaceDifferentials.differentialMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/RingedSpaceDifferentials.lean, line 334.
The canonical comparison map
c : f^* Ω_{X/S} ⟶ Ω_{X'/S'}of sheaves of𝒪_{X'}-modules attached to a commutative diagram of morphisms of ringed spacesIt is the morphism adjoint toX' --f--> X | | h' h v v S' --g--> SpushforwardDifferentialMap, anddifferentialMap_isDifferentialMaptogether withdifferentialMap_uniquesay that it is the unique morphism carrying the pullback ofd atod (f^♯ a)on local sections.
noncomputable def differentialMap :
(RingedSpaceModuleAdjunction.modulePullback f).obj (moduleOfDifferentials h) ⟶
moduleOfDifferentials h'
AlgebraicGeometry.SheafOfModules.existsUnique_compositeDerivation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/Functoriality.lean, line 221. The attribute's comment: “composite derivation”.
The composite of
f^♯with the pushforward of the universal derivation is anS-derivation, and it is the unique one whose value on every local sectionais the universal derivation off^♯ a.
theorem existsUnique_compositeDerivation {X' X S' S : RingedSpace.{u, u}}
(f : X' ⟶ X) (h : X ⟶ S) (h' : X' ⟶ S') (g : S' ⟶ S)
(hcomm : f ≫ h = h' ≫ g) :
∃! D : SheafDerivation (inverseImageStructureMap h)
((RingedSpaceModuleAdjunction.modulePushforward f).obj
(moduleOfDifferentials (inverseImageStructureMap h'))),
∀ (U : Opens X.carrier) (a : X.presheaf.obj (.op U)),
D.d a = (universalDerivation
(inverseImageStructureMap h')).d ((f.hom.c.app (.op U)).hom a)
AlgebraicGeometry.SheafOfModules.pushforwardDifferentialMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/Functoriality.lean, line 288. The attribute's comment: “map to pushforward differentials”.
The universal map
Ω_{X/S} ⟶ f_* Ω_{X'/S'}.
noncomputable def pushforwardDifferentialMap {X' X S' S : RingedSpace.{u, u}}
(f : X' ⟶ X) (h : X ⟶ S) (h' : X' ⟶ S') (g : S' ⟶ S) (hcomm : f ≫ h = h' ≫ g) :
moduleOfDifferentials (inverseImageStructureMap h) ⟶
(RingedSpaceModuleAdjunction.modulePushforward f).obj
(moduleOfDifferentials (inverseImageStructureMap h'))
AlgebraicGeometry.SheafOfModules.existsUnique_differentialMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/Functoriality.lean, line 314. The attribute's comment: “canonical map and uniqueness”. References: EGA IV (16.4.3), “(16.4.3.6),(16.4.3.7)”.
The canonical morphism of differentials for a commutative square of ringed spaces exists and is uniquely determined by its action on differentials of local sections.
theorem existsUnique_differentialMap {X' X S' S : RingedSpace.{u, u}}
(f : X' ⟶ X) (h : X ⟶ S) (h' : X' ⟶ S') (g : S' ⟶ S)
(hcomm : f ≫ h = h' ≫ g) :
∃! c : (RingedSpaceModuleAdjunction.modulePullback f).obj
(moduleOfDifferentials (inverseImageStructureMap h)) ⟶
moduleOfDifferentials (inverseImageStructureMap h'),
IsDifferentialMap f h h' c
AlgebraicGeometry.SheafOfModules.differentialMap_adjoint, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/Functoriality.lean, line 360. The attribute's comment: “agreement under adjunction”.
The pullback map on differentials is adjoint to the canonical map into pushforward differentials.
theorem differentialMap_adjoint {X' X S' S : RingedSpace.{u, u}}
(f : X' ⟶ X) (h : X ⟶ S) (h' : X' ⟶ S') (g : S' ⟶ S)
(hcomm : f ≫ h = h' ≫ g) :
(RingedSpaceModuleAdjunction.homEquiv f
(moduleOfDifferentials (inverseImageStructureMap h'))
(moduleOfDifferentials (inverseImageStructureMap h)))
(differentialMap f h h' g hcomm) =
pushforwardDifferentialMap f h h' g hcomm
AlgebraicGeometry.SheafOfModules.inverseImageDifferentialMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/Functoriality.lean, line 562. The attribute's comment: “inverse-image map”.
The canonical map
f⁻¹Ω_{X/S} ⟶ Ω_{X'/S'}off⁻¹𝒪_X-modules. The target carries its restricted scalar action.
noncomputable def inverseImageDifferentialMap {X' X S' S : RingedSpace.{u, u}}
(f : X' ⟶ X) (h : X ⟶ S) (h' : X' ⟶ S') (g : S' ⟶ S) (hcomm : f ≫ h = h' ≫ g) :
inverseImageModule f.hom.base X.sheaf
(moduleOfDifferentials (inverseImageStructureMap h)) ⟶
inverseImageDifferentialTarget f h'
AlgebraicGeometry.SheafOfModules.inverseImageDifferentialMap_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/Functoriality.lean, line 574. The attribute's comment: “inverse-image and tensor comparison”.
The inverse-image differential map is the restriction of the scalar-extended map
c_f, after the canonical tensor-unit mapf⁻¹Ω ⟶ f*Ω.
theorem inverseImageDifferentialMap_eq {X' X S' S : RingedSpace.{u, u}}
(f : X' ⟶ X) (h : X ⟶ S) (h' : X' ⟶ S') (g : S' ⟶ S) (hcomm : f ≫ h = h' ≫ g) :
inverseImageDifferentialMap f h h' g hcomm =
inverseImageToPullback f (moduleOfDifferentials (inverseImageStructureMap h)) ≫
(_root_.SheafOfModules.restrictScalars (inverseImageStructureRingMap f)).map
(differentialMap f h h' g hcomm)
Tag 01UW, a lemma
Tag 01UW in the Stacks Project.
Stacks.Sheaves.RingedSpaceDifferentials.differentialMap_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/RingedSpaceDifferentials.lean, line 464.
Functoriality, composition: the comparison map of a vertical composite of two commutative diagrams of ringed spaces is the composite of the comparison maps, after the canonical identification
(f' ≫ f)^* ⟶ f'^* (f^*). This is the relationc_{f ∘ f'} = c_{f'} ∘ (f')^* c_fof Tag 01UW.
theorem differentialMap_comp :
differentialMap (f' ≫ f) h h'' (g' ≫ g) hcomm''
= modulePullbackComparison f f' (moduleOfDifferentials h) ≫
((RingedSpaceModuleAdjunction.modulePullback f').map
(differentialMap f h h' g hcomm) ≫ differentialMap f' h' h'' g' hcomm')
Tag 0H79, a lemma
Tag 0H79 in the Stacks Project.
Stacks.Sheaves.RingedSpaceDifferentials.triangleDifferentials_epi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/RingedSpaceDifferentials.lean, line 845. The attribute's comment: “exactness at the right term”. References: EGA IV (16.4.19), “surjectivity on right”.
The canonical map to relative differentials over
Yis an epimorphism.
theorem triangleDifferentials_epi (f : X ⟶ Y) (g : Y ⟶ S) :
Epi (toRelativeDifferentials f g)
Stacks.Sheaves.RingedSpaceDifferentials.triangleDifferentials_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/ModuleCat/Sheaf/RingedSpaceDifferentials.lean, line 917. The attribute's comment: “exactness at the middle term”. References: EGA IV (16.4.19), “exactness at middle”.
For morphisms of ringed spaces
f : X ⟶ Yandg : Y ⟶ Sthe canonical maps form a complexf^* Ω_{Y/S} ⟶ Ω_{X/S} ⟶ Ω_{X/Y}which is exact atΩ_{X/S}. Together withtriangleDifferentials_epithis is the exactness off^* Ω_{Y/S} ⟶ Ω_{X/S} ⟶ Ω_{X/Y} ⟶ 0.
theorem triangleDifferentials_exact (f : X ⟶ Y) (g : Y ⟶ S) :
∃ h : differentialMap f g (f ≫ g) (𝟙 S) (by simp) ≫ toRelativeDifferentials f g = 0,
(ShortComplex.mk _ _ h).Exact
Sources
Section17.29 Finite order differential operators#
Section 17.29 of the Stacks Project, Tag 0G3P. 7 tags here are carried by 2 declarations of the repository (all in StacksFrontier) and 5 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0G3Q, a definition
Tag 0G3Q in the Stacks Project.
Declarations registered for the tag:
DiffOp.IsGlobalDiffOpOfOrder, declared in the repository, registered withadd_to_stacksin StacksFrontier/CategoryTheory/Sites/Modules/DifferentialOperators.lean, line 72 (StacksFrontier).
Tag 0G3R, a lemma
Tag 0G3R in the Stacks Project.
Declarations registered for the tag:
DiffOp.isGlobalDiffOpOfOrder_comp, declared in the repository, registered withadd_to_stacksin StacksFrontier/Algebra/Category/ModuleCat/Sheaf/DifferentialOperatorsRingedSpace.lean, line 40 (StacksFrontier): “the ringed-space case of 09CS”.
Tag 0G3S, a lemma
Tag 0G3S in the Stacks Project.
Declarations registered for the tag:
AlgebraicGeometry.SheafOfModules.differentialOperatorsFunctor_isCorepresentable, declared in the repository, registered withadd_to_stacksin StacksFrontier/Algebra/Category/ModuleCat/Sheaf/DifferentialOperatorsRingedSpace.lean, line 42 (StacksFrontier): “the ringed-space case of 09CT”.
Tag 0G3T, a definition
Tag 0G3T in the Stacks Project.
Declarations registered for the tag:
AlgebraicGeometry.SheafOfModules.moduleOfPrincipalParts, declared in the repository, registered withadd_to_stacksin StacksFrontier/Algebra/Category/ModuleCat/Sheaf/PrincipalPartsRingedSpace.lean, line 33 (StacksFrontier): “the ringed-space case of 09CU”.
Tag 0G3U, a lemma
Tag 0G3U in the Stacks Project.
Stacks.Sheaves.PrincipalParts.principalPartsSheafification, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Modules/PrincipalPartsSheafification.lean, line 697. References: EGA IV (16.4.24), “(ii)”.
Stacks Project, Tag 0G3U, which read as a statement about the sheaf of principal parts is Tag 09CV. Let
φ : O₁ ⟶ O₂be a morphism of presheaves of commutative rings on a site and letFbe a presheaf ofO₂-modules. Then the sheaf of principal parts of orderkofF^#relative toO₂^# / O₁^#is the sheaf associated to the presheafX ↦ Pᵏ_{O₂(X)/O₁(X)}(F X)of sectionwise modules of principal parts, and the sectionwise universal operators are compatible with restriction.
noncomputable def principalPartsSheafification [HasWeakSheafify J CommRingCat.{u}]
[J.WEqualsLocallyBijective CommRingCat.{u}]
[J.HasSheafCompose (forget₂ CommRingCat.{u} RingCat.{u})]
[J.WEqualsLocallyBijective AddCommGrpCat.{max u u₁ v₁ v}]
[HasWeakSheafify J AddCommGrpCat.{max u u₁ v₁ v}] {O₁ O₂ : Cᵒᵖ ⥤ CommRingCat.{u}}
(φ : O₁ ⟶ O₂)
(F : PresheafOfModules.{max u u₁ v₁ v} (O₂ ⋙ forget₂ CommRingCat.{u} RingCat.{u}))
(k : ℕ) :
Σ' P : PresheafOfModules.{max u u₁ v₁ v}
(O₂ ⋙ forget₂ CommRingCat.{u} RingCat.{u}),
Σ' D : F.presheaf ⟶ P.presheaf,
Σ' _e : (AlgebraicGeometry.SheafOfModules.differentialOperatorsFunctor.{v₁, u₁, u,
max u u₁ v₁ v}
((sheafCompose J (forget₂ CommRingCat.{u} RingCat.{u})).map
(associatedCommRingSheafMap J φ))
((PresheafOfModules.sheafification (toAssociatedRingSheaf J O₂)).obj F)
k).coreprX (hF :=
AlgebraicGeometry.SheafOfModules.differentialOperatorsFunctor_isCorepresentable
((sheafCompose J (forget₂ CommRingCat.{u} RingCat.{u})).map
(associatedCommRingSheafMap J φ))
((PresheafOfModules.sheafification (toAssociatedRingSheaf J O₂)).obj F) k) ≅
(PresheafOfModules.sheafification (toAssociatedRingSheaf J O₂)).obj P,
∀ X : Cᵒᵖ,
letI : Algebra (O₁.obj X) (O₂.obj X) := (φ.app X).hom.toAlgebra
letI : Module (O₁.obj X) (F.obj X) :=
Module.compHom (F.obj X) (φ.app X).hom
letI : Module (O₁.obj X) (P.obj X) :=
Module.compHom (P.obj X) (φ.app X).hom
letI : IsScalarTower (O₁.obj X) (O₂.obj X) (F.obj X) :=
IsScalarTower.of_algebraMap_smul fun _ _ ↦ rfl
letI : IsScalarTower (O₁.obj X) (O₂.obj X) (P.obj X) :=
IsScalarTower.of_algebraMap_smul fun _ _ ↦ rfl
∃ d : F.obj X →ₗ[O₁.obj X] P.obj X,
(∀ x, d x = (D.app X).hom x) ∧
d.IsUniversalDifferentialOperatorOfOrderLE (O₂.obj X) k
Tag 0G3V, a lemma
Tag 0G3V in the Stacks Project.
AlgebraicGeometry.SheafOfModules.nonempty_principalPartsSequence_opens, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Differentials/PrincipalParts.lean, line 77. References: SGA 6 II (AppII.1.2.4), “n = 1, top. space”.
Stacks Project, Tag 0G3V. For a homomorphism
φ : O₁ ⟶ O₂of sheaves of commutative rings on a topological space, the sheaves of first principal parts of the sheaves ofO₂-modules assemble into a functor sitting in a short exact sequence
0 ⟶ Ω_{O₂/O₁} ⊗_{O₂} F ⟶ P¹_{O₂/O₁}(F) ⟶ F ⟶ 0natural in
F, with its two arrows determined by their values on universal differential operators.
theorem nonempty_principalPartsSequence_opens {X : TopCat.{u}}
(O₁ O₂ : TopCat.Sheaf CommRingCat.{u} X) (φ : O₁ ⟶ O₂) :
Nonempty (PrincipalPartsSequence.{u, u, u, m} (J := Opens.grothendieckTopology X) O₁ O₂ φ)
Tag 0G3X, a definition
Tag 0G3X in the Stacks Project.
Declarations registered for the tag:
DiffOp.IsGlobalDiffOpOfOrder, declared in the repository, registered withadd_to_stacksin StacksFrontier/CategoryTheory/Sites/Modules/DifferentialOperators.lean, line 73 (StacksFrontier): “differential operators on X/S, for the map f♯ : f⁻¹𝒪_S ⟶ 𝒪_X”.
Sources
Section17.30 The de Rham complex#
Section 17.30 of the Stacks Project, Tag 0FKL. 5 tags here are carried by 12 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0FKM, a definition
Tag 0FKM in the Stacks Project.
AlgebraicGeometry.SheafOfModules.deRhamDifferential, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamExistence.lean, line 363. The attribute's comment: “existence: the de Rham differential exists. The tag defines the complex by a uniqueness property, so the covering set is this construction, relativeDeRhamComplex and deRhamDifferential_unique.”. References: EGA IV (16.6.2), “existence”.
The relative de Rham differential of
φexists. The differential in each degree is the sheafification of the ring-level de Rham differential, read on⋀ᵖ Ωthrough the exact-wedge comparison; it squares to zero and obeys the de Rham rule because the sectionwise differential does.
noncomputable def deRhamDifferential : DeRhamDifferential B
AlgebraicGeometry.SheafOfModules.relativeDeRhamComplex, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamExistence.lean, line 372. The attribute's comment: “the canonical complex: the de Rham complex of B over A, assembled from the differential of deRhamDifferential. Its terms and arrows are deRhamComplex_X and deRhamComplex_d.”.
The relative de Rham complex
⋀⁰ Ω → ⋀¹ Ω → ⋀² Ω → ⋯of sheaves ofA-modules.
noncomputable abbrev relativeDeRhamComplex :
CochainComplex
(_root_.SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf.{u, u, u} A)) ℕ
AlgebraicGeometry.SheafOfModules.deRhamDifferential_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamExistence.lean, line 382. The attribute's comment: “uniqueness: a de Rham differential is the one constructed here, so the complex of Tag 0FKM is well defined. The general two-differential form is DeRhamDifferential.eq of StacksFrontier.Topology.Sheaves.Modules.DeRhamUniqueness.”. References: EGA IV (16.6.2), “uniqueness”.
The relative de Rham differential is unique. This is
AlgebraicGeometry.SheafOfModules.DeRhamDifferential.eqread at the constructed differential.
theorem deRhamDifferential_unique (D : DeRhamDifferential B) : D = deRhamDifferential B
Tag 0FKP, a lemma
Tag 0FKP in the Stacks Project.
AlgebraicGeometry.SheafOfModules.inverseImageExteriorAlgebraIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamInverseImage.lean, line 209. The attribute's comment: “canonicality of the identification of the terms, as sheaves of f⁻¹ℬ-modules: the comparison is the one compatible with the exterior products, the units and the exact differentials, and that determines it. The complex-level statement of the tag is inverseImageDeRhamComplexIso below.”.
Stacks Project, Tag 0FKP, canonicality. The canonical comparison between the inverse image of the exterior algebra of
Ω_{ℬ/𝒜}and the exterior algebra ofΩ_{f⁻¹ℬ/f⁻¹𝒜}, in every degree and on the underlying direct-sum sheaf, together with its compatibility with the exterior products, the degree-zero units and the degree-one generators. Those compatibilities determine the comparison, byStacks.PullbackExteriorAlgebra.exteriorAlgebraPullbackIso_unique.
def inverseImageExteriorAlgebraIso :
ExteriorAlgebraPullbackIso (RingedSpace.inverseImageProjection X f)
(differentialAlgebras.{u} φ).exterior (differentialAlgebras.{u} φ).exteriorGenerator
(differentialAlgebras.{u} (inverseImageRingMap φ f)).exterior
(inverseImageExteriorGenerator φ f)
AlgebraicGeometry.SheafOfModules.inverseImageDifferentialForms, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamInverseImage.lean, line 224. The attribute's comment: “the identification of the terms: in each degree p the inverse image of Ωᵖ_{ℬ/𝒜} is Ωᵖ_{f⁻¹ℬ/f⁻¹𝒜}, as sheaves of f⁻¹ℬ-modules. The identification of the complexes of f⁻¹𝒜-modules is inverseImageDeRhamComplexIso below, which is built from this one by inverseImageRestrictScalarsIso.”.
Stacks Project, Tag 0FKP, on the terms. The canonical identification
f⁻¹ Ωᵖ_{ℬ/𝒜} = Ωᵖ_{f⁻¹ℬ/f⁻¹𝒜}of the inverse image of the sheaf of relative differentialp-forms with the sheaf of relative differentialp-forms of the inverse-image rings.
def inverseImageDifferentialForms (p : ℕ) :
(pullbackFunctor (RingedSpace.inverseImageProjection X f)).obj (differentialForms.{u} φ p) ≅
differentialForms.{u} (inverseImageRingMap φ f) p
AlgebraicGeometry.SheafOfModules.inverseImageDeRhamComplexIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamInverseImage.lean, line 716. The attribute's comment: “the identification of the de Rham COMPLEXES: f⁻¹Ω•_{ℬ/𝒜} = Ω•_{f⁻¹ℬ/f⁻¹𝒜} as complexes of sheaves of f⁻¹𝒜-modules”.
Stacks Project, Tag 0FKP. The canonical identification
f⁻¹Ω•_{ℬ/𝒜} = Ω•_{f⁻¹ℬ/f⁻¹𝒜}of de Rham complexes: the degreewise identification of the differential forms, moved into sheaves off⁻¹𝒜-modules and assembled into an isomorphism of complexes.
noncomputable def inverseImageDeRhamComplexIso :
inverseImageDeRhamComplex φ f ≅
relativeDeRhamComplex (differentialAlgebras.{u} (inverseImageRingMap φ f))
AlgebraicGeometry.SheafOfModules.inverseImageDeRhamComplexIso_canonical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamInverseImage.lean, line 730. The attribute's comment: “canonicality of the identification of the complexes: it is the map determined by b · d b₁ ∧ ⋯ ∧ d bₚ ↦ f⁻¹b · d(f⁻¹b₁) ∧ ⋯ ∧ d(f⁻¹bₚ) on the inverse-image sections”.
Stacks Project, Tag 0FKP, canonicality. The identification of the complexes is the one that carries each local multiple of an ordered product of exact differentials to the same expression in the inverse-image rings.
theorem inverseImageDeRhamComplexIso_canonical :
IsCanonicalInverseImageDeRhamIso φ f (inverseImageDeRhamComplexIso φ f)
AlgebraicGeometry.SheafOfModules.inverseImageDeRhamComplexIso_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamInverseImage.lean, line 739. The attribute's comment: “uniqueness: a canonical identification of the de Rham complexes is the one constructed here”.
Stacks Project, Tag 0FKP, uniqueness. Canonicality determines the identification of the complexes: the local multiples of the ordered products of exact differentials generate the terms locally, so an isomorphism of complexes prescribed on them is prescribed.
theorem inverseImageDeRhamComplexIso_unique
(e : inverseImageDeRhamComplex φ f ≅
relativeDeRhamComplex (differentialAlgebras.{u} (inverseImageRingMap φ f)))
(he : IsCanonicalInverseImageDeRhamIso φ f e) :
e = inverseImageDeRhamComplexIso φ f
Tag 0G3Y, a lemma
Tag 0G3Y in the Stacks Project.
AlgebraicGeometry.SheafOfModules.deRhamDifferentialHom_isGlobalDiffOpOfOrder_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamDifferentialOperator.lean, line 256.
Stacks Project, Tag 0G3Y. For a morphism
φ : A ⟶ Bof sheaves of commutative rings on a topological space, every differentiald : ⋀ᵖ Ω ⟶ ⋀ᵖ⁺¹ Ωof the relative de Rham complex is a differential operator of order at most one relative toφ.
theorem deRhamDifferentialHom_isGlobalDiffOpOfOrder_one (p : ℕ) :
DiffOp.IsGlobalDiffOpOfOrder (underlyingRingHom (φ := φ)) 1 (deRhamGlobalOp B p)
Tag 0FKQ, a definition
Tag 0FKQ in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.deRhamComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/DeRham/SchemeComplex.lean, line 106. The attribute's comment: “the morphism-of-schemes case”.
The relative de Rham complex
Ω^•_{X/S}of a morphism of schemesf : X ⟶ S: the de Rham complex of𝒪_Xoverf^{-1}𝒪_S, a cochain complex of sheaves off^{-1}𝒪_S-modules onX.
noncomputable def deRhamComplex :
CochainComplex (_root_.SheafOfModules.{u}
(AlgebraicGeometry.SheafOfModules.underlyingRingSheaf
((TopCat.Sheaf.pullback CommRingCat.{u} f.base).obj S.sheaf))) ℕ
AlgebraicGeometry.SheafOfModules.relativeDeRhamComplex, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamExistence.lean, line 372. The attribute's comment: “the morphism-of-ringed-spaces case, at A := f⁻¹𝒪_Y”.
The relative de Rham complex
⋀⁰ Ω → ⋀¹ Ω → ⋀² Ω → ⋯of sheaves ofA-modules.
noncomputable abbrev relativeDeRhamComplex :
CochainComplex
(_root_.SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf.{u, u, u} A)) ℕ
Tag 0G3Z, a lemma
Tag 0G3Z in the Stacks Project.
AlgebraicGeometry.SheafOfModules.deRhamDifferentialHom_isGlobalDiffOpOfOrder_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/DeRhamDifferentialOperator.lean, line 256. The attribute's comment: “the case of a morphism of ringed spaces f : X -> Y, at phi : f^{-1} O_Y -> O_X”.
Stacks Project, Tag 0G3Y. For a morphism
φ : A ⟶ Bof sheaves of commutative rings on a topological space, every differentiald : ⋀ᵖ Ω ⟶ ⋀ᵖ⁺¹ Ωof the relative de Rham complex is a differential operator of order at most one relative toφ.
theorem deRhamDifferentialHom_isGlobalDiffOpOfOrder_one (p : ℕ) :
DiffOp.IsGlobalDiffOpOfOrder (underlyingRingHom (φ := φ)) 1 (deRhamGlobalOp B p)
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.