unfold automate_A in |- *.
split.
apply inclus_add.
apply automate_def3 with qd d; auto.
split; auto.
apply union_inclus.
apply inclus_trans with (prodcart q (prodcart alph q)).
apply automate_def1 with qd qa; assumption.
apply cart_inclus; auto.
unfold delta_D in |- *.
unfold inclus in |- *.
intros x H2.
cut (exists y : Elt, dans y qd /\ x = transition_D g0 y :>Elt).
2: apply dans_map; auto.
intro Ht; elim Ht; clear Ht; intros t Ht; elim Ht; clear Ht; intros.
rewrite H1.
unfold transition_D in |- *.
apply coupl2_inv; auto.
apply coupl2_inv; auto.
apply dans_add2.
apply dans_trans with qd; auto.
apply automate_def2 with qa d; auto.
Qed.
(*									*)
(*  Si on a un chemin_A de e a e2 dans l'automate D et que e est dans	*)
(*  q alors on a un chemin dans l'automate fini.			*)
(*									*)

Lemma chemin_D_chemin :
forall (q qd qa d : Ensf) (g0 e e2 : Elt) (w : Word),
automate q qd qa d ->
~ dans g0 q ->
chemin_A (add g0 q) (union d (delta_D g0 qd)) e e2 w ->
dans e q -> chemin e e2 q d w.