mirror of
https://github.com/Smaug123/agdaproofs
synced 2025-10-10 22:28:40 +00:00
Lots of rings (#82)
This commit is contained in:
@@ -24,12 +24,12 @@ record Subgroup {c : _} (pred : A → Set c) : Set (a ⊔ b ⊔ c) where
|
||||
subgroupOp : {c : _} {pred : A → Set c} → (s : Subgroup pred) → Sg A pred → Sg A pred → Sg A pred
|
||||
subgroupOp {pred = pred} record { closedUnderPlus = one } (a , prA) (b , prB) = (a + b) , one prA prB
|
||||
|
||||
subgroupIsGroup : {c : _} {pred : A → Set c} → (subs : subset pred) → (s : Subgroup pred) → Group (subsetSetoid subs) (subgroupOp s)
|
||||
Group.+WellDefined (subgroupIsGroup _ s) {m , prM} {n , prN} {x , prX} {y , prY} m=x n=y = +WellDefined m=x n=y
|
||||
Group.0G (subgroupIsGroup _ record { containsIdentity = two }) = 0G , two
|
||||
Group.inverse (subgroupIsGroup _ record { closedUnderInverse = three }) (a , prA) = (inverse a) , three prA
|
||||
Group.+Associative (subgroupIsGroup _ s) {a , prA} {b , prB} {c , prC} = +Associative
|
||||
Group.identRight (subgroupIsGroup _ s) {a , prA} = identRight
|
||||
Group.identLeft (subgroupIsGroup _ s) {a , prA} = identLeft
|
||||
Group.invLeft (subgroupIsGroup _ s) {a , prA} = invLeft
|
||||
Group.invRight (subgroupIsGroup _ s) {a , prA} = invRight
|
||||
subgroupIsGroup : {c : _} {pred : A → Set c} → (s : Subgroup pred) → Group (subsetSetoid (Subgroup.isSubset s)) (subgroupOp s)
|
||||
Group.+WellDefined (subgroupIsGroup s) {m , prM} {n , prN} {x , prX} {y , prY} m=x n=y = +WellDefined m=x n=y
|
||||
Group.0G (subgroupIsGroup record { containsIdentity = two }) = 0G , two
|
||||
Group.inverse (subgroupIsGroup record { closedUnderInverse = three }) (a , prA) = (inverse a) , three prA
|
||||
Group.+Associative (subgroupIsGroup s) {a , prA} {b , prB} {c , prC} = +Associative
|
||||
Group.identRight (subgroupIsGroup s) {a , prA} = identRight
|
||||
Group.identLeft (subgroupIsGroup s) {a , prA} = identLeft
|
||||
Group.invLeft (subgroupIsGroup s) {a , prA} = invLeft
|
||||
Group.invRight (subgroupIsGroup s) {a , prA} = invRight
|
||||
|
Reference in New Issue
Block a user