`{Funext} {A B G : Group} {f : A $-> B} : (G $-> grp_kernel f) <~> (exists g : G $-> A, f $o g == grp_homo_const). Proof. srapply equiv_adjointify. - intro k. srefine (_ $o k; _). 1: apply subgroup_incl. intro x; cbn. exact (k x).2. - intros [g p]. exact (grp_kernel_corec _ p). - intros [g p]. apply path_sigma_hprop; unfold pr1. apply equiv_path_grouphomomorphism; intro; reflexivity. - intro k. apply equiv_path_grouphomomorphism; intro x. apply path_sigma_hprop; reflexivity. Defined.
Require Import Basics Types. Require Import Algebra.Groups.Group. Require Import Algebra.Groups.Subgroup. Require Import WildCat.Core.