Categories of indexed families of objects. #
We define the pointwise category structure on indexed families of objects in a category (and also the dependent generalization).
pi C
gives the cartesian product of an indexed family of categories.
Equations
- CategoryTheory.pi C = CategoryTheory.Category.mk
This provides some assistance to typeclass search in a common situation,
which otherwise fails. (Without this CategoryTheory.Pi.has_limit_of_has_limit_comp_eval
fails.)
Equations
The evaluation functor at i : I
, sending an I
-indexed family of objects to the object over i
.
Equations
- CategoryTheory.Pi.eval C i = CategoryTheory.Functor.mk { obj := fun f => f i, map := fun {X Y} α => α i }
Instances For
Equations
- CategoryTheory.Pi.instForAllCategoryCompType C f = id inferInstance
Pull back an I
-indexed family of objects to a J
-indexed family, along a function J → I
.
Equations
- CategoryTheory.Pi.comap C h = CategoryTheory.Functor.mk { obj := fun f i => f (h i), map := fun {X Y} α i => α (h i) }
Instances For
The natural isomorphism between pulling back a grading along the identity function, and the identity functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The natural isomorphism comparing between pulling back along two successive functions, and pulling back along their composition
Equations
- One or more equations did not get rendered due to their size.
Instances For
The natural isomorphism between pulling back then evaluating, and just evaluating.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The bifunctor combining an I
-indexed family of objects with a J
-indexed family of objects
to obtain an I ⊕ J
-indexed family of objects.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An isomorphism between I
-indexed objects gives an isomorphism between each
pair of corresponding components.
Equations
- CategoryTheory.Pi.isoApp f i = CategoryTheory.Iso.mk (((i : I) → C i).hom (CategoryTheory.pi fun i => C i) X Y f i) (((i : I) → C i).inv (CategoryTheory.pi fun i => C i) X Y f i)
Instances For
Assemble an I
-indexed family of functors into a functor between the pi types.
Equations
- CategoryTheory.Functor.pi F = CategoryTheory.Functor.mk { obj := fun f i => (F i).obj (f i), map := fun {X Y} α i => (F i).map (α i) }
Instances For
Similar to pi
, but all functors come from the same category A
Equations
- CategoryTheory.Functor.pi' f = CategoryTheory.Functor.mk { obj := fun a i => (f i).obj a, map := fun {X Y} h i => (f i).map h }
Instances For
Two functors to a product category are equal iff they agree on every coordinate.
Assemble an I
-indexed family of natural transformations into a single natural transformation.
Equations
- CategoryTheory.NatTrans.pi α = CategoryTheory.NatTrans.mk fun f i => (α i).app (f i)