agda-gset/Category/GSets.agda

34 lines
1.4 KiB
Agda
Raw Normal View History

2024-05-04 14:15:13 +02:00
open import Algebra.Bundles
2024-05-04 15:02:01 +02:00
open import Algebra.GSet
open import Categories.Category.Core
open import Relation.Binary.PropositionalEquality as using (_≡_)
2024-05-04 14:15:13 +02:00
open import Level
2024-05-04 15:02:01 +02:00
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 <_>)