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
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 = { obj := fun (f : (i : I) → C i) => f i, map := fun {X Y : (i : I) → C i} (α : X ⟶ Y) => α i, map_id := ⋯, map_comp := ⋯ }
Instances For
Equations
- CategoryTheory.Pi.instCategoryComp 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 = { obj := fun (f : (i : I) → C i) (i : J) => f (h i), map := fun {X Y : (i : I) → C i} (α : X ⟶ Y) (i : J) => α (h i), map_id := ⋯, map_comp := ⋯ }
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
Equations
- CategoryTheory.Pi.sumElimCategory C (Sum.inl i) = id inferInstance
- CategoryTheory.Pi.sumElimCategory C (Sum.inr j) = id inferInstance
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 = { hom := f.hom i, inv := f.inv i, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Assemble an I
-indexed family of functors into a functor between the pi types.
Equations
- CategoryTheory.Functor.pi F = { obj := fun (f : (i : I) → C i) (i : I) => (F i).obj (f i), map := fun {X Y : (i : I) → C i} (α : X ⟶ Y) (i : I) => (F i).map (α i), map_id := ⋯, map_comp := ⋯ }
Instances For
Similar to pi
, but all functors come from the same category A
Equations
- CategoryTheory.Functor.pi' f = { obj := fun (a : A) (i : I) => (f i).obj a, map := fun {X Y : A} (h : X ⟶ Y) (i : I) => (f i).map h, map_id := ⋯, map_comp := ⋯ }
Instances For
The projections of Functor.pi' F
are isomorphic to the functors of the family F
Equations
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 α = { app := fun (f : (i : I) → C i) (i : I) => (α i).app (f i), naturality := ⋯ }
Instances For
Assemble an I
-indexed family of natural transformations into a single natural transformation.
Equations
- CategoryTheory.NatTrans.pi' τ = { app := fun (X : E) (i : I) => (τ i).app X, naturality := ⋯ }
Instances For
Assemble an I
-indexed family of natural isomorphisms into a single natural isomorphism.
Equations
- CategoryTheory.NatIso.pi e = { hom := CategoryTheory.NatTrans.pi fun (i : I) => (e i).hom, inv := CategoryTheory.NatTrans.pi fun (i : I) => (e i).inv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Assemble an I
-indexed family of natural isomorphisms into a single natural isomorphism.
Equations
- CategoryTheory.NatIso.pi' e = { hom := CategoryTheory.NatTrans.pi' fun (i : I) => (e i).hom, inv := CategoryTheory.NatTrans.pi' fun (i : I) => (e i).inv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
For a family of categories C i
indexed by I
, an equality i = j
in I
induces
an equivalence C i ≌ C j
.
Equations
- CategoryTheory.Pi.eqToEquivalence C h = h ▸ CategoryTheory.Equivalence.refl
Instances For
When i = j
, projections Pi.eval C i
and Pi.eval C j
are related by the equivalence
Pi.eqToEquivalence C h : C i ≌ C j
.
Instances For
The equivalences given by Pi.eqToEquivalence
are compatible with reindexing.
Equations
Instances For
Reindexing a family of categories gives equivalent Pi
categories.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A product of categories indexed by Option J
identifies to a binary product.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assemble an I
-indexed family of equivalences of categories
into a single equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