The category of graded objects #
For any type β
, a β
-graded object over some category C
is just
a function β → C
into the objects of C
.
We put the "pointwise" category structure on these, as the non-dependent specialization of
CategoryTheory.Pi
.
We describe the comap
functors obtained by precomposing with functions β → γ
.
As a consequence a fixed element (e.g. 1
) in an additive group β
provides a shift
functor on β
-graded objects
When C
has coproducts we construct the total
functor GradedObject β C ⥤ C
,
show that it is faithful, and deduce that when C
is concrete so is GradedObject β C
.
A covariant functoriality of GradedObject β C
with respect to the index set β
is also
introduced: if p : I → J
is a map such that C
has coproducts indexed by p ⁻¹' {j}
, we
have a functor map : GradedObject I C ⥤ GradedObject J C
.
A type synonym for β → C
, used for β
-graded objects in a category C
.
Equations
- CategoryTheory.GradedObject β C = (β → C)
Instances For
Equations
- CategoryTheory.inhabitedGradedObject β C = { default := fun (x : β) => default }
A type synonym for β → C
, used for β
-graded objects in a category C
with a shift functor given by translation by s
.
Equations
Instances For
Equations
- CategoryTheory.GradedObject.categoryOfGradedObjects β = CategoryTheory.pi fun (x : β) => C
The projection of a graded object to its i
-th component.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Constructor for isomorphisms in GradedObject
Equations
- X.isoMk Y e = { hom := fun (i : β) => (e i).hom, inv := fun (i : β) => (e i).inv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Equations
- ⋯ = ⋯
Pull back an I
-graded object in C
to a J
-graded object along a function J → I
.
Equations
- CategoryTheory.GradedObject.comap C h = CategoryTheory.Pi.comap (fun (x : I) => C) h
Instances For
The natural isomorphism comparing between pulling back along two propositionally equal functions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The equivalence between β-graded objects and γ-graded objects, given an equivalence between β and γ.
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.
Equations
- CategoryTheory.GradedObject.instZeroHomOfHasZeroMorphisms β X Y = { zero := fun (x : β) => 0 }
Equations
- ⋯ = ⋯
The total object of a graded object is the coproduct of the graded components.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The total
functor taking a graded object to the coproduct of its graded components is faithful.
To prove this, we need to know that the coprojections into the coproduct are monomorphisms,
which follows from the fact we have zero morphisms and decidable equality for the grading.
Equations
- ⋯ = ⋯
Equations
- CategoryTheory.GradedObject.instHasForget₂ β C = { forget₂ := CategoryTheory.GradedObject.total β C, forget_comp := ⋯ }
If X : GradedObject I C
and p : I → J
, X.mapObjFun p j
is the family of objects X i
for i : I
such that p i = j
.
Equations
- X.mapObjFun p j i = X ↑i
Instances For
Given X : GradedObject I C
and p : I → J
, X.HasMap p
is the condition that
for all j : J
, the coproduct of all X i
such p i = j
exists.
Equations
- X.HasMap p = ∀ (j : J), CategoryTheory.Limits.HasCoproduct (X.mapObjFun p j)
Instances For
Given X : GradedObject I C
and p : I → J
, X.mapObj p
is the graded object by J
which in degree j
consists of the coproduct of the X i
such that p i = j
.
Instances For
The canonical inclusion X i ⟶ X.mapObj p j
when i : I
and j : J
are such
that p i = j
.
Equations
- X.ιMapObj p i j hij = CategoryTheory.Limits.Sigma.ι (X.mapObjFun p j) ⟨i, hij⟩
Instances For
Given X : GradedObject I C
, p : I → J
and j : J
,
CofanMapObjFun X p j
is the type Cofan (X.mapObjFun p j)
. The point object of
such colimits cofans are isomorphic to X.mapObj p j
, see CofanMapObjFun.iso
.
Equations
- X.CofanMapObjFun p j = CategoryTheory.Limits.Cofan (X.mapObjFun p j)
Instances For
Constructor for CofanMapObjFun X p j
.
Equations
- CategoryTheory.GradedObject.CofanMapObjFun.mk X p j pt ι' = CategoryTheory.Limits.Cofan.mk pt fun (x : ↑(p ⁻¹' {j})) => match x with | ⟨i, hi⟩ => ι' i hi
Instances For
The tautological cofan corresponding to the coproduct decomposition of X.mapObj p j
.
Equations
- X.cofanMapObj p j = CategoryTheory.GradedObject.CofanMapObjFun.mk X p j (X.mapObj p j) fun (i : I) (hi : p i = j) => X.ιMapObj p i j hi
Instances For
Given X : GradedObject I C
, p : I → J
and j : J
, X.mapObj p j
satisfies
the universal property of the coproduct of those X i
such that p i = j
.
Equations
- X.isColimitCofanMapObj p j = CategoryTheory.Limits.colimit.isColimit (CategoryTheory.Discrete.functor (X.mapObjFun p j))
Instances For
This is the morphism X.mapObj p j ⟶ A
constructed from a family of
morphisms X i ⟶ A
for all i : I
such that p i = j
.
Equations
- X.descMapObj p φ = CategoryTheory.Limits.Cofan.IsColimit.desc (X.isColimitCofanMapObj p j) fun (x : ↑(p ⁻¹' {j})) => match x with | ⟨i, hi⟩ => φ i hi
Instances For
If c : CofanMapObjFun X p j
is a colimit cofan, this is the induced
isomorphism c.pt ≅ X.mapObj p j
.
Equations
- CategoryTheory.GradedObject.CofanMapObjFun.iso hc = hc.coconePointUniqueUpToIso (X.isColimitCofanMapObj p j)
Instances For
The canonical morphism of J
-graded objects X.mapObj p ⟶ Y.mapObj p
induced by
a morphism X ⟶ Y
of I
-graded objects and a map p : I → J
.
Equations
- CategoryTheory.GradedObject.mapMap φ p j = X.descMapObj p fun (i : I) (hi : p i = j) => CategoryTheory.CategoryStruct.comp (φ i) (Y.ιMapObj p i j hi)
Instances For
The isomorphism of J
-graded objects X.mapObj p ≅ Y.mapObj p
induced by an
isomorphism X ≅ Y
of graded objects and a map p : I → J
.
Equations
- CategoryTheory.GradedObject.mapIso e p = { hom := CategoryTheory.GradedObject.mapMap e.hom p, inv := CategoryTheory.GradedObject.mapMap e.inv p, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Given a map p : I → J
, this is the functor GradedObject I C ⥤ GradedObject J C
which
sends an I
-object X
to the graded object X.mapObj p
which in degree j : J
is given
by the coproduct of those X i
such that p i = j
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given maps p : I → J
, q : J → K
and r : I → K
such that q.comp p = r
,
X : GradedObject I C
, k : K
, the datum of cofans X.CofanMapObjFun p j
for all
j : J
and of a cofan for all the points of these cofans, this is a cofan of
type X.CofanMapObjFun r k
, which is a colimit (see isColimitCofanMapObjComp
) if the
given cofans are.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given maps p : I → J
, q : J → K
and r : I → K
such that q.comp p = r
,
X : GradedObject I C
, k : K
, the cofan constructed by cofanMapObjComp
is a colimit.
In other words, if we have, for all j : J
such that hj : q j = k
,
a colimit cofan c j hj
which computes the coproduct of the X i
such that p i = j
,
and also a colimit cofan which computes the coproduct of the points of these c j hj
, then
the point of this latter cofan computes the coproduct of the X i
such that r i = k
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical inclusion X i ⟶ X.mapObj p j
when p i = j
, the zero morphism otherwise.