{-# OPTIONS --safe #-}
module Cubical.Algebra.AbGroup.Instances.DirectSumHIT where
open import Cubical.Foundations.Prelude
open import Cubical.Algebra.AbGroup
open import Cubical.Algebra.DirectSum.DirectSumHIT.Base
open import Cubical.Algebra.DirectSum.DirectSumHIT.Properties
private variable
ℓ ℓ' : Level
module _ (Idx : Type ℓ) (P : Idx → Type ℓ') (AGP : (r : Idx) → AbGroupStr (P r)) where
open AbGroupStr
open AbGroupProperties Idx P AGP
⊕HIT-AbGr : AbGroup (ℓ-max ℓ ℓ')
fst ⊕HIT-AbGr = ⊕HIT Idx P AGP
0g (snd ⊕HIT-AbGr) = neutral
_+_ (snd ⊕HIT-AbGr) = _add_
- snd ⊕HIT-AbGr = inv
isAbGroup (snd ⊕HIT-AbGr) = makeIsAbGroup trunc addAssoc addRid rinv addComm