The relative derived tensor input: pullback compatibility #
The relative tier of the Tensor/ owner. Tensor/BoundedCoherent.lean and
Tensor/Coherent.lean both speak about a single scheme base change; this file is about a
morphism of them, and records how a coherent derived tensor on the source relates to
one on the target across derived pullback.
HasMonoidalDerivedPullback f is that record. It extends Mathlib's Functor.Monoidal,
which includes the tensorator and unit comparison, their naturality, associativity and
unitality laws, and proofs that the lax and oplax maps are inverse. Tensor and unit
compatibility therefore cannot be selected independently at each theorem site.
Still a supplied capability #
Like the tiers it builds on, this file inhabits nothing. Strong monoidality of derived
pullback is a theorem about a morphism of schemes that this repository does not prove, and
HasMonoidalDerivedPullback is where a caller discharges it. Arbitrary derived pullback
itself remains SF8 #554's obligation; this class consumes the existing
HasCoherentPullback contract rather than restating it.
Placement #
MO1.10 (#1321) extracted this file's contents from
DerivedCategory/FourierMukai/DerivedTensorCoherence.lean. Separating it from
Tensor/Coherent.lean is the ledger's requirement that the unbounded, bounded-coherent
and relative inputs be distinguishable: a consumer needing only the absolute coherent
tensor imports Tensor/Coherent.lean and never mentions a morphism. 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.
Derived pullback as a strong monoidal functor.
Mathlib's Functor.Monoidal root includes the tensorator and unit comparison,
their naturality, associativity and unitality laws, and proofs that the lax and
oplax maps are inverse. Thus tensor and unit compatibility cannot be selected
independently at each theorem site.
- μ (X Y : U.BoundedCoherentDerivedFiber) : MonoidalCategoryStruct.tensorObj ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj Y) ⟶ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj (MonoidalCategoryStruct.tensorObj X Y)
- μ_natural_left {X Y : U.BoundedCoherentDerivedFiber} (f : X ⟶ Y) (X' : U.BoundedCoherentDerivedFiber) : CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map f) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X')) (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) Y X') = CategoryStruct.comp (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X X') ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.whiskerRight f X'))
- μ_natural_right {X Y : U.BoundedCoherentDerivedFiber} (X' : U.BoundedCoherentDerivedFiber) (f : X ⟶ Y) : CategoryStruct.comp (MonoidalCategoryStruct.whiskerLeft ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X') ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map f)) (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X' Y) = CategoryStruct.comp (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X' X) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.whiskerLeft X' f))
- associativity (X Y Z : U.BoundedCoherentDerivedFiber) : CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X Y) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj Z)) (CategoryStruct.comp (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) (MonoidalCategoryStruct.tensorObj X Y) Z) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.associator X Y Z).hom)) = CategoryStruct.comp (MonoidalCategoryStruct.associator ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj Y) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj Z)).hom (CategoryStruct.comp (MonoidalCategoryStruct.whiskerLeft ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X) (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) Y Z)) (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X (MonoidalCategoryStruct.tensorObj Y Z)))
- left_unitality (X : U.BoundedCoherentDerivedFiber) : (MonoidalCategoryStruct.leftUnitor ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X)).hom = CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight (ε (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f)) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X)) (CategoryStruct.comp (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) (MonoidalCategoryStruct.tensorUnit U.BoundedCoherentDerivedFiber) X) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.leftUnitor X).hom))
- right_unitality (X : U.BoundedCoherentDerivedFiber) : (MonoidalCategoryStruct.rightUnitor ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X)).hom = CategoryStruct.comp (MonoidalCategoryStruct.whiskerLeft ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X) (ε (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f))) (CategoryStruct.comp (μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X (MonoidalCategoryStruct.tensorUnit U.BoundedCoherentDerivedFiber)) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.rightUnitor X).hom))
- δ (X Y : U.BoundedCoherentDerivedFiber) : (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj (MonoidalCategoryStruct.tensorObj X Y) ⟶ MonoidalCategoryStruct.tensorObj ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj Y)
- δ_natural_left {X Y : U.BoundedCoherentDerivedFiber} (f : X ⟶ Y) (X' : U.BoundedCoherentDerivedFiber) : CategoryStruct.comp (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X X') (MonoidalCategoryStruct.whiskerRight ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map f) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X')) = CategoryStruct.comp ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.whiskerRight f X')) (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) Y X')
- δ_natural_right {X Y : U.BoundedCoherentDerivedFiber} (X' : U.BoundedCoherentDerivedFiber) (f : X ⟶ Y) : CategoryStruct.comp (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X' X) (MonoidalCategoryStruct.whiskerLeft ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X') ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map f)) = CategoryStruct.comp ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.whiskerLeft X' f)) (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X' Y)
- oplax_associativity (X Y Z : U.BoundedCoherentDerivedFiber) : CategoryStruct.comp (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) (MonoidalCategoryStruct.tensorObj X Y) Z) (CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X Y) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj Z)) (MonoidalCategoryStruct.associator ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj Y) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj Z)).hom) = CategoryStruct.comp ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.associator X Y Z).hom) (CategoryStruct.comp (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X (MonoidalCategoryStruct.tensorObj Y Z)) (MonoidalCategoryStruct.whiskerLeft ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X) (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) Y Z)))
- oplax_left_unitality (X : U.BoundedCoherentDerivedFiber) : (MonoidalCategoryStruct.leftUnitor ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X)).inv = CategoryStruct.comp ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.leftUnitor X).inv) (CategoryStruct.comp (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) (MonoidalCategoryStruct.tensorUnit U.BoundedCoherentDerivedFiber) X) (MonoidalCategoryStruct.whiskerRight (η (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f)) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X)))
- oplax_right_unitality (X : U.BoundedCoherentDerivedFiber) : (MonoidalCategoryStruct.rightUnitor ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X)).inv = CategoryStruct.comp ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).map (MonoidalCategoryStruct.rightUnitor X).inv) (CategoryStruct.comp (δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X (MonoidalCategoryStruct.tensorUnit U.BoundedCoherentDerivedFiber)) (MonoidalCategoryStruct.whiskerLeft ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X) (η (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f))))
- ε_η : CategoryStruct.comp (LaxMonoidal.ε (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f)) (OplaxMonoidal.η (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f)) = CategoryStruct.id (MonoidalCategoryStruct.tensorUnit T.BoundedCoherentDerivedFiber)
- η_ε : CategoryStruct.comp (OplaxMonoidal.η (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f)) (LaxMonoidal.ε (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f)) = CategoryStruct.id ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj (MonoidalCategoryStruct.tensorUnit U.BoundedCoherentDerivedFiber))
- μ_δ (X Y : U.BoundedCoherentDerivedFiber) : CategoryStruct.comp (LaxMonoidal.μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X Y) (OplaxMonoidal.δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X Y) = CategoryStruct.id (MonoidalCategoryStruct.tensorObj ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj X) ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj Y))
- δ_μ (X Y : U.BoundedCoherentDerivedFiber) : CategoryStruct.comp (OplaxMonoidal.δ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X Y) (LaxMonoidal.μ (AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f) X Y) = CategoryStruct.id ((AlgebraicGeometry.DerivedCategory.Families.SchemeBaseChange.boundedCoherentDerivedPullback f).obj (MonoidalCategoryStruct.tensorObj X Y))
Instances
Strong monoidality in the orientation consumed by the kernel ledgers:
f*(K ⊗ -) ≅ f*K ⊗ f*(-).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The pullback of the source unit acts as a left unit, derived from the strong monoidal unit comparison and the target left unitor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The pullback of the source unit acts as a right unit, derived from the strong monoidal unit comparison and the target right unitor.
Equations
- One or more equations did not get rendered due to their size.