module Cat.Abelian.Functor where
Ab-enriched functors🔗
Since are additionally equipped with the structure of abelian groups on their it’s natural that we ask that functors between preserve this structure. In particular, since every functor has an action which is a map of sets, when and are considered to be abelian groups, we should require that the action be a group homomorphism.
record Ab-functor : Type (o ⊔ o' ⊔ ℓ ⊔ ℓ') where
field
: Functor C D
functor
open Functor functor public
field
: ∀ {a b} (f g : A.Hom a b) → F₁ (f A.+ g) ≡ F₁ f B.+ F₁ g F-+
In passing we note that, since the are groups, preservation of addition automatically implies preservation of the zero morphism, preservation of inverses, and thus preservation of subtraction.
: ∀ {a b} → is-group-hom
F-hom (Abelian→Group-on (A.Abelian-group-on-hom a b))
(Abelian→Group-on (B.Abelian-group-on-hom _ _))
F₁.is-group-hom.pres-⋆ = F-+
F-hom
: ∀ {a b} → F₁ {a} {b} A.0m ≡ B.0m
F-0m = is-group-hom.pres-id F-hom
F-0m
: ∀ {a b} (f g : A.Hom a b) → F₁ (f A.- g) ≡ F₁ f B.- F₁ g
F-diff _ _ = is-group-hom.pres-diff F-hom
F-diff
: ∀ {a b} (f : A.Hom a b) → F₁ (A.Hom.inverse f) ≡ B.Hom.inverse (F₁ f)
F-inv _ = is-group-hom.pres-inv F-hom F-inv
Since the zero object in an is characterised as the unique object having and preserve both and every preserves zero objects. We say that the zero object, considered as a colimit, is absolute, i.e., preserved by every (relevant) functor.
Ab-functor-pres-∅: ∀ {o ℓ o' ℓ'} {C : Precategory o ℓ} {D : Precategory o' ℓ'}
{A : Ab-category C} {B : Ab-category D}
→ (F : Ab-functor A B) (∅A : Zero C)
→ is-zero D (Ab-functor.F₀ F (Zero.∅ ∅A))
{A = A} {B = B} F ∅A =
Ab-functor-pres-∅
id-zero→zero B $.id ≡˘⟨ F.F-id ⟩
B.₁ A.id ≡⟨ ap F.₁ (is-contr→is-prop (Zero.has⊤ ∅A (Zero.∅ ∅A)) _ _) ⟩
F.₁ A.0m ≡⟨ F.F-0m ⟩
F.0m ∎
Bwhere
module A = Ab-category A
module B = Ab-category B
module F = Ab-functor F