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 #
HasPullbackSwap σ p q—Lq^* ≅ Lp^* ⋙ Lσ^*, withσ ≫ p = qas a guard;HasPushforwardSwap σ p q—Rp_* ≅ Rσ_* ⋙ Rq_*, withσ ≫ q = pas a guard;HasProjectionFormulaRight σ— an existing class, consumed here at a further site.
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 #
- Nothing constructs a
HasPullbackSwapor aHasPushforwardSwap, and no morphism is shown to admit one. Inhabitant-free, like every ledger below it. - Nothing identifies
ZwithX × Xorσwith an actual factor exchange; the classes are stated at an arbitraryσ : Z ⟶ Zwith the guards making the intended instantiation precise. σis not assumed invertible, an involution, or an isomorphism, andRσ_* ≅ σ^*is not claimed.- No criterion for the equivalence.
geometricKernelAutoequivalencetakes the equivalence and its comparison isomorphism as arguments.geometricKernelAutoequivalenceOfAdjointdoes not — it derives both from the invertibility of one adjunction's unit and counit — but that invertibility is itself assumed, and nothing here establishes it. Classically it is the Bondal--Orlov criterion, which needs geometry this repository does not have. So a transform is still never shown to be an equivalence; what changed is only the shape of the assumption. - No Serre duality, no smoothness, no properness, no relative dimension.
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.
The composition identity. A guard, not consumed.
- iso : Families.SchemeBaseChange.boundedCoherentDerivedPullback q ≅ (Families.SchemeBaseChange.boundedCoherentDerivedPullback p).comp (Families.SchemeBaseChange.boundedCoherentDerivedPullback σ)
Pullback along
qis pullback alongpfollowed by pullback alongσ.
Instances
Pushforward along the swap, supplied.
Rp_* ≅ Rσ_* ⋙ Rq_* for σ ≫ q = p. Guard as above.
The composition identity. A guard, not consumed.
Pushforward along
pis pushforward alongσfollowed by alongq.
Instances
The pullback swap comparison, named.
Equations
Instances For
The pushforward swap comparison, named.
Equations
Instances For
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
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.
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
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.