Convolution of Fourier--Mukai kernels #
Geometrically, for P ∈ D(X × Y) and Q ∈ D(Y × Z) the composite
Φ_Q ∘ Φ_P is again a Fourier--Mukai transform, with kernel the convolution
Q ∗ P = Rπ_{XZ*}(π_{XY}^* P ⊗^L π_{YZ}^* Q) ∈ D(X × Z)
which is the classical composition law. Proving it from the three-projection
description
needs the projection formula and flat base change on a triple product, none of
which the abstract Correspondence of FourierMukai.Basic carries.
So convolution enters here as supplied data, not as a theorem. A
ConvolutionData names a kernel-level operation together with the family of
isomorphisms that Prop. 5.10 asserts, for three correspondences that share
their outer categories in the pattern 𝒳 → 𝒴 → 𝒵. What this file then proves
are the consequences: that kernel functors are closed under composition, and
that convolution is well behaved under isomorphism of either kernel.
This is the same division of labour as
StabilityCondition.Families.Basic, where the geometric tests are supplied by
a caller and the file proves what follows from them. The value is that a
later geometric realization has one named obligation to discharge rather than
an implicit one, and that everything downstream of Prop. 5.10 is already
available once it is. For endocorrespondences whose kernels genuinely form a
monoidal category, CoherentConvolutionData is the stable root: it makes the
operation functorial and packages its associator, unitors, pentagon, and
triangle together. It forgets one-way to ConvolutionData.
What this file does not assert #
- Nothing constructs a
ConvolutionDataorCoherentConvolutionData, and no example is exhibited. That is not an omission for want of trying:compIsois required to hold uniformly inQ, so the cheap degenerate constructions — fold the middle transform intoC₃.push, or takeconv P Q = P— all fail, because they produce aC₃whose transform has one fixedQbaked into it and so cannot meet the requirement for any other. The uniformity is what gives the structure content, and discharging it is a geometric obligation. - The legacy
ConvolutionData.convis a bare function𝒲₁ → 𝒲₂ → 𝒲₃, not a functor. It is not assumed to be additive, exact, or even to send isomorphic kernels to isomorphic kernels — only to send them to kernels with isomorphic transforms, which is whattransformMapConvIsoproves and is strictly weaker. - Associativity of convolution splits. At the transform level it is a
theorem,
convolutionTransformAssoc, derived from the fourcompIsofamilies alone — no new input. At the kernel level it isConvolutionAssocData, a second layer of supplied data: recovering the kernel-level isomorphism from the transform-level one would need a kernel to be determined by its transform (Orlov uniqueness), which is not available here. No result here depends on the kernel-level layer, and nothing constructs it.CoherentConvolutionDatais the stronger alternative when a caller can supply the full monoidal kernel structure. - Triangulatedness does not transport across
compIso. MovingIsTriangulatedalong a natural isomorphism needs that isomorphism to commute with the shift (NatTrans.CommShift), which is an extra hypothesis on the supplied data rather than a consequence of it. - No kernel is claimed to be determined by its transform, so
convis not claimed to be the unique operation satisfyingcompIso.
Convolution data for three correspondences arranged as 𝒳 → 𝒴 → 𝒵.
conv is the kernel-level operation and compIso is the classical
composition law for it: composing the transform with kernel P and the
transform with kernel
Q gives the transform with kernel conv P Q. Both are supplied; neither is
derived.
- conv : 𝒲₁ → 𝒲₂ → 𝒲₃
The convolution of two kernels.
Prop. 5.10: the composite of the two transforms is the transform of the convolved kernel.
Instances For
Coherent convolution for endocorrespondences.
Unlike ConvolutionData, whose kernel operation is a bare function, this
root carries an explicit Mathlib MonoidalCategory presentation of the
kernel category. Consequently the associator, both unitors, their naturality,
the pentagon, and the triangle are one inseparable datum. The presentation is
an explicit field rather than a global instance, so two convolution
presentations on the same kernel category can coexist.
toConvolutionData below is the one-way compatibility map to the older,
law-free interface.
- monoidal : MonoidalCategory 𝒲₁
The complete monoidal structure underlying kernel convolution.
- compIso (P Q : 𝒲₁) : (C.transform P).comp (C.transform Q) ≅ C.transform (MonoidalCategoryStruct.tensorObj P Q)
Composition of transforms agrees with monoidal convolution.
Instances For
Kernel convolution selected by a coherent presentation.
Equations
Instances For
The coherent convolution unit.
Equations
Instances For
The convolution associator, derived from the coherent root.
Equations
- D.assocIso P Q R = CategoryTheory.MonoidalCategoryStruct.associator P Q R
Instances For
The left convolution unitor, derived from the coherent root.
Equations
Instances For
The right convolution unitor, derived from the coherent root.
Equations
Instances For
The pentagon proposition for a coherent convolution presentation.
Equations
- D.Pentagon P Q R T = CategoryTheory.MonoidalCategory.Pentagon P Q R T
Instances For
Every coherent convolution presentation satisfies the pentagon.
The triangle proposition for a coherent convolution presentation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every coherent convolution presentation satisfies the triangle.
Forget coherent convolution to the legacy operation-and-comparison interface. No adapter exists in the opposite direction.
Equations
- D.toConvolutionData = { conv := CategoryTheory.MonoidalCategoryStruct.tensorObj, compIso := D.compIso }
Instances For
The composite of two transforms is a kernel functor for the third correspondence, witnessed by the convolved kernel.
Kernel functors are closed under composition. This is the reason to name
ConvolutionData at all: the property of being of Fourier--Mukai type,
rather than any particular transform, is what composes.
Isomorphic kernels convolve to kernels with isomorphic transforms.
This is weaker than conv P Q ≅ conv P' Q', and deliberately so: recovering
that would need a kernel to be determined by its transform, which is Orlov's
uniqueness statement and is not available here.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Convolving with isomorphisms that are both the identity leaves the transform alone.
Associativity of convolution at the transform level — a theorem, not data.
For three composable correspondences with convolution data for both
bracketings landing in a common outer correspondence, the transforms of the
two associated kernels are isomorphic: each side is isomorphic to
Φ_P ⋙ Φ_Q ⋙ Φ_R by Prop. 5.10 twice. No input beyond the four compIso
families is consumed.
What this does not give is an isomorphism of the kernels themselves; that
is ConvolutionAssocData, and the gap between the two is genuine — see its
docstring.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Associativity of convolution at the kernel level — supplied data.
An isomorphism (P ∗ Q) ∗ R ≅ P ∗ (Q ∗ R) between the two bracketings, in
the kernel category of the common outer correspondence.
Strictly stronger than convolutionTransformAssoc, and the gap is Orlov's
uniqueness statement: the transforms of the two kernels are always isomorphic
(the theorem above), but recovering an isomorphism of the kernels from an
isomorphism of their transforms needs a kernel to be determined by its
transform, which nothing in this repository provides.
Geometrically the classical proof works on the quadruple product, by the same projection-formula and base-change arguments that derive Prop. 5.10 on the triple product. That derivation is the geometric ledger's future work, and this structure is the layer it would discharge. Nothing here constructs one, and no result in this file depends on it.
The two bracketings of three kernels agree at the kernel level.
Instances For
The left unit law at the transform level — a theorem, not data.
Given convolution data composing a self-correspondence with C₂, and a
kernel presenting the identity as a transform of the self-correspondence, the
transform of conv U P is the transform of P. Free from compIso and the
unit witness; no constraint on the outer correspondence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The right unit law at the transform level — a theorem, not data.
The mirror of convolutionTransformUnitLeft.
Equations
- CategoryTheory.Triangulated.FourierMukai.convolutionTransformUnitRight D U unitIso P = (D.compIso P U).symm ≪≫ (C₂.transform P).isoWhiskerLeft unitIso.symm ≪≫ (C₂.transform P).rightUnitor
Instances For
The left unit law at the kernel level — supplied data.
conv U P ≅ P for a convolution datum whose outer correspondence is C₂.
Strictly stronger than convolutionTransformUnitLeft for the same Orlov gap
as ConvolutionAssocData: the transforms are always isomorphic, but
recovering an isomorphism of kernels needs a kernel to be determined by its
transform. Nothing here constructs one, and no result depends on it.
Convolving with the unit kernel on the left is the identity.
Instances For
The right unit law at the kernel level — supplied data.
The mirror of ConvolutionLeftUnitData; same gap, same caveats.
Convolving with the unit kernel on the right is the identity.
Instances For
Forget coherent convolution to the legacy kernel associativity layer.
Equations
- D.toConvolutionAssocData = { assocIso := D.assocIso }
Instances For
Forget coherent convolution to the legacy left-unit layer.
Equations
- D.toConvolutionLeftUnitData = { leftUnitIso := D.leftUnitIso }
Instances For
Forget coherent convolution to the legacy right-unit layer.
Equations
- D.toConvolutionRightUnitData = { rightUnitIso := D.rightUnitIso }