{-# OPTIONS --safe #-} module Cubical.Algebra.AbGroup.Instances.DirectSumFun where open import Cubical.Foundations.Prelude open import Cubical.Data.Nat open import Cubical.Algebra.AbGroup open import Cubical.Algebra.DirectSum.DirectSumFun.Base open import Cubical.Algebra.DirectSum.DirectSumFun.Properties private variable ℓ : Level module _ (G : (n : ℕ) → Type ℓ) (Gstr : (n : ℕ) → AbGroupStr (G n)) where open AbGroupStr open DSF-properties G Gstr ⊕Fun-AbGr : AbGroup ℓ fst ⊕Fun-AbGr = ⊕Fun G Gstr 0g (snd ⊕Fun-AbGr) = 0⊕Fun AbGroupStr._+_ (snd ⊕Fun-AbGr) = _+⊕Fun_ - snd ⊕Fun-AbGr = Inv⊕Fun isAbGroup (snd ⊕Fun-AbGr) = makeIsAbGroup isSet⊕Fun +⊕FunAssoc +⊕FunRid +⊕FunInvR +⊕FunComm