Documentation

DerivedAlgGeo.AlgebraicGeometry.DerivedCategory.FourierMukai.KernelSwap

The swap of an endocorrespondence, and a geometric dual kernel #

KernelDualizingTwist.lean produces a RightAdjointKernelData whose opposite is the reversed correspondence geometricCorrespondence X X Z q p. KernelAutoequivalence.DualKernel needs the same correspondence on both sides, and for p ≠ q those are different values. That mismatch — not any remaining duality — is all that stood between the previous file and a dual kernel.

This file closes it. Classically Z = X × X and the missing ingredient is the swap σ exchanging the two factors, under which the reversed correspondence becomes the original one and the kernel is carried along.

The derivation, and why the kernel is Rσ_*Q rather than σ^*Q #

With q = σ ≫ p and p = σ ≫ q, pullback is contravariant and pushforward covariant, so Lq^* ≅ Lp^* ⋙ Lσ^* and Rp_* ≅ Rσ_* ⋙ Rq_*. Substituting both into the reversed transform leaves

Lp^* ⋙ [ Lσ^* ⋙ (Q ⊗ −) ⋙ Rσ_* ] ⋙ Rq_*

and the bracket is exactly the right-slot projection formula at σ, which collapses it to (Rσ_* Q) ⊗ −. So the transported kernel is Rσ_* Q.

The classical statement uses σ^* Q, and the two agree because σ is an involution isomorphism. That hypothesis is not assumed here: nothing in the derivation needs σ invertible, and asking for it would be an unconsumed hypothesis. Rσ_* is what the projection formula hands back, so Rσ_* is what the kernel is written with.

The three inputs #

The guards follow HasPullbackRetraction and HasPushforwardRetraction: the composition identity is carried but not consumed, and the iso field is what the derivation uses. The guard is what makes iso the right thing to ask for.

Neither swap class is reduced to boundedCoherentDerivedPullbackComp, for the reason KernelConvolution.lean already gives about a different pair: that isomorphism is stated at the literal f ≫ g, so bridging it to q would need eqToHom transport across compound terms.

What comes out #

geometricDualAdjointKernelData is a RightAdjointKernelData for the geometric correspondence against itself, so DualKernel.ofRightAdjointKernel applies. geometricDualKernel is the result: a DualKernel for a kernel autoequivalence built on the geometric correspondence, with dual kernel

Rσ_*(K^∨ ⊗ ω_q)

— the classical P^∨ ⊗ p^*ω_X[dim X], assembled entirely from named contracts.

What this file does not assert #

Pullback along the swap, supplied.

Lq^* ≅ Lp^* ⋙ Lσ^* for σ ≫ p = q. The composition identity is a guard: the derivation uses iso alone, and the guard is what makes iso the right thing to ask for.

Instances

    Pushforward along the swap, supplied.

    Rp_* ≅ Rσ_* ⋙ Rq_* for σ ≫ q = p. Guard as above.

    Instances

      The reversed transform is the original one with the swapped kernel.

      The content of this file. Substitute the two swap comparisons into (geometricCorrespondence X X Z q p).transform Q, and the middle three factors Lσ^* ⋙ (Q ⊗ −) ⋙ Rσ_* are exactly the right-slot projection formula at σ, which collapses them to the twist by Rσ_* Q.

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

        The geometric dual kernel object: Rσ_*(K^∨ ⊗ ω_q).

        The classical P^∨ ⊗ p^*ω_X[dim X], with ω_q carrying the dualizing twist and Rσ_* the exchange of the two factors. Every ingredient is a def, not a supplied field.

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

          A right adjoint kernel against the same correspondence.

          The previous ledger's datum, transported along the swap. Its opposite correspondence is now geometricCorrespondence X X Z p q itself, which is what DualKernel requires.

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

            A kernel autoequivalence on the geometric correspondence, from a supplied equivalence.

            The equivalence and its comparison isomorphism are arguments, exactly as in KernelAutoequivalence itself. That a geometric Fourier--Mukai transform is an equivalence is the classical theorem this lane is conditional on, and nothing here approaches it. The point of naming this is that its corr and kernel are the geometric ones definitionally, so the dual kernel below typechecks against it.

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

              A geometric dual kernel.

              The end of the arc. DualKernel.ofRightAdjointKernel at the swapped datum: the quasi-inverse of the supplied equivalence is the transform of the same correspondence with kernel Rσ_*(K^∨ ⊗ ω_q) — the classical P^∨ ⊗ p^*ω_X[dim X] — and every step from the three constituent adjunctions onward is derived rather than supplied.

              What is still supplied is the equivalence itself, and the geometric contracts. Nothing here constructs either.

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

                The equivalence, no longer supplied #

                geometricKernelAutoequivalence above takes the equivalence as an argument. This does not: given that the assembled adjunction's unit and counit are invertible, KernelAutoequivalence.ofRightAdjointKernel builds the equivalence, and the dual kernel comes with it at no further cost.

                The invertibility is still an assumption — it is the second half of the layer-3 work, and classically it is the Bondal--Orlov criterion. What has changed is its shape: it is pointwise and checkable, and its two halves are full faithfulness and essential surjectivity, which is what a geometric criterion would deliver. Nothing here supplies it.

                @[reducible]

                A geometric kernel autoequivalence with no supplied equivalence.

                Everything is now the ledger plus the invertibility of one adjunction's unit and counit. Compare geometricKernelAutoequivalence, which takes an equivalence and a comparison isomorphism outright.

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

                  Its dual kernel, for free.

                  toEquivalence's inverse is the adjunction's right adjoint definitionally, so invIso is Iso.refl — the same datum that produced the equivalence produces the dual kernel, with no trip through rightAdjointUniq. The dual is Rσ_*(K^∨ ⊗ ω_q), as before.

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