Serre duality: explicit derived and cohomological interfaces #
For a smooth proper variety of pure dimension n, Serre duality should identify
H^i(X, F)ᵛ ≃ Ext^(n-i)(F, ω_X).
The pinned Mathlib has derived categories and Ext, but no derived global-sections functor into
D(k), coherent RHom, or Grothendieck-duality theorem. Accordingly this file packages the
exact remaining realization data and derives the finite-dimensional pairing and
Euler-characteristic consequences.
CanonicalSheafData.dualizingComplex constructs the object ω_X[n] rather than accepting it as
a field. DerivedStatement records the functors and duality isomorphism still missing upstream.
Data records the cohomology-level realization against Mathlib's actual Abelian.Ext groups.
LocallyFreeSpecialization identifies those Ext groups with the cohomology of Fᵛ ⊗ ω_X; from
these inputs this file proves the usual dimension and Euler symmetries.
The derived-category form of the missing Serre-duality construction.
The functor linearDualShift is the exact derived lift of algebraic linear duality followed by
the shift [-n]. It is now constructed rather than supplied as an arbitrary field. The only
remaining categorical input on this side is the explicit comparison
(DerivedCategory C)ᵒᵖ ≃ DerivedCategory (Cᵒᵖ), which the pinned Mathlib does not yet bundle.
The dualizing object itself is the constructed K.dualizingComplex = ω_X[n].
- rGlobalSections : CategoryTheory.Functor (DerivedCategory.SchemeCoherentDerivedCategory X) (DerivedCategory (ModuleCat k))
Derived global sections with its base-field-linear target.
- rHomDualizing : CategoryTheory.Functor (DerivedCategory.SchemeCoherentDerivedCategory X)ᵒᵖ (DerivedCategory (ModuleCat k))
Derived Hom into the chosen dualizing object.
- oppositeDerived : CategoryTheory.DerivedCategory.OppositeComparison (ModuleCat k)
Comparison between the opposite derived category and the derived category of the opposite module category.
- dualityIso : self.rHomDualizing ≅ self.rGlobalSections.op.comp (ModuleCat.derivedLinearDualShift k self.oppositeDerived (-↑n))
The derived Serre-duality isomorphism.
Instances For
The constructed derived linear-dual functor followed by the dimension shift.
Equations
Instances For
The dualizing object associated to a derived Serre statement is the constructed
canonical complex ω_X[n].
Equations
Instances For
The canonical shift identification attached to every derived Serre statement.
Equations
Instances For
Explicit coherent Serre-duality data relative to a finite-cohomology realization.
extSpace is a linear lift of Mathlib's additive Abelian.Ext group, just as
FiniteCohomology.moduleH is a linear lift of Sheaf.H. The comparison prevents the field
structure from being an unrelated replacement. Perfection is carried by the linear
equivalence duality; it is not asserted as a proposition with no map.
- derived : DerivedStatement K
The derived-category statement from which this realization is intended to be extracted.
A base-field-linear realization of
Ext^j(F, ω_X).- extComparison (F : Coh X) (j : ℕ) : (CategoryTheory.forget₂ (ModuleCat k) AddCommGrpCat).obj (self.extSpace F j) ≅ AddCommGrpCat.of (CategoryTheory.Abelian.Ext F K.canonicalCohObject j)
Forgetting scalars recovers Mathlib's actual Ext group.
The Ext spaces are finite-dimensional.
- duality (F : Coh X) (i : ℕ) (_hi : i ≤ n) : Module.Dual k ↑((D.moduleH i).obj F) ≃ₗ[k] ↑(self.extSpace F (n - i))
Perfect coherent Serre duality in every degree in the geometric range.
Cohomology above the relative dimension vanishes.
Instances For
The coherent cohomology-level Serre-duality equivalence in the geometric range.
Equations
- S.coherentDualityEquiv F i hi = S.duality F i hi
Instances For
The perfect pairing H^i(X,F) × Ext^(n-i)(F,ω_X) → k extracted from duality.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The displayed coherent Serre pairing is perfect in Mathlib's standard sense: both induced maps to the opposite dual space are bijective.
Perfection gives equality of the cohomology and complementary Ext dimensions.
A locally free specialization identifies Ext with the cohomology of
Fᵛ ⊗ ω_X. The dual twist is explicit because the present sheaf API does not yet construct
internal Hom or prove its coherence automatically.
- rank : ℕ
A fixed finite locally free certificate for
F. - locallyFree : F.obj.FiniteLocallyFreeData self.rank
- dualCanonicalTwist : Coh X
The coherent sheaf representing
Fᵛ ⊗ ω_X. Ext^j(F,ω_X)is thejth cohomology of the dual canonical twist.
Instances For
For a finite locally-free sheaf, coherent Serre duality becomes
H^i(X,F)ᵛ ≃ H^(n-i)(X,Fᵛ ⊗ ω_X).
Equations
- L.cohomologyDualityEquiv i hi = (S.coherentDualityEquiv F i hi).trans (L.extToCohomology (n - i))
Instances For
The cohomology dimensions of a locally free sheaf are reflected across the dimension.
The Euler characteristic may be summed exactly through the geometric dimension.
Euler-characteristic symmetry for the locally free specialization:
χ(F) = (-1)^n χ(Fᵛ ⊗ ω_X).
This is the sign convention needed downstream; in dimension two the sign is positive.
On a surface, Serre duality preserves Euler characteristic.
Picard-level Euler symmetry supplied by locally free Serre duality on a surface.
This small interface is the exact #40 output used by geometric surface Riemann--Roch. Its field is a theorem produced by the locally free specialization once line-bundle representatives and their dual canonical twists are identified in the Picard group.
Instances For
Geometric line-bundle representatives realizing the Picard Euler function and their locally free Serre-dual twists.
The geometric relative dimension is two.
- representative : Scheme.Modules.Pic X → Coh X
A coherent representative of each Picard class.
- specialization (L : Scheme.Modules.Pic X) : S.LocallyFreeSpecialization (self.representative L)
Locally free Serre duality for every representative.
- representativeEuler (L : Scheme.Modules.Pic X) : D.eulerCharacteristic (self.representative L) = I.eulerPic L
The representative realizes the intrinsic Picard Euler value.
- dualEuler (L : Scheme.Modules.Pic X) : D.eulerCharacteristic (self.specialization L).dualCanonicalTwist = I.eulerPic (canonicalClass * L⁻¹)
Its dual canonical twist realizes
K_X ⊗ L⁻¹.
Instances For
Locally free Serre duality for the chosen representatives proves Picard Euler symmetry.
The trivial line bundle and the canonical bundle have the same Euler characteristic.
K3 sign check: when the canonical class is trivial, χ(L) = χ(L⁻¹).