Exact families of functors #
Let F : K ⥤ (X ⥤ Y) be a family of functors from X to Y, parametrized
by a triangulated category K. The target functor category carries the
pointwise shift, so the global coherence for such a family is exactly
Mathlib's ordinary F.CommShift ℤ. Its shift isomorphism is already natural
in E : X and already satisfies the zero and addition laws.
Functor.ExactFamily extends that canonical structure by pointwise
triangulatedness. Its mapTriangle construction fixes a triangle in K and
produces the source-natural triangle in Y; pointwise distinguishedness is
then a theorem. Fourier--Mukai kernel families are a principal consumer, but
no kernel vocabulary belongs here.
For an actual bifunctor, Functor.ExactBifunctor is the stronger canonical
root. It uses Mathlib's CommShift₂Int, including the Koszul compatibility
between shifts in the two variables, and asks for triangulatedness in both
slots. Explicit adapters assemble its partial shift comparisons into
ordinary CommShift structures on the two functor-valued families; they are
definitions rather than global instances, so they introduce no instance
diamond.
An exact functor-valued family.
Exactness is checked after evaluation, but all evaluated shift structures are the components of one source-natural family comparison.
- triangulated (E : X) : (F.comp ((evaluation X Y).obj E)).IsTriangulated
Every evaluated functor preserves distinguished triangles.
Instances For
Evaluate an exact family at one source object, with its chosen shift coherence exposed as a definition for local instance installation.
Equations
Instances For
The shift comparison of an exact family, after evaluation, is the
corresponding component of its global CommShift comparison.
The image of a triangle under an exact family, natural in the source object of the functors in the family.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Evaluation of the source-natural image triangle agrees with Mathlib's
ordinary mapTriangle for the evaluated functor.
An exact family sends a distinguished parameter triangle to a triangle which is distinguished at every source object.
The object property of being a distinguished triangle in the target.
Equations
Instances For
A distinguished parameter triangle gives a source-indexed family valued in the full subcategory of distinguished target triangles.
Equations
Instances For
A bifunctor exact in both variables, with one coherent choice of shift comparisons.
The CommShift₂Int parent is stronger than separately choosing a
CommShift instance in each slot: it also records naturality in the other
variable and the Koszul-sign compatibility between shifting the two inputs.
The two triangulatedness fields then say that both partial functors preserve
distinguished triangles.
- comm (X₁ : K) (X₂ : K') (m n : ℤ) : CategoryStruct.comp ((commShiftIso (F.obj ((shiftFunctor K m).obj X₁)) n).hom.app X₂) ((shiftFunctor Y n).map ((commShiftIso (F.flip.obj X₂) m).hom.app X₁)) = CategoryStruct.comp ((commShiftIso (F.flip.obj ((shiftFunctor K' n).obj X₂)) m).hom.app X₁) (CategoryStruct.comp ((shiftFunctor Y m).map ((commShiftIso (F.obj X₁) n).hom.app X₂)) (CategoryStruct.comp (shiftComm ((F.obj X₁).obj X₂) m n).inv ((↑(CommShift₂Setup.int.ε m n)).app ((shiftFunctor Y n).obj ((shiftFunctor Y m).obj ((F.obj X₁).obj X₂))))))
- firstTriangulated (B : K') : (F.flip.obj B).IsTriangulated
Exactness in the first variable, after fixing the second.
- secondTriangulated (A : K) : (F.obj A).IsTriangulated
Exactness in the second variable, after fixing the first.
Instances For
Forget to the exact family obtained by varying the first variable.
Here K is the parameter category and objects of K' index the evaluated
partial functors K ⥤ Y.
Equations
- h.firstFamily = { toCommShift := CategoryTheory.Functor.CommShift₂.firstFamilyCommShift CategoryTheory.CommShift₂Setup.int, triangulated := ⋯ }
Instances For
Forget to the exact family obtained by varying the second variable.
Equations
- h.secondFamily = { toCommShift := CategoryTheory.Functor.CommShift₂.secondFamilyCommShift CategoryTheory.CommShift₂Setup.int, triangulated := ⋯ }
Instances For
The first-variable partial functor with the shift structure selected by the bifunctor root.
Equations
Instances For
The second-variable partial functor with the shift structure selected by the bifunctor root.
Equations
Instances For
Restrict a closed ambient exact bifunctor to a triangulated full subcategory.
The supplied closure witness is retained explicitly. This definition
transports the full CommShift₂Int package (including its Koszul law) through
ObjectProperty.lift₂CommShift₂Int, then uses Mathlib's canonical
triangulatedness of ObjectProperty.lift in each variable. It deliberately
creates no global instance.
Equations
- hG.lift₂ P hP = { toCommShift₂ := P.lift₂CommShift₂Int G hP, firstTriangulated := ⋯, secondTriangulated := ⋯ }