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 full.
See https://stacks.math.columbia.edu/tag/001P.
Equations
- One or more equations did not get rendered due to their size.
The Yoneda embedding is faithful.
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 => CategoryTheory.Iso.mk (p Z.unop) (q Z.unop))
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.
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
- CategoryTheory.Coyoneda.punitIso = CategoryTheory.NatIso.ofComponents fun X => CategoryTheory.Iso.mk (fun f => f PUnit.unit) fun x x_1 => x
Instances For
Taking the unop of morphisms is a natural isomorphism.
Equations
- CategoryTheory.Coyoneda.objOpOp X = CategoryTheory.NatIso.ofComponents fun x => Equiv.toIso (CategoryTheory.opEquiv (Opposite.op (Opposite.op X)).unop x)
Instances For
- has_representation : ∃ X f, CategoryTheory.IsIso f
Hom(-,X) ≅ Fviaf
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
Equations
- One or more equations did not get rendered due to their size.
- has_corepresentation : ∃ X f, CategoryTheory.IsIso f
Hom(X,-) ≅ Fviaf
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
Equations
- One or more equations did not get rendered due to their size.
The representing object for the representable functor F.
Equations
- CategoryTheory.Functor.reprX F = Exists.choose (_ : ∃ X f, CategoryTheory.IsIso f)
Instances For
The (forward direction of the) isomorphism witnessing F is representable.
Equations
- CategoryTheory.Functor.reprF F = Exists.choose (_ : ∃ f, CategoryTheory.IsIso f)
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
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 f, CategoryTheory.IsIso f)).unop
Instances For
The (forward direction of the) isomorphism witnessing F is corepresentable.
Equations
- CategoryTheory.Functor.coreprF F = Exists.choose (_ : ∃ f, CategoryTheory.IsIso f)
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
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
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 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
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.