Zero objects #
A category "has a zero object" if it has an object which is both initial and terminal. Having a
zero object provides zero morphisms, as the unique morphisms factoring through the zero object;
see CategoryTheory.Limits.Shapes.ZeroMorphisms
.
References #
- [F. Borceux, Handbook of Categorical Algebra 2][borceux-vol2]
An object X
in a category is a zero object if for every object Y
there is a unique morphism to : X → Y
and a unique morphism from : Y → X
.
This is a characteristic predicate for has_zero_object
.
there are unique morphisms to the object
there are unique morphisms from the object
Instances For
If h : IsZero X
, then h.to_ Y
is a choice of unique morphism X → Y
.
Equations
- h.to_ Y = default
Instances For
If h : is_zero X
, then h.from_ Y
is a choice of unique morphism Y → X
.
Equations
- h.from_ Y = default
Instances For
Any two zero objects are isomorphic.
Equations
- hX.iso hY = { hom := hX.to_ Y, inv := hX.from_ Y, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
A zero object is in particular initial.
Equations
- hX.isInitial = CategoryTheory.Limits.IsInitial.ofUnique X
Instances For
A zero object is in particular terminal.
Equations
- hX.isTerminal = CategoryTheory.Limits.IsTerminal.ofUnique X
Instances For
The (unique) isomorphism between any initial object and the zero object.
Equations
- hX.isoIsInitial hY = hX.isInitial.uniqueUpToIso hY
Instances For
The (unique) isomorphism between any terminal object and the zero object.
Equations
- hX.isoIsTerminal hY = hX.isTerminal.uniqueUpToIso hY
Instances For
A category "has a zero object" if it has an object which is both initial and terminal.
- zero : ∃ (X : C), CategoryTheory.Limits.IsZero X
there exists a zero object
Instances
Construct a Zero C
for a category with a zero object.
This can not be a global instance as it will trigger for every Zero C
typeclass search.
Equations
- CategoryTheory.Limits.HasZeroObject.zero' C = { zero := ⋯.choose }
Instances For
Equations
- ⋯ = ⋯
Every zero object is isomorphic to the zero object.
Equations
- hX.isoZero = hX.iso ⋯
Instances For
There is a unique morphism from the zero object to any object X
.
Equations
Instances For
There is a unique morphism from any object X
to the zero object.
Equations
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A zero object is in particular initial.
Equations
- CategoryTheory.Limits.HasZeroObject.zeroIsInitial = ⋯.isInitial
Instances For
A zero object is in particular terminal.
Equations
- CategoryTheory.Limits.HasZeroObject.zeroIsTerminal = ⋯.isTerminal
Instances For
A zero object is in particular initial.
Equations
- ⋯ = ⋯
A zero object is in particular terminal.
Equations
- ⋯ = ⋯
The (unique) isomorphism between any initial object and the zero object.
Equations
- CategoryTheory.Limits.HasZeroObject.zeroIsoIsInitial t = CategoryTheory.Limits.HasZeroObject.zeroIsInitial.uniqueUpToIso t
Instances For
The (unique) isomorphism between any terminal object and the zero object.
Equations
- CategoryTheory.Limits.HasZeroObject.zeroIsoIsTerminal t = CategoryTheory.Limits.HasZeroObject.zeroIsTerminal.uniqueUpToIso t
Instances For
The (unique) isomorphism between the chosen initial object and the chosen zero object.
Equations
- CategoryTheory.Limits.HasZeroObject.zeroIsoInitial = CategoryTheory.Limits.HasZeroObject.zeroIsInitial.uniqueUpToIso CategoryTheory.Limits.initialIsInitial
Instances For
The (unique) isomorphism between the chosen terminal object and the chosen zero object.
Equations
- CategoryTheory.Limits.HasZeroObject.zeroIsoTerminal = CategoryTheory.Limits.HasZeroObject.zeroIsTerminal.uniqueUpToIso CategoryTheory.Limits.terminalIsTerminal
Instances For
Equations
- ⋯ = ⋯