mirror of
https://github.com/Smaug123/agdaproofs
synced 2025-10-13 07:38:40 +00:00
23 lines
1.4 KiB
Agda
23 lines
1.4 KiB
Agda
{-# OPTIONS --safe --warning=error --without-K #-}
|
|
|
|
open import LogicalFormulae
|
|
open import Setoids.Setoids
|
|
open import Functions
|
|
open import Agda.Primitive using (Level; lzero; lsuc; _⊔_)
|
|
open import Numbers.Naturals.Naturals
|
|
open import Sets.FinSet
|
|
open import Groups.Definition
|
|
open import Sets.EquivalenceRelations
|
|
|
|
module Groups.DirectSum.Definition where
|
|
|
|
directSum : {m n o p : _} → {A : Set m} {S : Setoid {m} {o} A} {_·A_ : A → A → A} {B : Set n} {T : Setoid {n} {p} B} {_·B_ : B → B → B} (G : Group S _·A_) (h : Group T _·B_) → Group (directSumSetoid S T) (λ x1 y1 → (((_&&_.fst x1) ·A (_&&_.fst y1)) ,, ((_&&_.snd x1) ·B (_&&_.snd y1))))
|
|
Group.+WellDefined (directSum {A = A} {B} g h) (s ,, t) (u ,, v) = Group.+WellDefined g s u ,, Group.+WellDefined h t v
|
|
Group.0G (directSum {A = A} {B} g h) = (Group.0G g ,, Group.0G h)
|
|
Group.inverse (directSum {A = A} {B} g h) (g1 ,, h1) = (Group.inverse g g1) ,, (Group.inverse h h1)
|
|
Group.+Associative (directSum {A = A} {B} g h) = Group.+Associative g ,, Group.+Associative h
|
|
Group.identRight (directSum {A = A} {B} g h) = Group.identRight g ,, Group.identRight h
|
|
Group.identLeft (directSum {A = A} {B} g h) = Group.identLeft g ,, Group.identLeft h
|
|
Group.invLeft (directSum {A = A} {B} g h) = Group.invLeft g ,, Group.invLeft h
|
|
Group.invRight (directSum {A = A} {B} g h) = Group.invRight g ,, Group.invRight h
|