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 morphism X ⟶ Y
corresponding to a natural transformation
yoneda.obj X ⟶ yoneda.obj Y
.
Equations
- CategoryTheory.Yoneda.preimage f = f.app (Opposite.op X) (CategoryTheory.CategoryStruct.id X)
Instances For
The Yoneda embedding is full.
See
Equations
- ⋯ = ⋯
The Yoneda embedding is faithful.
See
Equations
- ⋯ = ⋯
The isomorphism X ≅ Y
corresponding to a natural isomorphism
yoneda.obj X ≅ yoneda.obj Y
.
Equations
- CategoryTheory.Yoneda.preimageIso e = { hom := CategoryTheory.Yoneda.preimage e.hom, inv := CategoryTheory.Yoneda.preimage e.inv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
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
- One or more equations did not get rendered due to their size.
Instances For
If yoneda.map f
is an isomorphism, so was f
.
The morphism X ⟶ Y
corresponding to a natural transformation
coyoneda.obj X ⟶ coyoneda.obj Y
.
Equations
- CategoryTheory.Coyoneda.preimage f = (f.app X.unop (CategoryTheory.CategoryStruct.id X.unop)).op
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The isomorphism X ≅ Y
corresponding to a natural isomorphism
coyoneda.obj X ≅ coyoneda.obj Y
.
Equations
- CategoryTheory.Coyoneda.preimageIso e = { hom := CategoryTheory.Coyoneda.preimage e.hom, inv := CategoryTheory.Coyoneda.preimage e.inv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
The natural transformation F ⟶ G
corresponding to a natural transformation
F ⋙ coyoneda ⟶ G ⋙ coyoneda
.
Equations
- CategoryTheory.Coyoneda.preimageNatTrans f = { app := fun (X : D) => CategoryTheory.Coyoneda.preimage (f.app X), naturality := ⋯ }
Instances For
The natural isomorphism F ≅ G
corresponding to a natural transformation
F ⋙ coyoneda ≅ G ⋙ coyoneda
.
Equations
- CategoryTheory.Coyoneda.preimageNatIso e = { hom := CategoryTheory.Coyoneda.preimageNatTrans e.hom, inv := CategoryTheory.Coyoneda.preimageNatTrans e.inv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
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
Hom(-,X) ≅ F
viaf
Instances
Equations
- ⋯ = ⋯
A functor F : C ⥤ Type v₁
is corepresentable if there is object X
so F ≅ coyoneda.obj X
.
See
Hom(X,-) ≅ F
viaf
Instances
Equations
- ⋯ = ⋯
The representing object for the representable functor F
.
Equations
Instances For
An isomorphism between a representable F
and a functor of the
form C(-, F.reprX)
. Note the components F.reprW.app X
definitionally have type (X.unop ⟶ F.repr_X) ≅ F.obj X
.
Equations
Instances For
The representing element for the representable functor F
, sometimes called the universal
element of the functor.
Equations
Instances For
The representing object for the corepresentable functor F
.
Equations
- CategoryTheory.Functor.coreprX F = (Exists.choose ⋯).unop
Instances For
An isomorphism between a corepresnetable F
and a functor of the form
C(F.corepr X, -)
. Note the components F.coreprW.app X
definitionally have type F.corepr_X ⟶ X ≅ F.obj X
.
Equations
Instances For
The representing element for the corepresentable functor F
, sometimes called the universal
element of the functor.
Equations
Instances For
Equations
Equations
We have a type-level equivalence between natural transformations from the yoneda embedding
and elements of F.obj X
, without any universe switching.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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 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
We have a type-level equivalence between natural transformations from the coyoneda embedding
and elements of F.obj X.unop
, without any universe switching.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The "Coyoneda evaluation" functor, which sends X : C
and F : C ⥤ Type
to F.obj X
, functorially in both X
and F
.
Equations
Instances For
The "Coyoneda pairing" functor, which sends X : C
and F : C ⥤ Type
to coyoneda.rightOp.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 (coyoneda.obj X ⋙ uliftFunctor ⟶ F) ≃ F.obj (unop X)
which is a variant
of coyonedaEquiv
with heterogeneous universes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Coyoneda lemma asserts that the Coyoneda pairing
(X : C, F : C ⥤ Type) ↦ (coyoneda.obj 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 curried version of coyoneda lemma when C
is small.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The curried version of coyoneda lemma when C
is small.
Equations
- One or more equations did not get rendered due to their size.