Transporting H⁰ dg functors through ordinary equivalences #
For a dg functor F : C ⟶ D and ordinary equivalences H⁰ C ≌ X and
H⁰ D ≌ Y, this file packages the conjugate functor
X ⥤ H⁰ C ⥤ H⁰ D ⥤ Y
using Mathlib's existing CommShift, triangulated-functor, and equivalence
interfaces. The source inverse shift comparison is derived from the supplied
forward comparison by Equivalence.commShiftInverse; no duplicate transport
or exactness structure is introduced.
The transport constructor assumes only that F.h0 is an equivalence. It does
not infer one from a dg quasi-equivalence, and its exactness declarations
require the endpoint equivalences to be supplied as triangulated.
Without endpoint equivalences, DGFunctor.isTriangulated_h0_asEquivalence says
that H⁰ F is a triangulated equivalence whenever it is an equivalence, and
DGFunctor.isTriangulated_h0Equivalence specializes it to the equivalence
DGFunctor.h0Equivalence that a dg quasi-equivalence induces (which is why this
file imports QuasiEquivalence.lean). Both reduce, through Mathlib's
Equivalence.IsTriangulated.mk', to exactness of the forward functor,
DGFunctor.h0IsTriangulated.
The ordinary functor obtained by passing a dg functor to H⁰ and changing
source and target along supplied category equivalences.
Instances For
Equivalence of F.h0 makes its ordinary transport an equivalence.
The ordinary equivalence obtained by transporting an equivalence F.h0
through the supplied endpoint equivalences.
Equations
- F.transportedH0Equivalence eC eD hF = (eC.symm.trans F.h0.asEquivalence).trans eD
Instances For
The coherent shift comparison on the ordinary transport of H⁰ F.
The source inverse comparison is Mathlib's mate of the supplied forward comparison. The remaining structure is inherited by functor composition.
Equations
Instances For
The ordinary transport of every dg functor between pretriangulated dg categories is triangulated when the endpoint equivalences are triangulated.
The transported equivalence is a triangulated equivalence under the same endpoint hypotheses. Its inverse comparison and exactness are Mathlib's canonical mates of the forward package.
A dg functor whose H⁰ is an equivalence induces a triangulated
equivalence. Functor.asEquivalence of H⁰ F is a triangulated equivalence
in Mathlib's sense Equivalence.IsTriangulated: the forward shift comparison is
the explicit h0CommShift, and the inverse comparison and the triangulated
inverse are Mathlib's canonical mates (Equivalence.commShiftInverse,
Equivalence.IsTriangulated.mk'), so the only input is exactness of the
forward functor, h0IsTriangulated. It is the analogue, without endpoint
equivalences, of transportedH0EquivalenceIsTriangulated.
A quasi-equivalence of pretriangulated dg categories induces a
triangulated equivalence on H⁰, in the sense of Mathlib's
Equivalence.IsTriangulated.
hF only builds the equivalence h0Equivalence, whose functor is H⁰ F
(h0Equivalence_functor); this is isTriangulated_h0_asEquivalence for it. The
shift on H⁰ F is the explicit h0CommShift, not an instance, so callers must
letI the same structure.