Documentation

DerivedAlgGeo.AlgebraicGeometry.Surface.K3

K3 surfaces #

A K3 surface is a smooth projective surface with trivial canonical bundle and no first cohomology. This file says exactly that, against the objects this repository already has:

The property is separated from the data #

IsK3Surface is Prop-valued and takes the canonical-sheaf package as a parameter. That mirrors Numerical.K3.IsK3, which is Prop-valued over a NumericalVarietyData, and it is forced by the same consideration: CanonicalSheafData is genuine data — its own docstring records that the cotangent object and determinant descent are fields because the scheme-sheaf API does not yet construct them — so bundling it into a predicate would make "being a K3 surface" depend on a choice. K3Surface at the end of the file is the bundle, for callers who want one object.

Why projectivity is a field #

The carrier a smooth proper variety over k already supplies properness, and Variety.isProper_of_isProjective shows projectivity implies it, so the two overlap. They are not interchangeable: projective is strictly stronger, and it is the standard hypothesis in the K3 literature — Bridgeland's math/0307164 says algebraic K3 surface throughout and uses the ample cone from the first construction onwards. The carrier stays SmoothProperVariety because that is what CanonicalSheafData is indexed by; the extra strength goes in the field.

What this file does not do #

Main results #

Triviality of the canonical class #

canonicalClass lands in Pic, whose elements are isomorphism classes with a recorded tensor inverse. Equality with 1 is therefore a statement about classes; this section says it is equivalent to the sheaf-level isomorphism, so that neither formulation has to be preferred downstream.

Trivial canonical class means a trivial canonical sheaf.

The forward direction is the useful one: canonicalClass = 1 is an equation in a group and is what composes with the rest of the Picard API, while ω_X ≅ O_X is what a geometric argument actually consumes. Stated for a CanonicalSheafData in any dimension; nothing about surfaces enters.

The definition #

A K3 surface: a smooth projective surface with trivial canonical bundle and vanishing first cohomology.

Prop-valued over a chosen CanonicalSheafData k X 2; see the module docstring for why the data is a parameter rather than a field, and why projectivity is a field rather than an instance on the carrier.

Instances

    The canonical sheaf of a K3 surface is isomorphic to its structure sheaf.

    The anticanonical class of a K3 surface is trivial.

    No bundled object #

    A caller that wants "let X be a K3 surface" writes (X : Scheme) [X.Over (Spec k)] [IsSmoothProperVariety k X] (C : CanonicalSheafData k X 2) [IsK3Surface k X C], exactly as Mathlib writes "let X be a proper scheme over S". The former a K3 surface over k structure bundled those four things and is gone; its derived statements were IsK3Surface.<name> with the package implicit, and IsK3Surface is where they live.

    A K3 surface is projective. Not an instance: the canonical package C witnessing IsK3Surface is not determined by the conclusion, so a caller supplies it.