Documentation

Mathlib.CategoryTheory.Adjunction.Unique

Uniqueness of adjoints #

This file shows that adjoints are unique up to natural isomorphism.

Main results #

def CategoryTheory.Adjunction.leftAdjointUniq {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) :
F F'

If F and F' are both left adjoint to G, then they are naturally isomorphic.

Equations
Instances For
    theorem CategoryTheory.Adjunction.homEquiv_leftAdjointUniq_hom_app {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (x : C) :
    (adj1.homEquiv x (F'.obj x)) ((adj1.leftAdjointUniq adj2).hom.app x) = adj2.unit.app x
    @[simp]
    theorem CategoryTheory.Adjunction.unit_leftAdjointUniq_hom {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) :
    @[simp]
    theorem CategoryTheory.Adjunction.unit_leftAdjointUniq_hom_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) {Z : Functor C C} (h : F'.comp G Z) :
    @[simp]
    theorem CategoryTheory.Adjunction.unit_leftAdjointUniq_hom_app {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (x : C) :
    CategoryStruct.comp (adj1.unit.app x) (G.map ((adj1.leftAdjointUniq adj2).hom.app x)) = adj2.unit.app x
    @[simp]
    theorem CategoryTheory.Adjunction.unit_leftAdjointUniq_hom_app_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (x : C) {Z : C} (h : G.obj (F'.obj x) Z) :
    @[simp]
    theorem CategoryTheory.Adjunction.leftAdjointUniq_hom_counit {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) :
    @[simp]
    @[simp]
    theorem CategoryTheory.Adjunction.leftAdjointUniq_hom_app_counit {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (x : D) :
    CategoryStruct.comp ((adj1.leftAdjointUniq adj2).hom.app (G.obj x)) (adj2.counit.app x) = adj1.counit.app x
    @[simp]
    theorem CategoryTheory.Adjunction.leftAdjointUniq_hom_app_counit_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (x : D) {Z : D} (h : x Z) :
    theorem CategoryTheory.Adjunction.leftAdjointUniq_inv_app {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (x : C) :
    (adj1.leftAdjointUniq adj2).inv.app x = (adj2.leftAdjointUniq adj1).hom.app x
    @[simp]
    theorem CategoryTheory.Adjunction.leftAdjointUniq_trans {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' F'' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (adj3 : F'' G) :
    @[simp]
    theorem CategoryTheory.Adjunction.leftAdjointUniq_trans_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' F'' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (adj3 : F'' G) {Z : Functor C D} (h : F'' Z) :
    @[simp]
    theorem CategoryTheory.Adjunction.leftAdjointUniq_trans_app {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' F'' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (adj3 : F'' G) (x : C) :
    CategoryStruct.comp ((adj1.leftAdjointUniq adj2).hom.app x) ((adj2.leftAdjointUniq adj3).hom.app x) = (adj1.leftAdjointUniq adj3).hom.app x
    @[simp]
    theorem CategoryTheory.Adjunction.leftAdjointUniq_trans_app_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F F' F'' : Functor C D} {G : Functor D C} (adj1 : F G) (adj2 : F' G) (adj3 : F'' G) (x : C) {Z : D} (h : F''.obj x Z) :
    @[simp]
    def CategoryTheory.Adjunction.rightAdjointUniq {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') :
    G G'

    If G and G' are both right adjoint to F, then they are naturally isomorphic.

    Equations
    Instances For
      theorem CategoryTheory.Adjunction.homEquiv_symm_rightAdjointUniq_hom_app {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') (x : D) :
      (adj2.homEquiv (G.obj x) x).symm ((adj1.rightAdjointUniq adj2).hom.app x) = adj1.counit.app x
      @[simp]
      theorem CategoryTheory.Adjunction.unit_rightAdjointUniq_hom_app {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') (x : C) :
      CategoryStruct.comp (adj1.unit.app x) ((adj1.rightAdjointUniq adj2).hom.app (F.obj x)) = adj2.unit.app x
      @[simp]
      theorem CategoryTheory.Adjunction.unit_rightAdjointUniq_hom_app_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') (x : C) {Z : C} (h : G'.obj (F.obj x) Z) :
      @[simp]
      theorem CategoryTheory.Adjunction.unit_rightAdjointUniq_hom {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') :
      @[simp]
      theorem CategoryTheory.Adjunction.unit_rightAdjointUniq_hom_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') {Z : Functor C C} (h : F.comp G' Z) :
      @[simp]
      theorem CategoryTheory.Adjunction.rightAdjointUniq_hom_app_counit {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') (x : D) :
      CategoryStruct.comp (F.map ((adj1.rightAdjointUniq adj2).hom.app x)) (adj2.counit.app x) = adj1.counit.app x
      @[simp]
      theorem CategoryTheory.Adjunction.rightAdjointUniq_hom_app_counit_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') (x : D) {Z : D} (h : x Z) :
      @[simp]
      theorem CategoryTheory.Adjunction.rightAdjointUniq_hom_counit {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') :
      theorem CategoryTheory.Adjunction.rightAdjointUniq_inv_app {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' : Functor D C} (adj1 : F G) (adj2 : F G') (x : D) :
      (adj1.rightAdjointUniq adj2).inv.app x = (adj2.rightAdjointUniq adj1).hom.app x
      @[simp]
      theorem CategoryTheory.Adjunction.rightAdjointUniq_trans {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' G'' : Functor D C} (adj1 : F G) (adj2 : F G') (adj3 : F G'') :
      @[simp]
      theorem CategoryTheory.Adjunction.rightAdjointUniq_trans_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' G'' : Functor D C} (adj1 : F G) (adj2 : F G') (adj3 : F G'') {Z : Functor D C} (h : G'' Z) :
      @[simp]
      theorem CategoryTheory.Adjunction.rightAdjointUniq_trans_app {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' G'' : Functor D C} (adj1 : F G) (adj2 : F G') (adj3 : F G'') (x : D) :
      @[simp]
      theorem CategoryTheory.Adjunction.rightAdjointUniq_trans_app_assoc {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {G G' G'' : Functor D C} (adj1 : F G) (adj2 : F G') (adj3 : F G'') (x : D) {Z : C} (h : G''.obj x Z) :
      @[simp]