Definition generated_group : subgroup G := coKer (FG_lift (inj_part A)).

(* Specifications: *)
Lemma generated_group_minimal : forall (G : GROUP) (A : part_set G) (H : subgroup G), included A H -> included (generated_group A) H.
Lemma generated_group_prop_included : forall (G : GROUP) (A : part_set G), included A (generated_group A).
Lemma generated_group_prop : forall (G : GROUP) (A : part_set G) (y : G), in_part y (generated_group A) -> exists x : FG A, Equal y (FG_lift (inj_part A) x).
Lemma generated_group_prop_rev : forall (G : GROUP) (A : part_set G) (y : G), (exists x : FG A, Equal y (FG_lift (inj_part A) x)) -> in_part y (generated_group A).