33 lines
1.4 KiB
Agda
33 lines
1.4 KiB
Agda
open import Algebra.Bundles
|
||
open import Algebra.GSet
|
||
open import Categories.Category.Core
|
||
open import Relation.Binary.PropositionalEquality as ≡ using (_≡_)
|
||
open import Level
|
||
|
||
module Category.GSets {c ℓ : Level} where
|
||
open Category
|
||
G-Sets : Group c ℓ → Category (suc (c ⊔ ℓ)) (suc c ⊔ suc ℓ) c
|
||
G-Sets G .Obj = G-Set G
|
||
G-Sets G ._⇒_ = G-Set-Morphism G
|
||
G-Sets G ._≈_ f g = ∀ {x} → f.u x ≡ g.u x
|
||
where
|
||
module f = G-Set-Morphism f
|
||
module g = G-Set-Morphism g
|
||
G-Sets G .id = record { u = λ x → x ; isEqui = ≡.refl }
|
||
G-Sets G ._∘_ f g .G-Set-Morphism.u x = f.u (g.u x)
|
||
where
|
||
module f = G-Set-Morphism f
|
||
module g = G-Set-Morphism g
|
||
-- TODO without rewrite
|
||
G-Sets G ._∘_ {X} {Y} {Z} f g .G-Set-Morphism.isEqui {h} {x} rewrite G-Set-Morphism.isEqui g {h} {x} | G-Set-Morphism.isEqui f {h} {G-Set-Morphism.u g x} = ≡.refl
|
||
where
|
||
module f = G-Set-Morphism f
|
||
module g = G-Set-Morphism g
|
||
G-Sets G .assoc = ≡.refl
|
||
G-Sets G .sym-assoc = ≡.refl
|
||
G-Sets G .identityˡ = ≡.refl
|
||
G-Sets G .identityʳ = ≡.refl
|
||
G-Sets G .identity² = ≡.refl
|
||
G-Sets G .equiv = record { refl = ≡.refl ; sym = λ eq → ≡.sym eq ; trans = λ eq₁ eq₂ → ≡.trans eq₁ eq₂ }
|
||
G-Sets G .∘-resp-≈ {X} {Y} {Z} {f} {h} {g} {i} f≈h g≈i = ≡.trans f≈h (≡.cong < h > g≈i)
|
||
where open G-Set-Morphism using () renaming (u to <_>)
|