Definition generated_monoid : submonoid M :=
  image_monoid_hom (FM_lift (inj_part A)).

Lemma generated_monoid_prop_rev : forall (M : MONOID) (A : part_set M) (y : M), (exists x : FM A, Equal y (FM_lift (inj_part A) x)) -> in_part y (generated_monoid A).