Documentation

DerivedAlgGeo.AlgebraicGeometry.DerivedCategory.FourierMukai.KernelUnit

The unit kernel 𝒪_Δ: the third ledger #

Symmetry/Autoequivalence/FourierMukai.lean defines UnitKernelData — a kernel presenting the identity functor as a transform — and until now nothing geometric could discharge it: the classical unit kernel is 𝒪_Δ = Rδ_* 𝒪_X along the diagonal δ : X ⟶ X ×_S X, and neither 𝒪_X nor anything about δ was named.

This file is the ledger for it, in the same shape as the two kernel ledgers:

Where the diagonal geometry lives #

Classically every input below is a theorem about the diagonal of a product: δ ≫ p = 𝟙 = δ ≫ q are the defining triangle identities, pullback and pushforward along a retraction compose to the identity by functoriality, and − ⊗ 𝒪 is the identity because 𝒪 is the monoidal unit. The tensor unit and unitor now come from one structure whose triangle law is explicit. The two retraction classes carry their triangle identity as a comm guard — deliberately not consumed by the derivation, which uses iso alone; the guard is what makes iso the right thing to ask for.

What this file does not assert #

Compatibility record for a raw tensor bifunctor with a chosen left unit.

New stable unit and convolution APIs require HasCoherentDerivedTensor, where this unit and both unitors belong to the same monoidal structure as the associator, pentagon, and triangle.

Instances
    @[implicit_reducible]

    Forget the coherent root to the old selected-unit capability.

    This supports raw intermediate callers without allowing a selected unit to synthesize monoidal coherence.

    Equations
    • One or more equations did not get rendered due to their size.

    Derived pullback along a section collapses, supplied.

    For a section-retraction pair δ ≫ p = 𝟙, the composite of the two derived pullbacks is the identity. The equation is a guard: the derivation consumes iso alone, and comm is what makes it the right isomorphism to ask for.

    Instances

      Derived pushforward along a section collapses, supplied.

      The pushforward companion: for δ ≫ q = 𝟙, pushing forward along the section and then the retraction is the identity. Guard as above.

      Instances

        The unit kernel, 𝒪_Δ — a definition, not supplied data.

        Rδ_* applied to the tensor unit. The classical 𝒪_Δ, built from functors the ledgers already name.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          The transform of the unit kernel is the identity — derived.

          The chain is the classical argument, four steps, each naming its input:

          steprewritesinput
          1(⊗ 𝒪_Δ) → δ^* ⋙ (⊗𝒪) ⋙ δ_*HasProjectionFormulaRight at δ
          2(⊗𝒪) deletedHasCoherentDerivedTensor left unitor
          3δ_* ⋙ q_* deletedHasPushforwardRetraction
          4p^* ⋙ δ^* → 𝟭HasPullbackRetraction

          Written in the same style as geometricCompIso: every intermediate functor and every step is let-bound with a fully ascribed type.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            The geometric unit kernel data, assembled — with no supplied fields.

            A UnitKernelData for the geometric correspondence of X with itself, with unitKernel the constructed diagonalKernel and unitIso the derived geometricUnitIso. Together with KernelAutoequivalence.id this makes the identity a kernel autoequivalence, geometrically, conditional on the four named inputs.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              What the three ledgers together leave #

              The unit side of the autoequivalence story is now: a caller who discharges the first ledger's contracts at p, q, δ plus HasProjectionFormulaRight at δ, HasCoherentDerivedTensor, and the two retraction classes gets KernelAutoequivalence.id with a geometric kernel. Still absent, and named absences rather than ledgers: DualKernel (needs derived duals and a dualizing complex) and the unit's compatibility with convolution (needs ConvolutionData for the self-correspondence and a comparison of convKernel with diagonalKernel).