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āsatisfy this condition, theneāuniquely determineseāand vice versa. - If
a = 0, the isomorphismsFunctor.CommShift.isoZero FandFunctor.CommShift.isoZero Gsatisfy the condition. - The condition is stable by addition on
A, if we useFunctor.CommShift.isoAddto deduce commutation isomorphism fora + bfrom such isomorphism fromaandb. - 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 : NatTrans.CommShift adj.unit A
- commShift_counit : 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
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.