The quasi-coherent cohomology locus in a scheme-derived category #
The ambient SchemeDerivedCategory X is the derived category of all
𝒪_X-module sheaves. The category conventionally denoted Dqc(X) is the
full subcategory whose cohomology sheaves are quasi-coherent. This file makes
that distinction part of the Lean type.
Dqc(X) is a triangulated subcategory, and this file proves it rather than
assuming it (#721). The route does not need quasi-coherent sheaves to be an
abelian subcategory of X.Modules — an earlier version of this docstring named
that as the blocker. What is needed is only the weak Serre property:
closure under kernels, cokernels and extensions, which
Modules/Quasicoherent/Kernels.lean and
Cohomology/Quasicoherent/Extensions.lean supply on an arbitrary scheme
(#720). DerivedCategory.cohomologyIn turns that into closure under cones via
the five-term long exact homology sequence, so Pretriangulated on the locus
and triangulatedness of the inclusion both follow from Mathlib.
Comparison statements a later geometric realization must still prove — the
bounded-coherent identification and the compact/perfect comparison — remain
propositions with no unsupported inhabitant. Dqc/Comparison.lean turns them
into representatives and membership theorems only when a consumer passes the
evidence explicitly, so unsupported geometric cases are still not silently
identified with the all-sheaf derived category.
The canonical zero object is different: it follows from the triangulated full subcategory structure already proved here, so this root constructs it for an arbitrary scheme. Moduli consumers reuse that object and add their own locus membership proofs.
Declarations in this file and the affine realization subtree use the
geometry-owned namespace AlgebraicGeometry.DerivedCategory.Dqc.
An object of the all-module-sheaf derived category has quasi-coherent cohomology when every one of its canonical cohomology sheaves is quasi-coherent.
Equations
Instances For
Dqc(X) is a triangulated subcategory of the all-sheaf derived
category (#721).
Quasi-coherence is a weak Serre subcategory of X.Modules — closed under
kernels, cokernels and extensions, and containing zero — on an arbitrary
scheme, with no noetherian or quasi-compactness hypothesis. That is exactly
the input DerivedCategory.cohomologyIn_isTriangulated asks for, and it is why
closure under cones holds without quasi-coherent sheaves forming an abelian
subcategory: the five-term homology sequence pays for the missing subobject and
quotient closure.
Note that quasi-coherence is not a Serre class here — a subsheaf of a
quasi-coherent sheaf need not be quasi-coherent — so IsSerreClass and
Mathlib's three-term prop_X₂_of_exact are unavailable, and nothing below
uses them.
The honest Dqc(X) object class: the full subcategory of the derived
category of all module sheaves cut out by quasi-coherent cohomology.
Equations
Instances For
The inclusion of the quasi-coherent cohomology locus into the derived category of all module sheaves.
Equations
Instances For
The inclusion Dqc(X) ⥤ D(X.Modules) is a triangulated functor. This
is a Mathlib instance once the object property is a triangulated subcategory; it
is recorded here because it is what Dqc(X) has to have for "compact object in Dqc(X)" to be a statement one
may make. (Pretriangulated is data, not a proposition, so it is left as the
Mathlib instance rather than restated here.)
The canonical zero object of Dqc(X), owned by the Dqc root rather than
by any particular geometric consumer.
Instances For
The canonical Dqc(X) zero is a zero object in the full subcategory.
Forgetting the canonical Dqc(X) zero to the all-sheaf derived category
still gives a zero object.
The abelian-side inputs to Dqc(X)'s coproduct structure (#721, third
bullet).
Quasi-coherence is closed under ι-indexed coproducts on an arbitrary scheme
(Modules/Quasicoherent/Coproducts.lean), and X.Modules has those coproducts.
Closure under isomorphism is Mathlib's and is recorded alongside it. The
derived-category half, that SchemeDerivedCategory X has coproducts and every
Hⁿ preserves them, is DerivedCategory.hasCoproductsOfShape and
DerivedCategory.homologyFunctor_preservesCoproductsOfShape at X.Modules, whose
coproducts are exact (Scheme.Modules.hasExactColimitsOfShape).
Dqc(X) is closed under coproducts (#721, third bullet, closure clause).
SchemeDerivedCategory X has coproducts indexed by any type in the universe of
X, and every Hⁿ preserves them, because coproducts in X.Modules are exact;
both are found by instance search, so closure needs no hypothesis beyond
membership of the summands.
One piece of plumbing here is deliberate and cost real time to find. The @
and the named quasicoherent_isClosedUnderCoproducts are needed because
Instance search cannot find that instance through this application even though
quasicoherent_isClosedUnderCoproducts two declarations above finds it by
inferInstance: unifying A := X.Modules routes the category through
Scheme.Modules.instCategory, and the goal it then poses no longer matches the
instance's own head. Supplying it by name is not a workaround for an unproved fact —
it is the same instance, named.
Dqc(X) is closed under coproducts as an object property, so Mathlib gives
SchemeQuasicoherentDerivedCategory X its coproducts and makes ι create them.
The inclusion Dqc(X) ⥤ D(X.Modules) preserves coproducts (#721, third bullet, second
clause). A Mathlib instance once the object property is closed under them; recorded here, as
ι_isTriangulated is, because it is the acceptance criterion of #721.
The inclusion Dqc(X) ⥤ D(X.Modules) reflects coproducts, which is what a realization
functor into the locus needs and which preservation alone does not give.
Preservation says the image of a coproduct is a coproduct, and that is the statement a consumer
of Dqc(X) wants. A functor landing in Dqc(X) needs the converse direction: knowing that its
composite with ι preserves coproducts, conclude that it does. Reflection is exactly that step,
and it holds here because the closure above makes ι create these colimits — the coproduct
of a family in Dqc(X) is their coproduct in the all-sheaf derived category, carrying its
membership proof. Creation carries data rather than being a proposition, so it stays a local
term inside this proof; reflection is the proposition it implies.
Membership in Dqc(X) is exactly quasi-coherence of every cohomology
sheaf.
The exact inclusion of coherent sheaves induces a concrete functor from their unbounded derived category to the all-module-sheaf derived category.
Equations
Instances For
The derived coherent-sheaf inclusion has quasi-coherent cohomology in
every degree. This is proved by exactness of Coh.ι, not postulated as a
geometric realization.
The genuine lift of the coherent derived category into the quasi-coherent-cohomology locus.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Forgetting the quasi-coherent-cohomology proof recovers the derived coherent-sheaf inclusion definitionally.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Bounded objects in the honest Dqc(X) locus are detected by the
canonical t-structure of the ambient all-sheaf derived category.
Equations
Instances For
The bounded part of Dqc(X), defined by ambient cohomological
boundedness.
Equations
Instances For
The inclusion of bounded quasi-coherent complexes into Dqc(X).
Equations
Instances For
Boundedness is detected after the two honest inclusions into the ambient derived category.
The intrinsic bounded-coherent locus in Dqc(X): ambient boundedness and
finite presentation of every cohomology sheaf. On a locally Noetherian
scheme this is the expected objectwise description of Dᵇ(Coh X).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The full subcategory of Dqc(X) with bounded coherent cohomology.
Equations
Instances For
Bounded coherent cohomology implies ambient boundedness.
The bounded coherent category maps concretely into the intrinsic
bounded-coherent locus in Dqc(X).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Forget bounded-coherent cohomology to the ambient Dqc(X) locus.
Equations
Instances For
The perfect thick envelope maps through bounded coherent complexes into
the bounded coherent Dqc locus.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Perfect objects inside Dqc(X), defined without circular use of
compactness as the essential image of the repository's finite-locally-free
thick envelope.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every object of the coherent-derived perfect category maps into the
perfect essential image in Dqc(X). This is the canonical absolute-perfect
comparison and requires no bounded-coherent equivalence hypothesis.
The exact missing general-scheme identification behind the standard
notation Dᵇ(Coh X) ⊂ Dqc(X). The comparison field forces the equivalence
to be the concrete derived inclusion constructed above. No unsupported
scheme is marked as satisfying this proposition.
The bounded coherent derived category is equivalent to the intrinsic bounded coherent cohomology locus.
The equivalence is the concrete exact derived inclusion.
Instances For
Existence of the general-scheme bounded-coherent identification, kept as an explicit proposition rather than a typeclass instance.
Equations
Instances For
The exact compact/perfect comparison still required by the scheme-level
A.14 realization. This file supplies no unsupported inhabitant; Dqc(X) now
has its coproducts, and what remains is compact generation by perfect
complexes (RΓ commuting with coproducts), a separate obligation.
This is not Neeman's compact-equals-perfect theorem, and IsLocallyNoetherian
is not enough to inhabit it. Two gaps, both about the left-hand side. Neeman's
theorem identifies the compact objects of Dqc(X) with the perfect complexes,
those locally quasi-isomorphic to a bounded complex of finite locally free
sheaves, for X quasi-compact and separated. The left side here is
schemePerfectInDqc, the essential image of the absolute thick envelope of
finite locally free sheaves (schemePerfect, DerivedCategory/Coherent.lean),
and that envelope is all of Perf(X) only when X has the resolution property.
So an inhabitant must carry quasi-compactness, separatedness, and the resolution
property; none of the three is in this signature, and the repository has no
vocabulary for the third. The .{0} is a third narrowing: it tests compactness
against Type-indexed coproducts only.
Left at this generality on purpose — it names the comparison the realization needs without inventing a resolution-property class before a consumer exists for one. Do not cite it as the literature's theorem, and do not inhabit it without first adding the hypotheses.