agda-gset/Category/GSets.agda

33 lines
1.4 KiB
Agda
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 <_>)