Adjoints commute with shifts #
Given categories C
and D
that have shifts by an additive group A
, functors F : C ā„¤ D
and G : C ā„¤ D
, an adjunction F ā£ G
and a CommShift
structure on F
, this file constructs
a CommShift
structure on G
. We also do the construction in the other direction: given a
CommShift
structure on G
, we construct a CommShift
structure on G
; we could do this
using opposite categories, but the construction is simple enough that it is not really worth it.
As an easy application, if E : C ā D
is an equivalence and E.functor
has a CommShift
structure, we get a CommShift
structure on E.inverse
.
We now explain the construction of a CommShift
structure on G
given a CommShift
structure
on F
; the other direction is similar. The CommShift
structure on G
must be compatible with
the one on F
in the following sense (cf. Adjunction.CommShift
):
for every a
in A
, the natural transformation adj.unit : š C ā¶ G ā F
commutes with
the isomorphism shiftFunctor C A ā G ā F ā
G ā F ā shiftFunctor C A
induces by
F.commShiftIso a
and G.commShiftIso a
. We actually require a similar condition for
adj.counit
, but it follows from the one for adj.unit
.
In order to simplify the construction of the CommShift
structure on G
, we first introduce
the compatibility condition on adj.unit
for a fixed a
in A
and for isomorphisms
eā : shiftFunctor C a ā F ā
F ā shiftFunctor D a
and
eā : shiftFunctor D a ā G ā
G ā shiftFunctor C a
. We then prove that:
- If
eā
andeā
satusfy this condition, theneā
uniquely determineseā
and vice versa. - If
a = 0
, the isomorphismsFunctor.CommShift.isoZero F
andFunctor.CommShift.isoZero G
satisfy the condition. - The condition is stable by addition on
A
, if we useFunctor.CommShift.isoAdd
to deduce commutation isomorphism fora + b
from such isomorphism froma
andb
. - Given commutation isomorphisms for
F
, our candidate commutation isomorphisms forG
, constructed inAdjunction.RightAdjointCommShift.iso
, satisfy the compatibility condition.
Once we have established all this, the compatibility of the commutation isomorphism for
F
expressed in CommShift.zero
and CommShift.add
immediately implies the similar
statements for the commutation isomorphisms for G
.
Given an adjunction adj : F ā£ G
, a
in A
and commutation isomorphisms
eā : shiftFunctor C a ā F ā
F ā shiftFunctor D a
and
eā : shiftFunctor D a ā G ā
G ā shiftFunctor C a
, this expresses the compatibility of
eā
and eā
with the unit of the adjunction adj
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given an adjunction adj : F ā£ G
, a
in A
and commutation isomorphisms
eā : shiftFunctor C a ā F ā
F ā shiftFunctor D a
and
eā : shiftFunctor D a ā G ā
G ā shiftFunctor C a
, this expresses the compatibility of
eā
and eā
with the counit of the adjunction adj
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given an adjunction adj : F ā£ G
, a
in A
and commutation isomorphisms
eā : shiftFunctor C a ā F ā
F ā shiftFunctor D a
and
eā : shiftFunctor D a ā G ā
G ā shiftFunctor C a
, compatibility of eā
and eā
with the
unit of the adjunction adj
implies compatibility with the counit of adj
.
Given an adjunction adj : F ā£ G
, a
in A
and commutation isomorphisms
eā : shiftFunctor C a ā F ā
F ā shiftFunctor D a
and
eā : shiftFunctor D a ā G ā
G ā shiftFunctor C a
, if eā
and eā
are compatible with the
unit of the adjunction adj
, then we get a formula for eā.inv
in terms of eā
.
Given an adjunction adj : F ā£ G
, a
in A
and commutation isomorphisms
eā : shiftFunctor C a ā F ā
F ā shiftFunctor D a
and
eā : shiftFunctor D a ā G ā
G ā shiftFunctor C a
, if eā
and eā
are compatible with the
counit of the adjunction adj
, then we get a formula for eā.hom
in terms of eā
.
Given an adjunction adj : F ā£ G
, a
in A
and commutation isomorphisms
eā : shiftFunctor C a ā F ā
F ā shiftFunctor D a
and
eā : shiftFunctor D a ā G ā
G ā shiftFunctor C a
, if eā
and eā
are compatible with the
unit of the adjunction adj
, then eā
uniquely determines eā
.
Given an adjunction adj : F ā£ G
, a
in A
and commutation isomorphisms
eā : shiftFunctor C a ā F ā
F ā shiftFunctor D a
and
eā : shiftFunctor D a ā G ā
G ā shiftFunctor C a
, if eā
and eā
are compatible with the
unit of the adjunction adj
, then eā
uniquely determines eā
.
The isomorphisms Functor.CommShift.isoZero F
and Functor.CommShift.isoZero G
are
compatible with the unit of an adjunction F ā£ G
.
Given an adjunction adj : F ā£ G
, a, b
in A
and commutation isomorphisms
between shifts by a
(resp. b
) and F
and G
, if these commutation isomorphisms are
compatible with the unit of adj
, then so are the commutation isomorphisms between shifts
by a + b
and F
and G
constructed by Functor.CommShift.isoAdd
.
The property for CommShift
structures on F
and G
to be compatible with an
adjunction F ā£ G
.
- commShift_unit : CategoryTheory.NatTrans.CommShift adj.unit A
- commShift_counit : CategoryTheory.NatTrans.CommShift adj.counit A
Instances
Constructor for Adjunction.CommShift
.
The identity adjunction is compatible with the trivial CommShift
structure on the
identity functor.
Compatibility of Adjunction.Commshift
with the composition of adjunctions.
Auxiliary definition for iso
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given an adjunction F ā£ G
and a CommShift
structure on F
, these are the candidate
CommShift.iso a
isomorphisms for a compatible CommShift
structure on G
.
Equations
Instances For
The commutation isomorphisms of Adjunction.RightAdjointCommShift.iso
are compatible with
the unit of the adjunction.
Given an adjunction F ā£ G
and a CommShift
structure on F
, this constructs
the unique compatible CommShift
structure on G
.
Equations
- adj.rightAdjointCommShift A = { iso := fun (a : A) => CategoryTheory.Adjunction.RightAdjointCommShift.iso adj a, zero := āÆ, add := āÆ }
Instances For
Auxiliary definition for iso
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given an adjunction F ā£ G
and a CommShift
structure on G
, these are the candidate
CommShift.iso a
isomorphisms for a compatible CommShift
structure on F
.
Equations
Instances For
The commutation isomorphisms of Adjunction.LeftAdjointCommShift.iso
are compatible with
the unit of the adjunction.
Given an adjunction F ā£ G
and a CommShift
structure on G
, this constructs
the unique compatible CommShift
structure on F
.
Equations
- adj.leftAdjointCommShift A = { iso := fun (a : A) => CategoryTheory.Adjunction.LeftAdjointCommShift.iso adj a, zero := āÆ, add := āÆ }
Instances For
If E : C ā D
is an equivalence, this expresses the compatibility of CommShift
structures on E.functor
and E.inverse
.
Equations
- E.CommShift A = E.toAdjunction.CommShift A
Instances For
Constructor for Equivalence.CommShift
.
The forward functor of the identity equivalence is compatible with shifts.
The inverse functor of the identity equivalence is compatible with shifts.
The identity equivalence is compatible with shifts.
If an equivalence E : C ā D
is compatible with shifts, so is E.symm
.
Constructor for Equivalence.CommShift
.
If E : C ā D
and E' : D ā F
are equivalence whose forward functors are compatible with shifts,
so is (E.trans E').functor
.
If E : C ā D
and E' : D ā F
are equivalence whose inverse functors are compatible with shifts,
so is (E.trans E').inverse
.
If equivalences E : C ā D
and E' : D ā F
are compatible with shifts, so is E.trans E'
.
If E : C ā D
is an equivalence and we have a CommShift
structure on E.functor
,
this constructs the unique compatible CommShift
structure on E.inverse
.
Equations
- E.commShiftInverse A = E.toAdjunction.rightAdjointCommShift A
Instances For
If E : C ā D
is an equivalence and we have a CommShift
structure on E.inverse
,
this constructs the unique compatible CommShift
structure on E.functor
.
Equations
- E.commShiftFunctor A = E.symm.toAdjunction.rightAdjointCommShift A