The internal hom out of a dualizable object #
Let C be a monoidal category in which an object Y is closed, so that (Y ⟶[C] -) is right
adjoint to Y ⊗ -. If Y also admits a left dual, that is, if ExactPairing D Y holds for some
object D, then D ⊗ - is a second right adjoint of Y ⊗ -, and the two agree:
(Y ⟶[C] Z) ≅ D ⊗ Z, in particular (Y ⟶[C] 𝟙_ C) ≅ D.
So the internal hom into the unit computes the left dual, and the internal hom out of Y is
tensoring with that dual. The comparison is characterized by the evaluation of the internal hom:
under it, the evaluation becomes the composite
Y ⊗ (D ⊗ Z) ⟶ (Y ⊗ D) ⊗ Z ⟶ 𝟙_ C ⊗ Z ⟶ Z built from the pairing ε_ D Y, and over the unit
the evaluation becomes the pairing itself.
The dual D is an explicit argument rather than CategoryTheory.HasLeftDual, so that a caller
with a preferred model of the dual — for instance a finite free sheaf of modules, which is its
own dual — gets the comparison with that model. Taking D = ᘁY gives (Y ⟶[C] 𝟙_ C) ≅ ᘁY.
Mathlib builds the two adjunctions separately, as CategoryTheory.ihom.adjunction for the
closed structure and CategoryTheory.tensorLeftAdjunction for the pairing; the comparison here
is their uniqueness isomorphism CategoryTheory.Adjunction.rightAdjointUniq.
Main declarations #
TauCeti.ihomIsoTensorLeft: the natural isomorphismihom Y ≅ tensorLeft D, together with the componentwise formulasTauCeti.ihomIsoTensorLeft_hom_app,TauCeti.ihomIsoTensorLeft_inv_appandTauCeti.whiskerLeft_ihomIsoTensorLeft_inv_app_comp_ev;TauCeti.ihomUnitIso: the isomorphism(Y ⟶[C] 𝟙_ C) ≅ Dbetween the internal hom into the unit and the dual, whose inverse transposes the pairing (TauCeti.ihomUnitIso_inv);TauCeti.exactPairingIhomUnit: the internal hom into the unit is itself a left dual ofY, with evaluation and coevaluation exposed byTauCeti.exactPairingIhomUnit_evaluationandTauCeti.exactPairingIhomUnit_coevaluation.
The internal hom out of Y is left tensoring by a left dual D of Y: both functors are
right adjoint to Y ⊗ -.
Equations
Instances For
Under the comparison D ⊗ Z ⟶ (Y ⟶[C] Z), the evaluation of the internal hom becomes the
evaluation of the pairing.
Under the comparison D ⊗ Z ⟶ (Y ⟶[C] Z), the evaluation of the internal hom becomes the
evaluation of the pairing.
Under the comparison (Y ⟶[C] Z) ⟶ D ⊗ Z, the evaluation of the pairing becomes the
evaluation of the internal hom.
Under the comparison (Y ⟶[C] Z) ⟶ D ⊗ Z, the evaluation of the pairing becomes the
evaluation of the internal hom.
The comparison (Y ⟶[C] Z) ⟶ D ⊗ Z inserts the coevaluation and then evaluates.
The comparison D ⊗ Z ⟶ (Y ⟶[C] Z) is the transpose of the evaluation of the pairing.
The comparison is natural in the source: precomposing the internal hom with f : Y ⟶ Y'
corresponds to tensoring with the left adjoint mate ᘁf.
The internal hom of Y into the unit is a left dual of Y.
Equations
Instances For
The comparison (Y ⟶[C] 𝟙_ C) ⟶ D inserts the coevaluation and then evaluates.
Under the comparison D ⟶ (Y ⟶[C] 𝟙_ C), the evaluation of the internal hom becomes the
evaluation of the pairing.
Under the comparison D ⟶ (Y ⟶[C] 𝟙_ C), the evaluation of the internal hom becomes the
evaluation of the pairing.
The comparison D ⟶ (Y ⟶[C] 𝟙_ C) is the transpose of the evaluation of the pairing.
Pairing against the comparison D ⟶ (Y ⟶[C] 𝟙_ C) is pairing against the dual.
Pairing against the comparison D ⟶ (Y ⟶[C] 𝟙_ C) is pairing against the dual.
Transporting the pairing along TauCeti.ihomUnitIso exhibits the internal hom of Y into
the unit as a left dual of Y: the categorical dual of Y is Hom(Y, 𝟙_ C).
This is deliberately not an instance because the chosen dual D is not determined by the
resulting ExactPairing type.
Equations
Instances For
The evaluation of the pairing transported to the internal hom is the internal-hom evaluation.
The coevaluation of the pairing transported to the internal hom is obtained by composing the original coevaluation with the inverse comparison.