open import 1Lab.Prelude hiding (_+_ ; _*_)
open import Algebra.Group.Ab
open import Algebra.Group
module Algebra.Group.Notation where
module Additive-notation = Group-on renaming
( _⋆_ to infixl 20 _+_
; _⁻¹ to infixr 30 -_
; unit to 0g
; associative to +-assoc
; inverser to +-invr
; inversel to +-invl
; idl to +-idl
; idr to +-idr
; inv-inv to neg-neg
; inv-comm to neg-comm
; inv-unit to neg-0
)
hiding (magma-hlevel)
module Multiplicative-notation = Group-on renaming
( _⋆_ to infixl 20 _*_
; _⁻¹ to infixl 30 _⁻¹
; unit to 1g
; associative to *-assoc
; inverser to *-invr
; inversel to *-invl
; idl to *-idl
; idr to *-idr
; inv-unit to inv-1
)
hiding (magma-hlevel)
instance
Abelian-group-on→Group-on
: ∀ {ℓ} {T : Type ℓ} ⦃ A : Abelian-group-on T ⦄
→ Group-on T
Abelian-group-on→Group-on ⦃ A ⦄ = record {
has-is-group = is-abelian-group.has-is-group (A .Abelian-group-on.has-is-ab) }