Quasi-coherence is closed under extensions #
With the kernel and cokernel closure of
CoherentSheaf/Quasicoherent/Kernels.lean, this completes the weak Serre
property for quasi-coherent sheaves on an arbitrary scheme — what Dqc(X)
needs before it can carry a triangulated structure.
Through the five-term homology long exact sequence, closure under cones
needs closure under kernels, cokernels and extensions — not under subobjects and
quotients, which quasi-coherence does not have. See
CategoryTheory/Abelian/SerreClass/Weak.lean; an earlier version of this paragraph
claimed the stronger closure, and it is not what the argument uses.
Why cohomology, when the coherent case needed none #
Abelian/Extensions.lean proves the finite-presentation analogue with a
horseshoe and no cohomology at all. That route does not survive here: its
simultaneousImageCover takes a Finset.univ.inf of covering sieves — a
finite intersection — so finitely many generators lift on one refinement and
arbitrarily many do not. Quasi-coherent presentations have arbitrary index sets.
So this file takes the classical route and pays the cohomological price once.
The argument #
On Spec R, for 0 ⟶ M₁ ⟶ M₂ ⟶ M₃ ⟶ 0 with M₁ and M₃ quasi-coherent:
M₁is quasi-coherent, henceH¹(Spec R, M₁) = 0(Cohomology.modules_H_subsingleton_of_isQuasicoherent).- So
Γcarries the sequence to a short exact sequence ofR-modules — left exactness is formal, and the surjectivity is step 1 fed throughSheaf.sections_surjective_of_subsingleton_H_one. tildeis exact, so it carries that back to module sheaves. Right exactness was free; left exactness is the kernel closure, sincetildefactors throughtildeEquivand the quasi-coherent inclusion.fromTildeΓcompares the two sequences and is iso at both ends. The short five lemma makes it iso in the middle, which is quasi-coherence ofM₂.
Then isQuasicoherent_iff_restrict_affineOpenCover transports it to any scheme.
On Γ #
Written affineΓ R = moduleSpecSectionsFunctor R ⊤, not moduleSpecΓFunctor.
The two are defeq, but only the first has domain (Spec R).Modules, which is
where the geometry lives, and an instance proved for one is not found for the
other. Abelian/Kernels.lean already had this functor and kept it private; it
is public as of this change. Modules/Affine/Equivalence.lean records the same
wrapper problem for Scheme.Modules itself.
Main results #
Exactness of tilde #
Finite products on affine quasi-coherent sheaves, transported across the tilde equivalence rather than postulated on the full subcategory.
Quasi-coherent sheaves on an affine spectrum are abelian, by the proved tilde equivalence with modules over the coordinate ring.
Equations
Instances For
The inclusion of quasi-coherent sheaves preserves kernels — this is the
kernel closure of Quasicoherent/Kernels.lean, in the form limit-preservation
wants it.
The inclusion of quasi-coherent sheaves into all module sheaves on an affine spectrum preserves finite limits.
tilde is exact.
Right exactness is free — tilde.adjunction makes it a left adjoint. Left
exactness is this: tilde factors through tildeEquiv and the inclusion of
quasi-coherent sheaves, and that inclusion is left exact because quasi-coherence
is closed under ambient kernels.
The affine five lemma #
Global sections on an affine spectrum #
Γ is written moduleSpecSectionsFunctor R ⊤ rather than moduleSpecΓFunctor.
The two are defeq, but only the first has domain (Spec R).Modules, which is
what a short complex of the geometry here actually lives in.
Global sections on Spec R, retyped over (Spec R).Modules.
Instances For
Global sections of a short exact sequence of module sheaves on Spec R are
short exact, as soon as the sub is quasi-coherent.
Left exactness is formal — Γ preserves finite limits. The surjectivity is the
cohomological input, and the only one in this file: H¹(Spec R, M₁) = 0.
The affine five lemma #
The comparison Γ(−)~ ⟶ −, as a morphism of short complexes.
Equations
- AlgebraicGeometry.fromTildeΓShortComplexHom S = { τ₁ := S.X₁.fromTildeΓ, τ₂ := S.X₂.fromTildeΓ, τ₃ := S.X₃.fromTildeΓ, comm₁₂ := ⋯, comm₂₃ := ⋯ }
Instances For
Quasi-coherence is closed under extensions on an affine spectrum.
The four steps: H¹ of the sub vanishes, so Γ of the sequence is short exact;
tilde is exact, so it carries that back to a short exact sequence of module
sheaves; fromTildeΓ compares the two, and is iso at both ends because both ends
are quasi-coherent; the short five lemma makes it iso in the middle, which is
quasi-coherence of the middle.
Any scheme #
Quasi-coherence is closed under extensions, on an arbitrary scheme.
The affine case transported along X.affineOpenCover by the affine-local
criterion. Restriction along an open immersion is exact, so the restricted
sequence is again short exact, and its two ends are again quasi-coherent.
Quasi-coherent module sheaves on an arbitrary scheme are closed under
extensions. With quasicoherent_isClosedUnderKernels and
quasicoherent_isClosedUnderCokernels, this is the weak Serre property.
The zero sheaf is quasi-coherent.
Scheme.coherent_containsZero specializes the arbitrary-ringed-site zero theorem
to X.Modules, and Mathlib turns finite presentation into quasi-coherence, so
this needs no QuasicoherentData of its own.
It is the fourth ingredient of the triangulated structure and the only one that
is not a closure property: ObjectProperty.IsTriangulated extends
ContainsZero, and closure under kernels cannot produce a first member of the
class from nothing.