Coherent derived tensor products #
HasDerivedTensor is the bare capability of Tensor/BoundedCoherent.lean: a bifunctor
exact in both variables. Consumers that rebracket or unitalize need more. In
particular, independently choosing an associator and two unitors does not say that
different routes through a fourfold tensor product agree.
HasCoherentDerivedTensor is the stable root for those consumers. It packages the
tensor as a Mathlib MonoidalCategory, so naturality, the pentagon, and the triangle are
fields of one structure rather than unrelated theorem-specific capabilities. Its
ExactBifunctor field retains the complete two-slot exactness and Koszul shift coherence
used by Fourier--Mukai transforms and kernel variation.
The instance below is the one-way migration adapter
HasCoherentDerivedTensor -> HasDerivedTensor.
There is intentionally no adapter in the other direction: a raw bifunctor is not promoted to coherent data. Raw instances remain useful for intermediate realizations that only construct a single transform, but public convolution, associativity, and unit APIs require this coherent root.
Still a supplied capability #
Coherence is more to supply, not less. Nothing here inhabits either class, and
extending MonoidalCategory does not make Dᵇ(Coh Z) closed under derived tensor; on a
singular Z it is not. A caller instantiating HasCoherentDerivedTensor asserts the
closure and the coherence together.
Placement #
MO1.10 (#1321) extracted this file's contents from
DerivedCategory/FourierMukai/DerivedTensorCoherence.lean, splitting the relative tier --
strong monoidality of derived pullback along a morphism -- into Tensor/Relative.lean.
Per the cutover ledger's standing decision that paths move and namespaces do not, the
declarations keep the AlgebraicGeometry.DerivedCategory.FourierMukai namespace they
were introduced with.
References #
docs/architecture/cutover-ledger.md, row 10.
A derived tensor product together with its complete monoidal coherence.
Extending MonoidalCategory makes functoriality, associator and unitor
naturality, the pentagon, and the triangle part of the same root structure.
The remaining field records exactness and compatible shifts of the complete
tensor bifunctor.
- whiskerLeft (X : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)) {Y₁ Y₂ : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)} (f : Y₁ ⟶ Y₂) : tensorObj X Y₁ ⟶ tensorObj X Y₂
- whiskerRight {X₁ X₂ : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)} (f : X₁ ⟶ X₂) (Y : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)) : tensorObj X₁ Y ⟶ tensorObj X₂ Y
- associator (X Y Z : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)) : tensorObj (tensorObj X Y) Z ≅ tensorObj X (tensorObj Y Z)
- tensorHom_def {X₁ Y₁ X₂ Y₂ : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)} (f : X₁ ⟶ Y₁) (g : X₂ ⟶ Y₂) : tensorHom f g = CategoryStruct.comp (whiskerRight f X₂) (whiskerLeft Y₁ g)
- id_tensorHom_id (X₁ X₂ : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)) : tensorHom (CategoryStruct.id X₁) (CategoryStruct.id X₂) = CategoryStruct.id (tensorObj X₁ X₂)
- tensorHom_comp_tensorHom {X₁ Y₁ Z₁ X₂ Y₂ Z₂ : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)} (f₁ : X₁ ⟶ Y₁) (f₂ : X₂ ⟶ Y₂) (g₁ : Y₁ ⟶ Z₁) (g₂ : Y₂ ⟶ Z₂) : CategoryStruct.comp (tensorHom f₁ f₂) (tensorHom g₁ g₂) = tensorHom (CategoryStruct.comp f₁ g₁) (CategoryStruct.comp f₂ g₂)
- associator_naturality {X₁ X₂ X₃ Y₁ Y₂ Y₃ : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)} (f₁ : X₁ ⟶ Y₁) (f₂ : X₂ ⟶ Y₂) (f₃ : X₃ ⟶ Y₃) : CategoryStruct.comp (tensorHom (tensorHom f₁ f₂) f₃) (associator Y₁ Y₂ Y₃).hom = CategoryStruct.comp (associator X₁ X₂ X₃).hom (tensorHom f₁ (tensorHom f₂ f₃))
- leftUnitor_naturality {X Y : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)} (f : X ⟶ Y) : CategoryStruct.comp (whiskerLeft (tensorUnit (AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z))) f) (leftUnitor Y).hom = CategoryStruct.comp (leftUnitor X).hom f
- rightUnitor_naturality {X Y : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)} (f : X ⟶ Y) : CategoryStruct.comp (whiskerRight f (tensorUnit (AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)))) (rightUnitor Y).hom = CategoryStruct.comp (rightUnitor X).hom f
- pentagon (W X Y Z : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)) : CategoryStruct.comp (whiskerRight (associator W X Y).hom Z) (CategoryStruct.comp (associator W (tensorObj X Y) Z).hom (whiskerLeft W (associator X Y Z).hom)) = CategoryStruct.comp (associator (tensorObj W X) Y Z).hom (associator W X (tensorObj Y Z)).hom
- triangle (X Y : AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z)) : CategoryStruct.comp (associator X (tensorUnit (AlgebraicGeometry.DerivedCategory.SchemeBoundedCoherentDerivedCategory (Over.left Z))) Y).hom (whiskerLeft X (leftUnitor Y).hom) = whiskerRight (rightUnitor X).hom Y
- exact : (CategoryTheory.MonoidalCategory.curriedTensor (SchemeBoundedCoherentDerivedCategory (CategoryTheory.Over.left Z))).ExactBifunctor
Exactness and coherent shifts of tensor in both variables.
Instances
The exact-bifunctor witness carried by coherent derived tensor.
Equations
Instances For
Legacy projection: additivity of each left tensor twist.
Legacy projection: shift coherence of each left tensor twist.
Equations
Instances For
Legacy projection: triangulatedness of each left tensor twist.
Forget coherence when a consumer only needs the raw tensor bifunctor.
This is deliberately one-way: no raw HasDerivedTensor is upgraded to a
coherent tensor product.
Equations
- One or more equations did not get rendered due to their size.
The coherent associator in the orientation used by the kernel ledgers:
A ⊗ (B ⊗ -) ≅ (A ⊗ B) ⊗ -.
Equations
Instances For
The tensor unit selected by the coherent root.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The coherent left unitor as an isomorphism of twist functors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The coherent right unitor as an isomorphism of twist functors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The pentagon law exposed at the derived-tensor root.
The triangle law exposed at the derived-tensor root.
A coherent geometric derived tensor realizes the generic compatibility
interface between monoidal and triangulated structure from
CategoryTheory/Monoidal/Triangulated.lean. The instance lives with the
geometric object it is about, as Abelian (ModuleCat R) lives with
ModuleCat, rather than in an instance leaf below the categorical source.
Equations
- One or more equations did not get rendered due to their size.