mirror of
https://github.com/Smaug123/agdaproofs
synced 2025-10-07 04:48:41 +00:00
19 lines
702 B
Agda
19 lines
702 B
Agda
{-# OPTIONS --safe --warning=error --without-K #-}
|
||
|
||
open import Setoids.Setoids
|
||
open import Agda.Primitive using (Level; lzero; lsuc; _⊔_)
|
||
|
||
module Groups.Definition where
|
||
|
||
record Group {lvl1 lvl2} {A : Set lvl1} (S : Setoid {lvl1} {lvl2} A) (_·_ : A → A → A) : Set (lsuc lvl1 ⊔ lvl2) where
|
||
open Setoid S
|
||
field
|
||
+WellDefined : {m n x y : A} → (m ∼ x) → (n ∼ y) → (m · n) ∼ (x · y)
|
||
0G : A
|
||
inverse : A → A
|
||
+Associative : {a b c : A} → (a · (b · c)) ∼ (a · b) · c
|
||
identRight : {a : A} → (a · 0G) ∼ a
|
||
identLeft : {a : A} → (0G · a) ∼ a
|
||
invLeft : {a : A} → (inverse a) · a ∼ 0G
|
||
invRight : {a : A} → a · (inverse a) ∼ 0G
|