Opposite adjunctions #
This file contains constructions to relate adjunctions of functors to adjunctions of their opposites.
Tags #
adjunction, opposite, uniqueness
@[simp]
theorem
CategoryTheory.Adjunction.unop_counit
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor Cᵒᵖ Dᵒᵖ}
{G : Functor Dᵒᵖ Cᵒᵖ}
(h : G ⊣ F)
:
@[simp]
theorem
CategoryTheory.Adjunction.unop_unit
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor Cᵒᵖ Dᵒᵖ}
{G : Functor Dᵒᵖ Cᵒᵖ}
(h : G ⊣ F)
:
def
CategoryTheory.Adjunction.op
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C D}
{G : Functor D C}
(h : G ⊣ F)
:
If G is adjoint to F then F.op is adjoint to G.op.
Equations
Instances For
@[simp]
theorem
CategoryTheory.Adjunction.op_unit
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C D}
{G : Functor D C}
(h : G ⊣ F)
:
@[simp]
theorem
CategoryTheory.Adjunction.op_counit
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C D}
{G : Functor D C}
(h : G ⊣ F)
:
@[simp]
theorem
CategoryTheory.Adjunction.leftOp_counit
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C Dᵒᵖ}
{G : Functor D Cᵒᵖ}
(a : F ⊣ G.leftOp)
:
@[simp]
theorem
CategoryTheory.Adjunction.leftOp_unit
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C Dᵒᵖ}
{G : Functor D Cᵒᵖ}
(a : F ⊣ G.leftOp)
:
@[simp]
theorem
CategoryTheory.Adjunction.rightOp_counit
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor Cᵒᵖ D}
{G : Functor Dᵒᵖ C}
(a : F.rightOp ⊣ G)
:
@[simp]
theorem
CategoryTheory.Adjunction.rightOp_unit
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor Cᵒᵖ D}
{G : Functor Dᵒᵖ C}
(a : F.rightOp ⊣ G)
:
theorem
CategoryTheory.Adjunction.leftOp_eq
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C Dᵒᵖ}
{G : Functor D Cᵒᵖ}
(a : F ⊣ G.leftOp)
:
theorem
CategoryTheory.Adjunction.rightOp_eq
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor Cᵒᵖ D}
{G : Functor Dᵒᵖ C}
(a : F.rightOp ⊣ G)
:
def
CategoryTheory.Adjunction.leftAdjointsCoyonedaEquiv
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F F' : Functor C D}
{G : Functor D C}
(adj1 : F ⊣ G)
(adj2 : F' ⊣ G)
:
If F and F' are both adjoint to G, there is a natural isomorphism
F.op ⋙ coyoneda ≅ F'.op ⋙ coyoneda.
We use this in combination with fullyFaithfulCancelRight to show left adjoints are unique.
Equations
Instances For
@[deprecated "Use `(Adjunction.conjugateIsoEquiv adj1 adj2).symm` (requires `import Mathlib.CategoryTheory.Adjunction.Mates`)." (since := "2026-01-31")]
def
CategoryTheory.Adjunction.natIsoOfRightAdjointNatIso
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F F' : Functor C D}
{G G' : Functor D C}
(adj1 : F ⊣ G)
(adj2 : F' ⊣ G')
(r : G ≅ G')
:
Deprecated: prefer (Adjunction.conjugateIsoEquiv adj1 adj2).symm.
Equations
Instances For
@[deprecated "Use `Adjunction.conjugateIsoEquiv adj1 adj2` (requires `import Mathlib.CategoryTheory.Adjunction.Mates`)." (since := "2026-01-31")]
def
CategoryTheory.Adjunction.natIsoOfLeftAdjointNatIso
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F F' : Functor C D}
{G G' : Functor D C}
(adj1 : F ⊣ G)
(adj2 : F' ⊣ G')
(l : F ≅ F')
:
Deprecated: prefer Adjunction.conjugateIsoEquiv adj1 adj2.
Equations
Instances For
instance
CategoryTheory.Functor.IsLeftAdjoint.op
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C D}
[F.IsLeftAdjoint]
:
instance
CategoryTheory.Functor.IsRightAdjoint.op
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C D}
[F.IsRightAdjoint]
:
instance
CategoryTheory.Functor.IsLeftAdjoint.leftOp
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C Dᵒᵖ}
[F.IsLeftAdjoint]
:
instance
CategoryTheory.Functor.IsRightAdjoint.leftOp
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C Dᵒᵖ}
[F.IsRightAdjoint]
:
instance
CategoryTheory.Functor.IsLeftAdjoint.rightOp
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor Cᵒᵖ D}
[F.IsLeftAdjoint]
:
instance
CategoryTheory.Functor.IsRightAdjoint.rightOp
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor Cᵒᵖ D}
[F.IsRightAdjoint]
: