Definition Monic_Image_of : Type := {x : B & {a : A | f a = x}}.Program Definition Monic_Iso_Monic_Factor_Monic :
    @Monic Type_Cat Monic_Image_of B :=
    {|
      mono_morphism := Monic_From_Image_forward;
      mono_morphism_monomorphic := fun T g h => _
    |}
  .

(* Specifications: *)
Theorem Monic_From_Image_back_is_Monic : @is_Monic Type_Cat _ _ Monic_To_Image.
Theorem Monic_To_Image_form_split_epic : ( fun (x : Monic_Image_of) => Monic_To_Image (Monic_From_Image_back x) ) = (fun x => x).
Theorem Monic_Iso_Monic_Factorization : f = fun x => Monic_From_Image_forward (Monic_To_Image x).