Documentation

Mathlib.CategoryTheory.Yoneda

The Yoneda embedding #

The Yoneda embedding as a functor yoneda : C ⥤ (Cᵒᵖ ⥤ Type v₁), along with an instance that it is FullyFaithful.

Also the Yoneda lemma, yonedaLemma : (yoneda_pairing C) ≅ (yoneda_evaluation C).

References #

@[simp]
theorem CategoryTheory.yoneda_obj_obj {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : C) (Y : Cᵒᵖ) :
(CategoryTheory.yoneda.obj X).obj Y = (Y.unop X)
@[simp]
theorem CategoryTheory.yoneda_map_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] :
∀ {X Y : C} (f : X Y) (Y_1 : Cᵒᵖ) (g : ((fun X => CategoryTheory.Functor.mk { obj := fun Y => Y.unop X, map := fun {X_1 Y} f g => CategoryTheory.CategoryStruct.comp f.unop g }) X).obj Y_1), Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types ((fun X => CategoryTheory.Functor.mk { obj := fun Y => Y.unop X, map := fun {X_1 Y} f g => CategoryTheory.CategoryStruct.comp f.unop g }) X) ((fun X => CategoryTheory.Functor.mk { obj := fun Y => Y.unop X, map := fun {X_1 Y} f g => CategoryTheory.CategoryStruct.comp f.unop g }) Y) (CategoryTheory.yoneda.map f) Y_1 g = CategoryTheory.CategoryStruct.comp g f
@[simp]
theorem CategoryTheory.yoneda_obj_map {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : C) :
∀ {X Y : Cᵒᵖ} (f : X Y) (g : X.unop X), Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver (CategoryTheory.yoneda.obj X).toPrefunctor X Y f g = CategoryTheory.CategoryStruct.comp f.unop g

The Yoneda embedding, as a functor from C into presheaves on C.

