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 https://stacks.math.columbia.edu/tag/001O.
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 fully faithful.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Yoneda embedding is full.
See https://stacks.math.columbia.edu/tag/001P.
Equations
- ⋯ = ⋯
The Yoneda embedding is faithful.
See https://stacks.math.columbia.edu/tag/001P.
Equations
- ⋯ = ⋯
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 co-Yoneda embedding is fully faithful.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The morphism X ⟶ Y corresponding to a natural transformation
coyoneda.obj X ⟶ coyoneda.obj Y.
Equations
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
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ᵒᵖ) => (CategoryTheory.opEquiv (Opposite.unop (Opposite.op (Opposite.op X))) x).toIso) ⋯
Instances For
The data which expresses that a functor F : Cᵒᵖ ⥤ Type v is representable by Y : C.
- homEquiv : {X : C} → (X ⟶ Y) ≃ F.obj (Opposite.op X)
the natural bijection
(X ⟶ Y) ≃ F.obj (op X). - homEquiv_comp : ∀ {X X' : C} (f : X ⟶ X') (g : X' ⟶ Y), self.homEquiv (CategoryTheory.CategoryStruct.comp f g) = F.map f.op (self.homEquiv g)
Instances For
If F ≅ F', and F is representable, then F' is representable.
Equations
- e.ofIso e' = { homEquiv := fun {X : C} => e.homEquiv.trans (e'.app (Opposite.op X)).toEquiv, homEquiv_comp := ⋯ }
Instances For
The data which expresses that a functor F : C ⥤ Type v is corepresentable by X : C.
the natural bijection
(X ⟶ Y) ≃ F.obj Y.- homEquiv_comp : ∀ {Y Y' : C} (g : Y ⟶ Y') (f : X ⟶ Y), self.homEquiv (CategoryTheory.CategoryStruct.comp f g) = F.map g (self.homEquiv f)
Instances For
If F ≅ F', and F is corepresentable, then F' is corepresentable.
Equations
- e.ofIso e' = { homEquiv := fun {X_1 : C} => e.homEquiv.trans (e'.app X_1).toEquiv, homEquiv_comp := ⋯ }
Instances For
The obvious bijection F.RepresentableBy Y ≃ (yoneda.obj Y ≅ F)
when F : Cᵒᵖ ⥤ Type v₁ and [Category.{v₁} C].
Equations
- One or more equations did not get rendered due to their size.
Instances For
The isomorphism yoneda.obj Y ≅ F induced by e : F.RepresentableBy Y.
Equations
- e.toIso = CategoryTheory.Functor.representableByEquiv e
Instances For
The obvious bijection F.CorepresentableBy X ≃ (yoneda.obj Y ≅ F)
when F : C ⥤ Type v₁ and [Category.{v₁} C].
Equations
- One or more equations did not get rendered due to their size.
Instances For
The isomorphism coyoneda.obj (op X) ≅ F induced by e : F.CorepresentableBy X.
Equations
- e.toIso = CategoryTheory.Functor.corepresentableByEquiv e
Instances For
A functor F : Cᵒᵖ ⥤ Type v is representable if there is oan bject Y with a structure
F.RepresentableBy Y, i.e. there is a natural bijection (X ⟶ Y) ≃ F.obj (op X),
which may also be rephrased as a natural isomorphism yoneda.obj X ≅ F when Category.{v} C.
See https://stacks.math.columbia.edu/tag/001Q.
- has_representation : ∃ (Y : C), Nonempty (F.RepresentableBy Y)
Instances
Alias of CategoryTheory.Functor.IsRepresentable.
A functor F : Cᵒᵖ ⥤ Type v is representable if there is oan bject Y with a structure
F.RepresentableBy Y, i.e. there is a natural bijection (X ⟶ Y) ≃ F.obj (op X),
which may also be rephrased as a natural isomorphism yoneda.obj X ≅ F when Category.{v} C.
See https://stacks.math.columbia.edu/tag/001Q.
Instances For
Alternative constructure for F.IsRepresentable, which takes as an input an
isomorphism yoneda.obj X ≅ F.
Equations
- ⋯ = ⋯
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.
- has_corepresentation : ∃ (X : C), Nonempty (F.CorepresentableBy X)
Instances
Alias of CategoryTheory.Functor.IsCorepresentable.
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 For
Alternative constructure for F.IsCorepresentable, which takes as an input an
isomorphism coyoneda.obj (op X) ≅ F.
Equations
- ⋯ = ⋯
The representing object for the representable functor F.
Equations
- F.reprX = ⋯.choose
Instances For
A chosen term in F.RepresentableBy (reprX F) when F.IsRepresentable holds.
Equations
- F.representableBy = ⋯.some
Instances For
The representing element for the representable functor F, sometimes called the universal
element of the functor.
Equations
- F.reprx = F.representableBy.homEquiv (CategoryTheory.CategoryStruct.id F.reprX)
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.reprX) ≅ F.obj X.
Equations
- F.reprW = F.representableBy.toIso
Instances For
The representing object for the corepresentable functor F.
Equations
- F.coreprX = ⋯.choose
Instances For
A chosen term in F.CorepresentableBy (coreprX F) when F.IsCorepresentable holds.
Equations
- F.corepresentableBy = ⋯.some
Instances For
The representing element for the corepresentable functor F, sometimes called the universal
element of the functor.
Equations
- F.coreprx = F.corepresentableBy.homEquiv (CategoryTheory.CategoryStruct.id F.coreprX)
Instances For
An isomorphism between a corepresentable 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
- F.coreprW = F.corepresentableBy.toIso
Instances For
Equations
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
See also yonedaEquiv_naturality' for a more general version.
Variant of yonedaEquiv_naturality with general g. This is technically strictly more general
than yonedaEquiv_naturality, but yonedaEquiv_naturality is sometimes preferable because it
can avoid the "motive is not type correct" error.
See also map_yonedaEquiv' for a more general version.
Variant of map_yonedaEquiv with general g. This is technically strictly more general
than map_yonedaEquiv, but map_yonedaEquiv is sometimes preferable because it
can avoid the "motive is not type correct" error.
Two morphisms of presheaves of types P ⟶ Q coincide if the precompositions
with morphisms yoneda.obj X ⟶ P agree.
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 https://stacks.math.columbia.edu/tag/001P.
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 the Yoneda lemma.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Version of the Yoneda lemma where the presheaf is fixed but the argument varies.
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 https://stacks.math.columbia.edu/tag/001P.
Equations
- CategoryTheory.coyonedaLemma C = CategoryTheory.NatIso.ofComponents (fun (x : C × CategoryTheory.Functor C (Type ?u.25)) => (CategoryTheory.coyonedaEquiv.trans Equiv.ulift.symm).toIso) ⋯
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 the Coyoneda lemma.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Version of the Coyoneda lemma where the presheaf is fixed but the argument varies.
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 natural transformation yoneda.obj X ⟶ F.op ⋙ yoneda.obj (F.obj X)
when F : C ⥤ D and X : C.
Equations
- CategoryTheory.yonedaMap F X = { app := fun (x : Cᵒᵖ) (f : (CategoryTheory.yoneda.obj X).obj x) => F.map f, naturality := ⋯ }
Instances For
FullyFaithful.homEquiv as a natural isomorphism.
Equations
- hF.homNatIso X = CategoryTheory.NatIso.ofComponents (fun (Y : Cᵒᵖ) => (Equiv.ulift.trans (hF.homEquiv.symm.trans Equiv.ulift.symm)).toIso) ⋯
Instances For
FullyFaithful.homEquiv as a natural isomorphism.
Equations
- hF.homNatIsoMaxRight X = CategoryTheory.NatIso.ofComponents (fun (Y : Cᵒᵖ) => (hF.homEquiv.symm.trans Equiv.ulift.symm).toIso) ⋯
Instances For
FullyFaithful.homEquiv as a natural isomorphism.
Equations
- hF.compYonedaCompWhiskeringLeft = CategoryTheory.NatIso.ofComponents (fun (X : C) => hF.homNatIso X) ⋯
Instances For
FullyFaithful.homEquiv as a natural isomorphism.
Equations
- hF.compYonedaCompWhiskeringLeftMaxRight = CategoryTheory.NatIso.ofComponents (fun (X : C) => hF.homNatIsoMaxRight X) ⋯