(************************************************************************)
(*									*)
(*          Si l est regulier alors l* est aussi regulier.      	*)
(*									*)
(************************************************************************)

Definition transition_back (g0 x : Elt) : Elt := couple x (couple epsilon g0).Definition delta (g0 : Elt) (qa : Ensf) : Ensf := map (transition_back g0) qa.Definition fun_d_dstar (g0 : Elt) (qa d : Ensf) : Ensf :=
  union d (delta g0 qa).

Lemma dstar_is_good : forall (q qa d : Ensf) (g0 : Elt), automate q (singleton g0) qa d -> inclus (fun_d_dstar g0 qa d) (prodcart q (prodcart (add epsilon alph) q)).