Skip to content

Commit 9a15d11

Browse files
committed
feat: even more natural versions of FullyFaithful.homEquiv (#18524)
A natural follow-up to #17450. Co-authored-by: Markus Himmel <markus@lean-fro.org>
1 parent 21d62a6 commit 9a15d11

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

Mathlib/CategoryTheory/Yoneda.lean

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -809,19 +809,38 @@ namespace Functor.FullyFaithful
809809
variable {C : Type u₁} [Category.{v₁} C]
810810

811811
/-- `FullyFaithful.homEquiv` as a natural isomorphism. -/
812+
@[simps!]
812813
def homNatIso {D : Type u₂} [Category.{v₂} D] {F : C ⥤ D} (hF : F.FullyFaithful) (X : C) :
813814
F.op ⋙ yoneda.obj (F.obj X) ⋙ uliftFunctor.{v₁} ≅ yoneda.obj X ⋙ uliftFunctor.{v₂} :=
814815
NatIso.ofComponents
815816
(fun Y => Equiv.toIso (Equiv.ulift.trans <| hF.homEquiv.symm.trans Equiv.ulift.symm))
816817
(fun f => by ext; exact Equiv.ulift.injective (hF.map_injective (by simp)))
817818

818819
/-- `FullyFaithful.homEquiv` as a natural isomorphism. -/
820+
@[simps!]
819821
def homNatIsoMaxRight {D : Type u₂} [Category.{max v₁ v₂} D] {F : C ⥤ D} (hF : F.FullyFaithful)
820822
(X : C) : F.op ⋙ yoneda.obj (F.obj X) ≅ yoneda.obj X ⋙ uliftFunctor.{v₂} :=
821823
NatIso.ofComponents
822824
(fun Y => Equiv.toIso (hF.homEquiv.symm.trans Equiv.ulift.symm))
823825
(fun f => by ext; exact Equiv.ulift.injective (hF.map_injective (by simp)))
824826

827+
/-- `FullyFaithful.homEquiv` as a natural isomorphism. -/
828+
@[simps!]
829+
def compYonedaCompWhiskeringLeft {D : Type u₂} [Category.{v₂} D] {F : C ⥤ D}
830+
(hF : F.FullyFaithful) : F ⋙ yoneda ⋙ (whiskeringLeft _ _ _).obj F.op ⋙
831+
(CategoryTheory.whiskeringRight _ _ _).obj uliftFunctor.{v₁} ≅
832+
yoneda ⋙ (CategoryTheory.whiskeringRight _ _ _).obj uliftFunctor.{v₂} :=
833+
NatIso.ofComponents (fun X => hF.homNatIso _)
834+
(fun f => by ext; exact Equiv.ulift.injective (hF.map_injective (by simp)))
835+
836+
/-- `FullyFaithful.homEquiv` as a natural isomorphism. -/
837+
@[simps!]
838+
def compYonedaCompWhiskeringLeftMaxRight {D : Type u₂} [Category.{max v₁ v₂} D] {F : C ⥤ D}
839+
(hF : F.FullyFaithful) : F ⋙ yoneda ⋙ (whiskeringLeft _ _ _).obj F.op ≅
840+
yoneda ⋙ (CategoryTheory.whiskeringRight _ _ _).obj uliftFunctor.{v₂} :=
841+
NatIso.ofComponents (fun X => hF.homNatIsoMaxRight _)
842+
(fun f => by ext; exact Equiv.ulift.injective (hF.map_injective (by simp)))
843+
825844
end Functor.FullyFaithful
826845

827846
end CategoryTheory

0 commit comments

Comments
 (0)