module Cat.Abelian.Functor whereAb-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 : Functor C D
open Functor functor public
field
F-+ : ∀ {a b} (f g : A.Hom a b) → F₁ (f A.+ g) ≡ F₁ f B.+ F₁ gIn 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.
F-hom : ∀ {a b} → is-group-hom
(Abelian→Group-on (A.Abelian-group-on-hom a b))
(Abelian→Group-on (B.Abelian-group-on-hom _ _))
F₁
F-hom .is-group-hom.pres-⋆ = F-+
F-0m : ∀ {a b} → F₁ {a} {b} A.0m ≡ B.0m
F-0m = is-group-hom.pres-id F-hom
F-diff : ∀ {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-inv : ∀ {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-homSince 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))
Ab-functor-pres-∅ {A = A} {B = B} F ∅A =
id-zero→zero B $
B.id ≡˘⟨ F.F-id ⟩
F.₁ A.id ≡⟨ ap F.₁ (is-contr→is-prop (Zero.has⊤ ∅A (Zero.∅ ∅A)) _ _) ⟩
F.₁ A.0m ≡⟨ F.F-0m ⟩
B.0m ∎
where
module A = Ab-category A
module B = Ab-category B
module F = Ab-functor F