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 #
The Yoneda embedding, as a functor from C into presheaves on C.
See
Equations
- One or more equations did not get rendered due to their size.
Instances For
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
The Yoneda embedding is full.
See
Equations
- One or more equations did not get rendered due to their size.
The Yoneda embedding is faithful.
See
Equations
- (_ : CategoryTheory.Faithful CategoryTheory.yoneda) = (_ : CategoryTheory.Faithful CategoryTheory.yoneda)
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
- CategoryTheory.Yoneda.ext X Y p q h₁ h₂ n = CategoryTheory.Functor.preimageIso CategoryTheory.yoneda (CategoryTheory.NatIso.ofComponents fun (Z : Cᵒᵖ) => CategoryTheory.Iso.mk p q)
Instances For
If yoneda.map f is an isomorphism, so was f.
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : CategoryTheory.Faithful CategoryTheory.coyoneda) = (_ : CategoryTheory.Faithful CategoryTheory.coyoneda)
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
- One or more equations did not get rendered due to their size.
Instances For
Taking the unop of morphisms is a natural isomorphism.
Equations
- CategoryTheory.Coyoneda.objOpOp X = CategoryTheory.NatIso.ofComponents fun (x : Cᵒᵖ) => Equiv.toIso (CategoryTheory.opEquiv (Opposite.op (Opposite.op X)).unop x)
Instances For
A functor F : Cᵒᵖ ⥤ Type v₁ is representable if there is object X so F ≅ yoneda.obj X.
See
- has_representation : ∃ (X : C), ∃ (f : CategoryTheory.yoneda.toPrefunctor.obj X ⟶ F), CategoryTheory.IsIso f
Hom(-,X) ≅ Fviaf
Instances
Equations
- (_ : CategoryTheory.Functor.Representable (CategoryTheory.yoneda.toPrefunctor.obj X)) = (_ : CategoryTheory.Functor.Representable (CategoryTheory.yoneda.toPrefunctor.obj X))
A functor F : C ⥤ Type v₁ is corepresentable if there is object X so F ≅ coyoneda.obj X.
See
- has_corepresentation : ∃ (X : Cᵒᵖ), ∃ (f : CategoryTheory.coyoneda.toPrefunctor.obj X ⟶ F), CategoryTheory.IsIso f
Hom(X,-) ≅ Fviaf
Instances
Equations
- (_ : CategoryTheory.Functor.Corepresentable (CategoryTheory.coyoneda.toPrefunctor.obj X)) = (_ : CategoryTheory.Functor.Corepresentable (CategoryTheory.coyoneda.toPrefunctor.obj X))
The representing object for the representable functor F.
Equations
- CategoryTheory.Functor.reprX F = Exists.choose (_ : ∃ (X : C), ∃ (f : CategoryTheory.yoneda.toPrefunctor.obj X ⟶ F), CategoryTheory.IsIso f)
Instances For
The (forward direction of the) isomorphism witnessing F is representable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The representing element for the representable functor F, sometimes called the universal
element of the functor.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
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.
Instances For
The representing object for the corepresentable functor F.
Equations
- CategoryTheory.Functor.coreprX F = (Exists.choose (_ : ∃ (X : Cᵒᵖ), ∃ (f : CategoryTheory.coyoneda.toPrefunctor.obj X ⟶ F), CategoryTheory.IsIso f)).unop
Instances For
The (forward direction of the) isomorphism witnessing F is corepresentable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The representing element for the corepresentable functor F, sometimes called the universal
element of the functor.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
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.
Instances For
Equations
Equations
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
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
A bijection (yoneda.obj X ⋙ uliftFunctor ⟶ F) ≃ F.obj (op X) which is a variant
of yonedaEquiv with heterogeneous universes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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
Equations
- One or more equations did not get rendered due to their size.
Instances For
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
- CategoryTheory.yonedaSections X F = (CategoryTheory.yonedaLemma C).app (Opposite.op X, F)
Instances For
We have a type-level equivalence between natural transformations from the yoneda embedding
and elements of F.obj X, without any universe switching.
Equations
- CategoryTheory.yonedaEquiv = (CategoryTheory.yonedaSections X F).trans Equiv.ulift
Instances For
When C is a small category, we can restate the isomorphism from yoneda_sections
without having to change universes.
Equations
- CategoryTheory.yonedaSectionsSmall X F = CategoryTheory.yonedaSections X F ≪≫ CategoryTheory.uliftTrivial (F.toPrefunctor.obj (Opposite.op X))
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
The curried version of yoneda lemma when C is small.
Equations
- One or more equations did not get rendered due to their size.