(*Definition d'une application pour les mots*)

Definition application_words :=
  forall x : Word, inmonoid E x -> inmonoid F (fw x).(*Definition de l'injectivite*)


Definition is_mono_words :=
  forall x y : Word,
  inmonoid E x -> inmonoid E y -> fw x = fw y :>Word -> x = y :>Word.(*Definition surjectivite pour les fonctions sur les monoides*)


Definition is_epi_words :=
  application_words /\
  (forall x : Word, inmonoid F x -> exists2 y : Word, x = fw y & inmonoid E y).Definition is_iso_words := is_mono_words /\ is_epi_words.

(* Specifications: *)
Lemma mono_epi_imp_iso_words : is_mono_words -> is_epi_words -> is_iso_words.