Structure iso_map := IsoMap {
  apply : object_map;
  _ : group_valued apply;
  _ : closed apply;
  _ : iso_continuous apply
}.Structure iso_map := IsoMap {
  apply : object_map;
  _ : group_valued apply;
  _ : closed apply;
  _ : iso_continuous apply
}.Structure iso_map := IsoMap {
  apply : object_map;
  _ : group_valued apply;
  _ : closed apply;
  _ : iso_continuous apply
}.Structure map := Map { iso_of_map : iso_map; _ : continuous iso_of_map }.Structure map := Map { iso_of_map : iso_map; _ : continuous iso_of_map }.Structure map := Map { iso_of_map : iso_map; _ : continuous iso_of_map }.Structure pmap := Pmap { map_of_pmap : map; _ : hereditary map_of_pmap }.Structure pmap := Pmap { map_of_pmap : map; _ : hereditary map_of_pmap }.Structure pmap := Pmap { map_of_pmap : map; _ : hereditary map_of_pmap }.Structure mono_map := MonoMap { map_of_mono : map; _ : monotonic map_of_mono }.Structure mono_map := MonoMap { map_of_mono : map; _ : monotonic map_of_mono }.Structure mono_map := MonoMap { map_of_mono : map; _ : monotonic map_of_mono }.Definition pack_iso F Fcont Fgrp Fsub := @IsoMap F Fgrp Fsub Fcont.Identity Coercion fun_of_object_map : object_map >-> Funclass.Notation "[ 'mgFun' 'of' F ]" := (@clone_mono F _ id _ id _ id)
  (at level 0, format "[ 'mgFun' 'of'  F ]") : form_scope.Notation "F1 %% F2" := (GFunctor.modulo F1 F2) : gFun_scope.

(* Specifications: *)
Lemma gFgroupset : group_set (F gT G).