intros q d.
simple induction w.
intros.
cut (Chemin e1 e2 q d nil); auto.
intro.
cut (dans e1 q /\ e1 = e2 :>Elt); auto.
intro Ht; elim Ht; auto.
intros.
rewrite <- H2; auto.
intros x w0 H e1 e2 H0.
cut (Chemin e1 e2 q d (cons x w0)); auto.
intro.
cut
(exists e : Elt,
chemin e e2 q d w0 /\
dans e1 q /\ dans x alph /\ dans (couple e1 (couple x e)) d);
auto.
intro Ht; elim Ht; clear Ht.
intros e Ht; elim Ht; clear Ht.
intros H2 Ht.
apply (H e e2); auto.
Qed.
(*									*)
(*  Un chemin est un mot sur X  					*)
(*									*)

(* Specifications: *)
Lemma Cheminmonoid :
forall (w : Word) (q qd qa d : Ensf),
automate q qd qa d ->
forall e1 e2 : Elt, chemin e1 e2 q d w -> inmonoid alph w.