The category of elements #
This file defines the category of elements, also known as (a special case of) the Grothendieck construction.
Given a functor F : C ⥤ Type*, an object of F.Elements is a pair (X : C, x : F.obj X).
A morphism (X, x) ⟶ (Y, y) is a morphism f : X ⟶ Y in C such that F.map f takes x to y.
Implementation notes #
This construction is equivalent to a special case of a comma construction,
so this is mostly just a more convenient API. We prove the equivalence in
CategoryTheory.Functor.Elements.structuredArrowEquivalence.
References #
- [Emily Riehl, Category Theory in Context, Section 2.4][riehl2017]
- https://en.wikipedia.org/wiki/Category_of_elements
- https://ncatlab.org/nlab/show/category+of+elements
Tags #
category of elements, Grothendieck construction, comma category
The type of objects for the category of elements of a functor F : C ⥤ Type
is a pair (X : C, x : F.obj X).
- obj : C
the underlying object of an element of a functor to types
the value of the element
Instances For
Alias of CategoryTheory.Functor.Elements.obj.
the underlying object of an element of a functor to types
Instances For
Alias of CategoryTheory.Functor.Elements.val.
the value of the element
Instances For
Constructor for the type F.Elements when F is a functor to types.
Instances For
A morphism x ⟶ y in the category F.Elements of elements of a functor F : C ⥤ Type w
consists of a morphism hom : x.obj ⟶ y.obj such that F.map hom sends x.val to y.val.
the underlying morphism of objects
Instances For
The category structure on F.Elements, for F : C ⥤ Type.
A morphism (X, x) ⟶ (Y, y) is a morphism f : X ⟶ Y in C, so F.map f takes x to y.
The functor out of the category of elements which forgets the element.
Instances For
Natural transformations are mapped to functors between categories of elements.
Instances For
If φ : F ⟶ G is a natural transformation between functors to types, this is the
canonical isomorphism φ.mapElements ⋙ Functor.Elements.π G ≅ Functor.Elements.π F.
Instances For
The functor mapping functors C ⥤ Type w to their category of elements
Instances For
Constructor for morphisms in the category of elements of a functor to types.
Instances For
Constructor for isomorphisms in the category of elements of a functor to types.
Instances For
The forward direction of the equivalence F.Elements ≅ (*, F).
Instances For
The reverse direction of the equivalence F.Elements ≅ (*, F).
Instances For
The equivalence between the category of elements F.Elements
and the comma category (*, F).
Instances For
The forward direction of the equivalence F.Elementsᵒᵖ ≅ (yoneda, F),
given by CategoryTheory.yonedaEquiv.
Instances For
The reverse direction of the equivalence F.Elementsᵒᵖ ≅ (yoneda, F),
given by CategoryTheory.yonedaEquiv.
Instances For
The equivalence F.Elementsᵒᵖ ≅ (yoneda, F) given by Yoneda's lemma.
Instances For
The equivalence F.elementsᵒᵖ ≌ (yoneda, F) is compatible with the forgetful functors.
Instances For
The equivalence F.elementsᵒᵖ ≌ (yoneda, F) is compatible with the forgetful functors.
Instances For
The opposite of the category of elements of a presheaf of types is equivalent to a category of costructured arrows for the Yoneda embedding functor.
Instances For
The functor of the equivalence costructuredArrowULiftYonedaEquivalence F followed
by the projection CostructuredArrow uliftYoneda.{w} F ⥤ C identifies to (π F).leftOp.
Instances For
Given F : Cᵒᵖ ⥤ Type w where C is a locally w-small category, this is the
equivalence between the opposite of the category of elements of F and
CostructuredArrow shrinkYoneda.{w} F.
Instances For
The functor of the equivalence costructuredArrowShrinkYonedaEquivalence F followed
by the projection CostructuredArrow shrinkYoneda.{w} F ⥤ C identifies to (π F).leftOp.
Instances For
The initial object in F.Elements if F is representable.
Instances For
If F is represented by X, X with its universal element is the initial object of
F.Elements.
Instances For
The initial object in F.Elements if F is corepresentable.
Instances For
If F is corepresented by X, X with its universal element is the initial object of
F.Elements.
Instances For
The initial object in the category of elements for a representable functor. In isInitial it is
shown that this is initial.
Instances For
Show that Elements.initial A is initial in the category of elements for the yoneda functor.
Instances For
Alias of CategoryTheory.Functor.Elements.initialYonedaObj.
The initial object in the category of elements for a representable functor. In isInitial it is
shown that this is initial.
Instances For
Alias of CategoryTheory.Functor.Elements.isInitialYonedaObj.
Show that Elements.initial A is initial in the category of elements for the yoneda functor.
Instances For
The functor (F ⋙ G).Elements ⥤ G.Elements.
Instances For
The functor Functor.Elements.toCostructuredArrow is compatible with
NatTrans.mapElements.
Instances For
Alias of CategoryTheory.Functor.Elements.homMk.
Constructor for morphisms in the category of elements of a functor to types.
Instances For
Alias of CategoryTheory.Functor.Elements.isoMk.
Constructor for isomorphisms in the category of elements of a functor to types.
Instances For
Alias of CategoryTheory.Functor.Elements.hom_ext.
Alias of CategoryTheory.Functor.Elements.id_hom.
Alias of CategoryTheory.Functor.Elements.comp_hom.
Alias of CategoryTheory.Functor.Elements.π.
The functor out of the category of elements which forgets the element.
Instances For
Alias of CategoryTheory.NatTrans.mapElements.
Natural transformations are mapped to functors between categories of elements.
Instances For
Alias of CategoryTheory.Functor.Elements.toStructuredArrow.
The forward direction of the equivalence F.Elements ≅ (*, F).
Instances For
Alias of CategoryTheory.Functor.Elements.fromStructuredArrow.
The reverse direction of the equivalence F.Elements ≅ (*, F).
Instances For
Alias of CategoryTheory.Functor.Elements.toStructuredArrow_obj.
Alias of CategoryTheory.Functor.Elements.toStructuredArrow_map.
Alias of CategoryTheory.Functor.Elements.structuredArrowEquivalence.
The equivalence between the category of elements F.Elements
and the comma category (*, F).
Instances For
Alias of CategoryTheory.Functor.Elements.toCostructuredArrow.
The forward direction of the equivalence F.Elementsᵒᵖ ≅ (yoneda, F),
given by CategoryTheory.yonedaEquiv.
Instances For
Alias of CategoryTheory.Functor.Elements.fromCostructuredArrow.
The reverse direction of the equivalence F.Elementsᵒᵖ ≅ (yoneda, F),
given by CategoryTheory.yonedaEquiv.
Instances For
Alias of CategoryTheory.Functor.Elements.fromCostructuredArrow_obj_mk.
Alias of CategoryTheory.Functor.Elements.costructuredArrowYonedaEquivalence.
The equivalence F.Elementsᵒᵖ ≅ (yoneda, F) given by Yoneda's lemma.
Instances For
Alias of CategoryTheory.NatTrans.mapElements_op_comp_toCostructuredArrow.
Alias of CategoryTheory.Functor.Elements.costructuredArrowYonedaEquivalenceFunctorProj.
The equivalence F.elementsᵒᵖ ≌ (yoneda, F) is compatible with the forgetful functors.
Instances For
Alias of CategoryTheory.Functor.Elements.costructuredArrowYonedaEquivalenceInverseπ.
The equivalence F.elementsᵒᵖ ≌ (yoneda, F) is compatible with the forgetful functors.
Instances For
Alias of CategoryTheory.Functor.Elements.costructuredArrowULiftYonedaEquivalence.
The opposite of the category of elements of a presheaf of types is equivalent to a category of costructured arrows for the Yoneda embedding functor.
Instances For
Alias of CategoryTheory.Functor.Elements.costructuredArrowULiftYonedaEquivalenceFunctorCompProjIso.
The functor of the equivalence costructuredArrowULiftYonedaEquivalence F followed
by the projection CostructuredArrow uliftYoneda.{w} F ⥤ C identifies to (π F).leftOp.