See https://stacks.math.columbia.edu/tag/001O.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.coyoneda_obj_map {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : Cᵒᵖ) :
    ∀ {X Y : C} (f : X Y) (g : X.unop X), C.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver (CategoryTheory.coyoneda.obj X).toPrefunctor X Y f g = CategoryTheory.CategoryStruct.comp g f
    @[simp]
    theorem CategoryTheory.coyoneda_obj_obj {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : Cᵒᵖ) (Y : C) :
    (CategoryTheory.coyoneda.obj X).obj Y = (X.unop Y)
    @[simp]
    theorem CategoryTheory.coyoneda_map_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] :
    ∀ {X Y : Cᵒᵖ} (f : X Y) (Y_1 : C) (g : ((fun X => CategoryTheory.Functor.mk { obj := fun Y => X.unop Y, map := fun {X_1 Y} f g => CategoryTheory.CategoryStruct.comp g f }) X).obj Y_1), C.app inst✝ (Type v₁) CategoryTheory.types ((fun X => CategoryTheory.Functor.mk { obj := fun Y => X.unop Y, map := fun {X_1 Y} f g => CategoryTheory.CategoryStruct.comp g f }) X) ((fun X => CategoryTheory.Functor.mk { obj := fun Y => X.unop Y, map := fun {X_1 Y} f g => CategoryTheory.CategoryStruct.comp g f }) Y) (CategoryTheory.coyoneda.map f) Y_1 g = CategoryTheory.CategoryStruct.comp f.unop g

    The co-Yoneda embedding, as a functor from Cᵒᵖ into co-presheaves on C.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem CategoryTheory.Yoneda.obj_map_id {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {Y : C} (f : Opposite.op X Opposite.op Y) :
      Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver (CategoryTheory.yoneda.obj X).toPrefunctor (Opposite.op X) (Opposite.op Y) f (CategoryTheory.CategoryStruct.id X) = Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types (CategoryTheory.yoneda.obj (Opposite.op Y).unop) (CategoryTheory.yoneda.obj (Opposite.op X).unop) (CategoryTheory.yoneda.map f.unop) (Opposite.op Y) (CategoryTheory.CategoryStruct.id Y)
      @[simp]
      theorem CategoryTheory.Yoneda.naturality {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {Y : C} (α : CategoryTheory.yoneda.obj X CategoryTheory.yoneda.obj Y) {Z : C} {Z' : C} (f : Z Z') (h : Z' X) :
      CategoryTheory.CategoryStruct.comp f (Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types (CategoryTheory.yoneda.obj X) (CategoryTheory.yoneda.obj Y) α (Opposite.op Z') h) = Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types (CategoryTheory.yoneda.obj X) (CategoryTheory.yoneda.obj Y) α (Opposite.op Z) (CategoryTheory.CategoryStruct.comp f h)

      The Yoneda embedding is full.

      See https://stacks.math.columbia.edu/tag/001P.

      Equations
      • One or more equations did not get rendered due to their size.
      def CategoryTheory.Yoneda.ext {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : C) (Y : C) (p : {Z : C} → (Z X) → (Z Y)) (q : {Z : C} → (Z Y) → (Z X)) (h₁ : ∀ {Z : C} (f : Z X), q Z (p Z f) = f) (h₂ : ∀ {Z : C} (f : Z Y), p Z (q Z f) = f) (n : ∀ {Z Z' : C} (f : Z' Z) (g : Z X), p Z' (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp f (p Z g)) :
      X Y

      Extensionality via Yoneda. The typical usage would be

      -- Goal is `X ≅ Y`
      apply yoneda.ext,
      -- Goals are now functions `(Z ⟶ X) → (Z ⟶ Y)`, `(Z ⟶ Y) → (Z ⟶ X)`, and the fact that these
      -- functions are inverses and natural in `Z`.
      
      Equations
      Instances For
        theorem CategoryTheory.Yoneda.isIso {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {Y : C} (f : X Y) [CategoryTheory.IsIso (CategoryTheory.yoneda.map f)] :

        If yoneda.map f is an isomorphism, so was f.

        @[simp]
        theorem CategoryTheory.Coyoneda.naturality {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : Cᵒᵖ} {Y : Cᵒᵖ} (α : CategoryTheory.coyoneda.obj X CategoryTheory.coyoneda.obj Y) {Z : C} {Z' : C} (f : Z' Z) (h : X.unop Z') :
        CategoryTheory.CategoryStruct.comp (C.app inst✝ (Type v₁) CategoryTheory.types (CategoryTheory.coyoneda.obj X) (CategoryTheory.coyoneda.obj Y) α Z' h) f = C.app inst✝ (Type v₁) CategoryTheory.types (CategoryTheory.coyoneda.obj X) (CategoryTheory.coyoneda.obj Y) α Z (CategoryTheory.CategoryStruct.comp h f)
        Equations
        • One or more equations did not get rendered due to their size.
        theorem CategoryTheory.Coyoneda.isIso {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : Cᵒᵖ} {Y : Cᵒᵖ} (f : X Y) [CategoryTheory.IsIso (CategoryTheory.coyoneda.map f)] :

        If coyoneda.map f is an isomorphism, so was f.

        The identity functor on Type is isomorphic to the coyoneda functor coming from punit.

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.Coyoneda.objOpOp_hom_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : C) (X : Cᵒᵖ) :
          ∀ (a : (CategoryTheory.coyoneda.obj (Opposite.op (Opposite.op X))).obj X), Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types (CategoryTheory.coyoneda.obj (Opposite.op (Opposite.op X))) (CategoryTheory.yoneda.obj X) (CategoryTheory.Coyoneda.objOpOp X).hom X a = ↑(CategoryTheory.opEquiv (Opposite.op X) X) a
          @[simp]
          theorem CategoryTheory.Coyoneda.objOpOp_inv_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : C) (X : Cᵒᵖ) :
          ∀ (a : (CategoryTheory.yoneda.obj X).obj X), (CategoryTheory.Coyoneda.objOpOp X).inv.app X a = (CategoryTheory.opEquiv (Opposite.op X) X).symm a
          def CategoryTheory.Coyoneda.objOpOp {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : C) :
          CategoryTheory.coyoneda.obj (Opposite.op (Opposite.op X)) CategoryTheory.yoneda.obj X

          Taking the unop of morphisms is a natural isomorphism.

          Equations
          Instances For

            A functor F : Cᵒᵖ ⥤ Type v₁ is representable if there is object X so F ≅ yoneda.obj X.

            See https://stacks.math.columbia.edu/tag/001Q.

            Instances

              A functor F : C ⥤ Type v₁ is corepresentable if there is object X so F ≅ coyoneda.obj X.

              See https://stacks.math.columbia.edu/tag/001Q.

              Instances

                The representing object for the representable functor F.

                Equations
                Instances For

                  The (forward direction of the) isomorphism witnessing F is representable.

                  Equations
                  Instances For

                    The representing element for the representable functor F, sometimes called the universal element of the functor.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      An isomorphism between F and a functor of the form C(-, F.repr_X). Note the components F.repr_w.app X definitionally have type (X.unop ⟶ F.repr_X) ≅ F.obj X.

                      Equations
                      Instances For
                        theorem CategoryTheory.Functor.reprW_app_hom {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (F : CategoryTheory.Functor Cᵒᵖ (Type v₁)) [CategoryTheory.Functor.Representable F] (X : Cᵒᵖ) (f : X.unop CategoryTheory.Functor.reprX F) :
                        Type v₁.hom CategoryTheory.types ((CategoryTheory.yoneda.obj (CategoryTheory.Functor.reprX F)).obj X) (F.obj X) ((CategoryTheory.Functor.reprW F).app X) f = Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver F.toPrefunctor (Opposite.op (CategoryTheory.Functor.reprX F)) (Opposite.op X.unop) f.op (CategoryTheory.Functor.reprx F)

                        The representing object for the corepresentable functor F.

                        Equations
                        Instances For

                          The (forward direction of the) isomorphism witnessing F is corepresentable.

                          Equations
                          Instances For

                            The representing element for the corepresentable functor F, sometimes called the universal element of the functor.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              An isomorphism between F and a functor of the form C(F.corepr X, -). Note the components F.corepr_w.app X definitionally have type F.corepr_X ⟶ X ≅ F.obj X.

                              Equations
                              Instances For
                                theorem CategoryTheory.Functor.coreprW_app_hom {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (F : CategoryTheory.Functor C (Type v₁)) [CategoryTheory.Functor.Corepresentable F] (X : C) (f : CategoryTheory.Functor.coreprX F X) :
                                Type v₁.hom CategoryTheory.types ((CategoryTheory.coyoneda.obj (Opposite.op (CategoryTheory.Functor.coreprX F))).obj X) (F.obj X) ((CategoryTheory.Functor.coreprW F).app X) f = C.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver F.toPrefunctor (CategoryTheory.Functor.coreprX F) X f (CategoryTheory.Functor.coreprx F)

                                The "Yoneda evaluation" functor, which sends X : Cᵒᵖ and F : Cᵒᵖ ⥤ Type to F.obj X, functorially in both X and F.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.yonedaEvaluation_map_down (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (P : Cᵒᵖ × CategoryTheory.Functor Cᵒᵖ (Type v₁)) (Q : Cᵒᵖ × CategoryTheory.Functor Cᵒᵖ (Type v₁)) (α : P Q) (x : (CategoryTheory.yonedaEvaluation C).obj P) :
                                  ((CategoryTheory.yonedaEvaluation C).map α x).down = Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types P.snd Q.snd α.snd Q.fst (Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver P.snd.toPrefunctor P.fst Q.fst α.fst x.down)

                                  The "Yoneda pairing" functor, which sends X : Cᵒᵖ and F : Cᵒᵖ ⥤ Type to yoneda.op.obj X ⟶ F, functorially in both X and F.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    theorem CategoryTheory.yonedaPairingExt (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] {X : Cᵒᵖ × CategoryTheory.Functor Cᵒᵖ (Type v₁)} {x : (CategoryTheory.yonedaPairing C).obj X} {y : (CategoryTheory.yonedaPairing C).obj X} (w : ∀ (Y : Cᵒᵖ), x.app Y = y.app Y) :
                                    x = y

                                    The Yoneda lemma asserts that the Yoneda pairing (X : Cᵒᵖ, F : Cᵒᵖ ⥤ Type) ↦ (yoneda.obj (unop X) ⟶ F) is naturally isomorphic to the evaluation (X, F) ↦ F.obj X.

                                    See https://stacks.math.columbia.edu/tag/001P.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      @[simp]
                                      theorem CategoryTheory.yonedaSections_inv_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : C) (F : CategoryTheory.Functor Cᵒᵖ (Type v₁)) :
                                      ∀ (a : (CategoryTheory.yonedaEvaluation C).obj (Opposite.op X, F)) (X : Cᵒᵖ) (a_1 : ((CategoryTheory.Functor.prod CategoryTheory.yoneda.op (CategoryTheory.Functor.id (CategoryTheory.Functor Cᵒᵖ (Type v₁)))).obj (Opposite.op X, F)).fst.unop.obj X), Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types ((CategoryTheory.Functor.prod CategoryTheory.yoneda.op (CategoryTheory.Functor.id (CategoryTheory.Functor Cᵒᵖ (Type v₁)))).obj (Opposite.op X, F)).fst.unop ((CategoryTheory.Functor.prod CategoryTheory.yoneda.op (CategoryTheory.Functor.id (CategoryTheory.Functor Cᵒᵖ (Type v₁)))).obj (Opposite.op X, F)).snd ((CategoryTheory.yonedaSections X F).inv a) X a_1 = Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver F.toPrefunctor (Opposite.op X) X a_1.op a.down
                                      @[simp]
                                      theorem CategoryTheory.yonedaSections_hom_down {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : C) (F : CategoryTheory.Functor Cᵒᵖ (Type v₁)) :
                                      ∀ (a : (CategoryTheory.yonedaPairing C).obj (Opposite.op X, F)), ((CategoryTheory.yonedaSections X F).hom a).down = Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types (CategoryTheory.yoneda.obj X) F a (Opposite.op X) (CategoryTheory.CategoryStruct.id X)
                                      def CategoryTheory.yonedaSections {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X : C) (F : CategoryTheory.Functor Cᵒᵖ (Type v₁)) :
                                      (CategoryTheory.yoneda.obj X F) ULift.{u₁, v₁} (F.obj (Opposite.op X))

                                      The isomorphism between yoneda.obj X ⟶ F and F.obj (op X) (we need to insert a ulift to get the universes right!) given by the Yoneda lemma.

                                      Equations
                                      Instances For
                                        def CategoryTheory.yonedaEquiv {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {F : CategoryTheory.Functor Cᵒᵖ (Type v₁)} :
                                        (CategoryTheory.yoneda.obj X F) F.obj (Opposite.op X)

                                        We have a type-level equivalence between natural transformations from the yoneda embedding and elements of F.obj X, without any universe switching.

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem CategoryTheory.yonedaEquiv_apply {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {F : CategoryTheory.Functor Cᵒᵖ (Type v₁)} (f : CategoryTheory.yoneda.obj X F) :
                                          CategoryTheory.yonedaEquiv f = Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types (CategoryTheory.yoneda.obj X) F f (Opposite.op X) (CategoryTheory.CategoryStruct.id X)
                                          @[simp]
                                          theorem CategoryTheory.yonedaEquiv_symm_app_apply {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {F : CategoryTheory.Functor Cᵒᵖ (Type v₁)} (x : F.obj (Opposite.op X)) (Y : Cᵒᵖ) (f : Y.unop X) :
                                          Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types (CategoryTheory.yoneda.obj X) F (CategoryTheory.yonedaEquiv.symm x) Y f = Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver F.toPrefunctor (Opposite.op X) (Opposite.op Y.unop) f.op x
                                          theorem CategoryTheory.yonedaEquiv_naturality {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {Y : C} {F : CategoryTheory.Functor Cᵒᵖ (Type v₁)} (f : CategoryTheory.yoneda.obj X F) (g : Y X) :
                                          Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver F.toPrefunctor (Opposite.op X) (Opposite.op Y) g.op (CategoryTheory.yonedaEquiv f) = CategoryTheory.yonedaEquiv (CategoryTheory.CategoryStruct.comp (CategoryTheory.yoneda.map g) f)
                                          theorem CategoryTheory.yonedaEquiv_naturality' {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : Cᵒᵖ} {Y : Cᵒᵖ} {F : CategoryTheory.Functor Cᵒᵖ (Type v₁)} (f : CategoryTheory.yoneda.obj X.unop F) (g : X Y) :
                                          Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver F.toPrefunctor X Y g (CategoryTheory.yonedaEquiv f) = CategoryTheory.yonedaEquiv (CategoryTheory.CategoryStruct.comp (CategoryTheory.yoneda.map g.unop) f)
                                          theorem CategoryTheory.yonedaEquiv_comp {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {F : CategoryTheory.Functor Cᵒᵖ (Type v₁)} {G : CategoryTheory.Functor Cᵒᵖ (Type v₁)} (α : CategoryTheory.yoneda.obj X F) (β : F G) :
                                          CategoryTheory.yonedaEquiv (CategoryTheory.CategoryStruct.comp α β) = Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types F G β (Opposite.op X) (CategoryTheory.yonedaEquiv α)
                                          theorem CategoryTheory.yonedaEquiv_comp' {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : Cᵒᵖ} {F : CategoryTheory.Functor Cᵒᵖ (Type v₁)} {G : CategoryTheory.Functor Cᵒᵖ (Type v₁)} (α : CategoryTheory.yoneda.obj X.unop F) (β : F G) :
                                          CategoryTheory.yonedaEquiv (CategoryTheory.CategoryStruct.comp α β) = Cᵒᵖ.app CategoryTheory.Category.opposite (Type v₁) CategoryTheory.types F G β X (CategoryTheory.yonedaEquiv α)
                                          @[simp]
                                          theorem CategoryTheory.yonedaEquiv_yoneda_map {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {Y : C} (f : X Y) :
                                          CategoryTheory.yonedaEquiv (CategoryTheory.yoneda.map f) = f
                                          theorem CategoryTheory.yonedaEquiv_symm_map {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : Cᵒᵖ} {Y : Cᵒᵖ} (f : X Y) {F : CategoryTheory.Functor Cᵒᵖ (Type v₁)} (t : F.obj X) :
                                          CategoryTheory.yonedaEquiv.symm (Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type v₁) CategoryTheory.CategoryStruct.toQuiver F.toPrefunctor X Y f t) = CategoryTheory.CategoryStruct.comp (CategoryTheory.yoneda.map f.unop) (CategoryTheory.yonedaEquiv.symm t)
                                          def CategoryTheory.yonedaSectionsSmall {C : Type u₁} [CategoryTheory.SmallCategory C] (X : C) (F : CategoryTheory.Functor Cᵒᵖ (Type u₁)) :
                                          (CategoryTheory.yoneda.obj X F) F.obj (Opposite.op X)

                                          When C is a small category, we can restate the isomorphism from yoneda_sections without having to change universes.

                                          Equations
                                          Instances For
                                            @[simp]
                                            theorem CategoryTheory.yonedaSectionsSmall_hom {C : Type u₁} [CategoryTheory.SmallCategory C] (X : C) (F : CategoryTheory.Functor Cᵒᵖ (Type u₁)) (f : CategoryTheory.yoneda.obj X F) :
                                            Type u₁.hom CategoryTheory.types (CategoryTheory.yoneda.obj X F) (F.obj (Opposite.op X)) (CategoryTheory.yonedaSectionsSmall X F) f = Cᵒᵖ.app CategoryTheory.Category.opposite (Type u₁) CategoryTheory.types (CategoryTheory.yoneda.obj X) F f { unop := X } (CategoryTheory.CategoryStruct.id { unop := X }.unop)
                                            @[simp]
                                            theorem CategoryTheory.yonedaSectionsSmall_inv_app_apply {C : Type u₁} [CategoryTheory.SmallCategory C] (X : C) (F : CategoryTheory.Functor Cᵒᵖ (Type u₁)) (t : F.obj (Opposite.op X)) (Y : Cᵒᵖ) (f : Y.unop X) :
                                            Cᵒᵖ.app CategoryTheory.Category.opposite (Type u₁) CategoryTheory.types (CategoryTheory.yoneda.obj X) F (Type u₁.inv CategoryTheory.types (CategoryTheory.yoneda.obj X F) (F.obj (Opposite.op X)) (CategoryTheory.yonedaSectionsSmall X F) t) Y f = Cᵒᵖ.map CategoryTheory.CategoryStruct.toQuiver (Type u₁) CategoryTheory.CategoryStruct.toQuiver F.toPrefunctor (Opposite.op X) (Opposite.op Y.unop) f.op t

                                            The curried version of yoneda lemma when C is small.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For

                                              The curried version of yoneda lemma when C is small.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For