Zulip Chat Archive
Stream: Is there code for X?
Topic: evaluation is right adjoint
Adam Topaz (Nov 24 2021 at 21:33):
Does mathlib have the following? It seems like something basic that should be there, but I can't seem to find anything similar...
import category_theory.types
import category_theory.const
import category_theory.functor_category
import category_theory.limits.shapes.products
namespace category_theory
open category_theory.limits
universes v u₁ u₂
variables {C : Type u₁} [category.{v} C] {D : Type u₂} [category.{v} D]
variables [∀ (a b : C), has_coproducts_of_shape (a ⟶ b) D]
-- Some more code goes here...
noncomputable
instance (a : C) : is_right_adjoint ((evaluation C D).obj a) :=
⟨_, evaluation_adjunction _ _⟩
end category_theory
Adam Topaz (Nov 24 2021 at 21:37):
(The --some more code
part can be found here: https://github.com/leanprover-community/lean-liquid/blob/master/src/for_mathlib/evaluation_adjunction.lean )
Adam Topaz (Nov 24 2021 at 21:42):
I mostly want this because of the following
lemma mono_iff_app_mono {F G : C ⥤ D} (η : F ⟶ G) :
mono η ↔ (∀ X, mono (η.app X)) :=
begin
split,
{ intros h X,
exact right_adjoint_preserves_mono (evaluation_adjunction _ _) h },
{ introsI _, apply nat_trans.mono_app_of_mono }
end
Last updated: Dec 20 2023 at 11:08 UTC