Kernels of homomorphisms of concrete groups
module group-theory.kernels-homomorphisms-concrete-groups where
Imports
open import foundation.0-connected-types open import foundation.1-types open import foundation.connected-components open import foundation.dependent-pair-types open import foundation.fibers-of-maps open import foundation.sets open import foundation.truncated-maps open import foundation.truncation-levels open import foundation.universe-levels open import group-theory.concrete-groups open import group-theory.homomorphisms-concrete-groups open import higher-group-theory.higher-groups open import structured-types.pointed-types
Idea
The kernel of a concrete group homomorphsim Bf : BG →∗ BH
is the connected
component at the base point of the fiber of Bf
.
Definition
module _ {l1 l2 : Level} (G : Concrete-Group l1) (H : Concrete-Group l2) (f : hom-Concrete-Group G H) where classifying-type-kernel-hom-Concrete-Group : UU (l1 ⊔ l2) classifying-type-kernel-hom-Concrete-Group = connected-component ( fib ( classifying-map-hom-Concrete-Group G H f) ( shape-Concrete-Group H)) ( pair ( shape-Concrete-Group G) ( preserves-point-classifying-map-hom-Concrete-Group G H f)) shape-kernel-hom-Concrete-Group : classifying-type-kernel-hom-Concrete-Group shape-kernel-hom-Concrete-Group = point-connected-component ( fib ( classifying-map-hom-Concrete-Group G H f) ( shape-Concrete-Group H)) ( shape-Concrete-Group G , preserves-point-classifying-map-hom-Concrete-Group G H f) classifying-pointed-type-kernel-hom-Concrete-Group : Pointed-Type (l1 ⊔ l2) pr1 classifying-pointed-type-kernel-hom-Concrete-Group = classifying-type-kernel-hom-Concrete-Group pr2 classifying-pointed-type-kernel-hom-Concrete-Group = shape-kernel-hom-Concrete-Group is-0-connected-classifying-type-kernel-hom-Concrete-Group : is-0-connected classifying-type-kernel-hom-Concrete-Group is-0-connected-classifying-type-kernel-hom-Concrete-Group = is-0-connected-connected-component _ _ is-1-type-classifying-type-kernel-hom-Concrete-Group : is-1-type classifying-type-kernel-hom-Concrete-Group is-1-type-classifying-type-kernel-hom-Concrete-Group = is-trunc-connected-component _ _ ( is-trunc-map-is-trunc-domain-codomain ( one-𝕋) ( is-1-type-classifying-type-Concrete-Group G) ( is-1-type-classifying-type-Concrete-Group H) ( shape-Concrete-Group H)) ∞-group-kernel-hom-Concrete-Group : ∞-Group (l1 ⊔ l2) pr1 ∞-group-kernel-hom-Concrete-Group = classifying-pointed-type-kernel-hom-Concrete-Group pr2 ∞-group-kernel-hom-Concrete-Group = is-0-connected-classifying-type-kernel-hom-Concrete-Group type-kernel-hom-Concrete-Group : UU (l1 ⊔ l2) type-kernel-hom-Concrete-Group = type-∞-Group ∞-group-kernel-hom-Concrete-Group is-set-type-kernel-hom-Concrete-Group : is-set type-kernel-hom-Concrete-Group is-set-type-kernel-hom-Concrete-Group = is-1-type-classifying-type-kernel-hom-Concrete-Group shape-kernel-hom-Concrete-Group shape-kernel-hom-Concrete-Group concrete-group-kernel-hom-Concrete-Group : Concrete-Group (l1 ⊔ l2) pr1 concrete-group-kernel-hom-Concrete-Group = ∞-group-kernel-hom-Concrete-Group pr2 concrete-group-kernel-hom-Concrete-Group = is-set-type-kernel-hom-Concrete-Group