Homomorphisms of higher groups
module higher-group-theory.homomorphisms-higher-groups where
Imports
open import foundation.equivalences open import foundation.identity-types open import foundation.universe-levels open import higher-group-theory.higher-groups open import structured-types.pointed-homotopies open import structured-types.pointed-maps open import synthetic-homotopy-theory.functoriality-loop-spaces
Idea
A homomorphism of ∞-groups is a pointed map between their classifying types.
Definition
module _ {l1 l2 : Level} (G : ∞-Group l1) (H : ∞-Group l2) where hom-∞-Group : UU (l1 ⊔ l2) hom-∞-Group = classifying-pointed-type-∞-Group G →∗ classifying-pointed-type-∞-Group H classifying-map-hom-∞-Group : hom-∞-Group → classifying-type-∞-Group G → classifying-type-∞-Group H classifying-map-hom-∞-Group = map-pointed-map ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) preserves-point-classifying-map-hom-∞-Group : (f : hom-∞-Group) → Id (classifying-map-hom-∞-Group f (shape-∞-Group G)) (shape-∞-Group H) preserves-point-classifying-map-hom-∞-Group = preserves-point-pointed-map ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) map-hom-∞-Group : hom-∞-Group → type-∞-Group G → type-∞-Group H map-hom-∞-Group = map-Ω ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) preserves-unit-map-hom-∞-Group : (f : hom-∞-Group) → Id (map-hom-∞-Group f (unit-∞-Group G)) (unit-∞-Group H) preserves-unit-map-hom-∞-Group = preserves-refl-map-Ω ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) preserves-mul-map-hom-∞-Group : (f : hom-∞-Group) (x y : type-∞-Group G) → Id ( map-hom-∞-Group f (mul-∞-Group G x y)) ( mul-∞-Group H (map-hom-∞-Group f x) (map-hom-∞-Group f y)) preserves-mul-map-hom-∞-Group = preserves-mul-map-Ω ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) preserves-inv-map-hom-∞-Group : (f : hom-∞-Group) (x : type-∞-Group G) → Id ( map-hom-∞-Group f (inv-∞-Group G x)) ( inv-∞-Group H (map-hom-∞-Group f x)) preserves-inv-map-hom-∞-Group = preserves-inv-map-Ω ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H)
Properties
Homotopies of morphisms of ∞-groups
module _ {l1 l2 : Level} (G : ∞-Group l1) (H : ∞-Group l2) (f : hom-∞-Group G H) where htpy-hom-∞-Group : (g : hom-∞-Group G H) → UU (l1 ⊔ l2) htpy-hom-∞-Group = htpy-pointed-map ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) ( f) extensionality-hom-∞-Group : (g : hom-∞-Group G H) → Id f g ≃ htpy-hom-∞-Group g extensionality-hom-∞-Group = extensionality-pointed-map ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) ( f) eq-htpy-hom-∞-Group : (g : hom-∞-Group G H) → (htpy-hom-∞-Group g) → Id f g eq-htpy-hom-∞-Group g = map-inv-equiv (extensionality-hom-∞-Group g)
Wild category structure on higher groups
module _ {l : Level} (G : ∞-Group l) where id-hom-∞-Group : hom-∞-Group G G id-hom-∞-Group = id-pointed-map module _ {l1 l2 l3 : Level} (G : ∞-Group l1) (H : ∞-Group l2) (K : ∞-Group l3) where comp-hom-∞-Group : hom-∞-Group H K → hom-∞-Group G H → hom-∞-Group G K comp-hom-∞-Group = comp-pointed-map ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) ( classifying-pointed-type-∞-Group K) module _ {l1 l2 l3 l4 : Level} (G : ∞-Group l1) (H : ∞-Group l2) (K : ∞-Group l3) (L : ∞-Group l4) where associative-comp-hom-∞-Group : (h : hom-∞-Group K L) (g : hom-∞-Group H K) (f : hom-∞-Group G H) → htpy-hom-∞-Group G L ( comp-hom-∞-Group G H L (comp-hom-∞-Group H K L h g) f) ( comp-hom-∞-Group G K L h (comp-hom-∞-Group G H K g f)) associative-comp-hom-∞-Group = associative-comp-pointed-map ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) ( classifying-pointed-type-∞-Group K) ( classifying-pointed-type-∞-Group L) module _ {l1 l2 : Level} (G : ∞-Group l1) (H : ∞-Group l2) where left-unit-law-comp-hom-∞-Group : (f : hom-∞-Group G H) → htpy-hom-∞-Group G H (comp-hom-∞-Group G H H (id-hom-∞-Group H) f) f left-unit-law-comp-hom-∞-Group = left-unit-law-comp-pointed-map ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H) right-unit-law-comp-hom-∞-Group : (f : hom-∞-Group G H) → htpy-hom-∞-Group G H (comp-hom-∞-Group G G H f (id-hom-∞-Group G)) f right-unit-law-comp-hom-∞-Group = right-unit-law-comp-pointed-map ( classifying-pointed-type-∞-Group G) ( classifying-pointed-type-∞-Group H)