Adjunctions involving evaluation #
We show that evaluation of functors has adjoints, given the existence of (co)products.
def
CategoryTheory.evaluationLeftAdjoint
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasCoproductsOfShape (a ā¶ b) D]
(c : C)
:
The left adjoint of evaluation.
Equations
Instances For
@[simp]
theorem
CategoryTheory.evaluationLeftAdjoint_obj_obj
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasCoproductsOfShape (a ā¶ b) D]
(c : C)
(d : D)
(t : C)
:
@[simp]
theorem
CategoryTheory.evaluationLeftAdjoint_obj_map
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasCoproductsOfShape (a ā¶ b) D]
(c : C)
(d : D)
{Xā Yā : C}
(f : Xā ā¶ Yā)
:
((evaluationLeftAdjoint D c).obj d).map f = Limits.Sigma.desc fun (g : c ā¶ Xā) => Limits.Sigma.ι (fun (x : c ā¶ Yā) => d) (CategoryStruct.comp g f)
@[simp]
theorem
CategoryTheory.evaluationLeftAdjoint_map_app
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasCoproductsOfShape (a ā¶ b) D]
(c : C)
{xā dā : D}
(f : xā ā¶ dā)
(xā¹ : C)
:
((evaluationLeftAdjoint D c).map f).app xā¹ = Limits.Sigma.desc fun (h : c ā¶ xā¹) => CategoryStruct.comp f (Limits.Sigma.ι (fun (x : c ā¶ xā¹) => dā) h)
def
CategoryTheory.evaluationAdjunctionRight
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasCoproductsOfShape (a ā¶ b) D]
(c : C)
:
The adjunction showing that evaluation is a right adjoint.
Equations
Instances For
@[simp]
theorem
CategoryTheory.evaluationAdjunctionRight_unit_app
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasCoproductsOfShape (a ā¶ b) D]
(c : C)
(X : D)
:
(evaluationAdjunctionRight D c).unit.app X = Limits.Sigma.ι (fun (x : c ⶠc) => X) (CategoryStruct.id c)
@[simp]
theorem
CategoryTheory.evaluationAdjunctionRight_counit_app_app
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasCoproductsOfShape (a ā¶ b) D]
(c : C)
(Y : Functor C D)
(xā : C)
:
((evaluationAdjunctionRight D c).counit.app Y).app xā = Limits.Sigma.desc fun (h : c ā¶ xā) => Y.map h
instance
CategoryTheory.evaluationIsRightAdjoint
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasCoproductsOfShape (a ā¶ b) D]
(c : C)
:
((evaluation C D).obj c).IsRightAdjoint
theorem
CategoryTheory.NatTrans.mono_iff_mono_app'
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasCoproductsOfShape (a ā¶ b) D]
{F G : Functor C D}
(Ī· : F ā¶ G)
:
See also the file Mathlib/CategoryTheory/Limits/FunctorCategory/EpiMono.lean
for a similar result under a HasPullbacks assumption.
def
CategoryTheory.evaluationRightAdjoint
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasProductsOfShape (a ā¶ b) D]
(c : C)
:
The right adjoint of evaluation.
Equations
Instances For
@[simp]
theorem
CategoryTheory.evaluationRightAdjoint_map_app
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasProductsOfShape (a ā¶ b) D]
(c : C)
{Xā Yā : D}
(f : Xā ā¶ Yā)
(xā : C)
:
((evaluationRightAdjoint D c).map f).app xā = Limits.Pi.lift fun (g : xā ā¶ c) => CategoryStruct.comp (Limits.Pi.Ļ (fun (x : xā ā¶ c) => Xā) g) f
@[simp]
theorem
CategoryTheory.evaluationRightAdjoint_obj_obj
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasProductsOfShape (a ā¶ b) D]
(c : C)
(d : D)
(t : C)
:
@[simp]
theorem
CategoryTheory.evaluationRightAdjoint_obj_map
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasProductsOfShape (a ā¶ b) D]
(c : C)
(d : D)
{Xā Yā : C}
(f : Xā ā¶ Yā)
:
((evaluationRightAdjoint D c).obj d).map f = Limits.Pi.lift fun (g : Yā ā¶ c) => Limits.Pi.Ļ (fun (x : Xā ā¶ c) => d) (CategoryStruct.comp f g)
def
CategoryTheory.evaluationAdjunctionLeft
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasProductsOfShape (a ā¶ b) D]
(c : C)
:
The adjunction showing that evaluation is a left adjoint.
Equations
Instances For
@[simp]
theorem
CategoryTheory.evaluationAdjunctionLeft_counit_app
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasProductsOfShape (a ā¶ b) D]
(c : C)
(Y : D)
:
(evaluationAdjunctionLeft D c).counit.app Y = Limits.Pi.Ļ (fun (x : c ā¶ c) => Y) (CategoryStruct.id c)
@[simp]
theorem
CategoryTheory.evaluationAdjunctionLeft_unit_app_app
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasProductsOfShape (a ā¶ b) D]
(c : C)
(X : Functor C D)
(xā : C)
:
((evaluationAdjunctionLeft D c).unit.app X).app xā = Limits.Pi.lift fun (g : xā ā¶ c) => X.map g
instance
CategoryTheory.evaluationIsLeftAdjoint
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasProductsOfShape (a ā¶ b) D]
(c : C)
:
((evaluation C D).obj c).IsLeftAdjoint
theorem
CategoryTheory.NatTrans.epi_iff_epi_app'
{C : Type uā}
[Category.{vā, uā} C]
(D : Type uā)
[Category.{vā, uā} D]
[ā (a b : C), Limits.HasProductsOfShape (a ā¶ b) D]
{F G : Functor C D}
(Ī· : F ā¶ G)
:
See also the file Mathlib/CategoryTheory/Limits/FunctorCategory/EpiMono.lean
for a similar result under a HasPushouts assumption.