Preservation of biproducts #
We define the image of a (binary) bicone under a functor that preserves zero morphisms and define
classes PreservesBiproduct
and PreservesBinaryBiproduct
. We then
- show that a functor that preserves biproducts of a two-element type preserves binary biproducts,
- construct the comparison morphisms between the image of a biproduct and the biproduct of the images and show that the biproduct is preserved if one of them is an isomorphism,
- give the canonical isomorphism between the image of a biproduct and the biproduct of the images in case that the biproduct is preserved.
The image of a bicone under a functor.
Equations
- F.mapBicone b = { pt := F.obj b.pt, π := fun (j : J) => F.map (b.π j), ι := fun (j : J) => F.map (b.ι j), ι_π := ⋯ }
Instances For
The image of a binary bicone under a functor.
Equations
- F.mapBinaryBicone b = (CategoryTheory.Limits.BinaryBicones.functoriality X Y F).obj b
Instances For
A functor F
preserves biproducts of f
if F
maps every bilimit bicone over f
to a
bilimit bicone over F.obj ∘ f
.
- preserves : {b : CategoryTheory.Limits.Bicone f} → b.IsBilimit → (F.mapBicone b).IsBilimit
A functor
F
preserves biproducts off
ifF
maps every bilimit bicone overf
to a bilimit bicone overF.obj ∘ f
.
Instances
A functor F
preserves biproducts of f
if F
maps every bilimit bicone over f
to a
bilimit bicone over F.obj ∘ f
.
Equations
Instances For
A functor F
preserves biproducts of shape J
if it preserves biproducts of f
for every
f : J → C
.
- preserves : {f : J → C} → CategoryTheory.Limits.PreservesBiproduct f F
A functor
F
preserves biproducts of shapeJ
if it preserves biproducts off
for everyf : J → C
.
Instances
A functor F
preserves finite biproducts if it preserves biproducts of shape J
whenever
J
is a fintype.
- preserves : {J : Type} → [inst : Fintype J] → CategoryTheory.Limits.PreservesBiproductsOfShape J F
A functor
F
preserves finite biproducts if it preserves biproducts of shapeJ
wheneverJ
is a fintype.
Instances
A functor F
preserves biproducts if it preserves biproducts of any shape J
of size w
.
The usual notion of preservation of biproducts is recovered by choosing w
to be the universe
of the morphisms of C
.
- preserves : {J : Type w₁} → CategoryTheory.Limits.PreservesBiproductsOfShape J F
A functor
F
preserves biproducts if it preserves biproducts of any shapeJ
of sizew
. The usual notion of preservation of biproducts is recovered by choosingw
to be the universe of the morphisms ofC
.
Instances
Preserving biproducts at a bigger universe level implies preserving biproducts at a smaller universe level.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.Limits.preservesFiniteBiproductsOfPreservesBiproducts F = { preserves := fun {J : Type} (x : Fintype J) => inferInstance }
A functor F
preserves binary biproducts of X
and Y
if F
maps every bilimit bicone over
X
and Y
to a bilimit bicone over F.obj X
and F.obj Y
.
- preserves : {b : CategoryTheory.Limits.BinaryBicone X Y} → b.IsBilimit → (F.mapBinaryBicone b).IsBilimit
A functor
F
preserves binary biproducts ofX
andY
ifF
maps every bilimit bicone overX
andY
to a bilimit bicone overF.obj X
andF.obj Y
.
Instances
A functor F
preserves binary biproducts of X
and Y
if F
maps every bilimit bicone over
X
and Y
to a bilimit bicone over F.obj X
and F.obj Y
.
Equations
Instances For
A functor F
preserves binary biproducts if it preserves the binary biproduct of X
and Y
for all X
and Y
.
- preserves : {X Y : C} → CategoryTheory.Limits.PreservesBinaryBiproduct X Y F
A functor
F
preserves binary biproducts if it preserves the binary biproduct ofX
andY
for allX
andY
.
Instances
A functor that preserves biproducts of a pair preserves binary biproducts.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A functor that preserves biproducts of a pair preserves binary biproducts.
Equations
- CategoryTheory.Limits.preservesBinaryBiproductsOfPreservesBiproducts F = { preserves := fun {X : C} (Y : C) => CategoryTheory.Limits.preservesBinaryBiproductOfPreservesBiproduct F X Y }
Instances For
As for products, any functor between categories with biproducts gives rise to a morphism
F.obj (⨁ f) ⟶ ⨁ (F.obj ∘ f)
.
Equations
- F.biproductComparison f = CategoryTheory.Limits.biproduct.lift fun (j : J) => F.map (CategoryTheory.Limits.biproduct.π f j)
Instances For
As for coproducts, any functor between categories with biproducts gives rise to a morphism
⨁ (F.obj ∘ f) ⟶ F.obj (⨁ f)
Equations
- F.biproductComparison' f = CategoryTheory.Limits.biproduct.desc fun (j : J) => F.map (CategoryTheory.Limits.biproduct.ι f j)
Instances For
The composition in the opposite direction is equal to the identity if and only if F
preserves
the biproduct, see preservesBiproduct_of_monoBiproductComparison
.
biproduct_comparison F f
is a split epimorphism.
Equations
- F.splitEpiBiproductComparison f = { section_ := F.biproductComparison' f, id := ⋯ }
Instances For
Equations
- ⋯ = ⋯
biproduct_comparison' F f
is a split monomorphism.
Equations
- F.splitMonoBiproductComparison' f = { retraction := F.biproductComparison f, id := ⋯ }
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
If F
preserves a biproduct, we get a definitionally nice isomorphism
F.obj (⨁ f) ≅ ⨁ (F.obj ∘ f)
.
Equations
- F.mapBiproduct f = CategoryTheory.Limits.biproduct.uniqueUpToIso (F.obj ∘ f) (CategoryTheory.Limits.PreservesBiproduct.preserves (CategoryTheory.Limits.biproduct.isBilimit f))
Instances For
As for products, any functor between categories with binary biproducts gives rise to a
morphism F.obj (X ⊞ Y) ⟶ F.obj X ⊞ F.obj Y
.
Equations
- F.biprodComparison X Y = CategoryTheory.Limits.biprod.lift (F.map CategoryTheory.Limits.biprod.fst) (F.map CategoryTheory.Limits.biprod.snd)
Instances For
As for coproducts, any functor between categories with binary biproducts gives rise to a
morphism F.obj X ⊞ F.obj Y ⟶ F.obj (X ⊞ Y)
.
Equations
- F.biprodComparison' X Y = CategoryTheory.Limits.biprod.desc (F.map CategoryTheory.Limits.biprod.inl) (F.map CategoryTheory.Limits.biprod.inr)
Instances For
The composition in the opposite direction is equal to the identity if and only if F
preserves
the biproduct, see preservesBinaryBiproduct_of_monoBiprodComparison
.
biprodComparison F X Y
is a split epi.
Equations
- F.splitEpiBiprodComparison X Y = { section_ := F.biprodComparison' X Y, id := ⋯ }
Instances For
Equations
- ⋯ = ⋯
biprodComparison' F X Y
is a split mono.
Equations
- F.splitMonoBiprodComparison' X Y = { retraction := F.biprodComparison X Y, id := ⋯ }
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
If F
preserves a binary biproduct, we get a definitionally nice isomorphism
F.obj (X ⊞ Y) ≅ F.obj X ⊞ F.obj Y
.
Equations
- F.mapBiprod X Y = CategoryTheory.Limits.biprod.uniqueUpToIso (F.obj X) (F.obj Y) (CategoryTheory.Limits.PreservesBinaryBiproduct.preserves (CategoryTheory.Limits.BinaryBiproduct.isBilimit X Y))