Isomorphisms of group actions
module group-theory.isomorphisms-group-actions where
Imports
open import category-theory.isomorphisms-large-precategories open import foundation.commuting-squares-of-maps open import foundation.dependent-pair-types open import foundation.equivalences open import foundation.identity-types open import foundation.universe-levels open import group-theory.equivalences-group-actions open import group-theory.group-actions open import group-theory.groups open import group-theory.homomorphisms-group-actions open import group-theory.precategory-of-group-actions
Definition
module _ {l1 l2 l3 : Level} (G : Group l1) (X : Abstract-Group-Action G l2) (Y : Abstract-Group-Action G l3) where private C = Abstract-Group-Action-Large-Precategory G is-iso-hom-Abstract-Group-Action : (f : type-hom-Abstract-Group-Action G X Y) → UU (l1 ⊔ l2 ⊔ l3) is-iso-hom-Abstract-Group-Action = is-iso-Large-Precategory C {X = X} {Y = Y} type-iso-Abstract-Group-Action : UU (l1 ⊔ l2 ⊔ l3) type-iso-Abstract-Group-Action = iso-Large-Precategory C X Y hom-iso-Abstract-Group-Action : type-iso-Abstract-Group-Action → type-hom-Abstract-Group-Action G X Y hom-iso-Abstract-Group-Action = hom-iso-Large-Precategory C X Y map-iso-Abstract-Group-Action : type-iso-Abstract-Group-Action → type-Abstract-Group-Action G X → type-Abstract-Group-Action G Y map-iso-Abstract-Group-Action f = map-hom-Abstract-Group-Action G X Y (hom-iso-Abstract-Group-Action f) coherence-square-iso-Abstract-Group-Action : (f : type-iso-Abstract-Group-Action) (g : type-Group G) → coherence-square-maps ( map-iso-Abstract-Group-Action f) ( mul-Abstract-Group-Action G X g) ( mul-Abstract-Group-Action G Y g) ( map-iso-Abstract-Group-Action f) coherence-square-iso-Abstract-Group-Action f = coherence-square-hom-Abstract-Group-Action G X Y ( hom-iso-Abstract-Group-Action f) hom-inv-iso-Abstract-Group-Action : type-iso-Abstract-Group-Action → type-hom-Abstract-Group-Action G Y X hom-inv-iso-Abstract-Group-Action = hom-inv-iso-Large-Precategory C X Y map-hom-inv-iso-Abstract-Group-Action : type-iso-Abstract-Group-Action → type-Abstract-Group-Action G Y → type-Abstract-Group-Action G X map-hom-inv-iso-Abstract-Group-Action f = map-hom-Abstract-Group-Action G Y X ( hom-inv-iso-Abstract-Group-Action f) issec-hom-inv-iso-Abstract-Group-Action : (f : type-iso-Abstract-Group-Action) → Id ( comp-hom-Abstract-Group-Action G Y X Y ( hom-iso-Abstract-Group-Action f) ( hom-inv-iso-Abstract-Group-Action f)) ( id-hom-Abstract-Group-Action G Y) issec-hom-inv-iso-Abstract-Group-Action = is-sec-hom-inv-iso-Large-Precategory C X Y isretr-hom-inv-iso-Abstract-Group-Action : (f : type-iso-Abstract-Group-Action) → Id ( comp-hom-Abstract-Group-Action G X Y X ( hom-inv-iso-Abstract-Group-Action f) ( hom-iso-Abstract-Group-Action f)) ( id-hom-Abstract-Group-Action G X) isretr-hom-inv-iso-Abstract-Group-Action = is-retr-hom-inv-iso-Large-Precategory C X Y is-iso-hom-iso-Abstract-Group-Action : (f : type-iso-Abstract-Group-Action) → is-iso-hom-Abstract-Group-Action (hom-iso-Abstract-Group-Action f) is-iso-hom-iso-Abstract-Group-Action = is-iso-hom-iso-Large-Precategory C X Y equiv-iso-Abstract-Group-Action : type-iso-Abstract-Group-Action → equiv-Abstract-Group-Action G X Y pr1 (pr1 (equiv-iso-Abstract-Group-Action f)) = map-iso-Abstract-Group-Action f pr2 (pr1 (equiv-iso-Abstract-Group-Action f)) = is-equiv-has-inverse ( map-hom-inv-iso-Abstract-Group-Action f) ( htpy-eq-hom-Abstract-Group-Action G Y Y ( comp-hom-Abstract-Group-Action G Y X Y ( hom-iso-Abstract-Group-Action f) ( hom-inv-iso-Abstract-Group-Action f)) ( id-hom-Abstract-Group-Action G Y) ( issec-hom-inv-iso-Abstract-Group-Action f)) ( htpy-eq-hom-Abstract-Group-Action G X X ( comp-hom-Abstract-Group-Action G X Y X ( hom-inv-iso-Abstract-Group-Action f) ( hom-iso-Abstract-Group-Action f)) ( id-hom-Abstract-Group-Action G X) ( isretr-hom-inv-iso-Abstract-Group-Action f)) pr2 (equiv-iso-Abstract-Group-Action f) = coherence-square-iso-Abstract-Group-Action f